[22-Sep-2025 14:44:31 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'amineboz_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:45:01 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'amineboz_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:45:01 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'amineboz_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:50:37 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'amineboz_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:50:38 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'amineboz_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:50:40 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'amineboz_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:50:40 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'amineboz_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:50:40 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'amineboz_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:50:41 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'amineboz_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:50:41 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'amineboz_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:51:24 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'amineboz_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:51:24 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'amineboz_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:56:51 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'username_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:56:51 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'username_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:57:04 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'username_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:57:04 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'username_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:57:26 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'username_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:57:27 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'username_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:57:28 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'username_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:57:28 UTC] Database connection failed: SQLSTATE[28000] [1045] Access denied for user 'username_admin'@'localhost' (using password: YES)
[22-Sep-2025 14:59:22 UTC] Database connected successfully
[22-Sep-2025 14:59:22 UTC] Database connected successfully
[22-Sep-2025 14:59:22 UTC] Tables created or already exist
[22-Sep-2025 14:59:22 UTC] Categories.php accessed with method: GET
[22-Sep-2025 14:59:22 UTC] Fetching categories from database
[22-Sep-2025 14:59:22 UTC] Tables created or already exist
[22-Sep-2025 14:59:22 UTC] Books.php accessed with method: GET
[22-Sep-2025 14:59:22 UTC] Fetching all books
[22-Sep-2025 14:59:22 UTC] Found 0 categories
[22-Sep-2025 14:59:22 UTC] Found 0 books
[22-Sep-2025 14:59:39 UTC] Database connected successfully
[22-Sep-2025 14:59:39 UTC] Tables created or already exist
[22-Sep-2025 14:59:39 UTC] Categories.php accessed with method: POST
[22-Sep-2025 14:59:39 UTC] POST request received
[22-Sep-2025 14:59:39 UTC] Processing category: test cat one
[22-Sep-2025 14:59:39 UTC] Image file detected
[22-Sep-2025 14:59:39 UTC] Created directory: uploads/images/
[22-Sep-2025 14:59:39 UTC] Image uploaded successfully: uploads/images/1758553179_68d1645b830f6_photo_5906801950651957264_x.jpg
[22-Sep-2025 14:59:39 UTC] Category inserted with ID: 1
[22-Sep-2025 14:59:40 UTC] Database connected successfully
[22-Sep-2025 14:59:40 UTC] Tables created or already exist
[22-Sep-2025 14:59:40 UTC] Categories.php accessed with method: GET
[22-Sep-2025 14:59:40 UTC] Fetching categories from database
[22-Sep-2025 14:59:40 UTC] Found 1 categories
[22-Sep-2025 14:59:41 UTC] Database connected successfully
[22-Sep-2025 14:59:41 UTC] Tables created or already exist
[22-Sep-2025 14:59:41 UTC] Categories.php accessed with method: POST
[22-Sep-2025 14:59:41 UTC] POST request received
[22-Sep-2025 14:59:41 UTC] Processing category: test cat one
[22-Sep-2025 14:59:41 UTC] Image file detected
[22-Sep-2025 14:59:41 UTC] Image uploaded successfully: uploads/images/1758553181_68d1645d6a16a_photo_5906801950651957264_x.jpg
[22-Sep-2025 14:59:41 UTC] Category inserted with ID: 2
[22-Sep-2025 14:59:42 UTC] Database connected successfully
[22-Sep-2025 14:59:42 UTC] Tables created or already exist
[22-Sep-2025 14:59:42 UTC] Categories.php accessed with method: GET
[22-Sep-2025 14:59:42 UTC] Fetching categories from database
[22-Sep-2025 14:59:42 UTC] Found 2 categories
[22-Sep-2025 15:00:43 UTC] Database connected successfully
[22-Sep-2025 15:00:43 UTC] Tables created or already exist
[22-Sep-2025 15:00:43 UTC] Books.php accessed with method: POST
[22-Sep-2025 15:00:43 UTC] POST request for book received
[22-Sep-2025 15:00:43 UTC] Processing book: test
[22-Sep-2025 15:00:43 UTC] Book image uploaded: uploads/images/1758553243_68d1649b5470f_photo_5906801950651957264_x.jpg
[22-Sep-2025 15:00:43 UTC] PDF uploaded: uploads/pdfs/1758553243_68d1649b548c1_forty-hadith-nawawi_oromo.pdf
[22-Sep-2025 15:00:43 UTC] Book inserted with ID: 1
[22-Sep-2025 15:00:43 UTC] Database connected successfully
[22-Sep-2025 15:00:43 UTC] Tables created or already exist
[22-Sep-2025 15:00:43 UTC] Books.php accessed with method: GET
[22-Sep-2025 15:00:43 UTC] Fetching all books
[22-Sep-2025 15:00:43 UTC] Found 1 books
[22-Sep-2025 15:01:39 UTC] Database connected successfully
[22-Sep-2025 15:01:39 UTC] Tables created or already exist
[22-Sep-2025 15:01:39 UTC] Categories.php accessed with method: GET
[22-Sep-2025 15:01:39 UTC] Fetching categories from database
[22-Sep-2025 15:01:39 UTC] Found 2 categories
[22-Sep-2025 15:02:13 UTC] Database connected successfully
[22-Sep-2025 15:02:13 UTC] Tables created or already exist
[22-Sep-2025 15:02:13 UTC] Categories.php accessed with method: DELETE
[22-Sep-2025 15:02:13 UTC] Unknown method: DELETE
[22-Sep-2025 15:02:19 UTC] Database connected successfully
[22-Sep-2025 15:02:19 UTC] Tables created or already exist
[22-Sep-2025 15:02:19 UTC] Categories.php accessed with method: GET
[22-Sep-2025 15:02:19 UTC] Fetching categories from database
[22-Sep-2025 15:02:19 UTC] Found 2 categories
[22-Sep-2025 15:02:19 UTC] Database connected successfully
[22-Sep-2025 15:02:19 UTC] Tables created or already exist
[22-Sep-2025 15:02:19 UTC] Books.php accessed with method: GET
[22-Sep-2025 15:02:19 UTC] Fetching all books
[22-Sep-2025 15:02:19 UTC] Found 1 books
[22-Sep-2025 15:02:29 UTC] Database connected successfully
[22-Sep-2025 15:02:29 UTC] Tables created or already exist
[22-Sep-2025 15:02:29 UTC] Categories.php accessed with method: DELETE
[22-Sep-2025 15:02:29 UTC] Unknown method: DELETE
[22-Sep-2025 15:04:12 UTC] Database connected successfully
[22-Sep-2025 15:04:12 UTC] Tables created or already exist
[22-Sep-2025 15:04:12 UTC] Books.php accessed with method: GET
[22-Sep-2025 15:04:12 UTC] Fetching all books
[22-Sep-2025 15:04:12 UTC] Found 1 books
[22-Sep-2025 15:04:12 UTC] Database connected successfully
[22-Sep-2025 15:04:12 UTC] Tables created or already exist
[22-Sep-2025 15:04:12 UTC] Categories.php accessed with method: GET
[22-Sep-2025 15:04:12 UTC] Fetching categories from database
[22-Sep-2025 15:04:12 UTC] Found 2 categories
[22-Sep-2025 15:11:29 UTC] Database connected successfully
[22-Sep-2025 15:11:29 UTC] Database connected successfully
[22-Sep-2025 15:11:29 UTC] Tables created or already exist
[22-Sep-2025 15:11:29 UTC] Categories.php accessed with method: GET
[22-Sep-2025 15:11:29 UTC] Fetching categories from database
[22-Sep-2025 15:11:29 UTC] Tables created or already exist
[22-Sep-2025 15:11:29 UTC] Books.php accessed with method: GET
[22-Sep-2025 15:11:29 UTC] Fetching all books
[22-Sep-2025 15:11:29 UTC] Found 2 categories
[22-Sep-2025 15:11:29 UTC] Found 1 books
[22-Sep-2025 15:12:31 UTC] Database connected successfully
[22-Sep-2025 15:12:31 UTC] Tables created or already exist
[22-Sep-2025 15:12:31 UTC] Categories.php accessed with method: GET
[22-Sep-2025 15:12:31 UTC] Fetching categories from database
[22-Sep-2025 15:12:31 UTC] Found 2 categories
[22-Sep-2025 18:59:26 UTC] PHP Parse error:  Unclosed '{' on line 26 in /home/takeqvnk/watchevents.shop/api/categories.php on line 102
[22-Sep-2025 18:59:26 UTC] PHP Parse error:  Unclosed '{' on line 37 in /home/takeqvnk/watchevents.shop/api/books.php on line 138
[23-Sep-2025 12:05:34 UTC] ✅ ملف PDF تم رفعه بنجاح: uploads/pdfs/68d28d0df2ffd_1758629133.pdf - الحجم: 3019982 bytes
[23-Sep-2025 12:07:05 UTC] ✅ ملف PDF تم رفعه بنجاح: uploads/pdfs/68d28d69d4276_1758629225.pdf - الحجم: 3311204 bytes
[23-Sep-2025 12:08:39 UTC] ✅ ملف PDF تم رفعه بنجاح: uploads/pdfs/68d28dc7ee9b0_1758629319.pdf - الحجم: 1993594 bytes
[23-Sep-2025 17:54:39 UTC] ✅ ملف PDF تم رفعه بنجاح: uploads/pdfs/68d2dedfbdf1e_1758650079.pdf - الحجم: 4083050 bytes - الصفحات: 80
[23-Sep-2025 18:03:09 UTC] ✅ ملف PDF تم رفعه بنجاح: uploads/pdfs/68d2e0dd4db58_1758650589.pdf - الحجم: 4083050 bytes - الصفحات: 80
[23-Sep-2025 18:04:43 UTC] ✅ ملف PDF تم رفعه بنجاح: uploads/pdfs/68d2e13b8daea_1758650683.pdf - الحجم: 4083050 bytes
[24-Sep-2025 12:13:49 UTC] ✅ ملف PDF تم رفعه بنجاح: uploads/pdfs/68d3e07d8b872_1758716029.pdf - الحجم: 1993594 bytes
[24-Sep-2025 12:54:25 UTC] ✅ ملف PDF تم رفعه بنجاح: uploads/pdfs/68d3ea01a51f9_1758718465.pdf - الحجم: 1993594 bytes
[24-Sep-2025 13:15:50 UTC] ✅ ملف PDF تم رفعه بنجاح: uploads/pdfs/68d3ef06a7272_1758719750.pdf - الحجم: 1993594 bytes
[25-Sep-2025 00:42:55 UTC] 📖 طلب الحصول على الكتب - category_id: , profile_category_id: 
[25-Sep-2025 00:42:55 UTC] 🔍 جلب جميع الكتب
[25-Sep-2025 00:42:55 UTC] 📚 عدد الكتب الموجودة: 2
[25-Sep-2025 00:42:55 UTC] ✅ إرجاع 2 كتاب
[25-Sep-2025 00:42:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 00:42:55 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 00:43:43 UTC] ➕ طلب إضافة/تحديث كتاب: mmmmm
[25-Sep-2025 00:43:43 UTC] 💥 خطأ: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`takeqvnk_pdf_library`.`books`, CONSTRAINT `books_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`) ON DELETE CASCADE)
[25-Sep-2025 00:48:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 00:48:57 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 00:59:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 00:59:40 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 01:00:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 01:00:00 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 01:00:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 01:00:32 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 01:02:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 01:02:01 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 01:03:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 01:03:21 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 01:20:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 01:20:44 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 01:21:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 01:21:24 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 01:21:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 01:21:41 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 01:21:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 01:21:53 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 01:22:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 01:22:09 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 01:23:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 01:23:03 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 01:23:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 01:23:06 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 11:48:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 11:48:37 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 11:50:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 11:50:44 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 11:57:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 11:57:53 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 12:06:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 12:06:04 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 12:06:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 12:06:08 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 12:38:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 12:38:45 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 12:42:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 12:42:08 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 12:42:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 12:42:21 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 12:56:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 12:56:28 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 12:57:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 12:57:13 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 12:58:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 12:58:05 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 12:58:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 12:58:56 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 12:59:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 12:59:10 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 13:00:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 13:00:19 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 13:00:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 13:00:23 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 13:00:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 13:00:53 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 13:01:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 13:01:15 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 13:03:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 13:03:22 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 13:03:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 13:03:41 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 13:08:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 13:08:13 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 13:10:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 13:10:53 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 13:12:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 13:12:34 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 13:17:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 13:17:21 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 13:17:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 13:17:30 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 13:32:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 13:32:30 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 13:35:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 13:35:02 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 14:05:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 14:05:01 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 14:07:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 14:07:27 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 14:15:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 14:15:07 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 14:15:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 14:15:49 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 14:25:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 14:25:09 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 14:37:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 14:37:20 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 14:38:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 14:38:24 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 14:38:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 14:38:45 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 14:40:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 14:40:11 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 14:40:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 14:40:53 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 14:41:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 14:41:52 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 14:56:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 14:56:44 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 15:04:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 15:04:08 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 15:08:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 15:08:10 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 15:08:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 15:08:22 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 15:09:09 UTC] PHP Fatal error:  Uncaught Error: Using $this when not in object context in /home/takeqvnk/watchevents.shop/api/books.php:122
Stack trace:
#0 {main}
  thrown in /home/takeqvnk/watchevents.shop/api/books.php on line 122
[25-Sep-2025 15:12:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 15:12:41 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 15:13:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 15:13:42 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 15:35:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 15:35:09 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 15:35:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 15:35:38 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 15:37:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 15:37:02 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 15:38:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 15:38:20 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 15:43:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 15:43:01 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 15:44:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 15:44:03 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 15:46:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 15:46:37 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 15:56:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 15:56:17 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 16:06:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 16:06:20 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 16:10:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 16:10:03 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 16:23:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 16:23:56 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 16:25:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 16:25:31 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 16:43:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 16:43:11 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 16:48:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 16:48:05 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:08:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:08:44 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:08:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:08:57 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:09:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:09:41 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:17:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:17:58 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:19:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:19:01 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:25:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:25:26 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:26:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:26:10 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:33:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:33:03 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:33:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:33:24 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:36:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:36:07 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:38:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:38:23 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:39:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:39:08 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:39:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:39:19 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:39:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:39:59 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:41:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:41:10 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:42:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:42:31 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:44:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:44:28 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:49:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:49:49 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:53:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:53:30 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:54:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:54:02 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:55:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:55:22 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 17:59:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 17:59:29 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 18:00:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 18:00:02 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 18:00:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 18:00:05 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 18:01:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 18:01:16 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 18:01:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 18:01:34 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 18:01:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 18:01:56 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 18:26:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 18:26:26 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 18:27:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 18:27:02 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 18:54:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 18:54:17 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 18:58:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 18:58:08 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 19:59:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 19:59:40 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 20:19:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 20:19:42 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 20:21:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 20:21:00 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 21:51:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 21:51:27 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 22:01:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 22:01:15 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 22:18:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 22:18:33 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 22:36:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 22:36:16 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 22:38:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 22:38:05 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 22:38:42 UTC] === BOOKS.PHP POST REQUEST ===
[25-Sep-2025 22:38:42 UTC] Received POST data: Array
(
    [title] => tttttttt
    [author] => ttttttttttt
    [summary] => ttttttttttttt
    [pdf_url_option] => file
    [table_of_contents] => ttttttttttt
tttttttttttttt
tttttttttt
    [category_id] => 5
    [profile_category_id] => 11
)

[25-Sep-2025 22:38:42 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => 0c99c0d08bb9486797dbe188b28d11bf (1).pdf
            [full_path] => 0c99c0d08bb9486797dbe188b28d11bf (1).pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpPtHbQv
            [error] => 0
            [size] => 103102
        )

    [image] => Array
        (
            [name] => jamaican-translator-patois.png
            [full_path] => jamaican-translator-patois.png
            [type] => image/png
            [tmp_name] => /tmp/phpfB1yTx
            [error] => 0
            [size] => 59567
        )

)

[25-Sep-2025 22:38:42 UTC] Table of contents received: ttttttttttt
tttttttttttttt
tttttttttt
[25-Sep-2025 22:40:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 22:40:52 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 22:41:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 22:41:31 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 23:18:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 23:18:02 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 23:18:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 23:18:33 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 23:19:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 23:19:26 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 23:20:41 UTC] === BOOKS.PHP POST REQUEST ===
[25-Sep-2025 23:20:41 UTC] Received POST data: Array
(
    [title] => س
    [author] => س
    [summary] => للل
    [pdf_url_option] => url
    [table_of_contents] => mmmm
mmmmmmm
mmmmmmmm
mm
    [profile_category_id] => 11
    [external_pdf_url] => https://watchevents.shop/admin/uploads/pdfs/68d57eac2cdb2_1758822060.pdf
    [id] => 32
)

[25-Sep-2025 23:20:41 UTC] Received FILES data: Array
(
)

[25-Sep-2025 23:20:41 UTC] Table of contents received: mmmm
mmmmmmm
mmmmmmmm
mm
[25-Sep-2025 23:21:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 23:21:36 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 23:22:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 23:22:20 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 23:22:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 23:22:37 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 23:23:22 UTC] === BOOKS.PHP POST REQUEST ===
[25-Sep-2025 23:23:22 UTC] Received POST data: Array
(
    [title] => llllll
    [author] => lllllllll
    [summary] => lllllll
    [pdf_url_option] => file
    [table_of_contents] => llllllll
llllllllll
llllllll
llllllll
    [category_id] => 5
    [profile_category_id] => 11
)

[25-Sep-2025 23:23:22 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => 0c99c0d08bb9486797dbe188b28d11bf (1).pdf
            [full_path] => 0c99c0d08bb9486797dbe188b28d11bf (1).pdf
            [type] => application/pdf
            [tmp_name] => /tmp/php8ouucK
            [error] => 0
            [size] => 103102
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpdRZ3hk
            [error] => 0
            [size] => 54069
        )

)

[25-Sep-2025 23:23:22 UTC] Table of contents received: llllllll
llllllllll
llllllll
llllllll
[25-Sep-2025 23:25:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 23:25:47 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 23:26:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 23:26:21 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 23:26:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 23:26:52 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 23:43:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 23:43:24 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 23:46:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 23:46:36 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 23:47:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 23:47:40 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 23:48:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 23:48:39 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 23:49:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 23:49:12 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 23:49:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 23:49:33 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 23:50:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 23:50:01 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 23:50:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 23:50:21 UTC] ✅ إرجاع 2 تصنيف بروفايل
[25-Sep-2025 23:59:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Sep-2025 23:59:55 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 01:15:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 01:15:44 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 01:18:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 01:18:16 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 01:18:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 01:18:26 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 01:18:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 01:18:51 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 02:39:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 02:39:45 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 09:42:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 09:42:18 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 11:46:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 11:46:38 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 12:06:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 12:06:11 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 12:07:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 12:07:29 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 12:10:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 12:10:07 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 12:14:34 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 12:14:34 UTC] Received POST data: Array
(
    [title] => Secrets of divine love : a spiritual journey into the heart of Islam
    [author] => Helwa
    [summary] => ggghfggggffghggfgh
    [pdf_url_option] => file
    [table_of_contents] => bbbb
bbb
bbbb
bbb
    [profile_category_id] => 11
    [id] => 24
)

[26-Sep-2025 12:14:34 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => 0c99c0d08bb9486797dbe188b28d11bf (1).pdf
            [full_path] => 0c99c0d08bb9486797dbe188b28d11bf (1).pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpwexBsP
            [error] => 0
            [size] => 103102
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/php2tq23w
            [error] => 0
            [size] => 54069
        )

)

[26-Sep-2025 12:14:34 UTC] Table of contents received: bbbb
bbb
bbbb
bbb
[26-Sep-2025 12:14:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 12:14:44 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 12:14:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 12:14:55 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 12:15:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 12:15:13 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 12:15:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 12:15:23 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 12:16:18 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 12:16:18 UTC] Received POST data: Array
(
    [title] => Secrets of divine love : a spiritual journey into the heart of Islam
    [author] => Helwa
    [summary] => ccccccccc
    [pdf_url_option] => file
    [table_of_contents] => c

c
cc
c
c
    [category_id] => 13
)

[26-Sep-2025 12:16:18 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => 0c99c0d08bb9486797dbe188b28d11bf (1).pdf
            [full_path] => 0c99c0d08bb9486797dbe188b28d11bf (1).pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpCCuXAw
            [error] => 0
            [size] => 103102
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpoiR0sq
            [error] => 0
            [size] => 54069
        )

)

[26-Sep-2025 12:16:18 UTC] Table of contents received: c

c
cc
c
c
[26-Sep-2025 12:16:18 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 12:16:18 UTC] Received POST data: Array
(
    [title] => Secrets of divine love : a spiritual journey into the heart of Islam
    [author] => Helwa
    [summary] => ccccccccc
    [pdf_url_option] => file
    [table_of_contents] => c

c
cc
c
c
    [category_id] => 13
)

[26-Sep-2025 12:16:18 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => 0c99c0d08bb9486797dbe188b28d11bf (1).pdf
            [full_path] => 0c99c0d08bb9486797dbe188b28d11bf (1).pdf
            [type] => application/pdf
            [tmp_name] => /tmp/php1GQ8on
            [error] => 0
            [size] => 103102
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpjAAFvu
            [error] => 0
            [size] => 54069
        )

)

[26-Sep-2025 12:16:18 UTC] Table of contents received: c

c
cc
c
c
[26-Sep-2025 12:16:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 12:16:34 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 12:17:41 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 12:17:41 UTC] Received POST data: Array
(
    [title] => Secrets of divine love : a spiritual journey into the heart of Islam
    [author] => Helwa
    [summary] => yyyyyyyyy
    [pdf_url_option] => file
    [table_of_contents] => yyy
yy
yyy
yy
    [profile_category_id] => 11
)

[26-Sep-2025 12:17:41 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => 0c99c0d08bb9486797dbe188b28d11bf (1).pdf
            [full_path] => 0c99c0d08bb9486797dbe188b28d11bf (1).pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpd4FCmg
            [error] => 0
            [size] => 103102
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpoxhuOZ
            [error] => 0
            [size] => 54069
        )

)

[26-Sep-2025 12:17:41 UTC] Table of contents received: yyy
yy
yyy
yy
[26-Sep-2025 12:17:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 12:17:46 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 12:20:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 12:20:23 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 12:36:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 12:36:51 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 13:23:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 13:23:30 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 14:29:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 14:29:39 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 14:32:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 14:32:49 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 14:33:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 14:33:03 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 14:40:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 14:40:30 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 14:40:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 14:40:46 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 14:41:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 14:41:27 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 14:42:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 14:42:30 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 14:42:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 14:42:39 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 14:50:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 14:50:34 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 14:50:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 14:50:45 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 14:55:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 14:55:46 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 14:56:40 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 14:56:40 UTC] Received POST data: Array
(
    [title] => z
    [author] => z
    [summary] => z
    [pdf_url_option] => file
    [table_of_contents] => zz
zz
    [category_id] => 13
)

[26-Sep-2025 14:56:40 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => 0c99c0d08bb9486797dbe188b28d11bf (1).pdf
            [full_path] => 0c99c0d08bb9486797dbe188b28d11bf (1).pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpkUQZyK
            [error] => 0
            [size] => 103102
        )

    [image] => Array
        (
            [name] => oromo-logo.jpg
            [full_path] => oromo-logo.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpLvJer4
            [error] => 0
            [size] => 40805
        )

)

[26-Sep-2025 15:09:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 15:09:56 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 15:29:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 15:29:37 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 15:55:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 15:55:18 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 15:56:52 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 15:56:52 UTC] Received POST data: Array
(
    [title] => hhhh
    [author] => hhh
    [summary] => hghgghh
    [pdf_url_option] => file
    [table_of_contents] => 
    [category_id] => 13
)

[26-Sep-2025 15:56:52 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => forty-hadith-nawawi_oromo.pdf
            [full_path] => forty-hadith-nawawi_oromo.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpIy8xm4
            [error] => 0
            [size] => 1993594
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpzfmDNT
            [error] => 0
            [size] => 54069
        )

)

[26-Sep-2025 15:56:52 UTC] Table of contents received: 
[26-Sep-2025 16:01:49 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 16:01:49 UTC] Received POST data: Array
(
    [title] => hhhhhh
    [author] => hhhhhhh
    [summary] => hhhhhhhhhhh
    [pdf_url_option] => file
    [table_of_contents] => الفصل الأول: المقدمة
الفصل الثاني: المفاهيم الأساسية  
الفصل الثالث: الخاتمة
    [category_id] => 13
    [id] => 39
)

[26-Sep-2025 16:01:49 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => forty-hadith-nawawi_oromo.pdf
            [full_path] => forty-hadith-nawawi_oromo.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpETFdgg
            [error] => 0
            [size] => 1993594
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpz635ci
            [error] => 0
            [size] => 54069
        )

)

[26-Sep-2025 16:01:49 UTC] Table of contents received: الفصل الأول: المقدمة
الفصل الثاني: المفاهيم الأساسية  
الفصل الثالث: الخاتمة
[26-Sep-2025 16:02:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 16:02:22 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 16:03:34 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 16:03:34 UTC] Received POST data: Array
(
    [title] => hhhhhhhh
    [author] => hhhhhh
    [summary] => hhhhh
    [pdf_url_option] => file
    [table_of_contents] => hhh
hh
hh
    [category_id] => 15
)

[26-Sep-2025 16:03:34 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => forty-hadith-nawawi_oromo.pdf
            [full_path] => forty-hadith-nawawi_oromo.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/php93Dg7A
            [error] => 0
            [size] => 1993594
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phppAJ25l
            [error] => 0
            [size] => 54069
        )

)

[26-Sep-2025 16:03:34 UTC] Table of contents received: hhh
hh
hh
[26-Sep-2025 17:01:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 17:01:44 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 17:19:15 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 17:19:15 UTC] Received POST data: Array
(
    [title] => fffff
    [author] => fffffffffff
    [summary] => ffffffffff
    [pdf_url_option] => file
    [table_of_contents] => 
    [category_id] => 13
)

[26-Sep-2025 17:19:15 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => forty-hadith-nawawi_oromo.pdf
            [full_path] => forty-hadith-nawawi_oromo.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpTk0Eli
            [error] => 0
            [size] => 1993594
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpS69Osv
            [error] => 0
            [size] => 54069
        )

)

[26-Sep-2025 17:19:15 UTC] Table of contents received: 
[26-Sep-2025 18:24:52 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 18:24:52 UTC] Received POST data: Array
(
    [title] => qqqqqq
    [author] => qqqqqqqq
    [summary] => qqqqq
    [pdf_url_option] => file
    [table_of_contents] => ff
fff
    [category_id] => 13
)

[26-Sep-2025 18:24:52 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => forty-hadith-nawawi_oromo.pdf
            [full_path] => forty-hadith-nawawi_oromo.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpYfh0xL
            [error] => 0
            [size] => 1993594
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpO6MITl
            [error] => 0
            [size] => 54069
        )

)

[26-Sep-2025 18:24:52 UTC] Table of contents received: ff
fff
[26-Sep-2025 18:46:01 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 18:46:01 UTC] Received POST data: Array
(
    [title] => ooooo
    [author] => oooo
    [summary] => oooooo
    [pdf_url_option] => file
    [table_of_contents] => dd
dd
    [category_id] => 13
)

[26-Sep-2025 18:46:01 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => forty-hadith-nawawi_oromo.pdf
            [full_path] => forty-hadith-nawawi_oromo.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpfBeOwX
            [error] => 0
            [size] => 1993594
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpsQ5ZMu
            [error] => 0
            [size] => 54069
        )

)

[26-Sep-2025 18:46:01 UTC] Table of contents received: dd
dd
[26-Sep-2025 18:50:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 18:50:38 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 19:26:15 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 19:26:15 UTC] Received POST data: Array
(
    [title] => test
    [author] => Helwa
    [summary] => vvvvv
vvvvv
    [pdf_url_option] => file
    [table_of_contents] => 
    [category_id] => 13
)

[26-Sep-2025 19:26:15 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => forty-hadith-nawawi_oromo.pdf
            [full_path] => forty-hadith-nawawi_oromo.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpwB8HWm
            [error] => 0
            [size] => 1993594
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpuUn5zq
            [error] => 0
            [size] => 54069
        )

)

[26-Sep-2025 19:26:15 UTC] Table of contents received: 
[26-Sep-2025 19:27:22 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 19:27:22 UTC] Received POST data: Array
(
    [title] => Secrets of divine love : a spiritual journey into the heart of Islam
    [author] => rf
    [summary] => rrrrr
    [pdf_url_option] => file
    [table_of_contents] => 
    [category_id] => 13
)

[26-Sep-2025 19:27:22 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => forty-hadith-nawawi_oromo.pdf
            [full_path] => forty-hadith-nawawi_oromo.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpYqHmjC
            [error] => 0
            [size] => 1993594
        )

    [image] => Array
        (
            [name] => oromo-logo.jpg
            [full_path] => oromo-logo.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/php5cTyXa
            [error] => 0
            [size] => 40805
        )

)

[26-Sep-2025 19:27:22 UTC] Table of contents received: 
[26-Sep-2025 19:28:21 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 19:28:21 UTC] Received POST data: Array
(
    [title] => test
    [author] => Helwa
    [summary] => rrrrr
    [pdf_url_option] => file
    [table_of_contents] => rrrrrrrr
    [category_id] => 13
)

[26-Sep-2025 19:28:21 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => forty-hadith-nawawi_oromo.pdf
            [full_path] => forty-hadith-nawawi_oromo.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpVYnkgC
            [error] => 0
            [size] => 1993594
        )

    [image] => Array
        (
            [name] => translate.png
            [full_path] => translate.png
            [type] => image/png
            [tmp_name] => /tmp/phpxv8rTg
            [error] => 0
            [size] => 74241
        )

)

[26-Sep-2025 19:28:21 UTC] Table of contents received: rrrrrrrr
[26-Sep-2025 19:35:31 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 19:35:31 UTC] Received POST data: Array
(
    [title] => Secrets of divine love : a spiritual journey into the heart of Islam
    [author] => Helwa
    [summary] => gggggggg
    [pdf_url_option] => file
    [table_of_contents] => ggggggg
    [category_id] => 13
)

[26-Sep-2025 19:35:31 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => forty-hadith-nawawi_oromo.pdf
            [full_path] => forty-hadith-nawawi_oromo.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpyZFPYd
            [error] => 0
            [size] => 1993594
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpYMCCRo
            [error] => 0
            [size] => 54069
        )

)

[26-Sep-2025 19:35:31 UTC] Table of contents received: ggggggg
[26-Sep-2025 19:35:31 UTC] Selected pages received: 
[26-Sep-2025 21:03:24 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 21:03:24 UTC] Received POST data: Array
(
    [title] => Secrets of divine love : a spiritual journey into the heart of Islam
    [author] => Helwa
    [summary] => ghgh
    [pdf_url_option] => file
    [table_of_contents] => fff
fff
fff
fff
    [category_id] => 13
)

[26-Sep-2025 21:03:24 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => forty-hadith-nawawi_oromo.pdf
            [full_path] => forty-hadith-nawawi_oromo.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpIKg30U
            [error] => 0
            [size] => 1993594
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpGO000z
            [error] => 0
            [size] => 54069
        )

)

[26-Sep-2025 21:03:24 UTC] Table of contents received: fff
fff
fff
fff
[26-Sep-2025 21:03:24 UTC] Selected pages received: 
[26-Sep-2025 21:03:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 21:03:43 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 21:05:09 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 21:05:09 UTC] Received POST data: Array
(
    [title] => Secrets of divine love : a spiritual journey into the heart of Islam
    [author] => Helwa
    [summary] => gdfgfdg
    [pdf_url_option] => file
    [table_of_contents] => ggggg
ggggg
ggg

gggggggg
hhhhh
    [selected_pages] => 1-5
    [category_id] => 16
)

[26-Sep-2025 21:05:09 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => forty-hadith-nawawi_oromo.pdf
            [full_path] => forty-hadith-nawawi_oromo.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/php3HFlIw
            [error] => 0
            [size] => 1993594
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpKwAAzR
            [error] => 0
            [size] => 54069
        )

)

[26-Sep-2025 21:05:09 UTC] Table of contents received: ggggg
ggggg
ggg

gggggggg
hhhhh
[26-Sep-2025 21:05:09 UTC] Selected pages received: 1-5
[26-Sep-2025 21:05:09 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 21:05:09 UTC] Received POST data: Array
(
    [title] => Secrets of divine love : a spiritual journey into the heart of Islam
    [author] => Helwa
    [summary] => gdfgfdg
    [pdf_url_option] => file
    [table_of_contents] => ggggg
ggggg
ggg

gggggggg
hhhhh
    [selected_pages] => 1-5
    [category_id] => 16
)

[26-Sep-2025 21:05:09 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => forty-hadith-nawawi_oromo.pdf
            [full_path] => forty-hadith-nawawi_oromo.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpv1s6sp
            [error] => 0
            [size] => 1993594
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpfWfsUd
            [error] => 0
            [size] => 54069
        )

)

[26-Sep-2025 21:05:09 UTC] Table of contents received: ggggg
ggggg
ggg

gggggggg
hhhhh
[26-Sep-2025 21:05:09 UTC] Selected pages received: 1-5
[26-Sep-2025 21:15:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 21:15:16 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 21:49:40 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 21:49:40 UTC] Received POST data: Array
(
    [title] => test
    [author] => س
    [summary] => rrr
    [pdf_url_option] => url
    [table_of_contents] => aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [selected_pages] => 
    [category_id] => 16
    [external_pdf_url] => https://clg-vignaud-morangis.ac-versailles.fr/IMG/pdf/guidance_pour_faire_un_sommaire-2.pdf
)

[26-Sep-2025 21:49:40 UTC] Received FILES data: Array
(
    [image] => Array
        (
            [name] => translate.png
            [full_path] => translate.png
            [type] => image/png
            [tmp_name] => /tmp/php34e9Jk
            [error] => 0
            [size] => 74241
        )

)

[26-Sep-2025 21:49:40 UTC] Table of contents received: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[26-Sep-2025 21:49:40 UTC] Selected pages received: 
[26-Sep-2025 21:50:31 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 21:50:31 UTC] Received POST data: Array
(
    [title] => test
    [author] => س
    [summary] => rrr
    [pdf_url_option] => url
    [table_of_contents] => 
    [selected_pages] => 1-2
    [category_id] => 16
    [external_pdf_url] => https://clg-vignaud-morangis.ac-versailles.fr/IMG/pdf/guidance_pour_faire_un_sommaire-2.pdf
    [id] => 51
)

[26-Sep-2025 21:50:31 UTC] Received FILES data: Array
(
    [image] => Array
        (
            [name] => translate.png
            [full_path] => translate.png
            [type] => image/png
            [tmp_name] => /tmp/phpHIcMpL
            [error] => 0
            [size] => 74241
        )

)

[26-Sep-2025 21:50:31 UTC] Table of contents received: 
[26-Sep-2025 21:50:31 UTC] Selected pages received: 1-2
[26-Sep-2025 22:07:50 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 22:07:50 UTC] Received POST data: Array
(
    [title] => test
    [author] => س
    [summary] => Despite their fearsome reputation, piranhas are relatively harmless to humans, and their instinct is to flee rather than attack when confronted. This fear is well-founded, as more piranhas are eaten by humans than vice versa. The misconception of piranhas as dangerous man-eaters is often perpetuated by popular culture, such as the poster for the 1978 horror film Piranha, which exaggerated the fish's threat to create excitement in adventure stories.
    [pdf_url_option] => url
    [table_of_contents] => 
    [selected_pages] => 1-2
    [category_id] => 16
    [external_pdf_url] => https://clg-vignaud-morangis.ac-versailles.fr/IMG/pdf/guidance_pour_faire_un_sommaire-2.pdf
    [id] => 51
)

[26-Sep-2025 22:07:50 UTC] Received FILES data: Array
(
    [image] => Array
        (
            [name] => translate.png
            [full_path] => translate.png
            [type] => image/png
            [tmp_name] => /tmp/phpYqNdXE
            [error] => 0
            [size] => 74241
        )

)

[26-Sep-2025 22:07:50 UTC] Table of contents received: 
[26-Sep-2025 22:07:50 UTC] Selected pages received: 1-2
[26-Sep-2025 22:13:46 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 22:13:46 UTC] Received POST data: Array
(
    [title] => Secrets of divine love : a spiritual journey into the heart of Islam
    [author] => Helwa
    [summary] => Despite their fearsome reputation, piranhas are relatively harmless to humans, and their instinct is to flee rather than attack when confronted. This fear is well-founded, as more piranhas are eaten by humans than vice versa. The misconception of piranhas as dangerous man-eaters is often perpetuated by popular culture, such as the poster for the 1978 horror film Piranha, which exaggerated the fish's threat to create excitement in adventure stories.
    [pdf_url_option] => url
    [table_of_contents] => Despite their fearsome reputation
Despite their fearsome reputation
Despite their fearsome reputationDespite their fearsome reputation
Despite their fearsome reputation
    [selected_pages] => 5-7
    [category_id] => 16
    [external_pdf_url] => https://watchevents.shop/uploads/pdfs/68d700053978d_1758920709.pdf
    [id] => 49
)

[26-Sep-2025 22:13:46 UTC] Received FILES data: Array
(
    [image] => Array
        (
            [name] => translate.png
            [full_path] => translate.png
            [type] => image/png
            [tmp_name] => /tmp/php9fKq1f
            [error] => 0
            [size] => 74241
        )

)

[26-Sep-2025 22:13:46 UTC] Table of contents received: Despite their fearsome reputation
Despite their fearsome reputation
Despite their fearsome reputationDespite their fearsome reputation
Despite their fearsome reputation
[26-Sep-2025 22:13:46 UTC] Selected pages received: 5-7
[26-Sep-2025 22:14:38 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 22:14:38 UTC] Received POST data: Array
(
    [title] => Secrets of divine love : a spiritual journey into the heart of Islam
    [author] => Helwa
    [summary] => Despite their fearsome reputation, piranhas are relatively harmless to humans, and their instinct is to flee rather than attack when confronted. This fear is well-founded, as more piranhas are eaten by humans than vice versa. The misconception of piranhas as dangerous man-eaters is often perpetuated by popular culture, such as the poster for the 1978 horror film Piranha, which exaggerated the fish's threat to create excitement in adventure stories.
    [pdf_url_option] => file
    [table_of_contents] => Despite their fearsome reputation
Despite their fearsome reputation
Despite their fearsome reputationDespite their fearsome reputation
Despite their fearsome reputation
    [selected_pages] => 5-7
    [category_id] => 16
    [id] => 49
)

[26-Sep-2025 22:14:38 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => forty-hadith-nawawi_oromo.pdf
            [full_path] => forty-hadith-nawawi_oromo.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phppOGw48
            [error] => 0
            [size] => 1993594
        )

    [image] => Array
        (
            [name] => translate.png
            [full_path] => translate.png
            [type] => image/png
            [tmp_name] => /tmp/phpu9cd3D
            [error] => 0
            [size] => 74241
        )

)

[26-Sep-2025 22:14:38 UTC] Table of contents received: Despite their fearsome reputation
Despite their fearsome reputation
Despite their fearsome reputationDespite their fearsome reputation
Despite their fearsome reputation
[26-Sep-2025 22:14:38 UTC] Selected pages received: 5-7
[26-Sep-2025 22:19:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 22:19:14 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 22:22:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 22:22:58 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 22:23:15 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 22:23:15 UTC] Received POST data: Array
(
    [title] => Despite their fearsome reputation
    [author] => Helwa
    [summary] => Despite their fearsome reputation, piranhas are relatively harmless to humans, and their instinct is to flee rather than attack when confronted. This fear is well-founded, as more piranhas are eaten by humans than vice versa. The misconception of piranhas as dangerous man-eaters is often perpetuated by popular culture, such as the poster for the 1978 horror film Piranha, which exaggerated the fish's threat to create excitement in adventure stories.
    [pdf_url_option] => file
    [table_of_contents] => Here is an example of a well-structured
Here is an example of a well-structured
Here is an example of a well-structured
Here is an example of a well-structured
Here is an example of a well-structured
    [selected_pages] => 5-8
    [category_id] => 16
    [id] => 50
)

[26-Sep-2025 22:23:15 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => forty-hadith-nawawi_oromo.pdf
            [full_path] => forty-hadith-nawawi_oromo.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpoDqUbE
            [error] => 0
            [size] => 1993594
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phprlBJvN
            [error] => 0
            [size] => 54069
        )

)

[26-Sep-2025 22:23:15 UTC] Table of contents received: Here is an example of a well-structured
Here is an example of a well-structured
Here is an example of a well-structured
Here is an example of a well-structured
Here is an example of a well-structured
[26-Sep-2025 22:23:15 UTC] Selected pages received: 5-8
[26-Sep-2025 22:23:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 22:23:23 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 22:24:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 22:24:08 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 22:25:41 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 22:25:41 UTC] Received POST data: Array
(
    [title] => Explanation of Structure
    [author] => Helwa
    [summary] => Despite their fearsome reputation
Despite their fearsome reputation
Despite their fearsome reputation
Despite their fearsome reputation
Despite their fearsome reputation
    [pdf_url_option] => file
    [table_of_contents] => Despite their fearsome reputation, piranhas are relatively harmless to humans, and their instinct is to flee rather than attack when confronted. This fear is well-founded, as more piranhas are eaten by humans than vice versa. The misconception of piranhas as dangerous man-eaters is often perpetuated
    [selected_pages] => 3-6
    [category_id] => 16
)

[26-Sep-2025 22:25:41 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => forty-hadith-nawawi_oromo.pdf
            [full_path] => forty-hadith-nawawi_oromo.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/php0ZM3o7
            [error] => 0
            [size] => 1993594
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpFqPKHk
            [error] => 0
            [size] => 54069
        )

)

[26-Sep-2025 22:25:41 UTC] Table of contents received: Despite their fearsome reputation, piranhas are relatively harmless to humans, and their instinct is to flee rather than attack when confronted. This fear is well-founded, as more piranhas are eaten by humans than vice versa. The misconception of piranhas as dangerous man-eaters is often perpetuated
[26-Sep-2025 22:25:41 UTC] Selected pages received: 3-6
[26-Sep-2025 22:28:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 22:28:37 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 22:29:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 22:29:24 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 22:31:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 22:31:01 UTC] ✅ إرجاع 2 تصنيف بروفايل
[26-Sep-2025 22:39:37 UTC] === BOOKS.PHP POST REQUEST ===
[26-Sep-2025 22:39:37 UTC] Received POST data: Array
(
    [title] => Here is an example of a well-structured
    [author] => Helwa
    [summary] => Despite their fearsome reputation, piranhas are relatively harmless to humans, and their instinct is to flee rather than attack when confronted. This fear is well-founded, as more piranhas are eaten by humans than vice versa. The misconception of piranhas as dangerous man-eaters is often perpetuated by popular culture, such as the poster for the 1978 horror film Piranha, which exaggerated the fish's threat to create excitement in adventure stories.
    [pdf_url_option] => file
    [table_of_contents] => Despite their fearsome reputation
Despite their fearsome reputation
Despite their fearsome reputation
Despite their fearsome reputation
Despite their fearsome reputation
    [selected_pages] => 10-15
    [category_id] => 16
)

[26-Sep-2025 22:39:37 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => forty-hadith-nawawi_oromo.pdf
            [full_path] => forty-hadith-nawawi_oromo.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpsFSqFT
            [error] => 0
            [size] => 1993594
        )

    [image] => Array
        (
            [name] => photo_5906801950651957264_x.jpg
            [full_path] => photo_5906801950651957264_x.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpfnJo4J
            [error] => 0
            [size] => 54069
        )

)

[26-Sep-2025 22:39:37 UTC] Table of contents received: Despite their fearsome reputation
Despite their fearsome reputation
Despite their fearsome reputation
Despite their fearsome reputation
Despite their fearsome reputation
[26-Sep-2025 22:39:37 UTC] Selected pages received: 10-15
[26-Sep-2025 23:40:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Sep-2025 23:40:57 UTC] ✅ إرجاع 2 تصنيف بروفايل
[27-Sep-2025 00:06:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 00:06:58 UTC] ✅ إرجاع 2 تصنيف بروفايل
[27-Sep-2025 00:09:20 UTC] === BOOKS.PHP POST REQUEST ===
[27-Sep-2025 00:09:20 UTC] Received POST data: Array
(
    [title] => Ocean pdf
    [author] => Switcher
    [summary] => Test
    [pdf_url_option] => file
    [table_of_contents] => Test
Test
Test
Test
    [selected_pages] => 15-20
    [category_id] => 16
)

[27-Sep-2025 00:09:20 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => _OceanofPDF.com_The_way_you_look_tonight_-_Richard_Madeley.pdf
            [full_path] => _OceanofPDF.com_The_way_you_look_tonight_-_Richard_Madeley.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/php0LDguB
            [error] => 0
            [size] => 1330574
        )

    [image] => Array
        (
            [name] => IMG_20250923_185307_723.jpg
            [full_path] => IMG_20250923_185307_723.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpM7FGly
            [error] => 0
            [size] => 46924
        )

)

[27-Sep-2025 00:09:20 UTC] Table of contents received: Test
Test
Test
Test
[27-Sep-2025 00:09:20 UTC] Selected pages received: 15-20
[27-Sep-2025 01:29:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 01:29:26 UTC] ✅ إرجاع 2 تصنيف بروفايل
[27-Sep-2025 02:10:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 02:10:34 UTC] ✅ إرجاع 2 تصنيف بروفايل
[27-Sep-2025 07:30:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 07:30:34 UTC] ✅ إرجاع 2 تصنيف بروفايل
[27-Sep-2025 12:11:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 12:11:17 UTC] ✅ إرجاع 2 تصنيف بروفايل
[27-Sep-2025 12:13:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 12:13:21 UTC] ✅ إرجاع 2 تصنيف بروفايل
[27-Sep-2025 12:15:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 12:15:13 UTC] ✅ إرجاع 2 تصنيف بروفايل
[27-Sep-2025 12:16:01 UTC] === BOOKS.PHP POST REQUEST ===
[27-Sep-2025 12:16:01 UTC] Received POST data: Array
(
    [title] => test
    [author] => Helwa
    [summary] => hhhghghg
    [pdf_url_option] => file
    [table_of_contents] => vvvv
vvv
vvv
    [selected_pages] => 4-6
    [category_id] => 16
)

[27-Sep-2025 12:16:01 UTC] Received FILES data: Array
(
    [pdf] => Array
        (
            [name] => forty-hadith-nawawi_oromo.pdf
            [full_path] => forty-hadith-nawawi_oromo.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpDUgplJ
            [error] => 0
            [size] => 1993594
        )

    [image] => Array
        (
            [name] => jamaican-translator-patois.png
            [full_path] => jamaican-translator-patois.png
            [type] => image/png
            [tmp_name] => /tmp/phpdj3phr
            [error] => 0
            [size] => 59567
        )

)

[27-Sep-2025 12:16:01 UTC] Table of contents received: vvvv
vvv
vvv
[27-Sep-2025 12:16:01 UTC] Selected pages received: 4-6
[27-Sep-2025 13:06:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:06:31 UTC] ✅ إرجاع 2 تصنيف بروفايل
[27-Sep-2025 13:13:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:13:45 UTC] ✅ إرجاع 2 تصنيف بروفايل
[27-Sep-2025 13:15:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:15:54 UTC] ✅ إرجاع 2 تصنيف بروفايل
[27-Sep-2025 13:19:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:19:46 UTC] ✅ إرجاع 2 تصنيف بروفايل
[27-Sep-2025 13:19:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:19:49 UTC] ✅ إرجاع 2 تصنيف بروفايل
[27-Sep-2025 13:20:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:20:11 UTC] ✅ إرجاع 2 تصنيف بروفايل
[27-Sep-2025 13:20:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:20:25 UTC] ✅ إرجاع 2 تصنيف بروفايل
[27-Sep-2025 13:20:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:20:35 UTC] ✅ إرجاع 2 تصنيف بروفايل
[27-Sep-2025 13:20:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:20:52 UTC] ✅ إرجاع 2 تصنيف بروفايل
[27-Sep-2025 13:24:04 UTC] ➕ طلب إضافة تصنيف بروفايل: we
[27-Sep-2025 13:24:04 UTC] ✅ تم إضافة تصنيف البروفايل بنجاح: we (ID: 12)
[27-Sep-2025 13:24:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:24:04 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 13:24:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:24:13 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 13:24:44 UTC] ➕ طلب إضافة تصنيف بروفايل: we
[27-Sep-2025 13:24:44 UTC] ✅ تم إضافة تصنيف البروفايل بنجاح: we (ID: 13)
[27-Sep-2025 13:24:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:24:45 UTC] ✅ إرجاع 4 تصنيف بروفايل
[27-Sep-2025 13:24:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:24:51 UTC] ✅ إرجاع 4 تصنيف بروفايل
[27-Sep-2025 13:25:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:25:08 UTC] ✅ إرجاع 4 تصنيف بروفايل
[27-Sep-2025 13:25:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:25:16 UTC] ✅ إرجاع 4 تصنيف بروفايل
[27-Sep-2025 13:25:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:25:33 UTC] ✅ إرجاع 4 تصنيف بروفايل
[27-Sep-2025 13:25:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:25:59 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 13:26:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:26:06 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 13:26:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:26:17 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 13:29:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:29:07 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 13:42:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 13:42:51 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 14:00:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 14:00:51 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 14:00:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 14:00:56 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 14:01:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 14:01:26 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 14:01:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 14:01:38 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 14:02:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 14:02:03 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 14:02:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 14:02:12 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 14:02:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 14:02:29 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 14:02:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 14:02:32 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 14:02:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 14:02:33 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 14:02:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 14:02:37 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 17:13:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 17:13:52 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 17:41:48 UTC] Added column extracted_pdf_url to books table
[27-Sep-2025 17:41:48 UTC] Added column extracted_file_size to books table
[27-Sep-2025 17:41:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 17:41:48 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 17:42:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 17:42:13 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 17:44:39 UTC] === BOOKS.PHP POST REQUEST ===
[27-Sep-2025 17:44:39 UTC] PDF extraction error: This PDF document probably uses a compression technique which is not supported by the free parser shipped with FPDI. (See https://www.setasign.com/fpdi-pdf-parser for more details)
[27-Sep-2025 17:44:39 UTC] PDF extraction failed for: 5-10
[27-Sep-2025 18:00:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 18:00:10 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 18:04:09 UTC] PHP Fatal error:  Cannot use setasign\Fpdi\Fpdi as Fpdi because the name is already in use in /home/takeqvnk/watchevents.shop/api/books.php on line 26
[27-Sep-2025 18:04:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 18:04:09 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 18:04:18 UTC] PHP Fatal error:  Cannot use setasign\Fpdi\Fpdi as Fpdi because the name is already in use in /home/takeqvnk/watchevents.shop/api/books.php on line 26
[27-Sep-2025 18:04:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 18:04:18 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 18:04:42 UTC] PHP Fatal error:  Cannot use setasign\Fpdi\Fpdi as Fpdi because the name is already in use in /home/takeqvnk/watchevents.shop/api/books.php on line 26
[27-Sep-2025 18:04:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 18:04:42 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 18:05:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 18:05:09 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 18:21:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 18:21:21 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 18:21:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 18:21:40 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 18:40:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 18:40:30 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 20:50:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 20:50:46 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 20:56:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 20:56:26 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 23:15:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 23:15:31 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 23:15:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 23:15:33 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 23:15:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 23:15:41 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 23:16:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 23:16:10 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 23:38:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 23:38:14 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 23:39:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 23:39:53 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 23:40:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 23:40:14 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 23:53:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 23:53:04 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 23:54:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 23:54:00 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 23:56:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 23:56:56 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 23:59:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 23:59:10 UTC] ✅ إرجاع 3 تصنيف بروفايل
[27-Sep-2025 23:59:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Sep-2025 23:59:29 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 00:02:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 00:02:35 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 00:02:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 00:02:44 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 00:02:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 00:02:57 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 01:25:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 01:25:27 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 01:26:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 01:26:36 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 01:28:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 01:28:06 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 01:28:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 01:28:11 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 01:35:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 01:35:06 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 09:26:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 09:26:37 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 13:40:06 UTC] Added column institution to books table
[28-Sep-2025 13:40:07 UTC] Added column publication_year to books table
[28-Sep-2025 13:40:07 UTC] Added column keywords to books table
[28-Sep-2025 13:40:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 13:40:07 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 13:54:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 13:54:31 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 17:16:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 17:16:40 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 17:56:20 UTC] ✅ Database connection successful
[28-Sep-2025 17:56:20 UTC] 🔄 Creating/verifying database tables...
[28-Sep-2025 17:56:20 UTC] ✅ Categories table created/verified
[28-Sep-2025 17:56:20 UTC] ✅ Profile categories table created/verified
[28-Sep-2025 17:56:20 UTC] ✅ Books table created/verified with new fields
[28-Sep-2025 17:56:20 UTC] ℹ️ Column 'institution' already exists in books table
[28-Sep-2025 17:56:20 UTC] ℹ️ Column 'publication_year' already exists in books table
[28-Sep-2025 17:56:20 UTC] ℹ️ Column 'keywords' already exists in books table
[28-Sep-2025 17:56:20 UTC] 🎉 Database tables setup completed successfully
[28-Sep-2025 17:56:20 UTC] 🔍 Checking books table structure...
[28-Sep-2025 17:56:20 UTC] 📊 Books table has 19 columns:
[28-Sep-2025 17:56:20 UTC]    - id (int(11))
[28-Sep-2025 17:56:20 UTC]    - title (varchar(255))
[28-Sep-2025 17:56:20 UTC]    - author (varchar(255))
[28-Sep-2025 17:56:20 UTC]    - category_id (int(11))
[28-Sep-2025 17:56:20 UTC]    - profile_category_id (int(11))
[28-Sep-2025 17:56:20 UTC]    - image_url (varchar(500))
[28-Sep-2025 17:56:20 UTC]    - summary (text)
[28-Sep-2025 17:56:20 UTC]    - pdf_url (varchar(500))
[28-Sep-2025 17:56:20 UTC]    - file_size (int(11))
[28-Sep-2025 17:56:20 UTC]    - created_at (timestamp)
[28-Sep-2025 17:56:20 UTC]    - page_count (int(11))
[28-Sep-2025 17:56:20 UTC]    - is_external (tinyint(1))
[28-Sep-2025 17:56:20 UTC]    - table_of_contents (text)
[28-Sep-2025 17:56:20 UTC]    - selected_pages (varchar(255))
[28-Sep-2025 17:56:20 UTC]    - extracted_pdf_url (varchar(500))
[28-Sep-2025 17:56:20 UTC]    - extracted_file_size (int(11))
[28-Sep-2025 17:56:20 UTC]    - institution (varchar(255))
[28-Sep-2025 17:56:20 UTC]    - publication_year (varchar(10))
[28-Sep-2025 17:56:20 UTC]    - keywords (text)
[28-Sep-2025 17:56:20 UTC] ✅ All new fields are present in books table
[28-Sep-2025 17:56:20 UTC] 📊 Database Information:
[28-Sep-2025 17:56:20 UTC]    Total books: 5
[28-Sep-2025 17:56:20 UTC]    Total categories: 2
[28-Sep-2025 17:56:20 UTC]    Total profile categories: 3
[28-Sep-2025 17:56:23 UTC] PHP Fatal error:  Cannot redeclare columnExists() (previously declared in /home/takeqvnk/watchevents.shop/api/books.php:626) in /home/takeqvnk/watchevents.shop/api/config.php on line 198
[28-Sep-2025 17:56:25 UTC] PHP Fatal error:  Cannot redeclare columnExists() (previously declared in /home/takeqvnk/watchevents.shop/api/books.php:626) in /home/takeqvnk/watchevents.shop/api/config.php on line 198
[28-Sep-2025 17:56:26 UTC] PHP Fatal error:  Cannot redeclare columnExists() (previously declared in /home/takeqvnk/watchevents.shop/api/books.php:626) in /home/takeqvnk/watchevents.shop/api/config.php on line 198
[28-Sep-2025 17:56:28 UTC] PHP Fatal error:  Cannot redeclare columnExists() (previously declared in /home/takeqvnk/watchevents.shop/api/books.php:626) in /home/takeqvnk/watchevents.shop/api/config.php on line 198
[28-Sep-2025 17:56:29 UTC] PHP Fatal error:  Cannot redeclare columnExists() (previously declared in /home/takeqvnk/watchevents.shop/api/books.php:626) in /home/takeqvnk/watchevents.shop/api/config.php on line 198
[28-Sep-2025 17:56:30 UTC] PHP Fatal error:  Cannot redeclare columnExists() (previously declared in /home/takeqvnk/watchevents.shop/api/books.php:626) in /home/takeqvnk/watchevents.shop/api/config.php on line 198
[28-Sep-2025 17:56:37 UTC] PHP Fatal error:  Cannot redeclare columnExists() (previously declared in /home/takeqvnk/watchevents.shop/api/books.php:626) in /home/takeqvnk/watchevents.shop/api/config.php on line 198
[28-Sep-2025 17:56:39 UTC] PHP Fatal error:  Cannot redeclare columnExists() (previously declared in /home/takeqvnk/watchevents.shop/api/books.php:626) in /home/takeqvnk/watchevents.shop/api/config.php on line 198
[28-Sep-2025 17:56:40 UTC] PHP Fatal error:  Cannot redeclare columnExists() (previously declared in /home/takeqvnk/watchevents.shop/api/books.php:626) in /home/takeqvnk/watchevents.shop/api/config.php on line 198
[28-Sep-2025 18:11:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 18:11:53 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 19:59:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 19:59:42 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 20:04:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 20:04:47 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 20:05:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 20:05:01 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 20:05:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 20:05:36 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 20:06:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 20:06:04 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 20:10:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 20:10:23 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 20:31:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 20:31:46 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 20:41:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 20:41:22 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 20:43:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 20:43:13 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 20:44:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 20:44:18 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 20:50:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 20:50:38 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 20:53:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 20:53:07 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 20:53:43 UTC] PHP Parse error:  syntax error, unexpected token "," in /home/takeqvnk/watchevents.shop/api/books.php on line 269
[28-Sep-2025 20:53:46 UTC] PHP Parse error:  syntax error, unexpected token "," in /home/takeqvnk/watchevents.shop/api/books.php on line 269
[28-Sep-2025 20:53:46 UTC] PHP Parse error:  syntax error, unexpected token "," in /home/takeqvnk/watchevents.shop/api/books.php on line 269
[28-Sep-2025 20:53:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 20:53:46 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 20:53:49 UTC] PHP Parse error:  syntax error, unexpected token "," in /home/takeqvnk/watchevents.shop/api/books.php on line 269
[28-Sep-2025 20:53:51 UTC] PHP Parse error:  syntax error, unexpected token "," in /home/takeqvnk/watchevents.shop/api/books.php on line 269
[28-Sep-2025 20:53:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 20:53:51 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 20:53:55 UTC] PHP Parse error:  syntax error, unexpected token "," in /home/takeqvnk/watchevents.shop/api/books.php on line 269
[28-Sep-2025 20:54:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 20:54:18 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 20:54:19 UTC] PHP Parse error:  syntax error, unexpected token "," in /home/takeqvnk/watchevents.shop/api/books.php on line 269
[28-Sep-2025 20:54:23 UTC] PHP Parse error:  syntax error, unexpected token "," in /home/takeqvnk/watchevents.shop/api/books.php on line 269
[28-Sep-2025 20:54:24 UTC] PHP Parse error:  syntax error, unexpected token "," in /home/takeqvnk/watchevents.shop/api/books.php on line 269
[28-Sep-2025 20:54:25 UTC] PHP Parse error:  syntax error, unexpected token "," in /home/takeqvnk/watchevents.shop/api/books.php on line 269
[28-Sep-2025 21:00:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 21:00:19 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 21:00:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 21:00:30 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 21:01:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 21:01:15 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 21:01:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 21:01:18 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 21:01:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 21:01:22 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 21:01:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 21:01:46 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 21:03:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 21:03:28 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 21:04:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 21:04:45 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 21:09:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 21:09:20 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 21:11:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 21:11:00 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 22:44:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 22:44:08 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 22:48:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 22:48:08 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 22:50:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 22:50:04 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 22:52:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 22:52:28 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 22:59:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 22:59:25 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 23:33:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 23:33:22 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 23:43:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 23:43:19 UTC] ✅ إرجاع 3 تصنيف بروفايل
[28-Sep-2025 23:44:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[28-Sep-2025 23:44:58 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 01:13:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 01:13:51 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 02:14:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 02:14:16 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 09:47:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 09:47:59 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 09:48:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 09:48:11 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 12:26:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 12:26:05 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 12:26:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 12:26:12 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 12:26:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 12:26:15 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 12:26:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 12:26:18 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 12:26:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 12:26:20 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 12:26:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 12:26:22 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 12:26:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 12:26:23 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 12:26:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 12:26:24 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 13:27:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 13:27:04 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 13:50:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 13:50:50 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 13:56:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 13:56:19 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 14:15:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 14:15:01 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 14:16:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 14:16:19 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 14:54:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 14:54:04 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 15:01:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 15:01:29 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 15:01:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 15:01:46 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 15:01:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 15:01:49 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 15:01:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 15:01:51 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 15:01:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 15:01:53 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 15:01:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 15:01:55 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 15:02:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 15:02:21 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 16:31:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 16:31:45 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 17:11:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 17:11:09 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 17:11:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 17:11:26 UTC] ✅ إرجاع 3 تصنيف بروفايل
[29-Sep-2025 17:11:46 UTC] ➕ طلب إضافة تصنيف بروفايل: ddd
[29-Sep-2025 17:11:46 UTC] ✅ تم إضافة تصنيف البروفايل بنجاح: ddd (ID: 14)
[29-Sep-2025 17:11:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 17:11:47 UTC] ✅ إرجاع 4 تصنيف بروفايل
[29-Sep-2025 17:12:00 UTC] ➕ طلب إضافة تصنيف بروفايل: ddddd
[29-Sep-2025 17:12:00 UTC] ✅ تم إضافة تصنيف البروفايل بنجاح: ddddd (ID: 15)
[29-Sep-2025 17:12:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 17:12:00 UTC] ✅ إرجاع 5 تصنيف بروفايل
[29-Sep-2025 17:12:15 UTC] ➕ طلب إضافة تصنيف بروفايل: sssss
[29-Sep-2025 17:12:15 UTC] ✅ تم إضافة تصنيف البروفايل بنجاح: sssss (ID: 16)
[29-Sep-2025 17:12:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 17:12:15 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 17:12:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 17:12:15 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 17:12:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 17:12:18 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 17:12:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 17:12:19 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 17:12:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 17:12:22 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 17:14:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 17:14:21 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 17:17:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 17:17:12 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 17:46:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 17:46:05 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 22:02:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 22:02:28 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 22:03:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 22:03:27 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 22:03:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 22:03:33 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 22:19:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 22:19:15 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 23:55:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 23:55:21 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 23:55:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 23:55:34 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 23:55:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 23:55:38 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 23:55:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 23:55:47 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 23:55:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 23:55:54 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 23:58:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 23:58:15 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 23:58:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 23:58:26 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 23:58:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 23:58:32 UTC] ✅ إرجاع 6 تصنيف بروفايل
[29-Sep-2025 23:58:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[29-Sep-2025 23:58:45 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 09:06:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 09:06:27 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 12:38:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 12:38:52 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 12:57:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 12:57:30 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 13:14:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 13:14:13 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 13:14:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 13:14:54 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 13:15:58 UTC] Added column selected_pages_summary to books table
[30-Sep-2025 13:15:58 UTC] Added column selected_pages_toc to books table
[30-Sep-2025 13:15:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 13:15:59 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 13:41:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 13:41:50 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 14:15:51 UTC] Added column extracted_summary_pdf_url to books table
[30-Sep-2025 14:15:51 UTC] Added column extracted_summary_file_size to books table
[30-Sep-2025 14:15:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 14:15:51 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 14:17:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 14:17:22 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 14:17:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 14:17:32 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 14:37:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 14:37:37 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 14:38:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 14:38:01 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 14:42:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 14:42:54 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 14:47:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 14:47:18 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 14:49:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 14:49:14 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 14:53:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 14:53:26 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 16:10:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 16:10:48 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 17:02:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 17:02:06 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 17:44:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 17:44:27 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 17:49:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 17:49:44 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 17:49:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 17:49:58 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 17:51:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 17:51:05 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 17:51:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 17:51:47 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 17:58:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 17:58:20 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 17:58:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 17:58:48 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 18:05:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 18:05:23 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 18:16:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 18:16:31 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 18:17:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 18:17:59 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 18:18:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 18:18:10 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 18:18:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 18:18:19 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 18:19:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 18:19:09 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 18:38:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 18:38:01 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 18:38:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 18:38:05 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 18:38:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 18:38:57 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 18:42:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 18:42:03 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 18:42:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 18:42:22 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 18:43:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 18:43:52 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 18:55:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 18:55:17 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 18:55:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 18:55:57 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 19:03:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 19:03:35 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 19:03:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 19:03:46 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 19:06:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 19:06:56 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 19:07:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 19:07:32 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 19:07:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 19:07:44 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 20:04:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 20:04:42 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 20:07:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 20:07:37 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 20:09:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 20:09:33 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 20:10:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 20:10:04 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 20:51:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 20:51:16 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 23:06:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 23:06:52 UTC] ✅ إرجاع 6 تصنيف بروفايل
[30-Sep-2025 23:11:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[30-Sep-2025 23:11:35 UTC] ✅ إرجاع 6 تصنيف بروفايل
[01-Oct-2025 14:11:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[01-Oct-2025 14:11:56 UTC] ✅ إرجاع 6 تصنيف بروفايل
[01-Oct-2025 14:30:55 UTC] Added column selected_pages_original to books table
[01-Oct-2025 14:30:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[01-Oct-2025 14:30:55 UTC] ✅ إرجاع 6 تصنيف بروفايل
[01-Oct-2025 16:50:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[01-Oct-2025 16:50:22 UTC] ✅ إرجاع 6 تصنيف بروفايل
[01-Oct-2025 16:51:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[01-Oct-2025 16:51:09 UTC] ✅ إرجاع 6 تصنيف بروفايل
[01-Oct-2025 16:54:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[01-Oct-2025 16:54:56 UTC] ✅ إرجاع 6 تصنيف بروفايل
[01-Oct-2025 17:01:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[01-Oct-2025 17:01:51 UTC] ✅ إرجاع 6 تصنيف بروفايل
[01-Oct-2025 17:02:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[01-Oct-2025 17:02:10 UTC] ✅ إرجاع 6 تصنيف بروفايل
[01-Oct-2025 17:38:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[01-Oct-2025 17:38:27 UTC] ✅ إرجاع 6 تصنيف بروفايل
[01-Oct-2025 21:53:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[01-Oct-2025 21:53:42 UTC] ✅ إرجاع 6 تصنيف بروفايل
[01-Oct-2025 21:54:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[01-Oct-2025 21:54:27 UTC] ✅ إرجاع 6 تصنيف بروفايل
[01-Oct-2025 22:54:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[01-Oct-2025 22:54:41 UTC] ✅ إرجاع 6 تصنيف بروفايل
[01-Oct-2025 23:48:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[01-Oct-2025 23:48:44 UTC] ✅ إرجاع 6 تصنيف بروفايل
[01-Oct-2025 23:48:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[01-Oct-2025 23:48:50 UTC] ✅ إرجاع 6 تصنيف بروفايل
[01-Oct-2025 23:52:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[01-Oct-2025 23:52:10 UTC] ✅ إرجاع 6 تصنيف بروفايل
[01-Oct-2025 23:52:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[01-Oct-2025 23:52:19 UTC] ✅ إرجاع 6 تصنيف بروفايل
[01-Oct-2025 23:52:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[01-Oct-2025 23:52:23 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 00:22:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 00:22:39 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 11:07:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 11:07:43 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 11:07:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 11:07:48 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 11:26:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 11:26:42 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 11:26:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 11:26:47 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 11:26:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 11:26:52 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 12:10:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 12:10:19 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 13:43:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 13:43:31 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 13:49:41 UTC] PHP Parse error:  syntax error, unexpected identifier "الجديدة", expecting "->" or "?->" or "{" or "[" in /home/takeqvnk/watchevents.shop/api/config.php on line 107
[02-Oct-2025 13:49:41 UTC] PHP Parse error:  syntax error, unexpected identifier "الجديدة", expecting "->" or "?->" or "{" or "[" in /home/takeqvnk/watchevents.shop/api/config.php on line 107
[02-Oct-2025 13:49:41 UTC] PHP Parse error:  syntax error, unexpected identifier "الجديدة", expecting "->" or "?->" or "{" or "[" in /home/takeqvnk/watchevents.shop/api/config.php on line 107
[02-Oct-2025 13:49:48 UTC] PHP Parse error:  syntax error, unexpected identifier "الجديدة", expecting "->" or "?->" or "{" or "[" in /home/takeqvnk/watchevents.shop/api/config.php on line 107
[02-Oct-2025 13:49:48 UTC] PHP Parse error:  syntax error, unexpected identifier "الجديدة", expecting "->" or "?->" or "{" or "[" in /home/takeqvnk/watchevents.shop/api/config.php on line 107
[02-Oct-2025 13:49:48 UTC] PHP Parse error:  syntax error, unexpected identifier "الجديدة", expecting "->" or "?->" or "{" or "[" in /home/takeqvnk/watchevents.shop/api/config.php on line 107
[02-Oct-2025 13:50:33 UTC] PHP Parse error:  syntax error, unexpected identifier "الجديدة", expecting "->" or "?->" or "{" or "[" in /home/takeqvnk/watchevents.shop/api/config.php on line 107
[02-Oct-2025 13:50:33 UTC] PHP Parse error:  syntax error, unexpected identifier "الجديدة", expecting "->" or "?->" or "{" or "[" in /home/takeqvnk/watchevents.shop/api/config.php on line 107
[02-Oct-2025 13:50:33 UTC] PHP Parse error:  syntax error, unexpected identifier "الجديدة", expecting "->" or "?->" or "{" or "[" in /home/takeqvnk/watchevents.shop/api/config.php on line 107
[02-Oct-2025 13:53:10 UTC] Added column is_protected to books table
[02-Oct-2025 13:53:10 UTC] Added column protection_key to books table
[02-Oct-2025 13:53:10 UTC] Added column stored_pdf_data to books table
[02-Oct-2025 13:53:10 UTC] Added column has_stored_pdf to books table
[02-Oct-2025 13:53:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 13:53:10 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 14:01:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 14:01:07 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 14:01:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 14:01:30 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 14:48:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 14:48:10 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 14:48:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 14:48:22 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 14:48:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 14:48:29 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 14:54:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 14:54:08 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 14:54:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 14:54:35 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 15:46:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 15:46:27 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 15:49:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 15:49:09 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 15:49:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 15:49:17 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 15:49:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 15:49:37 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 15:55:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 15:55:35 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 16:21:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 16:21:10 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 16:24:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 16:24:51 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 16:41:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 16:41:40 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 17:05:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 17:05:03 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 17:05:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 17:05:35 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 17:07:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 17:07:38 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 17:09:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 17:09:00 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 18:02:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 18:02:24 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 18:03:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 18:03:58 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 18:08:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 18:08:16 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 18:10:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 18:10:30 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 18:46:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 18:46:49 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 18:48:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 18:48:11 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 18:56:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 18:56:43 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 18:58:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 18:58:30 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 19:06:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 19:06:12 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 19:12:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 19:12:05 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 19:14:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 19:14:04 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 19:35:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 19:35:01 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 19:40:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 19:40:53 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 19:40:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 19:40:55 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 20:06:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 20:06:47 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 20:55:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 20:55:59 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 20:56:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 20:56:07 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 21:01:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 21:01:13 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 22:10:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 22:10:29 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 23:27:49 UTC] Added column show_read_button to books table
[02-Oct-2025 23:27:49 UTC] Added column read_button_text to books table
[02-Oct-2025 23:27:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 23:27:49 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 23:44:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 23:44:05 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 23:45:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 23:45:05 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 23:51:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 23:51:19 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 23:53:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 23:53:07 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 23:53:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 23:53:25 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 23:55:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 23:55:22 UTC] ✅ إرجاع 6 تصنيف بروفايل
[02-Oct-2025 23:55:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[02-Oct-2025 23:55:23 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 00:04:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 00:04:00 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 00:12:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 00:12:14 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 00:12:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 00:12:27 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 00:15:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 00:15:58 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 00:18:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 00:18:48 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 00:18:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 00:18:51 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 00:24:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 00:24:30 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 00:24:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 00:24:39 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 00:40:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 00:40:03 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 00:41:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 00:41:59 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 00:43:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 00:43:50 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 01:47:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 01:47:06 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 01:49:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 01:49:02 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 05:14:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 05:14:05 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 10:45:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 10:45:50 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 13:24:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 13:24:25 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 13:24:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 13:24:29 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 13:53:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 13:53:03 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 13:57:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 13:57:40 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 14:48:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 14:48:16 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 14:55:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 14:55:32 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 15:02:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 15:02:40 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 15:07:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 15:07:26 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 15:17:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 15:17:10 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 15:28:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 15:28:24 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 15:33:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 15:33:06 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 15:37:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 15:37:20 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 15:45:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 15:45:05 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 15:48:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 15:48:35 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 15:49:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 15:49:19 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 16:03:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 16:03:21 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 16:05:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 16:05:33 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 16:12:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 16:12:08 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 16:13:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 16:13:16 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 16:15:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 16:15:01 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 16:17:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 16:17:33 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 17:25:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 17:25:46 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 17:34:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 17:34:44 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 17:35:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 17:35:40 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 17:36:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 17:36:44 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 17:38:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 17:38:09 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 17:39:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 17:39:23 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 17:41:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 17:41:43 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 17:42:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 17:42:12 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 17:43:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 17:43:09 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 17:44:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 17:44:00 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 17:55:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 17:55:30 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 18:00:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 18:00:33 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 18:00:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 18:00:48 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 18:01:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 18:01:39 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 18:07:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 18:07:15 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 18:07:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 18:07:30 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 18:07:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 18:07:41 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 18:08:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 18:08:08 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 18:24:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 18:24:35 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 18:24:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 18:24:43 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 19:52:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 19:52:52 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 21:06:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 21:06:57 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 21:46:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 21:46:29 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 23:00:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 23:00:23 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 23:25:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 23:25:14 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 23:26:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 23:26:31 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 23:28:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 23:28:02 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 23:28:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 23:28:14 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 23:31:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 23:31:53 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 23:32:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 23:32:11 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 23:40:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 23:40:00 UTC] ✅ إرجاع 6 تصنيف بروفايل
[03-Oct-2025 23:46:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[03-Oct-2025 23:46:45 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 00:09:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 00:09:21 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 00:23:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 00:23:53 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 00:42:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 00:42:04 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 01:07:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 01:07:50 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 01:11:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 01:11:43 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 01:13:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 01:13:33 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 01:13:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 01:13:44 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 01:19:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 01:19:06 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 01:20:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 01:20:22 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 01:21:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 01:21:48 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 01:21:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 01:21:58 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 01:41:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 01:41:14 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 09:56:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 09:56:04 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 12:13:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 12:13:45 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 12:44:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 12:44:03 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 12:44:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 12:44:13 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 12:53:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 12:53:01 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 13:24:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 13:24:03 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 13:24:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 13:24:59 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 13:25:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 13:25:10 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 13:27:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 13:27:01 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 14:02:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 14:02:34 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 14:22:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 14:22:21 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 14:26:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 14:26:18 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 14:26:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 14:26:34 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 14:26:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 14:26:35 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 14:30:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 14:30:34 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 14:39:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 14:39:39 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 14:39:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 14:39:50 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 14:40:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 14:40:00 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 14:40:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 14:40:27 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 14:45:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 14:45:46 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 14:45:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 14:45:56 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 14:46:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 14:46:52 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 14:49:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 14:49:33 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 14:53:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 14:53:47 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 14:57:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 14:57:33 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 14:58:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 14:58:45 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 15:44:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 15:44:50 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 15:58:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 15:58:40 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 15:58:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 15:58:48 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 15:58:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 15:58:58 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 15:59:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 15:59:13 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 15:59:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 15:59:38 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 16:01:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 16:01:03 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 16:01:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 16:01:33 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 16:02:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 16:02:11 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 16:03:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 16:03:01 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 16:11:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 16:11:07 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 16:15:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 16:15:22 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 16:16:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 16:16:29 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 16:33:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 16:33:17 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 16:36:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 16:36:06 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 16:49:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 16:49:10 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 17:03:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 17:03:00 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 17:04:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 17:04:57 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 17:09:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 17:09:21 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 17:10:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 17:10:32 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 17:21:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 17:21:38 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 17:22:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 17:22:13 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 17:23:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 17:23:12 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 17:25:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 17:25:31 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 18:21:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 18:21:09 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 18:23:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 18:23:12 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 18:41:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 18:41:29 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 19:07:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 19:07:02 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 19:07:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 19:07:50 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 19:09:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 19:09:49 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 19:09:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 19:09:56 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 19:11:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 19:11:53 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 19:11:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 19:11:59 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 19:13:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 19:13:08 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 19:16:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 19:16:42 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 19:17:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 19:17:43 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 19:19:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 19:19:30 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 19:21:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 19:21:05 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 19:22:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 19:22:17 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 19:31:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 19:31:35 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 19:34:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 19:34:43 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 19:38:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 19:38:09 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 19:45:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 19:45:34 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 19:54:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 19:54:49 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 20:23:52 UTC] Added column custom_file_size to books table
[04-Oct-2025 20:23:52 UTC] Added column show_file_size to books table
[04-Oct-2025 20:30:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 20:30:18 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 20:34:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 20:34:43 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 21:01:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 21:01:46 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 21:13:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 21:13:56 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 21:35:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 21:35:02 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:25:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:25:20 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:28:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:28:36 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:29:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:29:22 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:32:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:32:02 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:32:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:32:21 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:32:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:32:30 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:35:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:35:33 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:35:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:35:45 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:35:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:35:55 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:36:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:36:10 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:36:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:36:26 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:36:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:36:41 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:36:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:36:50 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:37:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:37:12 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:37:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:37:46 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:38:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:38:13 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:38:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:38:15 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:43:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:43:11 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 22:49:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 22:49:54 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 23:20:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 23:20:07 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 23:31:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 23:31:31 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 23:31:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 23:31:34 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 23:31:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 23:31:52 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 23:31:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 23:31:55 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 23:56:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 23:56:56 UTC] ✅ إرجاع 6 تصنيف بروفايل
[04-Oct-2025 23:56:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[04-Oct-2025 23:56:57 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 00:06:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 00:06:37 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 00:13:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 00:13:28 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 00:13:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 00:13:35 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 00:13:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 00:13:52 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 00:14:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 00:14:03 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 00:16:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 00:16:25 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 00:17:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 00:17:47 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 00:23:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 00:23:28 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 00:31:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 00:31:53 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 11:56:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 11:56:20 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 13:04:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 13:04:27 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 13:17:27 UTC] Added column taille_before_extrait to books table
[05-Oct-2025 13:17:27 UTC] Added column show_taille_before_extrait to books table
[05-Oct-2025 13:17:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 13:17:27 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 13:17:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 13:17:38 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 13:22:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 13:22:20 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:10:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:10:39 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:14:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:14:26 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:14:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:14:35 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:15:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:15:27 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:15:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:15:34 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:15:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:15:43 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:15:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:15:52 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:16:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:16:35 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:16:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:16:49 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:17:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:17:08 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:17:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:17:30 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:17:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:17:42 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:17:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:17:51 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:18:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:18:31 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:21:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:21:12 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:21:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:21:50 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:24:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:24:01 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:28:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:28:08 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:33:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:33:24 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:35:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:35:21 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:35:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:35:32 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:36:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:36:13 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:36:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:36:26 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:36:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:36:36 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:46:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 14:46:53 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 14:52:13 UTC] Added column show_extracted_pdf_download to books table
[05-Oct-2025 15:22:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 15:22:09 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 15:42:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 15:42:50 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 15:59:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 15:59:05 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 15:59:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 15:59:23 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 15:59:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 15:59:33 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 16:00:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 16:00:22 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 16:01:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 16:01:26 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 16:23:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 16:23:56 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 16:24:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 16:24:09 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 16:33:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 16:33:33 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 16:33:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 16:33:42 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 16:59:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 16:59:55 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 17:00:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 17:00:26 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 17:01:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 17:01:06 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 17:02:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 17:02:20 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 17:34:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 17:34:19 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 18:11:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 18:11:35 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 18:11:42 UTC] 🔄 Processing category - ID: 25, Name: oromo, Remove Image: NO
[05-Oct-2025 18:11:42 UTC] 📁 Keeping existing category image: uploads/images/68e29648795ef_1759680072.jpg
[05-Oct-2025 18:11:42 UTC] 🔄 Updating existing category ID: 25
[05-Oct-2025 18:11:42 UTC] ✅ Category updated with new image
[05-Oct-2025 18:11:55 UTC] ➕ طلب معالجة تصنيف بروفايل - ID: 16, Name: ss
[05-Oct-2025 18:11:55 UTC] 📁 Keeping existing profile category image: uploads/profile_categories/68dabdef30375_1759165935.jpg
[05-Oct-2025 18:11:55 UTC] 🔄 Updating existing profile category ID: 16
[05-Oct-2025 18:11:55 UTC] ✅ Profile category saved successfully: ss (ID: 16)
[05-Oct-2025 18:11:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 18:11:56 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 18:43:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 18:43:34 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 18:44:56 UTC] 🔄 Processing category - ID: , Name: test cat one, Remove Image: NO
[05-Oct-2025 18:44:56 UTC] ✅ New image uploaded: uploads/images/68e2bca8ec9a2_1759689896.png
[05-Oct-2025 18:44:56 UTC] 🆕 Adding new category
[05-Oct-2025 18:44:56 UTC] ✅ New category added with ID: 27
[05-Oct-2025 18:45:09 UTC] 🔄 Processing category - ID: 27, Name: test, Remove Image: NO
[05-Oct-2025 18:45:09 UTC] 📁 Keeping existing category image: uploads/images/68e2bca8ec9a2_1759689896.png
[05-Oct-2025 18:45:09 UTC] 🔄 Updating existing category ID: 27
[05-Oct-2025 18:45:09 UTC] ✅ Category updated with new image
[05-Oct-2025 18:46:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 18:46:08 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 19:21:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 19:21:39 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 19:21:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 19:21:42 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 19:22:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 19:22:01 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 19:22:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 19:22:15 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 19:58:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 19:58:05 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 19:58:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 19:58:07 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 20:19:44 UTC] Added column show_download_extrait_button to books table
[05-Oct-2025 20:19:44 UTC] Added column download_extrait_button_text to books table
[05-Oct-2025 20:33:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 20:33:29 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 20:59:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 20:59:14 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 21:00:48 UTC] 🔄 Processing category - ID: 27, Name: tes, Remove Image: NO
[05-Oct-2025 21:00:48 UTC] 📁 Keeping existing category image: uploads/images/68e2bca8ec9a2_1759689896.png
[05-Oct-2025 21:00:48 UTC] 🔄 Updating existing category ID: 27
[05-Oct-2025 21:00:48 UTC] ✅ Category updated with new image
[05-Oct-2025 21:20:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 21:20:17 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 22:02:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 22:02:58 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 22:03:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 22:03:03 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 22:03:55 UTC] 🔄 Processing category - ID: , Name: Droit & Sciences politiques, Remove Image: NO
[05-Oct-2025 22:03:55 UTC] ✅ New image uploaded: uploads/images/68e2eb4b18ab6_1759701835.jpg
[05-Oct-2025 22:03:55 UTC] 🆕 Adding new category
[05-Oct-2025 22:03:55 UTC] ✅ New category added with ID: 28
[05-Oct-2025 22:04:08 UTC] 🔄 Processing category - ID: , Name: Droit & Sciences politiques, Remove Image: NO
[05-Oct-2025 22:04:08 UTC] 🆕 Adding new category
[05-Oct-2025 22:04:08 UTC] ✅ New category added with ID: 29
[05-Oct-2025 22:05:13 UTC] 🔄 Processing category - ID: 29, Name: Informatique, Remove Image: NO
[05-Oct-2025 22:05:13 UTC] ✅ New image uploaded: uploads/images/68e2eb99c0003_1759701913.jpg
[05-Oct-2025 22:05:13 UTC] 🔄 Updating existing category ID: 29
[05-Oct-2025 22:05:13 UTC] ✅ Category updated with new image
[05-Oct-2025 22:47:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 22:47:23 UTC] ✅ إرجاع 6 تصنيف بروفايل
[05-Oct-2025 22:48:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[05-Oct-2025 22:48:14 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 00:06:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 00:06:09 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 01:29:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 01:29:16 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 02:18:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 02:18:06 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 02:52:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 02:52:56 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 11:35:19 UTC] Added column original_pdf_url to books table
[06-Oct-2025 11:35:19 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 11:35:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 11:35:19 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 11:35:19 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 11:35:19 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 11:36:34 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 11:36:35 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 11:36:39 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 11:36:41 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 11:36:54 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 11:38:00 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 11:38:00 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 11:38:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 11:38:00 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 11:38:00 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 11:41:27 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 11:41:28 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 11:41:31 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 11:45:19 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 11:45:24 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 11:47:24 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 11:47:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 11:47:24 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 11:47:24 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 11:47:24 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:23:27 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:23:43 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:23:54 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:24:01 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:24:15 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:43:18 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:43:19 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:43:53 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:43:54 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:43:57 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:43:59 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:44:09 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:44:24 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:44:24 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:44:27 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:44:48 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:44:48 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:44:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 12:44:48 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 12:44:48 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:45:11 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:45:12 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:45:16 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:45:17 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:45:39 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:45:40 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:45:42 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:45:45 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:45:46 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:45:54 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:45:58 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:47:42 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:47:43 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:47:43 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:47:47 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:47:49 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:47:50 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:47:55 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:48:17 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:48:18 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:48:21 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:48:23 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:48:30 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:51:04 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:51:05 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:51:23 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:51:24 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:59:54 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 12:59:55 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:00:00 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:00:02 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:00:33 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:01:12 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:01:12 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:01:15 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:08:44 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:08:45 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:13:08 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:13:10 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:13:49 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:14:42 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:14:43 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:14:47 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:14:48 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:15:34 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:15:34 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:15:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 13:15:34 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 13:15:34 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:16:00 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:22:11 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:22:11 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:22:11 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:22:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 13:22:11 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 13:22:34 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:23:06 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:23:06 UTC] 🔄 Processing category - ID: , Name: oromoo, Remove Image: NO
[06-Oct-2025 13:23:06 UTC] 🆕 Adding new category
[06-Oct-2025 13:23:06 UTC] ✅ New category added with ID: 30
[06-Oct-2025 13:23:06 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:23:13 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:23:13 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:23:19 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:23:19 UTC] 🔄 Processing category - ID: , Name: oromo, Remove Image: NO
[06-Oct-2025 13:23:19 UTC] 🆕 Adding new category
[06-Oct-2025 13:23:19 UTC] ✅ New category added with ID: 31
[06-Oct-2025 13:23:20 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:23:23 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:23:24 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:24:38 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:24:41 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:25:21 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:25:21 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:25:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 13:25:21 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 13:25:21 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:33:47 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:36:16 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:36:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 13:36:16 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 13:36:16 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:36:16 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:36:23 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:36:23 UTC] 🔄 Processing category - ID: , Name: tes, Remove Image: NO
[06-Oct-2025 13:36:23 UTC] 🆕 Adding new category
[06-Oct-2025 13:36:23 UTC] ✅ New category added with ID: 32
[06-Oct-2025 13:36:23 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:36:30 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:36:31 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:36:34 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:36:34 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:36:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 13:36:34 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 13:36:34 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:36:41 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:36:41 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:36:41 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:36:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 13:36:41 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 13:36:46 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:36:46 UTC] 🔄 Processing category - ID: , Name: tes, Remove Image: NO
[06-Oct-2025 13:36:46 UTC] 🔍 Checking for duplicate category name: 'tes'
[06-Oct-2025 13:36:46 UTC] ❌ Validation failed: Category with same name already exists - ID: 27, Name: tes
[06-Oct-2025 13:41:01 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:50:00 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:50:02 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 13:50:14 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:24:20 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:24:20 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:24:20 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:24:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 14:24:20 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 14:25:22 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:25:23 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:25:28 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:25:30 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:27:06 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:27:07 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:27:14 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:27:25 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:29:12 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:29:12 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:29:13 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:29:13 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:29:25 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:29:25 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:29:27 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:30:27 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:30:28 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:30:32 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:30:33 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:32:13 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:32:14 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:32:17 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:32:17 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:32:58 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:33:10 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:33:10 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:33:11 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:33:40 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:33:40 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:33:40 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:33:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 14:33:40 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 14:33:44 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:33:51 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:33:53 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:38:33 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:38:33 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:38:43 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:38:51 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:39:06 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:40:20 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:47:33 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:47:33 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:47:33 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:47:54 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:47:56 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:48:24 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:50:34 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:50:38 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:55:12 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:55:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 14:55:12 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 14:55:12 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:55:12 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:55:28 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:55:29 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:55:37 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:55:38 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:57:26 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 14:57:29 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:07:26 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:07:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 15:07:26 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 15:13:46 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:13:48 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:15:14 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:15:15 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:15:23 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:23:04 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:23:04 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:23:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 15:23:04 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 15:23:04 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:23:14 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:23:15 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:23:19 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:23:19 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:24:22 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:24:23 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:24:27 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:25:03 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:25:03 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:25:05 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:25:09 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:33:37 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:33:45 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:34:56 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:34:56 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:34:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 15:34:56 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 15:34:56 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:39:16 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:39:17 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 15:39:36 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:02:35 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:02:36 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:03:10 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:03:10 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:03:20 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:03:20 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:03:27 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:03:27 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:03:37 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:03:39 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:03:44 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:03:46 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:03:55 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:03:56 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:05:41 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:05:42 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:05:46 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:05:48 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:06:11 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:06:59 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:07:54 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:08:01 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:10:25 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:10:26 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:10:39 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:10:46 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:31:14 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:31:17 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:31:35 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:31:40 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:31:49 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:31:52 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:45:24 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:45:24 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:45:24 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:45:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 16:45:24 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 16:45:50 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:45:50 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:45:50 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:45:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 16:45:50 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 16:52:01 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:52:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[06-Oct-2025 16:52:01 UTC] ✅ إرجاع 6 تصنيف بروفايل
[06-Oct-2025 16:52:02 UTC] ✅ Updated existing books with original_pdf_url
[06-Oct-2025 16:52:05[15-Nov-2025 13:21:47 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:47 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:48 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:21:48 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:48 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:21:48 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:21:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:48 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:21:48 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:48 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:21:48 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:21:48 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:21:48 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:21:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:48 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:21:48 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:21:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:21:48 UTC] 📊 Database Info:
[15-Nov-2025 13:21:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:21:48 UTC]    Books columns count: 53
[15-Nov-2025 13:21:48 UTC]    Categories columns count: 7
[15-Nov-2025 13:21:48 UTC]    Language field in books: YES
[15-Nov-2025 13:21:48 UTC]    Format field in books: YES
[15-Nov-2025 13:21:48 UTC]    Description field in categories: YES
[15-Nov-2025 13:21:48 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:21:48 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:21:48 UTC]    Is_active field in books: YES
[15-Nov-2025 13:21:48 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:21:48 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:21:48 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:21:48 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:48 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:21:48 UTC] 📊 Database Info:
[15-Nov-2025 13:21:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:21:48 UTC]    Books columns count: 53
[15-Nov-2025 13:21:48 UTC]    Categories columns count: 7
[15-Nov-2025 13:21:48 UTC]    Language field in books: YES
[15-Nov-2025 13:21:48 UTC]    Format field in books: YES
[15-Nov-2025 13:21:48 UTC]    Description field in categories: YES
[15-Nov-2025 13:21:48 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:21:48 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:21:48 UTC]    Is_active field in books: YES
[15-Nov-2025 13:21:48 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:21:48 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:21:48 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:21:48 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:21:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:48 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:21:48 UTC] 📊 Database Info:
[15-Nov-2025 13:21:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:21:48 UTC]    Books columns count: 53
[15-Nov-2025 13:21:48 UTC]    Categories columns count: 7
[15-Nov-2025 13:21:48 UTC]    Language field in books: YES
[15-Nov-2025 13:21:48 UTC]    Format field in books: YES
[15-Nov-2025 13:21:48 UTC]    Description field in categories: YES
[15-Nov-2025 13:21:48 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:21:48 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:21:48 UTC]    Is_active field in books: YES
[15-Nov-2025 13:21:48 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:21:48 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:21:48 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:21:48 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:21:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:21:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:21:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:21:48 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:21:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:21:48 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:21:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:48 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 13:21:48 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 13:21:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:48 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:21:48 UTC] 📊 Database Info:
[15-Nov-2025 13:21:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:21:48 UTC]    Books columns count: 53
[15-Nov-2025 13:21:48 UTC]    Categories columns count: 7
[15-Nov-2025 13:21:48 UTC]    Language field in books: YES
[15-Nov-2025 13:21:48 UTC]    Format field in books: YES
[15-Nov-2025 13:21:48 UTC]    Description field in categories: YES
[15-Nov-2025 13:21:48 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:21:48 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:21:48 UTC]    Is_active field in books: YES
[15-Nov-2025 13:21:48 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:21:48 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:21:48 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:21:48 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:21:48 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:21:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:21:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:48 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:21:48 UTC] 📊 Database Info:
[15-Nov-2025 13:21:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:21:48 UTC]    Books columns count: 53
[15-Nov-2025 13:21:48 UTC]    Categories columns count: 7
[15-Nov-2025 13:21:48 UTC]    Language field in books: YES
[15-Nov-2025 13:21:48 UTC]    Format field in books: YES
[15-Nov-2025 13:21:48 UTC]    Description field in categories: YES
[15-Nov-2025 13:21:48 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:21:48 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:21:48 UTC]    Is_active field in books: YES
[15-Nov-2025 13:21:48 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:21:48 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:21:48 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:21:48 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:21:48 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:21:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:21:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:48 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:21:48 UTC] 📊 Database Info:
[15-Nov-2025 13:21:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:21:48 UTC]    Books columns count: 53
[15-Nov-2025 13:21:48 UTC]    Categories columns count: 7
[15-Nov-2025 13:21:48 UTC]    Language field in books: YES
[15-Nov-2025 13:21:48 UTC]    Format field in books: YES
[15-Nov-2025 13:21:48 UTC]    Description field in categories: YES
[15-Nov-2025 13:21:48 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:21:48 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:21:48 UTC]    Is_active field in books: YES
[15-Nov-2025 13:21:48 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:21:48 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:21:48 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:21:48 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:21:48 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:21:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:21:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:55 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:21:56 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:21:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:56 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:21:56 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:21:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:56 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:21:56 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:21:56 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:56 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:21:56 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:21:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:56 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:56 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:21:56 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:56 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:21:56 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:21:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:56 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:21:56 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:57 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:21:57 UTC] 📊 Database Info:
[15-Nov-2025 13:21:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:21:57 UTC]    Books columns count: 53
[15-Nov-2025 13:21:57 UTC]    Categories columns count: 7
[15-Nov-2025 13:21:57 UTC]    Language field in books: YES
[15-Nov-2025 13:21:57 UTC]    Format field in books: YES
[15-Nov-2025 13:21:57 UTC]    Description field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Is_active field in books: YES
[15-Nov-2025 13:21:57 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:21:57 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:21:57 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:21:57 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:21:57 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:21:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:57 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:57 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:21:57 UTC] 📊 Database Info:
[15-Nov-2025 13:21:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:21:57 UTC]    Books columns count: 53
[15-Nov-2025 13:21:57 UTC]    Categories columns count: 7
[15-Nov-2025 13:21:57 UTC]    Language field in books: YES
[15-Nov-2025 13:21:57 UTC]    Format field in books: YES
[15-Nov-2025 13:21:57 UTC]    Description field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Is_active field in books: YES
[15-Nov-2025 13:21:57 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:21:57 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:21:57 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:21:57 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:21:57 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:21:57 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:21:57 UTC] 📊 Database Info:
[15-Nov-2025 13:21:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:21:57 UTC]    Books columns count: 53
[15-Nov-2025 13:21:57 UTC]    Categories columns count: 7
[15-Nov-2025 13:21:57 UTC]    Language field in books: YES
[15-Nov-2025 13:21:57 UTC]    Format field in books: YES
[15-Nov-2025 13:21:57 UTC]    Description field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Is_active field in books: YES
[15-Nov-2025 13:21:57 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:21:57 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:21:57 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:21:57 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:21:57 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:57 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:57 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:21:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:21:57 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:57 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:21:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:21:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:21:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:57 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:21:57 UTC] 📊 Database Info:
[15-Nov-2025 13:21:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:21:57 UTC]    Books columns count: 53
[15-Nov-2025 13:21:57 UTC]    Categories columns count: 7
[15-Nov-2025 13:21:57 UTC]    Language field in books: YES
[15-Nov-2025 13:21:57 UTC]    Format field in books: YES
[15-Nov-2025 13:21:57 UTC]    Description field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Is_active field in books: YES
[15-Nov-2025 13:21:57 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:21:57 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:21:57 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:21:57 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:57 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:21:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:21:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:21:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:21:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 13:21:57 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 13:21:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:57 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:57 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:21:57 UTC] 📊 Database Info:
[15-Nov-2025 13:21:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:21:57 UTC]    Books columns count: 53
[15-Nov-2025 13:21:57 UTC]    Categories columns count: 7
[15-Nov-2025 13:21:57 UTC]    Language field in books: YES
[15-Nov-2025 13:21:57 UTC]    Format field in books: YES
[15-Nov-2025 13:21:57 UTC]    Description field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Is_active field in books: YES
[15-Nov-2025 13:21:57 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:21:57 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:21:57 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:21:57 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:57 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:21:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:21:57 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:21:57 UTC] 📊 Database Info:
[15-Nov-2025 13:21:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:21:57 UTC]    Books columns count: 53
[15-Nov-2025 13:21:57 UTC]    Categories columns count: 7
[15-Nov-2025 13:21:57 UTC]    Language field in books: YES
[15-Nov-2025 13:21:57 UTC]    Format field in books: YES
[15-Nov-2025 13:21:57 UTC]    Description field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Is_active field in books: YES
[15-Nov-2025 13:21:57 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:21:57 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:21:57 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:21:57 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:21:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:21:57 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:21:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:21:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 13:21:57 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:21:57 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:21:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:21:57 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:21:57 UTC] 📊 Database Info:
[15-Nov-2025 13:21:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:21:57 UTC]    Books columns count: 53
[15-Nov-2025 13:21:57 UTC]    Categories columns count: 7
[15-Nov-2025 13:21:57 UTC]    Language field in books: YES
[15-Nov-2025 13:21:57 UTC]    Format field in books: YES
[15-Nov-2025 13:21:57 UTC]    Description field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:21:57 UTC]    Is_active field in books: YES
[15-Nov-2025 13:21:57 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:21:57 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:21:57 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:21:57 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:21:57 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:21:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:21:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:21:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 13:21:57 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 13:21:57 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 13:21:58 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:58 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:58 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:58 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:58 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:58 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:58 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:58 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:58 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:58 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:58 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:58 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:21:58 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:21:58 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:21:58 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:21:58 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:21:58 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:21:58 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:21:58 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:21:58 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:21:58 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:21:58 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:21:58 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:21:58 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:21:58 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:21:58 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:21:58 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:21:58 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:21:58 UTC] 📊 Database Info:
[15-Nov-2025 13:21:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:21:58 UTC]    Books columns count: 53
[15-Nov-2025 13:21:58 UTC]    Categories columns count: 7
[15-Nov-2025 13:21:58 UTC]    Language field in books: YES
[15-Nov-2025 13:21:58 UTC]    Format field in books: YES
[15-Nov-2025 13:21:58 UTC]    Description field in categories: YES
[15-Nov-2025 13:21:58 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:21:58 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:21:58 UTC]    Is_active field in books: YES
[15-Nov-2025 13:21:58 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:21:58 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:21:58 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:21:58 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:21:58 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:21:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:21:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:21:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:21:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:21:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:21:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:21:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:21:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:21:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:21:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:21:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:21:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:21:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:21:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 13:21:58 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 13:21:58 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 13:22:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:04 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:04 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:04 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:04 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:04 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:04 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:04 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:22:04 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:22:04 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:04 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:04 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:04 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:04 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:04 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:04 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:22:04 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:04 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:04 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:04 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:04 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:04 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:22:04 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:04 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:04 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:04 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:04 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:04 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:22:04 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:22:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:04 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:04 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:04 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:04 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:22:04 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:04 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:04 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:04 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:04 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:22:04 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:22:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:05 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:22:05 UTC] 📊 Database Info:
[15-Nov-2025 13:22:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:22:05 UTC]    Books columns count: 53
[15-Nov-2025 13:22:05 UTC]    Categories columns count: 7
[15-Nov-2025 13:22:05 UTC]    Language field in books: YES
[15-Nov-2025 13:22:05 UTC]    Format field in books: YES
[15-Nov-2025 13:22:05 UTC]    Description field in categories: YES
[15-Nov-2025 13:22:05 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:22:05 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:22:05 UTC]    Is_active field in books: YES
[15-Nov-2025 13:22:05 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:22:05 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:22:05 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:22:05 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:22:05 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:05 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:22:05 UTC] 📊 Database Info:
[15-Nov-2025 13:22:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:22:05 UTC]    Books columns count: 53
[15-Nov-2025 13:22:05 UTC]    Categories columns count: 7
[15-Nov-2025 13:22:05 UTC]    Language field in books: YES
[15-Nov-2025 13:22:05 UTC]    Format field in books: YES
[15-Nov-2025 13:22:05 UTC]    Description field in categories: YES
[15-Nov-2025 13:22:05 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:22:05 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:22:05 UTC]    Is_active field in books: YES
[15-Nov-2025 13:22:05 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:22:05 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:22:05 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:22:05 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:22:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:22:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:22:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:22:05 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 13:22:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:05 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:22:05 UTC] 📊 Database Info:
[15-Nov-2025 13:22:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:22:05 UTC]    Books columns count: 53
[15-Nov-2025 13:22:05 UTC]    Categories columns count: 7
[15-Nov-2025 13:22:05 UTC]    Language field in books: YES
[15-Nov-2025 13:22:05 UTC]    Format field in books: YES
[15-Nov-2025 13:22:05 UTC]    Description field in categories: YES
[15-Nov-2025 13:22:05 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:22:05 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:22:05 UTC]    Is_active field in books: YES
[15-Nov-2025 13:22:05 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:22:05 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:22:05 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:22:05 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:22:05 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:22:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:22:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:22:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:05 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:22:05 UTC] 📊 Database Info:
[15-Nov-2025 13:22:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:22:05 UTC]    Books columns count: 53
[15-Nov-2025 13:22:05 UTC]    Categories columns count: 7
[15-Nov-2025 13:22:05 UTC]    Language field in books: YES
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:05 UTC]    Format field in books: YES
[15-Nov-2025 13:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:05 UTC]    Description field in categories: YES
[15-Nov-2025 13:22:05 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:22:05 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:22:05 UTC]    Is_active field in books: YES
[15-Nov-2025 13:22:05 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:22:05 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:22:05 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:22:05 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:22:05 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:22:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:22:05 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 13:22:05 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:22:05 UTC] 📊 Database Info:
[15-Nov-2025 13:22:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:22:05 UTC]    Books columns count: 53
[15-Nov-2025 13:22:05 UTC]    Categories columns count: 7
[15-Nov-2025 13:22:05 UTC]    Language field in books: YES
[15-Nov-2025 13:22:05 UTC]    Format field in books: YES
[15-Nov-2025 13:22:05 UTC]    Description field in categories: YES
[15-Nov-2025 13:22:05 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:22:05 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:22:05 UTC]    Is_active field in books: YES
[15-Nov-2025 13:22:05 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:22:05 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:22:05 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:22:05 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:22:05 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 13:22:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:05 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:22:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:22:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:05 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:22:05 UTC] 📊 Database Info:
[15-Nov-2025 13:22:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:22:05 UTC]    Books columns count: 53
[15-Nov-2025 13:22:05 UTC]    Categories columns count: 7
[15-Nov-2025 13:22:05 UTC]    Language field in books: YES
[15-Nov-2025 13:22:05 UTC]    Format field in books: YES
[15-Nov-2025 13:22:05 UTC]    Description field in categories: YES
[15-Nov-2025 13:22:05 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:22:05 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:22:05 UTC]    Is_active field in books: YES
[15-Nov-2025 13:22:05 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:22:05 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:22:05 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:22:05 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:22:05 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:22:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:22:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:22:18 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:18 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:18 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:18 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:18 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:18 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:18 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:18 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:18 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:18 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:18 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:18 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:18 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:22:18 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:22:18 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:18 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:18 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:18 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:18 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:18 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:18 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:18 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:18 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:18 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:18 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:18 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:18 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:18 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:22:18 UTC] 📊 Database Info:
[15-Nov-2025 13:22:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:22:18 UTC]    Books columns count: 53
[15-Nov-2025 13:22:18 UTC]    Categories columns count: 7
[15-Nov-2025 13:22:18 UTC]    Language field in books: YES
[15-Nov-2025 13:22:18 UTC]    Format field in books: YES
[15-Nov-2025 13:22:18 UTC]    Description field in categories: YES
[15-Nov-2025 13:22:18 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:22:18 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:22:18 UTC]    Is_active field in books: YES
[15-Nov-2025 13:22:18 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:22:18 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:22:18 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:22:18 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:22:18 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:22:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:22:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:33 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:33 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:33 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:33 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:33 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:33 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:33 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:33 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:33 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:33 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:22:33 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:33 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:33 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:33 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:22:33 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:33 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:33 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:33 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:33 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:33 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:33 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:33 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:33 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:33 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:33 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:22:33 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:22:33 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:22:33 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:33 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:33 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:33 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:22:33 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:33 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:33 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:33 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:33 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:33 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:33 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:22:33 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:33 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:34 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:34 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:34 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:34 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:34 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:34 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:34 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:22:34 UTC] 📊 Database Info:
[15-Nov-2025 13:22:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:22:34 UTC]    Books columns count: 53
[15-Nov-2025 13:22:34 UTC]    Categories columns count: 7
[15-Nov-2025 13:22:34 UTC]    Language field in books: YES
[15-Nov-2025 13:22:34 UTC]    Format field in books: YES
[15-Nov-2025 13:22:34 UTC]    Description field in categories: YES
[15-Nov-2025 13:22:34 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:22:34 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:22:34 UTC]    Is_active field in books: YES
[15-Nov-2025 13:22:34 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:22:34 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:22:34 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:22:34 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:22:34 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:22:34 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:22:34 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:22:34 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:34 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:34 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:22:34 UTC] 📊 Database Info:
[15-Nov-2025 13:22:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:22:34 UTC]    Books columns count: 53
[15-Nov-2025 13:22:34 UTC]    Categories columns count: 7
[15-Nov-2025 13:22:34 UTC]    Language field in books: YES
[15-Nov-2025 13:22:34 UTC]    Format field in books: YES
[15-Nov-2025 13:22:34 UTC]    Description field in categories: YES
[15-Nov-2025 13:22:34 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:22:34 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:22:34 UTC]    Is_active field in books: YES
[15-Nov-2025 13:22:34 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:22:34 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:22:34 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:22:34 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:22:34 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:34 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:34 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:34 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:34 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:34 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:34 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:34 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:22:34 UTC] 📊 Database Info:
[15-Nov-2025 13:22:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:22:34 UTC]    Books columns count: 53
[15-Nov-2025 13:22:34 UTC]    Categories columns count: 7
[15-Nov-2025 13:22:34 UTC]    Language field in books: YES
[15-Nov-2025 13:22:34 UTC]    Format field in books: YES
[15-Nov-2025 13:22:34 UTC]    Description field in categories: YES
[15-Nov-2025 13:22:34 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:22:34 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:34 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:22:34 UTC]    Is_active field in books: YES
[15-Nov-2025 13:22:34 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:22:34 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:22:34 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:22:34 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:34 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:34 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:34 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:22:34 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:22:34 UTC] 📊 Database Info:
[15-Nov-2025 13:22:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:22:34 UTC]    Books columns count: 53
[15-Nov-2025 13:22:34 UTC]    Categories columns count: 7
[15-Nov-2025 13:22:34 UTC]    Language field in books: YES
[15-Nov-2025 13:22:34 UTC]    Format field in books: YES
[15-Nov-2025 13:22:34 UTC]    Description field in categories: YES
[15-Nov-2025 13:22:34 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:22:34 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:22:34 UTC]    Is_active field in books: YES
[15-Nov-2025 13:22:34 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:22:34 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:22:34 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:22:34 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:22:34 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:22:34 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:22:34 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:22:34 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:22:34 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:22:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:22:34 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:22:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:22:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:22:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:22:34 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 13:22:34 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:34 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:34 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:34 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:34 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:22:34 UTC] 📊 Database Info:
[15-Nov-2025 13:22:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:22:34 UTC]    Books columns count: 53
[15-Nov-2025 13:22:34 UTC]    Categories columns count: 7
[15-Nov-2025 13:22:34 UTC]    Language field in books: YES
[15-Nov-2025 13:22:34 UTC]    Format field in books: YES
[15-Nov-2025 13:22:34 UTC]    Description field in categories: YES
[15-Nov-2025 13:22:34 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:22:34 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:22:34 UTC]    Is_active field in books: YES
[15-Nov-2025 13:22:34 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:22:34 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:22:34 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:22:34 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:22:34 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:22:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:22:34 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:34 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:34 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:34 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:34 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:34 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:22:34 UTC] 📊 Database Info:
[15-Nov-2025 13:22:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:22:34 UTC]    Books columns count: 53
[15-Nov-2025 13:22:34 UTC]    Categories columns count: 7
[15-Nov-2025 13:22:34 UTC]    Language field in books: YES
[15-Nov-2025 13:22:34 UTC]    Format field in books: YES
[15-Nov-2025 13:22:34 UTC]    Description field in categories: YES
[15-Nov-2025 13:22:34 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:22:34 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:22:34 UTC]    Is_active field in books: YES
[15-Nov-2025 13:22:34 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:22:34 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:22:34 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:22:34 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:22:34 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:22:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:22:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:22:34 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 13:22:34 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 13:22:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:54 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:22:54 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:22:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:54 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:22:54 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:22:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:22:54 UTC] 📊 Database Info:
[15-Nov-2025 13:22:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:22:54 UTC]    Books columns count: 53
[15-Nov-2025 13:22:54 UTC]    Categories columns count: 7
[15-Nov-2025 13:22:54 UTC]    Language field in books: YES
[15-Nov-2025 13:22:54 UTC]    Format field in books: YES
[15-Nov-2025 13:22:54 UTC]    Description field in categories: YES
[15-Nov-2025 13:22:54 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:22:54 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:22:54 UTC]    Is_active field in books: YES
[15-Nov-2025 13:22:54 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:22:54 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:22:54 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:22:54 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:22:54 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:22:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:22:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:22:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:22:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:22:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:22:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:22:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:22:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:22:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:22:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:22:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:22:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:22:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:22:54 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:22:54 UTC] 📊 Database Info:
[15-Nov-2025 13:22:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:22:54 UTC]    Books columns count: 53
[15-Nov-2025 13:22:54 UTC]    Categories columns count: 7
[15-Nov-2025 13:22:54 UTC]    Language field in books: YES
[15-Nov-2025 13:22:54 UTC]    Format field in books: YES
[15-Nov-2025 13:22:54 UTC]    Description field in categories: YES
[15-Nov-2025 13:22:54 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:22:54 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:22:54 UTC]    Is_active field in books: YES
[15-Nov-2025 13:22:54 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:22:54 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:22:54 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:22:54 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:22:54 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:22:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:22:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:23:07 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:23:07 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:23:07 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:23:07 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:23:07 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:23:07 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:23:07 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:23:07 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:23:07 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:23:07 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:23:07 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:23:07 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:23:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:07 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:23:07 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:23:07 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:07 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:23:08 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:23:08 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:23:08 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:23:08 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:23:08 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:23:08 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:23:08 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:23:08 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:23:08 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:23:08 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:23:08 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:23:08 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:23:08 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:23:08 UTC] 📊 Database Info:
[15-Nov-2025 13:23:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:23:08 UTC]    Books columns count: 53
[15-Nov-2025 13:23:08 UTC]    Categories columns count: 7
[15-Nov-2025 13:23:08 UTC]    Language field in books: YES
[15-Nov-2025 13:23:08 UTC]    Format field in books: YES
[15-Nov-2025 13:23:08 UTC]    Description field in categories: YES
[15-Nov-2025 13:23:08 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:23:08 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:23:08 UTC]    Is_active field in books: YES
[15-Nov-2025 13:23:08 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:23:08 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:23:08 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:23:08 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:23:08 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:23:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:23:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:23:58 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:23:58 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:58 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:23:58 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:23:58 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:23:58 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:23:58 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:23:58 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:23:58 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:23:58 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:23:58 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:23:58 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:23:58 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:23:58 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:23:58 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:23:58 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:23:58 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:23:58 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:23:58 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:23:58 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:23:58 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:23:58 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:23:58 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:23:58 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:23:58 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:23:58 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:23:58 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:23:58 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:23:58 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:23:58 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:23:58 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:23:58 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:23:58 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:23:58 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:58 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:23:58 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:23:58 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:58 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:23:58 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:23:58 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:58 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:23:58 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:23:58 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:58 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:23:58 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:23:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:58 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:23:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:23:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:23:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:23:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:23:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:23:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:23:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:23:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:23:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:23:59 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:23:59 UTC] 📊 Database Info:
[15-Nov-2025 13:23:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:23:59 UTC]    Books columns count: 53
[15-Nov-2025 13:23:59 UTC]    Categories columns count: 7
[15-Nov-2025 13:23:59 UTC]    Language field in books: YES
[15-Nov-2025 13:23:59 UTC]    Format field in books: YES
[15-Nov-2025 13:23:59 UTC]    Description field in categories: YES
[15-Nov-2025 13:23:59 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:23:59 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:23:59 UTC]    Is_active field in books: YES
[15-Nov-2025 13:23:59 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:23:59 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:23:59 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:23:59 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:23:59 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:23:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:23:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:23:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:23:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:23:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:23:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:23:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:23:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:23:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:23:59 UTC] 📊 Database Info:
[15-Nov-2025 13:23:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:23:59 UTC]    Books columns count: 53
[15-Nov-2025 13:23:59 UTC]    Categories columns count: 7
[15-Nov-2025 13:23:59 UTC]    Language field in books: YES
[15-Nov-2025 13:23:59 UTC]    Format field in books: YES
[15-Nov-2025 13:23:59 UTC]    Description field in categories: YES
[15-Nov-2025 13:23:59 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:23:59 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:23:59 UTC]    Is_active field in books: YES
[15-Nov-2025 13:23:59 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:23:59 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:23:59 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:23:59 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:23:59 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:23:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:23:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:23:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:23:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:23:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:23:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:23:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:23:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:23:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:23:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:23:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:23:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:23:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:23:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:23:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:23:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:23:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:23:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:23:59 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:23:59 UTC] 📊 Database Info:
[15-Nov-2025 13:23:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:23:59 UTC]    Books columns count: 53
[15-Nov-2025 13:23:59 UTC]    Categories columns count: 7
[15-Nov-2025 13:23:59 UTC]    Language field in books: YES
[15-Nov-2025 13:23:59 UTC]    Format field in books: YES
[15-Nov-2025 13:23:59 UTC]    Description field in categories: YES
[15-Nov-2025 13:23:59 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:23:59 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:23:59 UTC]    Is_active field in books: YES
[15-Nov-2025 13:23:59 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:23:59 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:23:59 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:23:59 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:23:59 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:23:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:23:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:23:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:24:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:24:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:24:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:24:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:24:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:24:00 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:24:00 UTC] 📊 Database Info:
[15-Nov-2025 13:24:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:24:00 UTC]    Books columns count: 53
[15-Nov-2025 13:24:00 UTC]    Categories columns count: 7
[15-Nov-2025 13:24:00 UTC]    Language field in books: YES
[15-Nov-2025 13:24:00 UTC]    Format field in books: YES
[15-Nov-2025 13:24:00 UTC]    Description field in categories: YES
[15-Nov-2025 13:24:00 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:24:00 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:24:00 UTC]    Is_active field in books: YES
[15-Nov-2025 13:24:00 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:24:00 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:24:00 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:24:00 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:24:00 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:24:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:24:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:24:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:24:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:24:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:24:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:24:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:24:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:24:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:24:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:24:00 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:24:00 UTC] 📊 Database Info:
[15-Nov-2025 13:24:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:24:00 UTC]    Books columns count: 53
[15-Nov-2025 13:24:00 UTC]    Categories columns count: 7
[15-Nov-2025 13:24:00 UTC]    Language field in books: YES
[15-Nov-2025 13:24:00 UTC]    Format field in books: YES
[15-Nov-2025 13:24:00 UTC]    Description field in categories: YES
[15-Nov-2025 13:24:00 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:24:00 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:24:00 UTC]    Is_active field in books: YES
[15-Nov-2025 13:24:00 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:24:00 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:24:00 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:24:00 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:24:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:24:00 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:24:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:24:00 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 13:24:00 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 13:24:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:24:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:24:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:24:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:24:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:24:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:24:00 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:24:00 UTC] 📊 Database Info:
[15-Nov-2025 13:24:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:24:00 UTC]    Books columns count: 53
[15-Nov-2025 13:24:00 UTC]    Categories columns count: 7
[15-Nov-2025 13:24:00 UTC]    Language field in books: YES
[15-Nov-2025 13:24:00 UTC]    Format field in books: YES
[15-Nov-2025 13:24:00 UTC]    Description field in categories: YES
[15-Nov-2025 13:24:00 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:24:00 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:24:00 UTC]    Is_active field in books: YES
[15-Nov-2025 13:24:00 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:24:00 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:24:00 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:24:00 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:24:00 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:24:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:24:00 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 13:24:00 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:24:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:24:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:24:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:24:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:24:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:24:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:24:00 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:24:00 UTC] 📊 Database Info:
[15-Nov-2025 13:24:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:24:00 UTC]    Books columns count: 53
[15-Nov-2025 13:24:00 UTC]    Categories columns count: 7
[15-Nov-2025 13:24:00 UTC]    Language field in books: YES
[15-Nov-2025 13:24:00 UTC]    Format field in books: YES
[15-Nov-2025 13:24:00 UTC]    Description field in categories: YES
[15-Nov-2025 13:24:00 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:24:00 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:24:00 UTC]    Is_active field in books: YES
[15-Nov-2025 13:24:00 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:24:00 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:24:00 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:24:00 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:24:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:24:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:24:00 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:24:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:24:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:24:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:24:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:24:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:24:00 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:24:00 UTC] 📊 Database Info:
[15-Nov-2025 13:24:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:24:00 UTC]    Books columns count: 53
[15-Nov-2025 13:24:00 UTC]    Categories columns count: 7
[15-Nov-2025 13:24:00 UTC]    Language field in books: YES
[15-Nov-2025 13:24:00 UTC]    Format field in books: YES
[15-Nov-2025 13:24:00 UTC]    Description field in categories: YES
[15-Nov-2025 13:24:00 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:24:00 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:24:00 UTC]    Is_active field in books: YES
[15-Nov-2025 13:24:00 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:24:00 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:24:00 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:24:00 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:24:00 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:24:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:24:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:24:00 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 13:24:00 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 13:24:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:24:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:24:00 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:24:00 UTC] 📊 Database Info:
[15-Nov-2025 13:24:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:24:00 UTC]    Books columns count: 53
[15-Nov-2025 13:24:00 UTC]    Categories columns count: 7
[15-Nov-2025 13:24:00 UTC]    Language field in books: YES
[15-Nov-2025 13:24:00 UTC]    Format field in books: YES
[15-Nov-2025 13:24:00 UTC]    Description field in categories: YES
[15-Nov-2025 13:24:00 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:24:00 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:24:00 UTC]    Is_active field in books: YES
[15-Nov-2025 13:24:00 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:24:00 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:24:00 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:24:00 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:24:00 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:24:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:24:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:24:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:24:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:24:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:24:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:24:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:24:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:24:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:24:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:24:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:24:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:24:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:24:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:24:55 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:24:55 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:24:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:24:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:24:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:24:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:24:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:24:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:24:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:24:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:24:55 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:24:55 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:24:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:24:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:24:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:24:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:24:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:24:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:24:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:24:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:24:55 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:24:55 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:24:55 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:24:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:24:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:24:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:24:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:24:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:24:55 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:24:55 UTC] 📊 Database Info:
[15-Nov-2025 13:24:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:24:55 UTC]    Books columns count: 53
[15-Nov-2025 13:24:55 UTC]    Categories columns count: 7
[15-Nov-2025 13:24:55 UTC]    Language field in books: YES
[15-Nov-2025 13:24:55 UTC]    Format field in books: YES
[15-Nov-2025 13:24:55 UTC]    Description field in categories: YES
[15-Nov-2025 13:24:55 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:24:55 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:24:55 UTC]    Is_active field in books: YES
[15-Nov-2025 13:24:55 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:24:55 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:24:55 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:24:55 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:24:55 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:24:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:24:55 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 13:24:55 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:24:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:24:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:24:55 UTC] 📊 Database Info:
[15-Nov-2025 13:24:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:24:55 UTC]    Books columns count: 53
[15-Nov-2025 13:24:55 UTC]    Categories columns count: 7
[15-Nov-2025 13:24:55 UTC]    Language field in books: YES
[15-Nov-2025 13:24:55 UTC]    Format field in books: YES
[15-Nov-2025 13:24:55 UTC]    Description field in categories: YES
[15-Nov-2025 13:24:55 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:24:55 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:24:55 UTC]    Is_active field in books: YES
[15-Nov-2025 13:24:55 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:24:55 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:24:55 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:24:55 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:24:55 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:24:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:24:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:24:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:24:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:24:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:24:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:24:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:24:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:24:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:24:55 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:24:55 UTC] 📊 Database Info:
[15-Nov-2025 13:24:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:24:55 UTC]    Books columns count: 53
[15-Nov-2025 13:24:55 UTC]    Categories columns count: 7
[15-Nov-2025 13:24:55 UTC]    Language field in books: YES
[15-Nov-2025 13:24:55 UTC]    Format field in books: YES
[15-Nov-2025 13:24:55 UTC]    Description field in categories: YES
[15-Nov-2025 13:24:55 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:24:55 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:24:55 UTC]    Is_active field in books: YES
[15-Nov-2025 13:24:55 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:24:55 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:24:55 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:24:55 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:24:55 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:24:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:24:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 13:25:33 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:25:33 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:25:33 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:25:33 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:25:33 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:25:33 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:25:33 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:25:33 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:25:33 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:25:33 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:25:33 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:25:33 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:25:33 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:25:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:25:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:25:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 13:25:34 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 13:25:34 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 13:25:34 UTC] ℹ️ Column institution already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column language already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column format already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 13:25:34 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 13:25:34 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 13:25:34 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 13:25:34 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 13:25:34 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 13:25:34 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 13:25:34 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 13:25:34 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 13:25:34 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 13:25:34 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 13:25:34 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 13:25:34 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 13:25:34 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 13:25:34 UTC] 📊 Database Info:
[15-Nov-2025 13:25:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 13:25:34 UTC]    Books columns count: 53
[15-Nov-2025 13:25:34 UTC]    Categories columns count: 7
[15-Nov-2025 13:25:34 UTC]    Language field in books: YES
[15-Nov-2025 13:25:34 UTC]    Format field in books: YES
[15-Nov-2025 13:25:34 UTC]    Description field in categories: YES
[15-Nov-2025 13:25:34 UTC]    Display_order field in categories: YES
[15-Nov-2025 13:25:34 UTC]    Is_active field in categories: YES
[15-Nov-2025 13:25:34 UTC]    Is_active field in books: YES
[15-Nov-2025 13:25:34 UTC]    External_download_link field in books: YES
[15-Nov-2025 13:25:34 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 13:25:34 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 13:25:34 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 13:25:34 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 13:25:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 13:25:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 13:25:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 13:25:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 13:25:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 13:25:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 13:25:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 13:25:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 13:25:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 13:25:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 13:25:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 13:25:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 13:25:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:13:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:13:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:13:41 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:13:41 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:13:41 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:13:41 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:13:41 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:13:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:41 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:13:41 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:13:41 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:13:41 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:13:41 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:13:41 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:13:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:13:41 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:13:41 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:13:41 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:13:41 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:13:41 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:13:41 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:13:41 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:13:41 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:13:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:41 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:13:41 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:13:41 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:13:41 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:13:41 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:13:41 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:13:41 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:13:41 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:13:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:13:41 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:13:41 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:13:41 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:13:41 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:13:41 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:13:41 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:13:41 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:13:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:41 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:13:41 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:13:41 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:13:41 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:13:41 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:13:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:13:41 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:13:41 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:13:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:13:42 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:13:42 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:13:42 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:13:42 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:13:42 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:13:42 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:13:42 UTC] 📊 Database Info:
[15-Nov-2025 14:13:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:13:42 UTC]    Books columns count: 53
[15-Nov-2025 14:13:42 UTC]    Categories columns count: 7
[15-Nov-2025 14:13:42 UTC]    Language field in books: YES
[15-Nov-2025 14:13:42 UTC]    Format field in books: YES
[15-Nov-2025 14:13:42 UTC]    Description field in categories: YES
[15-Nov-2025 14:13:42 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:13:42 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:13:42 UTC]    Is_active field in books: YES
[15-Nov-2025 14:13:42 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:13:42 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:13:42 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:13:42 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:13:42 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:13:42 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:13:42 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:13:42 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:13:42 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:13:42 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:13:42 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:13:42 UTC] 📊 Database Info:
[15-Nov-2025 14:13:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:13:42 UTC]    Books columns count: 53
[15-Nov-2025 14:13:42 UTC]    Categories columns count: 7
[15-Nov-2025 14:13:42 UTC]    Language field in books: YES
[15-Nov-2025 14:13:42 UTC]    Format field in books: YES
[15-Nov-2025 14:13:42 UTC]    Description field in categories: YES
[15-Nov-2025 14:13:42 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:13:42 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:13:42 UTC]    Is_active field in books: YES
[15-Nov-2025 14:13:42 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:13:42 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:13:42 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:13:42 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:13:42 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:13:42 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:13:42 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:13:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:13:42 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:13:42 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:13:42 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:13:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:13:42 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:13:42 UTC] 📊 Database Info:
[15-Nov-2025 14:13:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:13:42 UTC]    Books columns count: 53
[15-Nov-2025 14:13:42 UTC]    Categories columns count: 7
[15-Nov-2025 14:13:42 UTC]    Language field in books: YES
[15-Nov-2025 14:13:42 UTC]    Format field in books: YES
[15-Nov-2025 14:13:42 UTC]    Description field in categories: YES
[15-Nov-2025 14:13:42 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:13:42 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:13:42 UTC]    Is_active field in books: YES
[15-Nov-2025 14:13:42 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:13:42 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:13:42 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:13:42 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:13:42 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:13:42 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:13:42 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:13:42 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:13:42 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:13:42 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:13:42 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:13:42 UTC] 📊 Database Info:
[15-Nov-2025 14:13:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:13:42 UTC]    Books columns count: 53
[15-Nov-2025 14:13:42 UTC]    Categories columns count: 7
[15-Nov-2025 14:13:42 UTC]    Language field in books: YES
[15-Nov-2025 14:13:42 UTC]    Format field in books: YES
[15-Nov-2025 14:13:42 UTC]    Description field in categories: YES
[15-Nov-2025 14:13:42 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:13:42 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:13:42 UTC]    Is_active field in books: YES
[15-Nov-2025 14:13:42 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:13:42 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:13:42 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:13:42 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:13:42 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:13:42 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:13:42 UTC] 📊 Database Info:
[15-Nov-2025 14:13:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:13:42 UTC]    Books columns count: 53
[15-Nov-2025 14:13:42 UTC]    Categories columns count: 7
[15-Nov-2025 14:13:42 UTC]    Language field in books: YES
[15-Nov-2025 14:13:42 UTC]    Format field in books: YES
[15-Nov-2025 14:13:42 UTC]    Description field in categories: YES
[15-Nov-2025 14:13:42 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:13:42 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:13:42 UTC]    Is_active field in books: YES
[15-Nov-2025 14:13:42 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:13:42 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:13:42 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:13:42 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:13:42 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:13:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:13:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:13:42 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:13:42 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:13:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:13:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:13:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:13:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:13:42 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:13:42 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:13:42 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:13:42 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:13:42 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:13:42 UTC] 📊 Database Info:
[15-Nov-2025 14:13:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:13:42 UTC]    Books columns count: 53
[15-Nov-2025 14:13:42 UTC]    Categories columns count: 7
[15-Nov-2025 14:13:42 UTC]    Language field in books: YES
[15-Nov-2025 14:13:42 UTC]    Format field in books: YES
[15-Nov-2025 14:13:42 UTC]    Description field in categories: YES
[15-Nov-2025 14:13:42 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:13:42 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:13:42 UTC]    Is_active field in books: YES
[15-Nov-2025 14:13:42 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:13:42 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:13:42 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:13:42 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:13:42 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:13:42 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:13:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:13:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:13:42 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:13:42 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:13:42 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:13:42 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:13:42 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:13:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:13:42 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:13:42 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:13:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:13:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:13:43 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:13:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:13:43 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:13:43 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:13:43 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:13:43 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:13:43 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:13:43 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:13:43 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:13:43 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:13:43 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:13:43 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:13:43 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:13:43 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:13:43 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:13:43 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:13:43 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:13:43 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:13:43 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:13:43 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:13:43 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:13:43 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:13:43 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:13:43 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:13:43 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:13:43 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:13:43 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:13:43 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:13:43 UTC] 📊 Database Info:
[15-Nov-2025 14:13:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:13:43 UTC]    Books columns count: 53
[15-Nov-2025 14:13:43 UTC]    Categories columns count: 7
[15-Nov-2025 14:13:43 UTC]    Language field in books: YES
[15-Nov-2025 14:13:43 UTC]    Format field in books: YES
[15-Nov-2025 14:13:43 UTC]    Description field in categories: YES
[15-Nov-2025 14:13:43 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:13:43 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:13:43 UTC]    Is_active field in books: YES
[15-Nov-2025 14:13:43 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:13:43 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:13:43 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:13:43 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:13:43 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:13:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:13:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:13:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:13:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:13:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:13:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:13:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:13:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:13:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:13:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:13:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:13:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:13:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:51 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:51 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:51 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:51 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:51 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:51 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:51 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:51 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:51 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:51 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:51 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:51 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:51 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:51 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:51 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:51 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:51 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:51 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:51 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:51 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:51 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:51 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:51 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:51 UTC] 📊 Database Info:
[15-Nov-2025 14:17:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:51 UTC]    Books columns count: 53
[15-Nov-2025 14:17:51 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:51 UTC]    Language field in books: YES
[15-Nov-2025 14:17:51 UTC]    Format field in books: YES
[15-Nov-2025 14:17:51 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:51 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:51 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:51 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:51 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:51 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:51 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:51 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:51 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:51 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:51 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:51 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:51 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:51 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:51 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:51 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:51 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:51 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:51 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:51 UTC] 📊 Database Info:
[15-Nov-2025 14:17:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:51 UTC]    Books columns count: 53
[15-Nov-2025 14:17:51 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:51 UTC]    Language field in books: YES
[15-Nov-2025 14:17:51 UTC]    Format field in books: YES
[15-Nov-2025 14:17:51 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:51 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:51 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:51 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:51 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:51 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:51 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:51 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:51 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:51 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:51 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:51 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:51 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:51 UTC] 📊 Database Info:
[15-Nov-2025 14:17:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:51 UTC]    Books columns count: 53
[15-Nov-2025 14:17:51 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:51 UTC]    Language field in books: YES
[15-Nov-2025 14:17:51 UTC]    Format field in books: YES
[15-Nov-2025 14:17:51 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:51 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:51 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:51 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:51 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:51 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:51 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:51 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:51 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:51 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:17:51 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:17:52 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:52 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:52 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:52 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:52 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:52 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:52 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:52 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:52 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:52 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:52 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:52 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:52 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:52 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:52 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:52 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:52 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:52 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:52 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:52 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:52 UTC] 📊 Database Info:
[15-Nov-2025 14:17:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:52 UTC]    Books columns count: 53
[15-Nov-2025 14:17:52 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:52 UTC]    Language field in books: YES
[15-Nov-2025 14:17:52 UTC]    Format field in books: YES
[15-Nov-2025 14:17:52 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:52 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:52 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:52 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:52 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:52 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:52 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:52 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:52 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:52 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:52 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:52 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:52 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:52 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:52 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:52 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:52 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:52 UTC] 📊 Database Info:
[15-Nov-2025 14:17:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:52 UTC]    Books columns count: 53
[15-Nov-2025 14:17:52 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:52 UTC]    Language field in books: YES
[15-Nov-2025 14:17:52 UTC]    Format field in books: YES
[15-Nov-2025 14:17:52 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:52 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:52 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:52 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:52 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:52 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:52 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:52 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:52 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:52 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:52 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:52 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:52 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:52 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:52 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:52 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:52 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:52 UTC] 📊 Database Info:
[15-Nov-2025 14:17:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:52 UTC]    Books columns count: 53
[15-Nov-2025 14:17:52 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:52 UTC]    Language field in books: YES
[15-Nov-2025 14:17:52 UTC]    Format field in books: YES
[15-Nov-2025 14:17:52 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:52 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:52 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:52 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:52 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:52 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:52 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:52 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:52 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:52 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:17:52 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:17:52 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:52 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:52 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:52 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:53 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:53 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:53 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:53 UTC] 📊 Database Info:
[15-Nov-2025 14:17:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:53 UTC]    Books columns count: 53
[15-Nov-2025 14:17:53 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:53 UTC]    Language field in books: YES
[15-Nov-2025 14:17:53 UTC]    Format field in books: YES
[15-Nov-2025 14:17:53 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:53 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:53 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:53 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:53 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:53 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:53 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:53 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:53 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:53 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:53 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:53 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:53 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:53 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:53 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:53 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:53 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:53 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:53 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:53 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:53 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:53 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:53 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:53 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:53 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:53 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:53 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:53 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:53 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:53 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:53 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:53 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:53 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:53 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:53 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:53 UTC] 📊 Database Info:
[15-Nov-2025 14:17:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:53 UTC]    Books columns count: 53
[15-Nov-2025 14:17:53 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:53 UTC]    Language field in books: YES
[15-Nov-2025 14:17:53 UTC]    Format field in books: YES
[15-Nov-2025 14:17:53 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:53 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:53 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:53 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:53 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:53 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:53 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:53 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:53 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:53 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:53 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:53 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:53 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:53 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:53 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:53 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:53 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:53 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:53 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:53 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:53 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:53 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:53 UTC] 📊 Database Info:
[15-Nov-2025 14:17:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:53 UTC]    Books columns count: 53
[15-Nov-2025 14:17:53 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:53 UTC]    Language field in books: YES
[15-Nov-2025 14:17:53 UTC]    Format field in books: YES
[15-Nov-2025 14:17:53 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:53 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:53 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:53 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:53 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:53 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:53 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:53 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:53 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:53 UTC] 📊 Database Info:
[15-Nov-2025 14:17:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:53 UTC]    Books columns count: 53
[15-Nov-2025 14:17:53 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:53 UTC]    Language field in books: YES
[15-Nov-2025 14:17:53 UTC]    Format field in books: YES
[15-Nov-2025 14:17:53 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:53 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:53 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:53 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:53 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:53 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:53 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:53 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:53 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:53 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:53 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:53 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:53 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:53 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:53 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:53 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:53 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:53 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:53 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:53 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:53 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:53 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:53 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:54 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:54 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:54 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:54 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:54 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:54 UTC] 📊 Database Info:
[15-Nov-2025 14:17:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:54 UTC]    Books columns count: 53
[15-Nov-2025 14:17:54 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:54 UTC]    Language field in books: YES
[15-Nov-2025 14:17:54 UTC]    Format field in books: YES
[15-Nov-2025 14:17:54 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:54 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:54 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:54 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:54 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:54 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:54 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:54 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:54 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:54 UTC] 📊 Database Info:
[15-Nov-2025 14:17:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:54 UTC]    Books columns count: 53
[15-Nov-2025 14:17:54 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:54 UTC]    Language field in books: YES
[15-Nov-2025 14:17:54 UTC]    Format field in books: YES
[15-Nov-2025 14:17:54 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:54 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:54 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:54 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:54 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:54 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:54 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:54 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:54 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:54 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:54 UTC] 📊 Database Info:
[15-Nov-2025 14:17:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:54 UTC]    Books columns count: 53
[15-Nov-2025 14:17:54 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:54 UTC]    Language field in books: YES
[15-Nov-2025 14:17:54 UTC]    Format field in books: YES
[15-Nov-2025 14:17:54 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:54 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:54 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:54 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:54 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:54 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:54 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:54 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:54 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:54 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:17:54 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:17:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:54 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:54 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:54 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:54 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:54 UTC] 📊 Database Info:
[15-Nov-2025 14:17:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:54 UTC]    Books columns count: 53
[15-Nov-2025 14:17:54 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:54 UTC]    Language field in books: YES
[15-Nov-2025 14:17:54 UTC]    Format field in books: YES
[15-Nov-2025 14:17:54 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:54 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:54 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:54 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:54 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:54 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:54 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:54 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:54 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:54 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:54 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:54 UTC] 📊 Database Info:
[15-Nov-2025 14:17:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:54 UTC]    Books columns count: 53
[15-Nov-2025 14:17:54 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:54 UTC]    Language field in books: YES
[15-Nov-2025 14:17:54 UTC]    Format field in books: YES
[15-Nov-2025 14:17:54 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:54 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:54 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:54 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:54 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:54 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:54 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:54 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:54 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:54 UTC] 📊 Database Info:
[15-Nov-2025 14:17:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:54 UTC]    Books columns count: 53
[15-Nov-2025 14:17:54 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:54 UTC]    Language field in books: YES
[15-Nov-2025 14:17:54 UTC]    Format field in books: YES
[15-Nov-2025 14:17:54 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:54 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:54 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:54 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:54 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:54 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:54 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:54 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:54 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:54 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:17:54 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:17:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:55 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:55 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:55 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:55 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:55 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:55 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:55 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:55 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:55 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:55 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:55 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:55 UTC] 📊 Database Info:
[15-Nov-2025 14:17:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:55 UTC]    Books columns count: 53
[15-Nov-2025 14:17:55 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:55 UTC]    Language field in books: YES
[15-Nov-2025 14:17:55 UTC]    Format field in books: YES
[15-Nov-2025 14:17:55 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:55 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:55 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:55 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:55 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:55 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:55 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:55 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:55 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:55 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:55 UTC] 📊 Database Info:
[15-Nov-2025 14:17:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:55 UTC]    Books columns count: 53
[15-Nov-2025 14:17:55 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:55 UTC]    Language field in books: YES
[15-Nov-2025 14:17:55 UTC]    Format field in books: YES
[15-Nov-2025 14:17:55 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:55 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:55 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:55 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:55 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:55 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:55 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:55 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:55 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:55 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:55 UTC] 📊 Database Info:
[15-Nov-2025 14:17:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:55 UTC]    Books columns count: 53
[15-Nov-2025 14:17:55 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:55 UTC]    Language field in books: YES
[15-Nov-2025 14:17:55 UTC]    Format field in books: YES
[15-Nov-2025 14:17:55 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:55 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:55 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:55 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:55 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:55 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:55 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:55 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:55 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:55 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:17:55 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:17:56 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:56 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:56 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:56 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:56 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:56 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:17:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:56 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:17:56 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:56 UTC] 📊 Database Info:
[15-Nov-2025 14:17:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:56 UTC]    Books columns count: 53
[15-Nov-2025 14:17:56 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:56 UTC]    Language field in books: YES
[15-Nov-2025 14:17:56 UTC]    Format field in books: YES
[15-Nov-2025 14:17:56 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:56 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:56 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:56 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:56 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:56 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:56 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:56 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:56 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:17:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:56 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:56 UTC] 📊 Database Info:
[15-Nov-2025 14:17:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:17:56 UTC]    Books columns count: 53
[15-Nov-2025 14:17:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:56 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:56 UTC]    Language field in books: YES
[15-Nov-2025 14:17:56 UTC]    Format field in books: YES
[15-Nov-2025 14:17:56 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:56 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:56 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:56 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:56 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:56 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:56 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:56 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:56 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:17:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:17:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:17:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:17:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:17:56 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:17:56 UTC] 📊 Database Info:
[15-Nov-2025 14:17:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:17:56 UTC]    Books columns count: 53
[15-Nov-2025 14:17:56 UTC]    Categories columns count: 7
[15-Nov-2025 14:17:56 UTC]    Language field in books: YES
[15-Nov-2025 14:17:56 UTC]    Format field in books: YES
[15-Nov-2025 14:17:56 UTC]    Description field in categories: YES
[15-Nov-2025 14:17:56 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:17:56 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:17:56 UTC]    Is_active field in books: YES
[15-Nov-2025 14:17:56 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:17:56 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:17:56 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:17:56 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:17:56 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:17:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:17:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:17:56 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:17:56 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:18:36 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:18:36 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:18:36 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:18:36 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:18:36 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:18:36 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:18:36 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:18:36 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:18:36 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:18:36 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:18:36 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:18:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:18:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:18:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:18:36 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:18:36 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:18:36 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:18:36 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:18:36 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:18:36 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:18:36 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:18:36 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:18:36 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:18:36 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:18:36 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:18:36 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:18:36 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:18:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:18:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:18:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:18:36 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:18:36 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:18:36 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:18:36 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:18:36 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:18:36 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:18:36 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:18:36 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:18:36 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:18:36 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:18:36 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:18:36 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:18:36 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:18:36 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:18:36 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:18:36 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:18:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:18:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:18:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:18:36 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:18:36 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:18:36 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:18:36 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:18:37 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:18:37 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:18:37 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:18:37 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:18:37 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:18:37 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:18:37 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:18:37 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:18:37 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:18:37 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:18:37 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:18:37 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:18:37 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:18:37 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:18:37 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:18:37 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:18:37 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:18:37 UTC] 📊 Database Info:
[15-Nov-2025 14:18:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:18:37 UTC]    Books columns count: 53
[15-Nov-2025 14:18:37 UTC]    Categories columns count: 7
[15-Nov-2025 14:18:37 UTC]    Language field in books: YES
[15-Nov-2025 14:18:37 UTC]    Format field in books: YES
[15-Nov-2025 14:18:37 UTC]    Description field in categories: YES
[15-Nov-2025 14:18:37 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:18:37 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:18:37 UTC]    Is_active field in books: YES
[15-Nov-2025 14:18:37 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:18:37 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:18:37 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:18:37 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:18:37 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:18:37 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:18:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:18:37 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:18:37 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:18:37 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:18:37 UTC] 📊 Database Info:
[15-Nov-2025 14:18:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:18:37 UTC]    Books columns count: 53
[15-Nov-2025 14:18:37 UTC]    Categories columns count: 7
[15-Nov-2025 14:18:37 UTC]    Language field in books: YES
[15-Nov-2025 14:18:37 UTC]    Format field in books: YES
[15-Nov-2025 14:18:37 UTC]    Description field in categories: YES
[15-Nov-2025 14:18:37 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:18:37 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:18:37 UTC]    Is_active field in books: YES
[15-Nov-2025 14:18:37 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:18:37 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:18:37 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:18:37 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:18:37 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:18:37 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:18:37 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:18:37 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:18:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:18:37 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:18:37 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:18:37 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:18:37 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:18:37 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:18:37 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:18:37 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:18:37 UTC] 📊 Database Info:
[15-Nov-2025 14:18:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:18:37 UTC]    Books columns count: 53
[15-Nov-2025 14:18:37 UTC]    Categories columns count: 7
[15-Nov-2025 14:18:37 UTC]    Language field in books: YES
[15-Nov-2025 14:18:37 UTC]    Format field in books: YES
[15-Nov-2025 14:18:37 UTC]    Description field in categories: YES
[15-Nov-2025 14:18:37 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:18:37 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:18:37 UTC]    Is_active field in books: YES
[15-Nov-2025 14:18:37 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:18:37 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:18:37 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:18:37 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:18:37 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:18:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:18:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:19:13 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:19:13 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:19:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:19:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:19:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:19:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:19:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:19:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:19:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:19:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:19:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:19:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:19:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:19:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:19:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:19:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:19:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:19:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:19:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:19:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:19:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:19:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:19:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:19:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:19:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:19:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:19:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:19:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:19:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:19:14 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:19:14 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:19:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:19:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:19:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:19:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:19:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:19:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:19:14 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:19:14 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:19:14 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:19:14 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:19:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:19:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:19:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:19:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:19:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:19:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:19:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:19:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:19:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:19:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:19:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:19:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:19:14 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:19:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:19:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:19:14 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:19:14 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:19:14 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:19:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:19:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:19:15 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:19:15 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:19:15 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:19:15 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:19:15 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:19:15 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:19:15 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:19:15 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:19:15 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:19:15 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:19:15 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:19:15 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:19:15 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:19:15 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:19:15 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:19:15 UTC] 📊 Database Info:
[15-Nov-2025 14:19:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:19:15 UTC]    Books columns count: 53
[15-Nov-2025 14:19:15 UTC]    Categories columns count: 7
[15-Nov-2025 14:19:15 UTC]    Language field in books: YES
[15-Nov-2025 14:19:15 UTC]    Format field in books: YES
[15-Nov-2025 14:19:15 UTC]    Description field in categories: YES
[15-Nov-2025 14:19:15 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:19:15 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:19:15 UTC]    Is_active field in books: YES
[15-Nov-2025 14:19:15 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:19:15 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:19:15 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:19:15 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:19:15 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:19:15 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:19:15 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:19:15 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:19:15 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:19:15 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:19:15 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:19:15 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:19:15 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:19:15 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:19:15 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:19:15 UTC] 📊 Database Info:
[15-Nov-2025 14:19:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:19:15 UTC]    Books columns count: 53
[15-Nov-2025 14:19:15 UTC]    Categories columns count: 7
[15-Nov-2025 14:19:15 UTC]    Language field in books: YES
[15-Nov-2025 14:19:15 UTC]    Format field in books: YES
[15-Nov-2025 14:19:15 UTC]    Description field in categories: YES
[15-Nov-2025 14:19:15 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:19:15 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:19:15 UTC]    Is_active field in books: YES
[15-Nov-2025 14:19:15 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:19:15 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:19:15 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:19:15 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:19:15 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:19:15 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:19:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:19:15 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:19:15 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:19:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:19:15 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:19:15 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:19:15 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:19:15 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:19:15 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:19:15 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:19:15 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:19:15 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:19:15 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:19:15 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:19:15 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:19:15 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:19:15 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:19:15 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:19:15 UTC] 📊 Database Info:
[15-Nov-2025 14:19:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:19:15 UTC]    Books columns count: 53
[15-Nov-2025 14:19:15 UTC]    Categories columns count: 7
[15-Nov-2025 14:19:15 UTC]    Language field in books: YES
[15-Nov-2025 14:19:15 UTC]    Format field in books: YES
[15-Nov-2025 14:19:15 UTC]    Description field in categories: YES
[15-Nov-2025 14:19:15 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:19:15 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:19:15 UTC]    Is_active field in books: YES
[15-Nov-2025 14:19:15 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:19:15 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:19:15 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:19:15 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:19:15 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:19:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:19:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:20:25 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:20:25 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:20:25 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:20:25 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:20:25 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:20:25 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:20:25 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:20:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:20:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:20:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:20:25 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:20:25 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:20:25 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:20:25 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:20:25 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:20:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:20:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:20:25 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:20:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:20:25 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:20:25 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:20:25 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:20:25 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:20:25 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:20:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:20:25 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:20:25 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:20:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:20:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:20:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:20:25 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:20:25 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:20:25 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:20:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:20:25 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:20:25 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:20:25 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:20:25 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:20:25 UTC] 📊 Database Info:
[15-Nov-2025 14:20:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:20:25 UTC]    Books columns count: 53
[15-Nov-2025 14:20:25 UTC]    Categories columns count: 7
[15-Nov-2025 14:20:25 UTC]    Language field in books: YES
[15-Nov-2025 14:20:25 UTC]    Format field in books: YES
[15-Nov-2025 14:20:25 UTC]    Description field in categories: YES
[15-Nov-2025 14:20:25 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:20:25 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:20:25 UTC]    Is_active field in books: YES
[15-Nov-2025 14:20:25 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:20:25 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:20:25 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:20:25 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:20:25 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:20:25 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:20:25 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:20:25 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:20:25 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:20:25 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:20:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:20:25 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:20:25 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:20:25 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:20:25 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:20:25 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:20:25 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:20:25 UTC] 📊 Database Info:
[15-Nov-2025 14:20:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:20:25 UTC]    Books columns count: 53
[15-Nov-2025 14:20:25 UTC]    Categories columns count: 7
[15-Nov-2025 14:20:25 UTC]    Language field in books: YES
[15-Nov-2025 14:20:25 UTC]    Format field in books: YES
[15-Nov-2025 14:20:25 UTC]    Description field in categories: YES
[15-Nov-2025 14:20:25 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:20:25 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:20:25 UTC]    Is_active field in books: YES
[15-Nov-2025 14:20:25 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:20:25 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:20:25 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:20:25 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:20:25 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:20:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:20:25 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:20:25 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:20:25 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:20:25 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:20:25 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:20:25 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:20:25 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:20:25 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:20:25 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:20:25 UTC] 📊 Database Info:
[15-Nov-2025 14:20:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:20:25 UTC]    Books columns count: 53
[15-Nov-2025 14:20:25 UTC]    Categories columns count: 7
[15-Nov-2025 14:20:25 UTC]    Language field in books: YES
[15-Nov-2025 14:20:25 UTC]    Format field in books: YES
[15-Nov-2025 14:20:25 UTC]    Description field in categories: YES
[15-Nov-2025 14:20:25 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:20:25 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:20:25 UTC]    Is_active field in books: YES
[15-Nov-2025 14:20:25 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:20:25 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:20:25 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:20:25 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:20:25 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:20:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:20:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:20:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:20:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:20:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:20:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:20:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:20:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:20:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:20:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:20:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:20:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:20:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:20:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:20:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:20:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:20:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:20:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:20:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:20:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:20:48 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:20:48 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:20:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:20:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:20:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:20:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:20:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:20:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:20:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:20:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:20:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:20:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:20:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:20:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:20:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:20:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:20:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:20:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:20:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:20:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:20:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:20:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:20:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:20:48 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:20:48 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:20:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:20:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:20:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:20:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:20:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:20:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:20:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:20:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:20:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:20:48 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:20:48 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:20:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:20:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:20:49 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:20:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:20:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:20:49 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:20:49 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:20:49 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:20:49 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:20:49 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:20:49 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:20:49 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:20:49 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:20:49 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:20:49 UTC] 📊 Database Info:
[15-Nov-2025 14:20:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:20:49 UTC]    Books columns count: 53
[15-Nov-2025 14:20:49 UTC]    Categories columns count: 7
[15-Nov-2025 14:20:49 UTC]    Language field in books: YES
[15-Nov-2025 14:20:49 UTC]    Format field in books: YES
[15-Nov-2025 14:20:49 UTC]    Description field in categories: YES
[15-Nov-2025 14:20:49 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:20:49 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:20:49 UTC]    Is_active field in books: YES
[15-Nov-2025 14:20:49 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:20:49 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:20:49 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:20:49 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:20:49 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:20:49 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:20:49 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:20:49 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:20:49 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:20:49 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:20:49 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:20:49 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:20:49 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:20:49 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:20:49 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:20:49 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:20:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:20:49 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:20:49 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:20:49 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:20:49 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:20:49 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:20:49 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:20:49 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:20:49 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:20:49 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:20:49 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:20:49 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:20:49 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:20:49 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:20:49 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:20:49 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:20:49 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:20:49 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:20:49 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:20:49 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:20:49 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:20:49 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:20:49 UTC] 📊 Database Info:
[15-Nov-2025 14:20:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:20:49 UTC]    Books columns count: 53
[15-Nov-2025 14:20:49 UTC]    Categories columns count: 7
[15-Nov-2025 14:20:49 UTC]    Language field in books: YES
[15-Nov-2025 14:20:49 UTC]    Format field in books: YES
[15-Nov-2025 14:20:49 UTC]    Description field in categories: YES
[15-Nov-2025 14:20:49 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:20:49 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:20:49 UTC]    Is_active field in books: YES
[15-Nov-2025 14:20:49 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:20:49 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:20:49 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:20:49 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:20:49 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:20:49 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:20:49 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:20:49 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:20:49 UTC] 📊 Database Info:
[15-Nov-2025 14:20:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:20:49 UTC]    Books columns count: 53
[15-Nov-2025 14:20:49 UTC]    Categories columns count: 7
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:20:49 UTC]    Language field in books: YES
[15-Nov-2025 14:20:49 UTC]    Format field in books: YES
[15-Nov-2025 14:20:49 UTC]    Description field in categories: YES
[15-Nov-2025 14:20:49 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:20:49 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:20:49 UTC]    Is_active field in books: YES
[15-Nov-2025 14:20:49 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:20:49 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:20:49 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:20:49 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:20:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:20:49 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:20:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:20:49 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:20:49 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:21:14 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:21:14 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:21:15 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:21:15 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:21:15 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:21:15 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:21:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:15 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:21:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:21:15 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:21:15 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:21:15 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:21:15 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:21:15 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:21:15 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:21:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:21:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:15 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:21:15 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:21:15 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:21:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:15 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:21:15 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:21:15 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:21:15 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:21:15 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:21:15 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:21:15 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:21:15 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:21:15 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:21:15 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:21:15 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:21:15 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:21:15 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:21:15 UTC] 📊 Database Info:
[15-Nov-2025 14:21:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:21:15 UTC]    Books columns count: 53
[15-Nov-2025 14:21:15 UTC]    Categories columns count: 7
[15-Nov-2025 14:21:15 UTC]    Language field in books: YES
[15-Nov-2025 14:21:15 UTC]    Format field in books: YES
[15-Nov-2025 14:21:15 UTC]    Description field in categories: YES
[15-Nov-2025 14:21:15 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:21:15 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:21:15 UTC]    Is_active field in books: YES
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:21:15 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:21:15 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:21:15 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:21:15 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:21:15 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:21:15 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:21:15 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:21:15 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:21:15 UTC] 📊 Database Info:
[15-Nov-2025 14:21:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:21:15 UTC]    Books columns count: 53
[15-Nov-2025 14:21:15 UTC]    Categories columns count: 7
[15-Nov-2025 14:21:15 UTC]    Language field in books: YES
[15-Nov-2025 14:21:15 UTC]    Format field in books: YES
[15-Nov-2025 14:21:15 UTC]    Description field in categories: YES
[15-Nov-2025 14:21:15 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:21:15 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:21:15 UTC]    Is_active field in books: YES
[15-Nov-2025 14:21:15 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:21:15 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:21:15 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:21:15 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:21:15 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:21:15 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:21:15 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:21:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:21:15 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:21:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:21:15 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:21:15 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:21:15 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:21:15 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:21:15 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:21:15 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:21:15 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:21:15 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:21:15 UTC] 📊 Database Info:
[15-Nov-2025 14:21:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:21:15 UTC]    Books columns count: 53
[15-Nov-2025 14:21:15 UTC]    Categories columns count: 7
[15-Nov-2025 14:21:15 UTC]    Language field in books: YES
[15-Nov-2025 14:21:15 UTC]    Format field in books: YES
[15-Nov-2025 14:21:15 UTC]    Description field in categories: YES
[15-Nov-2025 14:21:15 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:21:15 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:21:15 UTC]    Is_active field in books: YES
[15-Nov-2025 14:21:15 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:21:15 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:21:15 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:21:15 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:21:15 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:21:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:21:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:21:25 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:21:25 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:21:25 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:21:25 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:21:25 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:21:25 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:21:25 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:21:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:25 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:21:25 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:21:25 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:21:25 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:21:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:21:25 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:21:25 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:21:25 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:21:25 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:21:25 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:21:25 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:21:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:25 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:21:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:21:25 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:21:25 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:21:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:21:25 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:21:25 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:21:25 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:21:25 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:21:25 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:21:25 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:21:25 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:21:25 UTC] 📊 Database Info:
[15-Nov-2025 14:21:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:21:25 UTC]    Books columns count: 53
[15-Nov-2025 14:21:25 UTC]    Categories columns count: 7
[15-Nov-2025 14:21:25 UTC]    Language field in books: YES
[15-Nov-2025 14:21:25 UTC]    Format field in books: YES
[15-Nov-2025 14:21:25 UTC]    Description field in categories: YES
[15-Nov-2025 14:21:25 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:21:25 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:21:25 UTC]    Is_active field in books: YES
[15-Nov-2025 14:21:25 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:21:25 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:21:25 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:21:25 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:21:25 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:21:25 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:21:25 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:21:25 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:21:25 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:21:25 UTC] 📊 Database Info:
[15-Nov-2025 14:21:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:21:25 UTC]    Books columns count: 53
[15-Nov-2025 14:21:25 UTC]    Categories columns count: 7
[15-Nov-2025 14:21:25 UTC]    Language field in books: YES
[15-Nov-2025 14:21:25 UTC]    Format field in books: YES
[15-Nov-2025 14:21:25 UTC]    Description field in categories: YES
[15-Nov-2025 14:21:25 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:21:25 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:21:25 UTC]    Is_active field in books: YES
[15-Nov-2025 14:21:25 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:21:25 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:21:25 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:21:25 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:21:25 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:21:25 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:21:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:21:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:21:25 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:21:25 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:21:25 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:21:25 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:21:25 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:21:25 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:21:25 UTC] 📊 Database Info:
[15-Nov-2025 14:21:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:21:25 UTC]    Books columns count: 53
[15-Nov-2025 14:21:25 UTC]    Categories columns count: 7
[15-Nov-2025 14:21:25 UTC]    Language field in books: YES
[15-Nov-2025 14:21:25 UTC]    Format field in books: YES
[15-Nov-2025 14:21:25 UTC]    Description field in categories: YES
[15-Nov-2025 14:21:25 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:21:25 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:21:25 UTC]    Is_active field in books: YES
[15-Nov-2025 14:21:25 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:21:25 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:21:25 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:21:25 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:21:25 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:21:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:21:25 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:21:25 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:21:35 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:21:35 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:21:35 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:21:35 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:21:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:35 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:21:35 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:21:35 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:21:35 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:21:35 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:21:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:35 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:21:35 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:21:35 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:21:35 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:21:35 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:21:35 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:21:35 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:21:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:21:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:21:35 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:21:35 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:21:35 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:21:35 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:21:35 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:21:35 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:21:35 UTC] 📊 Database Info:
[15-Nov-2025 14:21:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:21:35 UTC]    Books columns count: 53
[15-Nov-2025 14:21:35 UTC]    Categories columns count: 7
[15-Nov-2025 14:21:35 UTC]    Language field in books: YES
[15-Nov-2025 14:21:35 UTC]    Format field in books: YES
[15-Nov-2025 14:21:35 UTC]    Description field in categories: YES
[15-Nov-2025 14:21:35 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:21:35 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:21:35 UTC]    Is_active field in books: YES
[15-Nov-2025 14:21:35 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:21:35 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:21:35 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:21:35 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:21:35 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:21:35 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:21:35 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:21:35 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:21:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:21:35 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:21:35 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:21:35 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:21:35 UTC] 📊 Database Info:
[15-Nov-2025 14:21:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:21:35 UTC]    Books columns count: 53
[15-Nov-2025 14:21:35 UTC]    Categories columns count: 7
[15-Nov-2025 14:21:35 UTC]    Language field in books: YES
[15-Nov-2025 14:21:35 UTC]    Format field in books: YES
[15-Nov-2025 14:21:35 UTC]    Description field in categories: YES
[15-Nov-2025 14:21:35 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:21:35 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:21:35 UTC]    Is_active field in books: YES
[15-Nov-2025 14:21:35 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:21:35 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:21:35 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:21:35 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:21:35 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:21:35 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:21:35 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:21:35 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:21:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:21:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:21:35 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:21:35 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:21:35 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:21:35 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:21:36 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:21:36 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:21:36 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:21:36 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:21:36 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:21:36 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:21:36 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:21:36 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:21:36 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:21:36 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:21:36 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:21:36 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:21:36 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:21:36 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:21:36 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:21:36 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:21:36 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:21:36 UTC] 📊 Database Info:
[15-Nov-2025 14:21:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:21:36 UTC]    Books columns count: 53
[15-Nov-2025 14:21:36 UTC]    Categories columns count: 7
[15-Nov-2025 14:21:36 UTC]    Language field in books: YES
[15-Nov-2025 14:21:36 UTC]    Format field in books: YES
[15-Nov-2025 14:21:36 UTC]    Description field in categories: YES
[15-Nov-2025 14:21:36 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:21:36 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:21:36 UTC]    Is_active field in books: YES
[15-Nov-2025 14:21:36 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:21:36 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:21:36 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:21:36 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:21:36 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:21:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:21:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:21:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:21:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:21:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:21:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:21:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:21:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:21:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:21:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:21:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:21:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:21:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:22:07 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:07 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:07 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:07 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:07 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:07 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:07 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:07 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:07 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:07 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:07 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:07 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:07 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:07 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:07 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:07 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:07 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:07 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:07 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:07 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:07 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:07 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:07 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:07 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:07 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:07 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:07 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:07 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:07 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:07 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:22:07 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:22:07 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:07 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:07 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:07 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:07 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:07 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:07 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:07 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:07 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:07 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:08 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:08 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:22:08 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:22:08 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:08 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:22:08 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:22:08 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:08 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:08 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:08 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:08 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:08 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:08 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:08 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:08 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:08 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:08 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:08 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:22:08 UTC] 📊 Database Info:
[15-Nov-2025 14:22:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:22:08 UTC]    Books columns count: 53
[15-Nov-2025 14:22:08 UTC]    Categories columns count: 7
[15-Nov-2025 14:22:08 UTC]    Language field in books: YES
[15-Nov-2025 14:22:08 UTC]    Format field in books: YES
[15-Nov-2025 14:22:08 UTC]    Description field in categories: YES
[15-Nov-2025 14:22:08 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:22:08 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:22:08 UTC]    Is_active field in books: YES
[15-Nov-2025 14:22:08 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:22:08 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:22:08 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:22:08 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:22:08 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:22:08 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:22:08 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:22:08 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:22:08 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:22:08 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:22:08 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:22:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:22:08 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:08 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:08 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:08 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:08 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:08 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:08 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:08 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:08 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:08 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:08 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:08 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:08 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:08 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:08 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:08 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:08 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:08 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:22:08 UTC] 📊 Database Info:
[15-Nov-2025 14:22:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:22:08 UTC]    Books columns count: 53
[15-Nov-2025 14:22:08 UTC]    Categories columns count: 7
[15-Nov-2025 14:22:08 UTC]    Language field in books: YES
[15-Nov-2025 14:22:08 UTC]    Format field in books: YES
[15-Nov-2025 14:22:08 UTC]    Description field in categories: YES
[15-Nov-2025 14:22:08 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:22:08 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:22:08 UTC]    Is_active field in books: YES
[15-Nov-2025 14:22:08 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:22:08 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:22:08 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:22:08 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:22:08 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:22:08 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:22:08 UTC] 📊 Database Info:
[15-Nov-2025 14:22:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:22:08 UTC]    Books columns count: 53
[15-Nov-2025 14:22:08 UTC]    Categories columns count: 7
[15-Nov-2025 14:22:08 UTC]    Language field in books: YES
[15-Nov-2025 14:22:08 UTC]    Format field in books: YES
[15-Nov-2025 14:22:08 UTC]    Description field in categories: YES
[15-Nov-2025 14:22:08 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:22:08 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:22:08 UTC]    Is_active field in books: YES
[15-Nov-2025 14:22:08 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:22:08 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:22:08 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:22:08 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:22:08 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:22:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:22:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:22:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:22:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:20 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:22:20 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:22:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:20 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:22:20 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:22:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:20 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:22:20 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:22:20 UTC] 📊 Database Info:
[15-Nov-2025 14:22:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:22:20 UTC]    Books columns count: 53
[15-Nov-2025 14:22:20 UTC]    Categories columns count: 7
[15-Nov-2025 14:22:20 UTC]    Language field in books: YES
[15-Nov-2025 14:22:20 UTC]    Format field in books: YES
[15-Nov-2025 14:22:20 UTC]    Description field in categories: YES
[15-Nov-2025 14:22:20 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:22:20 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:22:20 UTC]    Is_active field in books: YES
[15-Nov-2025 14:22:20 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:22:20 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:22:20 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:22:20 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:22:20 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:22:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:22:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:22:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:22:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:22:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:22:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:22:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:22:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:20 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:22:20 UTC] 📊 Database Info:
[15-Nov-2025 14:22:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:22:20 UTC]    Books columns count: 53
[15-Nov-2025 14:22:20 UTC]    Categories columns count: 7
[15-Nov-2025 14:22:20 UTC]    Language field in books: YES
[15-Nov-2025 14:22:20 UTC]    Format field in books: YES
[15-Nov-2025 14:22:20 UTC]    Description field in categories: YES
[15-Nov-2025 14:22:20 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:22:20 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:22:20 UTC]    Is_active field in books: YES
[15-Nov-2025 14:22:20 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:22:20 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:22:20 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:22:20 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:20 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:22:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:22:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:22:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:22:20 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:22:20 UTC] 📊 Database Info:
[15-Nov-2025 14:22:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:22:20 UTC]    Books columns count: 53
[15-Nov-2025 14:22:20 UTC]    Categories columns count: 7
[15-Nov-2025 14:22:20 UTC]    Language field in books: YES
[15-Nov-2025 14:22:20 UTC]    Format field in books: YES
[15-Nov-2025 14:22:20 UTC]    Description field in categories: YES
[15-Nov-2025 14:22:20 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:22:20 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:22:20 UTC]    Is_active field in books: YES
[15-Nov-2025 14:22:20 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:22:20 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:22:20 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:22:20 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:22:20 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:22:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:22:20 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:22:20 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:22:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:40 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:40 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:40 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:40 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:40 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:40 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:22:40 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:22:40 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:40 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:40 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:40 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:40 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:22:40 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:22:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:40 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:40 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:40 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:22:40 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:22:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:40 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:40 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:40 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:40 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:40 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:22:40 UTC] 📊 Database Info:
[15-Nov-2025 14:22:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:22:40 UTC]    Books columns count: 53
[15-Nov-2025 14:22:40 UTC]    Categories columns count: 7
[15-Nov-2025 14:22:40 UTC]    Language field in books: YES
[15-Nov-2025 14:22:40 UTC]    Format field in books: YES
[15-Nov-2025 14:22:40 UTC]    Description field in categories: YES
[15-Nov-2025 14:22:40 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:22:40 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:22:40 UTC]    Is_active field in books: YES
[15-Nov-2025 14:22:40 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:22:40 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:22:40 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:22:40 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:22:40 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:22:40 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:40 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:22:40 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:40 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:22:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:22:40 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:40 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:22:40 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:40 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:40 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:40 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:22:40 UTC] 📊 Database Info:
[15-Nov-2025 14:22:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:22:40 UTC]    Books columns count: 53
[15-Nov-2025 14:22:40 UTC]    Categories columns count: 7
[15-Nov-2025 14:22:40 UTC]    Language field in books: YES
[15-Nov-2025 14:22:40 UTC]    Format field in books: YES
[15-Nov-2025 14:22:40 UTC]    Description field in categories: YES
[15-Nov-2025 14:22:40 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:22:40 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:22:40 UTC]    Is_active field in books: YES
[15-Nov-2025 14:22:40 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:22:40 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:22:40 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:22:40 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:22:40 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:22:40 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:22:40 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:40 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:40 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:40 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:40 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:22:40 UTC] 📊 Database Info:
[15-Nov-2025 14:22:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:22:41 UTC]    Books columns count: 53
[15-Nov-2025 14:22:41 UTC]    Categories columns count: 7
[15-Nov-2025 14:22:41 UTC]    Language field in books: YES
[15-Nov-2025 14:22:41 UTC]    Format field in books: YES
[15-Nov-2025 14:22:41 UTC]    Description field in categories: YES
[15-Nov-2025 14:22:41 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:22:41 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:22:41 UTC]    Is_active field in books: YES
[15-Nov-2025 14:22:41 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:22:41 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:22:41 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:22:41 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:22:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:22:41 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:22:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:22:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:22:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:22:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:22:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:22:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:22:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:22:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:22:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:22:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:22:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:22:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:22:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:22:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:22:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:22:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:22:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:59 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:22:59 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:59 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:22:59 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:22:59 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:22:59 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:22:59 UTC] 📊 Database Info:
[15-Nov-2025 14:22:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:22:59 UTC]    Books columns count: 53
[15-Nov-2025 14:22:59 UTC]    Categories columns count: 7
[15-Nov-2025 14:22:59 UTC]    Language field in books: YES
[15-Nov-2025 14:22:59 UTC]    Format field in books: YES
[15-Nov-2025 14:22:59 UTC]    Description field in categories: YES
[15-Nov-2025 14:22:59 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:22:59 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:22:59 UTC]    Is_active field in books: YES
[15-Nov-2025 14:22:59 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:22:59 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:22:59 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:22:59 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:22:59 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:22:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:22:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:22:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:22:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:22:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:22:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:22:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:22:59 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:22:59 UTC] 📊 Database Info:
[15-Nov-2025 14:22:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:22:59 UTC]    Books columns count: 53
[15-Nov-2025 14:22:59 UTC]    Categories columns count: 7
[15-Nov-2025 14:22:59 UTC]    Language field in books: YES
[15-Nov-2025 14:22:59 UTC]    Format field in books: YES
[15-Nov-2025 14:22:59 UTC]    Description field in categories: YES
[15-Nov-2025 14:22:59 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:22:59 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:22:59 UTC]    Is_active field in books: YES
[15-Nov-2025 14:22:59 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:22:59 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:22:59 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:22:59 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:22:59 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:22:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:22:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:22:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:22:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:22:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:22:59 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:22:59 UTC] 📊 Database Info:
[15-Nov-2025 14:22:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:22:59 UTC]    Books columns count: 53
[15-Nov-2025 14:22:59 UTC]    Categories columns count: 7
[15-Nov-2025 14:22:59 UTC]    Language field in books: YES
[15-Nov-2025 14:22:59 UTC]    Format field in books: YES
[15-Nov-2025 14:22:59 UTC]    Description field in categories: YES
[15-Nov-2025 14:22:59 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:22:59 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:22:59 UTC]    Is_active field in books: YES
[15-Nov-2025 14:22:59 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:22:59 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:22:59 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:22:59 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:22:59 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:22:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:22:59 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:22:59 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:23:35 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:23:35 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:23:35 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:23:35 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:23:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:23:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:23:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:23:35 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:23:35 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:23:35 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:23:35 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:23:35 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:23:35 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:23:35 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:23:35 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:23:35 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:23:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:23:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:23:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:23:35 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:23:35 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:23:35 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:23:35 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:23:35 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:23:35 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:23:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:23:35 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:23:35 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:23:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:23:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:23:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:23:35 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:23:35 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:23:35 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:23:35 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:23:35 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:23:35 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:23:35 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:23:35 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:23:35 UTC] 📊 Database Info:
[15-Nov-2025 14:23:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:23:35 UTC]    Books columns count: 53
[15-Nov-2025 14:23:35 UTC]    Categories columns count: 7
[15-Nov-2025 14:23:35 UTC]    Language field in books: YES
[15-Nov-2025 14:23:35 UTC]    Format field in books: YES
[15-Nov-2025 14:23:35 UTC]    Description field in categories: YES
[15-Nov-2025 14:23:35 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:23:35 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:23:35 UTC]    Is_active field in books: YES
[15-Nov-2025 14:23:35 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:23:35 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:23:35 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:23:35 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:23:35 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:23:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:23:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:23:35 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:23:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:23:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:23:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:23:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:23:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:23:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:23:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:23:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:23:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:23:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:23:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:23:35 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:23:35 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:23:35 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:23:35 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:23:35 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:23:35 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:23:36 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:23:36 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:23:36 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:23:36 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:23:36 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:23:36 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:23:36 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:23:36 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:23:36 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:23:36 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:23:36 UTC] 📊 Database Info:
[15-Nov-2025 14:23:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:23:36 UTC]    Books columns count: 53
[15-Nov-2025 14:23:36 UTC]    Categories columns count: 7
[15-Nov-2025 14:23:36 UTC]    Language field in books: YES
[15-Nov-2025 14:23:36 UTC]    Format field in books: YES
[15-Nov-2025 14:23:36 UTC]    Description field in categories: YES
[15-Nov-2025 14:23:36 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:23:36 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:23:36 UTC]    Is_active field in books: YES
[15-Nov-2025 14:23:36 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:23:36 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:23:36 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:23:36 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:23:36 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:23:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:23:36 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:23:36 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:23:36 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:23:36 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:23:36 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:23:36 UTC] 📊 Database Info:
[15-Nov-2025 14:23:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:23:36 UTC]    Books columns count: 53
[15-Nov-2025 14:23:36 UTC]    Categories columns count: 7
[15-Nov-2025 14:23:36 UTC]    Language field in books: YES
[15-Nov-2025 14:23:36 UTC]    Format field in books: YES
[15-Nov-2025 14:23:36 UTC]    Description field in categories: YES
[15-Nov-2025 14:23:36 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:23:36 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:23:36 UTC]    Is_active field in books: YES
[15-Nov-2025 14:23:36 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:23:36 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:23:36 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:23:36 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:23:36 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:23:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:24:46 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:24:46 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:24:46 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:24:46 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:24:46 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:24:46 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:24:46 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:24:46 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:24:46 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:24:46 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:24:46 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:24:46 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:24:46 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:24:46 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:24:46 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:24:46 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:24:46 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:24:46 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:24:46 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:24:46 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:24:46 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:24:46 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:24:46 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:24:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:46 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:24:46 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:24:46 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:24:46 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:24:46 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:24:46 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:24:46 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:24:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:46 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:24:46 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:24:46 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:24:46 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:24:46 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:24:46 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:24:46 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:24:46 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:24:46 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:24:46 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:24:46 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:24:46 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:24:46 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:24:47 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:24:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:24:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:24:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:24:47 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:24:47 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:24:47 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:24:47 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:24:47 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:24:47 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:24:47 UTC] 📊 Database Info:
[15-Nov-2025 14:24:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:24:47 UTC]    Books columns count: 53
[15-Nov-2025 14:24:47 UTC]    Categories columns count: 7
[15-Nov-2025 14:24:47 UTC]    Language field in books: YES
[15-Nov-2025 14:24:47 UTC]    Format field in books: YES
[15-Nov-2025 14:24:47 UTC]    Description field in categories: YES
[15-Nov-2025 14:24:47 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:24:47 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:24:47 UTC]    Is_active field in books: YES
[15-Nov-2025 14:24:47 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:24:47 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:24:47 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:24:47 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:24:47 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:24:47 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:24:47 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:24:47 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:24:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:24:47 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:24:47 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:24:47 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:24:47 UTC] 📊 Database Info:
[15-Nov-2025 14:24:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:24:47 UTC]    Books columns count: 53
[15-Nov-2025 14:24:47 UTC]    Categories columns count: 7
[15-Nov-2025 14:24:47 UTC]    Language field in books: YES
[15-Nov-2025 14:24:47 UTC]    Format field in books: YES
[15-Nov-2025 14:24:47 UTC]    Description field in categories: YES
[15-Nov-2025 14:24:47 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:24:47 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:24:47 UTC]    Is_active field in books: YES
[15-Nov-2025 14:24:47 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:24:47 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:24:47 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:24:47 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:24:47 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:24:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:24:47 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:24:47 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:24:47 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:24:47 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:24:47 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:24:47 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:24:47 UTC] 📊 Database Info:
[15-Nov-2025 14:24:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:24:47 UTC]    Books columns count: 53
[15-Nov-2025 14:24:47 UTC]    Categories columns count: 7
[15-Nov-2025 14:24:47 UTC]    Language field in books: YES
[15-Nov-2025 14:24:47 UTC]    Format field in books: YES
[15-Nov-2025 14:24:47 UTC]    Description field in categories: YES
[15-Nov-2025 14:24:47 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:24:47 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:24:47 UTC]    Is_active field in books: YES
[15-Nov-2025 14:24:47 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:24:47 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:24:47 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:24:47 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:24:47 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:24:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:24:47 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:24:47 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:24:47 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:24:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:24:47 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:24:47 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:24:47 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:24:47 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:24:47 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:24:47 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:24:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:47 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:24:47 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:24:47 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:24:47 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:24:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:47 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:24:47 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:24:47 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:24:47 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:24:47 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:24:47 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:24:47 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:24:47 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:24:47 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:24:47 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:24:47 UTC] 📊 Database Info:
[15-Nov-2025 14:24:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:24:47 UTC]    Books columns count: 53
[15-Nov-2025 14:24:47 UTC]    Categories columns count: 7
[15-Nov-2025 14:24:47 UTC]    Language field in books: YES
[15-Nov-2025 14:24:47 UTC]    Format field in books: YES
[15-Nov-2025 14:24:47 UTC]    Description field in categories: YES
[15-Nov-2025 14:24:47 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:24:47 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:24:47 UTC]    Is_active field in books: YES
[15-Nov-2025 14:24:47 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:24:47 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:24:47 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:24:47 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:24:47 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:24:47 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:24:47 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:24:47 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:24:47 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:24:47 UTC] 📊 Database Info:
[15-Nov-2025 14:24:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:24:47 UTC]    Books columns count: 53
[15-Nov-2025 14:24:47 UTC]    Categories columns count: 7
[15-Nov-2025 14:24:47 UTC]    Language field in books: YES
[15-Nov-2025 14:24:47 UTC]    Format field in books: YES
[15-Nov-2025 14:24:47 UTC]    Description field in categories: YES
[15-Nov-2025 14:24:47 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:24:47 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:24:47 UTC]    Is_active field in books: YES
[15-Nov-2025 14:24:47 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:24:47 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:24:47 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:24:47 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:24:47 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:24:47 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:24:47 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:24:47 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:24:47 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:24:47 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:24:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:24:47 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:24:47 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:24:47 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:24:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:24:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:24:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:24:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:24:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:24:48 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:24:48 UTC] 📊 Database Info:
[15-Nov-2025 14:24:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:24:48 UTC]    Books columns count: 53
[15-Nov-2025 14:24:48 UTC]    Categories columns count: 7
[15-Nov-2025 14:24:48 UTC]    Language field in books: YES
[15-Nov-2025 14:24:48 UTC]    Format field in books: YES
[15-Nov-2025 14:24:48 UTC]    Description field in categories: YES
[15-Nov-2025 14:24:48 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:24:48 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:24:48 UTC]    Is_active field in books: YES
[15-Nov-2025 14:24:48 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:24:48 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:24:48 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:24:48 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:24:48 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:24:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:24:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:24:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:24:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:24:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:24:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:24:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:24:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:24:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:24:48 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:24:48 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:24:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:24:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:24:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:24:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:24:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:24:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:24:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:24:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:24:48 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:24:48 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:24:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:24:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:24:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:24:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:24:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:24:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:24:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:24:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:24:48 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:24:48 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:24:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:24:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:24:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:24:48 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:24:48 UTC] 📊 Database Info:
[15-Nov-2025 14:24:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:24:48 UTC]    Books columns count: 53
[15-Nov-2025 14:24:48 UTC]    Categories columns count: 7
[15-Nov-2025 14:24:48 UTC]    Language field in books: YES
[15-Nov-2025 14:24:48 UTC]    Format field in books: YES
[15-Nov-2025 14:24:48 UTC]    Description field in categories: YES
[15-Nov-2025 14:24:48 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:24:48 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:24:48 UTC]    Is_active field in books: YES
[15-Nov-2025 14:24:48 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:24:48 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:24:48 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:24:48 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:24:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:24:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:24:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:24:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:24:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:24:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:24:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:24:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:24:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:24:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:24:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:24:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:24:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:24:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:24:48 UTC] 📊 Database Info:
[15-Nov-2025 14:24:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:24:48 UTC]    Books columns count: 53
[15-Nov-2025 14:24:48 UTC]    Categories columns count: 7
[15-Nov-2025 14:24:48 UTC]    Language field in books: YES
[15-Nov-2025 14:24:48 UTC]    Format field in books: YES
[15-Nov-2025 14:24:48 UTC]    Description field in categories: YES
[15-Nov-2025 14:24:48 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:24:48 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:24:48 UTC]    Is_active field in books: YES
[15-Nov-2025 14:24:48 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:24:48 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:24:48 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:24:48 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:24:48 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:24:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:24:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:24:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:24:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:24:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:24:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:24:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:24:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:24:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:24:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:24:48 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:24:48 UTC] 📊 Database Info:
[15-Nov-2025 14:24:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:24:48 UTC]    Books columns count: 53
[15-Nov-2025 14:24:48 UTC]    Categories columns count: 7
[15-Nov-2025 14:24:48 UTC]    Language field in books: YES
[15-Nov-2025 14:24:48 UTC]    Format field in books: YES
[15-Nov-2025 14:24:48 UTC]    Description field in categories: YES
[15-Nov-2025 14:24:48 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:24:48 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:24:48 UTC]    Is_active field in books: YES
[15-Nov-2025 14:24:48 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:24:48 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:24:48 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:24:48 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:24:48 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:24:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:24:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:24:48 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:24:48 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:26:07 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:26:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:26:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:26:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:08 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:26:08 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:26:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:08 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:26:08 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:26:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:08 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:26:08 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:26:08 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:26:08 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:26:08 UTC] 📊 Database Info:
[15-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:26:08 UTC]    Books columns count: 53
[15-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[15-Nov-2025 14:26:08 UTC]    Language field in books: YES
[15-Nov-2025 14:26:08 UTC]    Format field in books: YES
[15-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[15-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[15-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:26:08 UTC] 📊 Database Info:
[15-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:26:08 UTC]    Books columns count: 53
[15-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[15-Nov-2025 14:26:08 UTC]    Language field in books: YES
[15-Nov-2025 14:26:08 UTC]    Format field in books: YES
[15-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[15-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[15-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:26:08 UTC] 📊 Database Info:
[15-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:26:08 UTC]    Books columns count: 53
[15-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[15-Nov-2025 14:26:08 UTC]    Language field in books: YES
[15-Nov-2025 14:26:08 UTC]    Format field in books: YES
[15-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[15-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[15-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:26:08 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:26:08 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:26:21 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:26:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:26:21 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:26:21 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:26:21 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:26:21 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:26:21 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:26:21 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:26:21 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:26:21 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:26:21 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:26:21 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:26:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:21 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:26:21 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:26:21 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:26:21 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:26:21 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:26:21 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:26:21 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:26:21 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:26:21 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:26:21 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:26:21 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:26:21 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:26:21 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:26:21 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:26:21 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:26:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:21 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:26:21 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:26:21 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:26:21 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:26:21 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:26:21 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:26:22 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:26:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:26:22 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:26:22 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:26:22 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:26:22 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:26:22 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:26:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:22 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:26:22 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:26:22 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:26:22 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:26:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:22 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:26:22 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:26:22 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:26:22 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:26:22 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:26:22 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:26:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:26:22 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:26:22 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:26:22 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:26:22 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:26:22 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:26:22 UTC] 📊 Database Info:
[15-Nov-2025 14:26:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:26:22 UTC]    Books columns count: 53
[15-Nov-2025 14:26:22 UTC]    Categories columns count: 7
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:26:22 UTC]    Language field in books: YES
[15-Nov-2025 14:26:22 UTC]    Format field in books: YES
[15-Nov-2025 14:26:22 UTC]    Description field in categories: YES
[15-Nov-2025 14:26:22 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:26:22 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:26:22 UTC]    Is_active field in books: YES
[15-Nov-2025 14:26:22 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:26:22 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:26:22 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:26:22 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:26:22 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:26:22 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:26:22 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:26:22 UTC] 📊 Database Info:
[15-Nov-2025 14:26:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:26:22 UTC]    Books columns count: 53
[15-Nov-2025 14:26:22 UTC]    Categories columns count: 7
[15-Nov-2025 14:26:22 UTC]    Language field in books: YES
[15-Nov-2025 14:26:22 UTC]    Format field in books: YES
[15-Nov-2025 14:26:22 UTC]    Description field in categories: YES
[15-Nov-2025 14:26:22 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:26:22 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:26:22 UTC]    Is_active field in books: YES
[15-Nov-2025 14:26:22 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:26:22 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:26:22 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:26:22 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:26:22 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:26:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:26:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:26:22 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:26:22 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:26:22 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:26:22 UTC] 📊 Database Info:
[15-Nov-2025 14:26:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:26:22 UTC]    Books columns count: 53
[15-Nov-2025 14:26:22 UTC]    Categories columns count: 7
[15-Nov-2025 14:26:22 UTC]    Language field in books: YES
[15-Nov-2025 14:26:22 UTC]    Format field in books: YES
[15-Nov-2025 14:26:22 UTC]    Description field in categories: YES
[15-Nov-2025 14:26:22 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:26:22 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:26:22 UTC]    Is_active field in books: YES
[15-Nov-2025 14:26:22 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:26:22 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:26:22 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:26:22 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:26:22 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:26:22 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:26:22 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:26:22 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:26:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:26:22 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:26:22 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:26:22 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:26:22 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:26:22 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:26:22 UTC] 📊 Database Info:
[15-Nov-2025 14:26:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:26:22 UTC]    Books columns count: 53
[15-Nov-2025 14:26:22 UTC]    Categories columns count: 7
[15-Nov-2025 14:26:22 UTC]    Language field in books: YES
[15-Nov-2025 14:26:22 UTC]    Format field in books: YES
[15-Nov-2025 14:26:22 UTC]    Description field in categories: YES
[15-Nov-2025 14:26:22 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:26:22 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:26:22 UTC]    Is_active field in books: YES
[15-Nov-2025 14:26:22 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:26:22 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:26:22 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:26:22 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:26:22 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:26:22 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:26:22 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:26:22 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:26:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:26:22 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:26:22 UTC] 📊 Database Info:
[15-Nov-2025 14:26:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:26:22 UTC]    Books columns count: 53
[15-Nov-2025 14:26:22 UTC]    Categories columns count: 7
[15-Nov-2025 14:26:22 UTC]    Language field in books: YES
[15-Nov-2025 14:26:22 UTC]    Format field in books: YES
[15-Nov-2025 14:26:22 UTC]    Description field in categories: YES
[15-Nov-2025 14:26:22 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:26:22 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:26:22 UTC]    Is_active field in books: YES
[15-Nov-2025 14:26:22 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:26:22 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:26:22 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:26:22 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:26:22 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:26:22 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:26:22 UTC] 📊 Database Info:
[15-Nov-2025 14:26:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:26:22 UTC]    Books columns count: 53
[15-Nov-2025 14:26:22 UTC]    Categories columns count: 7
[15-Nov-2025 14:26:22 UTC]    Language field in books: YES
[15-Nov-2025 14:26:22 UTC]    Format field in books: YES
[15-Nov-2025 14:26:22 UTC]    Description field in categories: YES
[15-Nov-2025 14:26:22 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:26:22 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:26:22 UTC]    Is_active field in books: YES
[15-Nov-2025 14:26:22 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:26:22 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:26:22 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:26:22 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:26:22 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:26:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:26:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:26:22 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:26:22 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:33:26 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:33:26 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:33:27 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:33:27 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:33:27 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:33:27 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:33:27 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:33:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:27 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:33:27 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:33:27 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:33:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:33:27 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:33:27 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:33:27 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:33:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:27 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:33:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:33:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:33:27 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:33:27 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:33:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:33:27 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:33:27 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:33:27 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:33:27 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:33:27 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:33:27 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:33:27 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:33:27 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:33:27 UTC] 📊 Database Info:
[15-Nov-2025 14:33:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:33:27 UTC]    Books columns count: 53
[15-Nov-2025 14:33:27 UTC]    Categories columns count: 7
[15-Nov-2025 14:33:27 UTC]    Language field in books: YES
[15-Nov-2025 14:33:27 UTC]    Format field in books: YES
[15-Nov-2025 14:33:27 UTC]    Description field in categories: YES
[15-Nov-2025 14:33:27 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:33:27 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:33:27 UTC]    Is_active field in books: YES
[15-Nov-2025 14:33:27 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:33:27 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:33:27 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:33:27 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:33:27 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:33:27 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:33:27 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:33:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:33:27 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:33:27 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:33:27 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:33:27 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:33:27 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:33:27 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:33:27 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:33:27 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:33:27 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:33:27 UTC] 📊 Database Info:
[15-Nov-2025 14:33:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:33:27 UTC]    Books columns count: 53
[15-Nov-2025 14:33:27 UTC]    Categories columns count: 7
[15-Nov-2025 14:33:27 UTC]    Language field in books: YES
[15-Nov-2025 14:33:27 UTC]    Format field in books: YES
[15-Nov-2025 14:33:27 UTC]    Description field in categories: YES
[15-Nov-2025 14:33:27 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:33:27 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:33:27 UTC]    Is_active field in books: YES
[15-Nov-2025 14:33:27 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:33:27 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:33:27 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:33:27 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:33:27 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:33:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:33:27 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:33:27 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:33:27 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:33:27 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:33:27 UTC] 📊 Database Info:
[15-Nov-2025 14:33:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:33:27 UTC]    Books columns count: 53
[15-Nov-2025 14:33:27 UTC]    Categories columns count: 7
[15-Nov-2025 14:33:27 UTC]    Language field in books: YES
[15-Nov-2025 14:33:27 UTC]    Format field in books: YES
[15-Nov-2025 14:33:27 UTC]    Description field in categories: YES
[15-Nov-2025 14:33:27 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:33:27 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:33:27 UTC]    Is_active field in books: YES
[15-Nov-2025 14:33:27 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:33:27 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:33:27 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:33:27 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:33:27 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:33:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:33:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:33:46 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:33:46 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:33:46 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:33:46 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:33:46 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:33:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:33:46 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:33:46 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:33:46 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:33:46 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:33:46 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:33:46 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:33:46 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:33:46 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:33:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:46 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:33:46 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:33:46 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:33:46 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:33:46 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:33:46 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:33:46 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:33:46 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:33:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:46 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:33:46 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:33:46 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:33:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:33:46 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:33:46 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:33:46 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:33:46 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:33:46 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:33:46 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:33:46 UTC] 📊 Database Info:
[15-Nov-2025 14:33:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:33:46 UTC]    Books columns count: 53
[15-Nov-2025 14:33:46 UTC]    Categories columns count: 7
[15-Nov-2025 14:33:46 UTC]    Language field in books: YES
[15-Nov-2025 14:33:46 UTC]    Format field in books: YES
[15-Nov-2025 14:33:46 UTC]    Description field in categories: YES
[15-Nov-2025 14:33:46 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:33:46 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:33:46 UTC]    Is_active field in books: YES
[15-Nov-2025 14:33:46 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:33:46 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:33:46 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:33:46 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:33:46 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:33:46 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:33:46 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:33:46 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:33:46 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:33:46 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:33:46 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:33:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:33:46 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:33:46 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:33:46 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:33:46 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:33:46 UTC] 📊 Database Info:
[15-Nov-2025 14:33:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:33:46 UTC]    Books columns count: 53
[15-Nov-2025 14:33:46 UTC]    Categories columns count: 7
[15-Nov-2025 14:33:46 UTC]    Language field in books: YES
[15-Nov-2025 14:33:46 UTC]    Format field in books: YES
[15-Nov-2025 14:33:46 UTC]    Description field in categories: YES
[15-Nov-2025 14:33:46 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:33:46 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:33:46 UTC]    Is_active field in books: YES
[15-Nov-2025 14:33:46 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:33:46 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:33:46 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:33:46 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:33:46 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:33:46 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:33:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:33:46 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:33:46 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:33:46 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:33:46 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:33:46 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:33:46 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:33:46 UTC] 📊 Database Info:
[15-Nov-2025 14:33:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:33:46 UTC]    Books columns count: 53
[15-Nov-2025 14:33:46 UTC]    Categories columns count: 7
[15-Nov-2025 14:33:46 UTC]    Language field in books: YES
[15-Nov-2025 14:33:46 UTC]    Format field in books: YES
[15-Nov-2025 14:33:46 UTC]    Description field in categories: YES
[15-Nov-2025 14:33:46 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:33:46 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:33:46 UTC]    Is_active field in books: YES
[15-Nov-2025 14:33:46 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:33:46 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:33:46 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:33:46 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:33:46 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:33:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:33:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:33:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:33:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:33:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:33:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:33:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:33:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:33:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:33:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:33:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:33:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:33:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:33:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:33:54 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:33:54 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:33:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:33:54 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:33:54 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:33:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:33:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:33:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:33:54 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:33:54 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:33:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:33:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:33:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:33:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:33:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:33:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:33:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:33:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:33:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:33:54 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:33:54 UTC] 📊 Database Info:
[15-Nov-2025 14:33:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:33:54 UTC]    Books columns count: 53
[15-Nov-2025 14:33:54 UTC]    Categories columns count: 7
[15-Nov-2025 14:33:54 UTC]    Language field in books: YES
[15-Nov-2025 14:33:54 UTC]    Format field in books: YES
[15-Nov-2025 14:33:54 UTC]    Description field in categories: YES
[15-Nov-2025 14:33:54 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:33:54 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:33:54 UTC]    Is_active field in books: YES
[15-Nov-2025 14:33:54 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:33:54 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:33:54 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:33:54 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:33:54 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:33:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:33:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:33:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:33:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:33:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:33:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:33:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:33:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:33:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:33:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:33:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:33:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:33:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:33:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:33:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:33:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:33:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:33:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:33:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:33:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:33:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:33:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:33:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:33:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:33:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:33:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:33:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:33:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:33:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:33:55 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:33:55 UTC] 📊 Database Info:
[15-Nov-2025 14:33:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:33:55 UTC]    Books columns count: 53
[15-Nov-2025 14:33:55 UTC]    Categories columns count: 7
[15-Nov-2025 14:33:55 UTC]    Language field in books: YES
[15-Nov-2025 14:33:55 UTC]    Format field in books: YES
[15-Nov-2025 14:33:55 UTC]    Description field in categories: YES
[15-Nov-2025 14:33:55 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:33:55 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:33:55 UTC]    Is_active field in books: YES
[15-Nov-2025 14:33:55 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:33:55 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:33:55 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:33:55 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:33:55 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:33:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:33:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:33:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:33:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:33:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:33:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:33:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:33:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:33:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:33:55 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:33:55 UTC] 📊 Database Info:
[15-Nov-2025 14:33:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:33:55 UTC]    Books columns count: 53
[15-Nov-2025 14:33:55 UTC]    Categories columns count: 7
[15-Nov-2025 14:33:55 UTC]    Language field in books: YES
[15-Nov-2025 14:33:55 UTC]    Format field in books: YES
[15-Nov-2025 14:33:55 UTC]    Description field in categories: YES
[15-Nov-2025 14:33:55 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:33:55 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:33:55 UTC]    Is_active field in books: YES
[15-Nov-2025 14:33:55 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:33:55 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:33:55 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:33:55 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:33:55 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:33:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:33:55 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:33:55 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:35:06 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:35:06 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:35:06 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:35:06 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:35:06 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:35:06 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:35:06 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:35:06 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:35:06 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:35:06 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:35:06 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:35:06 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:35:06 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:35:06 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:35:06 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:35:06 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:35:06 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:35:07 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:35:07 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:35:07 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:35:07 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:35:07 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:35:07 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:35:07 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:35:07 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:35:07 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:35:07 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:35:07 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:35:07 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:35:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:35:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:35:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:35:07 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:35:07 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:35:07 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:35:07 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:35:07 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:35:07 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:35:07 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:35:07 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:35:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:35:07 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:35:08 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:35:08 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:35:08 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:35:08 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:35:08 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:35:08 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:35:08 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:35:08 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:35:08 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:35:08 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:35:08 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:35:08 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:35:08 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:35:08 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:35:08 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:35:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:35:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:35:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:35:08 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:35:08 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:35:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:35:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:35:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:35:08 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:35:08 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:35:08 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:35:08 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:35:08 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:35:08 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:35:08 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:35:08 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:35:08 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:35:08 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:35:08 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:35:08 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:35:08 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:35:08 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:35:08 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:35:08 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:35:08 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:35:08 UTC] 📊 Database Info:
[15-Nov-2025 14:35:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:35:08 UTC]    Books columns count: 53
[15-Nov-2025 14:35:08 UTC]    Categories columns count: 7
[15-Nov-2025 14:35:08 UTC]    Language field in books: YES
[15-Nov-2025 14:35:08 UTC]    Format field in books: YES
[15-Nov-2025 14:35:08 UTC]    Description field in categories: YES
[15-Nov-2025 14:35:08 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:35:08 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:35:08 UTC]    Is_active field in books: YES
[15-Nov-2025 14:35:08 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:35:08 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:35:08 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:35:08 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:35:08 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:35:08 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:35:08 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:35:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:35:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:35:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:35:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:35:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:35:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:35:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:35:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:35:09 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:35:09 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:35:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:35:09 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:35:09 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:35:09 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:35:09 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:35:09 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:35:09 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:35:09 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:35:09 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:35:09 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:35:09 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:35:09 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:35:09 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:35:09 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:35:09 UTC] 📊 Database Info:
[15-Nov-2025 14:35:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:35:09 UTC]    Books columns count: 53
[15-Nov-2025 14:35:09 UTC]    Categories columns count: 7
[15-Nov-2025 14:35:09 UTC]    Language field in books: YES
[15-Nov-2025 14:35:09 UTC]    Format field in books: YES
[15-Nov-2025 14:35:09 UTC]    Description field in categories: YES
[15-Nov-2025 14:35:09 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:35:09 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:35:09 UTC]    Is_active field in books: YES
[15-Nov-2025 14:35:09 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:35:09 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:35:09 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:35:09 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:35:09 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:35:09 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:35:09 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:35:09 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:35:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:35:09 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:35:09 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:35:09 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:35:09 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:35:09 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:35:09 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:35:09 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:35:09 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:35:09 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:35:09 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:35:09 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:35:09 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:35:09 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:35:09 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:35:09 UTC] 📊 Database Info:
[15-Nov-2025 14:35:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:35:09 UTC]    Books columns count: 53
[15-Nov-2025 14:35:09 UTC]    Categories columns count: 7
[15-Nov-2025 14:35:09 UTC]    Language field in books: YES
[15-Nov-2025 14:35:09 UTC]    Format field in books: YES
[15-Nov-2025 14:35:09 UTC]    Description field in categories: YES
[15-Nov-2025 14:35:09 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:35:09 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:35:09 UTC]    Is_active field in books: YES
[15-Nov-2025 14:35:09 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:35:09 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:35:09 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:35:09 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:35:09 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:35:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:35:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:37:53 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:37:53 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:37:53 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:37:53 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:37:53 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:37:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:37:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:37:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:37:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:37:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:37:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:37:54 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:37:54 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:37:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:37:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:37:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:37:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:37:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:37:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:37:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:37:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:37:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:37:54 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:37:54 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:37:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:37:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:37:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:37:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:37:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:37:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:37:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:37:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:37:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:37:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:37:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:37:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:37:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:37:54 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:37:54 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:37:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:37:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:37:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:37:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:37:54 UTC] 📊 Database Info:
[15-Nov-2025 14:37:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:37:54 UTC]    Books columns count: 53
[15-Nov-2025 14:37:54 UTC]    Categories columns count: 7
[15-Nov-2025 14:37:54 UTC]    Language field in books: YES
[15-Nov-2025 14:37:54 UTC]    Format field in books: YES
[15-Nov-2025 14:37:54 UTC]    Description field in categories: YES
[15-Nov-2025 14:37:54 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:37:54 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:37:54 UTC]    Is_active field in books: YES
[15-Nov-2025 14:37:54 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:37:54 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:37:54 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:37:54 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:37:54 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:37:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:37:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:37:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:37:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:37:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:37:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:37:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:37:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:37:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:37:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:37:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:37:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:37:54 UTC] 📊 Database Info:
[15-Nov-2025 14:37:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:37:54 UTC]    Books columns count: 53
[15-Nov-2025 14:37:54 UTC]    Categories columns count: 7
[15-Nov-2025 14:37:54 UTC]    Language field in books: YES
[15-Nov-2025 14:37:54 UTC]    Format field in books: YES
[15-Nov-2025 14:37:54 UTC]    Description field in categories: YES
[15-Nov-2025 14:37:54 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:37:54 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:37:54 UTC]    Is_active field in books: YES
[15-Nov-2025 14:37:54 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:37:54 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:37:54 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:37:54 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:37:54 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:37:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:37:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:37:54 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:37:54 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:37:54 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:37:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:37:54 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:37:54 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:37:54 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:37:54 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:37:54 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:37:54 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:37:54 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:37:54 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:37:54 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:37:54 UTC] 📊 Database Info:
[15-Nov-2025 14:37:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:37:54 UTC]    Books columns count: 53
[15-Nov-2025 14:37:54 UTC]    Categories columns count: 7
[15-Nov-2025 14:37:54 UTC]    Language field in books: YES
[15-Nov-2025 14:37:54 UTC]    Format field in books: YES
[15-Nov-2025 14:37:54 UTC]    Description field in categories: YES
[15-Nov-2025 14:37:54 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:37:54 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:37:54 UTC]    Is_active field in books: YES
[15-Nov-2025 14:37:54 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:37:54 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:37:54 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:37:54 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:37:54 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:37:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:37:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:37:54 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:37:54 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:38:56 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:38:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:38:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:38:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:38:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:38:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:38:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:38:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:38:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:38:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:38:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:38:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:38:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:38:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:38:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:38:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:38:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:38:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:38:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:38:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:38:57 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:38:57 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:38:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:38:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:38:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:38:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:38:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:38:57 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:38:57 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:38:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:38:57 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:38:57 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:38:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:38:57 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:38:57 UTC] 📊 Database Info:
[15-Nov-2025 14:38:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:38:57 UTC]    Books columns count: 53
[15-Nov-2025 14:38:57 UTC]    Categories columns count: 7
[15-Nov-2025 14:38:57 UTC]    Language field in books: YES
[15-Nov-2025 14:38:57 UTC]    Format field in books: YES
[15-Nov-2025 14:38:57 UTC]    Description field in categories: YES
[15-Nov-2025 14:38:57 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:38:57 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:38:57 UTC]    Is_active field in books: YES
[15-Nov-2025 14:38:57 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:38:57 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:38:57 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:38:57 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:38:57 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:38:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:38:57 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:38:57 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:38:57 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:38:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:38:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:38:57 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:38:57 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:38:57 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:38:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:38:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:38:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:38:57 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:38:57 UTC] 📊 Database Info:
[15-Nov-2025 14:38:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:38:57 UTC]    Books columns count: 53
[15-Nov-2025 14:38:57 UTC]    Categories columns count: 7
[15-Nov-2025 14:38:57 UTC]    Language field in books: YES
[15-Nov-2025 14:38:57 UTC]    Format field in books: YES
[15-Nov-2025 14:38:57 UTC]    Description field in categories: YES
[15-Nov-2025 14:38:57 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:38:57 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:38:57 UTC]    Is_active field in books: YES
[15-Nov-2025 14:38:57 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:38:57 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:38:57 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:38:57 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:38:57 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:38:57 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:38:57 UTC] 📊 Database Info:
[15-Nov-2025 14:38:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:38:57 UTC]    Books columns count: 53
[15-Nov-2025 14:38:57 UTC]    Categories columns count: 7
[15-Nov-2025 14:38:57 UTC]    Language field in books: YES
[15-Nov-2025 14:38:57 UTC]    Format field in books: YES
[15-Nov-2025 14:38:57 UTC]    Description field in categories: YES
[15-Nov-2025 14:38:57 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:38:57 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:38:57 UTC]    Is_active field in books: YES
[15-Nov-2025 14:38:57 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:38:57 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:38:57 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:38:57 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:38:57 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:38:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:38:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:38:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:38:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:38:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:38:57 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:38:57 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:38:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:38:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:38:57 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:38:57 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:38:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:38:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:38:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:38:57 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:38:57 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:38:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:38:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:38:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:38:57 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:38:57 UTC] 📊 Database Info:
[15-Nov-2025 14:38:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:38:57 UTC]    Books columns count: 53
[15-Nov-2025 14:38:57 UTC]    Categories columns count: 7
[15-Nov-2025 14:38:57 UTC]    Language field in books: YES
[15-Nov-2025 14:38:57 UTC]    Format field in books: YES
[15-Nov-2025 14:38:57 UTC]    Description field in categories: YES
[15-Nov-2025 14:38:57 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:38:57 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:38:57 UTC]    Is_active field in books: YES
[15-Nov-2025 14:38:57 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:38:57 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:38:57 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:38:57 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:38:57 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:38:57 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:38:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:38:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:38:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:38:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:38:57 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:38:57 UTC] 📊 Database Info:
[15-Nov-2025 14:38:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:38:57 UTC]    Books columns count: 53
[15-Nov-2025 14:38:57 UTC]    Categories columns count: 7
[15-Nov-2025 14:38:57 UTC]    Language field in books: YES
[15-Nov-2025 14:38:57 UTC]    Format field in books: YES
[15-Nov-2025 14:38:57 UTC]    Description field in categories: YES
[15-Nov-2025 14:38:57 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:38:57 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:38:57 UTC]    Is_active field in books: YES
[15-Nov-2025 14:38:57 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:38:57 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:38:57 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:38:57 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:38:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:38:57 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:38:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:38:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:38:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:38:57 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:38:57 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:38:57 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:38:57 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:38:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:38:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:38:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:38:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:38:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:38:57 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:38:57 UTC] 📊 Database Info:
[15-Nov-2025 14:38:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:38:57 UTC]    Books columns count: 53
[15-Nov-2025 14:38:57 UTC]    Categories columns count: 7
[15-Nov-2025 14:38:57 UTC]    Language field in books: YES
[15-Nov-2025 14:38:57 UTC]    Format field in books: YES
[15-Nov-2025 14:38:57 UTC]    Description field in categories: YES
[15-Nov-2025 14:38:57 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:38:57 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:38:57 UTC]    Is_active field in books: YES
[15-Nov-2025 14:38:57 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:38:57 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:38:57 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:38:57 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:38:57 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:38:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:38:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:38:58 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:38:58 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:38:58 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:38:58 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:38:58 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:38:58 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:38:58 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:38:58 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:38:58 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:38:58 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:38:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:58 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:38:58 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:38:58 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:38:58 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:38:58 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:38:58 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:38:58 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:38:58 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:38:58 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:38:58 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:38:58 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:38:58 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:38:58 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:38:58 UTC] 📊 Database Info:
[15-Nov-2025 14:38:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:38:58 UTC]    Books columns count: 53
[15-Nov-2025 14:38:58 UTC]    Categories columns count: 7
[15-Nov-2025 14:38:58 UTC]    Language field in books: YES
[15-Nov-2025 14:38:58 UTC]    Format field in books: YES
[15-Nov-2025 14:38:58 UTC]    Description field in categories: YES
[15-Nov-2025 14:38:58 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:38:58 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:38:58 UTC]    Is_active field in books: YES
[15-Nov-2025 14:38:58 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:38:58 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:38:58 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:38:58 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:38:58 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:38:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:38:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:38:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:38:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:38:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:38:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:38:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:38:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:38:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:38:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:38:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:38:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:38:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:38:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:38:58 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:38:58 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:38:58 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:38:58 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:38:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:38:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:38:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:38:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:38:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:59 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:38:59 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:38:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:38:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:38:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:38:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:38:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:38:59 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:38:59 UTC] 📊 Database Info:
[15-Nov-2025 14:38:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:38:59 UTC]    Books columns count: 53
[15-Nov-2025 14:38:59 UTC]    Categories columns count: 7
[15-Nov-2025 14:38:59 UTC]    Language field in books: YES
[15-Nov-2025 14:38:59 UTC]    Format field in books: YES
[15-Nov-2025 14:38:59 UTC]    Description field in categories: YES
[15-Nov-2025 14:38:59 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:38:59 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:38:59 UTC]    Is_active field in books: YES
[15-Nov-2025 14:38:59 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:38:59 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:38:59 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:38:59 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:38:59 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:38:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:38:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:38:59 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:38:59 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:38:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:38:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:38:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:38:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:38:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:38:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:38:59 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:38:59 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:38:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:38:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:38:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:38:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:38:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:38:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:38:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:38:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:38:59 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:38:59 UTC] 📊 Database Info:
[15-Nov-2025 14:38:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:38:59 UTC]    Books columns count: 53
[15-Nov-2025 14:38:59 UTC]    Categories columns count: 7
[15-Nov-2025 14:38:59 UTC]    Language field in books: YES
[15-Nov-2025 14:38:59 UTC]    Format field in books: YES
[15-Nov-2025 14:38:59 UTC]    Description field in categories: YES
[15-Nov-2025 14:38:59 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:38:59 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:38:59 UTC]    Is_active field in books: YES
[15-Nov-2025 14:38:59 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:38:59 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:38:59 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:38:59 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:38:59 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:38:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:38:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:38:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:38:59 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:38:59 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:40:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:40:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:40:43 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:40:43 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:40:43 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:40:43 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:40:43 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:40:43 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:40:43 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:40:43 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:40:43 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:40:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:40:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:40:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:40:43 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:40:43 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:40:43 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:40:43 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:40:43 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:40:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:40:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:40:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:40:43 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:40:43 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:40:43 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:40:43 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:40:43 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:40:43 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:40:43 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:40:43 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:40:43 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:40:43 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:40:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:40:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:40:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:40:43 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:40:43 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:40:43 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:40:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:40:43 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:40:43 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:40:43 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:40:43 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:40:43 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:40:43 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:40:43 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:40:43 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:40:43 UTC] 📊 Database Info:
[15-Nov-2025 14:40:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:40:43 UTC]    Books columns count: 53
[15-Nov-2025 14:40:43 UTC]    Categories columns count: 7
[15-Nov-2025 14:40:43 UTC]    Language field in books: YES
[15-Nov-2025 14:40:43 UTC]    Format field in books: YES
[15-Nov-2025 14:40:43 UTC]    Description field in categories: YES
[15-Nov-2025 14:40:43 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:40:43 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:40:43 UTC]    Is_active field in books: YES
[15-Nov-2025 14:40:43 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:40:43 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:40:43 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:40:43 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:40:43 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:40:43 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:40:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:40:43 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:40:43 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:40:43 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:40:43 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:40:43 UTC] 📊 Database Info:
[15-Nov-2025 14:40:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:40:43 UTC]    Books columns count: 53
[15-Nov-2025 14:40:43 UTC]    Categories columns count: 7
[15-Nov-2025 14:40:43 UTC]    Language field in books: YES
[15-Nov-2025 14:40:43 UTC]    Format field in books: YES
[15-Nov-2025 14:40:43 UTC]    Description field in categories: YES
[15-Nov-2025 14:40:43 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:40:43 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:40:43 UTC]    Is_active field in books: YES
[15-Nov-2025 14:40:43 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:40:43 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:40:43 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:40:43 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:40:43 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:40:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:40:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:40:43 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:40:43 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:40:43 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:40:43 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:40:43 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:40:43 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:40:43 UTC] 📊 Database Info:
[15-Nov-2025 14:40:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:40:43 UTC]    Books columns count: 53
[15-Nov-2025 14:40:43 UTC]    Categories columns count: 7
[15-Nov-2025 14:40:43 UTC]    Language field in books: YES
[15-Nov-2025 14:40:43 UTC]    Format field in books: YES
[15-Nov-2025 14:40:43 UTC]    Description field in categories: YES
[15-Nov-2025 14:40:43 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:40:43 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:40:43 UTC]    Is_active field in books: YES
[15-Nov-2025 14:40:43 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:40:43 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:40:43 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:40:43 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:40:43 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:40:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:40:43 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:40:43 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:40:44 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:40:44 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:40:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:40:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:40:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:40:44 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:40:44 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:40:44 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:40:44 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:40:44 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:40:44 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:40:44 UTC] 📊 Database Info:
[15-Nov-2025 14:40:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:40:44 UTC]    Books columns count: 53
[15-Nov-2025 14:40:44 UTC]    Categories columns count: 7
[15-Nov-2025 14:40:44 UTC]    Language field in books: YES
[15-Nov-2025 14:40:44 UTC]    Format field in books: YES
[15-Nov-2025 14:40:44 UTC]    Description field in categories: YES
[15-Nov-2025 14:40:44 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:40:44 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:40:44 UTC]    Is_active field in books: YES
[15-Nov-2025 14:40:44 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:40:44 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:40:44 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:40:44 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:40:44 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:40:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:40:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:40:44 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:40:44 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:40:44 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:40:44 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:40:44 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:40:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:40:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:40:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:40:44 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:40:44 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:40:44 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:40:44 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:40:44 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:40:44 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:40:44 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:40:44 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:40:44 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:40:44 UTC] 📊 Database Info:
[15-Nov-2025 14:40:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:40:44 UTC]    Books columns count: 53
[15-Nov-2025 14:40:44 UTC]    Categories columns count: 7
[15-Nov-2025 14:40:44 UTC]    Language field in books: YES
[15-Nov-2025 14:40:44 UTC]    Format field in books: YES
[15-Nov-2025 14:40:44 UTC]    Description field in categories: YES
[15-Nov-2025 14:40:44 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:40:44 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:40:44 UTC]    Is_active field in books: YES
[15-Nov-2025 14:40:44 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:40:44 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:40:44 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:40:44 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:40:44 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:40:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:40:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:40:44 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:40:44 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:41:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:04 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:04 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:04 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:04 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:04 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:04 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:04 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:04 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:04 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:04 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:04 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:04 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:04 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:04 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:04 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:04 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:04 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:04 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:04 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:04 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:04 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:04 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:41:04 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:41:04 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:04 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:04 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:04 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:41:04 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:41:04 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:04 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:05 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:41:05 UTC] 📊 Database Info:
[15-Nov-2025 14:41:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:41:05 UTC]    Books columns count: 53
[15-Nov-2025 14:41:05 UTC]    Categories columns count: 7
[15-Nov-2025 14:41:05 UTC]    Language field in books: YES
[15-Nov-2025 14:41:05 UTC]    Format field in books: YES
[15-Nov-2025 14:41:05 UTC]    Description field in categories: YES
[15-Nov-2025 14:41:05 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:41:05 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:41:05 UTC]    Is_active field in books: YES
[15-Nov-2025 14:41:05 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:41:05 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:41:05 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:41:05 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:41:05 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:41:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:41:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:05 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:41:05 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:41:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:41:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:41:05 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:41:05 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:41:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:05 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:41:05 UTC] 📊 Database Info:
[15-Nov-2025 14:41:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:41:05 UTC]    Books columns count: 53
[15-Nov-2025 14:41:05 UTC]    Categories columns count: 7
[15-Nov-2025 14:41:05 UTC]    Language field in books: YES
[15-Nov-2025 14:41:05 UTC]    Format field in books: YES
[15-Nov-2025 14:41:05 UTC]    Description field in categories: YES
[15-Nov-2025 14:41:05 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:41:05 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:41:05 UTC]    Is_active field in books: YES
[15-Nov-2025 14:41:05 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:41:05 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:41:05 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:41:05 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:41:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:41:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:41:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:41:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:41:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:41:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:41:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:05 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:41:05 UTC] 📊 Database Info:
[15-Nov-2025 14:41:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:41:05 UTC]    Books columns count: 53
[15-Nov-2025 14:41:05 UTC]    Categories columns count: 7
[15-Nov-2025 14:41:05 UTC]    Language field in books: YES
[15-Nov-2025 14:41:05 UTC]    Format field in books: YES
[15-Nov-2025 14:41:05 UTC]    Description field in categories: YES
[15-Nov-2025 14:41:05 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:41:05 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:41:05 UTC]    Is_active field in books: YES
[15-Nov-2025 14:41:05 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:41:05 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:41:05 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:41:05 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:41:05 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:41:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:41:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:41:05 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:06 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:06 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:06 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:06 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:06 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:41:06 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:41:06 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:06 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:06 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:06 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:06 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:06 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:41:06 UTC] 📊 Database Info:
[15-Nov-2025 14:41:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:41:06 UTC]    Books columns count: 53
[15-Nov-2025 14:41:06 UTC]    Categories columns count: 7
[15-Nov-2025 14:41:06 UTC]    Language field in books: YES
[15-Nov-2025 14:41:06 UTC]    Format field in books: YES
[15-Nov-2025 14:41:06 UTC]    Description field in categories: YES
[15-Nov-2025 14:41:06 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:41:06 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:41:06 UTC]    Is_active field in books: YES
[15-Nov-2025 14:41:06 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:41:06 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:41:06 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:41:06 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:41:06 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:41:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:41:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:41:06 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:41:06 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:41:06 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:06 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:06 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:06 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:06 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:06 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:41:06 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:41:06 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:06 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:06 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:06 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:06 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:06 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:06 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:06 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:06 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:41:06 UTC] 📊 Database Info:
[15-Nov-2025 14:41:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:41:06 UTC]    Books columns count: 53
[15-Nov-2025 14:41:06 UTC]    Categories columns count: 7
[15-Nov-2025 14:41:06 UTC]    Language field in books: YES
[15-Nov-2025 14:41:06 UTC]    Format field in books: YES
[15-Nov-2025 14:41:06 UTC]    Description field in categories: YES
[15-Nov-2025 14:41:06 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:41:06 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:41:06 UTC]    Is_active field in books: YES
[15-Nov-2025 14:41:06 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:41:06 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:41:06 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:41:06 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:41:06 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:41:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:41:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:41:06 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:41:06 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:41:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:42 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:42 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:42 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:42 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:42 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:42 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:42 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:42 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:42 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:42 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:41:42 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:41:42 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:42 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:42 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:42 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:42 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:42 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:42 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:42 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:42 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:42 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:42 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:42 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:41:42 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:41:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:42 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:42 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:42 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:42 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:42 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:42 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:42 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:42 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:42 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:41:42 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:43 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:43 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:43 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:43 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:43 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:43 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:43 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:43 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:43 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:43 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:43 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:43 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:43 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:43 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:43 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:43 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:43 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:43 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:43 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:43 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:43 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:43 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:43 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:43 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:43 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:43 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:41:43 UTC] 📊 Database Info:
[15-Nov-2025 14:41:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:41:43 UTC]    Books columns count: 53
[15-Nov-2025 14:41:43 UTC]    Categories columns count: 7
[15-Nov-2025 14:41:43 UTC]    Language field in books: YES
[15-Nov-2025 14:41:43 UTC]    Format field in books: YES
[15-Nov-2025 14:41:43 UTC]    Description field in categories: YES
[15-Nov-2025 14:41:43 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:41:43 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:41:43 UTC]    Is_active field in books: YES
[15-Nov-2025 14:41:43 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:41:43 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:41:43 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:41:43 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:41:43 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:41:43 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:41:43 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:43 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:43 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:41:43 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:43 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:41:43 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:43 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:41:43 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:43 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:43 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:43 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:43 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:43 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:43 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:43 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:41:43 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:43 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:43 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:41:43 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:43 UTC] 📊 Database Info:
[15-Nov-2025 14:41:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:41:43 UTC]    Books columns count: 53
[15-Nov-2025 14:41:43 UTC]    Categories columns count: 7
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:41:43 UTC]    Language field in books: YES
[15-Nov-2025 14:41:43 UTC]    Format field in books: YES
[15-Nov-2025 14:41:43 UTC]    Description field in categories: YES
[15-Nov-2025 14:41:43 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:41:43 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:41:43 UTC]    Is_active field in books: YES
[15-Nov-2025 14:41:43 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:41:43 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:41:43 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:41:43 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:41:43 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:41:43 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:41:43 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:41:43 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:41:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:41:43 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:41:43 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:41:43 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:41:43 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:41:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:41:43 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:43 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:43 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:43 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:43 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:43 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:43 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:43 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:43 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:43 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:43 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:43 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:43 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:43 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:41:43 UTC] 📊 Database Info:
[15-Nov-2025 14:41:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:41:43 UTC]    Books columns count: 53
[15-Nov-2025 14:41:43 UTC]    Categories columns count: 7
[15-Nov-2025 14:41:43 UTC]    Language field in books: YES
[15-Nov-2025 14:41:43 UTC]    Format field in books: YES
[15-Nov-2025 14:41:43 UTC]    Description field in categories: YES
[15-Nov-2025 14:41:43 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:41:43 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:41:43 UTC]    Is_active field in books: YES
[15-Nov-2025 14:41:43 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:41:43 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:41:43 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:41:43 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:41:43 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:41:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:41:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:41:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:41:43 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:41:43 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:41:44 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:44 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:44 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:45 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:45 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:45 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:45 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:41:45 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:41:45 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:45 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:45 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:45 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:45 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:45 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:41:45 UTC] 📊 Database Info:
[15-Nov-2025 14:41:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:41:45 UTC]    Books columns count: 53
[15-Nov-2025 14:41:45 UTC]    Categories columns count: 7
[15-Nov-2025 14:41:45 UTC]    Language field in books: YES
[15-Nov-2025 14:41:45 UTC]    Format field in books: YES
[15-Nov-2025 14:41:45 UTC]    Description field in categories: YES
[15-Nov-2025 14:41:45 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:41:45 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:41:45 UTC]    Is_active field in books: YES
[15-Nov-2025 14:41:45 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:41:45 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:41:45 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:41:45 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:41:45 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:41:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:41:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:41:45 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:41:45 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:41:45 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:45 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:45 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:45 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:45 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:41:45 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:41:45 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:41:45 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:41:45 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:41:45 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:41:45 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:41:45 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:41:45 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:41:45 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:41:45 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:41:45 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:41:45 UTC] 📊 Database Info:
[15-Nov-2025 14:41:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:41:45 UTC]    Books columns count: 53
[15-Nov-2025 14:41:45 UTC]    Categories columns count: 7
[15-Nov-2025 14:41:45 UTC]    Language field in books: YES
[15-Nov-2025 14:41:45 UTC]    Format field in books: YES
[15-Nov-2025 14:41:45 UTC]    Description field in categories: YES
[15-Nov-2025 14:41:45 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:41:45 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:41:45 UTC]    Is_active field in books: YES
[15-Nov-2025 14:41:45 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:41:45 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:41:45 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:41:45 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:41:45 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:41:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:41:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:41:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:41:45 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:41:45 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:42:50 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:42:50 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:42:50 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:42:50 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:42:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:42:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:42:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:42:50 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:42:50 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:42:50 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:42:50 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:42:50 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:42:50 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:42:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:42:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:42:50 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:42:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:42:50 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:42:50 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:42:50 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:42:50 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:42:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:42:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:42:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:42:50 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:42:50 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:42:50 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:42:50 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:42:50 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:42:50 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:42:50 UTC] 📊 Database Info:
[15-Nov-2025 14:42:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:42:50 UTC]    Books columns count: 53
[15-Nov-2025 14:42:50 UTC]    Categories columns count: 7
[15-Nov-2025 14:42:50 UTC]    Language field in books: YES
[15-Nov-2025 14:42:50 UTC]    Format field in books: YES
[15-Nov-2025 14:42:50 UTC]    Description field in categories: YES
[15-Nov-2025 14:42:50 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:42:50 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:42:50 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:42:50 UTC]    Is_active field in books: YES
[15-Nov-2025 14:42:50 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:42:50 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:42:50 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:42:50 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:42:50 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:42:50 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:42:50 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:42:50 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:42:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:42:50 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:42:50 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:42:50 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:42:50 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:42:50 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:42:50 UTC] 📊 Database Info:
[15-Nov-2025 14:42:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:42:50 UTC]    Books columns count: 53
[15-Nov-2025 14:42:50 UTC]    Categories columns count: 7
[15-Nov-2025 14:42:50 UTC]    Language field in books: YES
[15-Nov-2025 14:42:50 UTC]    Format field in books: YES
[15-Nov-2025 14:42:50 UTC]    Description field in categories: YES
[15-Nov-2025 14:42:50 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:42:50 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:42:50 UTC]    Is_active field in books: YES
[15-Nov-2025 14:42:50 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:42:50 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:42:50 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:42:50 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:42:50 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:42:50 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:42:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:42:50 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:42:50 UTC] 📊 Database Info:
[15-Nov-2025 14:42:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:42:50 UTC]    Books columns count: 53
[15-Nov-2025 14:42:50 UTC]    Categories columns count: 7
[15-Nov-2025 14:42:50 UTC]    Language field in books: YES
[15-Nov-2025 14:42:50 UTC]    Format field in books: YES
[15-Nov-2025 14:42:50 UTC]    Description field in categories: YES
[15-Nov-2025 14:42:50 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:42:50 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:42:50 UTC]    Is_active field in books: YES
[15-Nov-2025 14:42:50 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:42:50 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:42:50 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:42:50 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:42:50 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:42:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:42:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:42:50 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:42:50 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:42:51 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:42:51 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:42:51 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:42:51 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:42:51 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:42:51 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:42:51 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:42:51 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:42:51 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:42:51 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:42:51 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:42:51 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:42:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:42:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:42:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:42:51 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:42:51 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:42:51 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:42:51 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:42:51 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:42:51 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:42:51 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:42:51 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:42:51 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:42:51 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:42:51 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:42:51 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:42:51 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:42:51 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:42:51 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:42:51 UTC] 📊 Database Info:
[15-Nov-2025 14:42:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:42:51 UTC]    Books columns count: 53
[15-Nov-2025 14:42:51 UTC]    Categories columns count: 7
[15-Nov-2025 14:42:51 UTC]    Language field in books: YES
[15-Nov-2025 14:42:51 UTC]    Format field in books: YES
[15-Nov-2025 14:42:51 UTC]    Description field in categories: YES
[15-Nov-2025 14:42:51 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:42:51 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:42:51 UTC]    Is_active field in books: YES
[15-Nov-2025 14:42:51 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:42:51 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:42:51 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:42:51 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:42:51 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:42:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:42:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:42:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:42:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:42:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:42:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:42:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:42:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:42:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:42:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:42:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:42:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:42:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:42:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:42:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:42:51 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:42:51 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:42:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:42:52 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:42:52 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:42:52 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:42:52 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:42:52 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:42:52 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:42:52 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:42:52 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:42:52 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:42:52 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:42:52 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:42:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:42:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:42:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:42:52 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:42:52 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:42:52 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:42:52 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:42:52 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:42:52 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:42:52 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:42:52 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:42:52 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:42:52 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:42:52 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:42:52 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:42:52 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:42:52 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:42:52 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:42:52 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:42:52 UTC] 📊 Database Info:
[15-Nov-2025 14:42:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:42:52 UTC]    Books columns count: 53
[15-Nov-2025 14:42:52 UTC]    Categories columns count: 7
[15-Nov-2025 14:42:52 UTC]    Language field in books: YES
[15-Nov-2025 14:42:52 UTC]    Format field in books: YES
[15-Nov-2025 14:42:52 UTC]    Description field in categories: YES
[15-Nov-2025 14:42:52 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:42:52 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:42:52 UTC]    Is_active field in books: YES
[15-Nov-2025 14:42:52 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:42:52 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:42:52 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:42:52 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:42:52 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:42:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:42:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:42:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:42:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:42:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:42:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:42:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:42:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:42:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:42:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:42:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:42:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:42:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:42:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:42:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:42:52 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:42:53 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:42:53 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:42:53 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:42:53 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:42:53 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:42:53 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:42:53 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:42:53 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:42:53 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:42:53 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:42:53 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:42:53 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:42:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:42:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:42:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:42:53 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:42:53 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:42:53 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:42:53 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:42:53 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:42:53 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:42:53 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:42:53 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:42:53 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:42:53 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:42:53 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:42:53 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:42:53 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:42:53 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:42:53 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:42:53 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:42:53 UTC] 📊 Database Info:
[15-Nov-2025 14:42:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:42:53 UTC]    Books columns count: 53
[15-Nov-2025 14:42:53 UTC]    Categories columns count: 7
[15-Nov-2025 14:42:53 UTC]    Language field in books: YES
[15-Nov-2025 14:42:53 UTC]    Format field in books: YES
[15-Nov-2025 14:42:53 UTC]    Description field in categories: YES
[15-Nov-2025 14:42:53 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:42:53 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:42:53 UTC]    Is_active field in books: YES
[15-Nov-2025 14:42:53 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:42:53 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:42:53 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:42:53 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:42:53 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:42:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:42:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:42:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:42:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:42:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:42:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:42:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:42:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:42:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:42:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:42:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:42:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:42:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:42:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:42:53 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:42:53 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:43:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:04 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:05 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:43:05 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:43:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:05 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:05 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:05 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:05 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:43:05 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:43:05 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:43:05 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:43:05 UTC] 📊 Database Info:
[15-Nov-2025 14:43:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:43:05 UTC]    Books columns count: 53
[15-Nov-2025 14:43:05 UTC]    Categories columns count: 7
[15-Nov-2025 14:43:05 UTC]    Language field in books: YES
[15-Nov-2025 14:43:05 UTC]    Format field in books: YES
[15-Nov-2025 14:43:05 UTC]    Description field in categories: YES
[15-Nov-2025 14:43:05 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:43:05 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:43:05 UTC]    Is_active field in books: YES
[15-Nov-2025 14:43:05 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:43:05 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:43:05 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:43:05 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:43:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:43:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:43:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:43:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:43:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:43:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:43:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:43:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:43:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:43:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:43:05 UTC] 📊 Database Info:
[15-Nov-2025 14:43:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:43:05 UTC]    Books columns count: 53
[15-Nov-2025 14:43:05 UTC]    Categories columns count: 7
[15-Nov-2025 14:43:05 UTC]    Language field in books: YES
[15-Nov-2025 14:43:05 UTC]    Format field in books: YES
[15-Nov-2025 14:43:05 UTC]    Description field in categories: YES
[15-Nov-2025 14:43:05 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:43:05 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:43:05 UTC]    Is_active field in books: YES
[15-Nov-2025 14:43:05 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:43:05 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:43:05 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:43:05 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:43:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:05 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:43:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:43:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:05 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:43:05 UTC] 📊 Database Info:
[15-Nov-2025 14:43:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:43:05 UTC]    Books columns count: 53
[15-Nov-2025 14:43:05 UTC]    Categories columns count: 7
[15-Nov-2025 14:43:05 UTC]    Language field in books: YES
[15-Nov-2025 14:43:05 UTC]    Format field in books: YES
[15-Nov-2025 14:43:05 UTC]    Description field in categories: YES
[15-Nov-2025 14:43:05 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:43:05 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:43:05 UTC]    Is_active field in books: YES
[15-Nov-2025 14:43:05 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:43:05 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:43:05 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:43:05 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:43:05 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:43:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:43:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:43:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:43:05 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:43:05 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:43:06 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:06 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:06 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:06 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:06 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:06 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:06 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:06 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:06 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:06 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:06 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:06 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:06 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:43:06 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:43:06 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:06 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:07 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:07 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:07 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:07 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:07 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:07 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:07 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:07 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:07 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:07 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:07 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:07 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:43:07 UTC] 📊 Database Info:
[15-Nov-2025 14:43:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:43:07 UTC]    Books columns count: 53
[15-Nov-2025 14:43:07 UTC]    Categories columns count: 7
[15-Nov-2025 14:43:07 UTC]    Language field in books: YES
[15-Nov-2025 14:43:07 UTC]    Format field in books: YES
[15-Nov-2025 14:43:07 UTC]    Description field in categories: YES
[15-Nov-2025 14:43:07 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:43:07 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:43:07 UTC]    Is_active field in books: YES
[15-Nov-2025 14:43:07 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:43:07 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:43:07 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:43:07 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:43:07 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:43:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:43:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:43:07 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:43:07 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:43:07 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:07 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:07 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:07 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:07 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:07 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:07 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:07 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:07 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:07 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:07 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:07 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:07 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:43:07 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:43:07 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:07 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:07 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:07 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:07 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:07 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:07 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:07 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:07 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:07 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:07 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:07 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:07 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:07 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:43:07 UTC] 📊 Database Info:
[15-Nov-2025 14:43:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:43:07 UTC]    Books columns count: 53
[15-Nov-2025 14:43:07 UTC]    Categories columns count: 7
[15-Nov-2025 14:43:07 UTC]    Language field in books: YES
[15-Nov-2025 14:43:07 UTC]    Format field in books: YES
[15-Nov-2025 14:43:07 UTC]    Description field in categories: YES
[15-Nov-2025 14:43:07 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:43:07 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:43:07 UTC]    Is_active field in books: YES
[15-Nov-2025 14:43:07 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:43:07 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:43:07 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:43:07 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:43:07 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:43:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:43:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:43:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:43:07 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:43:07 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:43:08 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:08 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:09 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:09 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:09 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:09 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:09 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:09 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:09 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:09 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:09 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:09 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:09 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:09 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:43:09 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:43:09 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:09 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:09 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:09 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:09 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:09 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:09 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:09 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:09 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:09 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:09 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:09 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:09 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:09 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:43:09 UTC] 📊 Database Info:
[15-Nov-2025 14:43:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:43:09 UTC]    Books columns count: 53
[15-Nov-2025 14:43:09 UTC]    Categories columns count: 7
[15-Nov-2025 14:43:09 UTC]    Language field in books: YES
[15-Nov-2025 14:43:09 UTC]    Format field in books: YES
[15-Nov-2025 14:43:09 UTC]    Description field in categories: YES
[15-Nov-2025 14:43:09 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:43:09 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:43:09 UTC]    Is_active field in books: YES
[15-Nov-2025 14:43:09 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:43:09 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:43:09 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:43:09 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:43:09 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:43:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:43:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:43:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:43:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:43:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:43:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:43:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:43:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:43:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:43:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:43:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:43:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:43:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:43:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:43:09 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:43:09 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:43:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:21 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:21 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:21 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:21 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:43:21 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:21 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:21 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:21 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:21 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:21 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:43:21 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:43:21 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:21 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:21 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:21 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:21 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:21 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:21 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:43:21 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:21 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:21 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:21 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:21 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:21 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:21 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:21 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:21 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:21 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:43:21 UTC] 📊 Database Info:
[15-Nov-2025 14:43:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:43:21 UTC]    Books columns count: 53
[15-Nov-2025 14:43:21 UTC]    Categories columns count: 7
[15-Nov-2025 14:43:21 UTC]    Language field in books: YES
[15-Nov-2025 14:43:21 UTC]    Format field in books: YES
[15-Nov-2025 14:43:21 UTC]    Description field in categories: YES
[15-Nov-2025 14:43:21 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:43:21 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:43:21 UTC]    Is_active field in books: YES
[15-Nov-2025 14:43:21 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:43:21 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:43:21 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:43:21 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:43:21 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:43:21 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:43:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:43:21 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:21 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:21 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:21 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:21 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:21 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:43:21 UTC] 📊 Database Info:
[15-Nov-2025 14:43:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:43:21 UTC]    Books columns count: 53
[15-Nov-2025 14:43:21 UTC]    Categories columns count: 7
[15-Nov-2025 14:43:21 UTC]    Language field in books: YES
[15-Nov-2025 14:43:21 UTC]    Format field in books: YES
[15-Nov-2025 14:43:21 UTC]    Description field in categories: YES
[15-Nov-2025 14:43:21 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:43:21 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:43:21 UTC]    Is_active field in books: YES
[15-Nov-2025 14:43:21 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:43:21 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:43:21 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:43:21 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:43:21 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:43:21 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:43:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:43:21 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:21 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:21 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:43:21 UTC] 📊 Database Info:
[15-Nov-2025 14:43:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:43:21 UTC]    Books columns count: 53
[15-Nov-2025 14:43:21 UTC]    Categories columns count: 7
[15-Nov-2025 14:43:21 UTC]    Language field in books: YES
[15-Nov-2025 14:43:21 UTC]    Format field in books: YES
[15-Nov-2025 14:43:21 UTC]    Description field in categories: YES
[15-Nov-2025 14:43:21 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:43:21 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:43:21 UTC]    Is_active field in books: YES
[15-Nov-2025 14:43:21 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:43:21 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:43:21 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:43:21 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:43:21 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:43:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:43:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:43:21 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:21 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:22 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:22 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:22 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:22 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:22 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:22 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:22 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:22 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:43:22 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:22 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:22 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:22 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:22 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:22 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:22 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:43:22 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:22 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:22 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:22 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:43:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:22 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:43:22 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:43:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:22 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:22 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:22 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:22 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:22 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:22 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:43:22 UTC] 📊 Database Info:
[15-Nov-2025 14:43:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:43:22 UTC]    Books columns count: 53
[15-Nov-2025 14:43:22 UTC]    Categories columns count: 7
[15-Nov-2025 14:43:22 UTC]    Language field in books: YES
[15-Nov-2025 14:43:22 UTC]    Format field in books: YES
[15-Nov-2025 14:43:22 UTC]    Description field in categories: YES
[15-Nov-2025 14:43:22 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:43:22 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:43:22 UTC]    Is_active field in books: YES
[15-Nov-2025 14:43:22 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:43:22 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:43:22 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:43:22 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:43:22 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:43:22 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:22 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:43:22 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:22 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:43:22 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:43:22 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:43:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:43:22 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:43:22 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:22 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:22 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:43:22 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:22 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:22 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:22 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:43:22 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:43:22 UTC] 📊 Database Info:
[15-Nov-2025 14:43:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:43:22 UTC]    Books columns count: 53
[15-Nov-2025 14:43:22 UTC]    Categories columns count: 7
[15-Nov-2025 14:43:22 UTC]    Language field in books: YES
[15-Nov-2025 14:43:22 UTC]    Format field in books: YES
[15-Nov-2025 14:43:22 UTC]    Description field in categories: YES
[15-Nov-2025 14:43:22 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:43:22 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:43:22 UTC]    Is_active field in books: YES
[15-Nov-2025 14:43:22 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:43:22 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:43:22 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:43:22 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:43:22 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:43:22 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:43:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:43:22 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:43:22 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:43:22 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:43:22 UTC] 📊 Database Info:
[15-Nov-2025 14:43:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:43:22 UTC]    Books columns count: 53
[15-Nov-2025 14:43:22 UTC]    Categories columns count: 7
[15-Nov-2025 14:43:22 UTC]    Language field in books: YES
[15-Nov-2025 14:43:22 UTC]    Format field in books: YES
[15-Nov-2025 14:43:22 UTC]    Description field in categories: YES
[15-Nov-2025 14:43:22 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:43:22 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:43:22 UTC]    Is_active field in books: YES
[15-Nov-2025 14:43:22 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:43:22 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:43:22 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:43:22 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:43:22 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:43:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:32 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:32 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:32 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:32 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:32 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:32 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:32 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:32 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:32 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:32 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:32 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:32 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:33 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:33 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:33 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:33 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:33 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:33 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:33 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:33 UTC] 📊 Database Info:
[15-Nov-2025 14:57:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:33 UTC]    Books columns count: 53
[15-Nov-2025 14:57:33 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:33 UTC]    Language field in books: YES
[15-Nov-2025 14:57:33 UTC]    Format field in books: YES
[15-Nov-2025 14:57:33 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:33 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:33 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:33 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:33 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:33 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:33 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:33 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:33 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:33 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:33 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:33 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:33 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:33 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:33 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:33 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:33 UTC] 📊 Database Info:
[15-Nov-2025 14:57:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:33 UTC]    Books columns count: 53
[15-Nov-2025 14:57:33 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:33 UTC]    Language field in books: YES
[15-Nov-2025 14:57:33 UTC]    Format field in books: YES
[15-Nov-2025 14:57:33 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:33 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:33 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:33 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:33 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:33 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:33 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:33 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:33 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:33 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:33 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:33 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:33 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:33 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:33 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:33 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:33 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:33 UTC] 📊 Database Info:
[15-Nov-2025 14:57:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:33 UTC]    Books columns count: 53
[15-Nov-2025 14:57:33 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:33 UTC]    Language field in books: YES
[15-Nov-2025 14:57:33 UTC]    Format field in books: YES
[15-Nov-2025 14:57:33 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:33 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:33 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:33 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:33 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:33 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:33 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:33 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:33 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:33 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:33 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:33 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:33 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:33 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:33 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:33 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:33 UTC] 📊 Database Info:
[15-Nov-2025 14:57:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:33 UTC]    Books columns count: 53
[15-Nov-2025 14:57:33 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:33 UTC]    Language field in books: YES
[15-Nov-2025 14:57:33 UTC]    Format field in books: YES
[15-Nov-2025 14:57:33 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:33 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:33 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:33 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:33 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:33 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:33 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:33 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:33 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:33 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:33 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:33 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:33 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:33 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:33 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:33 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:33 UTC] 📊 Database Info:
[15-Nov-2025 14:57:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:33 UTC]    Books columns count: 53
[15-Nov-2025 14:57:33 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:33 UTC]    Language field in books: YES
[15-Nov-2025 14:57:33 UTC]    Format field in books: YES
[15-Nov-2025 14:57:33 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:33 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:33 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:33 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:33 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:33 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:33 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:33 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:33 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:33 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:33 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:33 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:33 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:33 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:33 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:33 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:33 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:33 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:33 UTC] 📊 Database Info:
[15-Nov-2025 14:57:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:33 UTC]    Books columns count: 53
[15-Nov-2025 14:57:33 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:33 UTC]    Language field in books: YES
[15-Nov-2025 14:57:33 UTC]    Format field in books: YES
[15-Nov-2025 14:57:33 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:33 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:33 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:33 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:33 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:33 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:33 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:33 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:33 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:37 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:37 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:37 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:37 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:37 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:37 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:37 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:37 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:37 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:37 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:37 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:37 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:37 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:37 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:37 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:37 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:38 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:38 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:38 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:38 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:38 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:38 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:38 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:38 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:38 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:38 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:38 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:38 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:38 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:38 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:38 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:38 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:38 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:38 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:38 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:38 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:38 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:38 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:38 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:38 UTC] 📊 Database Info:
[15-Nov-2025 14:57:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:38 UTC]    Books columns count: 53
[15-Nov-2025 14:57:38 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:38 UTC]    Language field in books: YES
[15-Nov-2025 14:57:38 UTC]    Format field in books: YES
[15-Nov-2025 14:57:38 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:38 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:38 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:38 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:38 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:38 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:38 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:38 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:38 UTC] 📊 Database Info:
[15-Nov-2025 14:57:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:38 UTC]    Books columns count: 53
[15-Nov-2025 14:57:38 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:38 UTC]    Language field in books: YES
[15-Nov-2025 14:57:38 UTC]    Format field in books: YES
[15-Nov-2025 14:57:38 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:38 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:38 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:38 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:38 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:38 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:38 UTC] 📊 Database Info:
[15-Nov-2025 14:57:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:38 UTC]    Books columns count: 53
[15-Nov-2025 14:57:38 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:38 UTC]    Language field in books: YES
[15-Nov-2025 14:57:38 UTC]    Format field in books: YES
[15-Nov-2025 14:57:38 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:38 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:38 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:38 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:38 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:38 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:38 UTC] 📊 Database Info:
[15-Nov-2025 14:57:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:38 UTC]    Books columns count: 53
[15-Nov-2025 14:57:38 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:38 UTC]    Language field in books: YES
[15-Nov-2025 14:57:38 UTC]    Format field in books: YES
[15-Nov-2025 14:57:38 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:38 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:38 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:38 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:38 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:38 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:38 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:38 UTC] 📊 Database Info:
[15-Nov-2025 14:57:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:38 UTC]    Books columns count: 53
[15-Nov-2025 14:57:38 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:38 UTC]    Language field in books: YES
[15-Nov-2025 14:57:38 UTC]    Format field in books: YES
[15-Nov-2025 14:57:38 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:38 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:38 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:38 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:38 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:38 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:57:38 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:57:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:57:38 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:57:38 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:57:38 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:57:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:38 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:38 UTC] 📊 Database Info:
[15-Nov-2025 14:57:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:38 UTC]    Books columns count: 53
[15-Nov-2025 14:57:38 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:38 UTC]    Language field in books: YES
[15-Nov-2025 14:57:38 UTC]    Format field in books: YES
[15-Nov-2025 14:57:38 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:38 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:38 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:38 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:38 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:38 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:57:38 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:57:38 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:38 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:38 UTC] 📊 Database Info:
[15-Nov-2025 14:57:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:38 UTC]    Books columns count: 53
[15-Nov-2025 14:57:38 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:38 UTC]    Language field in books: YES
[15-Nov-2025 14:57:38 UTC]    Format field in books: YES
[15-Nov-2025 14:57:38 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:38 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:38 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:38 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:38 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:38 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:38 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:39 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:39 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:39 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:39 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:39 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:39 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:39 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:39 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:39 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:39 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:39 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:39 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:39 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:39 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:39 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:39 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:39 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:39 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:39 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:39 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:39 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:39 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:39 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:39 UTC] 📊 Database Info:
[15-Nov-2025 14:57:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:39 UTC]    Books columns count: 53
[15-Nov-2025 14:57:39 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:39 UTC]    Language field in books: YES
[15-Nov-2025 14:57:39 UTC]    Format field in books: YES
[15-Nov-2025 14:57:39 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:39 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:39 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:39 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:39 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:39 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:39 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:39 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:39 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:39 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:39 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:39 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:39 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:57:39 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:57:39 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:57:39 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:39 UTC] 📊 Database Info:
[15-Nov-2025 14:57:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:39 UTC]    Books columns count: 53
[15-Nov-2025 14:57:39 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:39 UTC]    Language field in books: YES
[15-Nov-2025 14:57:39 UTC]    Format field in books: YES
[15-Nov-2025 14:57:39 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:39 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:39 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:39 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:39 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:39 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:39 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:39 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:39 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 14:57:39 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 14:57:39 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 14:57:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:40 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:40 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:40 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:40 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:40 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:40 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:40 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:40 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:40 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:40 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:40 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:40 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:40 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:40 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:40 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:40 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:40 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:40 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:40 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:40 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:40 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:40 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:40 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:40 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:40 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:40 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:40 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:40 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:40 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:40 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:40 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:40 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:40 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:40 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:40 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:40 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:41 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:41 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:41 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:41 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:41 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:41 UTC] 📊 Database Info:
[15-Nov-2025 14:57:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:41 UTC]    Books columns count: 53
[15-Nov-2025 14:57:41 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:41 UTC]    Language field in books: YES
[15-Nov-2025 14:57:41 UTC]    Format field in books: YES
[15-Nov-2025 14:57:41 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:41 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:41 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:41 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:41 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:41 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:41 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:41 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:41 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:41 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:41 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:41 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:41 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:41 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:41 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:41 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:41 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:41 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:41 UTC] 📊 Database Info:
[15-Nov-2025 14:57:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:41 UTC]    Books columns count: 53
[15-Nov-2025 14:57:41 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:41 UTC]    Language field in books: YES
[15-Nov-2025 14:57:41 UTC]    Format field in books: YES
[15-Nov-2025 14:57:41 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:41 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:41 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:41 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:41 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:41 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:41 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:41 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:41 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:41 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:41 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:41 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:41 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:41 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:41 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:41 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:41 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:41 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:41 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:41 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:41 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:41 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:41 UTC] 📊 Database Info:
[15-Nov-2025 14:57:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:41 UTC]    Books columns count: 53
[15-Nov-2025 14:57:41 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:41 UTC]    Language field in books: YES
[15-Nov-2025 14:57:41 UTC]    Format field in books: YES
[15-Nov-2025 14:57:41 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:41 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:41 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:41 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:41 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:41 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:41 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:41 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:41 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:41 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:41 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:41 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:41 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:41 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:41 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:41 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:41 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:41 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:41 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:41 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:41 UTC] 📊 Database Info:
[15-Nov-2025 14:57:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:41 UTC]    Books columns count: 53
[15-Nov-2025 14:57:41 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:41 UTC]    Language field in books: YES
[15-Nov-2025 14:57:41 UTC]    Format field in books: YES
[15-Nov-2025 14:57:41 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:41 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:41 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:41 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:41 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:41 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:41 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:41 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:41 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:41 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:41 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:41 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:41 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:41 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:41 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:41 UTC] 📊 Database Info:
[15-Nov-2025 14:57:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:41 UTC]    Books columns count: 53
[15-Nov-2025 14:57:41 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:41 UTC]    Language field in books: YES
[15-Nov-2025 14:57:41 UTC]    Format field in books: YES
[15-Nov-2025 14:57:41 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:41 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:41 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:41 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:41 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:41 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:41 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:41 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:41 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:41 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:41 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:41 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:57:41 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:41 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:41 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:41 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:41 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:41 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:41 UTC] 📊 Database Info:
[15-Nov-2025 14:57:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:41 UTC]    Books columns count: 53
[15-Nov-2025 14:57:41 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:41 UTC]    Language field in books: YES
[15-Nov-2025 14:57:41 UTC]    Format field in books: YES
[15-Nov-2025 14:57:41 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:41 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:41 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:41 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:41 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:41 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:41 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:41 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:41 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 14:57:41 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 14:57:41 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 14:57:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:42 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:42 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:42 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:42 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:42 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:42 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:42 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:42 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:42 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:42 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:42 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 14:57:42 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 14:57:42 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 14:57:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column language already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column format already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 14:57:42 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 14:57:42 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 14:57:42 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 14:57:42 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 14:57:42 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 14:57:42 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 14:57:42 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 14:57:42 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 14:57:42 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 14:57:42 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 14:57:42 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 14:57:42 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 14:57:42 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 14:57:42 UTC] 📊 Database Info:
[15-Nov-2025 14:57:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 14:57:42 UTC]    Books columns count: 53
[15-Nov-2025 14:57:42 UTC]    Categories columns count: 7
[15-Nov-2025 14:57:42 UTC]    Language field in books: YES
[15-Nov-2025 14:57:42 UTC]    Format field in books: YES
[15-Nov-2025 14:57:42 UTC]    Description field in categories: YES
[15-Nov-2025 14:57:42 UTC]    Display_order field in categories: YES
[15-Nov-2025 14:57:42 UTC]    Is_active field in categories: YES
[15-Nov-2025 14:57:42 UTC]    Is_active field in books: YES
[15-Nov-2025 14:57:42 UTC]    External_download_link field in books: YES
[15-Nov-2025 14:57:42 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 14:57:42 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 14:57:42 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 14:57:42 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 14:57:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 14:57:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 14:57:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 14:57:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 14:57:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 14:57:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 14:57:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 14:57:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 14:57:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 14:57:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 14:57:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 14:57:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 14:57:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:20:36 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:20:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:20:37 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:20:37 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:20:37 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:20:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:37 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:20:37 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:20:37 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:20:37 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:20:37 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:20:37 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:20:37 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:20:37 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:20:37 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:20:37 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:20:37 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:20:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:37 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:20:37 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:20:37 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:20:37 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:20:37 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:20:37 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:20:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:37 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:20:37 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:20:37 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:20:37 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:20:37 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:20:37 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:20:37 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:20:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:20:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:20:37 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:20:37 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:20:37 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:20:37 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:20:37 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:20:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:37 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:20:37 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:20:37 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:20:37 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:20:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:37 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:20:37 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:20:37 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:20:37 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:20:37 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:20:37 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:20:37 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:20:37 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:20:38 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:20:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:20:38 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:20:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:20:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:20:38 UTC] 📊 Database Info:
[15-Nov-2025 16:20:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:20:38 UTC]    Books columns count: 53
[15-Nov-2025 16:20:38 UTC]    Categories columns count: 7
[15-Nov-2025 16:20:38 UTC]    Language field in books: YES
[15-Nov-2025 16:20:38 UTC]    Format field in books: YES
[15-Nov-2025 16:20:38 UTC]    Description field in categories: YES
[15-Nov-2025 16:20:38 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:20:38 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:20:38 UTC]    Is_active field in books: YES
[15-Nov-2025 16:20:38 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:20:38 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:20:38 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:20:38 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:20:38 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:20:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:20:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:20:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:20:38 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:20:38 UTC] 📊 Database Info:
[15-Nov-2025 16:20:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:20:38 UTC]    Books columns count: 53
[15-Nov-2025 16:20:38 UTC]    Categories columns count: 7
[15-Nov-2025 16:20:38 UTC]    Language field in books: YES
[15-Nov-2025 16:20:38 UTC]    Format field in books: YES
[15-Nov-2025 16:20:38 UTC]    Description field in categories: YES
[15-Nov-2025 16:20:38 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:20:38 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:20:38 UTC]    Is_active field in books: YES
[15-Nov-2025 16:20:38 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:20:38 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:20:38 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:20:38 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:20:38 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:20:38 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:20:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:20:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:20:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:20:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:20:38 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:20:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:20:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:20:38 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 16:20:38 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:20:38 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:20:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:20:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:20:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:20:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:20:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:20:38 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:20:38 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:20:38 UTC] 📊 Database Info:
[15-Nov-2025 16:20:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:20:38 UTC]    Books columns count: 53
[15-Nov-2025 16:20:38 UTC]    Categories columns count: 7
[15-Nov-2025 16:20:38 UTC]    Language field in books: YES
[15-Nov-2025 16:20:38 UTC]    Format field in books: YES
[15-Nov-2025 16:20:38 UTC]    Description field in categories: YES
[15-Nov-2025 16:20:38 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:20:38 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:20:38 UTC]    Is_active field in books: YES
[15-Nov-2025 16:20:38 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:20:38 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:20:38 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:20:38 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:20:38 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:20:38 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:20:38 UTC] 📊 Database Info:
[15-Nov-2025 16:20:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:20:38 UTC]    Books columns count: 53
[15-Nov-2025 16:20:38 UTC]    Categories columns count: 7
[15-Nov-2025 16:20:38 UTC]    Language field in books: YES
[15-Nov-2025 16:20:38 UTC]    Format field in books: YES
[15-Nov-2025 16:20:38 UTC]    Description field in categories: YES
[15-Nov-2025 16:20:38 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:20:38 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:20:38 UTC]    Is_active field in books: YES
[15-Nov-2025 16:20:38 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:20:38 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:20:38 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:20:38 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:20:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:20:38 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:20:38 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:20:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:20:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:20:38 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:20:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:20:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:20:38 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:20:38 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:20:38 UTC] 📊 Database Info:
[15-Nov-2025 16:20:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:20:38 UTC]    Books columns count: 53
[15-Nov-2025 16:20:38 UTC]    Categories columns count: 7
[15-Nov-2025 16:20:38 UTC]    Language field in books: YES
[15-Nov-2025 16:20:38 UTC]    Format field in books: YES
[15-Nov-2025 16:20:38 UTC]    Description field in categories: YES
[15-Nov-2025 16:20:38 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:20:38 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:20:38 UTC]    Is_active field in books: YES
[15-Nov-2025 16:20:38 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:20:38 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:20:38 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:20:38 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:20:38 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:20:38 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:20:38 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:20:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:20:38 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 16:20:38 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 16:20:38 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:20:38 UTC] 📊 Database Info:
[15-Nov-2025 16:20:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:20:38 UTC]    Books columns count: 53
[15-Nov-2025 16:20:38 UTC]    Categories columns count: 7
[15-Nov-2025 16:20:38 UTC]    Language field in books: YES
[15-Nov-2025 16:20:38 UTC]    Format field in books: YES
[15-Nov-2025 16:20:38 UTC]    Description field in categories: YES
[15-Nov-2025 16:20:38 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:20:38 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:20:38 UTC]    Is_active field in books: YES
[15-Nov-2025 16:20:38 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:20:38 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:20:38 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:20:38 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:20:38 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:20:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:20:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:20:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:20:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:20:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:20:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:20:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:20:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:20:48 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:20:48 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:20:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:20:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:20:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:20:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:20:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:20:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:20:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:20:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:20:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:20:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:20:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:20:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:20:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:20:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:20:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:20:48 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:20:48 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:20:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:20:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:20:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:20:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:20:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:20:48 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:20:48 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:20:48 UTC] 📊 Database Info:
[15-Nov-2025 16:20:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:20:48 UTC]    Books columns count: 53
[15-Nov-2025 16:20:48 UTC]    Categories columns count: 7
[15-Nov-2025 16:20:48 UTC]    Language field in books: YES
[15-Nov-2025 16:20:48 UTC]    Format field in books: YES
[15-Nov-2025 16:20:48 UTC]    Description field in categories: YES
[15-Nov-2025 16:20:48 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:20:48 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:20:48 UTC]    Is_active field in books: YES
[15-Nov-2025 16:20:48 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:20:48 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:20:48 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:20:48 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:20:48 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:20:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:20:48 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:20:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:20:48 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:20:48 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:20:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:20:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:20:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:20:48 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 16:20:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:20:48 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 16:20:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:20:48 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:20:48 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:20:48 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:20:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:20:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:20:48 UTC] 📊 Database Info:
[15-Nov-2025 16:20:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:20:48 UTC]    Books columns count: 53
[15-Nov-2025 16:20:48 UTC]    Categories columns count: 7
[15-Nov-2025 16:20:48 UTC]    Language field in books: YES
[15-Nov-2025 16:20:48 UTC]    Format field in books: YES
[15-Nov-2025 16:20:48 UTC]    Description field in categories: YES
[15-Nov-2025 16:20:48 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:20:48 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:20:48 UTC]    Is_active field in books: YES
[15-Nov-2025 16:20:48 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:20:48 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:20:48 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:20:48 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:20:48 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:20:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:20:48 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:20:48 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:20:48 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:20:48 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:20:48 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:20:48 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:20:48 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:20:48 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:20:48 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:20:48 UTC] 📊 Database Info:
[15-Nov-2025 16:20:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:20:48 UTC]    Books columns count: 53
[15-Nov-2025 16:20:48 UTC]    Categories columns count: 7
[15-Nov-2025 16:20:48 UTC]    Language field in books: YES
[15-Nov-2025 16:20:48 UTC]    Format field in books: YES
[15-Nov-2025 16:20:48 UTC]    Description field in categories: YES
[15-Nov-2025 16:20:48 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:20:48 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:20:48 UTC]    Is_active field in books: YES
[15-Nov-2025 16:20:48 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:20:48 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:20:48 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:20:48 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:20:48 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:20:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:21:13 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:21:13 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:21:13 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:21:13 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:21:13 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:21:13 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:21:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:21:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:21:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:21:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:21:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:21:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:21:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:21:14 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:21:14 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:21:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:21:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:21:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:21:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:21:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:21:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:21:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:21:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:21:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:21:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:21:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:21:14 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:21:14 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:21:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:21:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:21:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:21:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:21:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:21:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:21:14 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:21:14 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:21:14 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:21:14 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:21:14 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:21:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:21:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:21:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:21:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:21:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:21:14 UTC] 📊 Database Info:
[15-Nov-2025 16:21:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:21:14 UTC]    Books columns count: 53
[15-Nov-2025 16:21:14 UTC]    Categories columns count: 7
[15-Nov-2025 16:21:14 UTC]    Language field in books: YES
[15-Nov-2025 16:21:14 UTC]    Format field in books: YES
[15-Nov-2025 16:21:14 UTC]    Description field in categories: YES
[15-Nov-2025 16:21:14 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:21:14 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:21:14 UTC]    Is_active field in books: YES
[15-Nov-2025 16:21:14 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:21:14 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:21:14 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:21:14 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:21:14 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:21:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:21:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:21:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:21:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:21:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:21:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:21:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:21:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:21:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:21:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:21:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:21:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:21:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:21:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:21:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:21:14 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:21:14 UTC] 📊 Database Info:
[15-Nov-2025 16:21:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:21:14 UTC]    Books columns count: 53
[15-Nov-2025 16:21:14 UTC]    Categories columns count: 7
[15-Nov-2025 16:21:14 UTC]    Language field in books: YES
[15-Nov-2025 16:21:14 UTC]    Format field in books: YES
[15-Nov-2025 16:21:14 UTC]    Description field in categories: YES
[15-Nov-2025 16:21:14 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:21:14 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:21:14 UTC]    Is_active field in books: YES
[15-Nov-2025 16:21:14 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:21:14 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:21:14 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:21:14 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:21:14 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:21:14 UTC] 📊 Database Info:
[15-Nov-2025 16:21:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:21:14 UTC]    Books columns count: 53
[15-Nov-2025 16:21:14 UTC]    Categories columns count: 7
[15-Nov-2025 16:21:14 UTC]    Language field in books: YES
[15-Nov-2025 16:21:14 UTC]    Format field in books: YES
[15-Nov-2025 16:21:14 UTC]    Description field in categories: YES
[15-Nov-2025 16:21:14 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:21:14 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:21:14 UTC]    Is_active field in books: YES
[15-Nov-2025 16:21:14 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:21:14 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:21:14 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:21:14 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:21:14 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:21:14 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:21:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:21:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:21:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:21:14 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 16:21:14 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 16:22:14 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:22:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:22:14 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:22:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:22:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:22:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:22:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:22:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:22:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:22:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:22:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:22:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:22:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:22:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:22:14 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:22:14 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:22:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:22:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:22:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:22:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:22:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:22:14 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:22:14 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:22:14 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:22:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:22:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:22:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:22:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:22:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:22:14 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:22:14 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:22:14 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:22:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:22:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:22:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:22:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:22:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:22:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:22:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:22:14 UTC] 📊 Database Info:
[15-Nov-2025 16:22:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:22:14 UTC]    Books columns count: 53
[15-Nov-2025 16:22:14 UTC]    Categories columns count: 7
[15-Nov-2025 16:22:14 UTC]    Language field in books: YES
[15-Nov-2025 16:22:14 UTC]    Format field in books: YES
[15-Nov-2025 16:22:14 UTC]    Description field in categories: YES
[15-Nov-2025 16:22:14 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:22:14 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:22:14 UTC]    Is_active field in books: YES
[15-Nov-2025 16:22:14 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:22:14 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:22:14 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:22:14 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:22:14 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:22:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:22:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:22:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:22:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:22:14 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:22:14 UTC] 📊 Database Info:
[15-Nov-2025 16:22:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:22:14 UTC]    Books columns count: 53
[15-Nov-2025 16:22:14 UTC]    Categories columns count: 7
[15-Nov-2025 16:22:14 UTC]    Language field in books: YES
[15-Nov-2025 16:22:14 UTC]    Format field in books: YES
[15-Nov-2025 16:22:14 UTC]    Description field in categories: YES
[15-Nov-2025 16:22:14 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:22:14 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:22:14 UTC]    Is_active field in books: YES
[15-Nov-2025 16:22:14 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:22:14 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:22:14 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:22:14 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:22:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:22:14 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:22:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:22:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:22:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:22:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:22:14 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 16:22:14 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 16:22:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:22:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:22:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:22:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:22:14 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:22:14 UTC] 📊 Database Info:
[15-Nov-2025 16:22:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:22:14 UTC]    Books columns count: 53
[15-Nov-2025 16:22:14 UTC]    Categories columns count: 7
[15-Nov-2025 16:22:14 UTC]    Language field in books: YES
[15-Nov-2025 16:22:14 UTC]    Format field in books: YES
[15-Nov-2025 16:22:14 UTC]    Description field in categories: YES
[15-Nov-2025 16:22:14 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:22:14 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:22:14 UTC]    Is_active field in books: YES
[15-Nov-2025 16:22:14 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:22:14 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:22:14 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:22:14 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:22:14 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:22:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:22:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:23:05 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:05 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:23:05 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:23:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:05 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:05 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:05 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:05 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:23:05 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:23:05 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:05 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:05 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:05 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:23:05 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:23:05 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:06 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:06 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:06 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:06 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:06 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:06 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:06 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:06 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:06 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:06 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:06 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:06 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:06 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:06 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:06 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:06 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:06 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:23:06 UTC] 📊 Database Info:
[15-Nov-2025 16:23:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:23:06 UTC]    Books columns count: 53
[15-Nov-2025 16:23:06 UTC]    Categories columns count: 7
[15-Nov-2025 16:23:06 UTC]    Language field in books: YES
[15-Nov-2025 16:23:06 UTC]    Format field in books: YES
[15-Nov-2025 16:23:06 UTC]    Description field in categories: YES
[15-Nov-2025 16:23:06 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:23:06 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:23:06 UTC]    Is_active field in books: YES
[15-Nov-2025 16:23:06 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:23:06 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:23:06 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:23:06 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:23:06 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:23:06 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:06 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:06 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:06 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:06 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:06 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:06 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:23:06 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:06 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:06 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:23:06 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:23:06 UTC] 📊 Database Info:
[15-Nov-2025 16:23:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:23:06 UTC]    Books columns count: 53
[15-Nov-2025 16:23:06 UTC]    Categories columns count: 7
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:23:06 UTC]    Language field in books: YES
[15-Nov-2025 16:23:06 UTC]    Format field in books: YES
[15-Nov-2025 16:23:06 UTC]    Description field in categories: YES
[15-Nov-2025 16:23:06 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:23:06 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:23:06 UTC]    Is_active field in books: YES
[15-Nov-2025 16:23:06 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:23:06 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:23:06 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:23:06 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:23:06 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:23:06 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:23:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:23:06 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:23:06 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:23:06 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:23:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:23:06 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:06 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:06 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:06 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:06 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:06 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:06 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:06 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:06 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:06 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:06 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:06 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:23:06 UTC] 📊 Database Info:
[15-Nov-2025 16:23:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:23:06 UTC]    Books columns count: 53
[15-Nov-2025 16:23:06 UTC]    Categories columns count: 7
[15-Nov-2025 16:23:06 UTC]    Language field in books: YES
[15-Nov-2025 16:23:06 UTC]    Format field in books: YES
[15-Nov-2025 16:23:06 UTC]    Description field in categories: YES
[15-Nov-2025 16:23:06 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:23:06 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:23:06 UTC]    Is_active field in books: YES
[15-Nov-2025 16:23:06 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:23:06 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:23:06 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:23:06 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:23:06 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:23:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:23:11 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:11 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:11 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:11 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:11 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:11 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:11 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:11 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:11 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:11 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:11 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:23:11 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:11 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:11 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:11 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:11 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:11 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:11 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:11 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:11 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:23:11 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:23:11 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:11 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:23:11 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:23:11 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:11 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:11 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:11 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:11 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:11 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:11 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:11 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:23:11 UTC] 📊 Database Info:
[15-Nov-2025 16:23:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:23:11 UTC]    Books columns count: 53
[15-Nov-2025 16:23:11 UTC]    Categories columns count: 7
[15-Nov-2025 16:23:11 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:11 UTC]    Language field in books: YES
[15-Nov-2025 16:23:11 UTC]    Format field in books: YES
[15-Nov-2025 16:23:11 UTC]    Description field in categories: YES
[15-Nov-2025 16:23:11 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:23:11 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:23:11 UTC]    Is_active field in books: YES
[15-Nov-2025 16:23:11 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:23:11 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:23:11 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:23:11 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:23:11 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:11 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:23:11 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:23:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:23:11 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 16:23:11 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 16:23:11 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:11 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:11 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:11 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:11 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:11 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:11 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:23:11 UTC] 📊 Database Info:
[15-Nov-2025 16:23:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:23:11 UTC]    Books columns count: 53
[15-Nov-2025 16:23:11 UTC]    Categories columns count: 7
[15-Nov-2025 16:23:11 UTC]    Language field in books: YES
[15-Nov-2025 16:23:11 UTC]    Format field in books: YES
[15-Nov-2025 16:23:11 UTC]    Description field in categories: YES
[15-Nov-2025 16:23:11 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:23:11 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:23:11 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:23:11 UTC] 📊 Database Info:
[15-Nov-2025 16:23:11 UTC]    Is_active field in books: YES
[15-Nov-2025 16:23:11 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:23:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:23:11 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:23:11 UTC]    Books columns count: 53
[15-Nov-2025 16:23:11 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:23:11 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:23:11 UTC]    Categories columns count: 7
[15-Nov-2025 16:23:11 UTC]    Language field in books: YES
[15-Nov-2025 16:23:11 UTC]    Format field in books: YES
[15-Nov-2025 16:23:11 UTC]    Description field in categories: YES
[15-Nov-2025 16:23:11 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:23:11 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:23:11 UTC]    Is_active field in books: YES
[15-Nov-2025 16:23:11 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:23:11 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:23:11 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:23:11 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:23:11 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:23:11 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:23:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:23:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:23:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:40 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:40 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:40 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:40 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:40 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:40 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:23:40 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:23:40 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:40 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:40 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:40 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:23:40 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:23:40 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:40 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:40 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:40 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:23:40 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:23:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:40 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:40 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:40 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:40 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:40 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:40 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:23:40 UTC] 📊 Database Info:
[15-Nov-2025 16:23:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:23:40 UTC]    Books columns count: 53
[15-Nov-2025 16:23:40 UTC]    Categories columns count: 7
[15-Nov-2025 16:23:40 UTC]    Language field in books: YES
[15-Nov-2025 16:23:40 UTC]    Format field in books: YES
[15-Nov-2025 16:23:40 UTC]    Description field in categories: YES
[15-Nov-2025 16:23:40 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:23:40 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:23:40 UTC]    Is_active field in books: YES
[15-Nov-2025 16:23:40 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:23:40 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:23:40 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:23:40 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:23:40 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:23:40 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:23:40 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:40 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:23:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:23:40 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 16:23:40 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 16:23:40 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:40 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:40 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:40 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:40 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:40 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:40 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:40 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:23:40 UTC] 📊 Database Info:
[15-Nov-2025 16:23:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:23:40 UTC]    Books columns count: 53
[15-Nov-2025 16:23:40 UTC]    Categories columns count: 7
[15-Nov-2025 16:23:40 UTC]    Language field in books: YES
[15-Nov-2025 16:23:40 UTC]    Format field in books: YES
[15-Nov-2025 16:23:40 UTC]    Description field in categories: YES
[15-Nov-2025 16:23:40 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:23:40 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:23:40 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:40 UTC]    Is_active field in books: YES
[15-Nov-2025 16:23:40 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:40 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:23:40 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:23:40 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:23:40 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:23:40 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:23:40 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:23:40 UTC] 📊 Database Info:
[15-Nov-2025 16:23:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:23:40 UTC]    Books columns count: 53
[15-Nov-2025 16:23:40 UTC]    Categories columns count: 7
[15-Nov-2025 16:23:40 UTC]    Language field in books: YES
[15-Nov-2025 16:23:40 UTC]    Format field in books: YES
[15-Nov-2025 16:23:40 UTC]    Description field in categories: YES
[15-Nov-2025 16:23:40 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:23:40 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:23:40 UTC]    Is_active field in books: YES
[15-Nov-2025 16:23:40 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:23:40 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:23:40 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:23:40 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:23:40 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:23:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:23:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:23:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:23:43 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:43 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:43 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:43 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:43 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:43 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:43 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:43 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:43 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:43 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:43 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:43 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:43 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:43 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:43 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:23:43 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:23:43 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:43 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:43 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:43 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:43 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:43 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:43 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:43 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:43 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:43 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:43 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:43 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:43 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:23:43 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:23:43 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:43 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:43 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:43 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:43 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:43 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:43 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:43 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:43 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:43 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:43 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:43 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:43 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:43 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:44 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 16:23:44 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:44 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 16:23:44 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 16:23:44 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column institution already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:44 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:44 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:44 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:44 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:44 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:44 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:44 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:44 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:44 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:44 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:44 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:44 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:23:44 UTC] 📊 Database Info:
[15-Nov-2025 16:23:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:23:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 16:23:44 UTC]    Books columns count: 53
[15-Nov-2025 16:23:44 UTC]    Categories columns count: 7
[15-Nov-2025 16:23:44 UTC]    Language field in books: YES
[15-Nov-2025 16:23:44 UTC]    Format field in books: YES
[15-Nov-2025 16:23:44 UTC]    Description field in categories: YES
[15-Nov-2025 16:23:44 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:23:44 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:23:44 UTC]    Is_active field in books: YES
[15-Nov-2025 16:23:44 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:23:44 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:23:44 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:23:44 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:23:44 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:23:44 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:23:44 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:23:44 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:44 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:23:44 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:44 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:44 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:44 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:44 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:44 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:23:44 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:44 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 16:23:44 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:23:44 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:44 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:44 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:44 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:23:44 UTC] 📊 Database Info:
[15-Nov-2025 16:23:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:23:44 UTC]    Books columns count: 53
[15-Nov-2025 16:23:44 UTC]    Categories columns count: 7
[15-Nov-2025 16:23:44 UTC]    Language field in books: YES
[15-Nov-2025 16:23:44 UTC]    Format field in books: YES
[15-Nov-2025 16:23:44 UTC]    Description field in categories: YES
[15-Nov-2025 16:23:44 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:23:44 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:23:44 UTC]    Is_active field in books: YES
[15-Nov-2025 16:23:44 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:23:44 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:23:44 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:23:44 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:23:44 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:23:44 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:23:44 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:23:44 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:23:44 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:23:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:23:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:23:44 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:23:44 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:23:44 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:23:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 16:23:44 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 16:23:44 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 16:23:44 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column language already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column format already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 16:23:44 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 16:23:44 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 16:23:44 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 16:23:44 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 16:23:44 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 16:23:44 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 16:23:44 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 16:23:44 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 16:23:44 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 16:23:44 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 16:23:44 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 16:23:44 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 16:23:44 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 16:23:44 UTC] 📊 Database Info:
[15-Nov-2025 16:23:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 16:23:44 UTC]    Books columns count: 53
[15-Nov-2025 16:23:44 UTC]    Categories columns count: 7
[15-Nov-2025 16:23:44 UTC]    Language field in books: YES
[15-Nov-2025 16:23:44 UTC]    Format field in books: YES
[15-Nov-2025 16:23:44 UTC]    Description field in categories: YES
[15-Nov-2025 16:23:44 UTC]    Display_order field in categories: YES
[15-Nov-2025 16:23:44 UTC]    Is_active field in categories: YES
[15-Nov-2025 16:23:44 UTC]    Is_active field in books: YES
[15-Nov-2025 16:23:44 UTC]    External_download_link field in books: YES
[15-Nov-2025 16:23:44 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 16:23:44 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 16:23:44 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 16:23:44 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 16:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 16:23:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:35:23 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:35:23 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:35:23 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:35:23 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:35:23 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:35:23 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:35:23 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:35:23 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:35:23 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:35:23 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:35:23 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:35:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:35:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:35:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:35:23 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:35:23 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:35:23 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:35:23 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:35:23 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:35:23 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:35:23 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:35:23 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:35:23 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:35:23 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:35:23 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:35:23 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:35:23 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:35:23 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:35:23 UTC] 📊 Database Info:
[15-Nov-2025 19:35:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:35:23 UTC]    Books columns count: 53
[15-Nov-2025 19:35:23 UTC]    Categories columns count: 7
[15-Nov-2025 19:35:23 UTC]    Language field in books: YES
[15-Nov-2025 19:35:23 UTC]    Format field in books: YES
[15-Nov-2025 19:35:23 UTC]    Description field in categories: YES
[15-Nov-2025 19:35:23 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:35:23 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:35:23 UTC]    Is_active field in books: YES
[15-Nov-2025 19:35:23 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:35:23 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:35:23 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:35:23 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:35:23 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:35:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:35:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:35:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:35:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:35:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:35:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:35:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:35:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:35:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:35:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:35:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:35:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:35:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:35:23 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:35:23 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:35:23 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:35:23 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:35:23 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:35:23 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:35:23 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:35:23 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:35:23 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:35:23 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:35:23 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:35:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:35:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:35:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:35:23 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:35:23 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:35:23 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:35:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:35:24 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:35:24 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:35:24 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:35:24 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:35:24 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:35:24 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:35:24 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:35:24 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:35:24 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:35:24 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:35:24 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:35:24 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:35:24 UTC] 📊 Database Info:
[15-Nov-2025 19:35:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:35:24 UTC]    Books columns count: 53
[15-Nov-2025 19:35:24 UTC]    Categories columns count: 7
[15-Nov-2025 19:35:24 UTC]    Language field in books: YES
[15-Nov-2025 19:35:24 UTC]    Format field in books: YES
[15-Nov-2025 19:35:24 UTC]    Description field in categories: YES
[15-Nov-2025 19:35:24 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:35:24 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:35:24 UTC]    Is_active field in books: YES
[15-Nov-2025 19:35:24 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:35:24 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:35:24 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:35:24 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:35:24 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:35:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:35:24 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 19:35:24 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 19:35:24 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:35:24 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:35:24 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:35:24 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:35:24 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:35:24 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:35:24 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:35:24 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:35:24 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:35:24 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:35:24 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:35:24 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:35:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:35:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:35:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:35:24 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:35:24 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:35:24 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:35:24 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:35:24 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:35:24 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:35:24 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:35:24 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:35:24 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:35:24 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:35:24 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:35:24 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:35:24 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:35:24 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:35:24 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:35:24 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:35:24 UTC] 📊 Database Info:
[15-Nov-2025 19:35:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:35:24 UTC]    Books columns count: 53
[15-Nov-2025 19:35:24 UTC]    Categories columns count: 7
[15-Nov-2025 19:35:24 UTC]    Language field in books: YES
[15-Nov-2025 19:35:24 UTC]    Format field in books: YES
[15-Nov-2025 19:35:24 UTC]    Description field in categories: YES
[15-Nov-2025 19:35:24 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:35:24 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:35:24 UTC]    Is_active field in books: YES
[15-Nov-2025 19:35:24 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:35:24 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:35:24 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:35:24 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:35:24 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:35:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:35:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:36:30 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:36:30 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:36:30 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:36:30 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:36:30 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:36:31 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:36:31 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:36:31 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:36:31 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:36:31 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:36:31 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:36:31 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:36:31 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:36:31 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:36:31 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:36:31 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:36:31 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:36:31 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:36:31 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:36:31 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:36:31 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:36:31 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:36:31 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:36:31 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:36:31 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:36:31 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:36:31 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:36:31 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:36:31 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:36:31 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:36:31 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:36:31 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:36:31 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:36:31 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:36:31 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:36:31 UTC] 📊 Database Info:
[15-Nov-2025 19:36:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:36:31 UTC]    Books columns count: 53
[15-Nov-2025 19:36:31 UTC]    Categories columns count: 7
[15-Nov-2025 19:36:31 UTC]    Language field in books: YES
[15-Nov-2025 19:36:31 UTC]    Format field in books: YES
[15-Nov-2025 19:36:31 UTC]    Description field in categories: YES
[15-Nov-2025 19:36:31 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:36:31 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:36:31 UTC]    Is_active field in books: YES
[15-Nov-2025 19:36:31 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:36:31 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:36:31 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:36:31 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:36:31 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:36:31 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:36:31 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:36:31 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:36:31 UTC] 📊 Database Info:
[15-Nov-2025 19:36:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:36:31 UTC]    Books columns count: 53
[15-Nov-2025 19:36:31 UTC]    Categories columns count: 7
[15-Nov-2025 19:36:31 UTC]    Language field in books: YES
[15-Nov-2025 19:36:31 UTC]    Format field in books: YES
[15-Nov-2025 19:36:31 UTC]    Description field in categories: YES
[15-Nov-2025 19:36:31 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:36:31 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:36:31 UTC]    Is_active field in books: YES
[15-Nov-2025 19:36:31 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:36:31 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:36:31 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:36:31 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:36:31 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:36:31 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:36:31 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:36:31 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:36:31 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:36:31 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:36:31 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:36:31 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:36:31 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:31 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:36:31 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:36:31 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:36:31 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:36:31 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:36:31 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:36:31 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:36:31 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:36:31 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:36:31 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:36:31 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:36:31 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:36:31 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:36:31 UTC] 📊 Database Info:
[15-Nov-2025 19:36:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:36:31 UTC]    Books columns count: 53
[15-Nov-2025 19:36:31 UTC]    Categories columns count: 7
[15-Nov-2025 19:36:31 UTC]    Language field in books: YES
[15-Nov-2025 19:36:31 UTC]    Format field in books: YES
[15-Nov-2025 19:36:31 UTC]    Description field in categories: YES
[15-Nov-2025 19:36:31 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:36:31 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:36:31 UTC]    Is_active field in books: YES
[15-Nov-2025 19:36:31 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:36:31 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:36:31 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:36:31 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:36:31 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:36:31 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:36:31 UTC] 📊 Database Info:
[15-Nov-2025 19:36:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:36:31 UTC]    Books columns count: 53
[15-Nov-2025 19:36:31 UTC]    Categories columns count: 7
[15-Nov-2025 19:36:31 UTC]    Language field in books: YES
[15-Nov-2025 19:36:31 UTC]    Format field in books: YES
[15-Nov-2025 19:36:31 UTC]    Description field in categories: YES
[15-Nov-2025 19:36:31 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:36:31 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:36:31 UTC]    Is_active field in books: YES
[15-Nov-2025 19:36:31 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:36:31 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:36:31 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:36:31 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:36:31 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:36:31 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:36:31 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:36:31 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:36:31 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:36:31 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:36:31 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:36:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:36:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:36:31 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:36:31 UTC] 📊 Database Info:
[15-Nov-2025 19:36:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:36:31 UTC]    Books columns count: 53
[15-Nov-2025 19:36:31 UTC]    Categories columns count: 7
[15-Nov-2025 19:36:31 UTC]    Language field in books: YES
[15-Nov-2025 19:36:31 UTC]    Format field in books: YES
[15-Nov-2025 19:36:31 UTC]    Description field in categories: YES
[15-Nov-2025 19:36:31 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:36:31 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:36:31 UTC]    Is_active field in books: YES
[15-Nov-2025 19:36:31 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:36:31 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:36:31 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:36:31 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:36:31 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:36:31 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:36:31 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:36:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:36:31 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:36:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:36:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:36:32 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:36:32 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:36:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:36:32 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:36:32 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:36:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:36:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:36:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:36:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:36:32 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:36:32 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:36:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:36:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:36:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:36:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:36:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:36:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:36:32 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:36:32 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:36:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:36:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:36:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:36:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:36:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:36:32 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:36:32 UTC] 📊 Database Info:
[15-Nov-2025 19:36:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:36:32 UTC]    Books columns count: 53
[15-Nov-2025 19:36:32 UTC]    Categories columns count: 7
[15-Nov-2025 19:36:32 UTC]    Language field in books: YES
[15-Nov-2025 19:36:32 UTC]    Format field in books: YES
[15-Nov-2025 19:36:32 UTC]    Description field in categories: YES
[15-Nov-2025 19:36:32 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:36:32 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:36:32 UTC]    Is_active field in books: YES
[15-Nov-2025 19:36:32 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:36:32 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:36:32 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:36:32 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:36:32 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:36:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:36:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:36:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:36:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:36:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:36:32 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:36:32 UTC] 📊 Database Info:
[15-Nov-2025 19:36:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:36:32 UTC]    Books columns count: 53
[15-Nov-2025 19:36:32 UTC]    Categories columns count: 7
[15-Nov-2025 19:36:32 UTC]    Language field in books: YES
[15-Nov-2025 19:36:32 UTC]    Format field in books: YES
[15-Nov-2025 19:36:32 UTC]    Description field in categories: YES
[15-Nov-2025 19:36:32 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:36:32 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:36:32 UTC]    Is_active field in books: YES
[15-Nov-2025 19:36:32 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:36:32 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:36:32 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:36:32 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:36:32 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:36:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:36:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:36:32 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 19:36:32 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:36:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:36:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:36:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:36:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:36:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:36:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:36:32 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:36:32 UTC] 📊 Database Info:
[15-Nov-2025 19:36:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:36:32 UTC]    Books columns count: 53
[15-Nov-2025 19:36:32 UTC]    Categories columns count: 7
[15-Nov-2025 19:36:32 UTC]    Language field in books: YES
[15-Nov-2025 19:36:32 UTC]    Format field in books: YES
[15-Nov-2025 19:36:32 UTC]    Description field in categories: YES
[15-Nov-2025 19:36:32 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:36:32 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:36:32 UTC]    Is_active field in books: YES
[15-Nov-2025 19:36:32 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:36:32 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:36:32 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:36:32 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:36:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:36:32 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:36:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:36:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:36:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:36:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:36:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:36:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:36:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:36:32 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:36:32 UTC] 📊 Database Info:
[15-Nov-2025 19:36:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:36:32 UTC]    Books columns count: 53
[15-Nov-2025 19:36:32 UTC]    Categories columns count: 7
[15-Nov-2025 19:36:32 UTC]    Language field in books: YES
[15-Nov-2025 19:36:32 UTC]    Format field in books: YES
[15-Nov-2025 19:36:32 UTC]    Description field in categories: YES
[15-Nov-2025 19:36:32 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:36:32 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:36:32 UTC]    Is_active field in books: YES
[15-Nov-2025 19:36:32 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:36:32 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:36:32 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:36:32 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:36:32 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:36:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:36:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:03 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:03 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:03 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:03 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:03 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:03 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:03 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:03 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:03 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:03 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:03 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:03 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:03 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:03 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:03 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:03 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:03 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:03 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:03 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:03 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:03 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:03 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:03 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:03 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:03 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:03 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:03 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:03 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:03 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:03 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:03 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:03 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:03 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:03 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:03 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:03 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:03 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:03 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:03 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:03 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:03 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:04 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:04 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:04 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:04 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:04 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:04 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:04 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:04 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:04 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:04 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:04 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:04 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:04 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:04 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:04 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:04 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:04 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:04 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:04 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:04 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:04 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:04 UTC] 📊 Database Info:
[15-Nov-2025 19:37:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:04 UTC]    Books columns count: 53
[15-Nov-2025 19:37:04 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:04 UTC]    Language field in books: YES
[15-Nov-2025 19:37:04 UTC]    Format field in books: YES
[15-Nov-2025 19:37:04 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:04 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:04 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:04 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:04 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:04 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:04 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:04 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:04 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:04 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:04 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:04 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:04 UTC] 📊 Database Info:
[15-Nov-2025 19:37:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:04 UTC]    Books columns count: 53
[15-Nov-2025 19:37:04 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:04 UTC]    Language field in books: YES
[15-Nov-2025 19:37:04 UTC]    Format field in books: YES
[15-Nov-2025 19:37:04 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:04 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:04 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:04 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:04 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:04 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:04 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:04 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:04 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:04 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:04 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:04 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:04 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:04 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:04 UTC] 📊 Database Info:
[15-Nov-2025 19:37:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:04 UTC]    Books columns count: 53
[15-Nov-2025 19:37:04 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:04 UTC]    Language field in books: YES
[15-Nov-2025 19:37:04 UTC]    Format field in books: YES
[15-Nov-2025 19:37:04 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:04 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:04 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:04 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:04 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:04 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:04 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:04 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:04 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:04 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:04 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:04 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:04 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:04 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:04 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:04 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:04 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:04 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:04 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:04 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:04 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:04 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:04 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:04 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:04 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:04 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:04 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:04 UTC] 📊 Database Info:
[15-Nov-2025 19:37:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:04 UTC]    Books columns count: 53
[15-Nov-2025 19:37:04 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:04 UTC]    Language field in books: YES
[15-Nov-2025 19:37:04 UTC]    Format field in books: YES
[15-Nov-2025 19:37:04 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:04 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:04 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:04 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:04 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:04 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:04 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:04 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:04 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:04 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:04 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:04 UTC] 📊 Database Info:
[15-Nov-2025 19:37:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:04 UTC]    Books columns count: 53
[15-Nov-2025 19:37:04 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:04 UTC]    Language field in books: YES
[15-Nov-2025 19:37:04 UTC]    Format field in books: YES
[15-Nov-2025 19:37:04 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:04 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:04 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:04 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:04 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:04 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:04 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:04 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:04 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:04 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:04 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:04 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:04 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:04 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:04 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:04 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:04 UTC] 📊 Database Info:
[15-Nov-2025 19:37:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:04 UTC]    Books columns count: 53
[15-Nov-2025 19:37:04 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:04 UTC]    Language field in books: YES
[15-Nov-2025 19:37:04 UTC]    Format field in books: YES
[15-Nov-2025 19:37:04 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:04 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:04 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:04 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:04 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:04 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:04 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:04 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:04 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:04 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:04 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:05 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:05 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:05 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:05 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:05 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:05 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:05 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:05 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:05 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:05 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:05 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:05 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:05 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:05 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:05 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:05 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:05 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:05 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:05 UTC] 📊 Database Info:
[15-Nov-2025 19:37:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:05 UTC]    Books columns count: 53
[15-Nov-2025 19:37:05 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:05 UTC]    Language field in books: YES
[15-Nov-2025 19:37:05 UTC]    Format field in books: YES
[15-Nov-2025 19:37:05 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:05 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:05 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:05 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:05 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:05 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:05 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:05 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:05 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:05 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:05 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:05 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:05 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:05 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:05 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:05 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:05 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:05 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:05 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:05 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:05 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:05 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:05 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:05 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:06 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:06 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:06 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:06 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:06 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:06 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:06 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:06 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:06 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:06 UTC] 📊 Database Info:
[15-Nov-2025 19:37:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:06 UTC]    Books columns count: 53
[15-Nov-2025 19:37:06 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:06 UTC]    Language field in books: YES
[15-Nov-2025 19:37:06 UTC]    Format field in books: YES
[15-Nov-2025 19:37:06 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:06 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:06 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:06 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:06 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:06 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:06 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:06 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:06 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:06 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:06 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:06 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:06 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:06 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:06 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:06 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:06 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:06 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:06 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:06 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:06 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:06 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:06 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:06 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:06 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:06 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:06 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:06 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:06 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:06 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:06 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:06 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:06 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:06 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:06 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:06 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:06 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:06 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:06 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:06 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:06 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:06 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:06 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:06 UTC] 📊 Database Info:
[15-Nov-2025 19:37:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:06 UTC]    Books columns count: 53
[15-Nov-2025 19:37:06 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:06 UTC]    Language field in books: YES
[15-Nov-2025 19:37:06 UTC]    Format field in books: YES
[15-Nov-2025 19:37:06 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:06 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:06 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:06 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:06 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:06 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:06 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:06 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:06 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:06 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:06 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:09 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:09 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:09 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:09 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:09 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:09 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:09 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:09 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:09 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:09 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:09 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:09 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:09 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:09 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:09 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:09 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:10 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:10 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:10 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:10 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:10 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:10 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:10 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:10 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:10 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:10 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:10 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:10 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:10 UTC] 📊 Database Info:
[15-Nov-2025 19:37:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:10 UTC]    Books columns count: 53
[15-Nov-2025 19:37:10 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:10 UTC]    Language field in books: YES
[15-Nov-2025 19:37:10 UTC]    Format field in books: YES
[15-Nov-2025 19:37:10 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:10 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:10 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:10 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:10 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:10 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:10 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:10 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:10 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:10 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:10 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:10 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:10 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:10 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:10 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:10 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:10 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:10 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:10 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:10 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:10 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:10 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:10 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:10 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:10 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:10 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:10 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:10 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:10 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:10 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:10 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:10 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:10 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:10 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:10 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:10 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:10 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:10 UTC] 📊 Database Info:
[15-Nov-2025 19:37:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:10 UTC]    Books columns count: 53
[15-Nov-2025 19:37:10 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:10 UTC]    Language field in books: YES
[15-Nov-2025 19:37:10 UTC]    Format field in books: YES
[15-Nov-2025 19:37:10 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:10 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:10 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:10 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:10 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:10 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:10 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:10 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:10 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:10 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:11 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:11 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:11 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:11 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:11 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:11 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:11 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:11 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:11 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:11 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:11 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:11 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:11 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:11 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:11 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:11 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:11 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:11 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:11 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:11 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:11 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:11 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:11 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:11 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:11 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:11 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:11 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:11 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:11 UTC] 📊 Database Info:
[15-Nov-2025 19:37:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:11 UTC]    Books columns count: 53
[15-Nov-2025 19:37:11 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:11 UTC]    Language field in books: YES
[15-Nov-2025 19:37:11 UTC]    Format field in books: YES
[15-Nov-2025 19:37:11 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:11 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:11 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:11 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:11 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:11 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:11 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:11 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:11 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:11 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:11 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:15 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:15 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:15 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:15 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:15 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:15 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:15 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:15 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:16 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:16 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:16 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:16 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:16 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:16 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:16 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:16 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:16 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:16 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:16 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:16 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:16 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:16 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:16 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:16 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:16 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:16 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:16 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:16 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:16 UTC] 📊 Database Info:
[15-Nov-2025 19:37:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:16 UTC]    Books columns count: 53
[15-Nov-2025 19:37:16 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:16 UTC]    Language field in books: YES
[15-Nov-2025 19:37:16 UTC]    Format field in books: YES
[15-Nov-2025 19:37:16 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:16 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:16 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:16 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:16 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:16 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:16 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:16 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:16 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:16 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:16 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:16 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:16 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:16 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:16 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:16 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:16 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:16 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:16 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:16 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:16 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:16 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:16 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:16 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:16 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:17 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:17 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:17 UTC] 📊 Database Info:
[15-Nov-2025 19:37:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:17 UTC]    Books columns count: 53
[15-Nov-2025 19:37:17 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:17 UTC]    Language field in books: YES
[15-Nov-2025 19:37:17 UTC]    Format field in books: YES
[15-Nov-2025 19:37:17 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:17 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:17 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:17 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:17 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:17 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:17 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:17 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:17 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:17 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:17 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:17 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:17 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:17 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:17 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:17 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:17 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:17 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:17 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:17 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:17 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:17 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:17 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:17 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:17 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:17 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:17 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:17 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:17 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:17 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:17 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:17 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:17 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:17 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:17 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:17 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:17 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:17 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:17 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:17 UTC] 📊 Database Info:
[15-Nov-2025 19:37:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:17 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:17 UTC]    Books columns count: 53
[15-Nov-2025 19:37:17 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:17 UTC]    Language field in books: YES
[15-Nov-2025 19:37:17 UTC]    Format field in books: YES
[15-Nov-2025 19:37:17 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:17 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:17 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:17 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:17 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:17 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:17 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:17 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:17 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:17 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:17 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:17 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:17 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:17 UTC] 📊 Database Info:
[15-Nov-2025 19:37:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:17 UTC]    Books columns count: 53
[15-Nov-2025 19:37:17 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:17 UTC]    Language field in books: YES
[15-Nov-2025 19:37:17 UTC]    Format field in books: YES
[15-Nov-2025 19:37:17 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:17 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:17 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:17 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:17 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:17 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:17 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:17 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:17 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:17 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:17 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:17 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:17 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:17 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:17 UTC] 📊 Database Info:
[15-Nov-2025 19:37:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:17 UTC]    Books columns count: 53
[15-Nov-2025 19:37:17 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:17 UTC]    Language field in books: YES
[15-Nov-2025 19:37:17 UTC]    Format field in books: YES
[15-Nov-2025 19:37:17 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:17 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:17 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:17 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:17 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:17 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:17 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:17 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:17 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:17 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:17 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:17 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:17 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:17 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:17 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:17 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:17 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:17 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:17 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:17 UTC] 📊 Database Info:
[15-Nov-2025 19:37:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:17 UTC]    Books columns count: 53
[15-Nov-2025 19:37:17 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:17 UTC]    Language field in books: YES
[15-Nov-2025 19:37:17 UTC]    Format field in books: YES
[15-Nov-2025 19:37:17 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:17 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:17 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:17 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:17 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:17 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:17 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:17 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:17 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:18 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:18 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:18 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:18 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:18 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:18 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:18 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:18 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:18 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:18 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:18 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:18 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:18 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:18 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:18 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:18 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:18 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:18 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:18 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:18 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:18 UTC] 📊 Database Info:
[15-Nov-2025 19:37:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:18 UTC]    Books columns count: 53
[15-Nov-2025 19:37:18 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:18 UTC]    Language field in books: YES
[15-Nov-2025 19:37:18 UTC]    Format field in books: YES
[15-Nov-2025 19:37:18 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:18 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:18 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:18 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:18 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:18 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:18 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:18 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:18 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:18 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:18 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:18 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:18 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:18 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:18 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:18 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:18 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:18 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:18 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:18 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:18 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:18 UTC] 📊 Database Info:
[15-Nov-2025 19:37:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:18 UTC]    Books columns count: 53
[15-Nov-2025 19:37:18 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:18 UTC]    Language field in books: YES
[15-Nov-2025 19:37:18 UTC]    Format field in books: YES
[15-Nov-2025 19:37:18 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:18 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:18 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:18 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:18 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:18 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:18 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:18 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:18 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:18 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:18 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:18 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:18 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:18 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:18 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:18 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:18 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:18 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:18 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:18 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:18 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:18 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:18 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:18 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:18 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:18 UTC] 📊 Database Info:
[15-Nov-2025 19:37:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:18 UTC]    Books columns count: 53
[15-Nov-2025 19:37:18 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:18 UTC]    Language field in books: YES
[15-Nov-2025 19:37:18 UTC]    Format field in books: YES
[15-Nov-2025 19:37:18 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:18 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:18 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:18 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:18 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:18 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:18 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:18 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:18 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:18 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:18 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:19 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:19 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:19 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:19 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:19 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:19 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:19 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:19 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:19 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:19 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:19 UTC] 📊 Database Info:
[15-Nov-2025 19:37:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:19 UTC]    Books columns count: 53
[15-Nov-2025 19:37:19 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:19 UTC]    Language field in books: YES
[15-Nov-2025 19:37:19 UTC]    Format field in books: YES
[15-Nov-2025 19:37:19 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:19 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:19 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:19 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:19 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:19 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:19 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:19 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:19 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:19 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:19 UTC] 📊 Database Info:
[15-Nov-2025 19:37:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:19 UTC]    Books columns count: 53
[15-Nov-2025 19:37:19 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:19 UTC]    Language field in books: YES
[15-Nov-2025 19:37:19 UTC]    Format field in books: YES
[15-Nov-2025 19:37:19 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:19 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:19 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:19 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:19 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:19 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:19 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:19 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:19 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:19 UTC] 📊 Database Info:
[15-Nov-2025 19:37:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:19 UTC]    Books columns count: 53
[15-Nov-2025 19:37:19 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:19 UTC]    Language field in books: YES
[15-Nov-2025 19:37:19 UTC]    Format field in books: YES
[15-Nov-2025 19:37:19 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:19 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:19 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:19 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:19 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:19 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:19 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:19 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:19 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:19 UTC] 📊 Database Info:
[15-Nov-2025 19:37:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:19 UTC]    Books columns count: 53
[15-Nov-2025 19:37:19 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:19 UTC]    Language field in books: YES
[15-Nov-2025 19:37:19 UTC]    Format field in books: YES
[15-Nov-2025 19:37:19 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:19 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:19 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:19 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:19 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:19 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:19 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:19 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:19 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:19 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:19 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:19 UTC] 📊 Database Info:
[15-Nov-2025 19:37:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:19 UTC]    Books columns count: 53
[15-Nov-2025 19:37:19 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:19 UTC]    Language field in books: YES
[15-Nov-2025 19:37:19 UTC]    Format field in books: YES
[15-Nov-2025 19:37:19 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:19 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:19 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:19 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:19 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:19 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:19 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:19 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:19 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:20 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:20 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:20 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:20 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:20 UTC] 📊 Database Info:
[15-Nov-2025 19:37:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:20 UTC]    Books columns count: 53
[15-Nov-2025 19:37:20 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:20 UTC]    Language field in books: YES
[15-Nov-2025 19:37:20 UTC]    Format field in books: YES
[15-Nov-2025 19:37:20 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:20 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:20 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:20 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:20 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:20 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:20 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:20 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:20 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:20 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:20 UTC] 📊 Database Info:
[15-Nov-2025 19:37:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:20 UTC]    Books columns count: 53
[15-Nov-2025 19:37:20 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:20 UTC]    Language field in books: YES
[15-Nov-2025 19:37:20 UTC]    Format field in books: YES
[15-Nov-2025 19:37:20 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:20 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:20 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:20 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:20 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:20 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:20 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:20 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:20 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:20 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:20 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:20 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:20 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:20 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:20 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:20 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:20 UTC] 📊 Database Info:
[15-Nov-2025 19:37:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:20 UTC]    Books columns count: 53
[15-Nov-2025 19:37:20 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:20 UTC]    Language field in books: YES
[15-Nov-2025 19:37:20 UTC]    Format field in books: YES
[15-Nov-2025 19:37:20 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:20 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:20 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:20 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:20 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:20 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:20 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:20 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:20 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:21 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:21 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:21 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:21 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:21 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:21 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:21 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:21 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:21 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:21 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:21 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:21 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:21 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:21 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:21 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:21 UTC] 📊 Database Info:
[15-Nov-2025 19:37:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:21 UTC]    Books columns count: 53
[15-Nov-2025 19:37:21 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:21 UTC]    Language field in books: YES
[15-Nov-2025 19:37:21 UTC]    Format field in books: YES
[15-Nov-2025 19:37:21 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:21 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:21 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:21 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:21 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:21 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:21 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:21 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:21 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:21 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:21 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:21 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:21 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:21 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 19:37:21 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:21 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 19:37:21 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 19:37:21 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column institution already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:21 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:21 UTC] 📊 Database Info:
[15-Nov-2025 19:37:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:21 UTC]    Books columns count: 53
[15-Nov-2025 19:37:21 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:21 UTC]    Language field in books: YES
[15-Nov-2025 19:37:21 UTC]    Format field in books: YES
[15-Nov-2025 19:37:21 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:21 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:21 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:21 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:21 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:21 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:21 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:21 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:21 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:21 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:21 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:21 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:21 UTC] 📊 Database Info:
[15-Nov-2025 19:37:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:21 UTC]    Books columns count: 53
[15-Nov-2025 19:37:21 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:21 UTC]    Language field in books: YES
[15-Nov-2025 19:37:21 UTC]    Format field in books: YES
[15-Nov-2025 19:37:21 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:21 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:21 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:21 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:21 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 19:37:21 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:21 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:21 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:21 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:21 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:21 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:21 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column language already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column format already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:21 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:21 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:21 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 19:37:21 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 19:37:21 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 19:37:21 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 19:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 19:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 19:37:21 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 19:37:21 UTC] 📊 Database Info:
[15-Nov-2025 19:37:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 19:37:21 UTC]    Books columns count: 53
[15-Nov-2025 19:37:21 UTC]    Categories columns count: 7
[15-Nov-2025 19:37:21 UTC]    Language field in books: YES
[15-Nov-2025 19:37:21 UTC]    Format field in books: YES
[15-Nov-2025 19:37:21 UTC]    Description field in categories: YES
[15-Nov-2025 19:37:21 UTC]    Display_order field in categories: YES
[15-Nov-2025 19:37:21 UTC]    Is_active field in categories: YES
[15-Nov-2025 19:37:21 UTC]    Is_active field in books: YES
[15-Nov-2025 19:37:21 UTC]    External_download_link field in books: YES
[15-Nov-2025 19:37:21 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 19:37:21 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 19:37:21 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 19:37:21 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 19:37:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 19:37:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 19:37:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 19:37:21 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 19:37:21 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 22:52:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:52:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:52:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:52:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:52:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:52:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:52:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:52:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:52:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:52:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:52:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:52:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:52:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:52:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:52:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:52:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:52:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:52:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:52:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:00 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:53:00 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:00 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:53:00 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:00 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:53:00 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:00 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:00 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:53:00 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:53:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:00 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:00 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:00 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:00 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:00 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:00 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:53:00 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:00 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:53:00 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:53:00 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:00 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:01 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:01 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:01 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:01 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:01 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:01 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:53:01 UTC] 📊 Database Info:
[15-Nov-2025 22:53:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:53:01 UTC]    Books columns count: 53
[15-Nov-2025 22:53:01 UTC]    Categories columns count: 7
[15-Nov-2025 22:53:01 UTC]    Language field in books: YES
[15-Nov-2025 22:53:01 UTC]    Format field in books: YES
[15-Nov-2025 22:53:01 UTC]    Description field in categories: YES
[15-Nov-2025 22:53:01 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:53:01 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:53:01 UTC]    Is_active field in books: YES
[15-Nov-2025 22:53:01 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:53:01 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:53:01 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:53:01 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:53:01 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:01 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:53:01 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:01 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:01 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:01 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:53:01 UTC] 📊 Database Info:
[15-Nov-2025 22:53:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:53:01 UTC]    Books columns count: 53
[15-Nov-2025 22:53:01 UTC]    Categories columns count: 7
[15-Nov-2025 22:53:01 UTC]    Language field in books: YES
[15-Nov-2025 22:53:01 UTC]    Format field in books: YES
[15-Nov-2025 22:53:01 UTC]    Description field in categories: YES
[15-Nov-2025 22:53:01 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:53:01 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:53:01 UTC]    Is_active field in books: YES
[15-Nov-2025 22:53:01 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:53:01 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:53:01 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:53:01 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:53:01 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:53:01 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:01 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:53:01 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:01 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:01 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:01 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:01 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:01 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:53:01 UTC] 📊 Database Info:
[15-Nov-2025 22:53:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:53:01 UTC]    Books columns count: 53
[15-Nov-2025 22:53:01 UTC]    Categories columns count: 7
[15-Nov-2025 22:53:01 UTC]    Language field in books: YES
[15-Nov-2025 22:53:01 UTC]    Format field in books: YES
[15-Nov-2025 22:53:01 UTC]    Description field in categories: YES
[15-Nov-2025 22:53:01 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:53:01 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:53:01 UTC]    Is_active field in books: YES
[15-Nov-2025 22:53:01 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:53:01 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:53:01 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:53:01 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:53:01 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:53:01 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:01 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:53:01 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:01 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:01 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:53:01 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:53:01 UTC] 📊 Database Info:
[15-Nov-2025 22:53:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:53:01 UTC]    Books columns count: 53
[15-Nov-2025 22:53:01 UTC]    Categories columns count: 7
[15-Nov-2025 22:53:01 UTC]    Language field in books: YES
[15-Nov-2025 22:53:01 UTC]    Format field in books: YES
[15-Nov-2025 22:53:01 UTC]    Description field in categories: YES
[15-Nov-2025 22:53:01 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:53:01 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:53:01 UTC]    Is_active field in books: YES
[15-Nov-2025 22:53:01 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:53:01 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:53:01 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:53:01 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:53:01 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:53:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:53:01 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:53:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:53:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:53:01 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:53:01 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 22:53:01 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:53:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:53:01 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:01 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:01 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:01 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:01 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:01 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:01 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:01 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:53:01 UTC] 📊 Database Info:
[15-Nov-2025 22:53:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:53:01 UTC]    Books columns count: 53
[15-Nov-2025 22:53:01 UTC]    Categories columns count: 7
[15-Nov-2025 22:53:01 UTC]    Language field in books: YES
[15-Nov-2025 22:53:01 UTC]    Format field in books: YES
[15-Nov-2025 22:53:01 UTC]    Description field in categories: YES
[15-Nov-2025 22:53:01 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:53:01 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:53:01 UTC]    Is_active field in books: YES
[15-Nov-2025 22:53:01 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:53:01 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:53:01 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:53:01 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:53:01 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:53:01 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:53:01 UTC] 📊 Database Info:
[15-Nov-2025 22:53:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:53:01 UTC]    Books columns count: 53
[15-Nov-2025 22:53:01 UTC]    Categories columns count: 7
[15-Nov-2025 22:53:01 UTC]    Language field in books: YES
[15-Nov-2025 22:53:01 UTC]    Format field in books: YES
[15-Nov-2025 22:53:01 UTC]    Description field in categories: YES
[15-Nov-2025 22:53:01 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:53:01 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:53:01 UTC]    Is_active field in books: YES
[15-Nov-2025 22:53:01 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:53:01 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:53:01 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:53:01 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:53:01 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:53:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:53:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:53:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:53:01 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:01 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:01 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:01 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:01 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:01 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:53:01 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:53:01 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:01 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:02 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:02 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:02 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:02 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:02 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:02 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:02 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:02 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:02 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:02 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:02 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:02 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:02 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:02 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:02 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:02 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:02 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:02 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:02 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:02 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:02 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:02 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:02 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:53:02 UTC] 📊 Database Info:
[15-Nov-2025 22:53:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:53:02 UTC]    Books columns count: 53
[15-Nov-2025 22:53:02 UTC]    Categories columns count: 7
[15-Nov-2025 22:53:02 UTC]    Language field in books: YES
[15-Nov-2025 22:53:02 UTC]    Format field in books: YES
[15-Nov-2025 22:53:02 UTC]    Description field in categories: YES
[15-Nov-2025 22:53:02 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:53:02 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:53:02 UTC]    Is_active field in books: YES
[15-Nov-2025 22:53:02 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:53:02 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:53:02 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:53:02 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:53:02 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:53:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:53:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:53:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:53:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:53:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:53:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:53:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:53:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:53:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:53:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:53:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:53:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:53:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:53:15 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:15 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:16 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:16 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:16 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:53:16 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:16 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:16 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:16 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:16 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:16 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:53:16 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:16 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:16 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:16 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:16 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:53:16 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:16 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:16 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:16 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:53:16 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:53:16 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:16 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:16 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:16 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:16 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:16 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:16 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:53:16 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:16 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:53:16 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:53:16 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:16 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:16 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:16 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:53:16 UTC] 📊 Database Info:
[15-Nov-2025 22:53:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:53:16 UTC]    Books columns count: 53
[15-Nov-2025 22:53:16 UTC]    Categories columns count: 7
[15-Nov-2025 22:53:16 UTC]    Language field in books: YES
[15-Nov-2025 22:53:16 UTC]    Format field in books: YES
[15-Nov-2025 22:53:16 UTC]    Description field in categories: YES
[15-Nov-2025 22:53:16 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:53:16 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:53:16 UTC]    Is_active field in books: YES
[15-Nov-2025 22:53:16 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:53:16 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:53:16 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:53:16 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:53:16 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:16 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:16 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:16 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:16 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:53:16 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:17 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:17 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:17 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:17 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:17 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:17 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:53:17 UTC] 📊 Database Info:
[15-Nov-2025 22:53:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:53:17 UTC]    Books columns count: 53
[15-Nov-2025 22:53:17 UTC]    Categories columns count: 7
[15-Nov-2025 22:53:17 UTC]    Language field in books: YES
[15-Nov-2025 22:53:17 UTC]    Format field in books: YES
[15-Nov-2025 22:53:17 UTC]    Description field in categories: YES
[15-Nov-2025 22:53:17 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:53:17 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:53:17 UTC]    Is_active field in books: YES
[15-Nov-2025 22:53:17 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:53:17 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:53:17 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:53:17 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:53:17 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:53:17 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:17 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:53:17 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:53:17 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:53:17 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:17 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:17 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:17 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:17 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:53:17 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:17 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:53:17 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:17 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:17 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:53:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:53:17 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:17 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:53:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:53:17 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:17 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:17 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:17 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:17 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:17 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:53:17 UTC] 📊 Database Info:
[15-Nov-2025 22:53:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:17 UTC]    Books columns count: 53
[15-Nov-2025 22:53:17 UTC]    Categories columns count: 7
[15-Nov-2025 22:53:17 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:17 UTC]    Language field in books: YES
[15-Nov-2025 22:53:17 UTC]    Format field in books: YES
[15-Nov-2025 22:53:17 UTC]    Description field in categories: YES
[15-Nov-2025 22:53:17 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:53:17 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:53:17 UTC]    Is_active field in books: YES
[15-Nov-2025 22:53:17 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:53:17 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:53:17 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:53:17 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:53:17 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:53:17 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:53:17 UTC] 📊 Database Info:
[15-Nov-2025 22:53:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:53:17 UTC]    Books columns count: 53
[15-Nov-2025 22:53:17 UTC]    Categories columns count: 7
[15-Nov-2025 22:53:17 UTC]    Language field in books: YES
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:53:17 UTC]    Format field in books: YES
[15-Nov-2025 22:53:17 UTC]    Description field in categories: YES
[15-Nov-2025 22:53:17 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:53:17 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:53:17 UTC]    Is_active field in books: YES
[15-Nov-2025 22:53:17 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:53:17 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:53:17 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:53:17 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:53:17 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:53:17 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:53:17 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:53:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:53:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:53:17 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:17 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:17 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:17 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:17 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:17 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:17 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:53:17 UTC] 📊 Database Info:
[15-Nov-2025 22:53:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:53:17 UTC]    Books columns count: 53
[15-Nov-2025 22:53:17 UTC]    Categories columns count: 7
[15-Nov-2025 22:53:17 UTC]    Language field in books: YES
[15-Nov-2025 22:53:17 UTC]    Format field in books: YES
[15-Nov-2025 22:53:17 UTC]    Description field in categories: YES
[15-Nov-2025 22:53:17 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:53:17 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:53:17 UTC]    Is_active field in books: YES
[15-Nov-2025 22:53:17 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:53:17 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:53:17 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:53:17 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:53:17 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:17 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:17 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:53:17 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:53:17 UTC] 📊 Database Info:
[15-Nov-2025 22:53:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:53:17 UTC]    Books columns count: 53
[15-Nov-2025 22:53:17 UTC]    Categories columns count: 7
[15-Nov-2025 22:53:17 UTC]    Language field in books: YES
[15-Nov-2025 22:53:17 UTC]    Format field in books: YES
[15-Nov-2025 22:53:17 UTC]    Description field in categories: YES
[15-Nov-2025 22:53:17 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:53:17 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:53:17 UTC]    Is_active field in books: YES
[15-Nov-2025 22:53:17 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:53:17 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:53:17 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:53:17 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:53:17 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:53:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:53:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:53:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:53:17 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 22:53:17 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 22:53:22 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:22 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:22 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:22 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:22 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:22 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:22 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:22 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:22 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:22 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:22 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:22 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:53:22 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:53:22 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:53:22 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:53:22 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:53:22 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:53:22 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:53:22 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:53:22 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:53:22 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:53:22 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:53:22 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:53:22 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:53:22 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:53:22 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:53:22 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:53:22 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:53:22 UTC] 📊 Database Info:
[15-Nov-2025 22:53:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:53:22 UTC]    Books columns count: 53
[15-Nov-2025 22:53:22 UTC]    Categories columns count: 7
[15-Nov-2025 22:53:22 UTC]    Language field in books: YES
[15-Nov-2025 22:53:22 UTC]    Format field in books: YES
[15-Nov-2025 22:53:22 UTC]    Description field in categories: YES
[15-Nov-2025 22:53:22 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:53:22 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:53:22 UTC]    Is_active field in books: YES
[15-Nov-2025 22:53:22 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:53:22 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:53:22 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:53:22 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:53:22 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:53:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:53:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:53:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:53:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:53:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:53:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:53:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:53:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:53:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:53:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:53:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:53:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:53:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:54:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:54:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:54:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:54:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:54:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:54:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:54:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:54:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:54:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:54:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:54:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:54:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:54:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:54:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:54:59 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:54:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:54:59 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:54:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:54:59 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:54:59 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:54:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:54:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:54:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:54:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:54:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:54:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:54:59 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:54:59 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:54:59 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:54:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:54:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:54:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:54:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:54:59 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:54:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:54:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:54:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:54:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:54:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:54:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:54:59 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:54:59 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:54:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:54:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:54:59 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:54:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:54:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:54:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:54:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:54:59 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:54:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:54:59 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:54:59 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:54:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:54:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:54:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:54:59 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:54:59 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:54:59 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:54:59 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:54:59 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:55:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:55:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:55:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:55:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:55:00 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:55:00 UTC] 📊 Database Info:
[15-Nov-2025 22:55:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:55:00 UTC]    Books columns count: 53
[15-Nov-2025 22:55:00 UTC]    Categories columns count: 7
[15-Nov-2025 22:55:00 UTC]    Language field in books: YES
[15-Nov-2025 22:55:00 UTC]    Format field in books: YES
[15-Nov-2025 22:55:00 UTC]    Description field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Is_active field in books: YES
[15-Nov-2025 22:55:00 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:55:00 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:55:00 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:55:00 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:55:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:55:00 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:55:00 UTC] 📊 Database Info:
[15-Nov-2025 22:55:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:55:00 UTC]    Books columns count: 53
[15-Nov-2025 22:55:00 UTC]    Categories columns count: 7
[15-Nov-2025 22:55:00 UTC]    Language field in books: YES
[15-Nov-2025 22:55:00 UTC]    Format field in books: YES
[15-Nov-2025 22:55:00 UTC]    Description field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Is_active field in books: YES
[15-Nov-2025 22:55:00 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:55:00 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:55:00 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:55:00 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:55:00 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:55:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:55:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:55:00 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:55:00 UTC] 📊 Database Info:
[15-Nov-2025 22:55:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:55:00 UTC]    Books columns count: 53
[15-Nov-2025 22:55:00 UTC]    Categories columns count: 7
[15-Nov-2025 22:55:00 UTC]    Language field in books: YES
[15-Nov-2025 22:55:00 UTC]    Format field in books: YES
[15-Nov-2025 22:55:00 UTC]    Description field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Is_active field in books: YES
[15-Nov-2025 22:55:00 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:55:00 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:55:00 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:55:00 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:55:00 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:55:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:55:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:55:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:55:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:55:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:55:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:55:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:55:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:55:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:55:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:55:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:55:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:55:00 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:55:00 UTC] 📊 Database Info:
[15-Nov-2025 22:55:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:55:00 UTC]    Books columns count: 53
[15-Nov-2025 22:55:00 UTC]    Categories columns count: 7
[15-Nov-2025 22:55:00 UTC]    Language field in books: YES
[15-Nov-2025 22:55:00 UTC]    Format field in books: YES
[15-Nov-2025 22:55:00 UTC]    Description field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Is_active field in books: YES
[15-Nov-2025 22:55:00 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:55:00 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:55:00 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:55:00 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:55:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:55:00 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 22:55:00 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 22:55:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:55:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:55:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:55:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:55:00 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:55:00 UTC] 📊 Database Info:
[15-Nov-2025 22:55:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:55:00 UTC]    Books columns count: 53
[15-Nov-2025 22:55:00 UTC]    Categories columns count: 7
[15-Nov-2025 22:55:00 UTC]    Language field in books: YES
[15-Nov-2025 22:55:00 UTC]    Format field in books: YES
[15-Nov-2025 22:55:00 UTC]    Description field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Is_active field in books: YES
[15-Nov-2025 22:55:00 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:55:00 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:55:00 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:55:00 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:55:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:55:00 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:55:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:55:00 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:55:00 UTC] 📊 Database Info:
[15-Nov-2025 22:55:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:55:00 UTC]    Books columns count: 53
[15-Nov-2025 22:55:00 UTC]    Categories columns count: 7
[15-Nov-2025 22:55:00 UTC]    Language field in books: YES
[15-Nov-2025 22:55:00 UTC]    Format field in books: YES
[15-Nov-2025 22:55:00 UTC]    Description field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Is_active field in books: YES
[15-Nov-2025 22:55:00 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:55:00 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:55:00 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:55:00 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:55:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:55:00 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 22:55:00 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:55:00 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:55:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:55:00 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:55:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:55:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:55:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:55:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:55:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:55:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:55:00 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:55:00 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:55:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:55:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:55:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:55:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:55:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:55:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:55:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:55:00 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:55:00 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:55:00 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:55:00 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:55:00 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:55:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:55:00 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:55:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:55:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:55:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:55:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:55:00 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:55:00 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:55:00 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:55:00 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:55:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:55:00 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:55:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:55:00 UTC] 📊 Database Info:
[15-Nov-2025 22:55:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:55:00 UTC]    Books columns count: 53
[15-Nov-2025 22:55:00 UTC]    Categories columns count: 7
[15-Nov-2025 22:55:00 UTC]    Language field in books: YES
[15-Nov-2025 22:55:00 UTC]    Format field in books: YES
[15-Nov-2025 22:55:00 UTC]    Description field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Is_active field in books: YES
[15-Nov-2025 22:55:00 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:55:00 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:55:00 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:55:00 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:55:00 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:55:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:55:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:55:00 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:55:00 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:55:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:55:00 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 22:55:00 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 22:55:00 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:55:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:55:00 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:55:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:55:00 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:55:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:55:00 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:55:00 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:55:00 UTC] 📊 Database Info:
[15-Nov-2025 22:55:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:55:00 UTC]    Books columns count: 53
[15-Nov-2025 22:55:00 UTC]    Categories columns count: 7
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:55:00 UTC]    Language field in books: YES
[15-Nov-2025 22:55:00 UTC]    Format field in books: YES
[15-Nov-2025 22:55:00 UTC]    Description field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Is_active field in books: YES
[15-Nov-2025 22:55:00 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:55:00 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:55:00 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:55:00 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:55:00 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:55:00 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:55:00 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:55:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:55:00 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:55:00 UTC] 📊 Database Info:
[15-Nov-2025 22:55:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:55:00 UTC]    Books columns count: 53
[15-Nov-2025 22:55:00 UTC]    Categories columns count: 7
[15-Nov-2025 22:55:00 UTC]    Language field in books: YES
[15-Nov-2025 22:55:00 UTC]    Format field in books: YES
[15-Nov-2025 22:55:00 UTC]    Description field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:55:00 UTC]    Is_active field in books: YES
[15-Nov-2025 22:55:00 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:55:00 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:55:00 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:55:00 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:55:00 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:55:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:55:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 22:55:23 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:55:23 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:55:23 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:55:23 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:55:23 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:55:23 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:55:23 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:55:23 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:55:23 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:55:23 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:55:23 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:55:23 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:55:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:55:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:55:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 22:55:23 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 22:55:23 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 22:55:23 UTC] ℹ️ Column institution already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column language already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column format already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 22:55:23 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 22:55:23 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 22:55:23 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 22:55:23 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 22:55:23 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 22:55:23 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 22:55:23 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 22:55:23 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 22:55:23 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 22:55:23 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 22:55:23 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 22:55:23 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 22:55:23 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 22:55:23 UTC] 📊 Database Info:
[15-Nov-2025 22:55:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 22:55:23 UTC]    Books columns count: 53
[15-Nov-2025 22:55:23 UTC]    Categories columns count: 7
[15-Nov-2025 22:55:23 UTC]    Language field in books: YES
[15-Nov-2025 22:55:23 UTC]    Format field in books: YES
[15-Nov-2025 22:55:23 UTC]    Description field in categories: YES
[15-Nov-2025 22:55:23 UTC]    Display_order field in categories: YES
[15-Nov-2025 22:55:23 UTC]    Is_active field in categories: YES
[15-Nov-2025 22:55:23 UTC]    Is_active field in books: YES
[15-Nov-2025 22:55:23 UTC]    External_download_link field in books: YES
[15-Nov-2025 22:55:23 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 22:55:23 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 22:55:23 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 22:55:23 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 22:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 22:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 22:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 22:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 22:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 22:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 22:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 22:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 22:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 22:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 22:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 22:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 22:55:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:21:31 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:21:31 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:21:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:21:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:21:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:21:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:21:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:21:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:21:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:21:32 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:21:32 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:21:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:21:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:21:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:21:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:21:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:21:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:21:32 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:21:32 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:21:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:21:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:21:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:21:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:21:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:21:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:21:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:21:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:21:32 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:21:32 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:21:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:21:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:21:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:21:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:21:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:21:32 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:21:32 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:21:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:21:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:21:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:21:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:21:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:21:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:21:32 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:21:32 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:21:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:21:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:21:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:21:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:21:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:21:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:21:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:21:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:21:32 UTC] 📊 Database Info:
[15-Nov-2025 23:21:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:21:32 UTC]    Books columns count: 53
[15-Nov-2025 23:21:32 UTC]    Categories columns count: 7
[15-Nov-2025 23:21:32 UTC]    Language field in books: YES
[15-Nov-2025 23:21:32 UTC]    Format field in books: YES
[15-Nov-2025 23:21:32 UTC]    Description field in categories: YES
[15-Nov-2025 23:21:32 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:21:32 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:21:32 UTC]    Is_active field in books: YES
[15-Nov-2025 23:21:32 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:21:32 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:21:32 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:21:32 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:21:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:21:32 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:21:32 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:21:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:21:32 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:21:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:21:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:21:32 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:21:32 UTC] 📊 Database Info:
[15-Nov-2025 23:21:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:21:32 UTC]    Books columns count: 53
[15-Nov-2025 23:21:32 UTC]    Categories columns count: 7
[15-Nov-2025 23:21:32 UTC]    Language field in books: YES
[15-Nov-2025 23:21:32 UTC]    Format field in books: YES
[15-Nov-2025 23:21:32 UTC]    Description field in categories: YES
[15-Nov-2025 23:21:32 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:21:32 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:21:32 UTC]    Is_active field in books: YES
[15-Nov-2025 23:21:32 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:21:32 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:21:32 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:21:32 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:21:32 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:21:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:21:32 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:21:32 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:21:32 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:21:32 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:21:32 UTC] 📊 Database Info:
[15-Nov-2025 23:21:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:21:32 UTC]    Books columns count: 53
[15-Nov-2025 23:21:32 UTC]    Categories columns count: 7
[15-Nov-2025 23:21:32 UTC]    Language field in books: YES
[15-Nov-2025 23:21:32 UTC]    Format field in books: YES
[15-Nov-2025 23:21:32 UTC]    Description field in categories: YES
[15-Nov-2025 23:21:32 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:21:32 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:21:32 UTC]    Is_active field in books: YES
[15-Nov-2025 23:21:32 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:21:32 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:21:32 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:21:32 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:21:32 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:21:32 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:21:32 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:21:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:21:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:21:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:21:32 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:21:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:21:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:21:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:21:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:21:32 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 23:21:32 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:21:32 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:21:33 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:21:33 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:21:33 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:21:33 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:21:33 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:21:33 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:21:33 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:21:33 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:21:33 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:21:33 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:21:33 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:21:33 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:21:33 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:21:33 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:21:33 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:21:33 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:21:33 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:21:33 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:21:33 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:21:33 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:21:33 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:21:33 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:21:33 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:21:33 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:21:33 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:21:33 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:21:33 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:21:33 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:21:33 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:21:33 UTC] 📊 Database Info:
[15-Nov-2025 23:21:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:21:33 UTC]    Books columns count: 53
[15-Nov-2025 23:21:33 UTC]    Categories columns count: 7
[15-Nov-2025 23:21:33 UTC]    Language field in books: YES
[15-Nov-2025 23:21:33 UTC]    Format field in books: YES
[15-Nov-2025 23:21:33 UTC]    Description field in categories: YES
[15-Nov-2025 23:21:33 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:21:33 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:21:33 UTC]    Is_active field in books: YES
[15-Nov-2025 23:21:33 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:21:33 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:21:33 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:21:33 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:21:33 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:21:33 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:21:33 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:21:33 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:21:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:21:33 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:21:33 UTC] 📊 Database Info:
[15-Nov-2025 23:21:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:21:33 UTC]    Books columns count: 53
[15-Nov-2025 23:21:33 UTC]    Categories columns count: 7
[15-Nov-2025 23:21:33 UTC]    Language field in books: YES
[15-Nov-2025 23:21:33 UTC]    Format field in books: YES
[15-Nov-2025 23:21:33 UTC]    Description field in categories: YES
[15-Nov-2025 23:21:33 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:21:33 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:21:33 UTC]    Is_active field in books: YES
[15-Nov-2025 23:21:33 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:21:33 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:21:33 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:21:33 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:21:33 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:21:33 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:21:33 UTC] 📊 Database Info:
[15-Nov-2025 23:21:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:21:33 UTC]    Books columns count: 53
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:21:33 UTC]    Categories columns count: 7
[15-Nov-2025 23:21:33 UTC]    Language field in books: YES
[15-Nov-2025 23:21:33 UTC]    Format field in books: YES
[15-Nov-2025 23:21:33 UTC]    Description field in categories: YES
[15-Nov-2025 23:21:33 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:21:33 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:21:33 UTC]    Is_active field in books: YES
[15-Nov-2025 23:21:33 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:21:33 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:21:33 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:21:33 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:21:33 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:21:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:21:33 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 23:21:33 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:21:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:25:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:25:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:25:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:25:19 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:25:19 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:25:19 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:25:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:25:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:25:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:25:19 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:25:19 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:25:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:25:19 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:25:19 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:25:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:25:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:25:19 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:25:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:25:19 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:25:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:25:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:25:19 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:25:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:25:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:25:19 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:25:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:25:19 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:25:19 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:25:19 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:25:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:25:19 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:25:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:25:19 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:25:19 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:25:19 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:25:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:25:19 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:25:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:25:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:25:19 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:25:19 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:25:19 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:25:19 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:25:19 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:25:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:25:20 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:25:20 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:25:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:25:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:25:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:25:20 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:25:20 UTC] 📊 Database Info:
[15-Nov-2025 23:25:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:25:20 UTC]    Books columns count: 53
[15-Nov-2025 23:25:20 UTC]    Categories columns count: 7
[15-Nov-2025 23:25:20 UTC]    Language field in books: YES
[15-Nov-2025 23:25:20 UTC]    Format field in books: YES
[15-Nov-2025 23:25:20 UTC]    Description field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Is_active field in books: YES
[15-Nov-2025 23:25:20 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:25:20 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:25:20 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:25:20 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:25:20 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:25:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:25:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:25:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:25:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:25:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:25:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:25:20 UTC] 📊 Database Info:
[15-Nov-2025 23:25:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:25:20 UTC]    Books columns count: 53
[15-Nov-2025 23:25:20 UTC]    Categories columns count: 7
[15-Nov-2025 23:25:20 UTC]    Language field in books: YES
[15-Nov-2025 23:25:20 UTC]    Format field in books: YES
[15-Nov-2025 23:25:20 UTC]    Description field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Is_active field in books: YES
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:25:20 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:25:20 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:25:20 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:25:20 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:25:20 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:25:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:25:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:25:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:25:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:25:20 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:25:20 UTC] 📊 Database Info:
[15-Nov-2025 23:25:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:25:20 UTC]    Books columns count: 53
[15-Nov-2025 23:25:20 UTC]    Categories columns count: 7
[15-Nov-2025 23:25:20 UTC]    Language field in books: YES
[15-Nov-2025 23:25:20 UTC]    Format field in books: YES
[15-Nov-2025 23:25:20 UTC]    Description field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Is_active field in books: YES
[15-Nov-2025 23:25:20 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:25:20 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:25:20 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:25:20 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:25:20 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:25:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:25:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:25:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:25:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:25:20 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 23:25:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:25:20 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 23:25:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:25:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:25:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:25:20 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:25:20 UTC] 📊 Database Info:
[15-Nov-2025 23:25:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:25:20 UTC]    Books columns count: 53
[15-Nov-2025 23:25:20 UTC]    Categories columns count: 7
[15-Nov-2025 23:25:20 UTC]    Language field in books: YES
[15-Nov-2025 23:25:20 UTC]    Format field in books: YES
[15-Nov-2025 23:25:20 UTC]    Description field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Is_active field in books: YES
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:25:20 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:25:20 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:25:20 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:25:20 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:25:20 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:25:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:25:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:25:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:25:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:25:20 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:25:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:25:20 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 23:25:20 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:25:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:25:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:25:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:25:20 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:25:20 UTC] 📊 Database Info:
[15-Nov-2025 23:25:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:25:20 UTC]    Books columns count: 53
[15-Nov-2025 23:25:20 UTC]    Categories columns count: 7
[15-Nov-2025 23:25:20 UTC]    Language field in books: YES
[15-Nov-2025 23:25:20 UTC]    Format field in books: YES
[15-Nov-2025 23:25:20 UTC]    Description field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Is_active field in books: YES
[15-Nov-2025 23:25:20 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:25:20 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:25:20 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:25:20 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:25:20 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:25:20 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:25:20 UTC] 📊 Database Info:
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:25:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:25:20 UTC]    Books columns count: 53
[15-Nov-2025 23:25:20 UTC]    Categories columns count: 7
[15-Nov-2025 23:25:20 UTC]    Language field in books: YES
[15-Nov-2025 23:25:20 UTC]    Format field in books: YES
[15-Nov-2025 23:25:20 UTC]    Description field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Is_active field in books: YES
[15-Nov-2025 23:25:20 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:25:20 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:25:20 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:25:20 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:25:20 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:25:20 UTC] 📊 Database Info:
[15-Nov-2025 23:25:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:25:20 UTC]    Books columns count: 53
[15-Nov-2025 23:25:20 UTC]    Categories columns count: 7
[15-Nov-2025 23:25:20 UTC]    Language field in books: YES
[15-Nov-2025 23:25:20 UTC]    Format field in books: YES
[15-Nov-2025 23:25:20 UTC]    Description field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Is_active field in books: YES
[15-Nov-2025 23:25:20 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:25:20 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:25:20 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:25:20 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:25:20 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:25:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:25:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:25:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:25:20 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:25:20 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:25:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:25:20 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:25:20 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:25:20 UTC] 📊 Database Info:
[15-Nov-2025 23:25:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:25:20 UTC]    Books columns count: 53
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:25:20 UTC]    Categories columns count: 7
[15-Nov-2025 23:25:20 UTC]    Language field in books: YES
[15-Nov-2025 23:25:20 UTC]    Format field in books: YES
[15-Nov-2025 23:25:20 UTC]    Description field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Is_active field in books: YES
[15-Nov-2025 23:25:20 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:25:20 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:25:20 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:25:20 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:25:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:25:20 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:25:20 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:25:20 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:25:20 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:25:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:25:20 UTC] 📊 Database Info:
[15-Nov-2025 23:25:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:25:20 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 23:25:20 UTC]    Books columns count: 53
[15-Nov-2025 23:25:20 UTC]    Categories columns count: 7
[15-Nov-2025 23:25:20 UTC]    Language field in books: YES
[15-Nov-2025 23:25:20 UTC]    Format field in books: YES
[15-Nov-2025 23:25:20 UTC]    Description field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:25:20 UTC]    Is_active field in books: YES
[15-Nov-2025 23:25:20 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:25:20 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:25:20 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:25:20 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:25:20 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:25:20 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:25:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:25:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:26:15 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:26:15 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:26:15 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:26:15 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:26:15 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:26:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:26:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:26:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:26:15 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:26:15 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:26:15 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:26:15 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:26:15 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:26:15 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:26:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:26:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:26:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:26:15 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:26:15 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:26:15 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:26:15 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:26:15 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:26:15 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:26:15 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:26:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:26:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:26:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:26:15 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:26:15 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:26:15 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:26:15 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:26:15 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:26:15 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:26:15 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:26:15 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:26:15 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:26:15 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:26:15 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:26:15 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:26:15 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:26:15 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:26:15 UTC] 📊 Database Info:
[15-Nov-2025 23:26:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:26:15 UTC]    Books columns count: 53
[15-Nov-2025 23:26:15 UTC]    Categories columns count: 7
[15-Nov-2025 23:26:15 UTC]    Language field in books: YES
[15-Nov-2025 23:26:15 UTC]    Format field in books: YES
[15-Nov-2025 23:26:15 UTC]    Description field in categories: YES
[15-Nov-2025 23:26:15 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:26:15 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:26:15 UTC]    Is_active field in books: YES
[15-Nov-2025 23:26:15 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:26:15 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:26:15 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:26:15 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:26:15 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:26:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:26:15 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:26:15 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:26:15 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:26:15 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:26:15 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:26:15 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:26:15 UTC] 📊 Database Info:
[15-Nov-2025 23:26:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:26:15 UTC]    Books columns count: 53
[15-Nov-2025 23:26:15 UTC]    Categories columns count: 7
[15-Nov-2025 23:26:15 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:26:15 UTC]    Language field in books: YES
[15-Nov-2025 23:26:15 UTC]    Format field in books: YES
[15-Nov-2025 23:26:15 UTC]    Description field in categories: YES
[15-Nov-2025 23:26:15 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:26:15 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:26:15 UTC]    Is_active field in books: YES
[15-Nov-2025 23:26:15 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:26:15 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:26:15 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:26:15 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:26:15 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:26:15 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:26:15 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:26:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:26:15 UTC] 📁 جلب التصنيفات النشطة فقط
[15-Nov-2025 23:26:15 UTC] ✅ إرجاع 5 تصنيف نشط
[15-Nov-2025 23:26:15 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:26:15 UTC] 📊 Database Info:
[15-Nov-2025 23:26:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:26:15 UTC]    Books columns count: 53
[15-Nov-2025 23:26:15 UTC]    Categories columns count: 7
[15-Nov-2025 23:26:15 UTC]    Language field in books: YES
[15-Nov-2025 23:26:15 UTC]    Format field in books: YES
[15-Nov-2025 23:26:15 UTC]    Description field in categories: YES
[15-Nov-2025 23:26:15 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:26:15 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:26:15 UTC]    Is_active field in books: YES
[15-Nov-2025 23:26:15 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:26:15 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:26:15 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:26:15 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:26:15 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:26:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:26:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:39:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:39:54 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:39:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:39:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:39:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:39:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:39:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:39:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:39:55 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:39:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:39:55 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:39:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:39:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:39:55 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:39:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:39:55 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:39:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:39:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:39:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:39:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:39:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:39:55 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:39:55 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:39:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:39:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:39:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:39:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:39:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:39:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:39:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:39:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:39:55 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:39:55 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:39:55 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:39:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:39:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:39:55 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:39:55 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:39:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:55 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:39:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:39:55 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:39:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:39:55 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:39:55 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:39:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:39:55 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:39:55 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:39:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:39:55 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:39:55 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:39:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:39:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:39:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:39:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:39:56 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:39:56 UTC] 📊 Database Info:
[15-Nov-2025 23:39:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:39:56 UTC]    Books columns count: 53
[15-Nov-2025 23:39:56 UTC]    Categories columns count: 7
[15-Nov-2025 23:39:56 UTC]    Language field in books: YES
[15-Nov-2025 23:39:56 UTC]    Format field in books: YES
[15-Nov-2025 23:39:56 UTC]    Description field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Is_active field in books: YES
[15-Nov-2025 23:39:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:39:56 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:39:56 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:39:56 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:39:56 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:39:56 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:39:56 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:39:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:39:56 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:39:56 UTC] 📊 Database Info:
[15-Nov-2025 23:39:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:39:56 UTC]    Books columns count: 53
[15-Nov-2025 23:39:56 UTC]    Categories columns count: 7
[15-Nov-2025 23:39:56 UTC]    Language field in books: YES
[15-Nov-2025 23:39:56 UTC]    Format field in books: YES
[15-Nov-2025 23:39:56 UTC]    Description field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Is_active field in books: YES
[15-Nov-2025 23:39:56 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:39:56 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:39:56 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:39:56 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:39:56 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:39:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:39:56 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:39:56 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:39:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:39:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:39:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:39:56 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:39:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:39:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:39:56 UTC] 📊 Database Info:
[15-Nov-2025 23:39:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:39:56 UTC]    Books columns count: 53
[15-Nov-2025 23:39:56 UTC]    Categories columns count: 7
[15-Nov-2025 23:39:56 UTC]    Language field in books: YES
[15-Nov-2025 23:39:56 UTC]    Format field in books: YES
[15-Nov-2025 23:39:56 UTC]    Description field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Is_active field in books: YES
[15-Nov-2025 23:39:56 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:39:56 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:39:56 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:39:56 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:39:56 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:39:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:39:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:39:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:39:56 UTC] 📊 Database Info:
[15-Nov-2025 23:39:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:39:56 UTC]    Books columns count: 53
[15-Nov-2025 23:39:56 UTC]    Categories columns count: 7
[15-Nov-2025 23:39:56 UTC]    Language field in books: YES
[15-Nov-2025 23:39:56 UTC]    Format field in books: YES
[15-Nov-2025 23:39:56 UTC]    Description field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Is_active field in books: YES
[15-Nov-2025 23:39:56 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:39:56 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:39:56 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:39:56 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:39:56 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:39:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:39:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:39:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:39:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:39:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:39:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 23:39:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:39:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:39:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:39:56 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 23:39:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:39:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:39:56 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:39:56 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:39:56 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:39:56 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:39:56 UTC] 📊 Database Info:
[15-Nov-2025 23:39:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:39:56 UTC]    Books columns count: 53
[15-Nov-2025 23:39:56 UTC]    Categories columns count: 7
[15-Nov-2025 23:39:56 UTC]    Language field in books: YES
[15-Nov-2025 23:39:56 UTC]    Format field in books: YES
[15-Nov-2025 23:39:56 UTC]    Description field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:39:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:39:56 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Is_active field in books: YES
[15-Nov-2025 23:39:56 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:39:56 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:39:56 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:39:56 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:39:56 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:39:56 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:39:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:39:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 23:39:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 23:39:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:39:56 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:39:56 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:39:56 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:39:56 UTC] 📊 Database Info:
[15-Nov-2025 23:39:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:39:56 UTC]    Books columns count: 53
[15-Nov-2025 23:39:56 UTC]    Categories columns count: 7
[15-Nov-2025 23:39:56 UTC]    Language field in books: YES
[15-Nov-2025 23:39:56 UTC]    Format field in books: YES
[15-Nov-2025 23:39:56 UTC]    Description field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:39:56 UTC]    Is_active field in books: YES
[15-Nov-2025 23:39:56 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:39:56 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:39:56 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:39:56 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:39:56 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:39:56 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:39:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:39:56 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:39:56 UTC] 📊 Database Info:
[15-Nov-2025 23:39:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:39:56 UTC]    Books columns count: 53
[15-Nov-2025 23:39:56 UTC]    Categories columns count: 7
[15-Nov-2025 23:39:56 UTC]    Language field in books: YES
[15-Nov-2025 23:39:56 UTC]    Format field in books: YES
[15-Nov-2025 23:39:56 UTC]    Description field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:39:56 UTC]    Is_active field in books: YES
[15-Nov-2025 23:39:56 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:39:56 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:39:56 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:39:56 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:39:56 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:39:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:39:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:39:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 23:39:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 23:39:56 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 23:39:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:39:57 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:39:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:39:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:39:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:39:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:39:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:39:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:39:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:39:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:39:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:39:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:39:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:39:57 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:39:57 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:39:57 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:39:57 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:39:57 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:39:57 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:39:57 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:39:57 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:39:57 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:39:57 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:39:57 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:39:57 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:39:57 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:39:57 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:39:57 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:39:57 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:39:57 UTC] 📊 Database Info:
[15-Nov-2025 23:39:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:39:57 UTC]    Books columns count: 53
[15-Nov-2025 23:39:57 UTC]    Categories columns count: 7
[15-Nov-2025 23:39:57 UTC]    Language field in books: YES
[15-Nov-2025 23:39:57 UTC]    Format field in books: YES
[15-Nov-2025 23:39:57 UTC]    Description field in categories: YES
[15-Nov-2025 23:39:57 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:39:57 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:39:57 UTC]    Is_active field in books: YES
[15-Nov-2025 23:39:57 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:39:57 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:39:57 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:39:57 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:39:57 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:39:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:39:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:39:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:39:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:39:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:39:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:39:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:39:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:39:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:39:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:39:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:39:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:39:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:39:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 23:39:57 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 23:39:57 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 23:40:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:40:42 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:40:42 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:40:42 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:40:42 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:40:42 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:40:42 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:40:42 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:40:42 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:40:42 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:40:42 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:40:42 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:40:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:40:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:40:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:40:42 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:40:42 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:40:42 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:40:42 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:40:42 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:40:42 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:40:42 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:40:42 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:40:42 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:40:42 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:40:42 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:40:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:40:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:40:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:40:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:40:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:40:42 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:40:42 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:40:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:40:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:40:42 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:40:42 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:40:42 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:40:42 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:40:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:40:42 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:40:42 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:40:42 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:40:42 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:40:42 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:40:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:40:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:40:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:40:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:40:42 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:40:42 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:40:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:40:42 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:40:43 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:40:43 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:40:43 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:40:43 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:40:43 UTC] 📊 Database Info:
[15-Nov-2025 23:40:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:40:43 UTC]    Books columns count: 53
[15-Nov-2025 23:40:43 UTC]    Categories columns count: 7
[15-Nov-2025 23:40:43 UTC]    Language field in books: YES
[15-Nov-2025 23:40:43 UTC]    Format field in books: YES
[15-Nov-2025 23:40:43 UTC]    Description field in categories: YES
[15-Nov-2025 23:40:43 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:40:43 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:40:43 UTC]    Is_active field in books: YES
[15-Nov-2025 23:40:43 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:40:43 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:40:43 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:40:43 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:40:43 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:40:43 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:40:43 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:40:43 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:40:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:40:43 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:40:43 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:40:43 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:40:43 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:40:43 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:40:43 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:40:43 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:40:43 UTC] 📊 Database Info:
[15-Nov-2025 23:40:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:40:43 UTC]    Books columns count: 53
[15-Nov-2025 23:40:43 UTC]    Categories columns count: 7
[15-Nov-2025 23:40:43 UTC]    Language field in books: YES
[15-Nov-2025 23:40:43 UTC]    Format field in books: YES
[15-Nov-2025 23:40:43 UTC]    Description field in categories: YES
[15-Nov-2025 23:40:43 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:40:43 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:40:43 UTC]    Is_active field in books: YES
[15-Nov-2025 23:40:43 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:40:43 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:40:43 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:40:43 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:40:43 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:40:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:40:43 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:40:43 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:40:43 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:40:43 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:40:43 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:40:43 UTC] 📊 Database Info:
[15-Nov-2025 23:40:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:40:43 UTC]    Books columns count: 53
[15-Nov-2025 23:40:43 UTC]    Categories columns count: 7
[15-Nov-2025 23:40:43 UTC]    Language field in books: YES
[15-Nov-2025 23:40:43 UTC]    Format field in books: YES
[15-Nov-2025 23:40:43 UTC]    Description field in categories: YES
[15-Nov-2025 23:40:43 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:40:43 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:40:43 UTC]    Is_active field in books: YES
[15-Nov-2025 23:40:43 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:40:43 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:40:43 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:40:43 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:40:43 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:40:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:40:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:40:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 23:40:43 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 23:40:43 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 23:40:43 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:40:43 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:40:43 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:40:43 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:40:43 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:40:43 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:40:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:40:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:40:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:40:43 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:40:43 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:40:43 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:40:43 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:40:44 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:40:44 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:40:44 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:40:44 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:40:44 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:40:44 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:40:44 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:40:44 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:40:44 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:40:44 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:40:44 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:40:44 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:40:44 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:40:44 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:40:44 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:40:44 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:40:44 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:40:44 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:40:44 UTC] 📊 Database Info:
[15-Nov-2025 23:40:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:40:44 UTC]    Books columns count: 53
[15-Nov-2025 23:40:44 UTC]    Categories columns count: 7
[15-Nov-2025 23:40:44 UTC]    Language field in books: YES
[15-Nov-2025 23:40:44 UTC]    Format field in books: YES
[15-Nov-2025 23:40:44 UTC]    Description field in categories: YES
[15-Nov-2025 23:40:44 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:40:44 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:40:44 UTC]    Is_active field in books: YES
[15-Nov-2025 23:40:44 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:40:44 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:40:44 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:40:44 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:40:44 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:40:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:40:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 23:40:44 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 23:40:44 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 23:42:11 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:42:11 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:42:11 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:42:11 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:42:11 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:42:11 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:42:11 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:42:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:42:11 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:42:11 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:42:11 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:42:11 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:42:11 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:42:11 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:42:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:42:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:42:11 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:42:11 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:42:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:11 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:42:11 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:42:11 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:42:11 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:42:11 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:42:11 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:42:11 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:42:11 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:42:11 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:42:11 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:42:11 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:42:11 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:42:11 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:42:11 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:42:11 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:42:11 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:42:11 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:42:11 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:42:11 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:42:11 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:42:11 UTC] 📊 Database Info:
[15-Nov-2025 23:42:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:42:11 UTC]    Books columns count: 53
[15-Nov-2025 23:42:11 UTC]    Categories columns count: 7
[15-Nov-2025 23:42:11 UTC]    Language field in books: YES
[15-Nov-2025 23:42:11 UTC]    Format field in books: YES
[15-Nov-2025 23:42:11 UTC]    Description field in categories: YES
[15-Nov-2025 23:42:11 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:42:11 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:42:11 UTC]    Is_active field in books: YES
[15-Nov-2025 23:42:11 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:42:11 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:42:11 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:42:11 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:42:11 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:42:11 UTC] 📊 Database Info:
[15-Nov-2025 23:42:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:42:11 UTC]    Books columns count: 53
[15-Nov-2025 23:42:11 UTC]    Categories columns count: 7
[15-Nov-2025 23:42:11 UTC]    Language field in books: YES
[15-Nov-2025 23:42:11 UTC]    Format field in books: YES
[15-Nov-2025 23:42:11 UTC]    Description field in categories: YES
[15-Nov-2025 23:42:11 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:42:11 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:42:11 UTC]    Is_active field in books: YES
[15-Nov-2025 23:42:11 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:42:11 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:42:11 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:42:11 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:42:11 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:42:11 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:42:11 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:42:11 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:42:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:42:11 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:42:11 UTC] 📊 Database Info:
[15-Nov-2025 23:42:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:42:11 UTC]    Books columns count: 53
[15-Nov-2025 23:42:11 UTC]    Categories columns count: 7
[15-Nov-2025 23:42:11 UTC]    Language field in books: YES
[15-Nov-2025 23:42:11 UTC]    Format field in books: YES
[15-Nov-2025 23:42:11 UTC]    Description field in categories: YES
[15-Nov-2025 23:42:11 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:42:11 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:42:11 UTC]    Is_active field in books: YES
[15-Nov-2025 23:42:11 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:42:11 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:42:11 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:42:11 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:42:11 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:42:11 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:42:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:42:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:42:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:42:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 23:42:11 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 23:42:11 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 23:42:12 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:42:12 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:42:12 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:42:12 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:42:12 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:42:12 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:42:12 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:42:12 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:42:12 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:42:12 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:42:12 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:42:12 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:42:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:12 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:42:12 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:42:12 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:42:12 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:42:12 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:42:12 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:42:12 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:42:12 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:42:12 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:42:12 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:42:12 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:42:12 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:42:12 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:42:12 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:42:12 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:42:12 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:42:12 UTC] 📊 Database Info:
[15-Nov-2025 23:42:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:42:12 UTC]    Books columns count: 53
[15-Nov-2025 23:42:12 UTC]    Categories columns count: 7
[15-Nov-2025 23:42:12 UTC]    Language field in books: YES
[15-Nov-2025 23:42:12 UTC]    Format field in books: YES
[15-Nov-2025 23:42:12 UTC]    Description field in categories: YES
[15-Nov-2025 23:42:12 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:42:12 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:42:12 UTC]    Is_active field in books: YES
[15-Nov-2025 23:42:12 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:42:12 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:42:12 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:42:12 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:42:12 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:42:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:42:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 23:42:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 23:42:12 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 23:42:13 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:42:13 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:42:13 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:42:13 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:42:13 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:42:13 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:42:13 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:42:13 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:42:13 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:42:13 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:42:13 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:42:13 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:42:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:13 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:42:13 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:42:13 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:42:13 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:42:13 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:42:13 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:42:13 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:42:13 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:42:13 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:42:13 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:42:13 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:42:13 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:42:13 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:42:13 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:42:13 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:42:13 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:42:13 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:42:13 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:42:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:13 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:42:13 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:42:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:13 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:42:13 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:42:13 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:42:13 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:42:13 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:42:13 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:42:13 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:42:13 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:42:13 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:42:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:42:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:42:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:42:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:42:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:42:14 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:42:14 UTC] 📊 Database Info:
[15-Nov-2025 23:42:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:42:14 UTC]    Books columns count: 53
[15-Nov-2025 23:42:14 UTC]    Categories columns count: 7
[15-Nov-2025 23:42:14 UTC]    Language field in books: YES
[15-Nov-2025 23:42:14 UTC]    Format field in books: YES
[15-Nov-2025 23:42:14 UTC]    Description field in categories: YES
[15-Nov-2025 23:42:14 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:42:14 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:42:14 UTC]    Is_active field in books: YES
[15-Nov-2025 23:42:14 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:42:14 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:42:14 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:42:14 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:42:14 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:42:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:42:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:42:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:42:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:42:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:42:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:42:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:42:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:42:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:42:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:42:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:42:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:42:14 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:42:14 UTC] 📊 Database Info:
[15-Nov-2025 23:42:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:42:14 UTC]    Books columns count: 53
[15-Nov-2025 23:42:14 UTC]    Categories columns count: 7
[15-Nov-2025 23:42:14 UTC]    Language field in books: YES
[15-Nov-2025 23:42:14 UTC]    Format field in books: YES
[15-Nov-2025 23:42:14 UTC]    Description field in categories: YES
[15-Nov-2025 23:42:14 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:42:14 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:42:14 UTC]    Is_active field in books: YES
[15-Nov-2025 23:42:14 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:42:14 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:42:14 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:42:14 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:42:14 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:42:14 UTC] 📊 Database Info:
[15-Nov-2025 23:42:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:42:14 UTC]    Books columns count: 53
[15-Nov-2025 23:42:14 UTC]    Categories columns count: 7
[15-Nov-2025 23:42:14 UTC]    Language field in books: YES
[15-Nov-2025 23:42:14 UTC]    Format field in books: YES
[15-Nov-2025 23:42:14 UTC]    Description field in categories: YES
[15-Nov-2025 23:42:14 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:42:14 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:42:14 UTC]    Is_active field in books: YES
[15-Nov-2025 23:42:14 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:42:14 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:42:14 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:42:14 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:42:14 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:42:14 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:42:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:42:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:42:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 23:42:14 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 23:42:14 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[15-Nov-2025 23:42:14 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:42:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:42:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:42:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:42:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:42:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[15-Nov-2025 23:42:14 UTC] ⚠️ Missing columns detected: description, display_order
[15-Nov-2025 23:42:14 UTC] 🔄 Attempting to add missing columns...
[15-Nov-2025 23:42:14 UTC] ℹ️ Column institution already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column publication_year already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column keywords already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column selected_pages_summary already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column selected_pages_toc already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column selected_pages_original already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_protected already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column protection_key already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column show_read_button already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column read_button_text already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_external_plus already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column custom_file_size already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column show_file_size already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column taille_before_extrait already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column show_download_extrait_button already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column download_extrait_button_text already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column original_pdf_url already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column download_count already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column stockage already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column language already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column format already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column external_download_link already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column show_external_download_button already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column external_download_protection_key already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_external_download_protected already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_active already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column description already exists in categories
[15-Nov-2025 23:42:14 UTC] ℹ️ Column display_order already exists in categories
[15-Nov-2025 23:42:14 UTC] ℹ️ Column is_active already exists in categories
[15-Nov-2025 23:42:14 UTC] ℹ️ Column show_welcome_section already exists
[15-Nov-2025 23:42:14 UTC] ℹ️ Column company_address already exists
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with original_pdf_url
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with is_active = TRUE
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing categories with new fields
[15-Nov-2025 23:42:14 UTC] ✅ Default screen texts inserted successfully
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with empty language field
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with empty format field
[15-Nov-2025 23:42:14 UTC] ✅ Updated existing books with default external download link and protection values
[15-Nov-2025 23:42:14 UTC] ✅ Database tables created/updated successfully with all new fields
[15-Nov-2025 23:42:14 UTC] ℹ️ Favorites table not available for inspection
[15-Nov-2025 23:42:14 UTC] 📊 Database Info:
[15-Nov-2025 23:42:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[15-Nov-2025 23:42:14 UTC]    Books columns count: 53
[15-Nov-2025 23:42:14 UTC]    Categories columns count: 7
[15-Nov-2025 23:42:14 UTC]    Language field in books: YES
[15-Nov-2025 23:42:14 UTC]    Format field in books: YES
[15-Nov-2025 23:42:14 UTC]    Description field in categories: YES
[15-Nov-2025 23:42:14 UTC]    Display_order field in categories: YES
[15-Nov-2025 23:42:14 UTC]    Is_active field in categories: YES
[15-Nov-2025 23:42:14 UTC]    Is_active field in books: YES
[15-Nov-2025 23:42:14 UTC]    External_download_link field in books: YES
[15-Nov-2025 23:42:14 UTC]    Show_external_download_button field in books: YES
[15-Nov-2025 23:42:14 UTC]    External_download_protection_key field in books: YES
[15-Nov-2025 23:42:14 UTC]    Is_external_download_protected field in books: YES
[15-Nov-2025 23:42:14 UTC] ℹ️ Database is already at version 23
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[15-Nov-2025 23:42:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[15-Nov-2025 23:42:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[15-Nov-2025 23:42:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[15-Nov-2025 23:42:14 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[15-Nov-2025 23:42:14 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 07:09:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 07:09:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 07:10:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 07:10:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 07:10:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 07:10:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 07:10:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 07:10:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 07:10:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 07:10:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 07:10:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 07:10:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 07:10:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 07:10:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 07:10:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 07:10:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 07:10:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 07:10:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 07:10:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 07:10:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 07:10:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 07:10:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 07:10:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 07:10:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 07:10:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 07:10:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 07:10:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 07:10:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 07:10:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 07:10:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 07:10:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 07:10:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 07:10:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 07:10:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 07:10:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 07:10:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 07:10:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 07:10:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 07:10:00 UTC] 📊 Database Info:
[16-Nov-2025 07:10:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 07:10:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 07:10:00 UTC]    Books columns count: 53
[16-Nov-2025 07:10:00 UTC]    Categories columns count: 7
[16-Nov-2025 07:10:00 UTC]    Language field in books: YES
[16-Nov-2025 07:10:00 UTC]    Format field in books: YES
[16-Nov-2025 07:10:00 UTC]    Description field in categories: YES
[16-Nov-2025 07:10:00 UTC]    Display_order field in categories: YES
[16-Nov-2025 07:10:00 UTC]    Is_active field in categories: YES
[16-Nov-2025 07:10:00 UTC]    Is_active field in books: YES
[16-Nov-2025 07:10:00 UTC]    External_download_link field in books: YES
[16-Nov-2025 07:10:00 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 07:10:00 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 07:10:00 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 07:10:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 07:10:00 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 07:10:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 07:10:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 07:10:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 07:10:00 UTC] 📊 Database Info:
[16-Nov-2025 07:10:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 07:10:00 UTC]    Books columns count: 53
[16-Nov-2025 07:10:00 UTC]    Categories columns count: 7
[16-Nov-2025 07:10:00 UTC]    Language field in books: YES
[16-Nov-2025 07:10:00 UTC]    Format field in books: YES
[16-Nov-2025 07:10:00 UTC]    Description field in categories: YES
[16-Nov-2025 07:10:00 UTC]    Display_order field in categories: YES
[16-Nov-2025 07:10:00 UTC]    Is_active field in categories: YES
[16-Nov-2025 07:10:00 UTC]    Is_active field in books: YES
[16-Nov-2025 07:10:00 UTC]    External_download_link field in books: YES
[16-Nov-2025 07:10:00 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 07:10:00 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 07:10:00 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 07:10:00 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 07:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 07:10:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 07:10:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 07:10:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 07:10:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 07:10:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 07:10:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 07:10:01 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 07:10:01 UTC] 📊 Database Info:
[16-Nov-2025 07:10:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 07:10:01 UTC]    Books columns count: 53
[16-Nov-2025 07:10:01 UTC]    Categories columns count: 7
[16-Nov-2025 07:10:01 UTC]    Language field in books: YES
[16-Nov-2025 07:10:01 UTC]    Format field in books: YES
[16-Nov-2025 07:10:01 UTC]    Description field in categories: YES
[16-Nov-2025 07:10:01 UTC]    Display_order field in categories: YES
[16-Nov-2025 07:10:01 UTC]    Is_active field in categories: YES
[16-Nov-2025 07:10:01 UTC]    Is_active field in books: YES
[16-Nov-2025 07:10:01 UTC]    External_download_link field in books: YES
[16-Nov-2025 07:10:01 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 07:10:01 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 07:10:01 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 07:10:01 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 07:10:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 07:10:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 07:10:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 07:10:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 07:10:01 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 07:10:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 07:10:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 07:10:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 07:10:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 07:10:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 07:10:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 07:10:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 07:10:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 07:10:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 07:10:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 07:10:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 07:10:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 07:10:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 07:10:01 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 07:10:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 07:10:01 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 07:10:01 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 07:10:01 UTC] 📊 Database Info:
[16-Nov-2025 07:10:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 07:10:01 UTC]    Books columns count: 53
[16-Nov-2025 07:10:01 UTC]    Categories columns count: 7
[16-Nov-2025 07:10:01 UTC]    Language field in books: YES
[16-Nov-2025 07:10:01 UTC]    Format field in books: YES
[16-Nov-2025 07:10:01 UTC]    Description field in categories: YES
[16-Nov-2025 07:10:01 UTC]    Display_order field in categories: YES
[16-Nov-2025 07:10:01 UTC]    Is_active field in categories: YES
[16-Nov-2025 07:10:01 UTC]    Is_active field in books: YES
[16-Nov-2025 07:10:01 UTC]    External_download_link field in books: YES
[16-Nov-2025 07:10:01 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 07:10:01 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 07:10:01 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 07:10:01 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 07:10:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 07:10:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 07:10:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 07:10:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 07:10:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 07:10:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 07:10:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 07:10:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 07:10:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 07:10:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 07:10:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 07:10:01 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 07:10:01 UTC] 📊 Database Info:
[16-Nov-2025 07:10:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 07:10:01 UTC]    Books columns count: 53
[16-Nov-2025 07:10:01 UTC]    Categories columns count: 7
[16-Nov-2025 07:10:01 UTC]    Language field in books: YES
[16-Nov-2025 07:10:01 UTC]    Format field in books: YES
[16-Nov-2025 07:10:01 UTC]    Description field in categories: YES
[16-Nov-2025 07:10:01 UTC]    Display_order field in categories: YES
[16-Nov-2025 07:10:01 UTC]    Is_active field in categories: YES
[16-Nov-2025 07:10:01 UTC]    Is_active field in books: YES
[16-Nov-2025 07:10:01 UTC]    External_download_link field in books: YES
[16-Nov-2025 07:10:01 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 07:10:01 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 07:10:01 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 07:10:01 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 07:10:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 07:10:01 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 07:10:01 UTC] 📊 Database Info:
[16-Nov-2025 07:10:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 07:10:01 UTC]    Books columns count: 53
[16-Nov-2025 07:10:01 UTC]    Categories columns count: 7
[16-Nov-2025 07:10:01 UTC]    Language field in books: YES
[16-Nov-2025 07:10:01 UTC]    Format field in books: YES
[16-Nov-2025 07:10:01 UTC]    Description field in categories: YES
[16-Nov-2025 07:10:01 UTC]    Display_order field in categories: YES
[16-Nov-2025 07:10:01 UTC]    Is_active field in categories: YES
[16-Nov-2025 07:10:01 UTC]    Is_active field in books: YES
[16-Nov-2025 07:10:01 UTC]    External_download_link field in books: YES
[16-Nov-2025 07:10:01 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 07:10:01 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 07:10:01 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 07:10:01 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 07:10:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 07:10:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 07:10:01 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 07:10:01 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 07:10:04 UTC] ℹ️ Column institution already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 07:10:04 UTC] ℹ️ Column language already exists
[16-Nov-2025 07:10:05 UTC] ℹ️ Column format already exists
[16-Nov-2025 07:10:05 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 07:10:05 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 07:10:05 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 07:10:05 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 07:10:05 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 07:10:05 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 07:10:05 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 07:10:05 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 07:10:05 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 07:10:05 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 07:10:05 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 07:10:05 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 07:10:05 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 07:10:05 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 07:10:05 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 07:10:05 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 07:10:05 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 07:10:05 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 07:10:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 07:10:05 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 07:10:05 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 07:10:05 UTC] ℹ️ Column institution already exists
[16-Nov-2025 07:10:05 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 07:10:05 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 07:10:05 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 07:10:05 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 07:10:05 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 07:10:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 07:10:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 07:10:05 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 07:10:05 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 07:10:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 07:10:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 07:10:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 07:10:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 07:10:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 07:10:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 07:10:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 07:10:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 07:10:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 07:10:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 07:10:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 07:10:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 07:10:06 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 07:10:06 UTC] 📊 Database Info:
[16-Nov-2025 07:10:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 07:10:06 UTC]    Books columns count: 53
[16-Nov-2025 07:10:06 UTC]    Categories columns count: 7
[16-Nov-2025 07:10:06 UTC]    Language field in books: YES
[16-Nov-2025 07:10:06 UTC]    Format field in books: YES
[16-Nov-2025 07:10:06 UTC]    Description field in categories: YES
[16-Nov-2025 07:10:06 UTC]    Display_order field in categories: YES
[16-Nov-2025 07:10:06 UTC]    Is_active field in categories: YES
[16-Nov-2025 07:10:06 UTC]    Is_active field in books: YES
[16-Nov-2025 07:10:06 UTC]    External_download_link field in books: YES
[16-Nov-2025 07:10:06 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 07:10:06 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 07:10:06 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 07:10:06 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 07:10:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 07:10:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 07:10:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 07:10:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 07:10:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 07:10:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 07:10:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 07:10:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 07:10:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 07:10:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 07:10:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 07:10:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 07:10:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 08:40:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 08:40:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 08:40:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 08:40:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 08:40:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 08:40:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 08:40:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 08:40:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 08:40:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 08:40:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 08:40:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 08:40:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 08:40:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 08:40:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 08:40:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 08:40:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 08:40:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 08:40:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 08:40:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 08:40:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 08:40:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 08:40:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 08:40:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 08:40:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 08:40:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 08:40:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 08:40:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 08:40:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 08:40:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 08:40:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 08:40:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 08:40:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 08:40:14 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 08:40:14 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 08:40:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 08:40:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 08:40:14 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 08:40:14 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 08:40:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 08:40:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 08:40:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 08:40:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 08:40:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 08:40:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 08:40:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 08:40:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 08:40:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 08:40:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 08:40:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 08:40:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 08:40:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 08:40:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 08:40:14 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 08:40:14 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 08:40:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 08:40:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 08:40:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 08:40:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 08:40:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 08:40:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 08:40:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 08:40:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 08:40:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 08:40:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 08:40:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 08:40:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 08:40:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 08:40:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 08:40:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 08:40:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 08:40:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 08:40:15 UTC] 📊 Database Info:
[16-Nov-2025 08:40:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 08:40:15 UTC]    Books columns count: 53
[16-Nov-2025 08:40:15 UTC]    Categories columns count: 7
[16-Nov-2025 08:40:15 UTC]    Language field in books: YES
[16-Nov-2025 08:40:15 UTC]    Format field in books: YES
[16-Nov-2025 08:40:15 UTC]    Description field in categories: YES
[16-Nov-2025 08:40:15 UTC]    Display_order field in categories: YES
[16-Nov-2025 08:40:15 UTC]    Is_active field in categories: YES
[16-Nov-2025 08:40:15 UTC]    Is_active field in books: YES
[16-Nov-2025 08:40:15 UTC]    External_download_link field in books: YES
[16-Nov-2025 08:40:15 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 08:40:15 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 08:40:15 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 08:40:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 08:40:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 08:40:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 08:40:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 08:40:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 08:40:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 08:40:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 08:40:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 08:40:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 08:40:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 08:40:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 08:40:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 08:40:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 08:40:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 08:40:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 08:40:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 08:40:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 08:40:15 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 08:40:15 UTC] 📊 Database Info:
[16-Nov-2025 08:40:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 08:40:15 UTC]    Books columns count: 53
[16-Nov-2025 08:40:15 UTC]    Categories columns count: 7
[16-Nov-2025 08:40:15 UTC]    Language field in books: YES
[16-Nov-2025 08:40:15 UTC]    Format field in books: YES
[16-Nov-2025 08:40:15 UTC]    Description field in categories: YES
[16-Nov-2025 08:40:15 UTC]    Display_order field in categories: YES
[16-Nov-2025 08:40:15 UTC]    Is_active field in categories: YES
[16-Nov-2025 08:40:15 UTC]    Is_active field in books: YES
[16-Nov-2025 08:40:15 UTC]    External_download_link field in books: YES
[16-Nov-2025 08:40:15 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 08:40:15 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 08:40:15 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 08:40:15 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 08:40:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 08:40:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 08:40:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 08:40:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 08:40:15 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 08:40:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 08:40:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 08:40:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 08:40:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 08:40:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 08:40:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 08:40:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 08:40:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 08:40:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 08:40:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 08:40:15 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 08:40:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 08:40:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 08:40:15 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 08:40:15 UTC] 📊 Database Info:
[16-Nov-2025 08:40:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 08:40:15 UTC]    Books columns count: 53
[16-Nov-2025 08:40:15 UTC]    Categories columns count: 7
[16-Nov-2025 08:40:15 UTC]    Language field in books: YES
[16-Nov-2025 08:40:15 UTC]    Format field in books: YES
[16-Nov-2025 08:40:15 UTC]    Description field in categories: YES
[16-Nov-2025 08:40:15 UTC]    Display_order field in categories: YES
[16-Nov-2025 08:40:15 UTC]    Is_active field in categories: YES
[16-Nov-2025 08:40:15 UTC]    Is_active field in books: YES
[16-Nov-2025 08:40:15 UTC]    External_download_link field in books: YES
[16-Nov-2025 08:40:15 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 08:40:15 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 08:40:15 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 08:40:15 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 08:40:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 08:40:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:31:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:31:36 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:31:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:31:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:31:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:31:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:31:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:31:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:31:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:31:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:31:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:31:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:31:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:31:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:31:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:31:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:31:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:31:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:31:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:31:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:31:37 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:31:37 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:31:37 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:31:37 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:31:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:31:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:31:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:31:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:31:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:31:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:31:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:31:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:31:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:31:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:31:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:31:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:31:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:31:37 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:31:37 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:31:37 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:31:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:31:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:31:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:31:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:31:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:31:37 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:31:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:31:37 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:31:37 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:31:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:31:37 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:31:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:31:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:31:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:31:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:31:37 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:31:37 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:31:37 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:31:37 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:31:37 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:31:37 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:31:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:31:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:31:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:31:37 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:31:37 UTC] 📊 Database Info:
[16-Nov-2025 10:31:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:31:37 UTC]    Books columns count: 53
[16-Nov-2025 10:31:37 UTC]    Categories columns count: 7
[16-Nov-2025 10:31:37 UTC]    Language field in books: YES
[16-Nov-2025 10:31:37 UTC]    Format field in books: YES
[16-Nov-2025 10:31:37 UTC]    Description field in categories: YES
[16-Nov-2025 10:31:37 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:31:37 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:31:37 UTC]    Is_active field in books: YES
[16-Nov-2025 10:31:37 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:31:37 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:31:37 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:31:37 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:31:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:31:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:31:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:31:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:31:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:31:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:31:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:31:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:31:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:31:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:31:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:31:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:31:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:31:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:31:38 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:31:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:31:38 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:31:38 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:31:38 UTC] 📊 Database Info:
[16-Nov-2025 10:31:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:31:38 UTC]    Books columns count: 53
[16-Nov-2025 10:31:38 UTC]    Categories columns count: 7
[16-Nov-2025 10:31:38 UTC]    Language field in books: YES
[16-Nov-2025 10:31:38 UTC]    Format field in books: YES
[16-Nov-2025 10:31:38 UTC]    Description field in categories: YES
[16-Nov-2025 10:31:38 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:31:38 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:31:38 UTC]    Is_active field in books: YES
[16-Nov-2025 10:31:38 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:31:38 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:31:38 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:31:38 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:31:38 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:31:38 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:31:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:31:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:31:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:31:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:31:38 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:31:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:31:38 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:31:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:31:38 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 10:31:38 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:31:38 UTC] 📊 Database Info:
[16-Nov-2025 10:31:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:31:38 UTC]    Books columns count: 53
[16-Nov-2025 10:31:38 UTC]    Categories columns count: 7
[16-Nov-2025 10:31:38 UTC]    Language field in books: YES
[16-Nov-2025 10:31:38 UTC]    Format field in books: YES
[16-Nov-2025 10:31:38 UTC]    Description field in categories: YES
[16-Nov-2025 10:31:38 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:31:38 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:31:38 UTC]    Is_active field in books: YES
[16-Nov-2025 10:31:38 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:31:38 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:31:38 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:31:38 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:31:38 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 10:31:38 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:31:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:31:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:31:38 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:31:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:31:38 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:31:38 UTC] 📊 Database Info:
[16-Nov-2025 10:31:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:31:38 UTC]    Books columns count: 53
[16-Nov-2025 10:31:38 UTC]    Categories columns count: 7
[16-Nov-2025 10:31:38 UTC]    Language field in books: YES
[16-Nov-2025 10:31:38 UTC]    Format field in books: YES
[16-Nov-2025 10:31:38 UTC]    Description field in categories: YES
[16-Nov-2025 10:31:38 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:31:38 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:31:38 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:31:38 UTC]    Is_active field in books: YES
[16-Nov-2025 10:31:38 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:31:38 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:31:38 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:31:38 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:31:38 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:31:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:31:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:31:38 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 10:31:38 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 10:31:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:31:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:31:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:31:38 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:31:38 UTC] 📊 Database Info:
[16-Nov-2025 10:31:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:31:38 UTC]    Books columns count: 53
[16-Nov-2025 10:31:38 UTC]    Categories columns count: 7
[16-Nov-2025 10:31:38 UTC]    Language field in books: YES
[16-Nov-2025 10:31:38 UTC]    Format field in books: YES
[16-Nov-2025 10:31:38 UTC]    Description field in categories: YES
[16-Nov-2025 10:31:38 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:31:38 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:31:38 UTC]    Is_active field in books: YES
[16-Nov-2025 10:31:38 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:31:38 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:31:38 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:31:38 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:31:38 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:31:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:31:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:31:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:31:38 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:31:38 UTC] 📊 Database Info:
[16-Nov-2025 10:31:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:31:38 UTC]    Books columns count: 53
[16-Nov-2025 10:31:38 UTC]    Categories columns count: 7
[16-Nov-2025 10:31:38 UTC]    Language field in books: YES
[16-Nov-2025 10:31:38 UTC]    Format field in books: YES
[16-Nov-2025 10:31:38 UTC]    Description field in categories: YES
[16-Nov-2025 10:31:38 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:31:38 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:31:38 UTC]    Is_active field in books: YES
[16-Nov-2025 10:31:38 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:31:38 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:31:38 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:31:38 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:31:38 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:31:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:31:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:49:18 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:49:18 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:49:18 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:49:18 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:49:18 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:49:18 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:49:18 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:49:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:49:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:49:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:49:18 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:49:18 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:49:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:49:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:49:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:49:18 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:49:18 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:49:18 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:49:18 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:49:18 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:49:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:49:18 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:49:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:49:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:49:18 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:49:18 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:49:18 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:49:18 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:49:18 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:49:18 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:49:18 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:49:18 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:49:18 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:49:18 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:49:18 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:49:18 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:49:18 UTC] 📊 Database Info:
[16-Nov-2025 10:49:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:49:18 UTC]    Books columns count: 53
[16-Nov-2025 10:49:18 UTC]    Categories columns count: 7
[16-Nov-2025 10:49:18 UTC]    Language field in books: YES
[16-Nov-2025 10:49:18 UTC]    Format field in books: YES
[16-Nov-2025 10:49:18 UTC]    Description field in categories: YES
[16-Nov-2025 10:49:18 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:49:18 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:49:18 UTC]    Is_active field in books: YES
[16-Nov-2025 10:49:18 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:49:18 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:49:18 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:49:18 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:49:18 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:49:18 UTC] 📊 Database Info:
[16-Nov-2025 10:49:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:49:18 UTC]    Books columns count: 53
[16-Nov-2025 10:49:18 UTC]    Categories columns count: 7
[16-Nov-2025 10:49:18 UTC]    Language field in books: YES
[16-Nov-2025 10:49:18 UTC]    Format field in books: YES
[16-Nov-2025 10:49:18 UTC]    Description field in categories: YES
[16-Nov-2025 10:49:18 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:49:18 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:49:18 UTC]    Is_active field in books: YES
[16-Nov-2025 10:49:18 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:49:18 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:49:18 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:49:18 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:49:18 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:49:18 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:49:18 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:49:18 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:49:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:49:18 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:49:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:49:19 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 10:49:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:49:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:49:19 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:49:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:49:19 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:49:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:49:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:49:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:49:19 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:49:19 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:49:19 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:49:19 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:49:19 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:49:19 UTC] 📊 Database Info:
[16-Nov-2025 10:49:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:49:19 UTC]    Books columns count: 53
[16-Nov-2025 10:49:19 UTC]    Categories columns count: 7
[16-Nov-2025 10:49:19 UTC]    Language field in books: YES
[16-Nov-2025 10:49:19 UTC]    Format field in books: YES
[16-Nov-2025 10:49:19 UTC]    Description field in categories: YES
[16-Nov-2025 10:49:19 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:49:19 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:49:19 UTC]    Is_active field in books: YES
[16-Nov-2025 10:49:19 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:49:19 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:49:19 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:49:19 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:49:19 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:49:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:49:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:49:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:49:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:49:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:49:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:49:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:49:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:49:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:49:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:49:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:49:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:49:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:50:07 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:50:07 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:50:07 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:50:07 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:50:07 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:50:07 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:50:07 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:50:07 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:50:07 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:50:07 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:50:07 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:50:08 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:50:09 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:50:09 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:50:09 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:50:09 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:50:09 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:50:09 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:50:09 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:50:09 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:50:09 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:50:09 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:50:09 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:50:09 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:50:09 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:50:09 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:50:09 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:50:09 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:50:09 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:50:09 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:50:09 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:50:09 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:50:09 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:50:09 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:50:09 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:50:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:50:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:50:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:50:09 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:50:09 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:50:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:50:09 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:50:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:50:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:50:09 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:50:09 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:50:09 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:50:09 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:50:09 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:50:09 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:50:09 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:50:09 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:50:09 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:50:09 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:50:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:50:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:50:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:50:09 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:50:09 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:50:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:50:09 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:50:09 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:50:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:50:09 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:50:09 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:50:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:50:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:50:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:50:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:50:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:50:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:50:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:50:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:50:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:50:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:50:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:50:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:50:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:50:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:50:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:50:10 UTC] 📊 Database Info:
[16-Nov-2025 10:50:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:50:10 UTC]    Books columns count: 53
[16-Nov-2025 10:50:10 UTC]    Categories columns count: 7
[16-Nov-2025 10:50:10 UTC]    Language field in books: YES
[16-Nov-2025 10:50:10 UTC]    Format field in books: YES
[16-Nov-2025 10:50:10 UTC]    Description field in categories: YES
[16-Nov-2025 10:50:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:50:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:50:10 UTC]    Is_active field in books: YES
[16-Nov-2025 10:50:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:50:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:50:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:50:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:50:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:50:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:50:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:50:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:50:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:50:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:50:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:50:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:50:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:50:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:50:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:50:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:50:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:50:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:50:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:50:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:50:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:50:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:50:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:50:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:50:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:50:10 UTC] 📊 Database Info:
[16-Nov-2025 10:50:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:50:10 UTC]    Books columns count: 53
[16-Nov-2025 10:50:10 UTC]    Categories columns count: 7
[16-Nov-2025 10:50:10 UTC]    Language field in books: YES
[16-Nov-2025 10:50:10 UTC]    Format field in books: YES
[16-Nov-2025 10:50:10 UTC]    Description field in categories: YES
[16-Nov-2025 10:50:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:50:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:50:10 UTC]    Is_active field in books: YES
[16-Nov-2025 10:50:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:50:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:50:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:50:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:50:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:50:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:50:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:50:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:50:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:50:10 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 10:50:10 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 10:50:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:50:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:50:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:50:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:50:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:50:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:50:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:50:11 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:50:11 UTC] 📊 Database Info:
[16-Nov-2025 10:50:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:50:11 UTC]    Books columns count: 53
[16-Nov-2025 10:50:11 UTC]    Categories columns count: 7
[16-Nov-2025 10:50:11 UTC]    Language field in books: YES
[16-Nov-2025 10:50:11 UTC]    Format field in books: YES
[16-Nov-2025 10:50:11 UTC]    Description field in categories: YES
[16-Nov-2025 10:50:11 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:50:11 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:50:11 UTC]    Is_active field in books: YES
[16-Nov-2025 10:50:11 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:50:11 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:50:11 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:50:11 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:50:11 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:50:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:53:51 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:53:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:53:52 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:53:52 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:53:52 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:53:52 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:53:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:52 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:53:52 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:53:52 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:53:52 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:53:52 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:53:52 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:53:52 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:53:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:52 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:53:52 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:53:52 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:53:52 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:53:52 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:53:52 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:53:52 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:53:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:53:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:52 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:53:52 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:53:52 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:53:52 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:53:52 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:53:52 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:53:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:53:52 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:53:52 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:53:52 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:53:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:53:52 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:53:52 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:53:52 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:53:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:52 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:53:52 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:53:52 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:53:52 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:53:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:53:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:53:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:53:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:53:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:53:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:53:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:53:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:53:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:53:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:53:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:53:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:53:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:53:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:53:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:53:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:53:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:53:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:53:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:53:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:53:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:53:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:53:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:53:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:53:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:53:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:53:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:53:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:53:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:53:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:53:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:53:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:53:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:53:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:53:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:53:54 UTC] 📊 Database Info:
[16-Nov-2025 10:53:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:53:54 UTC]    Books columns count: 53
[16-Nov-2025 10:53:54 UTC]    Categories columns count: 7
[16-Nov-2025 10:53:54 UTC]    Language field in books: YES
[16-Nov-2025 10:53:54 UTC]    Format field in books: YES
[16-Nov-2025 10:53:54 UTC]    Description field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Is_active field in books: YES
[16-Nov-2025 10:53:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:53:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:53:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:53:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:53:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:53:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:53:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:53:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:53:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:53:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:53:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:53:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:53:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:53:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:53:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:53:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:53:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:53:54 UTC] 📊 Database Info:
[16-Nov-2025 10:53:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:53:54 UTC]    Books columns count: 53
[16-Nov-2025 10:53:54 UTC]    Categories columns count: 7
[16-Nov-2025 10:53:54 UTC]    Language field in books: YES
[16-Nov-2025 10:53:54 UTC]    Format field in books: YES
[16-Nov-2025 10:53:54 UTC]    Description field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Is_active field in books: YES
[16-Nov-2025 10:53:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:53:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:53:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:53:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:53:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:53:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:53:54 UTC] 📊 Database Info:
[16-Nov-2025 10:53:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:53:54 UTC]    Books columns count: 53
[16-Nov-2025 10:53:54 UTC]    Categories columns count: 7
[16-Nov-2025 10:53:54 UTC]    Language field in books: YES
[16-Nov-2025 10:53:54 UTC]    Format field in books: YES
[16-Nov-2025 10:53:54 UTC]    Description field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Is_active field in books: YES
[16-Nov-2025 10:53:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:53:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:53:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:53:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:53:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:53:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:53:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:53:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:53:54 UTC] 📊 Database Info:
[16-Nov-2025 10:53:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:53:54 UTC]    Books columns count: 53
[16-Nov-2025 10:53:54 UTC]    Categories columns count: 7
[16-Nov-2025 10:53:54 UTC]    Language field in books: YES
[16-Nov-2025 10:53:54 UTC]    Format field in books: YES
[16-Nov-2025 10:53:54 UTC]    Description field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Is_active field in books: YES
[16-Nov-2025 10:53:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:53:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:53:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:53:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:53:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:53:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:53:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:53:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:53:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:53:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:53:54 UTC] 📊 Database Info:
[16-Nov-2025 10:53:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:53:54 UTC]    Books columns count: 53
[16-Nov-2025 10:53:54 UTC]    Categories columns count: 7
[16-Nov-2025 10:53:54 UTC]    Language field in books: YES
[16-Nov-2025 10:53:54 UTC]    Format field in books: YES
[16-Nov-2025 10:53:54 UTC]    Description field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Is_active field in books: YES
[16-Nov-2025 10:53:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:53:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:53:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:53:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:53:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:53:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:53:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:53:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:53:54 UTC] 📊 Database Info:
[16-Nov-2025 10:53:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:53:54 UTC]    Books columns count: 53
[16-Nov-2025 10:53:54 UTC]    Categories columns count: 7
[16-Nov-2025 10:53:54 UTC]    Language field in books: YES
[16-Nov-2025 10:53:54 UTC]    Format field in books: YES
[16-Nov-2025 10:53:54 UTC]    Description field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Is_active field in books: YES
[16-Nov-2025 10:53:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:53:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:53:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:53:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:53:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:53:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:53:54 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:53:54 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:53:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:53:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:53:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:53:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:53:54 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:53:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:53:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:53:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:53:54 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:53:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:53:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:53:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:53:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:53:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:53:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:53:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:53:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:53:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:53:54 UTC] 📊 Database Info:
[16-Nov-2025 10:53:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:53:54 UTC]    Books columns count: 53
[16-Nov-2025 10:53:54 UTC]    Categories columns count: 7
[16-Nov-2025 10:53:54 UTC]    Language field in books: YES
[16-Nov-2025 10:53:54 UTC]    Format field in books: YES
[16-Nov-2025 10:53:54 UTC]    Description field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Is_active field in books: YES
[16-Nov-2025 10:53:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:53:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:53:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:53:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:53:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:53:54 UTC] 📊 Database Info:
[16-Nov-2025 10:53:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:53:54 UTC]    Books columns count: 53
[16-Nov-2025 10:53:54 UTC]    Categories columns count: 7
[16-Nov-2025 10:53:54 UTC]    Language field in books: YES
[16-Nov-2025 10:53:54 UTC]    Format field in books: YES
[16-Nov-2025 10:53:54 UTC]    Description field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Is_active field in books: YES
[16-Nov-2025 10:53:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:53:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:53:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:53:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:53:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:53:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:53:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:53:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:53:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:53:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:53:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:53:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:53:54 UTC] 📊 Database Info:
[16-Nov-2025 10:53:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:53:54 UTC]    Books columns count: 53
[16-Nov-2025 10:53:54 UTC]    Categories columns count: 7
[16-Nov-2025 10:53:54 UTC]    Language field in books: YES
[16-Nov-2025 10:53:54 UTC]    Format field in books: YES
[16-Nov-2025 10:53:54 UTC]    Description field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:53:54 UTC]    Is_active field in books: YES
[16-Nov-2025 10:53:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:53:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:53:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:53:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:53:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:53:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:53:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:53:54 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 10:53:54 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 10:58:48 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:58:48 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:58:48 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:58:48 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:58:48 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:58:48 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:58:48 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:58:48 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:58:48 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:58:48 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:58:48 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:58:48 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:58:48 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:58:48 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:58:48 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:58:48 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:58:48 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:58:48 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:58:48 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:58:48 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:58:48 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:58:48 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:58:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:58:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:58:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:58:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:58:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:58:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:58:48 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:58:48 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:58:48 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:58:48 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:58:48 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:58:48 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:58:48 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:58:48 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:58:48 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:58:48 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:58:48 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:58:48 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:58:48 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:58:48 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:58:48 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:58:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:58:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:58:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:58:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:58:48 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:58:48 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:58:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:58:48 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:58:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:58:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:58:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:58:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:58:49 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:58:49 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:58:49 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:58:49 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:58:49 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:58:49 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:58:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:58:49 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:58:49 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:58:49 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:58:49 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:58:49 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:58:49 UTC] 📊 Database Info:
[16-Nov-2025 10:58:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:58:49 UTC]    Books columns count: 53
[16-Nov-2025 10:58:49 UTC]    Categories columns count: 7
[16-Nov-2025 10:58:49 UTC]    Language field in books: YES
[16-Nov-2025 10:58:49 UTC]    Format field in books: YES
[16-Nov-2025 10:58:49 UTC]    Description field in categories: YES
[16-Nov-2025 10:58:49 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:58:49 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:58:49 UTC]    Is_active field in books: YES
[16-Nov-2025 10:58:49 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:58:49 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:58:49 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:58:49 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:58:49 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:58:49 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:58:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:58:49 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:58:49 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:58:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:58:49 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:58:49 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:58:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:58:49 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:58:49 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:58:49 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:58:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:58:49 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:58:49 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:58:49 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:58:49 UTC] 📊 Database Info:
[16-Nov-2025 10:58:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:58:49 UTC]    Books columns count: 53
[16-Nov-2025 10:58:49 UTC]    Categories columns count: 7
[16-Nov-2025 10:58:49 UTC]    Language field in books: YES
[16-Nov-2025 10:58:49 UTC]    Format field in books: YES
[16-Nov-2025 10:58:49 UTC]    Description field in categories: YES
[16-Nov-2025 10:58:49 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:58:49 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:58:49 UTC]    Is_active field in books: YES
[16-Nov-2025 10:58:49 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:58:49 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:58:49 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:58:49 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:58:49 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:58:49 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:58:49 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:58:49 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:58:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:58:49 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 10:58:49 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 10:58:49 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:58:49 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:58:49 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:58:49 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:58:49 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:58:49 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:58:49 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:58:49 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:58:49 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:58:49 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:58:49 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:58:49 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:58:49 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:58:49 UTC] 📊 Database Info:
[16-Nov-2025 10:58:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:58:49 UTC]    Books columns count: 53
[16-Nov-2025 10:58:49 UTC]    Categories columns count: 7
[16-Nov-2025 10:58:49 UTC]    Language field in books: YES
[16-Nov-2025 10:58:49 UTC]    Format field in books: YES
[16-Nov-2025 10:58:49 UTC]    Description field in categories: YES
[16-Nov-2025 10:58:49 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:58:49 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:58:49 UTC]    Is_active field in books: YES
[16-Nov-2025 10:58:49 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:58:49 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:58:49 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:58:49 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:58:49 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:58:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:58:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:58:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:58:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:58:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:58:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:58:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:58:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:58:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:58:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:58:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:58:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:58:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:58:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:58:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:58:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:58:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:58:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:58:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:58:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:58:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:58:54 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:58:54 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:58:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:58:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:58:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:58:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:58:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:58:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:58:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:58:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:58:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:58:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:58:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:58:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:58:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:58:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:58:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:58:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:58:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:58:54 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:58:54 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:58:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:58:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:58:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:58:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:58:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:58:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:58:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:58:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:58:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:58:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:58:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:58:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:58:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:58:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:58:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:58:54 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:58:54 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:58:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:58:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:58:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:58:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:58:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:58:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:58:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:58:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:58:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:58:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:58:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:58:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:58:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:58:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:58:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:58:55 UTC] 📊 Database Info:
[16-Nov-2025 10:58:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:58:55 UTC]    Books columns count: 53
[16-Nov-2025 10:58:55 UTC]    Categories columns count: 7
[16-Nov-2025 10:58:55 UTC]    Language field in books: YES
[16-Nov-2025 10:58:55 UTC]    Format field in books: YES
[16-Nov-2025 10:58:55 UTC]    Description field in categories: YES
[16-Nov-2025 10:58:55 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:58:55 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:58:55 UTC]    Is_active field in books: YES
[16-Nov-2025 10:58:55 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:58:55 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:58:55 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:58:55 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:58:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:58:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:58:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:58:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:58:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:58:55 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 10:58:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:58:55 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 10:58:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:58:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:58:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:58:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:58:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:58:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:58:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:58:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:58:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:58:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:58:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:58:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:58:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:58:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:58:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:58:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:58:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:58:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:58:55 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:58:55 UTC] 📊 Database Info:
[16-Nov-2025 10:58:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:58:55 UTC]    Books columns count: 53
[16-Nov-2025 10:58:55 UTC]    Categories columns count: 7
[16-Nov-2025 10:58:55 UTC]    Language field in books: YES
[16-Nov-2025 10:58:55 UTC]    Format field in books: YES
[16-Nov-2025 10:58:55 UTC]    Description field in categories: YES
[16-Nov-2025 10:58:55 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:58:55 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:58:55 UTC]    Is_active field in books: YES
[16-Nov-2025 10:58:55 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:58:55 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:58:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:58:55 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:58:55 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:58:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:58:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:58:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:58:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:58:55 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:58:55 UTC] 📊 Database Info:
[16-Nov-2025 10:58:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:58:55 UTC]    Books columns count: 53
[16-Nov-2025 10:58:55 UTC]    Categories columns count: 7
[16-Nov-2025 10:58:55 UTC]    Language field in books: YES
[16-Nov-2025 10:58:55 UTC]    Format field in books: YES
[16-Nov-2025 10:58:55 UTC]    Description field in categories: YES
[16-Nov-2025 10:58:55 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:58:55 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:58:55 UTC]    Is_active field in books: YES
[16-Nov-2025 10:58:55 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:58:55 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:58:55 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:58:55 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:58:55 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:58:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:58:55 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:58:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:58:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:59:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:59:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:59:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:59:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:59:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:59:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:59:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:59:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:59:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:59:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:59:10 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:59:10 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:59:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:59:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:59:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:59:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:59:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:59:10 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:59:10 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:59:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:59:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:59:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:59:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:59:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:59:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:59:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:59:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 10:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:59:10 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 10:59:10 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 10:59:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:59:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:59:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:59:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:59:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:59:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:59:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:59:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:59:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:59:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:59:10 UTC] 📊 Database Info:
[16-Nov-2025 10:59:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:59:10 UTC]    Books columns count: 53
[16-Nov-2025 10:59:10 UTC]    Categories columns count: 7
[16-Nov-2025 10:59:10 UTC]    Language field in books: YES
[16-Nov-2025 10:59:10 UTC]    Format field in books: YES
[16-Nov-2025 10:59:10 UTC]    Description field in categories: YES
[16-Nov-2025 10:59:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:59:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:59:10 UTC]    Is_active field in books: YES
[16-Nov-2025 10:59:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:59:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:59:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:59:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:59:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:59:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:59:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 10:59:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:59:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:59:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:59:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 10:59:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:59:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 10:59:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:59:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:59:11 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 10:59:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:59:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:59:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:59:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:59:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:59:11 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 10:59:11 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:59:11 UTC] 📊 Database Info:
[16-Nov-2025 10:59:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:59:11 UTC]    Books columns count: 53
[16-Nov-2025 10:59:11 UTC]    Categories columns count: 7
[16-Nov-2025 10:59:11 UTC]    Language field in books: YES
[16-Nov-2025 10:59:11 UTC]    Format field in books: YES
[16-Nov-2025 10:59:11 UTC]    Description field in categories: YES
[16-Nov-2025 10:59:11 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:59:11 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:59:11 UTC]    Is_active field in books: YES
[16-Nov-2025 10:59:11 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:59:11 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:59:11 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:59:11 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:59:11 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:59:11 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:59:11 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:59:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:59:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 10:59:11 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 10:59:11 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 10:59:11 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 10:59:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 10:59:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 10:59:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 10:59:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 10:59:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 10:59:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 10:59:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 10:59:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 10:59:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 10:59:11 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 10:59:11 UTC] 📊 Database Info:
[16-Nov-2025 10:59:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 10:59:11 UTC]    Books columns count: 53
[16-Nov-2025 10:59:11 UTC]    Categories columns count: 7
[16-Nov-2025 10:59:11 UTC]    Language field in books: YES
[16-Nov-2025 10:59:11 UTC]    Format field in books: YES
[16-Nov-2025 10:59:11 UTC]    Description field in categories: YES
[16-Nov-2025 10:59:11 UTC]    Display_order field in categories: YES
[16-Nov-2025 10:59:11 UTC]    Is_active field in categories: YES
[16-Nov-2025 10:59:11 UTC]    Is_active field in books: YES
[16-Nov-2025 10:59:11 UTC]    External_download_link field in books: YES
[16-Nov-2025 10:59:11 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 10:59:11 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 10:59:11 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 10:59:11 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 10:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 10:59:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:00:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:00:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:00:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:00:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:00:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:00:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:00:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:00:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:00:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:00:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:00:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:00:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:00:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:00:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:00:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:00:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:00:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:00:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:00:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:00:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:00:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:00:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:00:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:00:12 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:00:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:00:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:00:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:00:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:00:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:00:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:00:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:00:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:00:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:00:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:00:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:00:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:00:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:00:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:00:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:00:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:00:12 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:00:12 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:00:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:00:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:00:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:00:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:00:12 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:00:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:00:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:00:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:00:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:00:12 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:00:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:00:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:00:12 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:00:12 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:00:12 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:00:12 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:00:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:00:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:00:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:00:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:00:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:00:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:00:12 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:00:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:00:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:00:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:00:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:00:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:00:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:00:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:00:12 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:00:12 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:00:12 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:00:12 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:00:12 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:00:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:00:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:00:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:00:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:00:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:00:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:00:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:00:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:00:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:00:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:00:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:00:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:00:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:00:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:00:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:00:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:00:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:00:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:00:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:00:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:00:14 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:00:14 UTC] 📊 Database Info:
[16-Nov-2025 11:00:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:00:14 UTC]    Books columns count: 53
[16-Nov-2025 11:00:14 UTC]    Categories columns count: 7
[16-Nov-2025 11:00:14 UTC]    Language field in books: YES
[16-Nov-2025 11:00:14 UTC]    Format field in books: YES
[16-Nov-2025 11:00:14 UTC]    Description field in categories: YES
[16-Nov-2025 11:00:14 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:00:14 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:00:14 UTC]    Is_active field in books: YES
[16-Nov-2025 11:00:14 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:00:14 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:00:14 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:00:14 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:00:14 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:00:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:00:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:00:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:00:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:00:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:00:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:00:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:00:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:00:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:00:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:00:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:00:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:00:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:00:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:00:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:00:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:00:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:00:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:00:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:00:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:00:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:00:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:00:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:00:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:00:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:00:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:00:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:00:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:00:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:00:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:00:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:00:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:00:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:00:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:00:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:00:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:00:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:00:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:00:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:00:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:00:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:00:15 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:00:15 UTC] 📊 Database Info:
[16-Nov-2025 11:00:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:00:15 UTC]    Books columns count: 53
[16-Nov-2025 11:00:15 UTC]    Categories columns count: 7
[16-Nov-2025 11:00:15 UTC]    Language field in books: YES
[16-Nov-2025 11:00:15 UTC]    Format field in books: YES
[16-Nov-2025 11:00:15 UTC]    Description field in categories: YES
[16-Nov-2025 11:00:15 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:00:15 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:00:15 UTC]    Is_active field in books: YES
[16-Nov-2025 11:00:15 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:00:15 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:00:15 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:00:15 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:00:15 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:00:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:00:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:00:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:00:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:00:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:00:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:00:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:00:15 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 11:00:15 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 11:00:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:00:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:00:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:00:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:00:15 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:00:15 UTC] 📊 Database Info:
[16-Nov-2025 11:00:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:00:15 UTC]    Books columns count: 53
[16-Nov-2025 11:00:15 UTC]    Categories columns count: 7
[16-Nov-2025 11:00:15 UTC]    Language field in books: YES
[16-Nov-2025 11:00:15 UTC]    Format field in books: YES
[16-Nov-2025 11:00:15 UTC]    Description field in categories: YES
[16-Nov-2025 11:00:15 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:00:15 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:00:15 UTC]    Is_active field in books: YES
[16-Nov-2025 11:00:15 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:00:15 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:00:15 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:00:15 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:00:15 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:00:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:00:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:03:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:03:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:03:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:03:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:03:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:03:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:03:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:03:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:03:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:03:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:03:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:03:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:03:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:03:14 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:03:14 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:03:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:03:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:03:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:03:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:03:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:03:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:03:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:03:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:03:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:03:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:03:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:03:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:03:14 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:03:14 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:03:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:03:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:03:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:03:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:03:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:03:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:03:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:03:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:03:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:03:14 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:03:14 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:03:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:03:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:03:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:03:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:03:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:03:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:03:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:03:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:03:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:03:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:03:15 UTC] 📊 Database Info:
[16-Nov-2025 11:03:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:03:15 UTC]    Books columns count: 53
[16-Nov-2025 11:03:15 UTC]    Categories columns count: 7
[16-Nov-2025 11:03:15 UTC]    Language field in books: YES
[16-Nov-2025 11:03:15 UTC]    Format field in books: YES
[16-Nov-2025 11:03:15 UTC]    Description field in categories: YES
[16-Nov-2025 11:03:15 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:03:15 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:03:15 UTC]    Is_active field in books: YES
[16-Nov-2025 11:03:15 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:03:15 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:03:15 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:03:15 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:03:15 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:03:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:03:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:03:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:03:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:03:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:03:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:03:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:03:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:03:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:03:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:03:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:03:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:03:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:03:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:03:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:03:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:03:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:03:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:03:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:03:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:03:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:03:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:03:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:03:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:03:15 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:03:15 UTC] 📊 Database Info:
[16-Nov-2025 11:03:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:03:15 UTC]    Books columns count: 53
[16-Nov-2025 11:03:15 UTC]    Categories columns count: 7
[16-Nov-2025 11:03:15 UTC]    Language field in books: YES
[16-Nov-2025 11:03:15 UTC]    Format field in books: YES
[16-Nov-2025 11:03:15 UTC]    Description field in categories: YES
[16-Nov-2025 11:03:15 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:03:15 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:03:15 UTC]    Is_active field in books: YES
[16-Nov-2025 11:03:15 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:03:15 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:03:15 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:03:15 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:03:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:03:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:03:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:03:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:03:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:03:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:03:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:03:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:03:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:03:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:03:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:03:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:03:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:03:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:03:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:03:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:03:15 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:03:15 UTC] 📊 Database Info:
[16-Nov-2025 11:03:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:03:15 UTC]    Books columns count: 53
[16-Nov-2025 11:03:15 UTC]    Categories columns count: 7
[16-Nov-2025 11:03:15 UTC]    Language field in books: YES
[16-Nov-2025 11:03:15 UTC]    Format field in books: YES
[16-Nov-2025 11:03:15 UTC]    Description field in categories: YES
[16-Nov-2025 11:03:15 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:03:15 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:03:15 UTC]    Is_active field in books: YES
[16-Nov-2025 11:03:15 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:03:15 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:03:15 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:03:15 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:03:15 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:03:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:03:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:03:15 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 11:03:15 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 11:03:16 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:03:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:03:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:03:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:03:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:03:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:03:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:03:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:03:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:03:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:03:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:03:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:03:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:03:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:03:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:03:16 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:03:16 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:03:16 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:03:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:03:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:03:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:03:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:03:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:03:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:03:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:03:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:03:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:03:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:03:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:03:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:03:16 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:03:16 UTC] 📊 Database Info:
[16-Nov-2025 11:03:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:03:16 UTC]    Books columns count: 53
[16-Nov-2025 11:03:16 UTC]    Categories columns count: 7
[16-Nov-2025 11:03:16 UTC]    Language field in books: YES
[16-Nov-2025 11:03:16 UTC]    Format field in books: YES
[16-Nov-2025 11:03:16 UTC]    Description field in categories: YES
[16-Nov-2025 11:03:16 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:03:16 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:03:16 UTC]    Is_active field in books: YES
[16-Nov-2025 11:03:16 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:03:16 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:03:16 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:03:16 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:03:16 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:03:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:03:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:03:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:03:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:03:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:03:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:03:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:03:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:03:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:03:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:03:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:03:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:03:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:06:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:06:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:06:35 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:06:36 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:06:36 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:06:36 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:06:36 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:06:36 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:06:36 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:06:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:06:36 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:06:36 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:06:36 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:06:36 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:06:36 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:06:36 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:06:36 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:06:36 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:06:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:06:36 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:06:36 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:06:36 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:06:36 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:06:36 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:06:36 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:06:36 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:06:36 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:06:36 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:06:36 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:06:36 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:06:36 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:06:36 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:06:36 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:06:36 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:06:36 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:06:36 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:06:36 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:06:36 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:06:36 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:06:36 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:06:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:06:36 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:06:36 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:06:36 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:06:36 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:06:36 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:06:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:06:36 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:06:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:06:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:06:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:06:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:06:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:06:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:06:37 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:06:37 UTC] 📊 Database Info:
[16-Nov-2025 11:06:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:06:37 UTC]    Books columns count: 53
[16-Nov-2025 11:06:37 UTC]    Categories columns count: 7
[16-Nov-2025 11:06:37 UTC]    Language field in books: YES
[16-Nov-2025 11:06:37 UTC]    Format field in books: YES
[16-Nov-2025 11:06:37 UTC]    Description field in categories: YES
[16-Nov-2025 11:06:37 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:06:37 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:06:37 UTC]    Is_active field in books: YES
[16-Nov-2025 11:06:37 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:06:37 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:06:37 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:06:37 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:06:37 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:06:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:06:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:06:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:06:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:06:37 UTC] 📊 Database Info:
[16-Nov-2025 11:06:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:06:37 UTC]    Books columns count: 53
[16-Nov-2025 11:06:37 UTC]    Categories columns count: 7
[16-Nov-2025 11:06:37 UTC]    Language field in books: YES
[16-Nov-2025 11:06:37 UTC]    Format field in books: YES
[16-Nov-2025 11:06:37 UTC]    Description field in categories: YES
[16-Nov-2025 11:06:37 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:06:37 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:06:37 UTC]    Is_active field in books: YES
[16-Nov-2025 11:06:37 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:06:37 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:06:37 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:06:37 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:06:37 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:06:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:06:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:06:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:06:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:06:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:06:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:06:37 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:06:37 UTC] 📊 Database Info:
[16-Nov-2025 11:06:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:06:37 UTC]    Books columns count: 53
[16-Nov-2025 11:06:37 UTC]    Categories columns count: 7
[16-Nov-2025 11:06:37 UTC]    Language field in books: YES
[16-Nov-2025 11:06:37 UTC]    Format field in books: YES
[16-Nov-2025 11:06:37 UTC]    Description field in categories: YES
[16-Nov-2025 11:06:37 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:06:37 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:06:37 UTC]    Is_active field in books: YES
[16-Nov-2025 11:06:37 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:06:37 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:06:37 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:06:37 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:06:37 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:06:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:06:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:06:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:06:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:06:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:06:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:06:37 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:06:37 UTC] 📊 Database Info:
[16-Nov-2025 11:06:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:06:37 UTC]    Books columns count: 53
[16-Nov-2025 11:06:37 UTC]    Categories columns count: 7
[16-Nov-2025 11:06:37 UTC]    Language field in books: YES
[16-Nov-2025 11:06:37 UTC]    Format field in books: YES
[16-Nov-2025 11:06:37 UTC]    Description field in categories: YES
[16-Nov-2025 11:06:37 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:06:37 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:06:37 UTC]    Is_active field in books: YES
[16-Nov-2025 11:06:37 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:06:37 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:06:37 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:06:37 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:06:37 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:06:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:06:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:06:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:06:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:06:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:06:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:06:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:06:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:06:37 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 11:06:37 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:06:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:06:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:06:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:06:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:06:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:06:37 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:06:37 UTC] 📊 Database Info:
[16-Nov-2025 11:06:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:06:37 UTC]    Books columns count: 53
[16-Nov-2025 11:06:37 UTC]    Categories columns count: 7
[16-Nov-2025 11:06:37 UTC]    Language field in books: YES
[16-Nov-2025 11:06:37 UTC]    Format field in books: YES
[16-Nov-2025 11:06:37 UTC]    Description field in categories: YES
[16-Nov-2025 11:06:37 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:06:37 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:06:37 UTC]    Is_active field in books: YES
[16-Nov-2025 11:06:37 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:06:37 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:06:37 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:06:37 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:06:37 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:06:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:06:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:06:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:06:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:06:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:06:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:06:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:06:38 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:06:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:06:38 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:06:38 UTC] 📊 Database Info:
[16-Nov-2025 11:06:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:06:38 UTC]    Books columns count: 53
[16-Nov-2025 11:06:38 UTC]    Categories columns count: 7
[16-Nov-2025 11:06:38 UTC]    Language field in books: YES
[16-Nov-2025 11:06:38 UTC]    Format field in books: YES
[16-Nov-2025 11:06:38 UTC]    Description field in categories: YES
[16-Nov-2025 11:06:38 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:06:38 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:06:38 UTC]    Is_active field in books: YES
[16-Nov-2025 11:06:38 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:06:38 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:06:38 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:06:38 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:06:38 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:06:38 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:06:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:06:38 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:06:38 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:06:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:06:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:06:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:06:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:06:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:06:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:06:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:06:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:06:38 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:06:38 UTC] 📊 Database Info:
[16-Nov-2025 11:06:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:06:38 UTC]    Books columns count: 53
[16-Nov-2025 11:06:38 UTC]    Categories columns count: 7
[16-Nov-2025 11:06:38 UTC]    Language field in books: YES
[16-Nov-2025 11:06:38 UTC]    Format field in books: YES
[16-Nov-2025 11:06:38 UTC]    Description field in categories: YES
[16-Nov-2025 11:06:38 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:06:38 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:06:38 UTC]    Is_active field in books: YES
[16-Nov-2025 11:06:38 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:06:38 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:06:38 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:06:38 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:06:38 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:06:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:06:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:06:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:06:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:06:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:06:38 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:06:38 UTC] 📊 Database Info:
[16-Nov-2025 11:06:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:06:38 UTC]    Books columns count: 53
[16-Nov-2025 11:06:38 UTC]    Categories columns count: 7
[16-Nov-2025 11:06:38 UTC]    Language field in books: YES
[16-Nov-2025 11:06:38 UTC]    Format field in books: YES
[16-Nov-2025 11:06:38 UTC]    Description field in categories: YES
[16-Nov-2025 11:06:38 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:06:38 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:06:38 UTC]    Is_active field in books: YES
[16-Nov-2025 11:06:38 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:06:38 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:06:38 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:06:38 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:06:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:06:38 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:06:38 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:06:38 UTC] 📊 Database Info:
[16-Nov-2025 11:06:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:06:38 UTC]    Books columns count: 53
[16-Nov-2025 11:06:38 UTC]    Categories columns count: 7
[16-Nov-2025 11:06:38 UTC]    Language field in books: YES
[16-Nov-2025 11:06:38 UTC]    Format field in books: YES
[16-Nov-2025 11:06:38 UTC]    Description field in categories: YES
[16-Nov-2025 11:06:38 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:06:38 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:06:38 UTC]    Is_active field in books: YES
[16-Nov-2025 11:06:38 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:06:38 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:06:38 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:06:38 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:06:38 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:06:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:06:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:06:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:06:38 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 11:06:38 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 11:16:11 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:11 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:12 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:12 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:12 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:12 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:16:12 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:16:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:12 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:16:12 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:12 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:12 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:12 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:16:12 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:16:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:12 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:12 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:12 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:16:12 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:16:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:12 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:16:12 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:12 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:12 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:12 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:16:12 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:16:12 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:12 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:16:13 UTC] 📊 Database Info:
[16-Nov-2025 11:16:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:16:13 UTC]    Books columns count: 53
[16-Nov-2025 11:16:13 UTC]    Categories columns count: 7
[16-Nov-2025 11:16:13 UTC]    Language field in books: YES
[16-Nov-2025 11:16:13 UTC]    Format field in books: YES
[16-Nov-2025 11:16:13 UTC]    Description field in categories: YES
[16-Nov-2025 11:16:13 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:16:13 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:16:13 UTC]    Is_active field in books: YES
[16-Nov-2025 11:16:13 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:16:13 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:16:13 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:16:13 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:16:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:16:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:16:13 UTC] 📊 Database Info:
[16-Nov-2025 11:16:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:16:13 UTC]    Books columns count: 53
[16-Nov-2025 11:16:13 UTC]    Categories columns count: 7
[16-Nov-2025 11:16:13 UTC]    Language field in books: YES
[16-Nov-2025 11:16:13 UTC]    Format field in books: YES
[16-Nov-2025 11:16:13 UTC]    Description field in categories: YES
[16-Nov-2025 11:16:13 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:16:13 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:16:13 UTC]    Is_active field in books: YES
[16-Nov-2025 11:16:13 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:16:13 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:16:13 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:16:13 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:16:13 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:16:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:16:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:16:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:16:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:16:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:16:13 UTC] 📊 Database Info:
[16-Nov-2025 11:16:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:16:13 UTC]    Books columns count: 53
[16-Nov-2025 11:16:13 UTC]    Categories columns count: 7
[16-Nov-2025 11:16:13 UTC]    Language field in books: YES
[16-Nov-2025 11:16:13 UTC]    Format field in books: YES
[16-Nov-2025 11:16:13 UTC]    Description field in categories: YES
[16-Nov-2025 11:16:13 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:16:13 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:16:13 UTC]    Is_active field in books: YES
[16-Nov-2025 11:16:13 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:16:13 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:16:13 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:16:13 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:16:13 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:16:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:13 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:16:13 UTC] 📊 Database Info:
[16-Nov-2025 11:16:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:16:13 UTC]    Books columns count: 53
[16-Nov-2025 11:16:13 UTC]    Categories columns count: 7
[16-Nov-2025 11:16:13 UTC]    Language field in books: YES
[16-Nov-2025 11:16:13 UTC]    Format field in books: YES
[16-Nov-2025 11:16:13 UTC]    Description field in categories: YES
[16-Nov-2025 11:16:13 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:16:13 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:16:13 UTC]    Is_active field in books: YES
[16-Nov-2025 11:16:13 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:16:13 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:16:13 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:16:13 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:16:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:16:13 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:16:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:16:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:16:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:16:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:16:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:13 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:16:13 UTC] 📊 Database Info:
[16-Nov-2025 11:16:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:16:13 UTC]    Books columns count: 53
[16-Nov-2025 11:16:13 UTC]    Categories columns count: 7
[16-Nov-2025 11:16:13 UTC]    Language field in books: YES
[16-Nov-2025 11:16:13 UTC]    Format field in books: YES
[16-Nov-2025 11:16:13 UTC]    Description field in categories: YES
[16-Nov-2025 11:16:13 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:16:13 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:16:13 UTC]    Is_active field in books: YES
[16-Nov-2025 11:16:13 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:16:13 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:16:13 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:16:13 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:16:13 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:16:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:16:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:16:13 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:13 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 11:16:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:13 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:16:13 UTC] 📊 Database Info:
[16-Nov-2025 11:16:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:16:13 UTC]    Books columns count: 53
[16-Nov-2025 11:16:13 UTC]    Categories columns count: 7
[16-Nov-2025 11:16:13 UTC]    Language field in books: YES
[16-Nov-2025 11:16:13 UTC]    Format field in books: YES
[16-Nov-2025 11:16:13 UTC]    Description field in categories: YES
[16-Nov-2025 11:16:13 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:16:13 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:16:13 UTC]    Is_active field in books: YES
[16-Nov-2025 11:16:13 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:16:13 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:16:13 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:16:13 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:16:13 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:16:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:16:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:16:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:16:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:16:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:16:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:16:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:16:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:16:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:16:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:16:14 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 11:16:14 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 11:16:23 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:24 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:16:24 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:24 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:16:24 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:16:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:24 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:16:24 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:16:24 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:16:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:24 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:16:24 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:24 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:16:24 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:16:24 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:24 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:24 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:16:24 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:16:24 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:24 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:16:24 UTC] 📊 Database Info:
[16-Nov-2025 11:16:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:16:24 UTC]    Books columns count: 53
[16-Nov-2025 11:16:24 UTC]    Categories columns count: 7
[16-Nov-2025 11:16:24 UTC]    Language field in books: YES
[16-Nov-2025 11:16:24 UTC]    Format field in books: YES
[16-Nov-2025 11:16:24 UTC]    Description field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Is_active field in books: YES
[16-Nov-2025 11:16:24 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:16:24 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:16:24 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:16:24 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:16:24 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:16:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:16:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:24 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:16:24 UTC] 📊 Database Info:
[16-Nov-2025 11:16:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:16:24 UTC]    Books columns count: 53
[16-Nov-2025 11:16:24 UTC]    Categories columns count: 7
[16-Nov-2025 11:16:24 UTC]    Language field in books: YES
[16-Nov-2025 11:16:24 UTC]    Format field in books: YES
[16-Nov-2025 11:16:24 UTC]    Description field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Is_active field in books: YES
[16-Nov-2025 11:16:24 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:16:24 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:16:24 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:16:24 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:16:24 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:16:24 UTC] 📊 Database Info:
[16-Nov-2025 11:16:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:16:24 UTC]    Books columns count: 53
[16-Nov-2025 11:16:24 UTC]    Categories columns count: 7
[16-Nov-2025 11:16:24 UTC]    Language field in books: YES
[16-Nov-2025 11:16:24 UTC]    Format field in books: YES
[16-Nov-2025 11:16:24 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:16:24 UTC]    Description field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Is_active field in books: YES
[16-Nov-2025 11:16:24 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:16:24 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:16:24 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:16:24 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:16:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:16:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:16:24 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:16:24 UTC] 📊 Database Info:
[16-Nov-2025 11:16:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:16:24 UTC]    Books columns count: 53
[16-Nov-2025 11:16:24 UTC]    Categories columns count: 7
[16-Nov-2025 11:16:24 UTC]    Language field in books: YES
[16-Nov-2025 11:16:24 UTC]    Format field in books: YES
[16-Nov-2025 11:16:24 UTC]    Description field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Is_active field in books: YES
[16-Nov-2025 11:16:24 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:16:24 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:16:24 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:16:24 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:16:24 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:16:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:16:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:16:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:16:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:16:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:24 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:16:24 UTC] 📊 Database Info:
[16-Nov-2025 11:16:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:16:24 UTC]    Books columns count: 53
[16-Nov-2025 11:16:24 UTC]    Categories columns count: 7
[16-Nov-2025 11:16:24 UTC]    Language field in books: YES
[16-Nov-2025 11:16:24 UTC]    Format field in books: YES
[16-Nov-2025 11:16:24 UTC]    Description field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Is_active field in books: YES
[16-Nov-2025 11:16:24 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:16:24 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:16:24 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:16:24 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:16:24 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:16:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:16:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:16:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:16:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:16:24 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:16:24 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:16:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:16:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:16:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:16:24 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:16:24 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:16:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:24 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:16:24 UTC] 📊 Database Info:
[16-Nov-2025 11:16:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:16:24 UTC]    Books columns count: 53
[16-Nov-2025 11:16:24 UTC]    Categories columns count: 7
[16-Nov-2025 11:16:24 UTC]    Language field in books: YES
[16-Nov-2025 11:16:24 UTC]    Format field in books: YES
[16-Nov-2025 11:16:24 UTC]    Description field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Is_active field in books: YES
[16-Nov-2025 11:16:24 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:16:24 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:16:24 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:16:24 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:16:24 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:16:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:16:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:24 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:16:24 UTC] 📊 Database Info:
[16-Nov-2025 11:16:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:16:24 UTC]    Books columns count: 53
[16-Nov-2025 11:16:24 UTC]    Categories columns count: 7
[16-Nov-2025 11:16:24 UTC]    Language field in books: YES
[16-Nov-2025 11:16:24 UTC]    Format field in books: YES
[16-Nov-2025 11:16:24 UTC]    Description field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:16:24 UTC]    Is_active field in books: YES
[16-Nov-2025 11:16:24 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:16:24 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:16:24 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:16:24 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:16:24 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:16:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:16:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:16:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:16:24 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:16:24 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:16:25 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:25 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:25 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:25 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:25 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:25 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:25 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:25 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:25 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:25 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:25 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:25 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:25 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:16:25 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:16:25 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:25 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:25 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:25 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:25 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:25 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:25 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:25 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:25 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:25 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:25 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:25 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:25 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:25 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:16:25 UTC] 📊 Database Info:
[16-Nov-2025 11:16:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:16:25 UTC]    Books columns count: 53
[16-Nov-2025 11:16:25 UTC]    Categories columns count: 7
[16-Nov-2025 11:16:25 UTC]    Language field in books: YES
[16-Nov-2025 11:16:25 UTC]    Format field in books: YES
[16-Nov-2025 11:16:25 UTC]    Description field in categories: YES
[16-Nov-2025 11:16:25 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:16:25 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:16:25 UTC]    Is_active field in books: YES
[16-Nov-2025 11:16:25 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:16:25 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:16:25 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:16:25 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:16:25 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:16:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:16:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:16:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:16:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:16:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:16:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:16:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:16:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:16:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:16:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:16:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:16:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:16:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:16:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:16:25 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:16:25 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:16:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:33 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:33 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:33 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:33 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:33 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:33 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:33 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:33 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:33 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:16:33 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:16:33 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:16:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:16:33 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:16:33 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:16:33 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:16:33 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:16:33 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:16:33 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:16:33 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:16:33 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:16:33 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:16:33 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:16:33 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:16:33 UTC] 📊 Database Info:
[16-Nov-2025 11:16:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:16:33 UTC]    Books columns count: 53
[16-Nov-2025 11:16:33 UTC]    Categories columns count: 7
[16-Nov-2025 11:16:33 UTC]    Language field in books: YES
[16-Nov-2025 11:16:33 UTC]    Format field in books: YES
[16-Nov-2025 11:16:33 UTC]    Description field in categories: YES
[16-Nov-2025 11:16:33 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:16:33 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:16:33 UTC]    Is_active field in books: YES
[16-Nov-2025 11:16:33 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:16:33 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:16:33 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:16:33 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:16:33 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:16:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:16:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:16:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:16:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:16:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:16:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:16:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:16:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:16:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:16:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:16:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:16:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:16:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:18:27 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:18:27 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:18:28 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:18:28 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:18:28 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:18:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:18:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:18:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:18:28 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:18:28 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:18:28 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:18:28 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:18:28 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:18:28 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:18:28 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:18:28 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:18:28 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:18:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:18:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:18:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:18:28 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:18:28 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:18:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:18:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:18:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:18:28 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:18:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:18:28 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:18:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:18:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:18:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:18:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:18:28 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:18:28 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:18:28 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:18:28 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:18:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:18:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:18:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:18:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:18:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:18:28 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:18:28 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:18:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:18:28 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:18:28 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:18:28 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:18:28 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:18:28 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:18:28 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:18:28 UTC] 📊 Database Info:
[16-Nov-2025 11:18:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:18:28 UTC]    Books columns count: 53
[16-Nov-2025 11:18:28 UTC]    Categories columns count: 7
[16-Nov-2025 11:18:28 UTC]    Language field in books: YES
[16-Nov-2025 11:18:28 UTC]    Format field in books: YES
[16-Nov-2025 11:18:28 UTC]    Description field in categories: YES
[16-Nov-2025 11:18:28 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:18:28 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:18:28 UTC]    Is_active field in books: YES
[16-Nov-2025 11:18:28 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:18:28 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:18:28 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:18:28 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:18:28 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:18:28 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:18:28 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:18:28 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:18:28 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:18:28 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:18:28 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:18:28 UTC] 📊 Database Info:
[16-Nov-2025 11:18:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:18:28 UTC]    Books columns count: 53
[16-Nov-2025 11:18:28 UTC]    Categories columns count: 7
[16-Nov-2025 11:18:28 UTC]    Language field in books: YES
[16-Nov-2025 11:18:28 UTC]    Format field in books: YES
[16-Nov-2025 11:18:28 UTC]    Description field in categories: YES
[16-Nov-2025 11:18:28 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:18:28 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:18:28 UTC]    Is_active field in books: YES
[16-Nov-2025 11:18:28 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:18:28 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:18:28 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:18:28 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:18:28 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:18:28 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:18:28 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:18:28 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:18:28 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:18:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:18:28 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:18:28 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:18:28 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:18:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:18:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:18:28 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:18:28 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:18:28 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:18:28 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:18:28 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:18:28 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:18:28 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:18:28 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:18:28 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:18:28 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:18:28 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:18:28 UTC] 📊 Database Info:
[16-Nov-2025 11:18:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:18:28 UTC]    Books columns count: 53
[16-Nov-2025 11:18:28 UTC]    Categories columns count: 7
[16-Nov-2025 11:18:28 UTC]    Language field in books: YES
[16-Nov-2025 11:18:28 UTC]    Format field in books: YES
[16-Nov-2025 11:18:28 UTC]    Description field in categories: YES
[16-Nov-2025 11:18:28 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:18:28 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:18:28 UTC]    Is_active field in books: YES
[16-Nov-2025 11:18:28 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:18:28 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:18:28 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:18:28 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:18:28 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:18:28 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:18:28 UTC] 📊 Database Info:
[16-Nov-2025 11:18:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:18:28 UTC]    Books columns count: 53
[16-Nov-2025 11:18:28 UTC]    Categories columns count: 7
[16-Nov-2025 11:18:28 UTC]    Language field in books: YES
[16-Nov-2025 11:18:28 UTC]    Format field in books: YES
[16-Nov-2025 11:18:28 UTC]    Description field in categories: YES
[16-Nov-2025 11:18:28 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:18:28 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:18:28 UTC]    Is_active field in books: YES
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:18:28 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:18:28 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:18:28 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:18:28 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:18:28 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:18:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:18:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:18:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:18:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:18:28 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:18:28 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:18:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:18:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:18:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:18:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:18:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:18:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:18:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:18:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:18:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:18:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:18:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:18:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:18:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:18:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:18:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:18:29 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:18:29 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:18:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:18:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:18:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:18:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:18:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:18:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:18:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:18:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:18:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:18:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:18:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:18:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:18:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:18:29 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:18:29 UTC] 📊 Database Info:
[16-Nov-2025 11:18:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:18:29 UTC]    Books columns count: 53
[16-Nov-2025 11:18:29 UTC]    Categories columns count: 7
[16-Nov-2025 11:18:29 UTC]    Language field in books: YES
[16-Nov-2025 11:18:29 UTC]    Format field in books: YES
[16-Nov-2025 11:18:29 UTC]    Description field in categories: YES
[16-Nov-2025 11:18:29 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:18:29 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:18:29 UTC]    Is_active field in books: YES
[16-Nov-2025 11:18:29 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:18:29 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:18:29 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:18:29 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:18:29 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:18:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:18:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:18:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:18:29 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:20:26 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:26 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:26 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:26 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:26 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:26 UTC] 📊 Database Info:
[16-Nov-2025 11:20:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:26 UTC]    Books columns count: 53
[16-Nov-2025 11:20:26 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:26 UTC]    Language field in books: YES
[16-Nov-2025 11:20:26 UTC]    Format field in books: YES
[16-Nov-2025 11:20:26 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:26 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:26 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:26 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:26 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:26 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:26 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:26 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:26 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:33 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:33 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:33 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:33 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:33 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:33 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:33 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:33 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:33 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:33 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:33 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:33 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:33 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:33 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:33 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:33 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:33 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:33 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:33 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:33 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:33 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:33 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:33 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:33 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:33 UTC] 📊 Database Info:
[16-Nov-2025 11:20:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:33 UTC]    Books columns count: 53
[16-Nov-2025 11:20:33 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:33 UTC]    Language field in books: YES
[16-Nov-2025 11:20:33 UTC]    Format field in books: YES
[16-Nov-2025 11:20:33 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:33 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:33 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:33 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:33 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:33 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:33 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:33 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:33 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:33 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:33 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:33 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:33 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:33 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:33 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:33 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:33 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:33 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:33 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:33 UTC] 📊 Database Info:
[16-Nov-2025 11:20:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:33 UTC]    Books columns count: 53
[16-Nov-2025 11:20:33 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:33 UTC]    Language field in books: YES
[16-Nov-2025 11:20:33 UTC]    Format field in books: YES
[16-Nov-2025 11:20:33 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:33 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:33 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:33 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:33 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:33 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:33 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:33 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:33 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:33 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:20:33 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:20:33 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:20:33 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:33 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:33 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:33 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:33 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:33 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:33 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:33 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:33 UTC] 📊 Database Info:
[16-Nov-2025 11:20:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:33 UTC]    Books columns count: 53
[16-Nov-2025 11:20:33 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:33 UTC]    Language field in books: YES
[16-Nov-2025 11:20:33 UTC]    Format field in books: YES
[16-Nov-2025 11:20:33 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:33 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:33 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:33 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:33 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:33 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:33 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:33 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:33 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:33 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:33 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:20:33 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:20:33 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:33 UTC] 📊 Database Info:
[16-Nov-2025 11:20:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:33 UTC]    Books columns count: 53
[16-Nov-2025 11:20:33 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:33 UTC]    Language field in books: YES
[16-Nov-2025 11:20:33 UTC]    Format field in books: YES
[16-Nov-2025 11:20:33 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:33 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:20:33 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:33 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:33 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:33 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:33 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:33 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:33 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:33 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:34 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:34 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:34 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:34 UTC] 📊 Database Info:
[16-Nov-2025 11:20:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:34 UTC]    Books columns count: 53
[16-Nov-2025 11:20:34 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:34 UTC]    Language field in books: YES
[16-Nov-2025 11:20:34 UTC]    Format field in books: YES
[16-Nov-2025 11:20:34 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:34 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:34 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:34 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:34 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:34 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:34 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:34 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:34 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:20:34 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:20:34 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:20:39 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:39 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:39 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:39 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:39 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:39 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:39 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:39 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:39 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:39 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:39 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:39 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:39 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:39 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:39 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:39 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:39 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:39 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:39 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:39 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:39 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:39 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:39 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:39 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:39 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:39 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:39 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:39 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:39 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:39 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:39 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:39 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:39 UTC] 📊 Database Info:
[16-Nov-2025 11:20:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:39 UTC]    Books columns count: 53
[16-Nov-2025 11:20:39 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:39 UTC]    Language field in books: YES
[16-Nov-2025 11:20:39 UTC]    Format field in books: YES
[16-Nov-2025 11:20:39 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:39 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:39 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:39 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:39 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:39 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:39 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:39 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:39 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:39 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:39 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:39 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:39 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:20:39 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:39 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:20:39 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:39 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:39 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:40 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:40 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:40 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:40 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:40 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:40 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:40 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:40 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:40 UTC] 📊 Database Info:
[16-Nov-2025 11:20:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:40 UTC]    Books columns count: 53
[16-Nov-2025 11:20:40 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:40 UTC]    Language field in books: YES
[16-Nov-2025 11:20:40 UTC]    Format field in books: YES
[16-Nov-2025 11:20:40 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:40 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:40 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:40 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:40 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:40 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:40 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:40 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:40 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:40 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:40 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:40 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:40 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:40 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:40 UTC] 📊 Database Info:
[16-Nov-2025 11:20:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:40 UTC]    Books columns count: 53
[16-Nov-2025 11:20:40 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:40 UTC]    Language field in books: YES
[16-Nov-2025 11:20:40 UTC]    Format field in books: YES
[16-Nov-2025 11:20:40 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:40 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:40 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:40 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:40 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:40 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:40 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:40 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:40 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:40 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:40 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:40 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:40 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:40 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:40 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:40 UTC] 📊 Database Info:
[16-Nov-2025 11:20:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:40 UTC]    Books columns count: 53
[16-Nov-2025 11:20:40 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:40 UTC]    Language field in books: YES
[16-Nov-2025 11:20:40 UTC]    Format field in books: YES
[16-Nov-2025 11:20:40 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:40 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:40 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:40 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:40 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:40 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:40 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:40 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:40 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:20:40 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:20:40 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:20:40 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:40 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:40 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:40 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:40 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:40 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:40 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:40 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:40 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:40 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:40 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:40 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:40 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:40 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:40 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:40 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:40 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:40 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:40 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:40 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:40 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:40 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:40 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:40 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:41 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:41 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:41 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:41 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:41 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:41 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:41 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:41 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:41 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:41 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:41 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:41 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:41 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:41 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:41 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:41 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:41 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:41 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:41 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:41 UTC] 📊 Database Info:
[16-Nov-2025 11:20:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:41 UTC]    Books columns count: 53
[16-Nov-2025 11:20:41 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:41 UTC]    Language field in books: YES
[16-Nov-2025 11:20:41 UTC]    Format field in books: YES
[16-Nov-2025 11:20:41 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:41 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:41 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:41 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:41 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:41 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:41 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:41 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:41 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:41 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:41 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:41 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:41 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:20:41 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:20:41 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:20:41 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:41 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:41 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:41 UTC] 📊 Database Info:
[16-Nov-2025 11:20:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:41 UTC]    Books columns count: 53
[16-Nov-2025 11:20:41 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:41 UTC]    Language field in books: YES
[16-Nov-2025 11:20:41 UTC]    Format field in books: YES
[16-Nov-2025 11:20:41 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:41 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:41 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:41 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:41 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:41 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:41 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:41 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:41 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:20:41 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:20:41 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:20:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:44 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:44 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:44 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:44 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:44 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:44 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:44 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:44 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:44 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:44 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:44 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:44 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:44 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:44 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:44 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:44 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:44 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:44 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:44 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:44 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:44 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:44 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:44 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:44 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:44 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:44 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:44 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:44 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:44 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:44 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:44 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:44 UTC] 📊 Database Info:
[16-Nov-2025 11:20:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:44 UTC]    Books columns count: 53
[16-Nov-2025 11:20:44 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:44 UTC]    Language field in books: YES
[16-Nov-2025 11:20:44 UTC]    Format field in books: YES
[16-Nov-2025 11:20:44 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:44 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:44 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:44 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:44 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:44 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:44 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:44 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:44 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:44 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:44 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:44 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:44 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:44 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:44 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:44 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:44 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:44 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:44 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:44 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:44 UTC] 📊 Database Info:
[16-Nov-2025 11:20:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:44 UTC]    Books columns count: 53
[16-Nov-2025 11:20:44 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:44 UTC]    Language field in books: YES
[16-Nov-2025 11:20:44 UTC]    Format field in books: YES
[16-Nov-2025 11:20:44 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:44 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:44 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:44 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:44 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:44 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:44 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:44 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:44 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:44 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:44 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:44 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:44 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:45 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:45 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:45 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:45 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:45 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:45 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:45 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:45 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:45 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:45 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:45 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:45 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:45 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:45 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:45 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:45 UTC] 📊 Database Info:
[16-Nov-2025 11:20:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:45 UTC]    Books columns count: 53
[16-Nov-2025 11:20:45 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:45 UTC]    Language field in books: YES
[16-Nov-2025 11:20:45 UTC]    Format field in books: YES
[16-Nov-2025 11:20:45 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:45 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:45 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:45 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:45 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:45 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:45 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:45 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:20:45 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:20:45 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:45 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:45 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:45 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:45 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:45 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:45 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:45 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:45 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:45 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:45 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:45 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:45 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:45 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:45 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:45 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:45 UTC] 📊 Database Info:
[16-Nov-2025 11:20:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:45 UTC]    Books columns count: 53
[16-Nov-2025 11:20:45 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:45 UTC]    Language field in books: YES
[16-Nov-2025 11:20:45 UTC]    Format field in books: YES
[16-Nov-2025 11:20:45 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:45 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:45 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:45 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:45 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:45 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:45 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:45 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:45 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:20:45 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:20:45 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:20:45 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:45 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:45 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:45 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:45 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:45 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:45 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:45 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:45 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:45 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:45 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:45 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:45 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:45 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:45 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:46 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:46 UTC] 📊 Database Info:
[16-Nov-2025 11:20:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:46 UTC]    Books columns count: 53
[16-Nov-2025 11:20:46 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:46 UTC]    Language field in books: YES
[16-Nov-2025 11:20:46 UTC]    Format field in books: YES
[16-Nov-2025 11:20:46 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:46 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:46 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:46 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:46 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:46 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:46 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:46 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:46 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:20:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:20:46 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:20:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:49 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:49 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:49 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:49 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:49 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:49 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:49 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:49 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:49 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:49 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:49 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:49 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:49 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:49 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:49 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:49 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:49 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:49 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:49 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:49 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:49 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:49 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:49 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:49 UTC] 📊 Database Info:
[16-Nov-2025 11:20:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:49 UTC]    Books columns count: 53
[16-Nov-2025 11:20:49 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:49 UTC]    Language field in books: YES
[16-Nov-2025 11:20:49 UTC]    Format field in books: YES
[16-Nov-2025 11:20:49 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:49 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:49 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:49 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:49 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:49 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:49 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:49 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:49 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:49 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:49 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:49 UTC] 📊 Database Info:
[16-Nov-2025 11:20:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:49 UTC]    Books columns count: 53
[16-Nov-2025 11:20:49 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:49 UTC]    Language field in books: YES
[16-Nov-2025 11:20:49 UTC]    Format field in books: YES
[16-Nov-2025 11:20:49 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:49 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:49 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:49 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:49 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:49 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:49 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:49 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:49 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:49 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:49 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:20:49 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:20:49 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:20:49 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:20:49 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:49 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:49 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:49 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:49 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:49 UTC] 📊 Database Info:
[16-Nov-2025 11:20:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:49 UTC]    Books columns count: 53
[16-Nov-2025 11:20:49 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:49 UTC]    Language field in books: YES
[16-Nov-2025 11:20:49 UTC]    Format field in books: YES
[16-Nov-2025 11:20:49 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:49 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:49 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:49 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:49 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:49 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:49 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:49 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:49 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:49 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:49 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:49 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:49 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:49 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:49 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:49 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:50 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:50 UTC] 📊 Database Info:
[16-Nov-2025 11:20:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:50 UTC]    Books columns count: 53
[16-Nov-2025 11:20:50 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:50 UTC]    Language field in books: YES
[16-Nov-2025 11:20:50 UTC]    Format field in books: YES
[16-Nov-2025 11:20:50 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:50 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:50 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:50 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:50 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:50 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:50 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:50 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:50 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:50 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:50 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:51 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:51 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:51 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:51 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:51 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:51 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:51 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:51 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:51 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:51 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:51 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:51 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:51 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:51 UTC] 📊 Database Info:
[16-Nov-2025 11:20:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:51 UTC]    Books columns count: 53
[16-Nov-2025 11:20:51 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:51 UTC]    Language field in books: YES
[16-Nov-2025 11:20:51 UTC]    Format field in books: YES
[16-Nov-2025 11:20:51 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:51 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:51 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:51 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:51 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:51 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:51 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:51 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:51 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:51 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:51 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:51 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:51 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:20:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:20:51 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:20:51 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:51 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:51 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:51 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:51 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:51 UTC] 📊 Database Info:
[16-Nov-2025 11:20:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:51 UTC]    Books columns count: 53
[16-Nov-2025 11:20:51 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:51 UTC]    Language field in books: YES
[16-Nov-2025 11:20:51 UTC]    Format field in books: YES
[16-Nov-2025 11:20:51 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:51 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:51 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:51 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:51 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:51 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:51 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:51 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:51 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:20:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:20:51 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:20:51 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:51 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:51 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:51 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:20:51 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:20:51 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:20:51 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:20:51 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:20:51 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:20:51 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:20:51 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:20:51 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:20:51 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:20:51 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:20:51 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:20:51 UTC] 📊 Database Info:
[16-Nov-2025 11:20:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:20:51 UTC]    Books columns count: 53
[16-Nov-2025 11:20:51 UTC]    Categories columns count: 7
[16-Nov-2025 11:20:51 UTC]    Language field in books: YES
[16-Nov-2025 11:20:51 UTC]    Format field in books: YES
[16-Nov-2025 11:20:51 UTC]    Description field in categories: YES
[16-Nov-2025 11:20:51 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:20:51 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:20:51 UTC]    Is_active field in books: YES
[16-Nov-2025 11:20:51 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:20:51 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:20:51 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:20:51 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:20:51 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:20:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:20:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:20:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:20:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:20:51 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:20:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:20:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:21:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:21:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:21:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:21:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:21:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:21:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:21:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:00 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:21:00 UTC] 📊 Database Info:
[16-Nov-2025 11:21:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:21:00 UTC]    Books columns count: 53
[16-Nov-2025 11:21:00 UTC]    Categories columns count: 7
[16-Nov-2025 11:21:00 UTC]    Language field in books: YES
[16-Nov-2025 11:21:00 UTC]    Format field in books: YES
[16-Nov-2025 11:21:00 UTC]    Description field in categories: YES
[16-Nov-2025 11:21:00 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:21:00 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:21:00 UTC]    Is_active field in books: YES
[16-Nov-2025 11:21:00 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:21:00 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:21:00 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:21:00 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:21:00 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:21:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:00 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:21:00 UTC] 📊 Database Info:
[16-Nov-2025 11:21:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:21:00 UTC]    Books columns count: 53
[16-Nov-2025 11:21:00 UTC]    Categories columns count: 7
[16-Nov-2025 11:21:00 UTC]    Language field in books: YES
[16-Nov-2025 11:21:00 UTC]    Format field in books: YES
[16-Nov-2025 11:21:00 UTC]    Description field in categories: YES
[16-Nov-2025 11:21:00 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:21:00 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:21:00 UTC]    Is_active field in books: YES
[16-Nov-2025 11:21:00 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:21:00 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:21:00 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:21:00 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:21:00 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:21:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:21:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:21:00 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:21:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:21:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:21:00 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:21:00 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:21:00 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:21:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:21:00 UTC] 📊 Database Info:
[16-Nov-2025 11:21:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:21:00 UTC]    Books columns count: 53
[16-Nov-2025 11:21:00 UTC]    Categories columns count: 7
[16-Nov-2025 11:21:00 UTC]    Language field in books: YES
[16-Nov-2025 11:21:00 UTC]    Format field in books: YES
[16-Nov-2025 11:21:00 UTC]    Description field in categories: YES
[16-Nov-2025 11:21:00 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:21:00 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:21:00 UTC]    Is_active field in books: YES
[16-Nov-2025 11:21:00 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:21:00 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:21:00 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:21:00 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:21:00 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:21:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:21:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:00 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:21:00 UTC] 📊 Database Info:
[16-Nov-2025 11:21:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:21:00 UTC]    Books columns count: 53
[16-Nov-2025 11:21:00 UTC]    Categories columns count: 7
[16-Nov-2025 11:21:00 UTC]    Language field in books: YES
[16-Nov-2025 11:21:00 UTC]    Format field in books: YES
[16-Nov-2025 11:21:00 UTC]    Description field in categories: YES
[16-Nov-2025 11:21:00 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:21:00 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:21:00 UTC]    Is_active field in books: YES
[16-Nov-2025 11:21:00 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:21:00 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:21:00 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:21:00 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:21:00 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:21:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:21:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:21:01 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:01 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:21:01 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:21:01 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:01 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:21:01 UTC] 📊 Database Info:
[16-Nov-2025 11:21:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:21:01 UTC]    Books columns count: 53
[16-Nov-2025 11:21:01 UTC]    Categories columns count: 7
[16-Nov-2025 11:21:01 UTC]    Language field in books: YES
[16-Nov-2025 11:21:01 UTC]    Format field in books: YES
[16-Nov-2025 11:21:01 UTC]    Description field in categories: YES
[16-Nov-2025 11:21:01 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:21:01 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:21:01 UTC]    Is_active field in books: YES
[16-Nov-2025 11:21:01 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:21:01 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:21:01 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:21:01 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:21:01 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:21:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:21:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:21:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:21:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:21:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:21:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:21:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:21:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:21:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:21:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:21:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:21:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:21:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:21:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:21:01 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:21:01 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:21:18 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:18 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:18 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:18 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:18 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:18 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:18 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:18 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:18 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:18 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:18 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:18 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:18 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:21:18 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:21:18 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:18 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:18 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:18 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:18 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:18 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:18 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:18 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:18 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:18 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:18 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:18 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:18 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:18 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:21:18 UTC] 📊 Database Info:
[16-Nov-2025 11:21:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:21:18 UTC]    Books columns count: 53
[16-Nov-2025 11:21:18 UTC]    Categories columns count: 7
[16-Nov-2025 11:21:18 UTC]    Language field in books: YES
[16-Nov-2025 11:21:18 UTC]    Format field in books: YES
[16-Nov-2025 11:21:18 UTC]    Description field in categories: YES
[16-Nov-2025 11:21:18 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:21:18 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:21:18 UTC]    Is_active field in books: YES
[16-Nov-2025 11:21:18 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:21:18 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:21:18 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:21:18 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:21:18 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:21:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:21:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:21:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:21:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:21:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:21:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:21:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:21:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:21:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:21:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:21:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:21:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:21:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:21:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:22 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:23 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:23 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:23 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:23 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:23 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:23 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:21:23 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:21:23 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:23 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:23 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:23 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:23 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:21:23 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:21:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:23 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:23 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:21:23 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:21:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:23 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:23 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:23 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:21:23 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:21:23 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:23 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:23 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:23 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:21:23 UTC] 📊 Database Info:
[16-Nov-2025 11:21:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:21:23 UTC]    Books columns count: 53
[16-Nov-2025 11:21:23 UTC]    Categories columns count: 7
[16-Nov-2025 11:21:23 UTC]    Language field in books: YES
[16-Nov-2025 11:21:23 UTC]    Format field in books: YES
[16-Nov-2025 11:21:23 UTC]    Description field in categories: YES
[16-Nov-2025 11:21:23 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:21:23 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:21:23 UTC]    Is_active field in books: YES
[16-Nov-2025 11:21:23 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:21:23 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:21:23 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:21:23 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:21:23 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:21:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:21:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:21:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:21:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:21:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:21:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:23 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:23 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:23 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:23 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:23 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:23 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:21:23 UTC] 📊 Database Info:
[16-Nov-2025 11:21:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:21:23 UTC]    Books columns count: 53
[16-Nov-2025 11:21:23 UTC]    Categories columns count: 7
[16-Nov-2025 11:21:23 UTC]    Language field in books: YES
[16-Nov-2025 11:21:23 UTC]    Format field in books: YES
[16-Nov-2025 11:21:23 UTC]    Description field in categories: YES
[16-Nov-2025 11:21:23 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:21:23 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:21:23 UTC]    Is_active field in books: YES
[16-Nov-2025 11:21:23 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:21:23 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:21:23 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:21:23 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:21:23 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:23 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:21:23 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:21:23 UTC] 📊 Database Info:
[16-Nov-2025 11:21:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:21:23 UTC]    Books columns count: 53
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:21:23 UTC]    Categories columns count: 7
[16-Nov-2025 11:21:23 UTC]    Language field in books: YES
[16-Nov-2025 11:21:23 UTC]    Format field in books: YES
[16-Nov-2025 11:21:23 UTC]    Description field in categories: YES
[16-Nov-2025 11:21:23 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:21:23 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:21:23 UTC]    Is_active field in books: YES
[16-Nov-2025 11:21:23 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:21:23 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:21:23 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:21:23 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:21:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:21:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:21:23 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:21:23 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:21:23 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:23 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:21:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:21:23 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:23 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:23 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:23 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:23 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:21:23 UTC] 📊 Database Info:
[16-Nov-2025 11:21:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:21:23 UTC]    Books columns count: 53
[16-Nov-2025 11:21:23 UTC]    Categories columns count: 7
[16-Nov-2025 11:21:23 UTC]    Language field in books: YES
[16-Nov-2025 11:21:23 UTC]    Format field in books: YES
[16-Nov-2025 11:21:23 UTC]    Description field in categories: YES
[16-Nov-2025 11:21:23 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:21:23 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:21:23 UTC]    Is_active field in books: YES
[16-Nov-2025 11:21:23 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:21:23 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:21:23 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:21:23 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:21:23 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:21:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:21:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:21:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:21:23 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:21:23 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:21:24 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:24 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:24 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:24 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:21:24 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:21:24 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:24 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:21:24 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:24 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:24 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:24 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:24 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:24 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 11:21:24 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 11:21:24 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:24 UTC] ℹ️ Column institution already exists
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:21:24 UTC] 📊 Database Info:
[16-Nov-2025 11:21:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:21:24 UTC]    Books columns count: 53
[16-Nov-2025 11:21:24 UTC]    Categories columns count: 7
[16-Nov-2025 11:21:24 UTC]    Language field in books: YES
[16-Nov-2025 11:21:24 UTC]    Format field in books: YES
[16-Nov-2025 11:21:24 UTC]    Description field in categories: YES
[16-Nov-2025 11:21:24 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:21:24 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:21:24 UTC]    Is_active field in books: YES
[16-Nov-2025 11:21:24 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:21:24 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:21:24 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:21:24 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:21:24 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:21:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:21:24 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:21:24 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:21:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:21:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:21:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:21:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:21:24 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 11:21:24 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:21:24 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:21:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 11:21:24 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:21:24 UTC] 📊 Database Info:
[16-Nov-2025 11:21:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:21:24 UTC]    Books columns count: 53
[16-Nov-2025 11:21:24 UTC]    Categories columns count: 7
[16-Nov-2025 11:21:24 UTC]    Language field in books: YES
[16-Nov-2025 11:21:24 UTC]    Format field in books: YES
[16-Nov-2025 11:21:24 UTC]    Description field in categories: YES
[16-Nov-2025 11:21:24 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:21:24 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:21:24 UTC]    Is_active field in books: YES
[16-Nov-2025 11:21:24 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:21:24 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:21:24 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:21:24 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:21:24 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:21:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:21:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:21:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:21:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:21:24 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:21:24 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 11:21:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 11:21:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 11:21:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 11:21:24 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 11:21:24 UTC] 📊 Database Info:
[16-Nov-2025 11:21:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 11:21:24 UTC]    Books columns count: 53
[16-Nov-2025 11:21:24 UTC]    Categories columns count: 7
[16-Nov-2025 11:21:24 UTC]    Language field in books: YES
[16-Nov-2025 11:21:24 UTC]    Format field in books: YES
[16-Nov-2025 11:21:24 UTC]    Description field in categories: YES
[16-Nov-2025 11:21:24 UTC]    Display_order field in categories: YES
[16-Nov-2025 11:21:24 UTC]    Is_active field in categories: YES
[16-Nov-2025 11:21:24 UTC]    Is_active field in books: YES
[16-Nov-2025 11:21:24 UTC]    External_download_link field in books: YES
[16-Nov-2025 11:21:24 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 11:21:24 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 11:21:24 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 11:21:24 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 11:21:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 11:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 11:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 11:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 11:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 11:21:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 11:21:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 11:21:25 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 11:21:25 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 13:52:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:52:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:52:11 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:52:11 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:52:11 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:52:11 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:52:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:52:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:52:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:52:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:52:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:52:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:52:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:52:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:52:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:52:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:52:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:52:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:52:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:52:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:52:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:52:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:52:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:52:11 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 13:52:11 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 13:52:11 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 13:52:11 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 13:52:11 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:52:11 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 13:52:11 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 13:52:11 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:52:11 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:52:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:52:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:52:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:52:11 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 13:52:11 UTC] 📊 Database Info:
[16-Nov-2025 13:52:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 13:52:11 UTC]    Books columns count: 53
[16-Nov-2025 13:52:11 UTC]    Categories columns count: 7
[16-Nov-2025 13:52:11 UTC]    Language field in books: YES
[16-Nov-2025 13:52:11 UTC]    Format field in books: YES
[16-Nov-2025 13:52:11 UTC]    Description field in categories: YES
[16-Nov-2025 13:52:11 UTC]    Display_order field in categories: YES
[16-Nov-2025 13:52:11 UTC]    Is_active field in categories: YES
[16-Nov-2025 13:52:11 UTC]    Is_active field in books: YES
[16-Nov-2025 13:52:11 UTC]    External_download_link field in books: YES
[16-Nov-2025 13:52:11 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 13:52:11 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 13:52:11 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 13:52:11 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 13:52:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 13:52:11 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 13:52:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:52:11 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:52:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:52:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:52:11 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:52:11 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 13:52:11 UTC] 📊 Database Info:
[16-Nov-2025 13:52:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 13:52:11 UTC]    Books columns count: 53
[16-Nov-2025 13:52:11 UTC]    Categories columns count: 7
[16-Nov-2025 13:52:11 UTC]    Language field in books: YES
[16-Nov-2025 13:52:11 UTC]    Format field in books: YES
[16-Nov-2025 13:52:11 UTC]    Description field in categories: YES
[16-Nov-2025 13:52:11 UTC]    Display_order field in categories: YES
[16-Nov-2025 13:52:11 UTC]    Is_active field in categories: YES
[16-Nov-2025 13:52:11 UTC]    Is_active field in books: YES
[16-Nov-2025 13:52:11 UTC]    External_download_link field in books: YES
[16-Nov-2025 13:52:11 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 13:52:11 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:52:11 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 13:52:11 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 13:52:11 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 13:52:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 13:52:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 13:52:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 13:52:11 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:52:11 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 13:52:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:52:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:52:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:52:11 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 13:52:11 UTC] 📊 Database Info:
[16-Nov-2025 13:52:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 13:52:11 UTC]    Books columns count: 53
[16-Nov-2025 13:52:11 UTC]    Categories columns count: 7
[16-Nov-2025 13:52:11 UTC]    Language field in books: YES
[16-Nov-2025 13:52:11 UTC]    Format field in books: YES
[16-Nov-2025 13:52:11 UTC]    Description field in categories: YES
[16-Nov-2025 13:52:11 UTC]    Display_order field in categories: YES
[16-Nov-2025 13:52:11 UTC]    Is_active field in categories: YES
[16-Nov-2025 13:52:11 UTC]    Is_active field in books: YES
[16-Nov-2025 13:52:11 UTC]    External_download_link field in books: YES
[16-Nov-2025 13:52:11 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 13:52:11 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 13:52:11 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 13:52:11 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 13:52:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 13:52:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 13:53:31 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:53:31 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:53:31 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:53:31 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:53:31 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:53:31 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:53:31 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:53:31 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:53:31 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:53:31 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:53:31 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:53:31 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:53:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:53:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:53:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:53:31 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 13:53:31 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 13:53:31 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:53:31 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:53:31 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:53:31 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:53:31 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:53:31 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:53:31 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:53:31 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:53:31 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:53:31 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:53:31 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:53:31 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:53:31 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:53:31 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 13:53:31 UTC] 📊 Database Info:
[16-Nov-2025 13:53:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 13:53:31 UTC]    Books columns count: 53
[16-Nov-2025 13:53:31 UTC]    Categories columns count: 7
[16-Nov-2025 13:53:31 UTC]    Language field in books: YES
[16-Nov-2025 13:53:31 UTC]    Format field in books: YES
[16-Nov-2025 13:53:31 UTC]    Description field in categories: YES
[16-Nov-2025 13:53:31 UTC]    Display_order field in categories: YES
[16-Nov-2025 13:53:31 UTC]    Is_active field in categories: YES
[16-Nov-2025 13:53:31 UTC]    Is_active field in books: YES
[16-Nov-2025 13:53:31 UTC]    External_download_link field in books: YES
[16-Nov-2025 13:53:31 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 13:53:31 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 13:53:31 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 13:53:31 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 13:53:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 13:53:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 13:53:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 13:53:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 13:53:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 13:53:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 13:53:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 13:53:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 13:53:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 13:53:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 13:53:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 13:53:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 13:53:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 13:54:18 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:54:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:54:19 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:54:19 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:54:19 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:54:19 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:54:19 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:54:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:54:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:54:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:54:19 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 13:54:19 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:54:19 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:54:19 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:54:19 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:54:19 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:54:19 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:54:19 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:54:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:54:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:54:19 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:54:19 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:54:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:54:19 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:54:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:54:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:54:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:54:19 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 13:54:19 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 13:54:19 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:54:19 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:54:19 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:54:19 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:54:19 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:54:19 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:54:19 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:54:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:54:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:54:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:54:19 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 13:54:19 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 13:54:19 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:54:19 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:54:19 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:54:19 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:54:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:54:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:54:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:54:19 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:54:19 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 13:54:19 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:54:19 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:54:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:54:19 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:54:19 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:54:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:54:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:54:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:54:19 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:54:19 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:54:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:54:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:54:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 13:54:19 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:54:19 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 13:54:19 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 13:54:19 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:54:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:54:19 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 13:54:19 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 13:54:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:54:19 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:54:19 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:54:19 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:54:19 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:54:19 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 13:54:19 UTC] 📊 Database Info:
[16-Nov-2025 13:54:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 13:54:19 UTC]    Books columns count: 53
[16-Nov-2025 13:54:19 UTC]    Categories columns count: 7
[16-Nov-2025 13:54:19 UTC]    Language field in books: YES
[16-Nov-2025 13:54:19 UTC]    Format field in books: YES
[16-Nov-2025 13:54:19 UTC]    Description field in categories: YES
[16-Nov-2025 13:54:19 UTC]    Display_order field in categories: YES
[16-Nov-2025 13:54:19 UTC]    Is_active field in categories: YES
[16-Nov-2025 13:54:19 UTC]    Is_active field in books: YES
[16-Nov-2025 13:54:19 UTC]    External_download_link field in books: YES
[16-Nov-2025 13:54:19 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 13:54:19 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 13:54:19 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 13:54:19 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 13:54:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 13:54:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 13:54:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:54:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 13:54:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:54:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 13:54:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:54:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 13:54:19 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:54:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 13:54:19 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:54:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 13:54:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:54:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 13:54:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:54:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 13:54:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 13:54:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 13:54:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 13:54:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:54:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:54:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 13:54:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 13:54:19 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 13:54:19 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 13:54:19 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:54:19 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:54:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:54:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:54:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:54:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:54:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:54:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:54:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:54:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 13:54:20 UTC] 📊 Database Info:
[16-Nov-2025 13:54:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 13:54:20 UTC]    Books columns count: 53
[16-Nov-2025 13:54:20 UTC]    Categories columns count: 7
[16-Nov-2025 13:54:20 UTC]    Language field in books: YES
[16-Nov-2025 13:54:20 UTC]    Format field in books: YES
[16-Nov-2025 13:54:20 UTC]    Description field in categories: YES
[16-Nov-2025 13:54:20 UTC]    Display_order field in categories: YES
[16-Nov-2025 13:54:20 UTC]    Is_active field in categories: YES
[16-Nov-2025 13:54:20 UTC]    Is_active field in books: YES
[16-Nov-2025 13:54:20 UTC]    External_download_link field in books: YES
[16-Nov-2025 13:54:20 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 13:54:20 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 13:54:20 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 13:54:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 13:54:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 13:54:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 13:54:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 13:54:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:54:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:54:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 13:54:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:54:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:54:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:54:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:54:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 13:54:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:54:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:54:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 13:54:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 13:54:20 UTC] 📊 Database Info:
[16-Nov-2025 13:54:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 13:54:20 UTC]    Books columns count: 53
[16-Nov-2025 13:54:20 UTC]    Categories columns count: 7
[16-Nov-2025 13:54:20 UTC]    Language field in books: YES
[16-Nov-2025 13:54:20 UTC]    Format field in books: YES
[16-Nov-2025 13:54:20 UTC]    Description field in categories: YES
[16-Nov-2025 13:54:20 UTC]    Display_order field in categories: YES
[16-Nov-2025 13:54:20 UTC]    Is_active field in categories: YES
[16-Nov-2025 13:54:20 UTC]    Is_active field in books: YES
[16-Nov-2025 13:54:20 UTC]    External_download_link field in books: YES
[16-Nov-2025 13:54:20 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 13:54:20 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 13:54:20 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 13:54:20 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 13:54:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:54:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:54:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:54:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:54:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:54:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 13:54:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 13:54:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 13:54:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 13:54:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:54:20 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 13:54:20 UTC] 📊 Database Info:
[16-Nov-2025 13:54:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 13:54:20 UTC]    Books columns count: 53
[16-Nov-2025 13:54:20 UTC]    Categories columns count: 7
[16-Nov-2025 13:54:20 UTC]    Language field in books: YES
[16-Nov-2025 13:54:20 UTC]    Format field in books: YES
[16-Nov-2025 13:54:20 UTC]    Description field in categories: YES
[16-Nov-2025 13:54:20 UTC]    Display_order field in categories: YES
[16-Nov-2025 13:54:20 UTC]    Is_active field in categories: YES
[16-Nov-2025 13:54:20 UTC]    Is_active field in books: YES
[16-Nov-2025 13:54:20 UTC]    External_download_link field in books: YES
[16-Nov-2025 13:54:20 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 13:54:20 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 13:54:20 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 13:54:20 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 13:54:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 13:54:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 13:54:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 13:54:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 13:54:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:54:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:54:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:54:20 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 13:54:20 UTC] 📊 Database Info:
[16-Nov-2025 13:54:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 13:54:20 UTC]    Books columns count: 53
[16-Nov-2025 13:54:20 UTC]    Categories columns count: 7
[16-Nov-2025 13:54:20 UTC]    Language field in books: YES
[16-Nov-2025 13:54:20 UTC]    Format field in books: YES
[16-Nov-2025 13:54:20 UTC]    Description field in categories: YES
[16-Nov-2025 13:54:20 UTC]    Display_order field in categories: YES
[16-Nov-2025 13:54:20 UTC]    Is_active field in categories: YES
[16-Nov-2025 13:54:20 UTC]    Is_active field in books: YES
[16-Nov-2025 13:54:20 UTC]    External_download_link field in books: YES
[16-Nov-2025 13:54:20 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 13:54:20 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 13:54:20 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 13:54:20 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 13:54:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 13:54:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 13:54:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 13:54:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 13:54:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 13:54:20 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 13:54:20 UTC] 📊 Database Info:
[16-Nov-2025 13:54:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 13:54:20 UTC]    Books columns count: 53
[16-Nov-2025 13:54:20 UTC]    Categories columns count: 7
[16-Nov-2025 13:54:20 UTC]    Language field in books: YES
[16-Nov-2025 13:54:20 UTC]    Format field in books: YES
[16-Nov-2025 13:54:20 UTC]    Description field in categories: YES
[16-Nov-2025 13:54:20 UTC]    Display_order field in categories: YES
[16-Nov-2025 13:54:20 UTC]    Is_active field in categories: YES
[16-Nov-2025 13:54:20 UTC]    Is_active field in books: YES
[16-Nov-2025 13:54:20 UTC]    External_download_link field in books: YES
[16-Nov-2025 13:54:20 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 13:54:20 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 13:54:20 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 13:54:20 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 13:54:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 13:54:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 13:54:20 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 13:54:20 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:21:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:21:36 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:21:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:21:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:21:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:21:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:21:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:21:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:21:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:21:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:21:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:21:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:21:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:21:37 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:21:37 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:21:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:21:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:21:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:21:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:21:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:21:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:21:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:21:37 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:21:37 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:21:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:21:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:21:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:21:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:21:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:21:37 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:21:37 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:21:37 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:21:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:21:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:21:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:21:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:21:37 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:21:37 UTC] 📊 Database Info:
[16-Nov-2025 14:21:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:21:37 UTC]    Books columns count: 53
[16-Nov-2025 14:21:37 UTC]    Categories columns count: 7
[16-Nov-2025 14:21:37 UTC]    Language field in books: YES
[16-Nov-2025 14:21:37 UTC]    Format field in books: YES
[16-Nov-2025 14:21:37 UTC]    Description field in categories: YES
[16-Nov-2025 14:21:37 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:21:37 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:21:37 UTC]    Is_active field in books: YES
[16-Nov-2025 14:21:37 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:21:37 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:21:37 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:21:37 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:21:37 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:21:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:21:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:21:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:21:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:21:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:21:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:21:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:21:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:21:37 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:21:37 UTC] 📊 Database Info:
[16-Nov-2025 14:21:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:21:37 UTC]    Books columns count: 53
[16-Nov-2025 14:21:37 UTC]    Categories columns count: 7
[16-Nov-2025 14:21:37 UTC]    Language field in books: YES
[16-Nov-2025 14:21:37 UTC]    Format field in books: YES
[16-Nov-2025 14:21:37 UTC]    Description field in categories: YES
[16-Nov-2025 14:21:37 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:21:37 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:21:37 UTC]    Is_active field in books: YES
[16-Nov-2025 14:21:37 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:21:37 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:21:37 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:21:37 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:21:37 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:21:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:21:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:21:37 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:21:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:21:37 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:21:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:21:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:21:37 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:21:37 UTC] 📊 Database Info:
[16-Nov-2025 14:21:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:21:37 UTC]    Books columns count: 53
[16-Nov-2025 14:21:37 UTC]    Categories columns count: 7
[16-Nov-2025 14:21:37 UTC]    Language field in books: YES
[16-Nov-2025 14:21:37 UTC]    Format field in books: YES
[16-Nov-2025 14:21:37 UTC]    Description field in categories: YES
[16-Nov-2025 14:21:37 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:21:37 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:21:37 UTC]    Is_active field in books: YES
[16-Nov-2025 14:21:37 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:21:37 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:21:37 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:21:37 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:21:37 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:21:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:21:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:22:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:22:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:22:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:22:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:22:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:22:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:22:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:22:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:22:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:22:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:22:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:22:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:22:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:22:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:22:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:22:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:22:54 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:22:54 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:22:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:22:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:22:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:22:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:22:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:22:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:22:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:22:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:22:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:22:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:22:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:22:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:22:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:22:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:22:54 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:22:54 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:22:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:22:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:22:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:22:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:22:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:22:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:22:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:22:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:22:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:22:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:22:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:22:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:22:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:22:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:22:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:22:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:22:54 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:22:54 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:22:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:22:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:22:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:22:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:22:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:22:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:22:55 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:22:55 UTC] 📊 Database Info:
[16-Nov-2025 14:22:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:22:55 UTC]    Books columns count: 53
[16-Nov-2025 14:22:55 UTC]    Categories columns count: 7
[16-Nov-2025 14:22:55 UTC]    Language field in books: YES
[16-Nov-2025 14:22:55 UTC]    Format field in books: YES
[16-Nov-2025 14:22:55 UTC]    Description field in categories: YES
[16-Nov-2025 14:22:55 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:22:55 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:22:55 UTC]    Is_active field in books: YES
[16-Nov-2025 14:22:55 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:22:55 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:22:55 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:22:55 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:22:55 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:22:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:22:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:22:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:22:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:22:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:22:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:22:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:22:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:22:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:22:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:22:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:22:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:22:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:22:55 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:22:55 UTC] 📊 Database Info:
[16-Nov-2025 14:22:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:22:55 UTC]    Books columns count: 53
[16-Nov-2025 14:22:55 UTC]    Categories columns count: 7
[16-Nov-2025 14:22:55 UTC]    Language field in books: YES
[16-Nov-2025 14:22:55 UTC]    Format field in books: YES
[16-Nov-2025 14:22:55 UTC]    Description field in categories: YES
[16-Nov-2025 14:22:55 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:22:55 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:22:55 UTC]    Is_active field in books: YES
[16-Nov-2025 14:22:55 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:22:55 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:22:55 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:22:55 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:22:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:22:55 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:22:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:22:55 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:22:55 UTC] 📊 Database Info:
[16-Nov-2025 14:22:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:22:55 UTC]    Books columns count: 53
[16-Nov-2025 14:22:55 UTC]    Categories columns count: 7
[16-Nov-2025 14:22:55 UTC]    Language field in books: YES
[16-Nov-2025 14:22:55 UTC]    Format field in books: YES
[16-Nov-2025 14:22:55 UTC]    Description field in categories: YES
[16-Nov-2025 14:22:55 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:22:55 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:22:55 UTC]    Is_active field in books: YES
[16-Nov-2025 14:22:55 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:22:55 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:22:55 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:22:55 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:22:55 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:22:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:22:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:22:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:22:55 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:22:55 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:22:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:22:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:22:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:22:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:22:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:22:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:22:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:22:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:22:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:22:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:22:55 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:22:55 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:22:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:22:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:22:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:22:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:22:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:22:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:22:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:22:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:22:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:22:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:22:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:22:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:22:55 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:22:55 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:22:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:22:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:22:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:22:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:22:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:22:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:22:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:22:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:22:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:22:55 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:22:55 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:22:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:22:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:22:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:22:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:22:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:22:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:22:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:22:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:22:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:22:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:22:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:22:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:22:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:22:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:22:56 UTC] 📊 Database Info:
[16-Nov-2025 14:22:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:22:56 UTC]    Books columns count: 53
[16-Nov-2025 14:22:56 UTC]    Categories columns count: 7
[16-Nov-2025 14:22:56 UTC]    Language field in books: YES
[16-Nov-2025 14:22:56 UTC]    Format field in books: YES
[16-Nov-2025 14:22:56 UTC]    Description field in categories: YES
[16-Nov-2025 14:22:56 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:22:56 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:22:56 UTC]    Is_active field in books: YES
[16-Nov-2025 14:22:56 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:22:56 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:22:56 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:22:56 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:22:56 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:22:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:22:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:22:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:22:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:22:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:22:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:22:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:22:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:22:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:22:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:22:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:22:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:22:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:22:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:22:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:22:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:22:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:22:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:22:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:22:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:22:56 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:22:56 UTC] 📊 Database Info:
[16-Nov-2025 14:22:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:22:56 UTC]    Books columns count: 53
[16-Nov-2025 14:22:56 UTC]    Categories columns count: 7
[16-Nov-2025 14:22:56 UTC]    Language field in books: YES
[16-Nov-2025 14:22:56 UTC]    Format field in books: YES
[16-Nov-2025 14:22:56 UTC]    Description field in categories: YES
[16-Nov-2025 14:22:56 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:22:56 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:22:56 UTC]    Is_active field in books: YES
[16-Nov-2025 14:22:56 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:22:56 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:22:56 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:22:56 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:22:56 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:22:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:22:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:22:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:22:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:22:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:22:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:22:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:22:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:22:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:22:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:22:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:22:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:22:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:22:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:22:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:22:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:22:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:22:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:22:56 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:22:56 UTC] 📊 Database Info:
[16-Nov-2025 14:22:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:22:56 UTC]    Books columns count: 53
[16-Nov-2025 14:22:56 UTC]    Categories columns count: 7
[16-Nov-2025 14:22:56 UTC]    Language field in books: YES
[16-Nov-2025 14:22:56 UTC]    Format field in books: YES
[16-Nov-2025 14:22:56 UTC]    Description field in categories: YES
[16-Nov-2025 14:22:56 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:22:56 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:22:56 UTC]    Is_active field in books: YES
[16-Nov-2025 14:22:56 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:22:56 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:22:56 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:22:56 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:22:56 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:22:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:22:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:22:56 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:22:56 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:23:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:23:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:23:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:23:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:23:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:23:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:23:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:23:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:23:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:23:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:23:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:23:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:23:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:23:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:23:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:23:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:23:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:23:57 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:23:57 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:23:57 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:23:57 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:23:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:23:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:23:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:23:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:23:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:23:57 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:23:57 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:23:57 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:23:57 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:23:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:23:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:23:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:23:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:23:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:23:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:23:57 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:23:57 UTC] 📊 Database Info:
[16-Nov-2025 14:23:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:23:57 UTC]    Books columns count: 53
[16-Nov-2025 14:23:57 UTC]    Categories columns count: 7
[16-Nov-2025 14:23:57 UTC]    Language field in books: YES
[16-Nov-2025 14:23:57 UTC]    Format field in books: YES
[16-Nov-2025 14:23:57 UTC]    Description field in categories: YES
[16-Nov-2025 14:23:57 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:23:57 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:23:57 UTC]    Is_active field in books: YES
[16-Nov-2025 14:23:57 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:23:57 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:23:57 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:23:57 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:23:57 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:23:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:23:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:23:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:23:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:23:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:23:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:23:57 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:23:57 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:23:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:23:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:23:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:23:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:23:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:23:57 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:23:57 UTC] 📊 Database Info:
[16-Nov-2025 14:23:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:23:57 UTC]    Books columns count: 53
[16-Nov-2025 14:23:57 UTC]    Categories columns count: 7
[16-Nov-2025 14:23:57 UTC]    Language field in books: YES
[16-Nov-2025 14:23:57 UTC]    Format field in books: YES
[16-Nov-2025 14:23:57 UTC]    Description field in categories: YES
[16-Nov-2025 14:23:57 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:23:57 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:23:57 UTC]    Is_active field in books: YES
[16-Nov-2025 14:23:57 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:23:57 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:23:57 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:23:57 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:23:57 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:23:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:23:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:23:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:23:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:23:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:23:57 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:23:57 UTC] 📊 Database Info:
[16-Nov-2025 14:23:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:23:57 UTC]    Books columns count: 53
[16-Nov-2025 14:23:57 UTC]    Categories columns count: 7
[16-Nov-2025 14:23:57 UTC]    Language field in books: YES
[16-Nov-2025 14:23:57 UTC]    Format field in books: YES
[16-Nov-2025 14:23:57 UTC]    Description field in categories: YES
[16-Nov-2025 14:23:57 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:23:57 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:23:57 UTC]    Is_active field in books: YES
[16-Nov-2025 14:23:57 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:23:57 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:23:57 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:23:57 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:23:57 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:23:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:23:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:24:12 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:24:12 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:24:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:24:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:24:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:24:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:24:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:24:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:24:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:24:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:24:13 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:24:13 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:24:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:24:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:24:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:24:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:24:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:24:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:24:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:24:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:24:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:24:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:24:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:24:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:24:13 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:24:13 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:24:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:24:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:24:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:24:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:24:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:24:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:24:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:24:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:24:13 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:24:13 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:24:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:24:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:24:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:24:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:24:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:24:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:24:13 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:24:13 UTC] 📊 Database Info:
[16-Nov-2025 14:24:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:24:13 UTC]    Books columns count: 53
[16-Nov-2025 14:24:13 UTC]    Categories columns count: 7
[16-Nov-2025 14:24:13 UTC]    Language field in books: YES
[16-Nov-2025 14:24:13 UTC]    Format field in books: YES
[16-Nov-2025 14:24:13 UTC]    Description field in categories: YES
[16-Nov-2025 14:24:13 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:24:13 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:24:13 UTC]    Is_active field in books: YES
[16-Nov-2025 14:24:13 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:24:13 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:24:13 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:24:13 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:24:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:24:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:24:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:24:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:24:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:24:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:24:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:24:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:24:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:24:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:24:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:24:13 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:24:13 UTC] 📊 Database Info:
[16-Nov-2025 14:24:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:24:13 UTC]    Books columns count: 53
[16-Nov-2025 14:24:13 UTC]    Categories columns count: 7
[16-Nov-2025 14:24:13 UTC]    Language field in books: YES
[16-Nov-2025 14:24:13 UTC]    Format field in books: YES
[16-Nov-2025 14:24:13 UTC]    Description field in categories: YES
[16-Nov-2025 14:24:13 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:24:13 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:24:13 UTC]    Is_active field in books: YES
[16-Nov-2025 14:24:13 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:24:13 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:24:13 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:24:13 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:24:13 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:24:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:24:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:24:13 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:24:13 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:24:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:24:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:24:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:24:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:24:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:24:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:24:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:24:13 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:24:13 UTC] 📊 Database Info:
[16-Nov-2025 14:24:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:24:13 UTC]    Books columns count: 53
[16-Nov-2025 14:24:13 UTC]    Categories columns count: 7
[16-Nov-2025 14:24:13 UTC]    Language field in books: YES
[16-Nov-2025 14:24:13 UTC]    Format field in books: YES
[16-Nov-2025 14:24:13 UTC]    Description field in categories: YES
[16-Nov-2025 14:24:13 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:24:13 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:24:13 UTC]    Is_active field in books: YES
[16-Nov-2025 14:24:13 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:24:13 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:24:13 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:24:13 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:24:13 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:24:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:24:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:26:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:26:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:26:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:26:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:26:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:26:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:26:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:26:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:26:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:26:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:26:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:26:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:26:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:26:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:26:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:26:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:26:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:26:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:26:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:26:34 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:26:34 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:26:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:26:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:26:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:26:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:26:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:26:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:26:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:26:34 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:26:34 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:26:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:26:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:26:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:26:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:26:34 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:26:34 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:26:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:26:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:26:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:26:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:26:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:26:34 UTC] 📊 Database Info:
[16-Nov-2025 14:26:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:26:34 UTC]    Books columns count: 53
[16-Nov-2025 14:26:34 UTC]    Categories columns count: 7
[16-Nov-2025 14:26:34 UTC]    Language field in books: YES
[16-Nov-2025 14:26:34 UTC]    Format field in books: YES
[16-Nov-2025 14:26:34 UTC]    Description field in categories: YES
[16-Nov-2025 14:26:34 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:26:34 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:26:34 UTC]    Is_active field in books: YES
[16-Nov-2025 14:26:34 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:26:34 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:26:34 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:26:34 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:26:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:26:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:26:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:26:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:26:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:26:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:26:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:26:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:26:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:26:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:26:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:26:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:26:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:26:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:26:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:26:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:26:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:26:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:26:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:26:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:26:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:26:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:26:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:26:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:26:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:26:34 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:26:34 UTC] 📊 Database Info:
[16-Nov-2025 14:26:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:26:34 UTC]    Books columns count: 53
[16-Nov-2025 14:26:34 UTC]    Categories columns count: 7
[16-Nov-2025 14:26:34 UTC]    Language field in books: YES
[16-Nov-2025 14:26:34 UTC]    Format field in books: YES
[16-Nov-2025 14:26:34 UTC]    Description field in categories: YES
[16-Nov-2025 14:26:34 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:26:34 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:26:34 UTC]    Is_active field in books: YES
[16-Nov-2025 14:26:34 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:26:34 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:26:34 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:26:34 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:26:34 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:26:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:26:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:26:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:26:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:26:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:26:35 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:26:35 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:26:35 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:26:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:26:35 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:26:35 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:26:35 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:26:35 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:26:35 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:26:35 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:26:35 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:26:35 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:26:35 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:26:35 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:26:35 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:26:35 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:26:35 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:26:35 UTC] 📊 Database Info:
[16-Nov-2025 14:26:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:26:35 UTC]    Books columns count: 53
[16-Nov-2025 14:26:35 UTC]    Categories columns count: 7
[16-Nov-2025 14:26:35 UTC]    Language field in books: YES
[16-Nov-2025 14:26:35 UTC]    Format field in books: YES
[16-Nov-2025 14:26:35 UTC]    Description field in categories: YES
[16-Nov-2025 14:26:35 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:26:35 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:26:35 UTC]    Is_active field in books: YES
[16-Nov-2025 14:26:35 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:26:35 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:26:35 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:26:35 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:26:35 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:26:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:26:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:26:35 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:26:35 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:26:38 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:26:38 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:26:38 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:26:39 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:26:39 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:26:39 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:26:39 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:26:39 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:26:39 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:26:39 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:26:39 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:26:39 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:26:39 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:26:39 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:26:39 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:26:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:39 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:26:39 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:26:39 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:26:39 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:26:39 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:26:39 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:26:39 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:26:39 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:26:39 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:26:39 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:26:39 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:26:39 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:26:39 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:26:39 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:26:39 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:26:39 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:26:39 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:26:39 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:26:39 UTC] 📊 Database Info:
[16-Nov-2025 14:26:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:26:39 UTC]    Books columns count: 53
[16-Nov-2025 14:26:39 UTC]    Categories columns count: 7
[16-Nov-2025 14:26:39 UTC]    Language field in books: YES
[16-Nov-2025 14:26:39 UTC]    Format field in books: YES
[16-Nov-2025 14:26:39 UTC]    Description field in categories: YES
[16-Nov-2025 14:26:39 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:26:39 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:26:39 UTC]    Is_active field in books: YES
[16-Nov-2025 14:26:39 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:26:39 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:26:39 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:26:39 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:26:39 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:26:39 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:26:39 UTC] 📊 Database Info:
[16-Nov-2025 14:26:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:26:39 UTC]    Books columns count: 53
[16-Nov-2025 14:26:39 UTC]    Categories columns count: 7
[16-Nov-2025 14:26:39 UTC]    Language field in books: YES
[16-Nov-2025 14:26:39 UTC]    Format field in books: YES
[16-Nov-2025 14:26:39 UTC]    Description field in categories: YES
[16-Nov-2025 14:26:39 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:26:39 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:26:39 UTC]    Is_active field in books: YES
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:26:39 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:26:39 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:26:39 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:26:39 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:26:39 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:26:39 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:26:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:26:39 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:26:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:26:39 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:26:39 UTC] 📊 Database Info:
[16-Nov-2025 14:26:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:26:39 UTC]    Books columns count: 53
[16-Nov-2025 14:26:39 UTC]    Categories columns count: 7
[16-Nov-2025 14:26:39 UTC]    Language field in books: YES
[16-Nov-2025 14:26:39 UTC]    Format field in books: YES
[16-Nov-2025 14:26:39 UTC]    Description field in categories: YES
[16-Nov-2025 14:26:39 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:26:39 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:26:39 UTC]    Is_active field in books: YES
[16-Nov-2025 14:26:39 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:26:39 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:26:39 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:26:39 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:26:39 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:26:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:26:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:26:39 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:26:39 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:26:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:26:59 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:26:59 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:26:59 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:26:59 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:26:59 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:26:59 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:26:59 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:26:59 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:26:59 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:26:59 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:26:59 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:26:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:26:59 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:26:59 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:26:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:26:59 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:26:59 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:26:59 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:26:59 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:26:59 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:26:59 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:26:59 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:26:59 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:26:59 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:26:59 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:26:59 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:26:59 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:26:59 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:26:59 UTC] 📊 Database Info:
[16-Nov-2025 14:26:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:26:59 UTC]    Books columns count: 53
[16-Nov-2025 14:26:59 UTC]    Categories columns count: 7
[16-Nov-2025 14:26:59 UTC]    Language field in books: YES
[16-Nov-2025 14:26:59 UTC]    Format field in books: YES
[16-Nov-2025 14:26:59 UTC]    Description field in categories: YES
[16-Nov-2025 14:26:59 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:26:59 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:26:59 UTC]    Is_active field in books: YES
[16-Nov-2025 14:26:59 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:26:59 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:26:59 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:26:59 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:26:59 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:26:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:27:12 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:12 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:27:12 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:12 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:12 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:12 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:27:12 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:12 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:12 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:27:12 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:27:12 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:12 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:12 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:27:12 UTC] 📊 Database Info:
[16-Nov-2025 14:27:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:27:12 UTC]    Books columns count: 53
[16-Nov-2025 14:27:12 UTC]    Categories columns count: 7
[16-Nov-2025 14:27:12 UTC]    Language field in books: YES
[16-Nov-2025 14:27:12 UTC]    Format field in books: YES
[16-Nov-2025 14:27:12 UTC]    Description field in categories: YES
[16-Nov-2025 14:27:12 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:27:12 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:27:12 UTC]    Is_active field in books: YES
[16-Nov-2025 14:27:12 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:27:12 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:27:12 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:27:12 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:27:12 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:27:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:27:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:27:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:12 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:27:12 UTC] 📊 Database Info:
[16-Nov-2025 14:27:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:27:12 UTC]    Books columns count: 53
[16-Nov-2025 14:27:12 UTC]    Categories columns count: 7
[16-Nov-2025 14:27:12 UTC]    Language field in books: YES
[16-Nov-2025 14:27:12 UTC]    Format field in books: YES
[16-Nov-2025 14:27:12 UTC]    Description field in categories: YES
[16-Nov-2025 14:27:12 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:27:12 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:27:12 UTC]    Is_active field in books: YES
[16-Nov-2025 14:27:12 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:27:12 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:27:12 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:27:12 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:27:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:12 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:27:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:27:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:27:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:27:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:27:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:27:12 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:27:12 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:27:12 UTC] 📊 Database Info:
[16-Nov-2025 14:27:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:27:12 UTC]    Books columns count: 53
[16-Nov-2025 14:27:12 UTC]    Categories columns count: 7
[16-Nov-2025 14:27:12 UTC]    Language field in books: YES
[16-Nov-2025 14:27:12 UTC]    Format field in books: YES
[16-Nov-2025 14:27:12 UTC]    Description field in categories: YES
[16-Nov-2025 14:27:12 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:27:12 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:27:12 UTC]    Is_active field in books: YES
[16-Nov-2025 14:27:12 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:27:12 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:27:12 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:27:12 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:27:12 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:27:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:27:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:27:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:13 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:27:13 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:27:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:13 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:27:13 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:27:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:13 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:27:13 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:27:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:14 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:27:14 UTC] 📊 Database Info:
[16-Nov-2025 14:27:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:27:14 UTC]    Books columns count: 53
[16-Nov-2025 14:27:14 UTC]    Categories columns count: 7
[16-Nov-2025 14:27:14 UTC]    Language field in books: YES
[16-Nov-2025 14:27:14 UTC]    Format field in books: YES
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:14 UTC]    Description field in categories: YES
[16-Nov-2025 14:27:14 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:27:14 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:27:14 UTC]    Is_active field in books: YES
[16-Nov-2025 14:27:14 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:27:14 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:27:14 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:27:14 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:27:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:27:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:27:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:27:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:27:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:27:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:27:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:14 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:14 UTC] 📊 Database Info:
[16-Nov-2025 14:27:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:27:14 UTC]    Books columns count: 53
[16-Nov-2025 14:27:14 UTC]    Categories columns count: 7
[16-Nov-2025 14:27:14 UTC]    Language field in books: YES
[16-Nov-2025 14:27:14 UTC]    Format field in books: YES
[16-Nov-2025 14:27:14 UTC]    Description field in categories: YES
[16-Nov-2025 14:27:14 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:27:14 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:27:14 UTC]    Is_active field in books: YES
[16-Nov-2025 14:27:14 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:27:14 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:27:14 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:27:14 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:27:14 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:27:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:14 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:27:14 UTC] 📊 Database Info:
[16-Nov-2025 14:27:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:27:14 UTC]    Books columns count: 53
[16-Nov-2025 14:27:14 UTC]    Categories columns count: 7
[16-Nov-2025 14:27:14 UTC]    Language field in books: YES
[16-Nov-2025 14:27:14 UTC]    Format field in books: YES
[16-Nov-2025 14:27:14 UTC]    Description field in categories: YES
[16-Nov-2025 14:27:14 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:27:14 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:27:14 UTC]    Is_active field in books: YES
[16-Nov-2025 14:27:14 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:27:14 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:27:14 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:27:14 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:27:14 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:27:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:27:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:27:14 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:27:14 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:27:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:14 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:27:14 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:27:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:14 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:27:14 UTC] 📊 Database Info:
[16-Nov-2025 14:27:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:27:14 UTC]    Books columns count: 53
[16-Nov-2025 14:27:14 UTC]    Categories columns count: 7
[16-Nov-2025 14:27:14 UTC]    Language field in books: YES
[16-Nov-2025 14:27:14 UTC]    Format field in books: YES
[16-Nov-2025 14:27:14 UTC]    Description field in categories: YES
[16-Nov-2025 14:27:14 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:27:14 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:27:14 UTC]    Is_active field in books: YES
[16-Nov-2025 14:27:14 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:27:14 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:27:14 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:27:14 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:27:14 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:27:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:27:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:27:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:27:14 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:27:14 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:27:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:15 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:27:15 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:27:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:15 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:27:15 UTC] 📊 Database Info:
[16-Nov-2025 14:27:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:27:15 UTC]    Books columns count: 53
[16-Nov-2025 14:27:15 UTC]    Categories columns count: 7
[16-Nov-2025 14:27:15 UTC]    Language field in books: YES
[16-Nov-2025 14:27:15 UTC]    Format field in books: YES
[16-Nov-2025 14:27:15 UTC]    Description field in categories: YES
[16-Nov-2025 14:27:15 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:27:15 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:27:15 UTC]    Is_active field in books: YES
[16-Nov-2025 14:27:15 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:27:15 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:27:15 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:27:15 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:27:15 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:27:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:27:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:27:15 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:27:15 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:27:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:15 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:27:15 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:27:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:15 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:27:15 UTC] 📊 Database Info:
[16-Nov-2025 14:27:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:27:15 UTC]    Books columns count: 53
[16-Nov-2025 14:27:15 UTC]    Categories columns count: 7
[16-Nov-2025 14:27:15 UTC]    Language field in books: YES
[16-Nov-2025 14:27:15 UTC]    Format field in books: YES
[16-Nov-2025 14:27:15 UTC]    Description field in categories: YES
[16-Nov-2025 14:27:15 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:27:15 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:27:15 UTC]    Is_active field in books: YES
[16-Nov-2025 14:27:15 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:27:15 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:27:15 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:27:15 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:27:15 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:27:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:27:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:27:15 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:27:15 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:27:16 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:16 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:27:16 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:27:16 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:16 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:27:16 UTC] 📊 Database Info:
[16-Nov-2025 14:27:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:27:16 UTC]    Books columns count: 53
[16-Nov-2025 14:27:16 UTC]    Categories columns count: 7
[16-Nov-2025 14:27:16 UTC]    Language field in books: YES
[16-Nov-2025 14:27:16 UTC]    Format field in books: YES
[16-Nov-2025 14:27:16 UTC]    Description field in categories: YES
[16-Nov-2025 14:27:16 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:27:16 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:27:16 UTC]    Is_active field in books: YES
[16-Nov-2025 14:27:16 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:27:16 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:27:16 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:27:16 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:27:16 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:27:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:27:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:27:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:27:16 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:27:16 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:16 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:27:16 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:27:16 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:16 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:27:16 UTC] 📊 Database Info:
[16-Nov-2025 14:27:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:27:16 UTC]    Books columns count: 53
[16-Nov-2025 14:27:16 UTC]    Categories columns count: 7
[16-Nov-2025 14:27:16 UTC]    Language field in books: YES
[16-Nov-2025 14:27:16 UTC]    Format field in books: YES
[16-Nov-2025 14:27:16 UTC]    Description field in categories: YES
[16-Nov-2025 14:27:16 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:27:16 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:27:16 UTC]    Is_active field in books: YES
[16-Nov-2025 14:27:16 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:27:16 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:27:16 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:27:16 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:27:16 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:27:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:27:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:27:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:27:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:27:16 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:27:31 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:31 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:31 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:31 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:31 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:31 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:31 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:27:31 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:31 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:31 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:31 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:31 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:31 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:31 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:31 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:31 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:31 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:27:31 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:27:31 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:27:31 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:27:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:31 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:31 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:31 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:31 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:31 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:31 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:27:31 UTC] 📊 Database Info:
[16-Nov-2025 14:27:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:27:31 UTC]    Books columns count: 53
[16-Nov-2025 14:27:31 UTC]    Categories columns count: 7
[16-Nov-2025 14:27:31 UTC]    Language field in books: YES
[16-Nov-2025 14:27:31 UTC]    Format field in books: YES
[16-Nov-2025 14:27:31 UTC]    Description field in categories: YES
[16-Nov-2025 14:27:31 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:27:31 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:27:31 UTC]    Is_active field in books: YES
[16-Nov-2025 14:27:31 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:27:31 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:27:31 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:27:31 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:27:31 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:27:31 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:27:31 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:27:31 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:27:31 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:27:31 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:27:31 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:27:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:27:31 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:27:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:27:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:27:31 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:31 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:31 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:31 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:31 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:32 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:32 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:32 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:32 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:32 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:32 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:32 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:27:32 UTC] 📊 Database Info:
[16-Nov-2025 14:27:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:27:32 UTC]    Books columns count: 53
[16-Nov-2025 14:27:32 UTC]    Categories columns count: 7
[16-Nov-2025 14:27:32 UTC]    Language field in books: YES
[16-Nov-2025 14:27:32 UTC]    Format field in books: YES
[16-Nov-2025 14:27:32 UTC]    Description field in categories: YES
[16-Nov-2025 14:27:32 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:27:32 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:27:32 UTC]    Is_active field in books: YES
[16-Nov-2025 14:27:32 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:27:32 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:27:32 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:27:32 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:27:32 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:27:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:27:32 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:27:32 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:27:32 UTC] 📊 Database Info:
[16-Nov-2025 14:27:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:27:32 UTC]    Books columns count: 53
[16-Nov-2025 14:27:32 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:27:32 UTC]    Categories columns count: 7
[16-Nov-2025 14:27:32 UTC]    Language field in books: YES
[16-Nov-2025 14:27:32 UTC]    Format field in books: YES
[16-Nov-2025 14:27:32 UTC]    Description field in categories: YES
[16-Nov-2025 14:27:32 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:27:32 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:27:32 UTC]    Is_active field in books: YES
[16-Nov-2025 14:27:32 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:27:32 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:27:32 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:27:32 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:27:32 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:27:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:27:32 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:32 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:32 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:32 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:32 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:32 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:32 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:32 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:27:32 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:27:32 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:32 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:32 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:32 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:32 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:32 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:27:32 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:32 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:32 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:32 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:32 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:32 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:32 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:32 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:32 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:27:32 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:27:32 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:32 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:32 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:32 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:27:32 UTC] 📊 Database Info:
[16-Nov-2025 14:27:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:27:32 UTC]    Books columns count: 53
[16-Nov-2025 14:27:32 UTC]    Categories columns count: 7
[16-Nov-2025 14:27:32 UTC]    Language field in books: YES
[16-Nov-2025 14:27:32 UTC]    Format field in books: YES
[16-Nov-2025 14:27:32 UTC]    Description field in categories: YES
[16-Nov-2025 14:27:32 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:27:32 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:27:32 UTC]    Is_active field in books: YES
[16-Nov-2025 14:27:32 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:27:32 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:27:32 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:27:32 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:27:32 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:27:32 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:27:32 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:27:32 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:27:32 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:27:32 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:27:32 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:27:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:32 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:32 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:32 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:32 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:32 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:32 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:32 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:27:32 UTC] 📊 Database Info:
[16-Nov-2025 14:27:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:27:32 UTC]    Books columns count: 53
[16-Nov-2025 14:27:32 UTC]    Categories columns count: 7
[16-Nov-2025 14:27:32 UTC]    Language field in books: YES
[16-Nov-2025 14:27:32 UTC]    Format field in books: YES
[16-Nov-2025 14:27:32 UTC]    Description field in categories: YES
[16-Nov-2025 14:27:32 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:27:32 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:27:32 UTC]    Is_active field in books: YES
[16-Nov-2025 14:27:32 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:27:32 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:27:32 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:27:32 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:27:32 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:27:32 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:27:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:27:32 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:27:32 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:27:32 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:32 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:32 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:32 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:32 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:32 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:32 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:32 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:27:32 UTC] 📊 Database Info:
[16-Nov-2025 14:27:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:27:32 UTC]    Books columns count: 53
[16-Nov-2025 14:27:32 UTC]    Categories columns count: 7
[16-Nov-2025 14:27:32 UTC]    Language field in books: YES
[16-Nov-2025 14:27:32 UTC]    Format field in books: YES
[16-Nov-2025 14:27:32 UTC]    Description field in categories: YES
[16-Nov-2025 14:27:32 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:27:32 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:27:32 UTC]    Is_active field in books: YES
[16-Nov-2025 14:27:32 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:27:32 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:27:32 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:27:32 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:27:32 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:27:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:27:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:27:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:27:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:27:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:27:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:27:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:27:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:27:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:27:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:27:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:27:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:27:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:27:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:27:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:27:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:27:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:27:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:27:53 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:27:53 UTC] 📊 Database Info:
[16-Nov-2025 14:27:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:27:53 UTC]    Books columns count: 53
[16-Nov-2025 14:27:53 UTC]    Categories columns count: 7
[16-Nov-2025 14:27:53 UTC]    Language field in books: YES
[16-Nov-2025 14:27:53 UTC]    Format field in books: YES
[16-Nov-2025 14:27:53 UTC]    Description field in categories: YES
[16-Nov-2025 14:27:53 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:27:53 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:27:53 UTC]    Is_active field in books: YES
[16-Nov-2025 14:27:53 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:27:53 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:27:53 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:27:53 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:27:53 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:27:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:29:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:29:59 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:29:59 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:29:59 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:29:59 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:29:59 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:29:59 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:29:59 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:29:59 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:29:59 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:29:59 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:29:59 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:29:59 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:29:59 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:29:59 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:29:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:29:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:29:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:29:59 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:29:59 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:29:59 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:29:59 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:29:59 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:29:59 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:29:59 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:29:59 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:29:59 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:29:59 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:29:59 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:29:59 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:29:59 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:29:59 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:29:59 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:29:59 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:29:59 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:29:59 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:29:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:29:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:29:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:29:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:29:59 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:29:59 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:29:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:29:59 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:29:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:29:59 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:29:59 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:29:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:29:59 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:29:59 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:29:59 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:29:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:29:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:29:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:29:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:29:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:30:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:30:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:30:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:30:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:30:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:30:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:30:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:30:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:30:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:30:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:30:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:30:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:30:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:30:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:30:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:30:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:30:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:30:00 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:30:00 UTC] 📊 Database Info:
[16-Nov-2025 14:30:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:30:00 UTC]    Books columns count: 53
[16-Nov-2025 14:30:00 UTC]    Categories columns count: 7
[16-Nov-2025 14:30:00 UTC]    Language field in books: YES
[16-Nov-2025 14:30:00 UTC]    Format field in books: YES
[16-Nov-2025 14:30:00 UTC]    Description field in categories: YES
[16-Nov-2025 14:30:00 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:30:00 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:30:00 UTC]    Is_active field in books: YES
[16-Nov-2025 14:30:00 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:30:00 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:30:00 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:30:00 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:30:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:30:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:30:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:30:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:30:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:30:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:30:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:30:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:30:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:30:00 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:30:00 UTC] 📊 Database Info:
[16-Nov-2025 14:30:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:30:00 UTC]    Books columns count: 53
[16-Nov-2025 14:30:00 UTC]    Categories columns count: 7
[16-Nov-2025 14:30:00 UTC]    Language field in books: YES
[16-Nov-2025 14:30:00 UTC]    Format field in books: YES
[16-Nov-2025 14:30:00 UTC]    Description field in categories: YES
[16-Nov-2025 14:30:00 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:30:00 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:30:00 UTC]    Is_active field in books: YES
[16-Nov-2025 14:30:00 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:30:00 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:30:00 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:30:00 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:30:00 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:30:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:30:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:30:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:30:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:30:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:30:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:30:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:30:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:30:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:30:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:30:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:30:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:30:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:30:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:30:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:30:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:30:00 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:30:00 UTC] 📊 Database Info:
[16-Nov-2025 14:30:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:30:00 UTC]    Books columns count: 53
[16-Nov-2025 14:30:00 UTC]    Categories columns count: 7
[16-Nov-2025 14:30:00 UTC]    Language field in books: YES
[16-Nov-2025 14:30:00 UTC]    Format field in books: YES
[16-Nov-2025 14:30:00 UTC]    Description field in categories: YES
[16-Nov-2025 14:30:00 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:30:00 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:30:00 UTC]    Is_active field in books: YES
[16-Nov-2025 14:30:00 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:30:00 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:30:00 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:30:00 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:30:00 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:30:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:30:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:30:00 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:30:00 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:30:37 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:30:37 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:30:37 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:30:38 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:30:38 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:30:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:30:38 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:30:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:30:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:30:38 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:30:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:30:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:30:38 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:30:38 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:30:38 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:30:38 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:30:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:30:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:30:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:30:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:30:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:30:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:30:38 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:30:38 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:30:38 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:30:38 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:30:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:30:38 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:30:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:30:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:30:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:30:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:30:38 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:30:38 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:30:38 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:30:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:30:38 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:30:38 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:30:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:30:38 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:30:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:30:38 UTC] 📊 Database Info:
[16-Nov-2025 14:30:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:30:38 UTC]    Books columns count: 53
[16-Nov-2025 14:30:38 UTC]    Categories columns count: 7
[16-Nov-2025 14:30:38 UTC]    Language field in books: YES
[16-Nov-2025 14:30:38 UTC]    Format field in books: YES
[16-Nov-2025 14:30:38 UTC]    Description field in categories: YES
[16-Nov-2025 14:30:38 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:30:38 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:30:38 UTC]    Is_active field in books: YES
[16-Nov-2025 14:30:38 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:30:38 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:30:38 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:30:38 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:30:38 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:30:38 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:30:38 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:30:38 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:30:38 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:30:38 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:30:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:30:38 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:30:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:30:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:30:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:30:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:30:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:30:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:30:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:30:38 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:30:38 UTC] 📊 Database Info:
[16-Nov-2025 14:30:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:30:38 UTC]    Books columns count: 53
[16-Nov-2025 14:30:38 UTC]    Categories columns count: 7
[16-Nov-2025 14:30:38 UTC]    Language field in books: YES
[16-Nov-2025 14:30:38 UTC]    Format field in books: YES
[16-Nov-2025 14:30:38 UTC]    Description field in categories: YES
[16-Nov-2025 14:30:38 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:30:38 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:30:38 UTC]    Is_active field in books: YES
[16-Nov-2025 14:30:38 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:30:38 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:30:38 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:30:38 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:30:38 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:30:38 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:30:38 UTC] 📊 Database Info:
[16-Nov-2025 14:30:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:30:38 UTC]    Books columns count: 53
[16-Nov-2025 14:30:38 UTC]    Categories columns count: 7
[16-Nov-2025 14:30:38 UTC]    Language field in books: YES
[16-Nov-2025 14:30:38 UTC]    Format field in books: YES
[16-Nov-2025 14:30:38 UTC]    Description field in categories: YES
[16-Nov-2025 14:30:38 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:30:38 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:30:38 UTC]    Is_active field in books: YES
[16-Nov-2025 14:30:38 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:30:38 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:30:38 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:30:38 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:30:38 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:30:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:30:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:30:38 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:30:38 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:31:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:22 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:22 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:22 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:22 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:22 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:22 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:22 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:22 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:22 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:22 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:22 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:22 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:31:22 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:31:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:22 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:22 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:22 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:22 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:22 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:22 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:22 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:22 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:22 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:22 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:22 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:22 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:22 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:31:22 UTC] 📊 Database Info:
[16-Nov-2025 14:31:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:31:22 UTC]    Books columns count: 53
[16-Nov-2025 14:31:22 UTC]    Categories columns count: 7
[16-Nov-2025 14:31:22 UTC]    Language field in books: YES
[16-Nov-2025 14:31:22 UTC]    Format field in books: YES
[16-Nov-2025 14:31:22 UTC]    Description field in categories: YES
[16-Nov-2025 14:31:22 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:31:22 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:31:22 UTC]    Is_active field in books: YES
[16-Nov-2025 14:31:22 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:31:22 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:31:22 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:31:22 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:31:22 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:31:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:31:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:31:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:31:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:31:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:31:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:31:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:31:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:31:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:31:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:31:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:31:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:31:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:31:28 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:28 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:28 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:28 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:28 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:28 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:28 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:28 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:28 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:28 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:28 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:28 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:28 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:31:28 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:31:28 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:28 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:28 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:28 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:28 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:28 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:28 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:28 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:28 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:28 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:28 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:28 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:28 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:28 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:31:28 UTC] 📊 Database Info:
[16-Nov-2025 14:31:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:31:28 UTC]    Books columns count: 53
[16-Nov-2025 14:31:28 UTC]    Categories columns count: 7
[16-Nov-2025 14:31:28 UTC]    Language field in books: YES
[16-Nov-2025 14:31:28 UTC]    Format field in books: YES
[16-Nov-2025 14:31:28 UTC]    Description field in categories: YES
[16-Nov-2025 14:31:28 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:31:28 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:31:28 UTC]    Is_active field in books: YES
[16-Nov-2025 14:31:28 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:31:28 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:31:28 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:31:28 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:31:28 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:31:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:31:38 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:38 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:38 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:38 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:38 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:38 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:38 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:38 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:31:38 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:38 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:38 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:38 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:38 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:38 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:31:38 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:31:38 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:31:38 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:31:38 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:38 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:38 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:39 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:39 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:39 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:39 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:39 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:39 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:39 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:39 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:31:39 UTC] 📊 Database Info:
[16-Nov-2025 14:31:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:31:39 UTC]    Books columns count: 53
[16-Nov-2025 14:31:39 UTC]    Categories columns count: 7
[16-Nov-2025 14:31:39 UTC]    Language field in books: YES
[16-Nov-2025 14:31:39 UTC]    Format field in books: YES
[16-Nov-2025 14:31:39 UTC]    Description field in categories: YES
[16-Nov-2025 14:31:39 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:31:39 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:31:39 UTC]    Is_active field in books: YES
[16-Nov-2025 14:31:39 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:31:39 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:31:39 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:31:39 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:31:39 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:31:39 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:31:39 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:31:39 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:31:39 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:31:39 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:31:39 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:39 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:31:39 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:31:39 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:39 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:31:39 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:39 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:31:39 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:39 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:31:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:31:39 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:31:39 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:31:39 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:39 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:39 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:39 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:39 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:39 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:39 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:39 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:39 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:39 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:39 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:39 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:39 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:39 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:39 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:39 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:39 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:39 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:39 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:31:39 UTC] 📊 Database Info:
[16-Nov-2025 14:31:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:31:39 UTC]    Books columns count: 53
[16-Nov-2025 14:31:39 UTC]    Categories columns count: 7
[16-Nov-2025 14:31:39 UTC]    Language field in books: YES
[16-Nov-2025 14:31:39 UTC]    Format field in books: YES
[16-Nov-2025 14:31:39 UTC]    Description field in categories: YES
[16-Nov-2025 14:31:39 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:31:39 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:31:39 UTC]    Is_active field in books: YES
[16-Nov-2025 14:31:39 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:31:39 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:31:39 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:31:39 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:31:39 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:31:39 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:39 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:31:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:31:39 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:39 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:39 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:39 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:39 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:39 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:39 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:39 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:39 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:39 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:39 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:31:39 UTC] 📊 Database Info:
[16-Nov-2025 14:31:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:31:39 UTC]    Books columns count: 53
[16-Nov-2025 14:31:39 UTC]    Categories columns count: 7
[16-Nov-2025 14:31:39 UTC]    Language field in books: YES
[16-Nov-2025 14:31:39 UTC]    Format field in books: YES
[16-Nov-2025 14:31:39 UTC]    Description field in categories: YES
[16-Nov-2025 14:31:39 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:31:39 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:31:39 UTC]    Is_active field in books: YES
[16-Nov-2025 14:31:39 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:31:39 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:31:39 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:31:39 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:31:39 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:31:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:31:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:31:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:31:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:31:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:31:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:31:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:31:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:31:53 UTC] 📊 Database Info:
[16-Nov-2025 14:31:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:31:53 UTC]    Books columns count: 53
[16-Nov-2025 14:31:53 UTC]    Categories columns count: 7
[16-Nov-2025 14:31:53 UTC]    Language field in books: YES
[16-Nov-2025 14:31:53 UTC]    Format field in books: YES
[16-Nov-2025 14:31:53 UTC]    Description field in categories: YES
[16-Nov-2025 14:31:53 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:31:53 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:31:53 UTC]    Is_active field in books: YES
[16-Nov-2025 14:31:53 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:31:53 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:31:53 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:31:53 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:31:53 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:31:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:31:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:31:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:31:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:31:53 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:53 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:31:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:31:53 UTC] 📊 Database Info:
[16-Nov-2025 14:31:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:31:53 UTC]    Books columns count: 53
[16-Nov-2025 14:31:53 UTC]    Categories columns count: 7
[16-Nov-2025 14:31:53 UTC]    Language field in books: YES
[16-Nov-2025 14:31:53 UTC]    Format field in books: YES
[16-Nov-2025 14:31:53 UTC]    Description field in categories: YES
[16-Nov-2025 14:31:53 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:31:53 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:31:53 UTC]    Is_active field in books: YES
[16-Nov-2025 14:31:53 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:31:53 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:31:53 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:31:53 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:31:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:53 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:31:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:31:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:31:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:53 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:31:53 UTC] 📊 Database Info:
[16-Nov-2025 14:31:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:31:53 UTC]    Books columns count: 53
[16-Nov-2025 14:31:53 UTC]    Categories columns count: 7
[16-Nov-2025 14:31:53 UTC]    Language field in books: YES
[16-Nov-2025 14:31:53 UTC]    Format field in books: YES
[16-Nov-2025 14:31:53 UTC]    Description field in categories: YES
[16-Nov-2025 14:31:53 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:31:53 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:31:53 UTC]    Is_active field in books: YES
[16-Nov-2025 14:31:53 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:31:53 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:31:53 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:31:53 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:31:53 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:31:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:31:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:31:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:54 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:31:54 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:54 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:31:54 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:31:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:54 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:31:54 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:31:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:31:54 UTC] 📊 Database Info:
[16-Nov-2025 14:31:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:31:54 UTC]    Books columns count: 53
[16-Nov-2025 14:31:54 UTC]    Categories columns count: 7
[16-Nov-2025 14:31:54 UTC]    Language field in books: YES
[16-Nov-2025 14:31:54 UTC]    Format field in books: YES
[16-Nov-2025 14:31:54 UTC]    Description field in categories: YES
[16-Nov-2025 14:31:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:31:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:31:54 UTC]    Is_active field in books: YES
[16-Nov-2025 14:31:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:31:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:31:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:31:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:31:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:31:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:31:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:31:54 UTC] 📊 Database Info:
[16-Nov-2025 14:31:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:31:54 UTC]    Books columns count: 53
[16-Nov-2025 14:31:54 UTC]    Categories columns count: 7
[16-Nov-2025 14:31:54 UTC]    Language field in books: YES
[16-Nov-2025 14:31:54 UTC]    Format field in books: YES
[16-Nov-2025 14:31:54 UTC]    Description field in categories: YES
[16-Nov-2025 14:31:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:31:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:31:54 UTC]    Is_active field in books: YES
[16-Nov-2025 14:31:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:31:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:31:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:31:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:31:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:31:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:31:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:31:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:31:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:31:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:31:54 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:31:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:54 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:31:54 UTC] 📊 Database Info:
[16-Nov-2025 14:31:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:31:54 UTC]    Books columns count: 53
[16-Nov-2025 14:31:54 UTC]    Categories columns count: 7
[16-Nov-2025 14:31:54 UTC]    Language field in books: YES
[16-Nov-2025 14:31:54 UTC]    Format field in books: YES
[16-Nov-2025 14:31:54 UTC]    Description field in categories: YES
[16-Nov-2025 14:31:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:31:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:31:54 UTC]    Is_active field in books: YES
[16-Nov-2025 14:31:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:31:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:31:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:31:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:31:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:31:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:31:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:31:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:55 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:31:55 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:31:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:55 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:31:55 UTC] 📊 Database Info:
[16-Nov-2025 14:31:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:31:55 UTC]    Books columns count: 53
[16-Nov-2025 14:31:55 UTC]    Categories columns count: 7
[16-Nov-2025 14:31:55 UTC]    Language field in books: YES
[16-Nov-2025 14:31:55 UTC]    Format field in books: YES
[16-Nov-2025 14:31:55 UTC]    Description field in categories: YES
[16-Nov-2025 14:31:55 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:31:55 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:31:55 UTC]    Is_active field in books: YES
[16-Nov-2025 14:31:55 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:31:55 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:31:55 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:31:55 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:31:55 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:31:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:31:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:31:55 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:31:55 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:31:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:55 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:31:55 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:31:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:55 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:31:55 UTC] 📊 Database Info:
[16-Nov-2025 14:31:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:31:55 UTC]    Books columns count: 53
[16-Nov-2025 14:31:55 UTC]    Categories columns count: 7
[16-Nov-2025 14:31:55 UTC]    Language field in books: YES
[16-Nov-2025 14:31:55 UTC]    Format field in books: YES
[16-Nov-2025 14:31:55 UTC]    Description field in categories: YES
[16-Nov-2025 14:31:55 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:31:55 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:31:55 UTC]    Is_active field in books: YES
[16-Nov-2025 14:31:55 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:31:55 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:31:55 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:31:55 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:31:55 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:31:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:31:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:31:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:31:55 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:31:55 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:31:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:56 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:31:56 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:31:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:56 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:31:56 UTC] 📊 Database Info:
[16-Nov-2025 14:31:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:31:56 UTC]    Books columns count: 53
[16-Nov-2025 14:31:56 UTC]    Categories columns count: 7
[16-Nov-2025 14:31:56 UTC]    Language field in books: YES
[16-Nov-2025 14:31:56 UTC]    Format field in books: YES
[16-Nov-2025 14:31:56 UTC]    Description field in categories: YES
[16-Nov-2025 14:31:56 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:31:56 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:31:56 UTC]    Is_active field in books: YES
[16-Nov-2025 14:31:56 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:31:56 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:31:56 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:31:56 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:31:56 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:31:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:31:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:31:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:31:56 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:31:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:31:56 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:31:56 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:31:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:31:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:31:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:31:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:31:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:31:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:31:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:31:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:31:56 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:31:56 UTC] 📊 Database Info:
[16-Nov-2025 14:31:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:31:56 UTC]    Books columns count: 53
[16-Nov-2025 14:31:56 UTC]    Categories columns count: 7
[16-Nov-2025 14:31:56 UTC]    Language field in books: YES
[16-Nov-2025 14:31:56 UTC]    Format field in books: YES
[16-Nov-2025 14:31:56 UTC]    Description field in categories: YES
[16-Nov-2025 14:31:56 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:31:56 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:31:56 UTC]    Is_active field in books: YES
[16-Nov-2025 14:31:56 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:31:56 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:31:56 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:31:56 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:31:56 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:31:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:31:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:31:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:31:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:31:56 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:32:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:19 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:19 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:19 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:19 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:19 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:20 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:32:20 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:20 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:32:20 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:32:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:20 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:32:20 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:32:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:32:20 UTC] 📊 Database Info:
[16-Nov-2025 14:32:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:32:20 UTC]    Books columns count: 53
[16-Nov-2025 14:32:20 UTC]    Categories columns count: 7
[16-Nov-2025 14:32:20 UTC]    Language field in books: YES
[16-Nov-2025 14:32:20 UTC]    Format field in books: YES
[16-Nov-2025 14:32:20 UTC]    Description field in categories: YES
[16-Nov-2025 14:32:20 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:32:20 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:32:20 UTC]    Is_active field in books: YES
[16-Nov-2025 14:32:20 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:32:20 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:32:20 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:32:20 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:32:20 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:32:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:32:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:32:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:32:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:32:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:32:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:32:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:32:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:32:20 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:20 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:20 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:32:20 UTC] 📊 Database Info:
[16-Nov-2025 14:32:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:32:20 UTC]    Books columns count: 53
[16-Nov-2025 14:32:20 UTC]    Categories columns count: 7
[16-Nov-2025 14:32:20 UTC]    Language field in books: YES
[16-Nov-2025 14:32:20 UTC]    Format field in books: YES
[16-Nov-2025 14:32:20 UTC]    Description field in categories: YES
[16-Nov-2025 14:32:20 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:32:20 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:32:20 UTC]    Is_active field in books: YES
[16-Nov-2025 14:32:20 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:32:20 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:32:20 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:32:20 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:32:20 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:32:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:32:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:32:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:20 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:32:20 UTC] 📊 Database Info:
[16-Nov-2025 14:32:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:32:20 UTC]    Books columns count: 53
[16-Nov-2025 14:32:20 UTC]    Categories columns count: 7
[16-Nov-2025 14:32:20 UTC]    Language field in books: YES
[16-Nov-2025 14:32:20 UTC]    Format field in books: YES
[16-Nov-2025 14:32:20 UTC]    Description field in categories: YES
[16-Nov-2025 14:32:20 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:32:20 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:32:20 UTC]    Is_active field in books: YES
[16-Nov-2025 14:32:20 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:32:20 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:32:20 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:32:20 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:32:20 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:32:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:32:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:32:21 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:21 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:21 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:21 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:21 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:21 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:21 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:21 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:21 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:21 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:21 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:21 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:21 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:32:21 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:32:21 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:21 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:21 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:21 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:21 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:21 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:21 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:21 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:21 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:21 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:21 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:21 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:21 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:32:21 UTC] 📊 Database Info:
[16-Nov-2025 14:32:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:32:21 UTC]    Books columns count: 53
[16-Nov-2025 14:32:21 UTC]    Categories columns count: 7
[16-Nov-2025 14:32:21 UTC]    Language field in books: YES
[16-Nov-2025 14:32:21 UTC]    Format field in books: YES
[16-Nov-2025 14:32:21 UTC]    Description field in categories: YES
[16-Nov-2025 14:32:21 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:32:21 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:32:21 UTC]    Is_active field in books: YES
[16-Nov-2025 14:32:21 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:32:21 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:32:21 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:32:21 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:32:21 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:32:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:32:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:32:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:32:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:32:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:32:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:32:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:32:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:32:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:32:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:32:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:32:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:32:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:32:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:32:21 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:32:21 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:32:21 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:21 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:22 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:22 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:22 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:22 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:22 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:22 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:22 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:22 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:22 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:22 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:22 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:22 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:32:22 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:32:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:22 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:22 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:22 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:22 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:22 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:22 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:22 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:22 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:22 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:22 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:22 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:22 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:22 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:32:22 UTC] 📊 Database Info:
[16-Nov-2025 14:32:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:32:22 UTC]    Books columns count: 53
[16-Nov-2025 14:32:22 UTC]    Categories columns count: 7
[16-Nov-2025 14:32:22 UTC]    Language field in books: YES
[16-Nov-2025 14:32:22 UTC]    Format field in books: YES
[16-Nov-2025 14:32:22 UTC]    Description field in categories: YES
[16-Nov-2025 14:32:22 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:32:22 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:32:22 UTC]    Is_active field in books: YES
[16-Nov-2025 14:32:22 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:32:22 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:32:22 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:32:22 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:32:22 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:32:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:32:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:32:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:32:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:32:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:32:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:32:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:32:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:32:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:32:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:32:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:32:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:32:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:32:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:32:22 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:32:22 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:32:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:55 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:32:55 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:32:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:55 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:32:55 UTC] 📊 Database Info:
[16-Nov-2025 14:32:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:32:55 UTC]    Books columns count: 53
[16-Nov-2025 14:32:55 UTC]    Categories columns count: 7
[16-Nov-2025 14:32:55 UTC]    Language field in books: YES
[16-Nov-2025 14:32:55 UTC]    Format field in books: YES
[16-Nov-2025 14:32:55 UTC]    Description field in categories: YES
[16-Nov-2025 14:32:55 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:32:55 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:32:55 UTC]    Is_active field in books: YES
[16-Nov-2025 14:32:55 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:32:55 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:32:55 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:32:55 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:32:55 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:32:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:32:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:32:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:32:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:32:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:32:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:32:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:32:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:32:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:32:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:32:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:32:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:32:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:32:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:32:55 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:32:55 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:32:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:56 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:32:56 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:56 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:32:56 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:56 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:32:56 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:32:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:56 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:32:56 UTC] 📊 Database Info:
[16-Nov-2025 14:32:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:32:56 UTC]    Books columns count: 53
[16-Nov-2025 14:32:56 UTC]    Categories columns count: 7
[16-Nov-2025 14:32:56 UTC]    Language field in books: YES
[16-Nov-2025 14:32:56 UTC]    Format field in books: YES
[16-Nov-2025 14:32:56 UTC]    Description field in categories: YES
[16-Nov-2025 14:32:56 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:32:56 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:32:56 UTC]    Is_active field in books: YES
[16-Nov-2025 14:32:56 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:32:56 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:32:56 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:32:56 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:32:56 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:32:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:32:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:32:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:32:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:32:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:56 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:32:56 UTC] 📊 Database Info:
[16-Nov-2025 14:32:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:32:56 UTC]    Books columns count: 53
[16-Nov-2025 14:32:56 UTC]    Categories columns count: 7
[16-Nov-2025 14:32:56 UTC]    Language field in books: YES
[16-Nov-2025 14:32:56 UTC]    Format field in books: YES
[16-Nov-2025 14:32:56 UTC]    Description field in categories: YES
[16-Nov-2025 14:32:56 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:32:56 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:32:56 UTC]    Is_active field in books: YES
[16-Nov-2025 14:32:56 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:32:56 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:32:56 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:32:56 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:32:56 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:32:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:32:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:32:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:56 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:32:56 UTC] 📊 Database Info:
[16-Nov-2025 14:32:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:32:56 UTC]    Books columns count: 53
[16-Nov-2025 14:32:56 UTC]    Categories columns count: 7
[16-Nov-2025 14:32:56 UTC]    Language field in books: YES
[16-Nov-2025 14:32:56 UTC]    Format field in books: YES
[16-Nov-2025 14:32:56 UTC]    Description field in categories: YES
[16-Nov-2025 14:32:56 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:32:56 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:32:56 UTC]    Is_active field in books: YES
[16-Nov-2025 14:32:56 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:32:56 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:32:56 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:32:56 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:32:56 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:32:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:32:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:32:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:32:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:32:56 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:32:57 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:57 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:32:57 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:32:57 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:57 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:32:57 UTC] 📊 Database Info:
[16-Nov-2025 14:32:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:32:57 UTC]    Books columns count: 53
[16-Nov-2025 14:32:57 UTC]    Categories columns count: 7
[16-Nov-2025 14:32:57 UTC]    Language field in books: YES
[16-Nov-2025 14:32:57 UTC]    Format field in books: YES
[16-Nov-2025 14:32:57 UTC]    Description field in categories: YES
[16-Nov-2025 14:32:57 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:32:57 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:32:57 UTC]    Is_active field in books: YES
[16-Nov-2025 14:32:57 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:32:57 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:32:57 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:32:57 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:32:57 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:32:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:32:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:32:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:32:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:32:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:32:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:32:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:32:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:32:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:32:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:32:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:32:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:32:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:32:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:32:57 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:32:57 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:32:58 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:58 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:58 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:58 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:58 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:58 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:58 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:58 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:58 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:58 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:58 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:58 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:32:58 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:32:58 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:32:58 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:32:58 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:32:58 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:32:58 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:32:58 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:32:58 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:32:58 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:32:58 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:32:58 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:32:58 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:32:58 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:32:58 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:32:58 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:32:58 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:32:58 UTC] 📊 Database Info:
[16-Nov-2025 14:32:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:32:58 UTC]    Books columns count: 53
[16-Nov-2025 14:32:58 UTC]    Categories columns count: 7
[16-Nov-2025 14:32:58 UTC]    Language field in books: YES
[16-Nov-2025 14:32:58 UTC]    Format field in books: YES
[16-Nov-2025 14:32:58 UTC]    Description field in categories: YES
[16-Nov-2025 14:32:58 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:32:58 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:32:58 UTC]    Is_active field in books: YES
[16-Nov-2025 14:32:58 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:32:58 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:32:58 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:32:58 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:32:58 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:32:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:32:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:32:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:32:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:32:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:32:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:32:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:32:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:32:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:32:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:32:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:32:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:32:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:32:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:32:58 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:32:58 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:33:01 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:01 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:02 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:02 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:02 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:02 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:33:02 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:33:02 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:02 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:02 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:02 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:02 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:33:02 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:33:02 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:02 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:02 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:02 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:02 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:02 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:02 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:33:02 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:33:02 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:02 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:02 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:02 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:02 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:33:02 UTC] 📊 Database Info:
[16-Nov-2025 14:33:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:33:02 UTC]    Books columns count: 53
[16-Nov-2025 14:33:02 UTC]    Categories columns count: 7
[16-Nov-2025 14:33:02 UTC]    Language field in books: YES
[16-Nov-2025 14:33:02 UTC]    Format field in books: YES
[16-Nov-2025 14:33:02 UTC]    Description field in categories: YES
[16-Nov-2025 14:33:02 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:33:02 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:33:02 UTC]    Is_active field in books: YES
[16-Nov-2025 14:33:02 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:33:02 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:33:02 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:33:02 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:33:02 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:33:02 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:33:02 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:02 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:33:02 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:02 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:02 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:02 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:33:02 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:33:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:33:02 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:33:02 UTC] 📊 Database Info:
[16-Nov-2025 14:33:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:33:02 UTC]    Books columns count: 53
[16-Nov-2025 14:33:02 UTC]    Categories columns count: 7
[16-Nov-2025 14:33:02 UTC]    Language field in books: YES
[16-Nov-2025 14:33:02 UTC]    Format field in books: YES
[16-Nov-2025 14:33:02 UTC]    Description field in categories: YES
[16-Nov-2025 14:33:02 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:33:02 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:33:02 UTC]    Is_active field in books: YES
[16-Nov-2025 14:33:02 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:33:02 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:33:02 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:33:02 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:33:02 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:33:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:33:02 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:02 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:02 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:02 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:02 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:33:02 UTC] 📊 Database Info:
[16-Nov-2025 14:33:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:33:02 UTC]    Books columns count: 53
[16-Nov-2025 14:33:02 UTC]    Categories columns count: 7
[16-Nov-2025 14:33:02 UTC]    Language field in books: YES
[16-Nov-2025 14:33:02 UTC]    Format field in books: YES
[16-Nov-2025 14:33:02 UTC]    Description field in categories: YES
[16-Nov-2025 14:33:02 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:33:02 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:33:02 UTC]    Is_active field in books: YES
[16-Nov-2025 14:33:02 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:33:02 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:33:02 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:33:02 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:33:02 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:33:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:33:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:33:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:33:02 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:33:02 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:33:02 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:02 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:03 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:03 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:03 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:03 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:03 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:03 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:03 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:03 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:03 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:03 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:03 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:03 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:33:03 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:33:03 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:03 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:03 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:03 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:03 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:03 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:03 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:03 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:03 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:03 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:03 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:03 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:03 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:03 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:33:03 UTC] 📊 Database Info:
[16-Nov-2025 14:33:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:33:03 UTC]    Books columns count: 53
[16-Nov-2025 14:33:03 UTC]    Categories columns count: 7
[16-Nov-2025 14:33:03 UTC]    Language field in books: YES
[16-Nov-2025 14:33:03 UTC]    Format field in books: YES
[16-Nov-2025 14:33:03 UTC]    Description field in categories: YES
[16-Nov-2025 14:33:03 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:33:03 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:33:03 UTC]    Is_active field in books: YES
[16-Nov-2025 14:33:03 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:33:03 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:33:03 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:33:03 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:33:03 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:33:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:33:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:33:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:33:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:33:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:33:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:33:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:33:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:33:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:33:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:33:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:33:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:33:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:33:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:33:03 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:33:03 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:33:04 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:04 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:04 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:04 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:04 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:04 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:04 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:04 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:04 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:04 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:04 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:04 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:04 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:33:04 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:33:04 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:04 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:04 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:04 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:04 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:04 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:04 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:04 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:04 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:04 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:04 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:04 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:04 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:04 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:33:04 UTC] 📊 Database Info:
[16-Nov-2025 14:33:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:33:04 UTC]    Books columns count: 53
[16-Nov-2025 14:33:04 UTC]    Categories columns count: 7
[16-Nov-2025 14:33:04 UTC]    Language field in books: YES
[16-Nov-2025 14:33:04 UTC]    Format field in books: YES
[16-Nov-2025 14:33:04 UTC]    Description field in categories: YES
[16-Nov-2025 14:33:04 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:33:04 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:33:04 UTC]    Is_active field in books: YES
[16-Nov-2025 14:33:04 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:33:04 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:33:04 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:33:04 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:33:04 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:33:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:33:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:33:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:33:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:33:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:33:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:33:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:33:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:33:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:33:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:33:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:33:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:33:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:33:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:33:04 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:33:04 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:33:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:33:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:33:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:33:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:33:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:33:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:33:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:53 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:33:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:53 UTC] 📊 Database Info:
[16-Nov-2025 14:33:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:33:53 UTC]    Books columns count: 53
[16-Nov-2025 14:33:53 UTC]    Categories columns count: 7
[16-Nov-2025 14:33:53 UTC]    Language field in books: YES
[16-Nov-2025 14:33:53 UTC]    Format field in books: YES
[16-Nov-2025 14:33:53 UTC]    Description field in categories: YES
[16-Nov-2025 14:33:53 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:33:53 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:33:53 UTC]    Is_active field in books: YES
[16-Nov-2025 14:33:53 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:33:53 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:33:53 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:33:53 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:33:53 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:33:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:33:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:33:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:33:53 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:33:53 UTC] 📊 Database Info:
[16-Nov-2025 14:33:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:33:53 UTC]    Books columns count: 53
[16-Nov-2025 14:33:53 UTC]    Categories columns count: 7
[16-Nov-2025 14:33:53 UTC]    Language field in books: YES
[16-Nov-2025 14:33:53 UTC]    Format field in books: YES
[16-Nov-2025 14:33:53 UTC]    Description field in categories: YES
[16-Nov-2025 14:33:53 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:33:53 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:33:53 UTC]    Is_active field in books: YES
[16-Nov-2025 14:33:53 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:33:53 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:33:53 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:33:53 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:33:53 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:33:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:33:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:33:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:33:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:33:53 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:33:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:53 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:33:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:53 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:33:53 UTC] 📊 Database Info:
[16-Nov-2025 14:33:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:33:53 UTC]    Books columns count: 53
[16-Nov-2025 14:33:53 UTC]    Categories columns count: 7
[16-Nov-2025 14:33:53 UTC]    Language field in books: YES
[16-Nov-2025 14:33:53 UTC]    Format field in books: YES
[16-Nov-2025 14:33:53 UTC]    Description field in categories: YES
[16-Nov-2025 14:33:53 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:33:53 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:33:53 UTC]    Is_active field in books: YES
[16-Nov-2025 14:33:53 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:33:53 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:33:53 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:33:53 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:33:53 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:33:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:33:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:33:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:54 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:33:54 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:33:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:33:54 UTC] 📊 Database Info:
[16-Nov-2025 14:33:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:33:54 UTC]    Books columns count: 53
[16-Nov-2025 14:33:54 UTC]    Categories columns count: 7
[16-Nov-2025 14:33:54 UTC]    Language field in books: YES
[16-Nov-2025 14:33:54 UTC]    Format field in books: YES
[16-Nov-2025 14:33:54 UTC]    Description field in categories: YES
[16-Nov-2025 14:33:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:33:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:33:54 UTC]    Is_active field in books: YES
[16-Nov-2025 14:33:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:33:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:33:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:33:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:33:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:33:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:33:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:33:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:33:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:33:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:33:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:33:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:33:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:33:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:33:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:33:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:33:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:33:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:33:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:33:54 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:33:54 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:33:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:55 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:33:55 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:33:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:55 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:33:55 UTC] 📊 Database Info:
[16-Nov-2025 14:33:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:33:55 UTC]    Books columns count: 53
[16-Nov-2025 14:33:55 UTC]    Categories columns count: 7
[16-Nov-2025 14:33:55 UTC]    Language field in books: YES
[16-Nov-2025 14:33:55 UTC]    Format field in books: YES
[16-Nov-2025 14:33:55 UTC]    Description field in categories: YES
[16-Nov-2025 14:33:55 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:33:55 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:33:55 UTC]    Is_active field in books: YES
[16-Nov-2025 14:33:55 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:33:55 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:33:55 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:33:55 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:33:55 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:33:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:33:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:33:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:33:55 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:33:55 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:33:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:55 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:33:55 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:33:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:55 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:33:55 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:55 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:33:55 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:56 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:33:56 UTC] 📊 Database Info:
[16-Nov-2025 14:33:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:33:56 UTC]    Books columns count: 53
[16-Nov-2025 14:33:56 UTC]    Categories columns count: 7
[16-Nov-2025 14:33:56 UTC]    Language field in books: YES
[16-Nov-2025 14:33:56 UTC]    Format field in books: YES
[16-Nov-2025 14:33:56 UTC]    Description field in categories: YES
[16-Nov-2025 14:33:56 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:33:56 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:33:56 UTC]    Is_active field in books: YES
[16-Nov-2025 14:33:56 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:33:56 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:33:56 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:33:56 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:33:56 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:33:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:33:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:33:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:33:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:56 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:33:56 UTC] 📊 Database Info:
[16-Nov-2025 14:33:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:33:56 UTC]    Books columns count: 53
[16-Nov-2025 14:33:56 UTC]    Categories columns count: 7
[16-Nov-2025 14:33:56 UTC]    Language field in books: YES
[16-Nov-2025 14:33:56 UTC]    Format field in books: YES
[16-Nov-2025 14:33:56 UTC]    Description field in categories: YES
[16-Nov-2025 14:33:56 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:33:56 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:33:56 UTC]    Is_active field in books: YES
[16-Nov-2025 14:33:56 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:33:56 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:33:56 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:33:56 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:33:56 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:33:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:33:56 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:33:56 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:56 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:33:56 UTC] 📊 Database Info:
[16-Nov-2025 14:33:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:33:56 UTC]    Books columns count: 53
[16-Nov-2025 14:33:56 UTC]    Categories columns count: 7
[16-Nov-2025 14:33:56 UTC]    Language field in books: YES
[16-Nov-2025 14:33:56 UTC]    Format field in books: YES
[16-Nov-2025 14:33:56 UTC]    Description field in categories: YES
[16-Nov-2025 14:33:56 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:33:56 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:33:56 UTC]    Is_active field in books: YES
[16-Nov-2025 14:33:56 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:33:56 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:33:56 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:33:56 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:33:56 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:33:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:33:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:33:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:56 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:33:56 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:33:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:56 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:33:56 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:33:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:56 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:33:56 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:33:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:33:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:33:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:33:57 UTC] 📊 Database Info:
[16-Nov-2025 14:33:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:33:57 UTC]    Books columns count: 53
[16-Nov-2025 14:33:57 UTC]    Categories columns count: 7
[16-Nov-2025 14:33:57 UTC]    Language field in books: YES
[16-Nov-2025 14:33:57 UTC]    Format field in books: YES
[16-Nov-2025 14:33:57 UTC]    Description field in categories: YES
[16-Nov-2025 14:33:57 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:33:57 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:33:57 UTC]    Is_active field in books: YES
[16-Nov-2025 14:33:57 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:33:57 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:33:57 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:33:57 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:33:57 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:33:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:33:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:33:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:33:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:33:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:33:57 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:33:57 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:33:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:33:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:57 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:33:57 UTC] 📊 Database Info:
[16-Nov-2025 14:33:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:33:57 UTC]    Books columns count: 53
[16-Nov-2025 14:33:57 UTC]    Categories columns count: 7
[16-Nov-2025 14:33:57 UTC]    Language field in books: YES
[16-Nov-2025 14:33:57 UTC]    Format field in books: YES
[16-Nov-2025 14:33:57 UTC]    Description field in categories: YES
[16-Nov-2025 14:33:57 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:33:57 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:33:57 UTC]    Is_active field in books: YES
[16-Nov-2025 14:33:57 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:33:57 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:33:57 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:33:57 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:33:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:33:57 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:33:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:33:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:33:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:33:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:33:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:33:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:33:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:33:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:33:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:33:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:33:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:33:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:33:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:33:57 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:33:57 UTC] 📊 Database Info:
[16-Nov-2025 14:33:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:33:57 UTC]    Books columns count: 53
[16-Nov-2025 14:33:57 UTC]    Categories columns count: 7
[16-Nov-2025 14:33:57 UTC]    Language field in books: YES
[16-Nov-2025 14:33:57 UTC]    Format field in books: YES
[16-Nov-2025 14:33:57 UTC]    Description field in categories: YES
[16-Nov-2025 14:33:57 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:33:57 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:33:57 UTC]    Is_active field in books: YES
[16-Nov-2025 14:33:57 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:33:57 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:33:57 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:33:57 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:33:57 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:33:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:33:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:35:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:35:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:35:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:35:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:35:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:35:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:35:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:35:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:35:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:35:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:35:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:35:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:35:14 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:35:14 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:35:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:35:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:35:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:35:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:35:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:35:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:35:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:35:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:35:14 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:35:14 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:35:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:35:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:35:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:35:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:35:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:35:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:35:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:35:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:35:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:35:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:35:14 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:35:14 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:35:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:35:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:35:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:35:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:35:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:35:14 UTC] 📊 Database Info:
[16-Nov-2025 14:35:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:35:14 UTC]    Books columns count: 53
[16-Nov-2025 14:35:14 UTC]    Categories columns count: 7
[16-Nov-2025 14:35:14 UTC]    Language field in books: YES
[16-Nov-2025 14:35:14 UTC]    Format field in books: YES
[16-Nov-2025 14:35:14 UTC]    Description field in categories: YES
[16-Nov-2025 14:35:14 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:35:14 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:35:14 UTC]    Is_active field in books: YES
[16-Nov-2025 14:35:14 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:35:14 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:35:14 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:35:14 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:35:14 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:35:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:35:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:35:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:35:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:35:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:35:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:35:14 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:35:14 UTC] 📊 Database Info:
[16-Nov-2025 14:35:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:35:14 UTC]    Books columns count: 53
[16-Nov-2025 14:35:14 UTC]    Categories columns count: 7
[16-Nov-2025 14:35:14 UTC]    Language field in books: YES
[16-Nov-2025 14:35:14 UTC]    Format field in books: YES
[16-Nov-2025 14:35:14 UTC]    Description field in categories: YES
[16-Nov-2025 14:35:14 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:35:14 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:35:14 UTC]    Is_active field in books: YES
[16-Nov-2025 14:35:14 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:35:14 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:35:14 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:35:14 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:35:14 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:35:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:35:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:35:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:35:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:35:14 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:35:14 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:35:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:35:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:35:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:35:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:35:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:35:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:35:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:35:14 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:35:14 UTC] 📊 Database Info:
[16-Nov-2025 14:35:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:35:14 UTC]    Books columns count: 53
[16-Nov-2025 14:35:14 UTC]    Categories columns count: 7
[16-Nov-2025 14:35:14 UTC]    Language field in books: YES
[16-Nov-2025 14:35:14 UTC]    Format field in books: YES
[16-Nov-2025 14:35:14 UTC]    Description field in categories: YES
[16-Nov-2025 14:35:14 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:35:14 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:35:14 UTC]    Is_active field in books: YES
[16-Nov-2025 14:35:14 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:35:14 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:35:14 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:35:14 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:35:14 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:35:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:35:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:35:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:35:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:35:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:35:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:35:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:35:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:35:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:35:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:35:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:35:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:35:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:35:34 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:35:34 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:35:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:35:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:35:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:35:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:35:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:35:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:35:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:35:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:35:34 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:35:34 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:35:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:35:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:35:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:35:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:35:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:35:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:35:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:35:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:35:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:35:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:35:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:35:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:35:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:35:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:35:34 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:35:34 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:35:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:35:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:35:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:35:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:35:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:35:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:35:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:35:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:35:34 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:35:34 UTC] 📊 Database Info:
[16-Nov-2025 14:35:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:35:34 UTC]    Books columns count: 53
[16-Nov-2025 14:35:34 UTC]    Categories columns count: 7
[16-Nov-2025 14:35:34 UTC]    Language field in books: YES
[16-Nov-2025 14:35:34 UTC]    Format field in books: YES
[16-Nov-2025 14:35:34 UTC]    Description field in categories: YES
[16-Nov-2025 14:35:34 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:35:34 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:35:34 UTC]    Is_active field in books: YES
[16-Nov-2025 14:35:34 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:35:34 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:35:34 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:35:34 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:35:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:35:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:35:34 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:35:34 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:35:34 UTC] 📊 Database Info:
[16-Nov-2025 14:35:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:35:34 UTC]    Books columns count: 53
[16-Nov-2025 14:35:34 UTC]    Categories columns count: 7
[16-Nov-2025 14:35:34 UTC]    Language field in books: YES
[16-Nov-2025 14:35:34 UTC]    Format field in books: YES
[16-Nov-2025 14:35:34 UTC]    Description field in categories: YES
[16-Nov-2025 14:35:34 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:35:34 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:35:34 UTC]    Is_active field in books: YES
[16-Nov-2025 14:35:34 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:35:34 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:35:34 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:35:34 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:35:34 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:35:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:35:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:35:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:35:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:35:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:35:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:35:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:35:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:35:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:35:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:35:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:35:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:35:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:35:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:35:34 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:35:34 UTC] 📊 Database Info:
[16-Nov-2025 14:35:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:35:34 UTC]    Books columns count: 53
[16-Nov-2025 14:35:34 UTC]    Categories columns count: 7
[16-Nov-2025 14:35:34 UTC]    Language field in books: YES
[16-Nov-2025 14:35:34 UTC]    Format field in books: YES
[16-Nov-2025 14:35:34 UTC]    Description field in categories: YES
[16-Nov-2025 14:35:34 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:35:34 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:35:34 UTC]    Is_active field in books: YES
[16-Nov-2025 14:35:34 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:35:34 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:35:34 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:35:34 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:35:34 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:35:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:35:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:35:34 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:35:34 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:36:07 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:07 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:08 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:08 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:08 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:08 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:08 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:08 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:08 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:08 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:08 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:36:08 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:08 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:08 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:36:08 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:36:08 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:08 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:08 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:08 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:08 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:36:08 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:08 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:08 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:08 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:36:08 UTC] 📊 Database Info:
[16-Nov-2025 14:36:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:36:08 UTC]    Books columns count: 53
[16-Nov-2025 14:36:08 UTC]    Categories columns count: 7
[16-Nov-2025 14:36:08 UTC]    Language field in books: YES
[16-Nov-2025 14:36:08 UTC]    Format field in books: YES
[16-Nov-2025 14:36:08 UTC]    Description field in categories: YES
[16-Nov-2025 14:36:08 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:36:08 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:36:08 UTC]    Is_active field in books: YES
[16-Nov-2025 14:36:08 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:36:08 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:36:08 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:36:08 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:36:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:36:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:36:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:36:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:36:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:36:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:36:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:36:08 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:36:08 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:36:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:36:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:36:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:08 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:08 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:08 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:08 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:09 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:09 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:09 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:09 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:09 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:09 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:09 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:36:09 UTC] 📊 Database Info:
[16-Nov-2025 14:36:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:36:09 UTC]    Books columns count: 53
[16-Nov-2025 14:36:09 UTC]    Categories columns count: 7
[16-Nov-2025 14:36:09 UTC]    Language field in books: YES
[16-Nov-2025 14:36:09 UTC]    Format field in books: YES
[16-Nov-2025 14:36:09 UTC]    Description field in categories: YES
[16-Nov-2025 14:36:09 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:36:09 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:36:09 UTC]    Is_active field in books: YES
[16-Nov-2025 14:36:09 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:36:09 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:36:09 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:36:09 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:36:09 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:09 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:09 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:09 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:36:09 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:36:09 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:36:09 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:36:09 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:36:09 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:09 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:36:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:36:09 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:36:09 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:36:09 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:36:09 UTC] 📊 Database Info:
[16-Nov-2025 14:36:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:36:09 UTC]    Books columns count: 53
[16-Nov-2025 14:36:09 UTC]    Categories columns count: 7
[16-Nov-2025 14:36:09 UTC]    Language field in books: YES
[16-Nov-2025 14:36:09 UTC]    Format field in books: YES
[16-Nov-2025 14:36:09 UTC]    Description field in categories: YES
[16-Nov-2025 14:36:09 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:36:09 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:36:09 UTC]    Is_active field in books: YES
[16-Nov-2025 14:36:09 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:36:09 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:36:09 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:36:09 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:36:09 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:36:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:36:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:36:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:14 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:36:14 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:36:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:14 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:36:14 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:14 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:36:14 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:36:14 UTC] 📊 Database Info:
[16-Nov-2025 14:36:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:36:14 UTC]    Books columns count: 53
[16-Nov-2025 14:36:14 UTC]    Categories columns count: 7
[16-Nov-2025 14:36:14 UTC]    Language field in books: YES
[16-Nov-2025 14:36:14 UTC]    Format field in books: YES
[16-Nov-2025 14:36:14 UTC]    Description field in categories: YES
[16-Nov-2025 14:36:14 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:36:14 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:36:14 UTC]    Is_active field in books: YES
[16-Nov-2025 14:36:14 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:36:14 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:36:14 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:36:14 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:36:14 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:36:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:36:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:36:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:36:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:36:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:36:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:36:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:36:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:36:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:36:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:36:15 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:36:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:15 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:36:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:15 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:36:15 UTC] 📊 Database Info:
[16-Nov-2025 14:36:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:36:15 UTC]    Books columns count: 53
[16-Nov-2025 14:36:15 UTC]    Categories columns count: 7
[16-Nov-2025 14:36:15 UTC]    Language field in books: YES
[16-Nov-2025 14:36:15 UTC]    Format field in books: YES
[16-Nov-2025 14:36:15 UTC]    Description field in categories: YES
[16-Nov-2025 14:36:15 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:36:15 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:36:15 UTC]    Is_active field in books: YES
[16-Nov-2025 14:36:15 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:36:15 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:36:15 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:36:15 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:36:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:15 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:36:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:36:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:36:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:15 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:36:15 UTC] 📊 Database Info:
[16-Nov-2025 14:36:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:36:15 UTC]    Books columns count: 53
[16-Nov-2025 14:36:15 UTC]    Categories columns count: 7
[16-Nov-2025 14:36:15 UTC]    Language field in books: YES
[16-Nov-2025 14:36:15 UTC]    Format field in books: YES
[16-Nov-2025 14:36:15 UTC]    Description field in categories: YES
[16-Nov-2025 14:36:15 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:36:15 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:36:15 UTC]    Is_active field in books: YES
[16-Nov-2025 14:36:15 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:36:15 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:36:15 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:36:15 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:36:15 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:36:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:36:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:36:25 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:25 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:25 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:25 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:25 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:25 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:25 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:25 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:25 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:25 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:25 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:25 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:25 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:25 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:25 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:25 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:25 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:25 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:25 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:36:25 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:36:25 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:25 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:25 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:25 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:25 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:25 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:25 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:25 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:25 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:25 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:25 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:25 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:25 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:36:25 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:36:25 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:25 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:25 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:25 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:25 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:25 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:25 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:36:25 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:36:25 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:25 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:26 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:26 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:36:26 UTC] 📊 Database Info:
[16-Nov-2025 14:36:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:36:26 UTC]    Books columns count: 53
[16-Nov-2025 14:36:26 UTC]    Categories columns count: 7
[16-Nov-2025 14:36:26 UTC]    Language field in books: YES
[16-Nov-2025 14:36:26 UTC]    Format field in books: YES
[16-Nov-2025 14:36:26 UTC]    Description field in categories: YES
[16-Nov-2025 14:36:26 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:36:26 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:36:26 UTC]    Is_active field in books: YES
[16-Nov-2025 14:36:26 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:36:26 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:36:26 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:36:26 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:36:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:26 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:36:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:36:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:36:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:36:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:26 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:36:26 UTC] 📊 Database Info:
[16-Nov-2025 14:36:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:36:26 UTC]    Books columns count: 53
[16-Nov-2025 14:36:26 UTC]    Categories columns count: 7
[16-Nov-2025 14:36:26 UTC]    Language field in books: YES
[16-Nov-2025 14:36:26 UTC]    Format field in books: YES
[16-Nov-2025 14:36:26 UTC]    Description field in categories: YES
[16-Nov-2025 14:36:26 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:36:26 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:36:26 UTC]    Is_active field in books: YES
[16-Nov-2025 14:36:26 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:36:26 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:36:26 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:36:26 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:36:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:26 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:36:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:36:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:36:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:36:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:36:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:36:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:36:26 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:36:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:26 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:36:26 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:36:26 UTC] 📊 Database Info:
[16-Nov-2025 14:36:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:36:26 UTC]    Books columns count: 53
[16-Nov-2025 14:36:26 UTC]    Categories columns count: 7
[16-Nov-2025 14:36:26 UTC]    Language field in books: YES
[16-Nov-2025 14:36:26 UTC]    Format field in books: YES
[16-Nov-2025 14:36:26 UTC]    Description field in categories: YES
[16-Nov-2025 14:36:26 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:36:26 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:36:26 UTC]    Is_active field in books: YES
[16-Nov-2025 14:36:26 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:36:26 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:36:26 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:36:26 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:36:26 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:36:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:36:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:36:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:34 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:36:34 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:36:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:34 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:36:34 UTC] 📊 Database Info:
[16-Nov-2025 14:36:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:36:34 UTC]    Books columns count: 53
[16-Nov-2025 14:36:34 UTC]    Categories columns count: 7
[16-Nov-2025 14:36:34 UTC]    Language field in books: YES
[16-Nov-2025 14:36:34 UTC]    Format field in books: YES
[16-Nov-2025 14:36:34 UTC]    Description field in categories: YES
[16-Nov-2025 14:36:34 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:36:34 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:36:34 UTC]    Is_active field in books: YES
[16-Nov-2025 14:36:34 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:36:34 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:36:34 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:36:34 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:36:34 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:36:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:36:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:36:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:36:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:36:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:36:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:36:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:36:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:36:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:36:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:36:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:36:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:36:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:36:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:45 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:45 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:45 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:45 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:36:45 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:36:45 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:45 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:45 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:45 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:45 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:36:45 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:45 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:45 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:45 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:36:45 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:45 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:45 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:45 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:45 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:36:45 UTC] 📊 Database Info:
[16-Nov-2025 14:36:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:36:45 UTC]    Books columns count: 53
[16-Nov-2025 14:36:45 UTC]    Categories columns count: 7
[16-Nov-2025 14:36:45 UTC]    Language field in books: YES
[16-Nov-2025 14:36:45 UTC]    Format field in books: YES
[16-Nov-2025 14:36:45 UTC]    Description field in categories: YES
[16-Nov-2025 14:36:45 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:36:45 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:36:45 UTC]    Is_active field in books: YES
[16-Nov-2025 14:36:45 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:36:45 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:36:45 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:36:45 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:36:45 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:36:45 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:36:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:36:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:36:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:36:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:36:45 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:45 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:45 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:36:45 UTC] 📊 Database Info:
[16-Nov-2025 14:36:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:36:45 UTC]    Books columns count: 53
[16-Nov-2025 14:36:45 UTC]    Categories columns count: 7
[16-Nov-2025 14:36:45 UTC]    Language field in books: YES
[16-Nov-2025 14:36:45 UTC]    Format field in books: YES
[16-Nov-2025 14:36:45 UTC]    Description field in categories: YES
[16-Nov-2025 14:36:45 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:36:45 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:36:45 UTC]    Is_active field in books: YES
[16-Nov-2025 14:36:45 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:36:45 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:36:45 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:36:45 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:36:45 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:36:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:36:45 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:36:45 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:36:45 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:45 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:45 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:45 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:45 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:36:45 UTC] 📊 Database Info:
[16-Nov-2025 14:36:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:36:45 UTC]    Books columns count: 53
[16-Nov-2025 14:36:45 UTC]    Categories columns count: 7
[16-Nov-2025 14:36:45 UTC]    Language field in books: YES
[16-Nov-2025 14:36:45 UTC]    Format field in books: YES
[16-Nov-2025 14:36:45 UTC]    Description field in categories: YES
[16-Nov-2025 14:36:45 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:36:45 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:36:45 UTC]    Is_active field in books: YES
[16-Nov-2025 14:36:45 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:36:45 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:36:45 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:36:45 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:36:45 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:36:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:36:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:36:45 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:45 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:45 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:45 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:45 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:45 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:36:45 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:36:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:46 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:36:46 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:46 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:36:46 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:46 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:36:46 UTC] 📊 Database Info:
[16-Nov-2025 14:36:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:36:46 UTC]    Books columns count: 53
[16-Nov-2025 14:36:46 UTC]    Categories columns count: 7
[16-Nov-2025 14:36:46 UTC]    Language field in books: YES
[16-Nov-2025 14:36:46 UTC]    Format field in books: YES
[16-Nov-2025 14:36:46 UTC]    Description field in categories: YES
[16-Nov-2025 14:36:46 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:36:46 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:36:46 UTC]    Is_active field in books: YES
[16-Nov-2025 14:36:46 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:36:46 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:36:46 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:36:46 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:36:46 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:36:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:36:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:36:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:36:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:36:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:36:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:36:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:36:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:46 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:36:46 UTC] 📊 Database Info:
[16-Nov-2025 14:36:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:36:46 UTC]    Books columns count: 53
[16-Nov-2025 14:36:46 UTC]    Categories columns count: 7
[16-Nov-2025 14:36:46 UTC]    Language field in books: YES
[16-Nov-2025 14:36:46 UTC]    Format field in books: YES
[16-Nov-2025 14:36:46 UTC]    Description field in categories: YES
[16-Nov-2025 14:36:46 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:36:46 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:36:46 UTC]    Is_active field in books: YES
[16-Nov-2025 14:36:46 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:36:46 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:36:46 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:36:46 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:36:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:46 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:36:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:36:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:36:46 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:36:46 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:36:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:46 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:36:46 UTC] 📊 Database Info:
[16-Nov-2025 14:36:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:36:46 UTC]    Books columns count: 53
[16-Nov-2025 14:36:46 UTC]    Categories columns count: 7
[16-Nov-2025 14:36:46 UTC]    Language field in books: YES
[16-Nov-2025 14:36:46 UTC]    Format field in books: YES
[16-Nov-2025 14:36:46 UTC]    Description field in categories: YES
[16-Nov-2025 14:36:46 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:36:46 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:36:46 UTC]    Is_active field in books: YES
[16-Nov-2025 14:36:46 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:36:46 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:36:46 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:36:46 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:36:46 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:36:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:36:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:36:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:36:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:36:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:36:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:36:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:36:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:36:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:36:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:36:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:36:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:36:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:36:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:36:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:36:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:36:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:36:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:36:53 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:36:53 UTC] 📊 Database Info:
[16-Nov-2025 14:36:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:36:53 UTC]    Books columns count: 53
[16-Nov-2025 14:36:53 UTC]    Categories columns count: 7
[16-Nov-2025 14:36:53 UTC]    Language field in books: YES
[16-Nov-2025 14:36:53 UTC]    Format field in books: YES
[16-Nov-2025 14:36:53 UTC]    Description field in categories: YES
[16-Nov-2025 14:36:53 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:36:53 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:36:53 UTC]    Is_active field in books: YES
[16-Nov-2025 14:36:53 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:36:53 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:36:53 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:36:53 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:36:53 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:36:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:36:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:36:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:36:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:36:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:36:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:36:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:36:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:36:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:36:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:36:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:36:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:36:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:37:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:37:43 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:37:43 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:37:43 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:37:43 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:37:43 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:37:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:37:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:37:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:37:43 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:37:43 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:37:43 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:37:43 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:37:43 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:37:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:37:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:37:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:37:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:37:43 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:37:43 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:37:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:37:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:37:43 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:37:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:37:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:37:43 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:37:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:37:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:37:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:37:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:37:43 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:37:43 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:37:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:37:43 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:37:43 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:37:43 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:37:43 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:37:43 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:37:43 UTC] 📊 Database Info:
[16-Nov-2025 14:37:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:37:43 UTC]    Books columns count: 53
[16-Nov-2025 14:37:43 UTC]    Categories columns count: 7
[16-Nov-2025 14:37:43 UTC]    Language field in books: YES
[16-Nov-2025 14:37:43 UTC]    Format field in books: YES
[16-Nov-2025 14:37:43 UTC]    Description field in categories: YES
[16-Nov-2025 14:37:43 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:37:43 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:37:43 UTC]    Is_active field in books: YES
[16-Nov-2025 14:37:43 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:37:43 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:37:43 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:37:43 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:37:43 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:37:43 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:37:43 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:37:43 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:37:43 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:37:43 UTC] 📊 Database Info:
[16-Nov-2025 14:37:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:37:43 UTC]    Books columns count: 53
[16-Nov-2025 14:37:43 UTC]    Categories columns count: 7
[16-Nov-2025 14:37:43 UTC]    Language field in books: YES
[16-Nov-2025 14:37:43 UTC]    Format field in books: YES
[16-Nov-2025 14:37:43 UTC]    Description field in categories: YES
[16-Nov-2025 14:37:43 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:37:43 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:37:43 UTC]    Is_active field in books: YES
[16-Nov-2025 14:37:43 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:37:43 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:37:43 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:37:43 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:37:43 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:37:43 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:37:43 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:37:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:37:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:37:43 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:37:43 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:37:43 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:37:43 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:37:43 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:37:43 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:37:43 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:37:43 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:37:43 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:37:43 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:37:43 UTC] 📊 Database Info:
[16-Nov-2025 14:37:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:37:43 UTC]    Books columns count: 53
[16-Nov-2025 14:37:43 UTC]    Categories columns count: 7
[16-Nov-2025 14:37:43 UTC]    Language field in books: YES
[16-Nov-2025 14:37:43 UTC]    Format field in books: YES
[16-Nov-2025 14:37:43 UTC]    Description field in categories: YES
[16-Nov-2025 14:37:43 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:37:43 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:37:43 UTC]    Is_active field in books: YES
[16-Nov-2025 14:37:43 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:37:43 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:37:43 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:37:43 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:37:43 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:37:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:37:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:37:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:37:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:37:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:37:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:37:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:37:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:37:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:37:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:37:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:37:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:37:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:37:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:37:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:37:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:37:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:37:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:37:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:37:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:37:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:37:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:37:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:37:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:37:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:37:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:37:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:37:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:37:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:37:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:37:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:37:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:37:53 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:37:53 UTC] 📊 Database Info:
[16-Nov-2025 14:37:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:37:53 UTC]    Books columns count: 53
[16-Nov-2025 14:37:53 UTC]    Categories columns count: 7
[16-Nov-2025 14:37:53 UTC]    Language field in books: YES
[16-Nov-2025 14:37:53 UTC]    Format field in books: YES
[16-Nov-2025 14:37:53 UTC]    Description field in categories: YES
[16-Nov-2025 14:37:53 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:37:53 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:37:53 UTC]    Is_active field in books: YES
[16-Nov-2025 14:37:53 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:37:53 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:37:53 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:37:53 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:37:53 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:37:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:37:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:37:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:37:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:37:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:37:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:37:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:37:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:37:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:37:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:37:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:37:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:37:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:38:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:38:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:38:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:38:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:38:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:38:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:38:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:38:01 UTC] 📊 Database Info:
[16-Nov-2025 14:38:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:38:01 UTC]    Books columns count: 53
[16-Nov-2025 14:38:01 UTC]    Categories columns count: 7
[16-Nov-2025 14:38:01 UTC]    Language field in books: YES
[16-Nov-2025 14:38:01 UTC]    Format field in books: YES
[16-Nov-2025 14:38:01 UTC]    Description field in categories: YES
[16-Nov-2025 14:38:01 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:38:01 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:38:01 UTC]    Is_active field in books: YES
[16-Nov-2025 14:38:01 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:38:01 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:38:01 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:38:01 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:38:01 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:38:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:38:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:38:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:38:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:38:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:38:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:38:01 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:01 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:01 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:38:01 UTC] 📊 Database Info:
[16-Nov-2025 14:38:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:38:01 UTC]    Books columns count: 53
[16-Nov-2025 14:38:01 UTC]    Categories columns count: 7
[16-Nov-2025 14:38:01 UTC]    Language field in books: YES
[16-Nov-2025 14:38:01 UTC]    Format field in books: YES
[16-Nov-2025 14:38:01 UTC]    Description field in categories: YES
[16-Nov-2025 14:38:01 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:38:01 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:38:01 UTC]    Is_active field in books: YES
[16-Nov-2025 14:38:01 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:38:01 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:38:01 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:38:01 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:38:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:38:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:38:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:01 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:38:01 UTC] 📊 Database Info:
[16-Nov-2025 14:38:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:38:01 UTC]    Books columns count: 53
[16-Nov-2025 14:38:01 UTC]    Categories columns count: 7
[16-Nov-2025 14:38:01 UTC]    Language field in books: YES
[16-Nov-2025 14:38:01 UTC]    Format field in books: YES
[16-Nov-2025 14:38:01 UTC]    Description field in categories: YES
[16-Nov-2025 14:38:01 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:38:01 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:38:01 UTC]    Is_active field in books: YES
[16-Nov-2025 14:38:01 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:38:01 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:38:01 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:38:01 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:38:01 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:38:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:38:01 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:01 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:38:01 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:38:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:01 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:01 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:01 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:01 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:38:01 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:01 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:38:01 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:38:01 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:38:01 UTC] 📊 Database Info:
[16-Nov-2025 14:38:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:38:01 UTC]    Books columns count: 53
[16-Nov-2025 14:38:01 UTC]    Categories columns count: 7
[16-Nov-2025 14:38:01 UTC]    Language field in books: YES
[16-Nov-2025 14:38:01 UTC]    Format field in books: YES
[16-Nov-2025 14:38:01 UTC]    Description field in categories: YES
[16-Nov-2025 14:38:01 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:38:01 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:38:01 UTC]    Is_active field in books: YES
[16-Nov-2025 14:38:01 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:38:01 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:38:01 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:38:01 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:38:01 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:38:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:38:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:38:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:02 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:02 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:02 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:02 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:02 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:38:02 UTC] 📊 Database Info:
[16-Nov-2025 14:38:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:38:02 UTC]    Books columns count: 53
[16-Nov-2025 14:38:02 UTC]    Categories columns count: 7
[16-Nov-2025 14:38:02 UTC]    Language field in books: YES
[16-Nov-2025 14:38:02 UTC]    Format field in books: YES
[16-Nov-2025 14:38:02 UTC]    Description field in categories: YES
[16-Nov-2025 14:38:02 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:38:02 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:38:02 UTC]    Is_active field in books: YES
[16-Nov-2025 14:38:02 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:38:02 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:38:02 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:38:02 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:38:02 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:38:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:02 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:02 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:02 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:38:02 UTC] 📊 Database Info:
[16-Nov-2025 14:38:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:38:02 UTC]    Books columns count: 53
[16-Nov-2025 14:38:02 UTC]    Categories columns count: 7
[16-Nov-2025 14:38:02 UTC]    Language field in books: YES
[16-Nov-2025 14:38:02 UTC]    Format field in books: YES
[16-Nov-2025 14:38:02 UTC]    Description field in categories: YES
[16-Nov-2025 14:38:02 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:38:02 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:38:02 UTC]    Is_active field in books: YES
[16-Nov-2025 14:38:02 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:38:02 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:38:02 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:38:02 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:38:02 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:38:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:38:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:38:02 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:38:02 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:38:02 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:02 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:02 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:02 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:02 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:38:02 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:38:02 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:02 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:02 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:02 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:02 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:38:02 UTC] 📊 Database Info:
[16-Nov-2025 14:38:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:38:02 UTC]    Books columns count: 53
[16-Nov-2025 14:38:02 UTC]    Categories columns count: 7
[16-Nov-2025 14:38:02 UTC]    Language field in books: YES
[16-Nov-2025 14:38:02 UTC]    Format field in books: YES
[16-Nov-2025 14:38:02 UTC]    Description field in categories: YES
[16-Nov-2025 14:38:02 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:38:02 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:38:02 UTC]    Is_active field in books: YES
[16-Nov-2025 14:38:02 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:38:02 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:38:02 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:38:02 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:38:02 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:38:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:38:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:38:02 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:38:02 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:38:02 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:02 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:02 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:02 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:02 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:38:02 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:38:02 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:02 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:02 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:02 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:02 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:02 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:02 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:02 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:38:02 UTC] 📊 Database Info:
[16-Nov-2025 14:38:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:38:02 UTC]    Books columns count: 53
[16-Nov-2025 14:38:02 UTC]    Categories columns count: 7
[16-Nov-2025 14:38:02 UTC]    Language field in books: YES
[16-Nov-2025 14:38:02 UTC]    Format field in books: YES
[16-Nov-2025 14:38:02 UTC]    Description field in categories: YES
[16-Nov-2025 14:38:02 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:38:02 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:38:02 UTC]    Is_active field in books: YES
[16-Nov-2025 14:38:02 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:38:02 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:38:02 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:38:02 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:38:02 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:38:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:38:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:38:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:38:02 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:38:02 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:38:02 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:02 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:03 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:03 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:03 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:03 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:38:03 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:38:03 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:03 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:03 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:03 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:03 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:38:03 UTC] 📊 Database Info:
[16-Nov-2025 14:38:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:38:03 UTC]    Books columns count: 53
[16-Nov-2025 14:38:03 UTC]    Categories columns count: 7
[16-Nov-2025 14:38:03 UTC]    Language field in books: YES
[16-Nov-2025 14:38:03 UTC]    Format field in books: YES
[16-Nov-2025 14:38:03 UTC]    Description field in categories: YES
[16-Nov-2025 14:38:03 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:38:03 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:38:03 UTC]    Is_active field in books: YES
[16-Nov-2025 14:38:03 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:38:03 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:38:03 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:38:03 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:38:03 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:38:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:38:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:38:03 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:38:03 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:38:03 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:03 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:03 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:03 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:03 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:38:03 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:38:03 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:03 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:03 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:03 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:03 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:03 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:03 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:03 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:03 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:38:03 UTC] 📊 Database Info:
[16-Nov-2025 14:38:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:38:03 UTC]    Books columns count: 53
[16-Nov-2025 14:38:03 UTC]    Categories columns count: 7
[16-Nov-2025 14:38:03 UTC]    Language field in books: YES
[16-Nov-2025 14:38:03 UTC]    Format field in books: YES
[16-Nov-2025 14:38:03 UTC]    Description field in categories: YES
[16-Nov-2025 14:38:03 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:38:03 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:38:03 UTC]    Is_active field in books: YES
[16-Nov-2025 14:38:03 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:38:03 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:38:03 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:38:03 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:38:03 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:38:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:38:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:38:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 14:38:03 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 14:38:03 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 14:38:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:10 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:38:10 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:38:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:10 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:38:10 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:10 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:38:10 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:38:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:38:10 UTC] 📊 Database Info:
[16-Nov-2025 14:38:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:38:10 UTC]    Books columns count: 53
[16-Nov-2025 14:38:10 UTC]    Categories columns count: 7
[16-Nov-2025 14:38:10 UTC]    Language field in books: YES
[16-Nov-2025 14:38:10 UTC]    Format field in books: YES
[16-Nov-2025 14:38:10 UTC]    Description field in categories: YES
[16-Nov-2025 14:38:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:38:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:38:10 UTC]    Is_active field in books: YES
[16-Nov-2025 14:38:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:38:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:38:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:38:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:38:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:38:10 UTC] 📊 Database Info:
[16-Nov-2025 14:38:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:38:10 UTC]    Books columns count: 53
[16-Nov-2025 14:38:10 UTC]    Categories columns count: 7
[16-Nov-2025 14:38:10 UTC]    Language field in books: YES
[16-Nov-2025 14:38:10 UTC]    Format field in books: YES
[16-Nov-2025 14:38:10 UTC]    Description field in categories: YES
[16-Nov-2025 14:38:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:38:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:38:10 UTC]    Is_active field in books: YES
[16-Nov-2025 14:38:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:38:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:38:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:38:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:38:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:38:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:38:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:38:10 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:38:10 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:38:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:38:10 UTC] 📊 Database Info:
[16-Nov-2025 14:38:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:38:10 UTC]    Books columns count: 53
[16-Nov-2025 14:38:10 UTC]    Categories columns count: 7
[16-Nov-2025 14:38:10 UTC]    Language field in books: YES
[16-Nov-2025 14:38:10 UTC]    Format field in books: YES
[16-Nov-2025 14:38:10 UTC]    Description field in categories: YES
[16-Nov-2025 14:38:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:38:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:38:10 UTC]    Is_active field in books: YES
[16-Nov-2025 14:38:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:38:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:38:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:38:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:38:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:38:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:38:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:38:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:10 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:38:10 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:10 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:38:10 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:11 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:11 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:11 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:38:11 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:38:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:11 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:11 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:11 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:38:11 UTC] 📊 Database Info:
[16-Nov-2025 14:38:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:38:11 UTC]    Books columns count: 53
[16-Nov-2025 14:38:11 UTC]    Categories columns count: 7
[16-Nov-2025 14:38:11 UTC]    Language field in books: YES
[16-Nov-2025 14:38:11 UTC]    Format field in books: YES
[16-Nov-2025 14:38:11 UTC]    Description field in categories: YES
[16-Nov-2025 14:38:11 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:38:11 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:38:11 UTC]    Is_active field in books: YES
[16-Nov-2025 14:38:11 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:38:11 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:38:11 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:38:11 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:38:11 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:38:11 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:38:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:38:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:38:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:38:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:38:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:38:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:38:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:38:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:38:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:38:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:38:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:11 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:11 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:11 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:11 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:11 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:38:11 UTC] 📊 Database Info:
[16-Nov-2025 14:38:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:38:11 UTC]    Books columns count: 53
[16-Nov-2025 14:38:11 UTC]    Categories columns count: 7
[16-Nov-2025 14:38:11 UTC]    Language field in books: YES
[16-Nov-2025 14:38:11 UTC]    Format field in books: YES
[16-Nov-2025 14:38:11 UTC]    Description field in categories: YES
[16-Nov-2025 14:38:11 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:38:11 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:38:11 UTC]    Is_active field in books: YES
[16-Nov-2025 14:38:11 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:38:11 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:38:11 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:38:11 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:38:11 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:38:11 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:38:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:38:11 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:38:11 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:38:11 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:11 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:38:11 UTC] 📊 Database Info:
[16-Nov-2025 14:38:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:38:11 UTC]    Books columns count: 53
[16-Nov-2025 14:38:11 UTC]    Categories columns count: 7
[16-Nov-2025 14:38:11 UTC]    Language field in books: YES
[16-Nov-2025 14:38:11 UTC]    Format field in books: YES
[16-Nov-2025 14:38:11 UTC]    Description field in categories: YES
[16-Nov-2025 14:38:11 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:38:11 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:38:11 UTC]    Is_active field in books: YES
[16-Nov-2025 14:38:11 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:38:11 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:38:11 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:38:11 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:38:11 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:38:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:38:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:38:17 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:17 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:17 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:17 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:17 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:17 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:17 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:17 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:17 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:17 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:17 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:17 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:17 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:38:18 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:38:18 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:38:18 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:38:18 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:38:18 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:38:18 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:38:18 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:38:18 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:38:18 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:38:18 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:38:18 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:38:18 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:38:18 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:38:18 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:38:18 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:38:18 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:38:18 UTC] 📊 Database Info:
[16-Nov-2025 14:38:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:38:18 UTC]    Books columns count: 53
[16-Nov-2025 14:38:18 UTC]    Categories columns count: 7
[16-Nov-2025 14:38:18 UTC]    Language field in books: YES
[16-Nov-2025 14:38:18 UTC]    Format field in books: YES
[16-Nov-2025 14:38:18 UTC]    Description field in categories: YES
[16-Nov-2025 14:38:18 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:38:18 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:38:18 UTC]    Is_active field in books: YES
[16-Nov-2025 14:38:18 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:38:18 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:38:18 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:38:18 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:38:18 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:38:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:38:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:38:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:38:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:38:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:38:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:38:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:38:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:38:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:38:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:38:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:38:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:38:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:39:07 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:07 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:07 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:39:07 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:39:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:07 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:07 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:39:07 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:39:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:07 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:07 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:07 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:07 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:07 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:07 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:07 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:39:07 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:08 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:08 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:39:08 UTC] 📊 Database Info:
[16-Nov-2025 14:39:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:39:08 UTC]    Books columns count: 53
[16-Nov-2025 14:39:08 UTC]    Categories columns count: 7
[16-Nov-2025 14:39:08 UTC]    Language field in books: YES
[16-Nov-2025 14:39:08 UTC]    Format field in books: YES
[16-Nov-2025 14:39:08 UTC]    Description field in categories: YES
[16-Nov-2025 14:39:08 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:39:08 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:39:08 UTC]    Is_active field in books: YES
[16-Nov-2025 14:39:08 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:39:08 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:39:08 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:39:08 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:39:08 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:39:08 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:39:08 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:39:08 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:39:08 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:08 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:39:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:39:08 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:08 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:08 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:08 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:08 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:08 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:08 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:08 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:08 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:08 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:08 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:08 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:08 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:08 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:08 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:39:08 UTC] 📊 Database Info:
[16-Nov-2025 14:39:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:39:08 UTC]    Books columns count: 53
[16-Nov-2025 14:39:08 UTC]    Categories columns count: 7
[16-Nov-2025 14:39:08 UTC]    Language field in books: YES
[16-Nov-2025 14:39:08 UTC]    Format field in books: YES
[16-Nov-2025 14:39:08 UTC]    Description field in categories: YES
[16-Nov-2025 14:39:08 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:39:08 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:39:08 UTC]    Is_active field in books: YES
[16-Nov-2025 14:39:08 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:39:08 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:39:08 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:39:08 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:39:08 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:39:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:39:08 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:08 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:08 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:08 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:08 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:08 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:39:08 UTC] 📊 Database Info:
[16-Nov-2025 14:39:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:39:08 UTC]    Books columns count: 53
[16-Nov-2025 14:39:08 UTC]    Categories columns count: 7
[16-Nov-2025 14:39:08 UTC]    Language field in books: YES
[16-Nov-2025 14:39:08 UTC]    Format field in books: YES
[16-Nov-2025 14:39:08 UTC]    Description field in categories: YES
[16-Nov-2025 14:39:08 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:39:08 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:39:08 UTC]    Is_active field in books: YES
[16-Nov-2025 14:39:08 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:39:08 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:39:08 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:39:08 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:39:08 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:39:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:39:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:39:08 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:39:08 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:39:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:10 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:39:10 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:39:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:39:10 UTC] 📊 Database Info:
[16-Nov-2025 14:39:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:39:10 UTC]    Books columns count: 53
[16-Nov-2025 14:39:10 UTC]    Categories columns count: 7
[16-Nov-2025 14:39:10 UTC]    Language field in books: YES
[16-Nov-2025 14:39:10 UTC]    Format field in books: YES
[16-Nov-2025 14:39:10 UTC]    Description field in categories: YES
[16-Nov-2025 14:39:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:39:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:39:10 UTC]    Is_active field in books: YES
[16-Nov-2025 14:39:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:39:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:39:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:39:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:39:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:39:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:39:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:39:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:39:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:39:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:39:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:39:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:39:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:39:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:39:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:39:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:39:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:39:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:39:25 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:25 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:26 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:39:26 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:26 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:26 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:26 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:39:26 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:39:26 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:26 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:26 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:26 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:26 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:39:26 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:39:26 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:26 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:39:26 UTC] 📊 Database Info:
[16-Nov-2025 14:39:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:39:26 UTC]    Books columns count: 53
[16-Nov-2025 14:39:26 UTC]    Categories columns count: 7
[16-Nov-2025 14:39:26 UTC]    Language field in books: YES
[16-Nov-2025 14:39:26 UTC]    Format field in books: YES
[16-Nov-2025 14:39:26 UTC]    Description field in categories: YES
[16-Nov-2025 14:39:26 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:39:26 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:39:26 UTC]    Is_active field in books: YES
[16-Nov-2025 14:39:26 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:39:26 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:39:26 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:39:26 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:39:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:39:26 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:39:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:39:26 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:39:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:39:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:39:26 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:39:26 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:39:26 UTC] 📊 Database Info:
[16-Nov-2025 14:39:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:39:26 UTC]    Books columns count: 53
[16-Nov-2025 14:39:26 UTC]    Categories columns count: 7
[16-Nov-2025 14:39:26 UTC]    Language field in books: YES
[16-Nov-2025 14:39:26 UTC]    Format field in books: YES
[16-Nov-2025 14:39:26 UTC]    Description field in categories: YES
[16-Nov-2025 14:39:26 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:39:26 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:39:26 UTC]    Is_active field in books: YES
[16-Nov-2025 14:39:26 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:39:26 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:39:26 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:39:26 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:39:26 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:39:26 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:39:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:39:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:39:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:39:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:39:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:26 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:39:26 UTC] 📊 Database Info:
[16-Nov-2025 14:39:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:39:26 UTC]    Books columns count: 53
[16-Nov-2025 14:39:26 UTC]    Categories columns count: 7
[16-Nov-2025 14:39:26 UTC]    Language field in books: YES
[16-Nov-2025 14:39:26 UTC]    Format field in books: YES
[16-Nov-2025 14:39:26 UTC]    Description field in categories: YES
[16-Nov-2025 14:39:26 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:39:26 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:39:26 UTC]    Is_active field in books: YES
[16-Nov-2025 14:39:26 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:39:26 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:39:26 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:39:26 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:39:26 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:39:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:39:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:39:30 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:30 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:30 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:30 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:30 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:30 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:31 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:31 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:31 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:31 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:31 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:31 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:39:31 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:31 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:31 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:31 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:31 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:39:31 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:39:31 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:31 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:31 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:31 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:31 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:31 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:31 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:31 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:39:31 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:31 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:31 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:31 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:31 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:31 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:31 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:31 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:39:31 UTC] 📊 Database Info:
[16-Nov-2025 14:39:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:39:31 UTC]    Books columns count: 53
[16-Nov-2025 14:39:31 UTC]    Categories columns count: 7
[16-Nov-2025 14:39:31 UTC]    Language field in books: YES
[16-Nov-2025 14:39:31 UTC]    Format field in books: YES
[16-Nov-2025 14:39:31 UTC]    Description field in categories: YES
[16-Nov-2025 14:39:31 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:39:31 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:39:31 UTC]    Is_active field in books: YES
[16-Nov-2025 14:39:31 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:39:31 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:39:31 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:39:31 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:39:31 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:39:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:39:31 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:39:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:39:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:39:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:39:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:39:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:39:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:31 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:32 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:32 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:32 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:32 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:32 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:32 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:32 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:32 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:32 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:32 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:32 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:32 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:32 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:32 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:32 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:32 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:32 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:32 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:32 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:32 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:32 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:32 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:32 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:32 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:32 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:32 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:32 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:32 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:39:32 UTC] 📊 Database Info:
[16-Nov-2025 14:39:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:39:32 UTC]    Books columns count: 53
[16-Nov-2025 14:39:32 UTC]    Categories columns count: 7
[16-Nov-2025 14:39:32 UTC]    Language field in books: YES
[16-Nov-2025 14:39:32 UTC]    Format field in books: YES
[16-Nov-2025 14:39:32 UTC]    Description field in categories: YES
[16-Nov-2025 14:39:32 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:39:32 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:39:32 UTC]    Is_active field in books: YES
[16-Nov-2025 14:39:32 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:39:32 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:39:32 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:39:32 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:39:32 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:39:32 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:32 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:39:32 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:39:32 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:39:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:39:32 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:39:32 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:39:32 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:32 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:32 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:32 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:32 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:32 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:32 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:32 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:32 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:32 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:32 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:39:32 UTC] 📊 Database Info:
[16-Nov-2025 14:39:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:39:32 UTC]    Books columns count: 53
[16-Nov-2025 14:39:32 UTC]    Categories columns count: 7
[16-Nov-2025 14:39:32 UTC]    Language field in books: YES
[16-Nov-2025 14:39:32 UTC]    Format field in books: YES
[16-Nov-2025 14:39:32 UTC]    Description field in categories: YES
[16-Nov-2025 14:39:32 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:39:32 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:39:32 UTC]    Is_active field in books: YES
[16-Nov-2025 14:39:32 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:39:32 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:39:32 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:39:32 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:39:32 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:39:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:39:48 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:48 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:48 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:48 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:48 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:48 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:39:48 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:48 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:48 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:48 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:48 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:48 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:48 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:48 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:48 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:39:48 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:39:48 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:48 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:48 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:48 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:48 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:39:48 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:48 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:39:48 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:39:48 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:48 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:48 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:48 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:48 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:39:48 UTC] 📊 Database Info:
[16-Nov-2025 14:39:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:39:48 UTC]    Books columns count: 53
[16-Nov-2025 14:39:48 UTC]    Categories columns count: 7
[16-Nov-2025 14:39:48 UTC]    Language field in books: YES
[16-Nov-2025 14:39:48 UTC]    Format field in books: YES
[16-Nov-2025 14:39:48 UTC]    Description field in categories: YES
[16-Nov-2025 14:39:48 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:39:48 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:39:48 UTC]    Is_active field in books: YES
[16-Nov-2025 14:39:48 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:39:48 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:39:48 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:39:48 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:39:48 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:39:48 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:39:48 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:39:48 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:39:48 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:48 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:48 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:48 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:48 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:39:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:39:48 UTC] 📊 Database Info:
[16-Nov-2025 14:39:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:39:48 UTC]    Books columns count: 53
[16-Nov-2025 14:39:48 UTC]    Categories columns count: 7
[16-Nov-2025 14:39:48 UTC]    Language field in books: YES
[16-Nov-2025 14:39:48 UTC]    Format field in books: YES
[16-Nov-2025 14:39:48 UTC]    Description field in categories: YES
[16-Nov-2025 14:39:48 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:39:48 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:39:48 UTC]    Is_active field in books: YES
[16-Nov-2025 14:39:48 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:39:48 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:39:48 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:39:48 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:39:48 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:39:48 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:39:48 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:39:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:39:48 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:39:48 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:39:48 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:39:48 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:39:48 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:39:48 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:39:48 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:39:48 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:39:48 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:39:48 UTC] 📊 Database Info:
[16-Nov-2025 14:39:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:39:48 UTC]    Books columns count: 53
[16-Nov-2025 14:39:48 UTC]    Categories columns count: 7
[16-Nov-2025 14:39:48 UTC]    Language field in books: YES
[16-Nov-2025 14:39:48 UTC]    Format field in books: YES
[16-Nov-2025 14:39:48 UTC]    Description field in categories: YES
[16-Nov-2025 14:39:48 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:39:48 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:39:48 UTC]    Is_active field in books: YES
[16-Nov-2025 14:39:48 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:39:48 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:39:48 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:39:48 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:39:48 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:39:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:39:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:41:28 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:41:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:41:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:41:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:41:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:41:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:41:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:41:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:41:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:41:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:41:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:41:29 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:41:29 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:41:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:41:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:41:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:41:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:41:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:41:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:41:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:41:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:41:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:41:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:41:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:41:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:41:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:41:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:41:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:41:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:41:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:41:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:41:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:41:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:41:29 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:41:29 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:41:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:41:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:41:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:41:29 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:41:29 UTC] 📊 Database Info:
[16-Nov-2025 14:41:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:41:29 UTC]    Books columns count: 53
[16-Nov-2025 14:41:29 UTC]    Categories columns count: 7
[16-Nov-2025 14:41:29 UTC]    Language field in books: YES
[16-Nov-2025 14:41:29 UTC]    Format field in books: YES
[16-Nov-2025 14:41:29 UTC]    Description field in categories: YES
[16-Nov-2025 14:41:29 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:41:29 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:41:29 UTC]    Is_active field in books: YES
[16-Nov-2025 14:41:29 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:41:29 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:41:29 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:41:29 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:41:29 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:41:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:41:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:41:29 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:41:29 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:41:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:41:29 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:41:29 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:41:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:41:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:41:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:41:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:41:29 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:41:29 UTC] 📊 Database Info:
[16-Nov-2025 14:41:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:41:29 UTC]    Books columns count: 53
[16-Nov-2025 14:41:29 UTC]    Categories columns count: 7
[16-Nov-2025 14:41:29 UTC]    Language field in books: YES
[16-Nov-2025 14:41:29 UTC]    Format field in books: YES
[16-Nov-2025 14:41:29 UTC]    Description field in categories: YES
[16-Nov-2025 14:41:29 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:41:29 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:41:29 UTC]    Is_active field in books: YES
[16-Nov-2025 14:41:29 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:41:29 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:41:29 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:41:29 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:41:29 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:41:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:41:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:41:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:41:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:41:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:41:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:41:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:41:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:41:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:41:29 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:41:29 UTC] 📊 Database Info:
[16-Nov-2025 14:41:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:41:29 UTC]    Books columns count: 53
[16-Nov-2025 14:41:29 UTC]    Categories columns count: 7
[16-Nov-2025 14:41:29 UTC]    Language field in books: YES
[16-Nov-2025 14:41:29 UTC]    Format field in books: YES
[16-Nov-2025 14:41:29 UTC]    Description field in categories: YES
[16-Nov-2025 14:41:29 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:41:29 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:41:29 UTC]    Is_active field in books: YES
[16-Nov-2025 14:41:29 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:41:29 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:41:29 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:41:29 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:41:29 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:41:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:41:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:44:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:44:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:44:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:44:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:44:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:44:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:44:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:44:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:44:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:44:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:44:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:44:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:44:06 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:44:06 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:44:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:44:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:44:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:44:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:44:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:44:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:44:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:44:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:44:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:44:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:44:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:44:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:44:06 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:44:06 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:44:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:44:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:44:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:44:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:44:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:44:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:44:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:44:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:44:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:44:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:44:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:44:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:44:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:44:06 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:44:06 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:44:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:44:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:44:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:44:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:44:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:44:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:44:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:44:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:44:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:44:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:44:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:44:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:44:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:44:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:44:07 UTC] 📊 Database Info:
[16-Nov-2025 14:44:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:44:07 UTC]    Books columns count: 53
[16-Nov-2025 14:44:07 UTC]    Categories columns count: 7
[16-Nov-2025 14:44:07 UTC]    Language field in books: YES
[16-Nov-2025 14:44:07 UTC]    Format field in books: YES
[16-Nov-2025 14:44:07 UTC]    Description field in categories: YES
[16-Nov-2025 14:44:07 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:44:07 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:44:07 UTC]    Is_active field in books: YES
[16-Nov-2025 14:44:07 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:44:07 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:44:07 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:44:07 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:44:07 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:44:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:44:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:44:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:44:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:44:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:44:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:44:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:44:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:44:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:44:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:44:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:44:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:44:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:44:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:44:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:44:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:44:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:44:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:44:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:44:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:44:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:44:07 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:44:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:44:07 UTC] 📊 Database Info:
[16-Nov-2025 14:44:07 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:44:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:44:07 UTC]    Books columns count: 53
[16-Nov-2025 14:44:07 UTC]    Categories columns count: 7
[16-Nov-2025 14:44:07 UTC]    Language field in books: YES
[16-Nov-2025 14:44:07 UTC]    Format field in books: YES
[16-Nov-2025 14:44:07 UTC]    Description field in categories: YES
[16-Nov-2025 14:44:07 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:44:07 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:44:07 UTC]    Is_active field in books: YES
[16-Nov-2025 14:44:07 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:44:07 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:44:07 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:44:07 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:44:07 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:44:07 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:44:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:44:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:44:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:44:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:44:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:44:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:44:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:44:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:44:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:44:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:44:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:44:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:44:07 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:44:07 UTC] 📊 Database Info:
[16-Nov-2025 14:44:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:44:07 UTC]    Books columns count: 53
[16-Nov-2025 14:44:07 UTC]    Categories columns count: 7
[16-Nov-2025 14:44:07 UTC]    Language field in books: YES
[16-Nov-2025 14:44:07 UTC]    Format field in books: YES
[16-Nov-2025 14:44:07 UTC]    Description field in categories: YES
[16-Nov-2025 14:44:07 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:44:07 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:44:07 UTC]    Is_active field in books: YES
[16-Nov-2025 14:44:07 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:44:07 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:44:07 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:44:07 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:44:07 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:44:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:44:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:51:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:15 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:51:15 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:51:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:15 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:51:15 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:15 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:51:15 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:51:15 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:51:15 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:51:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:15 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:51:15 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:51:15 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:51:15 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:51:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:15 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:51:15 UTC] 📊 Database Info:
[16-Nov-2025 14:51:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:51:15 UTC]    Books columns count: 53
[16-Nov-2025 14:51:15 UTC]    Categories columns count: 7
[16-Nov-2025 14:51:15 UTC]    Language field in books: YES
[16-Nov-2025 14:51:15 UTC]    Format field in books: YES
[16-Nov-2025 14:51:15 UTC]    Description field in categories: YES
[16-Nov-2025 14:51:15 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:51:15 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:51:15 UTC]    Is_active field in books: YES
[16-Nov-2025 14:51:15 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:51:15 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:51:15 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:51:15 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:51:15 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:15 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:51:15 UTC] 📊 Database Info:
[16-Nov-2025 14:51:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:51:15 UTC]    Books columns count: 53
[16-Nov-2025 14:51:15 UTC]    Categories columns count: 7
[16-Nov-2025 14:51:15 UTC]    Language field in books: YES
[16-Nov-2025 14:51:15 UTC]    Format field in books: YES
[16-Nov-2025 14:51:15 UTC]    Description field in categories: YES
[16-Nov-2025 14:51:15 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:51:15 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:51:15 UTC]    Is_active field in books: YES
[16-Nov-2025 14:51:15 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:51:15 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:51:15 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:51:15 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:51:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:51:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:51:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:51:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:51:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:51:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:51:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:51:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:15 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:51:15 UTC] 📊 Database Info:
[16-Nov-2025 14:51:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:51:15 UTC]    Books columns count: 53
[16-Nov-2025 14:51:15 UTC]    Categories columns count: 7
[16-Nov-2025 14:51:15 UTC]    Language field in books: YES
[16-Nov-2025 14:51:15 UTC]    Format field in books: YES
[16-Nov-2025 14:51:15 UTC]    Description field in categories: YES
[16-Nov-2025 14:51:15 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:51:15 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:51:15 UTC]    Is_active field in books: YES
[16-Nov-2025 14:51:15 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:51:15 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:51:15 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:51:15 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:51:15 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:51:15 UTC] 📊 Database Info:
[16-Nov-2025 14:51:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:51:15 UTC]    Books columns count: 53
[16-Nov-2025 14:51:15 UTC]    Categories columns count: 7
[16-Nov-2025 14:51:15 UTC]    Language field in books: YES
[16-Nov-2025 14:51:15 UTC]    Format field in books: YES
[16-Nov-2025 14:51:15 UTC]    Description field in categories: YES
[16-Nov-2025 14:51:15 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:51:15 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:51:15 UTC]    Is_active field in books: YES
[16-Nov-2025 14:51:15 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:51:15 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:51:15 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:51:15 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:51:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:15 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:51:15 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:51:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:51:15 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:51:15 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:51:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:51:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:51:15 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:51:15 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:51:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:15 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:51:15 UTC] 📊 Database Info:
[16-Nov-2025 14:51:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:51:16 UTC]    Books columns count: 53
[16-Nov-2025 14:51:16 UTC]    Categories columns count: 7
[16-Nov-2025 14:51:16 UTC]    Language field in books: YES
[16-Nov-2025 14:51:16 UTC]    Format field in books: YES
[16-Nov-2025 14:51:16 UTC]    Description field in categories: YES
[16-Nov-2025 14:51:16 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:51:16 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:51:16 UTC]    Is_active field in books: YES
[16-Nov-2025 14:51:16 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:51:16 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:51:16 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:51:16 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:51:16 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:51:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:51:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:51:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:16 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:51:16 UTC] 📊 Database Info:
[16-Nov-2025 14:51:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:51:16 UTC]    Books columns count: 53
[16-Nov-2025 14:51:16 UTC]    Categories columns count: 7
[16-Nov-2025 14:51:16 UTC]    Language field in books: YES
[16-Nov-2025 14:51:16 UTC]    Format field in books: YES
[16-Nov-2025 14:51:16 UTC]    Description field in categories: YES
[16-Nov-2025 14:51:16 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:51:16 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:51:16 UTC]    Is_active field in books: YES
[16-Nov-2025 14:51:16 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:51:16 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:51:16 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:51:16 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:51:16 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:51:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:51:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:51:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:47 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:51:47 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:51:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:47 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:51:47 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:51:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:47 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:47 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:47 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:51:47 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:51:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:47 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:47 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:47 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:51:47 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:51:47 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:47 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:47 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:47 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:51:47 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:51:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:51:47 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:47 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:51:47 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:51:47 UTC] 📊 Database Info:
[16-Nov-2025 14:51:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:51:47 UTC]    Books columns count: 53
[16-Nov-2025 14:51:47 UTC]    Categories columns count: 7
[16-Nov-2025 14:51:47 UTC]    Language field in books: YES
[16-Nov-2025 14:51:47 UTC]    Format field in books: YES
[16-Nov-2025 14:51:47 UTC]    Description field in categories: YES
[16-Nov-2025 14:51:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:51:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:51:47 UTC]    Is_active field in books: YES
[16-Nov-2025 14:51:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:51:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:51:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:51:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:51:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:51:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:51:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:51:48 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:51:48 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:48 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:48 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:48 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:48 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:51:48 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:48 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:48 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:48 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:48 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:51:48 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:48 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:51:48 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:48 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:48 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:48 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:48 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:48 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:48 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:48 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:48 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:51:48 UTC] 📊 Database Info:
[16-Nov-2025 14:51:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:51:48 UTC]    Books columns count: 53
[16-Nov-2025 14:51:48 UTC]    Categories columns count: 7
[16-Nov-2025 14:51:48 UTC]    Language field in books: YES
[16-Nov-2025 14:51:48 UTC]    Format field in books: YES
[16-Nov-2025 14:51:48 UTC]    Description field in categories: YES
[16-Nov-2025 14:51:48 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:51:48 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:51:48 UTC]    Is_active field in books: YES
[16-Nov-2025 14:51:48 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:51:48 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:51:48 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:51:48 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:51:48 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:51:48 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:48 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:51:48 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:48 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:48 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:48 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:48 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:51:48 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:48 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:48 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:48 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:51:48 UTC] 📊 Database Info:
[16-Nov-2025 14:51:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:51:48 UTC]    Books columns count: 53
[16-Nov-2025 14:51:48 UTC]    Categories columns count: 7
[16-Nov-2025 14:51:48 UTC]    Language field in books: YES
[16-Nov-2025 14:51:48 UTC]    Format field in books: YES
[16-Nov-2025 14:51:48 UTC]    Description field in categories: YES
[16-Nov-2025 14:51:48 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:51:48 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:51:48 UTC]    Is_active field in books: YES
[16-Nov-2025 14:51:48 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:51:48 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:51:48 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:51:48 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:51:48 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:51:48 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:51:48 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:48 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:48 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:51:48 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:51:48 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:48 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:51:48 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:51:48 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:48 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:48 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:51:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:51:48 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:51:48 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:51:48 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:51:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:51:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:51:48 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:48 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:48 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:48 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:51:48 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:48 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:51:48 UTC] 📊 Database Info:
[16-Nov-2025 14:51:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:51:48 UTC]    Books columns count: 53
[16-Nov-2025 14:51:48 UTC]    Categories columns count: 7
[16-Nov-2025 14:51:48 UTC]    Language field in books: YES
[16-Nov-2025 14:51:48 UTC]    Format field in books: YES
[16-Nov-2025 14:51:48 UTC]    Description field in categories: YES
[16-Nov-2025 14:51:48 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:51:48 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:51:48 UTC]    Is_active field in books: YES
[16-Nov-2025 14:51:48 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:51:48 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:51:48 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:51:48 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:51:48 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:51:48 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:51:48 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:51:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:51:48 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:48 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:48 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:48 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:51:48 UTC] 📊 Database Info:
[16-Nov-2025 14:51:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:51:48 UTC]    Books columns count: 53
[16-Nov-2025 14:51:48 UTC]    Categories columns count: 7
[16-Nov-2025 14:51:48 UTC]    Language field in books: YES
[16-Nov-2025 14:51:48 UTC]    Format field in books: YES
[16-Nov-2025 14:51:48 UTC]    Description field in categories: YES
[16-Nov-2025 14:51:48 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:51:48 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:51:48 UTC]    Is_active field in books: YES
[16-Nov-2025 14:51:48 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:51:48 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:51:48 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:51:48 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:51:48 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:51:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:51:48 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:51:48 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:51:48 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:51:48 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:51:48 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:51:48 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:51:48 UTC] 📊 Database Info:
[16-Nov-2025 14:51:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:51:48 UTC]    Books columns count: 53
[16-Nov-2025 14:51:48 UTC]    Categories columns count: 7
[16-Nov-2025 14:51:48 UTC]    Language field in books: YES
[16-Nov-2025 14:51:48 UTC]    Format field in books: YES
[16-Nov-2025 14:51:48 UTC]    Description field in categories: YES
[16-Nov-2025 14:51:48 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:51:48 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:51:48 UTC]    Is_active field in books: YES
[16-Nov-2025 14:51:48 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:51:48 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:51:48 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:51:48 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:51:48 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:51:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:51:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:52:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:52:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:52:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:52:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:52:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:52:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:52:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:52:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:52:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:52:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:52:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:52:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:52:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:52:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:52:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:52:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:52:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:52:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:52:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:52:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:52:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:52:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:52:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:52:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:52:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:52:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:52:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:52:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:52:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:52:13 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:52:13 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:52:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:52:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:52:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:52:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:52:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:52:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:52:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:52:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:52:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:52:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:52:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:52:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:52:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:52:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:52:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:52:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:52:13 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:52:13 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:52:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:52:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:52:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:52:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:52:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:52:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:52:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:52:14 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:52:14 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:52:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:52:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:52:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:52:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:52:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:52:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:52:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:52:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:52:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:52:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:52:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:52:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:52:14 UTC] 📊 Database Info:
[16-Nov-2025 14:52:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:52:14 UTC]    Books columns count: 53
[16-Nov-2025 14:52:14 UTC]    Categories columns count: 7
[16-Nov-2025 14:52:14 UTC]    Language field in books: YES
[16-Nov-2025 14:52:14 UTC]    Format field in books: YES
[16-Nov-2025 14:52:14 UTC]    Description field in categories: YES
[16-Nov-2025 14:52:14 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:52:14 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:52:14 UTC]    Is_active field in books: YES
[16-Nov-2025 14:52:14 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:52:14 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:52:14 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:52:14 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:52:14 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:52:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:52:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:52:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:52:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:52:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:52:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:52:14 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:52:14 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:52:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:52:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:52:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:52:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:52:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:52:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:52:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:52:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:52:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:52:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:52:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:52:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:52:14 UTC] 📊 Database Info:
[16-Nov-2025 14:52:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:52:14 UTC]    Books columns count: 53
[16-Nov-2025 14:52:14 UTC]    Categories columns count: 7
[16-Nov-2025 14:52:14 UTC]    Language field in books: YES
[16-Nov-2025 14:52:14 UTC]    Format field in books: YES
[16-Nov-2025 14:52:14 UTC]    Description field in categories: YES
[16-Nov-2025 14:52:14 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:52:14 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:52:14 UTC]    Is_active field in books: YES
[16-Nov-2025 14:52:14 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:52:14 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:52:14 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:52:14 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:52:14 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:52:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:52:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:52:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:52:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:52:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:52:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:52:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:52:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:52:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:52:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:52:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:52:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:52:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:52:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:52:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:52:14 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:52:14 UTC] 📊 Database Info:
[16-Nov-2025 14:52:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:52:14 UTC]    Books columns count: 53
[16-Nov-2025 14:52:14 UTC]    Categories columns count: 7
[16-Nov-2025 14:52:14 UTC]    Language field in books: YES
[16-Nov-2025 14:52:14 UTC]    Format field in books: YES
[16-Nov-2025 14:52:14 UTC]    Description field in categories: YES
[16-Nov-2025 14:52:14 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:52:14 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:52:14 UTC]    Is_active field in books: YES
[16-Nov-2025 14:52:14 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:52:14 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:52:14 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:52:14 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:52:14 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:52:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:52:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:54:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:54:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:54:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:54:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:54:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:54:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:54:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:54:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:54:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:54:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:54:34 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:54:34 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:54:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:54:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:54:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:54:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:54:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:54:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:54:34 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:54:34 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:54:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:54:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:54:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:54:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:54:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:54:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:54:34 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:54:34 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:54:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:54:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:54:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:54:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:54:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:54:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:54:34 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:54:34 UTC] 📊 Database Info:
[16-Nov-2025 14:54:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:54:34 UTC]    Books columns count: 53
[16-Nov-2025 14:54:34 UTC]    Categories columns count: 7
[16-Nov-2025 14:54:34 UTC]    Language field in books: YES
[16-Nov-2025 14:54:34 UTC]    Format field in books: YES
[16-Nov-2025 14:54:34 UTC]    Description field in categories: YES
[16-Nov-2025 14:54:34 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:54:34 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:54:34 UTC]    Is_active field in books: YES
[16-Nov-2025 14:54:34 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:54:34 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:54:34 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:54:34 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:54:34 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:54:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:54:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:54:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:54:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:54:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:54:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:54:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:54:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:54:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:54:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:54:34 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:54:34 UTC] 📊 Database Info:
[16-Nov-2025 14:54:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:54:34 UTC]    Books columns count: 53
[16-Nov-2025 14:54:34 UTC]    Categories columns count: 7
[16-Nov-2025 14:54:34 UTC]    Language field in books: YES
[16-Nov-2025 14:54:34 UTC]    Format field in books: YES
[16-Nov-2025 14:54:34 UTC]    Description field in categories: YES
[16-Nov-2025 14:54:34 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:54:34 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:54:34 UTC]    Is_active field in books: YES
[16-Nov-2025 14:54:34 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:54:34 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:54:34 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:54:34 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:54:34 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:54:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:54:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:54:34 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:54:34 UTC] 📊 Database Info:
[16-Nov-2025 14:54:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:54:34 UTC]    Books columns count: 53
[16-Nov-2025 14:54:34 UTC]    Categories columns count: 7
[16-Nov-2025 14:54:34 UTC]    Language field in books: YES
[16-Nov-2025 14:54:34 UTC]    Format field in books: YES
[16-Nov-2025 14:54:34 UTC]    Description field in categories: YES
[16-Nov-2025 14:54:34 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:54:34 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:54:34 UTC]    Is_active field in books: YES
[16-Nov-2025 14:54:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:54:34 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:54:34 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:54:34 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:54:34 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:54:34 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:54:34 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:54:34 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:54:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:54:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:57:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:57:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:57:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:57:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:57:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:57:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:57:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:57:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:57:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:57:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:57:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:57:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:57:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:57:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:57:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:57:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:57:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:57:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:57:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:57:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:57:20 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:57:20 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:57:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:57:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:57:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:57:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:57:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:57:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:57:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:57:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:57:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:57:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:57:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:57:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:57:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:57:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:57:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:57:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:57:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:57:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:57:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:57:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:57:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:57:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:57:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:57:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:57:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:57:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:57:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:57:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:57:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:57:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:57:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:57:20 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:57:20 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:57:20 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:57:20 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:57:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:57:21 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:57:21 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:57:21 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:57:21 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:57:21 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:57:21 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:57:21 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:57:21 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:57:21 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:57:21 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:57:21 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:57:21 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:57:21 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:57:21 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:57:21 UTC] 📊 Database Info:
[16-Nov-2025 14:57:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:57:21 UTC]    Books columns count: 53
[16-Nov-2025 14:57:21 UTC]    Categories columns count: 7
[16-Nov-2025 14:57:21 UTC]    Language field in books: YES
[16-Nov-2025 14:57:21 UTC]    Format field in books: YES
[16-Nov-2025 14:57:21 UTC]    Description field in categories: YES
[16-Nov-2025 14:57:21 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:57:21 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:57:21 UTC]    Is_active field in books: YES
[16-Nov-2025 14:57:21 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:57:21 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:57:21 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:57:21 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:57:21 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:57:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:57:21 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:57:21 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:57:21 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:57:21 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:57:21 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:57:21 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:57:21 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:57:21 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:57:21 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:57:21 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:57:21 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:57:21 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:57:21 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:57:21 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:57:21 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:57:21 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:57:21 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:57:21 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:57:21 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:57:21 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:57:21 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:57:21 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:57:21 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:57:21 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:57:21 UTC] 📊 Database Info:
[16-Nov-2025 14:57:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:57:21 UTC]    Books columns count: 53
[16-Nov-2025 14:57:21 UTC]    Categories columns count: 7
[16-Nov-2025 14:57:21 UTC]    Language field in books: YES
[16-Nov-2025 14:57:21 UTC]    Format field in books: YES
[16-Nov-2025 14:57:21 UTC]    Description field in categories: YES
[16-Nov-2025 14:57:21 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:57:21 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:57:21 UTC]    Is_active field in books: YES
[16-Nov-2025 14:57:21 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:57:21 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:57:21 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:57:21 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:57:21 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:57:21 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:57:21 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:57:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:57:21 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:57:21 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:57:21 UTC] 📊 Database Info:
[16-Nov-2025 14:57:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:57:21 UTC]    Books columns count: 53
[16-Nov-2025 14:57:21 UTC]    Categories columns count: 7
[16-Nov-2025 14:57:21 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:57:21 UTC]    Language field in books: YES
[16-Nov-2025 14:57:21 UTC]    Format field in books: YES
[16-Nov-2025 14:57:21 UTC]    Description field in categories: YES
[16-Nov-2025 14:57:21 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:57:21 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:57:21 UTC]    Is_active field in books: YES
[16-Nov-2025 14:57:21 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:57:21 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:57:21 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:57:21 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:57:21 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:57:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:57:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:58:41 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:58:41 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:58:41 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:58:41 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:58:41 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:58:41 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:58:41 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:58:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:41 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:58:41 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:58:41 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:58:41 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:58:41 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:58:41 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:58:41 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:58:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:41 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:58:41 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:58:41 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:58:41 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:58:41 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:58:41 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:58:41 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:58:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:41 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:58:41 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:58:41 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:58:41 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:58:41 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:58:41 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:58:41 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:58:41 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:58:41 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:58:41 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:58:41 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:58:41 UTC] 📊 Database Info:
[16-Nov-2025 14:58:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:58:41 UTC]    Books columns count: 53
[16-Nov-2025 14:58:41 UTC]    Categories columns count: 7
[16-Nov-2025 14:58:41 UTC]    Language field in books: YES
[16-Nov-2025 14:58:41 UTC]    Format field in books: YES
[16-Nov-2025 14:58:41 UTC]    Description field in categories: YES
[16-Nov-2025 14:58:41 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:58:41 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:58:41 UTC]    Is_active field in books: YES
[16-Nov-2025 14:58:41 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:58:41 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:58:41 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:58:41 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:58:41 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:58:41 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:58:41 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:58:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:58:41 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:58:41 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:58:41 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:58:41 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:58:41 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:58:41 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:58:41 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:58:41 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:58:41 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:58:41 UTC] 📊 Database Info:
[16-Nov-2025 14:58:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:58:41 UTC]    Books columns count: 53
[16-Nov-2025 14:58:41 UTC]    Categories columns count: 7
[16-Nov-2025 14:58:41 UTC]    Language field in books: YES
[16-Nov-2025 14:58:41 UTC]    Format field in books: YES
[16-Nov-2025 14:58:41 UTC]    Description field in categories: YES
[16-Nov-2025 14:58:41 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:58:41 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:58:41 UTC]    Is_active field in books: YES
[16-Nov-2025 14:58:41 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:58:41 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:58:41 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:58:41 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:58:41 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:58:41 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:58:41 UTC] 📊 Database Info:
[16-Nov-2025 14:58:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:58:41 UTC]    Books columns count: 53
[16-Nov-2025 14:58:41 UTC]    Categories columns count: 7
[16-Nov-2025 14:58:41 UTC]    Language field in books: YES
[16-Nov-2025 14:58:41 UTC]    Format field in books: YES
[16-Nov-2025 14:58:41 UTC]    Description field in categories: YES
[16-Nov-2025 14:58:41 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:58:41 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:58:41 UTC]    Is_active field in books: YES
[16-Nov-2025 14:58:41 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:58:41 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:58:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:58:41 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:58:41 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:58:41 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:58:41 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:58:41 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:58:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:58:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:58:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:58:43 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:58:43 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:58:43 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:58:43 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:58:43 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:58:43 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:58:43 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:58:43 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:58:43 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:58:43 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:58:43 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:58:43 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:58:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:43 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:58:43 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:58:43 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:58:43 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:58:43 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:58:43 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:58:43 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:58:43 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:58:43 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:58:43 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:58:43 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:58:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:58:43 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:58:43 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:58:43 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:58:43 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:58:43 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:58:43 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:58:43 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:58:43 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:58:43 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:58:43 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:58:43 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:58:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:58:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:58:43 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:58:43 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:58:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:58:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:58:44 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:58:44 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:58:44 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:58:44 UTC] 📊 Database Info:
[16-Nov-2025 14:58:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:58:44 UTC]    Books columns count: 53
[16-Nov-2025 14:58:44 UTC]    Categories columns count: 7
[16-Nov-2025 14:58:44 UTC]    Language field in books: YES
[16-Nov-2025 14:58:44 UTC]    Format field in books: YES
[16-Nov-2025 14:58:44 UTC]    Description field in categories: YES
[16-Nov-2025 14:58:44 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:58:44 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:58:44 UTC]    Is_active field in books: YES
[16-Nov-2025 14:58:44 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:58:44 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:58:44 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:58:44 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:58:44 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:58:44 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:58:44 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:58:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:58:44 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:58:44 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:58:44 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:58:44 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:58:44 UTC] 📊 Database Info:
[16-Nov-2025 14:58:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:58:44 UTC]    Books columns count: 53
[16-Nov-2025 14:58:44 UTC]    Categories columns count: 7
[16-Nov-2025 14:58:44 UTC]    Language field in books: YES
[16-Nov-2025 14:58:44 UTC]    Format field in books: YES
[16-Nov-2025 14:58:44 UTC]    Description field in categories: YES
[16-Nov-2025 14:58:44 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:58:44 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:58:44 UTC]    Is_active field in books: YES
[16-Nov-2025 14:58:44 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:58:44 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:58:44 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:58:44 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:58:44 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:58:44 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:58:44 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:58:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:58:44 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:58:44 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:58:44 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:58:44 UTC] 📊 Database Info:
[16-Nov-2025 14:58:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:58:44 UTC]    Books columns count: 53
[16-Nov-2025 14:58:44 UTC]    Categories columns count: 7
[16-Nov-2025 14:58:44 UTC]    Language field in books: YES
[16-Nov-2025 14:58:44 UTC]    Format field in books: YES
[16-Nov-2025 14:58:44 UTC]    Description field in categories: YES
[16-Nov-2025 14:58:44 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:58:44 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:58:44 UTC]    Is_active field in books: YES
[16-Nov-2025 14:58:44 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:58:44 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:58:44 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:58:44 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:58:44 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:58:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:58:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:58:44 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:58:44 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:58:44 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:58:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:58:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:58:44 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:58:44 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:58:44 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:58:44 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:58:44 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:58:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:58:44 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:58:44 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:58:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:58:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:58:44 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:58:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:58:44 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:58:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 14:58:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:58:44 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 14:58:44 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:58:44 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:58:44 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:58:44 UTC] 📊 Database Info:
[16-Nov-2025 14:58:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:58:44 UTC]    Books columns count: 53
[16-Nov-2025 14:58:44 UTC]    Categories columns count: 7
[16-Nov-2025 14:58:44 UTC]    Language field in books: YES
[16-Nov-2025 14:58:44 UTC]    Format field in books: YES
[16-Nov-2025 14:58:44 UTC]    Description field in categories: YES
[16-Nov-2025 14:58:44 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:58:44 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:58:44 UTC]    Is_active field in books: YES
[16-Nov-2025 14:58:44 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:58:44 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:58:44 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:58:44 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:58:44 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:58:44 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:58:44 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:58:44 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:58:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:58:44 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:58:44 UTC] ℹ️ Column format already exists
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:58:44 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:58:44 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:58:44 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:58:44 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:58:44 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:58:44 UTC] 📊 Database Info:
[16-Nov-2025 14:58:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:58:44 UTC]    Books columns count: 53
[16-Nov-2025 14:58:44 UTC]    Categories columns count: 7
[16-Nov-2025 14:58:44 UTC]    Language field in books: YES
[16-Nov-2025 14:58:44 UTC]    Format field in books: YES
[16-Nov-2025 14:58:44 UTC]    Description field in categories: YES
[16-Nov-2025 14:58:44 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:58:44 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:58:44 UTC]    Is_active field in books: YES
[16-Nov-2025 14:58:44 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:58:44 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:58:44 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:58:44 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:58:44 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:58:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:58:44 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:58:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:58:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:58:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 14:58:45 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 14:58:45 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 14:58:45 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 14:58:45 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 14:58:45 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 14:58:45 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 14:58:45 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 14:58:45 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 14:58:45 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 14:58:45 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 14:58:45 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 14:58:45 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 14:58:45 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 14:58:45 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 14:58:45 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 14:58:45 UTC] 📊 Database Info:
[16-Nov-2025 14:58:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 14:58:45 UTC]    Books columns count: 53
[16-Nov-2025 14:58:45 UTC]    Categories columns count: 7
[16-Nov-2025 14:58:45 UTC]    Language field in books: YES
[16-Nov-2025 14:58:45 UTC]    Format field in books: YES
[16-Nov-2025 14:58:45 UTC]    Description field in categories: YES
[16-Nov-2025 14:58:45 UTC]    Display_order field in categories: YES
[16-Nov-2025 14:58:45 UTC]    Is_active field in categories: YES
[16-Nov-2025 14:58:45 UTC]    Is_active field in books: YES
[16-Nov-2025 14:58:45 UTC]    External_download_link field in books: YES
[16-Nov-2025 14:58:45 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 14:58:45 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 14:58:45 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 14:58:45 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 14:58:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 14:58:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 14:58:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 14:58:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 14:58:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 14:58:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 14:58:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 14:58:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 14:58:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 14:58:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 14:58:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 14:58:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 14:58:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:09:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:09:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:09:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:09:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:09:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:09:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:09:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:09:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:09:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:09:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:09:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:09:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:09:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:09:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:09:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:09:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:09:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:09:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:09:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:09:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:09:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:09:29 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:09:29 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:09:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:09:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:09:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:09:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:09:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:09:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:09:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:09:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:09:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:09:29 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:09:29 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:09:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:09:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:09:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:09:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:09:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:09:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:09:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:09:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:09:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:09:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:09:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:09:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:09:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:09:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:09:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:09:29 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:09:29 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:09:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:09:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:09:30 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:09:30 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:09:30 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:09:30 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:09:30 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:09:30 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:09:30 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:09:30 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:09:30 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:09:30 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:09:30 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:09:30 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:09:30 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:09:30 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:09:30 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:09:30 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:09:30 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:09:30 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:09:30 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:09:30 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:09:30 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:09:30 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:09:30 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:09:30 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:09:30 UTC] 📊 Database Info:
[16-Nov-2025 15:09:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:09:30 UTC]    Books columns count: 53
[16-Nov-2025 15:09:30 UTC]    Categories columns count: 7
[16-Nov-2025 15:09:30 UTC]    Language field in books: YES
[16-Nov-2025 15:09:30 UTC]    Format field in books: YES
[16-Nov-2025 15:09:30 UTC]    Description field in categories: YES
[16-Nov-2025 15:09:30 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:09:30 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:09:30 UTC]    Is_active field in books: YES
[16-Nov-2025 15:09:30 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:09:30 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:09:30 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:09:30 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:09:30 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:09:30 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:09:30 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:09:30 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:09:30 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:09:30 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:09:30 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:09:30 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:09:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:09:30 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:09:30 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:09:30 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:09:30 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:09:30 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:09:30 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:09:30 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:09:30 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:09:30 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:09:30 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:09:30 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:09:30 UTC] 📊 Database Info:
[16-Nov-2025 15:09:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:09:30 UTC]    Books columns count: 53
[16-Nov-2025 15:09:30 UTC]    Categories columns count: 7
[16-Nov-2025 15:09:30 UTC]    Language field in books: YES
[16-Nov-2025 15:09:30 UTC]    Format field in books: YES
[16-Nov-2025 15:09:30 UTC]    Description field in categories: YES
[16-Nov-2025 15:09:30 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:09:30 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:09:30 UTC]    Is_active field in books: YES
[16-Nov-2025 15:09:30 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:09:30 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:09:30 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:09:30 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:09:30 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:09:30 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:09:30 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:09:30 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:09:30 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:09:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:09:30 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:09:30 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:09:30 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:09:30 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:09:30 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:09:30 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:09:30 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:09:30 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:09:30 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:09:30 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:09:30 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:09:30 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:09:30 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:09:30 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:09:30 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:09:30 UTC] 📊 Database Info:
[16-Nov-2025 15:09:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:09:30 UTC]    Books columns count: 53
[16-Nov-2025 15:09:30 UTC]    Categories columns count: 7
[16-Nov-2025 15:09:30 UTC]    Language field in books: YES
[16-Nov-2025 15:09:30 UTC]    Format field in books: YES
[16-Nov-2025 15:09:30 UTC]    Description field in categories: YES
[16-Nov-2025 15:09:30 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:09:30 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:09:30 UTC]    Is_active field in books: YES
[16-Nov-2025 15:09:30 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:09:30 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:09:30 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:09:30 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:09:30 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:09:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:09:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:14:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:46 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:14:46 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:14:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:46 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:14:46 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:46 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:14:46 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:14:46 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:14:46 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:14:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:46 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:14:46 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:46 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:14:46 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:14:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:47 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:14:47 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:14:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:47 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:14:47 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:47 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:14:47 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:14:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:14:47 UTC] 📊 Database Info:
[16-Nov-2025 15:14:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:14:47 UTC]    Books columns count: 53
[16-Nov-2025 15:14:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:14:47 UTC]    Language field in books: YES
[16-Nov-2025 15:14:47 UTC]    Format field in books: YES
[16-Nov-2025 15:14:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:14:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:14:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:14:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:14:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:14:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:47 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:47 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:14:47 UTC] 📊 Database Info:
[16-Nov-2025 15:14:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:14:47 UTC]    Books columns count: 53
[16-Nov-2025 15:14:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:14:47 UTC]    Language field in books: YES
[16-Nov-2025 15:14:47 UTC]    Format field in books: YES
[16-Nov-2025 15:14:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:14:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:14:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:14:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:14:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:14:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:47 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:14:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:47 UTC] 📊 Database Info:
[16-Nov-2025 15:14:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:14:47 UTC]    Books columns count: 53
[16-Nov-2025 15:14:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:14:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:47 UTC]    Language field in books: YES
[16-Nov-2025 15:14:47 UTC]    Format field in books: YES
[16-Nov-2025 15:14:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:14:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:14:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:14:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:14:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:14:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:14:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:47 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:47 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:14:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:14:47 UTC] 📊 Database Info:
[16-Nov-2025 15:14:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:14:47 UTC]    Books columns count: 53
[16-Nov-2025 15:14:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:14:47 UTC]    Language field in books: YES
[16-Nov-2025 15:14:47 UTC]    Format field in books: YES
[16-Nov-2025 15:14:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:14:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:14:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:14:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:14:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:14:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:47 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:47 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:14:47 UTC] 📊 Database Info:
[16-Nov-2025 15:14:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:14:47 UTC]    Books columns count: 53
[16-Nov-2025 15:14:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:14:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:47 UTC]    Language field in books: YES
[16-Nov-2025 15:14:47 UTC]    Format field in books: YES
[16-Nov-2025 15:14:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:14:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:14:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:14:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:14:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:47 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:47 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:47 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:14:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:14:47 UTC] 📊 Database Info:
[16-Nov-2025 15:14:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:14:47 UTC]    Books columns count: 53
[16-Nov-2025 15:14:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:14:47 UTC]    Language field in books: YES
[16-Nov-2025 15:14:47 UTC]    Format field in books: YES
[16-Nov-2025 15:14:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:14:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:14:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:14:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:14:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:14:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:14:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:14:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:14:47 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:14:47 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:14:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:14:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:14:47 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:14:47 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:14:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:14:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:14:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:14:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:14:47 UTC] 📊 Database Info:
[16-Nov-2025 15:14:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:14:47 UTC]    Books columns count: 53
[16-Nov-2025 15:14:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:14:47 UTC]    Language field in books: YES
[16-Nov-2025 15:14:47 UTC]    Format field in books: YES
[16-Nov-2025 15:14:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:14:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:14:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:14:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:14:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:14:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:14:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:14:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:14:47 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:14:47 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:14:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:14:47 UTC] 📊 Database Info:
[16-Nov-2025 15:14:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:14:47 UTC]    Books columns count: 53
[16-Nov-2025 15:14:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:14:47 UTC]    Language field in books: YES
[16-Nov-2025 15:14:47 UTC]    Format field in books: YES
[16-Nov-2025 15:14:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:14:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:14:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:14:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:14:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:14:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:14:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:14:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:14:47 UTC] 📊 Database Info:
[16-Nov-2025 15:14:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:14:47 UTC]    Books columns count: 53
[16-Nov-2025 15:14:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:14:47 UTC]    Language field in books: YES
[16-Nov-2025 15:14:47 UTC]    Format field in books: YES
[16-Nov-2025 15:14:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:14:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:14:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:14:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:14:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:14:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:14:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:14:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:14:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:14:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:57 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:14:57 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:57 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:14:57 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:14:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:57 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:14:57 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:14:57 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:57 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:14:57 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:14:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:57 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:14:57 UTC] 📊 Database Info:
[16-Nov-2025 15:14:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:14:57 UTC]    Books columns count: 53
[16-Nov-2025 15:14:57 UTC]    Categories columns count: 7
[16-Nov-2025 15:14:57 UTC]    Language field in books: YES
[16-Nov-2025 15:14:57 UTC]    Format field in books: YES
[16-Nov-2025 15:14:57 UTC]    Description field in categories: YES
[16-Nov-2025 15:14:57 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:14:57 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:14:57 UTC]    Is_active field in books: YES
[16-Nov-2025 15:14:57 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:14:57 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:14:57 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:14:57 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:14:57 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:14:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:57 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:14:57 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:57 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:14:57 UTC] 📊 Database Info:
[16-Nov-2025 15:14:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:14:57 UTC]    Books columns count: 53
[16-Nov-2025 15:14:57 UTC]    Categories columns count: 7
[16-Nov-2025 15:14:57 UTC]    Language field in books: YES
[16-Nov-2025 15:14:57 UTC]    Format field in books: YES
[16-Nov-2025 15:14:57 UTC]    Description field in categories: YES
[16-Nov-2025 15:14:57 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:14:57 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:14:57 UTC]    Is_active field in books: YES
[16-Nov-2025 15:14:57 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:14:57 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:14:57 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:14:57 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:14:57 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:14:57 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:14:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:14:57 UTC] 📊 Database Info:
[16-Nov-2025 15:14:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:14:57 UTC]    Books columns count: 53
[16-Nov-2025 15:14:57 UTC]    Categories columns count: 7
[16-Nov-2025 15:14:57 UTC]    Language field in books: YES
[16-Nov-2025 15:14:57 UTC]    Format field in books: YES
[16-Nov-2025 15:14:57 UTC]    Description field in categories: YES
[16-Nov-2025 15:14:57 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:14:57 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:14:57 UTC]    Is_active field in books: YES
[16-Nov-2025 15:14:57 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:14:57 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:14:57 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:14:57 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:57 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:14:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:14:57 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:14:57 UTC] 📊 Database Info:
[16-Nov-2025 15:14:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:14:57 UTC]    Books columns count: 53
[16-Nov-2025 15:14:57 UTC]    Categories columns count: 7
[16-Nov-2025 15:14:57 UTC]    Language field in books: YES
[16-Nov-2025 15:14:57 UTC]    Format field in books: YES
[16-Nov-2025 15:14:57 UTC]    Description field in categories: YES
[16-Nov-2025 15:14:57 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:14:57 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:14:57 UTC]    Is_active field in books: YES
[16-Nov-2025 15:14:57 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:14:57 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:14:57 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:14:57 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:14:57 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:14:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:14:57 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:14:57 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:14:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:14:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:14:57 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:14:57 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:14:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:57 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:14:57 UTC] 📊 Database Info:
[16-Nov-2025 15:14:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:14:57 UTC]    Books columns count: 53
[16-Nov-2025 15:14:57 UTC]    Categories columns count: 7
[16-Nov-2025 15:14:57 UTC]    Language field in books: YES
[16-Nov-2025 15:14:57 UTC]    Format field in books: YES
[16-Nov-2025 15:14:57 UTC]    Description field in categories: YES
[16-Nov-2025 15:14:57 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:14:57 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:14:57 UTC]    Is_active field in books: YES
[16-Nov-2025 15:14:57 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:14:57 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:14:57 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:14:57 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:14:57 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:14:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:14:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:14:57 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:14:57 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:14:57 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:14:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:14:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:14:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:14:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:14:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:14:57 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:14:57 UTC] 📊 Database Info:
[16-Nov-2025 15:14:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:14:57 UTC]    Books columns count: 53
[16-Nov-2025 15:14:57 UTC]    Categories columns count: 7
[16-Nov-2025 15:14:57 UTC]    Language field in books: YES
[16-Nov-2025 15:14:57 UTC]    Format field in books: YES
[16-Nov-2025 15:14:57 UTC]    Description field in categories: YES
[16-Nov-2025 15:14:57 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:14:57 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:14:57 UTC]    Is_active field in books: YES
[16-Nov-2025 15:14:57 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:14:57 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:14:57 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:14:57 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:14:57 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:14:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:14:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:15:05 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:05 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:06 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:15:06 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:15:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:06 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:15:06 UTC] 📊 Database Info:
[16-Nov-2025 15:15:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:15:06 UTC]    Books columns count: 53
[16-Nov-2025 15:15:06 UTC]    Categories columns count: 7
[16-Nov-2025 15:15:06 UTC]    Language field in books: YES
[16-Nov-2025 15:15:06 UTC]    Format field in books: YES
[16-Nov-2025 15:15:06 UTC]    Description field in categories: YES
[16-Nov-2025 15:15:06 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:15:06 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:15:06 UTC]    Is_active field in books: YES
[16-Nov-2025 15:15:06 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:15:06 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:15:06 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:15:06 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:15:06 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:15:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:15:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:15:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:15:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:15:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:15:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:15:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:15:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:15:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:15:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:15:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:15:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:15:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:15:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:15 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:15:15 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:15 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:15:15 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:15:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:15 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:15:15 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:15:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:15 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:15:15 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:16 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:16 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:15:16 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:15:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:16 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:15:16 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:15:16 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:16 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:16 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:16 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:16 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:16 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:15:16 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:15:16 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:16 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:15:16 UTC] 📊 Database Info:
[16-Nov-2025 15:15:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:15:16 UTC]    Books columns count: 53
[16-Nov-2025 15:15:16 UTC]    Categories columns count: 7
[16-Nov-2025 15:15:16 UTC]    Language field in books: YES
[16-Nov-2025 15:15:16 UTC]    Format field in books: YES
[16-Nov-2025 15:15:16 UTC]    Description field in categories: YES
[16-Nov-2025 15:15:16 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:15:16 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:15:16 UTC]    Is_active field in books: YES
[16-Nov-2025 15:15:16 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:15:16 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:15:16 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:15:16 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:15:16 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:15:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:15:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:16 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:15:16 UTC] 📊 Database Info:
[16-Nov-2025 15:15:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:15:16 UTC]    Books columns count: 53
[16-Nov-2025 15:15:16 UTC]    Categories columns count: 7
[16-Nov-2025 15:15:16 UTC]    Language field in books: YES
[16-Nov-2025 15:15:16 UTC]    Format field in books: YES
[16-Nov-2025 15:15:16 UTC]    Description field in categories: YES
[16-Nov-2025 15:15:16 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:15:16 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:15:16 UTC]    Is_active field in books: YES
[16-Nov-2025 15:15:16 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:15:16 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:15:16 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:15:16 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:15:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:15:16 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:15:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:15:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:15:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:16 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:15:16 UTC] 📊 Database Info:
[16-Nov-2025 15:15:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:15:16 UTC]    Books columns count: 53
[16-Nov-2025 15:15:16 UTC]    Categories columns count: 7
[16-Nov-2025 15:15:16 UTC]    Language field in books: YES
[16-Nov-2025 15:15:16 UTC]    Format field in books: YES
[16-Nov-2025 15:15:16 UTC]    Description field in categories: YES
[16-Nov-2025 15:15:16 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:15:16 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:15:16 UTC]    Is_active field in books: YES
[16-Nov-2025 15:15:16 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:15:16 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:15:16 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:15:16 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:15:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:15:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:15:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:15:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:15:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:15:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:15:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:15:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:15:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:15:16 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:15:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:15:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:15:16 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:15:16 UTC] 📊 Database Info:
[16-Nov-2025 15:15:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:15:16 UTC]    Books columns count: 53
[16-Nov-2025 15:15:16 UTC]    Categories columns count: 7
[16-Nov-2025 15:15:16 UTC]    Language field in books: YES
[16-Nov-2025 15:15:16 UTC]    Format field in books: YES
[16-Nov-2025 15:15:16 UTC]    Description field in categories: YES
[16-Nov-2025 15:15:16 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:15:16 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:15:16 UTC]    Is_active field in books: YES
[16-Nov-2025 15:15:16 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:15:16 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:15:16 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:15:16 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:15:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:16 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:15:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:15:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:16 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:15:16 UTC] 📊 Database Info:
[16-Nov-2025 15:15:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:15:16 UTC]    Books columns count: 53
[16-Nov-2025 15:15:16 UTC]    Categories columns count: 7
[16-Nov-2025 15:15:16 UTC]    Language field in books: YES
[16-Nov-2025 15:15:16 UTC]    Format field in books: YES
[16-Nov-2025 15:15:16 UTC]    Description field in categories: YES
[16-Nov-2025 15:15:16 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:15:16 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:15:16 UTC]    Is_active field in books: YES
[16-Nov-2025 15:15:16 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:15:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:16 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:15:16 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:15:16 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:15:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:16 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:15:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:15:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:15:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:15:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:15:16 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:15:16 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:15:16 UTC] 📊 Database Info:
[16-Nov-2025 15:15:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:15:16 UTC]    Books columns count: 53
[16-Nov-2025 15:15:16 UTC]    Categories columns count: 7
[16-Nov-2025 15:15:16 UTC]    Language field in books: YES
[16-Nov-2025 15:15:16 UTC]    Format field in books: YES
[16-Nov-2025 15:15:16 UTC]    Description field in categories: YES
[16-Nov-2025 15:15:16 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:15:16 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:15:16 UTC]    Is_active field in books: YES
[16-Nov-2025 15:15:16 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:15:16 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:15:16 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:15:16 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:15:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:16 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:15:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:15:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:15:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:15:16 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:15:17 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:15:17 UTC] 📊 Database Info:
[16-Nov-2025 15:15:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:15:17 UTC]    Books columns count: 53
[16-Nov-2025 15:15:17 UTC]    Categories columns count: 7
[16-Nov-2025 15:15:17 UTC]    Language field in books: YES
[16-Nov-2025 15:15:17 UTC]    Format field in books: YES
[16-Nov-2025 15:15:17 UTC]    Description field in categories: YES
[16-Nov-2025 15:15:17 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:15:17 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:15:17 UTC]    Is_active field in books: YES
[16-Nov-2025 15:15:17 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:15:17 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:15:17 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:15:17 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:15:17 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:15:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:15:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:15:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:15:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:15:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:15:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:15:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:15:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:15:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:15:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:15:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:15:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:15:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:15:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:19 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:19 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:19 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:19 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:19 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:19 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:19 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:15:19 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:15:19 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:19 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:19 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:19 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:19 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:15:19 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:15:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:19 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:19 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:19 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:19 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:19 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:15:19 UTC] 📊 Database Info:
[16-Nov-2025 15:15:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:15:19 UTC]    Books columns count: 53
[16-Nov-2025 15:15:19 UTC]    Categories columns count: 7
[16-Nov-2025 15:15:19 UTC]    Language field in books: YES
[16-Nov-2025 15:15:19 UTC]    Format field in books: YES
[16-Nov-2025 15:15:19 UTC]    Description field in categories: YES
[16-Nov-2025 15:15:19 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:15:19 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:15:19 UTC]    Is_active field in books: YES
[16-Nov-2025 15:15:19 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:15:19 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:15:19 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:15:19 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:15:19 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:15:19 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:15:19 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:15:19 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:15:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:15:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:15:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:15:19 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:15:19 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:19 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:19 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:19 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:19 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:19 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:15:19 UTC] 📊 Database Info:
[16-Nov-2025 15:15:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:15:19 UTC]    Books columns count: 53
[16-Nov-2025 15:15:19 UTC]    Categories columns count: 7
[16-Nov-2025 15:15:19 UTC]    Language field in books: YES
[16-Nov-2025 15:15:19 UTC]    Format field in books: YES
[16-Nov-2025 15:15:19 UTC]    Description field in categories: YES
[16-Nov-2025 15:15:19 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:15:19 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:15:19 UTC]    Is_active field in books: YES
[16-Nov-2025 15:15:19 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:15:19 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:15:19 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:15:19 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:15:19 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:15:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:15:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:15:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:15:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:15:19 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:15:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:20 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:15:20 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:15:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:20 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:15:20 UTC] 📊 Database Info:
[16-Nov-2025 15:15:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:15:20 UTC]    Books columns count: 53
[16-Nov-2025 15:15:20 UTC]    Categories columns count: 7
[16-Nov-2025 15:15:20 UTC]    Language field in books: YES
[16-Nov-2025 15:15:20 UTC]    Format field in books: YES
[16-Nov-2025 15:15:20 UTC]    Description field in categories: YES
[16-Nov-2025 15:15:20 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:15:20 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:15:20 UTC]    Is_active field in books: YES
[16-Nov-2025 15:15:20 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:15:20 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:15:20 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:15:20 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:15:20 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:15:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:15:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:15:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:15:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:15:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:15:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:15:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:15:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:15:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:15:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:15:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:15:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:15:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:15:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:15:20 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:15:20 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:15:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:22 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:22 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:22 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:22 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:22 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:22 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:22 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:22 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:22 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:22 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:22 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:22 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:15:22 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:15:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:23 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:23 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:23 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:23 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:23 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:23 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:23 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:23 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:23 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:23 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:23 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:23 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:23 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:15:23 UTC] 📊 Database Info:
[16-Nov-2025 15:15:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:15:23 UTC]    Books columns count: 53
[16-Nov-2025 15:15:23 UTC]    Categories columns count: 7
[16-Nov-2025 15:15:23 UTC]    Language field in books: YES
[16-Nov-2025 15:15:23 UTC]    Format field in books: YES
[16-Nov-2025 15:15:23 UTC]    Description field in categories: YES
[16-Nov-2025 15:15:23 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:15:23 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:15:23 UTC]    Is_active field in books: YES
[16-Nov-2025 15:15:23 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:15:23 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:15:23 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:15:23 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:15:23 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:15:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:15:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:15:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:15:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:15:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:15:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:15:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:15:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:15:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:15:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:15:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:15:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:15:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:15:37 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:15:37 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:15:37 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:15:37 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:15:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:15:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:15:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:15:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:15:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:15:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:15:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:15:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:15:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:15:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:15:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:15:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:15:37 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:15:37 UTC] 📊 Database Info:
[16-Nov-2025 15:15:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:15:37 UTC]    Books columns count: 53
[16-Nov-2025 15:15:37 UTC]    Categories columns count: 7
[16-Nov-2025 15:15:37 UTC]    Language field in books: YES
[16-Nov-2025 15:15:37 UTC]    Format field in books: YES
[16-Nov-2025 15:15:37 UTC]    Description field in categories: YES
[16-Nov-2025 15:15:37 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:15:37 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:15:37 UTC]    Is_active field in books: YES
[16-Nov-2025 15:15:37 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:15:37 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:15:37 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:15:37 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:15:37 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:15:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:15:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:15:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:15:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:15:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:15:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:15:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:15:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:15:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:15:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:15:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:15:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:15:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:28 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:28 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:29 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:29 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:29 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:29 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:29 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:29 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:29 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:29 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:29 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:29 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:29 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:29 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:29 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:29 UTC] 📊 Database Info:
[16-Nov-2025 15:16:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:29 UTC]    Books columns count: 53
[16-Nov-2025 15:16:29 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:29 UTC]    Language field in books: YES
[16-Nov-2025 15:16:29 UTC]    Format field in books: YES
[16-Nov-2025 15:16:29 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:29 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:29 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:29 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:29 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:29 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:29 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:29 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:29 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:29 UTC] 📊 Database Info:
[16-Nov-2025 15:16:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:29 UTC]    Books columns count: 53
[16-Nov-2025 15:16:29 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:29 UTC]    Language field in books: YES
[16-Nov-2025 15:16:29 UTC]    Format field in books: YES
[16-Nov-2025 15:16:29 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:29 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:29 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:29 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:29 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:29 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:29 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:29 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:29 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:30 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:30 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:30 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:30 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:30 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:30 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:30 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:30 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:30 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:30 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:30 UTC] 📊 Database Info:
[16-Nov-2025 15:16:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:30 UTC]    Books columns count: 53
[16-Nov-2025 15:16:30 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:30 UTC]    Language field in books: YES
[16-Nov-2025 15:16:30 UTC]    Format field in books: YES
[16-Nov-2025 15:16:30 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:30 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:30 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:30 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:30 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:30 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:30 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:30 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:30 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:30 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:30 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:30 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:30 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:30 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:30 UTC] 📊 Database Info:
[16-Nov-2025 15:16:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:30 UTC]    Books columns count: 53
[16-Nov-2025 15:16:30 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:30 UTC]    Language field in books: YES
[16-Nov-2025 15:16:30 UTC]    Format field in books: YES
[16-Nov-2025 15:16:30 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:30 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:30 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:30 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:30 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:30 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:30 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:30 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:30 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:30 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:30 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:30 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:30 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:30 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:30 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:30 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:30 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:30 UTC] 📊 Database Info:
[16-Nov-2025 15:16:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:30 UTC]    Books columns count: 53
[16-Nov-2025 15:16:30 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:30 UTC]    Language field in books: YES
[16-Nov-2025 15:16:30 UTC]    Format field in books: YES
[16-Nov-2025 15:16:30 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:30 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:30 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:30 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:30 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:30 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:30 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:30 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:30 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:30 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:30 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:30 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:30 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:30 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:30 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:30 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:30 UTC] 📊 Database Info:
[16-Nov-2025 15:16:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:30 UTC]    Books columns count: 53
[16-Nov-2025 15:16:30 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:30 UTC]    Language field in books: YES
[16-Nov-2025 15:16:30 UTC]    Format field in books: YES
[16-Nov-2025 15:16:30 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:30 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:30 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:30 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:30 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:30 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:30 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:30 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:30 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:30 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:16:30 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:30 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:16:30 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:16:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:47 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:47 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:47 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:47 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:47 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:47 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:47 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:47 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:47 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:47 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:47 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:47 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:47 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:47 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:47 UTC] 📊 Database Info:
[16-Nov-2025 15:16:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:47 UTC]    Books columns count: 53
[16-Nov-2025 15:16:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:47 UTC]    Language field in books: YES
[16-Nov-2025 15:16:47 UTC]    Format field in books: YES
[16-Nov-2025 15:16:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:47 UTC] 📊 Database Info:
[16-Nov-2025 15:16:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:47 UTC]    Books columns count: 53
[16-Nov-2025 15:16:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:47 UTC]    Language field in books: YES
[16-Nov-2025 15:16:47 UTC]    Format field in books: YES
[16-Nov-2025 15:16:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:47 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:16:47 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:47 UTC] 📊 Database Info:
[16-Nov-2025 15:16:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:47 UTC]    Books columns count: 53
[16-Nov-2025 15:16:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:47 UTC]    Language field in books: YES
[16-Nov-2025 15:16:47 UTC]    Format field in books: YES
[16-Nov-2025 15:16:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:50 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:50 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:50 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:50 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:50 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:50 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:50 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:50 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:50 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:50 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:50 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:51 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:51 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:51 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:51 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:51 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:51 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:51 UTC] 📊 Database Info:
[16-Nov-2025 15:16:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:51 UTC]    Books columns count: 53
[16-Nov-2025 15:16:51 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:51 UTC]    Language field in books: YES
[16-Nov-2025 15:16:51 UTC]    Format field in books: YES
[16-Nov-2025 15:16:51 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:51 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:51 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:51 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:51 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:51 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:51 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:51 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:51 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:51 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:51 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:51 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:51 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:51 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:51 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:51 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:51 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:51 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:51 UTC] 📊 Database Info:
[16-Nov-2025 15:16:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:51 UTC]    Books columns count: 53
[16-Nov-2025 15:16:51 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:51 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:51 UTC]    Language field in books: YES
[16-Nov-2025 15:16:51 UTC]    Format field in books: YES
[16-Nov-2025 15:16:51 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:51 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:51 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:51 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:51 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:51 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:51 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:51 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:51 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:51 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:51 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:51 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:51 UTC] 📊 Database Info:
[16-Nov-2025 15:16:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:51 UTC]    Books columns count: 53
[16-Nov-2025 15:16:51 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:51 UTC]    Language field in books: YES
[16-Nov-2025 15:16:51 UTC]    Format field in books: YES
[16-Nov-2025 15:16:51 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:51 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:51 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:51 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:51 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:51 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:51 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:51 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:51 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:51 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:51 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:51 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:51 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:51 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:51 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:51 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:51 UTC] 📊 Database Info:
[16-Nov-2025 15:16:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:51 UTC]    Books columns count: 53
[16-Nov-2025 15:16:51 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:51 UTC]    Language field in books: YES
[16-Nov-2025 15:16:51 UTC]    Format field in books: YES
[16-Nov-2025 15:16:51 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:51 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:51 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:51 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:51 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:51 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:51 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:51 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:51 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:51 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:51 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:16:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:51 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:51 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:51 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:51 UTC] 📊 Database Info:
[16-Nov-2025 15:16:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:51 UTC]    Books columns count: 53
[16-Nov-2025 15:16:51 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:51 UTC]    Language field in books: YES
[16-Nov-2025 15:16:51 UTC]    Format field in books: YES
[16-Nov-2025 15:16:51 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:51 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:51 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:51 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:51 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:51 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:51 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:16:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:16:51 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:51 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:51 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:51 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:51 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:51 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:51 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:51 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:51 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:51 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:51 UTC] 📊 Database Info:
[16-Nov-2025 15:16:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:51 UTC]    Books columns count: 53
[16-Nov-2025 15:16:51 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:51 UTC]    Language field in books: YES
[16-Nov-2025 15:16:51 UTC]    Format field in books: YES
[16-Nov-2025 15:16:51 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:51 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:51 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:51 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:51 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:51 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:51 UTC] 📊 Database Info:
[16-Nov-2025 15:16:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:51 UTC]    Books columns count: 53
[16-Nov-2025 15:16:51 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:51 UTC]    Language field in books: YES
[16-Nov-2025 15:16:51 UTC]    Format field in books: YES
[16-Nov-2025 15:16:51 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:51 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:51 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:51 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:51 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:51 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:51 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:51 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:16:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:51 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:52 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:52 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:52 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:52 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:52 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:52 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:52 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:52 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:52 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:52 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:52 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:52 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:52 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:52 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:52 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:52 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:52 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:52 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:52 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:52 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:52 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:52 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:52 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:52 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:52 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:52 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:52 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:52 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:52 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:52 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:52 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:52 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:52 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:52 UTC] 📊 Database Info:
[16-Nov-2025 15:16:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:52 UTC]    Books columns count: 53
[16-Nov-2025 15:16:52 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:52 UTC]    Language field in books: YES
[16-Nov-2025 15:16:52 UTC]    Format field in books: YES
[16-Nov-2025 15:16:52 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:52 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:52 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:52 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:52 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:52 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:52 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:52 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:52 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:52 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:52 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:52 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:52 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:52 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:16:53 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:16:53 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:53 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:53 UTC] 📊 Database Info:
[16-Nov-2025 15:16:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:53 UTC]    Books columns count: 53
[16-Nov-2025 15:16:53 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:53 UTC]    Language field in books: YES
[16-Nov-2025 15:16:53 UTC]    Format field in books: YES
[16-Nov-2025 15:16:53 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:53 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:53 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:53 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:53 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:53 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:53 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:53 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:16:53 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:16:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:53 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:53 UTC] 📊 Database Info:
[16-Nov-2025 15:16:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:53 UTC]    Books columns count: 53
[16-Nov-2025 15:16:53 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:53 UTC]    Language field in books: YES
[16-Nov-2025 15:16:53 UTC]    Format field in books: YES
[16-Nov-2025 15:16:53 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:53 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:53 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:53 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:53 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:53 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:53 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:53 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:53 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:54 UTC] 📊 Database Info:
[16-Nov-2025 15:16:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:54 UTC]    Books columns count: 53
[16-Nov-2025 15:16:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:54 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:54 UTC]    Language field in books: YES
[16-Nov-2025 15:16:54 UTC]    Format field in books: YES
[16-Nov-2025 15:16:54 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:54 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:54 UTC] 📊 Database Info:
[16-Nov-2025 15:16:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:54 UTC]    Books columns count: 53
[16-Nov-2025 15:16:54 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:54 UTC]    Language field in books: YES
[16-Nov-2025 15:16:54 UTC]    Format field in books: YES
[16-Nov-2025 15:16:54 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:54 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:54 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:54 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:16:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:54 UTC] 📊 Database Info:
[16-Nov-2025 15:16:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:54 UTC]    Books columns count: 53
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:54 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:54 UTC]    Language field in books: YES
[16-Nov-2025 15:16:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:54 UTC]    Format field in books: YES
[16-Nov-2025 15:16:54 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:54 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:54 UTC] 📊 Database Info:
[16-Nov-2025 15:16:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:54 UTC]    Books columns count: 53
[16-Nov-2025 15:16:54 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:54 UTC]    Language field in books: YES
[16-Nov-2025 15:16:54 UTC]    Format field in books: YES
[16-Nov-2025 15:16:54 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:54 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:54 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:16:54 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:16:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:54 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:54 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:55 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:55 UTC] 📊 Database Info:
[16-Nov-2025 15:16:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:55 UTC]    Books columns count: 53
[16-Nov-2025 15:16:55 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:55 UTC]    Language field in books: YES
[16-Nov-2025 15:16:55 UTC]    Format field in books: YES
[16-Nov-2025 15:16:55 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:55 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:55 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:55 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:55 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:55 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:55 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:55 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:55 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:55 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:55 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:55 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:55 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:55 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:55 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:56 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:56 UTC] 📊 Database Info:
[16-Nov-2025 15:16:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:56 UTC]    Books columns count: 53
[16-Nov-2025 15:16:56 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:56 UTC]    Language field in books: YES
[16-Nov-2025 15:16:56 UTC]    Format field in books: YES
[16-Nov-2025 15:16:56 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:56 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:56 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:56 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:56 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:56 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:56 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:56 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:56 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:56 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:16:56 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:16:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:56 UTC] 📊 Database Info:
[16-Nov-2025 15:16:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:56 UTC]    Books columns count: 53
[16-Nov-2025 15:16:56 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:56 UTC]    Language field in books: YES
[16-Nov-2025 15:16:56 UTC]    Format field in books: YES
[16-Nov-2025 15:16:56 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:56 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:56 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:56 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:56 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:56 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:56 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:56 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:56 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:56 UTC] 📊 Database Info:
[16-Nov-2025 15:16:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:56 UTC]    Books columns count: 53
[16-Nov-2025 15:16:56 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:56 UTC]    Language field in books: YES
[16-Nov-2025 15:16:56 UTC]    Format field in books: YES
[16-Nov-2025 15:16:56 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:56 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:56 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:56 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:56 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:56 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:56 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:56 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:56 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:58 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:58 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:58 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:58 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:58 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:58 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:58 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:58 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:58 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:58 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:58 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:58 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:58 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:58 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:58 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:58 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:58 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:58 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:58 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:58 UTC] 📊 Database Info:
[16-Nov-2025 15:16:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:58 UTC]    Books columns count: 53
[16-Nov-2025 15:16:58 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:58 UTC]    Language field in books: YES
[16-Nov-2025 15:16:58 UTC]    Format field in books: YES
[16-Nov-2025 15:16:58 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:58 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:58 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:58 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:58 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:58 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:58 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:58 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:58 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:58 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:58 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:58 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:58 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:16:58 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:58 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:58 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:58 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:58 UTC] 📊 Database Info:
[16-Nov-2025 15:16:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:58 UTC]    Books columns count: 53
[16-Nov-2025 15:16:58 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:58 UTC]    Language field in books: YES
[16-Nov-2025 15:16:58 UTC]    Format field in books: YES
[16-Nov-2025 15:16:58 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:58 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:58 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:58 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:58 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:58 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:58 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:58 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:58 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:58 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:58 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:58 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:58 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:16:58 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:16:58 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:16:58 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:16:58 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:16:58 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:16:58 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:16:58 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:16:58 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:16:58 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:16:58 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:16:58 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:16:58 UTC] 📊 Database Info:
[16-Nov-2025 15:16:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:16:58 UTC]    Books columns count: 53
[16-Nov-2025 15:16:58 UTC]    Categories columns count: 7
[16-Nov-2025 15:16:58 UTC]    Language field in books: YES
[16-Nov-2025 15:16:58 UTC]    Format field in books: YES
[16-Nov-2025 15:16:58 UTC]    Description field in categories: YES
[16-Nov-2025 15:16:58 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:16:58 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:16:58 UTC]    Is_active field in books: YES
[16-Nov-2025 15:16:58 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:16:58 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:16:58 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:16:58 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:16:58 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:16:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:16:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:16:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:16:59 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:00 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:00 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:00 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:00 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:00 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:00 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:00 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:00 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:00 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:00 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:01 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:01 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:01 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:01 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:01 UTC] 📊 Database Info:
[16-Nov-2025 15:17:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:01 UTC]    Books columns count: 53
[16-Nov-2025 15:17:01 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:01 UTC]    Language field in books: YES
[16-Nov-2025 15:17:01 UTC]    Format field in books: YES
[16-Nov-2025 15:17:01 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:01 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:01 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:01 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:01 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:01 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:01 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:01 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:01 UTC] 📊 Database Info:
[16-Nov-2025 15:17:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:01 UTC]    Books columns count: 53
[16-Nov-2025 15:17:01 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:01 UTC]    Language field in books: YES
[16-Nov-2025 15:17:01 UTC]    Format field in books: YES
[16-Nov-2025 15:17:01 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:01 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:01 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:01 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:01 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:01 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:01 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:01 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:01 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:01 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:01 UTC] 📊 Database Info:
[16-Nov-2025 15:17:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:01 UTC]    Books columns count: 53
[16-Nov-2025 15:17:01 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:01 UTC]    Language field in books: YES
[16-Nov-2025 15:17:01 UTC]    Format field in books: YES
[16-Nov-2025 15:17:01 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:01 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:01 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:01 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:01 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:01 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:01 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:01 UTC] 📊 Database Info:
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:01 UTC]    Books columns count: 53
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:01 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:01 UTC]    Language field in books: YES
[16-Nov-2025 15:17:01 UTC]    Format field in books: YES
[16-Nov-2025 15:17:01 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:01 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:01 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:01 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:01 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:01 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:01 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:01 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:01 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:01 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:01 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:01 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:01 UTC] 📊 Database Info:
[16-Nov-2025 15:17:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:01 UTC]    Books columns count: 53
[16-Nov-2025 15:17:01 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:01 UTC]    Language field in books: YES
[16-Nov-2025 15:17:01 UTC]    Format field in books: YES
[16-Nov-2025 15:17:01 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:01 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:01 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:01 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:01 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:01 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:01 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:01 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:01 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:01 UTC] 📊 Database Info:
[16-Nov-2025 15:17:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:01 UTC]    Books columns count: 53
[16-Nov-2025 15:17:01 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:01 UTC]    Language field in books: YES
[16-Nov-2025 15:17:01 UTC]    Format field in books: YES
[16-Nov-2025 15:17:01 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:01 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:01 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:01 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:01 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:01 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:01 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:01 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:01 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:01 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:01 UTC] 📊 Database Info:
[16-Nov-2025 15:17:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:01 UTC]    Books columns count: 53
[16-Nov-2025 15:17:01 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:01 UTC]    Language field in books: YES
[16-Nov-2025 15:17:01 UTC]    Format field in books: YES
[16-Nov-2025 15:17:01 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:01 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:01 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:01 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:01 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:01 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:01 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:01 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:01 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:02 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:02 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:02 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:02 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:02 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:02 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:02 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:02 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:02 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:02 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:02 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:02 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:02 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:02 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:02 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:02 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:02 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:02 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:02 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:02 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:02 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:02 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:02 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:02 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:02 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:02 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:02 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:02 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:02 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:02 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:02 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:02 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:02 UTC] 📊 Database Info:
[16-Nov-2025 15:17:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:02 UTC]    Books columns count: 53
[16-Nov-2025 15:17:02 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:02 UTC]    Language field in books: YES
[16-Nov-2025 15:17:02 UTC]    Format field in books: YES
[16-Nov-2025 15:17:02 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:02 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:02 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:02 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:02 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:02 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:02 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:02 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:02 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:02 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:02 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:02 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:02 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:02 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:02 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:02 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:02 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:02 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:02 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:02 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:03 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:03 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:03 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:03 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:03 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:03 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:03 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:03 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:03 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:03 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:03 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:03 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:03 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:03 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:03 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:03 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:03 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:03 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:03 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:03 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:03 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:03 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:03 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:03 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:03 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:03 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:03 UTC] 📊 Database Info:
[16-Nov-2025 15:17:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:03 UTC]    Books columns count: 53
[16-Nov-2025 15:17:03 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:03 UTC]    Language field in books: YES
[16-Nov-2025 15:17:03 UTC]    Format field in books: YES
[16-Nov-2025 15:17:03 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:03 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:03 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:03 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:03 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:03 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:03 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:03 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:03 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:03 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:03 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:03 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:03 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:03 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:03 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:03 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:03 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:03 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:03 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:03 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:03 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:03 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:03 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:03 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:03 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:03 UTC] 📊 Database Info:
[16-Nov-2025 15:17:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:03 UTC]    Books columns count: 53
[16-Nov-2025 15:17:03 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:03 UTC]    Language field in books: YES
[16-Nov-2025 15:17:03 UTC]    Format field in books: YES
[16-Nov-2025 15:17:03 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:03 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:03 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:03 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:03 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:03 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:03 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:03 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:03 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:03 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:03 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:05 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:05 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:06 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:06 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:06 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:06 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:06 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:06 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:06 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:06 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:07 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:07 UTC] 📊 Database Info:
[16-Nov-2025 15:17:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:07 UTC]    Books columns count: 53
[16-Nov-2025 15:17:07 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:07 UTC]    Language field in books: YES
[16-Nov-2025 15:17:07 UTC]    Format field in books: YES
[16-Nov-2025 15:17:07 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:07 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:07 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:07 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:07 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:07 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:07 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:07 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:07 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:07 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:07 UTC] 📊 Database Info:
[16-Nov-2025 15:17:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:07 UTC]    Books columns count: 53
[16-Nov-2025 15:17:07 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:07 UTC]    Language field in books: YES
[16-Nov-2025 15:17:07 UTC]    Format field in books: YES
[16-Nov-2025 15:17:07 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:07 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:07 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:07 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:07 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:07 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:07 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:07 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:07 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:07 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:07 UTC] 📊 Database Info:
[16-Nov-2025 15:17:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:07 UTC]    Books columns count: 53
[16-Nov-2025 15:17:07 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:07 UTC]    Language field in books: YES
[16-Nov-2025 15:17:07 UTC]    Format field in books: YES
[16-Nov-2025 15:17:07 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:07 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:07 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:07 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:07 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:07 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:07 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:07 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:07 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:07 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:07 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:07 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:07 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:07 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:07 UTC] 📊 Database Info:
[16-Nov-2025 15:17:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:07 UTC]    Books columns count: 53
[16-Nov-2025 15:17:07 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:07 UTC]    Language field in books: YES
[16-Nov-2025 15:17:07 UTC]    Format field in books: YES
[16-Nov-2025 15:17:07 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:07 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:07 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:07 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:07 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:07 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:07 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:07 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:07 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:08 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:08 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:08 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:08 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:08 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:08 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:08 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:08 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:08 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:08 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:08 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:08 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:08 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:08 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:08 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:08 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:08 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:08 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:08 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:08 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:08 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:08 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:08 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:08 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:08 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:08 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:08 UTC] 📊 Database Info:
[16-Nov-2025 15:17:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:08 UTC]    Books columns count: 53
[16-Nov-2025 15:17:08 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:08 UTC]    Language field in books: YES
[16-Nov-2025 15:17:08 UTC]    Format field in books: YES
[16-Nov-2025 15:17:08 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:08 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:08 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:08 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:08 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:08 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:08 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:08 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:08 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:08 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:08 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:09 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:09 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:09 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:09 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:09 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:09 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:09 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:09 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:09 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:09 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:09 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:09 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:09 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:09 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:09 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:09 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:09 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:09 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:09 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:09 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:09 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:09 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:09 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:09 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:09 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:09 UTC] 📊 Database Info:
[16-Nov-2025 15:17:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:09 UTC]    Books columns count: 53
[16-Nov-2025 15:17:09 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:09 UTC]    Language field in books: YES
[16-Nov-2025 15:17:09 UTC]    Format field in books: YES
[16-Nov-2025 15:17:09 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:09 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:09 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:09 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:09 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:09 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:09 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:09 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:09 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:09 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:09 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:09 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:09 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:09 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:09 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:09 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:09 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:09 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:09 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:09 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:09 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:09 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:09 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:09 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:09 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:10 UTC] 📊 Database Info:
[16-Nov-2025 15:17:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:10 UTC]    Books columns count: 53
[16-Nov-2025 15:17:10 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:10 UTC]    Language field in books: YES
[16-Nov-2025 15:17:10 UTC]    Format field in books: YES
[16-Nov-2025 15:17:10 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:10 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:10 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:11 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:11 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:11 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:11 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:11 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:11 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:11 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:11 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:11 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:11 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:11 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:11 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:11 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:11 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:11 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:11 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:11 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:11 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:11 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:11 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:11 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:11 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:11 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:11 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:11 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:11 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:11 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:11 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:11 UTC] 📊 Database Info:
[16-Nov-2025 15:17:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:11 UTC]    Books columns count: 53
[16-Nov-2025 15:17:11 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:11 UTC]    Language field in books: YES
[16-Nov-2025 15:17:11 UTC]    Format field in books: YES
[16-Nov-2025 15:17:11 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:11 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:11 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:11 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:11 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:11 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:11 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:11 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:11 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:11 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:11 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:11 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:12 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:12 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:12 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:12 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:12 UTC] 📊 Database Info:
[16-Nov-2025 15:17:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:12 UTC]    Books columns count: 53
[16-Nov-2025 15:17:12 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:12 UTC]    Language field in books: YES
[16-Nov-2025 15:17:12 UTC]    Format field in books: YES
[16-Nov-2025 15:17:12 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:12 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:12 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:12 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:12 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:12 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:12 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:12 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:12 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:12 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:12 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:12 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:12 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:12 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:12 UTC] 📊 Database Info:
[16-Nov-2025 15:17:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:12 UTC]    Books columns count: 53
[16-Nov-2025 15:17:12 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:12 UTC]    Language field in books: YES
[16-Nov-2025 15:17:12 UTC]    Format field in books: YES
[16-Nov-2025 15:17:12 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:12 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:12 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:12 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:12 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:12 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:12 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:12 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:12 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:12 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:17:12 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:17:12 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:12 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:12 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:12 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:12 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:12 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:12 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:12 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:12 UTC] 📊 Database Info:
[16-Nov-2025 15:17:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:12 UTC]    Books columns count: 53
[16-Nov-2025 15:17:12 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:12 UTC]    Language field in books: YES
[16-Nov-2025 15:17:12 UTC]    Format field in books: YES
[16-Nov-2025 15:17:12 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:12 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:12 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:12 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:12 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:12 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:12 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:12 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:12 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:12 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:12 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:12 UTC] 📊 Database Info:
[16-Nov-2025 15:17:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:12 UTC]    Books columns count: 53
[16-Nov-2025 15:17:12 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:12 UTC]    Language field in books: YES
[16-Nov-2025 15:17:12 UTC]    Format field in books: YES
[16-Nov-2025 15:17:12 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:12 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:12 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:12 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:12 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:12 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:12 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:12 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:12 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:12 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:12 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:12 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:12 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:12 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:12 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:17:12 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:12 UTC] 📊 Database Info:
[16-Nov-2025 15:17:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:12 UTC]    Books columns count: 53
[16-Nov-2025 15:17:12 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:12 UTC]    Language field in books: YES
[16-Nov-2025 15:17:12 UTC]    Format field in books: YES
[16-Nov-2025 15:17:12 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:12 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:12 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:12 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:12 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:12 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:12 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:12 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:12 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:13 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:13 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:13 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:13 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:13 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:13 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:13 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:13 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:13 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:13 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:13 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:13 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:13 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:13 UTC] 📊 Database Info:
[16-Nov-2025 15:17:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:13 UTC]    Books columns count: 53
[16-Nov-2025 15:17:13 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:13 UTC]    Language field in books: YES
[16-Nov-2025 15:17:13 UTC]    Format field in books: YES
[16-Nov-2025 15:17:13 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:13 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:13 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:13 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:13 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:13 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:13 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:13 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:13 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:13 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:13 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:13 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:13 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:13 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:13 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:14 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:14 UTC] 📊 Database Info:
[16-Nov-2025 15:17:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:14 UTC]    Books columns count: 53
[16-Nov-2025 15:17:14 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:14 UTC]    Language field in books: YES
[16-Nov-2025 15:17:14 UTC]    Format field in books: YES
[16-Nov-2025 15:17:14 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:14 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:14 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:14 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:14 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:14 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:14 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:14 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:14 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:14 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:14 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:15 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:15 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:15 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:15 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:15 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:15 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:15 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:15 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:15 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:15 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:15 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:15 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:15 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:15 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:15 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:15 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:15 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:15 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:15 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:15 UTC] 📊 Database Info:
[16-Nov-2025 15:17:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:15 UTC]    Books columns count: 53
[16-Nov-2025 15:17:15 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:15 UTC]    Language field in books: YES
[16-Nov-2025 15:17:15 UTC]    Format field in books: YES
[16-Nov-2025 15:17:15 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:15 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:15 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:15 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:15 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:15 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:15 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:15 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:15 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:15 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:15 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:16 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:16 UTC] 📊 Database Info:
[16-Nov-2025 15:17:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:16 UTC]    Books columns count: 53
[16-Nov-2025 15:17:16 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:16 UTC]    Language field in books: YES
[16-Nov-2025 15:17:16 UTC]    Format field in books: YES
[16-Nov-2025 15:17:16 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:16 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:16 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:16 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:16 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:16 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:16 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:16 UTC] 📊 Database Info:
[16-Nov-2025 15:17:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:16 UTC]    Books columns count: 53
[16-Nov-2025 15:17:16 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:16 UTC]    Language field in books: YES
[16-Nov-2025 15:17:16 UTC]    Format field in books: YES
[16-Nov-2025 15:17:16 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:16 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:16 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:16 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:16 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:16 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:16 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:16 UTC] 📊 Database Info:
[16-Nov-2025 15:17:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:16 UTC]    Books columns count: 53
[16-Nov-2025 15:17:16 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:16 UTC]    Language field in books: YES
[16-Nov-2025 15:17:16 UTC]    Format field in books: YES
[16-Nov-2025 15:17:16 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:16 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:16 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:16 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:16 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:16 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:16 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:16 UTC] 📊 Database Info:
[16-Nov-2025 15:17:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:16 UTC]    Books columns count: 53
[16-Nov-2025 15:17:16 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:16 UTC]    Language field in books: YES
[16-Nov-2025 15:17:16 UTC]    Format field in books: YES
[16-Nov-2025 15:17:16 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:16 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:16 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:16 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:16 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:16 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:16 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:16 UTC] 📊 Database Info:
[16-Nov-2025 15:17:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:16 UTC]    Books columns count: 53
[16-Nov-2025 15:17:16 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:16 UTC]    Language field in books: YES
[16-Nov-2025 15:17:16 UTC]    Format field in books: YES
[16-Nov-2025 15:17:16 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:16 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:16 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:16 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:16 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:16 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:16 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:16 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:16 UTC] 📊 Database Info:
[16-Nov-2025 15:17:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:16 UTC]    Books columns count: 53
[16-Nov-2025 15:17:16 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:16 UTC]    Language field in books: YES
[16-Nov-2025 15:17:16 UTC]    Format field in books: YES
[16-Nov-2025 15:17:16 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:16 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:16 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:16 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:16 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:16 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:16 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:16 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:16 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:16 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:16 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:16 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:16 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:16 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:16 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:16 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:16 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:16 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:16 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:16 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:16 UTC] 📊 Database Info:
[16-Nov-2025 15:17:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:16 UTC]    Books columns count: 53
[16-Nov-2025 15:17:16 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:16 UTC]    Language field in books: YES
[16-Nov-2025 15:17:16 UTC]    Format field in books: YES
[16-Nov-2025 15:17:16 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:16 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:16 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:16 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:16 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:16 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:16 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:16 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:17:16 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:17:17 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:17 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:17 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:17 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:17 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:17 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:17 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:17 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:17 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:17 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:17 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:17 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:17 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:17 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:17 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:17 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:17 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:17 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:17 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:17 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:17 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:17 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:17 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:17 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:17 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:17 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:17 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:17 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:17 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:17 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:17 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:17 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:17 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:17 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:17 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:17 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:17 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:17 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:18 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:18 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:18 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:18 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:18 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:18 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:18 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:18 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:18 UTC] 📊 Database Info:
[16-Nov-2025 15:17:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:18 UTC]    Books columns count: 53
[16-Nov-2025 15:17:18 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:18 UTC]    Language field in books: YES
[16-Nov-2025 15:17:18 UTC]    Format field in books: YES
[16-Nov-2025 15:17:18 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:18 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:18 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:18 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:18 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:18 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:18 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:18 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:18 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:18 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:18 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:18 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:18 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:18 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:18 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:18 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:18 UTC] 📊 Database Info:
[16-Nov-2025 15:17:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:18 UTC]    Books columns count: 53
[16-Nov-2025 15:17:18 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:18 UTC]    Language field in books: YES
[16-Nov-2025 15:17:18 UTC]    Format field in books: YES
[16-Nov-2025 15:17:18 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:18 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:18 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:18 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:18 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:18 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:18 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:18 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:18 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:18 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:18 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:18 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:18 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:18 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:18 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:18 UTC] 📊 Database Info:
[16-Nov-2025 15:17:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:18 UTC]    Books columns count: 53
[16-Nov-2025 15:17:18 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:18 UTC]    Language field in books: YES
[16-Nov-2025 15:17:18 UTC]    Format field in books: YES
[16-Nov-2025 15:17:18 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:18 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:18 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:18 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:18 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:18 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:18 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:18 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:18 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:18 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:18 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:18 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:18 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:18 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:18 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:18 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:18 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:18 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:18 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:18 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:18 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:18 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:18 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:18 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:18 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:18 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:18 UTC] 📊 Database Info:
[16-Nov-2025 15:17:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:18 UTC]    Books columns count: 53
[16-Nov-2025 15:17:18 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:18 UTC]    Language field in books: YES
[16-Nov-2025 15:17:18 UTC]    Format field in books: YES
[16-Nov-2025 15:17:18 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:18 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:18 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:18 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:18 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:18 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:18 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:18 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:18 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:18 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:18 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:19 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:20 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:20 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:20 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:20 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:20 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:20 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:20 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:20 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:20 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:20 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:20 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:20 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:21 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:21 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:21 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:21 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:21 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:21 UTC] 📊 Database Info:
[16-Nov-2025 15:17:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:21 UTC]    Books columns count: 53
[16-Nov-2025 15:17:21 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:21 UTC]    Language field in books: YES
[16-Nov-2025 15:17:21 UTC]    Format field in books: YES
[16-Nov-2025 15:17:21 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:21 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:21 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:21 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:21 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:21 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:21 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:21 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:21 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:21 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:21 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:21 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:21 UTC] 📊 Database Info:
[16-Nov-2025 15:17:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:21 UTC]    Books columns count: 53
[16-Nov-2025 15:17:21 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:21 UTC]    Language field in books: YES
[16-Nov-2025 15:17:21 UTC]    Format field in books: YES
[16-Nov-2025 15:17:21 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:21 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:21 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:21 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:21 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:21 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:21 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:21 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:21 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:21 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:21 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:21 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:21 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:21 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:21 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:21 UTC] 📊 Database Info:
[16-Nov-2025 15:17:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:21 UTC]    Books columns count: 53
[16-Nov-2025 15:17:21 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:21 UTC]    Language field in books: YES
[16-Nov-2025 15:17:21 UTC]    Format field in books: YES
[16-Nov-2025 15:17:21 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:21 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:21 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:21 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:21 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:21 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:21 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:21 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:21 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:21 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:21 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:21 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:21 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:21 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:21 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:21 UTC] 📊 Database Info:
[16-Nov-2025 15:17:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:21 UTC]    Books columns count: 53
[16-Nov-2025 15:17:21 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:21 UTC]    Language field in books: YES
[16-Nov-2025 15:17:21 UTC]    Format field in books: YES
[16-Nov-2025 15:17:21 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:21 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:21 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:21 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:21 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:21 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:21 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:21 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:21 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:21 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:21 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:21 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:21 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:21 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:21 UTC] 📊 Database Info:
[16-Nov-2025 15:17:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:21 UTC]    Books columns count: 53
[16-Nov-2025 15:17:21 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:21 UTC]    Language field in books: YES
[16-Nov-2025 15:17:21 UTC]    Format field in books: YES
[16-Nov-2025 15:17:21 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:21 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:21 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:21 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:21 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:21 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:21 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:21 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:21 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:21 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:17:21 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:17:21 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:21 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:21 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:21 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:21 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:21 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:21 UTC] 📊 Database Info:
[16-Nov-2025 15:17:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:21 UTC]    Books columns count: 53
[16-Nov-2025 15:17:21 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:21 UTC]    Language field in books: YES
[16-Nov-2025 15:17:21 UTC]    Format field in books: YES
[16-Nov-2025 15:17:21 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:21 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:21 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:21 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:21 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:21 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:21 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:21 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:21 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:21 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:17:21 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:17:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:22 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:22 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:22 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:22 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:22 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:22 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:22 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:22 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:22 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:22 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:22 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:22 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:22 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:22 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:22 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:22 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:22 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:22 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:22 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:22 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:22 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:22 UTC] 📊 Database Info:
[16-Nov-2025 15:17:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:22 UTC]    Books columns count: 53
[16-Nov-2025 15:17:22 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:22 UTC]    Language field in books: YES
[16-Nov-2025 15:17:22 UTC]    Format field in books: YES
[16-Nov-2025 15:17:22 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:22 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:22 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:22 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:22 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:22 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:22 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:22 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:22 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:23 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:23 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:23 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:23 UTC] 📊 Database Info:
[16-Nov-2025 15:17:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:23 UTC]    Books columns count: 53
[16-Nov-2025 15:17:23 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:23 UTC]    Language field in books: YES
[16-Nov-2025 15:17:23 UTC]    Format field in books: YES
[16-Nov-2025 15:17:23 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:23 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:23 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:23 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:23 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:23 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:23 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:23 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:23 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:17:23 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:17:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:23 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:23 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:23 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:23 UTC] 📊 Database Info:
[16-Nov-2025 15:17:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:23 UTC]    Books columns count: 53
[16-Nov-2025 15:17:23 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:23 UTC]    Language field in books: YES
[16-Nov-2025 15:17:23 UTC]    Format field in books: YES
[16-Nov-2025 15:17:23 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:23 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:23 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:23 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:23 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:23 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:23 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:23 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:23 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:23 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:23 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:23 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:23 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:23 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:23 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:23 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:23 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:23 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:23 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:23 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:23 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:23 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:23 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:23 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:23 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:23 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:23 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:23 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:23 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:23 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:23 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:23 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:23 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:23 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:23 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:23 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:23 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:23 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:23 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:23 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:23 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:23 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:23 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:23 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:23 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:23 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:23 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:23 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:24 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:24 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:24 UTC] 📊 Database Info:
[16-Nov-2025 15:17:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:24 UTC]    Books columns count: 53
[16-Nov-2025 15:17:24 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:24 UTC]    Language field in books: YES
[16-Nov-2025 15:17:24 UTC]    Format field in books: YES
[16-Nov-2025 15:17:24 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:24 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:24 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:24 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:24 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:24 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:24 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:24 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:24 UTC] 📊 Database Info:
[16-Nov-2025 15:17:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:24 UTC]    Books columns count: 53
[16-Nov-2025 15:17:24 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:24 UTC]    Language field in books: YES
[16-Nov-2025 15:17:24 UTC]    Format field in books: YES
[16-Nov-2025 15:17:24 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:24 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:24 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:24 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:24 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:24 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:24 UTC] 📊 Database Info:
[16-Nov-2025 15:17:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:24 UTC]    Books columns count: 53
[16-Nov-2025 15:17:24 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:24 UTC]    Language field in books: YES
[16-Nov-2025 15:17:24 UTC]    Format field in books: YES
[16-Nov-2025 15:17:24 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:24 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:24 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:24 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:24 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:24 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:24 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:24 UTC] 📊 Database Info:
[16-Nov-2025 15:17:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:24 UTC]    Books columns count: 53
[16-Nov-2025 15:17:24 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:24 UTC]    Language field in books: YES
[16-Nov-2025 15:17:24 UTC]    Format field in books: YES
[16-Nov-2025 15:17:24 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:24 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:24 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:24 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:24 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:24 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:24 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:24 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:24 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:24 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:24 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:24 UTC] 📊 Database Info:
[16-Nov-2025 15:17:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:24 UTC]    Books columns count: 53
[16-Nov-2025 15:17:24 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:24 UTC]    Language field in books: YES
[16-Nov-2025 15:17:24 UTC]    Format field in books: YES
[16-Nov-2025 15:17:24 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:24 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:24 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:24 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:24 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:24 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:24 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:24 UTC] 📊 Database Info:
[16-Nov-2025 15:17:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:24 UTC]    Books columns count: 53
[16-Nov-2025 15:17:24 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:24 UTC]    Language field in books: YES
[16-Nov-2025 15:17:24 UTC]    Format field in books: YES
[16-Nov-2025 15:17:24 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:24 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:24 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:24 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:24 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:24 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:24 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:24 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:24 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:24 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:24 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:24 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:24 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:24 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:24 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:24 UTC] 📊 Database Info:
[16-Nov-2025 15:17:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:24 UTC]    Books columns count: 53
[16-Nov-2025 15:17:24 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:24 UTC]    Language field in books: YES
[16-Nov-2025 15:17:24 UTC]    Format field in books: YES
[16-Nov-2025 15:17:24 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:24 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:24 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:24 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:24 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:24 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:24 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:24 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:24 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:25 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:25 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:25 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:25 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:25 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:25 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:25 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:25 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:25 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:25 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:25 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:25 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:25 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:25 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:26 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:26 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:26 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:26 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:26 UTC] 📊 Database Info:
[16-Nov-2025 15:17:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:26 UTC]    Books columns count: 53
[16-Nov-2025 15:17:26 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:26 UTC]    Language field in books: YES
[16-Nov-2025 15:17:26 UTC]    Format field in books: YES
[16-Nov-2025 15:17:26 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:26 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:26 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:26 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:26 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:26 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:26 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:26 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:26 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:26 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:26 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:42 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:42 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:42 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:42 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:42 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:42 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:42 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:42 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:42 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:42 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:42 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:42 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:42 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:42 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:42 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:42 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:42 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:42 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:42 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:42 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:42 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:42 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:42 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:42 UTC] 📊 Database Info:
[16-Nov-2025 15:17:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:42 UTC]    Books columns count: 53
[16-Nov-2025 15:17:42 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:42 UTC]    Language field in books: YES
[16-Nov-2025 15:17:42 UTC]    Format field in books: YES
[16-Nov-2025 15:17:42 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:42 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:42 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:42 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:42 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:42 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:42 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:42 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:42 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:42 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:42 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:42 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:42 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:42 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:42 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:42 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:42 UTC] 📊 Database Info:
[16-Nov-2025 15:17:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:42 UTC]    Books columns count: 53
[16-Nov-2025 15:17:42 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:42 UTC]    Language field in books: YES
[16-Nov-2025 15:17:42 UTC]    Format field in books: YES
[16-Nov-2025 15:17:42 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:42 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:42 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:42 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:42 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:42 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:42 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:42 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:42 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:44 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:44 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:44 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:44 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:44 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:44 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:44 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:44 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:44 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:44 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:44 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:44 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:44 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:44 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:44 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:45 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:45 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:45 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:45 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:45 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:45 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:45 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:45 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:45 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:45 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:45 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:45 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:45 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:45 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:45 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:45 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:45 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:45 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:45 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:45 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:45 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:45 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:45 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:45 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:45 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:45 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:45 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:45 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:45 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:45 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:45 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:45 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:45 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:45 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:45 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:45 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:46 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:46 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:46 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:46 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:46 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:46 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:46 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:46 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:46 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:46 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:46 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:46 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:46 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:46 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:46 UTC] 📊 Database Info:
[16-Nov-2025 15:17:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:46 UTC]    Books columns count: 53
[16-Nov-2025 15:17:46 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:46 UTC]    Language field in books: YES
[16-Nov-2025 15:17:46 UTC]    Format field in books: YES
[16-Nov-2025 15:17:46 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:46 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:46 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:46 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:46 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:46 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:46 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:46 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:46 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:46 UTC] 📊 Database Info:
[16-Nov-2025 15:17:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:46 UTC]    Books columns count: 53
[16-Nov-2025 15:17:46 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:46 UTC]    Language field in books: YES
[16-Nov-2025 15:17:46 UTC]    Format field in books: YES
[16-Nov-2025 15:17:46 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:46 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:46 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:46 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:46 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:46 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:46 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:46 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:46 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:47 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:47 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:17:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:47 UTC] 📊 Database Info:
[16-Nov-2025 15:17:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:47 UTC]    Books columns count: 53
[16-Nov-2025 15:17:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:47 UTC]    Language field in books: YES
[16-Nov-2025 15:17:47 UTC]    Format field in books: YES
[16-Nov-2025 15:17:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:47 UTC] 📊 Database Info:
[16-Nov-2025 15:17:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:47 UTC]    Books columns count: 53
[16-Nov-2025 15:17:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:47 UTC]    Language field in books: YES
[16-Nov-2025 15:17:47 UTC]    Format field in books: YES
[16-Nov-2025 15:17:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:47 UTC] 📊 Database Info:
[16-Nov-2025 15:17:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:47 UTC]    Books columns count: 53
[16-Nov-2025 15:17:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:47 UTC]    Language field in books: YES
[16-Nov-2025 15:17:47 UTC]    Format field in books: YES
[16-Nov-2025 15:17:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:47 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:17:47 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:47 UTC] 📊 Database Info:
[16-Nov-2025 15:17:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:47 UTC]    Books columns count: 53
[16-Nov-2025 15:17:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:47 UTC]    Language field in books: YES
[16-Nov-2025 15:17:47 UTC]    Format field in books: YES
[16-Nov-2025 15:17:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:47 UTC] 📊 Database Info:
[16-Nov-2025 15:17:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:47 UTC]    Books columns count: 53
[16-Nov-2025 15:17:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:47 UTC]    Language field in books: YES
[16-Nov-2025 15:17:47 UTC]    Format field in books: YES
[16-Nov-2025 15:17:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:47 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:47 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:47 UTC] 📊 Database Info:
[16-Nov-2025 15:17:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:47 UTC]    Books columns count: 53
[16-Nov-2025 15:17:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:47 UTC]    Language field in books: YES
[16-Nov-2025 15:17:47 UTC]    Format field in books: YES
[16-Nov-2025 15:17:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:47 UTC] 📊 Database Info:
[16-Nov-2025 15:17:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:47 UTC]    Books columns count: 53
[16-Nov-2025 15:17:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:47 UTC]    Language field in books: YES
[16-Nov-2025 15:17:47 UTC]    Format field in books: YES
[16-Nov-2025 15:17:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:47 UTC] 📊 Database Info:
[16-Nov-2025 15:17:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:47 UTC]    Books columns count: 53
[16-Nov-2025 15:17:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:47 UTC]    Language field in books: YES
[16-Nov-2025 15:17:47 UTC]    Format field in books: YES
[16-Nov-2025 15:17:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:47 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:47 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:47 UTC] 📊 Database Info:
[16-Nov-2025 15:17:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:47 UTC]    Books columns count: 53
[16-Nov-2025 15:17:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:47 UTC]    Language field in books: YES
[16-Nov-2025 15:17:47 UTC]    Format field in books: YES
[16-Nov-2025 15:17:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:47 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:47 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:49 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:49 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:49 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:49 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:49 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:49 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:49 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:49 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:49 UTC] 📊 Database Info:
[16-Nov-2025 15:17:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:49 UTC]    Books columns count: 53
[16-Nov-2025 15:17:49 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:49 UTC]    Language field in books: YES
[16-Nov-2025 15:17:49 UTC]    Format field in books: YES
[16-Nov-2025 15:17:49 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:49 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:49 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:49 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:49 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:49 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:49 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:49 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:49 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:49 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:49 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:49 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:49 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:49 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:49 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:49 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:49 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:49 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:49 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:49 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:49 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:49 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:49 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:49 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:50 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:50 UTC] 📊 Database Info:
[16-Nov-2025 15:17:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:50 UTC]    Books columns count: 53
[16-Nov-2025 15:17:50 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:50 UTC]    Language field in books: YES
[16-Nov-2025 15:17:50 UTC]    Format field in books: YES
[16-Nov-2025 15:17:50 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:50 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:50 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:50 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:50 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:50 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:50 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:50 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:50 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:50 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:50 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:50 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:50 UTC] 📊 Database Info:
[16-Nov-2025 15:17:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:50 UTC]    Books columns count: 53
[16-Nov-2025 15:17:50 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:50 UTC]    Language field in books: YES
[16-Nov-2025 15:17:50 UTC]    Format field in books: YES
[16-Nov-2025 15:17:50 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:50 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:50 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:50 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:50 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:50 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:50 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:50 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:50 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:50 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:50 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:50 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:50 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:50 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:50 UTC] 📊 Database Info:
[16-Nov-2025 15:17:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:50 UTC]    Books columns count: 53
[16-Nov-2025 15:17:50 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:50 UTC]    Language field in books: YES
[16-Nov-2025 15:17:50 UTC]    Format field in books: YES
[16-Nov-2025 15:17:50 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:50 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:50 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:50 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:50 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:50 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:50 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:50 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:50 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:50 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:50 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:17:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:51 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:51 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:51 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:51 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:51 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:51 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:51 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:51 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:51 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:51 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:51 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:17:51 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:17:51 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:17:51 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:17:51 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:17:51 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:17:51 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:17:51 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:17:51 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:17:51 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:17:51 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:17:51 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:17:51 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:17:51 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:17:51 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:17:51 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:17:51 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:17:51 UTC] 📊 Database Info:
[16-Nov-2025 15:17:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:17:51 UTC]    Books columns count: 53
[16-Nov-2025 15:17:51 UTC]    Categories columns count: 7
[16-Nov-2025 15:17:51 UTC]    Language field in books: YES
[16-Nov-2025 15:17:51 UTC]    Format field in books: YES
[16-Nov-2025 15:17:51 UTC]    Description field in categories: YES
[16-Nov-2025 15:17:51 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:17:51 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:17:51 UTC]    Is_active field in books: YES
[16-Nov-2025 15:17:51 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:17:51 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:17:51 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:17:51 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:17:51 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:17:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:17:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:17:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:17:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:17:51 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:18:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:50 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:18:50 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:50 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:18:50 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:18:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:50 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:18:50 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:50 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:18:50 UTC] 📊 Database Info:
[16-Nov-2025 15:18:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:18:50 UTC]    Books columns count: 53
[16-Nov-2025 15:18:50 UTC]    Categories columns count: 7
[16-Nov-2025 15:18:50 UTC]    Language field in books: YES
[16-Nov-2025 15:18:50 UTC]    Format field in books: YES
[16-Nov-2025 15:18:50 UTC]    Description field in categories: YES
[16-Nov-2025 15:18:50 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:18:50 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:18:50 UTC]    Is_active field in books: YES
[16-Nov-2025 15:18:50 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:18:50 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:18:50 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:18:50 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:18:50 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:18:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:18:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:18:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:18:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:18:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:18:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:18:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:18:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:50 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:18:50 UTC] 📊 Database Info:
[16-Nov-2025 15:18:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:18:50 UTC]    Books columns count: 53
[16-Nov-2025 15:18:50 UTC]    Categories columns count: 7
[16-Nov-2025 15:18:50 UTC]    Language field in books: YES
[16-Nov-2025 15:18:50 UTC]    Format field in books: YES
[16-Nov-2025 15:18:50 UTC]    Description field in categories: YES
[16-Nov-2025 15:18:50 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:18:50 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:18:50 UTC]    Is_active field in books: YES
[16-Nov-2025 15:18:50 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:18:50 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:18:50 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:18:50 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:18:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:50 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:18:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:50 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:18:50 UTC] 📊 Database Info:
[16-Nov-2025 15:18:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:18:50 UTC]    Books columns count: 53
[16-Nov-2025 15:18:50 UTC]    Categories columns count: 7
[16-Nov-2025 15:18:50 UTC]    Language field in books: YES
[16-Nov-2025 15:18:50 UTC]    Format field in books: YES
[16-Nov-2025 15:18:50 UTC]    Description field in categories: YES
[16-Nov-2025 15:18:50 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:18:50 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:18:50 UTC]    Is_active field in books: YES
[16-Nov-2025 15:18:50 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:18:50 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:18:50 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:18:50 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:18:50 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:18:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:18:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:18:50 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:18:50 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:18:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:52 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:52 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:52 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:52 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:52 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:18:52 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:18:52 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:52 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:52 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:52 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:52 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:52 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:52 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:52 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:52 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:18:52 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:52 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:52 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:52 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:52 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:52 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:18:52 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:52 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:52 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:52 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:52 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:52 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:52 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:52 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:52 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:52 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:18:52 UTC] 📊 Database Info:
[16-Nov-2025 15:18:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:18:52 UTC]    Books columns count: 53
[16-Nov-2025 15:18:52 UTC]    Categories columns count: 7
[16-Nov-2025 15:18:52 UTC]    Language field in books: YES
[16-Nov-2025 15:18:52 UTC]    Format field in books: YES
[16-Nov-2025 15:18:52 UTC]    Description field in categories: YES
[16-Nov-2025 15:18:52 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:18:52 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:18:52 UTC]    Is_active field in books: YES
[16-Nov-2025 15:18:52 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:18:52 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:18:52 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:18:52 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:18:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:18:52 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:18:52 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:18:52 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:18:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:18:52 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:18:52 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:52 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:18:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:18:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:18:53 UTC] 📊 Database Info:
[16-Nov-2025 15:18:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:18:53 UTC]    Books columns count: 53
[16-Nov-2025 15:18:53 UTC]    Categories columns count: 7
[16-Nov-2025 15:18:53 UTC]    Language field in books: YES
[16-Nov-2025 15:18:53 UTC]    Format field in books: YES
[16-Nov-2025 15:18:53 UTC]    Description field in categories: YES
[16-Nov-2025 15:18:53 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:18:53 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:18:53 UTC]    Is_active field in books: YES
[16-Nov-2025 15:18:53 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:18:53 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:18:53 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:18:53 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:18:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:18:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:18:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:53 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:18:53 UTC] 📊 Database Info:
[16-Nov-2025 15:18:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:18:53 UTC]    Books columns count: 53
[16-Nov-2025 15:18:53 UTC]    Categories columns count: 7
[16-Nov-2025 15:18:53 UTC]    Language field in books: YES
[16-Nov-2025 15:18:53 UTC]    Format field in books: YES
[16-Nov-2025 15:18:53 UTC]    Description field in categories: YES
[16-Nov-2025 15:18:53 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:18:53 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:18:53 UTC]    Is_active field in books: YES
[16-Nov-2025 15:18:53 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:18:53 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:18:53 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:18:53 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:18:53 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:18:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:18:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:18:53 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:18:53 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:18:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:18:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:18:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:18:53 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:18:53 UTC] 📊 Database Info:
[16-Nov-2025 15:18:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:18:53 UTC]    Books columns count: 53
[16-Nov-2025 15:18:53 UTC]    Categories columns count: 7
[16-Nov-2025 15:18:53 UTC]    Language field in books: YES
[16-Nov-2025 15:18:53 UTC]    Format field in books: YES
[16-Nov-2025 15:18:53 UTC]    Description field in categories: YES
[16-Nov-2025 15:18:53 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:18:53 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:18:53 UTC]    Is_active field in books: YES
[16-Nov-2025 15:18:53 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:18:53 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:18:53 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:18:53 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:53 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:18:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:18:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:18:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:18:53 UTC] 📊 Database Info:
[16-Nov-2025 15:18:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:18:53 UTC]    Books columns count: 53
[16-Nov-2025 15:18:53 UTC]    Categories columns count: 7
[16-Nov-2025 15:18:53 UTC]    Language field in books: YES
[16-Nov-2025 15:18:53 UTC]    Format field in books: YES
[16-Nov-2025 15:18:53 UTC]    Description field in categories: YES
[16-Nov-2025 15:18:53 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:18:53 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:18:53 UTC]    Is_active field in books: YES
[16-Nov-2025 15:18:53 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:18:53 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:18:53 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:18:53 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:18:53 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:18:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:18:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:18:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:18:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:18:53 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:18:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:53 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:18:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:53 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:18:53 UTC] 📊 Database Info:
[16-Nov-2025 15:18:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:18:53 UTC]    Books columns count: 53
[16-Nov-2025 15:18:53 UTC]    Categories columns count: 7
[16-Nov-2025 15:18:53 UTC]    Language field in books: YES
[16-Nov-2025 15:18:53 UTC]    Format field in books: YES
[16-Nov-2025 15:18:53 UTC]    Description field in categories: YES
[16-Nov-2025 15:18:53 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:18:53 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:18:53 UTC]    Is_active field in books: YES
[16-Nov-2025 15:18:53 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:18:53 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:18:53 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:18:53 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:18:53 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:18:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:18:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:18:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:54 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:18:54 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:18:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:18:54 UTC] 📊 Database Info:
[16-Nov-2025 15:18:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:18:54 UTC]    Books columns count: 53
[16-Nov-2025 15:18:54 UTC]    Categories columns count: 7
[16-Nov-2025 15:18:54 UTC]    Language field in books: YES
[16-Nov-2025 15:18:54 UTC]    Format field in books: YES
[16-Nov-2025 15:18:54 UTC]    Description field in categories: YES
[16-Nov-2025 15:18:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:18:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:18:54 UTC]    Is_active field in books: YES
[16-Nov-2025 15:18:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:18:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:18:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:18:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:18:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:18:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:18:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:18:54 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:18:54 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:18:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:54 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:18:54 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:18:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:18:54 UTC] 📊 Database Info:
[16-Nov-2025 15:18:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:18:54 UTC]    Books columns count: 53
[16-Nov-2025 15:18:54 UTC]    Categories columns count: 7
[16-Nov-2025 15:18:54 UTC]    Language field in books: YES
[16-Nov-2025 15:18:54 UTC]    Format field in books: YES
[16-Nov-2025 15:18:54 UTC]    Description field in categories: YES
[16-Nov-2025 15:18:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:18:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:18:54 UTC]    Is_active field in books: YES
[16-Nov-2025 15:18:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:18:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:18:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:18:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:18:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:18:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:18:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:18:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:18:54 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:18:54 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:18:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:55 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:18:55 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:18:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:55 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:18:55 UTC] 📊 Database Info:
[16-Nov-2025 15:18:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:18:55 UTC]    Books columns count: 53
[16-Nov-2025 15:18:55 UTC]    Categories columns count: 7
[16-Nov-2025 15:18:55 UTC]    Language field in books: YES
[16-Nov-2025 15:18:55 UTC]    Format field in books: YES
[16-Nov-2025 15:18:55 UTC]    Description field in categories: YES
[16-Nov-2025 15:18:55 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:18:55 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:18:55 UTC]    Is_active field in books: YES
[16-Nov-2025 15:18:55 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:18:55 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:18:55 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:18:55 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:18:55 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:18:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:18:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:18:55 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:18:55 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:18:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:18:55 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:18:55 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:18:55 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:18:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:18:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:18:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:18:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:18:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:18:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:18:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:18:55 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:18:55 UTC] 📊 Database Info:
[16-Nov-2025 15:18:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:18:55 UTC]    Books columns count: 53
[16-Nov-2025 15:18:55 UTC]    Categories columns count: 7
[16-Nov-2025 15:18:55 UTC]    Language field in books: YES
[16-Nov-2025 15:18:55 UTC]    Format field in books: YES
[16-Nov-2025 15:18:55 UTC]    Description field in categories: YES
[16-Nov-2025 15:18:55 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:18:55 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:18:55 UTC]    Is_active field in books: YES
[16-Nov-2025 15:18:55 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:18:55 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:18:55 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:18:55 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:18:55 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:18:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:18:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:18:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:18:55 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:18:55 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:19:02 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:19:02 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:19:03 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:19:03 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:19:03 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:19:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:19:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:19:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:19:03 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:19:03 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:19:03 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:19:03 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:19:03 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:19:03 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:19:03 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:19:03 UTC] 📊 Database Info:
[16-Nov-2025 15:19:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:19:03 UTC]    Books columns count: 53
[16-Nov-2025 15:19:03 UTC]    Categories columns count: 7
[16-Nov-2025 15:19:03 UTC]    Language field in books: YES
[16-Nov-2025 15:19:03 UTC]    Format field in books: YES
[16-Nov-2025 15:19:03 UTC]    Description field in categories: YES
[16-Nov-2025 15:19:03 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:19:03 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:19:03 UTC]    Is_active field in books: YES
[16-Nov-2025 15:19:03 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:19:03 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:19:03 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:19:03 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:19:03 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:19:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:19:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:19:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:19:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:19:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:19:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:19:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:19:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:19:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:19:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:19:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:19:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:19:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:19:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:19:03 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:19:03 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:19:03 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:19:03 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:19:03 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:19:03 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:19:03 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:19:03 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:19:03 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:19:03 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:19:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:19:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:19:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:19:03 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:19:03 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:19:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:19:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:19:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:19:03 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:19:03 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:19:03 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:19:03 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:19:03 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:19:03 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:19:03 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:19:03 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:19:03 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:19:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:19:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:19:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:19:03 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:19:03 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:19:03 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:19:03 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:19:04 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:19:04 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:19:04 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:19:04 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:19:04 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:19:04 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:19:04 UTC] 📊 Database Info:
[16-Nov-2025 15:19:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:19:04 UTC]    Books columns count: 53
[16-Nov-2025 15:19:04 UTC]    Categories columns count: 7
[16-Nov-2025 15:19:04 UTC]    Language field in books: YES
[16-Nov-2025 15:19:04 UTC]    Format field in books: YES
[16-Nov-2025 15:19:04 UTC]    Description field in categories: YES
[16-Nov-2025 15:19:04 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:19:04 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:19:04 UTC]    Is_active field in books: YES
[16-Nov-2025 15:19:04 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:19:04 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:19:04 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:19:04 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:19:04 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:19:04 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:19:04 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:19:04 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:19:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:19:04 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:19:04 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:19:04 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:19:04 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:19:04 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:19:04 UTC] 📊 Database Info:
[16-Nov-2025 15:19:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:19:04 UTC]    Books columns count: 53
[16-Nov-2025 15:19:04 UTC]    Categories columns count: 7
[16-Nov-2025 15:19:04 UTC]    Language field in books: YES
[16-Nov-2025 15:19:04 UTC]    Format field in books: YES
[16-Nov-2025 15:19:04 UTC]    Description field in categories: YES
[16-Nov-2025 15:19:04 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:19:04 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:19:04 UTC]    Is_active field in books: YES
[16-Nov-2025 15:19:04 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:19:04 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:19:04 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:19:04 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:19:04 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:19:04 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:19:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:19:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:19:04 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:19:04 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:19:04 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:19:04 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:19:04 UTC] 📊 Database Info:
[16-Nov-2025 15:19:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:19:04 UTC]    Books columns count: 53
[16-Nov-2025 15:19:04 UTC]    Categories columns count: 7
[16-Nov-2025 15:19:04 UTC]    Language field in books: YES
[16-Nov-2025 15:19:04 UTC]    Format field in books: YES
[16-Nov-2025 15:19:04 UTC]    Description field in categories: YES
[16-Nov-2025 15:19:04 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:19:04 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:19:04 UTC]    Is_active field in books: YES
[16-Nov-2025 15:19:04 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:19:04 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:19:04 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:19:04 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:19:04 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:19:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:19:04 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:19:04 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:19:04 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:19:04 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:19:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:19:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:19:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:19:04 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:19:04 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:19:04 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:19:04 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:19:04 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:19:04 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:19:04 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:19:04 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:19:04 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:19:04 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:19:04 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:19:04 UTC] 📊 Database Info:
[16-Nov-2025 15:19:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:19:04 UTC]    Books columns count: 53
[16-Nov-2025 15:19:04 UTC]    Categories columns count: 7
[16-Nov-2025 15:19:04 UTC]    Language field in books: YES
[16-Nov-2025 15:19:04 UTC]    Format field in books: YES
[16-Nov-2025 15:19:04 UTC]    Description field in categories: YES
[16-Nov-2025 15:19:04 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:19:04 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:19:04 UTC]    Is_active field in books: YES
[16-Nov-2025 15:19:04 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:19:04 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:19:04 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:19:04 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:19:04 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:19:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:19:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:19:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:19:04 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:19:04 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:19:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:19:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:19:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:19:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:19:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:19:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:19:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:19:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:19:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:19:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:19:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:19:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:19:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:19:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:19:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:19:06 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:19:06 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:19:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:19:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:19:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:19:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:19:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:19:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:19:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:19:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:19:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:19:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:19:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:19:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:19:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:19:06 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:19:06 UTC] 📊 Database Info:
[16-Nov-2025 15:19:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:19:06 UTC]    Books columns count: 53
[16-Nov-2025 15:19:06 UTC]    Categories columns count: 7
[16-Nov-2025 15:19:06 UTC]    Language field in books: YES
[16-Nov-2025 15:19:06 UTC]    Format field in books: YES
[16-Nov-2025 15:19:06 UTC]    Description field in categories: YES
[16-Nov-2025 15:19:06 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:19:06 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:19:06 UTC]    Is_active field in books: YES
[16-Nov-2025 15:19:06 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:19:06 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:19:06 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:19:06 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:19:06 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:19:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:19:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:19:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:19:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:19:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:19:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:19:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:19:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:19:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:19:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:19:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:19:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:19:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:19:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:19:06 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:19:06 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:20:07 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:07 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:07 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:07 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:08 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:08 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:08 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:08 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:08 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:08 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:08 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:08 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:08 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:08 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:08 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:08 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:08 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:08 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:08 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:08 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:08 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:08 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:08 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:08 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:08 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:08 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:08 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:08 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:08 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:08 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:08 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:08 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:08 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:08 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:08 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:08 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:08 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:08 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:08 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:08 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:08 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:08 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:08 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:09 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:09 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:09 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:09 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:09 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:09 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:09 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:09 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:10 UTC] 📊 Database Info:
[16-Nov-2025 15:20:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:10 UTC]    Books columns count: 53
[16-Nov-2025 15:20:10 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:10 UTC]    Language field in books: YES
[16-Nov-2025 15:20:10 UTC]    Format field in books: YES
[16-Nov-2025 15:20:10 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:10 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:10 UTC] 📊 Database Info:
[16-Nov-2025 15:20:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:10 UTC]    Books columns count: 53
[16-Nov-2025 15:20:10 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:10 UTC]    Language field in books: YES
[16-Nov-2025 15:20:10 UTC]    Format field in books: YES
[16-Nov-2025 15:20:10 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:10 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:10 UTC] 📊 Database Info:
[16-Nov-2025 15:20:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:10 UTC]    Books columns count: 53
[16-Nov-2025 15:20:10 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:10 UTC]    Language field in books: YES
[16-Nov-2025 15:20:10 UTC]    Format field in books: YES
[16-Nov-2025 15:20:10 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:10 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:20:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:20:10 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:20:26 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:26 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:26 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:26 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:26 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:26 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:26 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:26 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:26 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:26 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:26 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:26 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:26 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:26 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:26 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:26 UTC] 📊 Database Info:
[16-Nov-2025 15:20:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:26 UTC]    Books columns count: 53
[16-Nov-2025 15:20:26 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:26 UTC]    Language field in books: YES
[16-Nov-2025 15:20:26 UTC]    Format field in books: YES
[16-Nov-2025 15:20:26 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:26 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:26 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:26 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:26 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:26 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:26 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:26 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:26 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:26 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:26 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:26 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:26 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:26 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:26 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:27 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:27 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:27 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:27 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:27 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:27 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:27 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:27 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:27 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:27 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:27 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:27 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:27 UTC] 📊 Database Info:
[16-Nov-2025 15:20:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:27 UTC]    Books columns count: 53
[16-Nov-2025 15:20:27 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:27 UTC]    Language field in books: YES
[16-Nov-2025 15:20:27 UTC]    Format field in books: YES
[16-Nov-2025 15:20:27 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:27 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:27 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:27 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:27 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:27 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:27 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:27 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:27 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:27 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:27 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:28 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:28 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:28 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:28 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:28 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:28 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:28 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:28 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:28 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:28 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:28 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:28 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:28 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:28 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:28 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:28 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:28 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:28 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:28 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:28 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:28 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:28 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:28 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:28 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:28 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:29 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:29 UTC] 📊 Database Info:
[16-Nov-2025 15:20:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:29 UTC]    Books columns count: 53
[16-Nov-2025 15:20:29 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:29 UTC]    Language field in books: YES
[16-Nov-2025 15:20:29 UTC]    Format field in books: YES
[16-Nov-2025 15:20:29 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:29 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:29 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:29 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:29 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:29 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:29 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:29 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:29 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:29 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:29 UTC] 📊 Database Info:
[16-Nov-2025 15:20:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:29 UTC]    Books columns count: 53
[16-Nov-2025 15:20:29 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:29 UTC]    Language field in books: YES
[16-Nov-2025 15:20:29 UTC]    Format field in books: YES
[16-Nov-2025 15:20:29 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:29 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:29 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:29 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:29 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:29 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:29 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:29 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:20:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:20:29 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:20:29 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:20:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:20:29 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:20:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:29 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:29 UTC] 📊 Database Info:
[16-Nov-2025 15:20:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:29 UTC]    Books columns count: 53
[16-Nov-2025 15:20:29 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:29 UTC]    Language field in books: YES
[16-Nov-2025 15:20:29 UTC]    Format field in books: YES
[16-Nov-2025 15:20:29 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:29 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:29 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:29 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:29 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:29 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:29 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:29 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:29 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:20:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:20:29 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:20:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:33 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:34 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:34 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:34 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:34 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:34 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:34 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:34 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:34 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:34 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:34 UTC] 📊 Database Info:
[16-Nov-2025 15:20:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:34 UTC]    Books columns count: 53
[16-Nov-2025 15:20:34 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:34 UTC]    Language field in books: YES
[16-Nov-2025 15:20:34 UTC]    Format field in books: YES
[16-Nov-2025 15:20:34 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:34 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:34 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:34 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:34 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:34 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:34 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:34 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:34 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:34 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:34 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:34 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:34 UTC] 📊 Database Info:
[16-Nov-2025 15:20:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:34 UTC]    Books columns count: 53
[16-Nov-2025 15:20:34 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:34 UTC]    Language field in books: YES
[16-Nov-2025 15:20:34 UTC]    Format field in books: YES
[16-Nov-2025 15:20:34 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:34 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:34 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:34 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:34 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:34 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:34 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:34 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:34 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:34 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:34 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:34 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:34 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:34 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:34 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:34 UTC] 📊 Database Info:
[16-Nov-2025 15:20:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:34 UTC]    Books columns count: 53
[16-Nov-2025 15:20:34 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:34 UTC]    Language field in books: YES
[16-Nov-2025 15:20:34 UTC]    Format field in books: YES
[16-Nov-2025 15:20:34 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:34 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:34 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:34 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:34 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:34 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:34 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:34 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:34 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:20:34 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:20:34 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:20:35 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:35 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:35 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:35 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:35 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:35 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:35 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:35 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:35 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:35 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:35 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:35 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:35 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:35 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:35 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:35 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:35 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:35 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:35 UTC] 📊 Database Info:
[16-Nov-2025 15:20:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:35 UTC]    Books columns count: 53
[16-Nov-2025 15:20:35 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:35 UTC]    Language field in books: YES
[16-Nov-2025 15:20:35 UTC]    Format field in books: YES
[16-Nov-2025 15:20:35 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:35 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:35 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:35 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:35 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:35 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:35 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:35 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:35 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:20:35 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:20:35 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:20:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:35 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:35 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:35 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:35 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:35 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:35 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:35 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:35 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:35 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:35 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:35 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:35 UTC] 📊 Database Info:
[16-Nov-2025 15:20:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:35 UTC]    Books columns count: 53
[16-Nov-2025 15:20:35 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:35 UTC]    Language field in books: YES
[16-Nov-2025 15:20:35 UTC]    Format field in books: YES
[16-Nov-2025 15:20:35 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:35 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:35 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:35 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:35 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:35 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:35 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:35 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:35 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:20:35 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:20:35 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:20:37 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:38 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:38 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:38 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:38 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:38 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:38 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:38 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:38 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:38 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:38 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:38 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:38 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:38 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:38 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:38 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:38 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:38 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:38 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:38 UTC] 📊 Database Info:
[16-Nov-2025 15:20:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:38 UTC]    Books columns count: 53
[16-Nov-2025 15:20:38 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:38 UTC]    Language field in books: YES
[16-Nov-2025 15:20:38 UTC]    Format field in books: YES
[16-Nov-2025 15:20:38 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:38 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:38 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:38 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:38 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:38 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:38 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:38 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:38 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:40 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:40 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:40 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:40 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:40 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:40 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:40 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:40 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:40 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:40 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:40 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:40 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:40 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:40 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:40 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:40 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:40 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:40 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:40 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:40 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:40 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:40 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:40 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:40 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:40 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:40 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:40 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:40 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:40 UTC] 📊 Database Info:
[16-Nov-2025 15:20:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:40 UTC]    Books columns count: 53
[16-Nov-2025 15:20:40 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:40 UTC]    Language field in books: YES
[16-Nov-2025 15:20:40 UTC]    Format field in books: YES
[16-Nov-2025 15:20:40 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:40 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:40 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:40 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:40 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:40 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:40 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:40 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:40 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:20:40 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:20:40 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:20:41 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:41 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:41 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:41 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:41 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:41 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:41 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:41 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:41 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:41 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:41 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:41 UTC] 📊 Database Info:
[16-Nov-2025 15:20:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:41 UTC]    Books columns count: 53
[16-Nov-2025 15:20:41 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:41 UTC]    Language field in books: YES
[16-Nov-2025 15:20:41 UTC]    Format field in books: YES
[16-Nov-2025 15:20:41 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:41 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:41 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:41 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:41 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:41 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:41 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:41 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:41 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:20:41 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:20:41 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:20:41 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:41 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:41 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:41 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:41 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:41 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:41 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:41 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:41 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:41 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:41 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:41 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:41 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:41 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:41 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:41 UTC] 📊 Database Info:
[16-Nov-2025 15:20:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:41 UTC]    Books columns count: 53
[16-Nov-2025 15:20:41 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:41 UTC]    Language field in books: YES
[16-Nov-2025 15:20:41 UTC]    Format field in books: YES
[16-Nov-2025 15:20:41 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:41 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:41 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:41 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:41 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:41 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:41 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:41 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:41 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:42 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:42 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:42 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:42 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:42 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:42 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:42 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:42 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:42 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:42 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:42 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:42 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:42 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:42 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:42 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:42 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:42 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:42 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:42 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:42 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:42 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:42 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:42 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:42 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:42 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:42 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:42 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:42 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:42 UTC] 📊 Database Info:
[16-Nov-2025 15:20:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:42 UTC]    Books columns count: 53
[16-Nov-2025 15:20:42 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:42 UTC]    Language field in books: YES
[16-Nov-2025 15:20:42 UTC]    Format field in books: YES
[16-Nov-2025 15:20:42 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:42 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:42 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:42 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:42 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:42 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:42 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:42 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:42 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:45 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:45 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:45 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:45 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:45 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:45 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:45 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:45 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:45 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:46 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:46 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:46 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:46 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:46 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:46 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:46 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:46 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:46 UTC] 📊 Database Info:
[16-Nov-2025 15:20:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:46 UTC]    Books columns count: 53
[16-Nov-2025 15:20:46 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:46 UTC]    Language field in books: YES
[16-Nov-2025 15:20:46 UTC]    Format field in books: YES
[16-Nov-2025 15:20:46 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:46 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:46 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:46 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:46 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:46 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:46 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:46 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:46 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:46 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:46 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:46 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:46 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:46 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:46 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:46 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:46 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:46 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:46 UTC] 📊 Database Info:
[16-Nov-2025 15:20:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:46 UTC]    Books columns count: 53
[16-Nov-2025 15:20:46 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:46 UTC]    Language field in books: YES
[16-Nov-2025 15:20:46 UTC]    Format field in books: YES
[16-Nov-2025 15:20:46 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:46 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:46 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:46 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:46 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:46 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:46 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:46 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:46 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:46 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:46 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:46 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:46 UTC] 📊 Database Info:
[16-Nov-2025 15:20:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:46 UTC]    Books columns count: 53
[16-Nov-2025 15:20:46 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:46 UTC]    Language field in books: YES
[16-Nov-2025 15:20:46 UTC]    Format field in books: YES
[16-Nov-2025 15:20:46 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:46 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:46 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:46 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:46 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:46 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:46 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:46 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:46 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:20:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:20:46 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:20:47 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:47 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:47 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:47 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:47 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:47 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:47 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:47 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:47 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:47 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:47 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:47 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:47 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:47 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:47 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:47 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:47 UTC] 📊 Database Info:
[16-Nov-2025 15:20:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:47 UTC]    Books columns count: 53
[16-Nov-2025 15:20:47 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:47 UTC]    Language field in books: YES
[16-Nov-2025 15:20:47 UTC]    Format field in books: YES
[16-Nov-2025 15:20:47 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:47 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:47 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:47 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:47 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:47 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:47 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:47 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:47 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:20:47 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:20:47 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:20:47 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:47 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:48 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:48 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:48 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:48 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:48 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:48 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:48 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:48 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:48 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:48 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:48 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:20:48 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:20:48 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:20:48 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:20:48 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:20:48 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:20:48 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:20:48 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:20:48 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:20:48 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:20:48 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:20:48 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:20:48 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:20:48 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:20:48 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:20:48 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:20:48 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:20:48 UTC] 📊 Database Info:
[16-Nov-2025 15:20:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:20:48 UTC]    Books columns count: 53
[16-Nov-2025 15:20:48 UTC]    Categories columns count: 7
[16-Nov-2025 15:20:48 UTC]    Language field in books: YES
[16-Nov-2025 15:20:48 UTC]    Format field in books: YES
[16-Nov-2025 15:20:48 UTC]    Description field in categories: YES
[16-Nov-2025 15:20:48 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:20:48 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:20:48 UTC]    Is_active field in books: YES
[16-Nov-2025 15:20:48 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:20:48 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:20:48 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:20:48 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:20:48 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:20:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:20:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:20:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:20:48 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:20:48 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:21:07 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:07 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:21:07 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:21:07 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:07 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:21:07 UTC] 📊 Database Info:
[16-Nov-2025 15:21:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:21:07 UTC]    Books columns count: 53
[16-Nov-2025 15:21:07 UTC]    Categories columns count: 7
[16-Nov-2025 15:21:07 UTC]    Language field in books: YES
[16-Nov-2025 15:21:07 UTC]    Format field in books: YES
[16-Nov-2025 15:21:07 UTC]    Description field in categories: YES
[16-Nov-2025 15:21:07 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:21:07 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:21:07 UTC]    Is_active field in books: YES
[16-Nov-2025 15:21:07 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:21:07 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:21:07 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:21:07 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:21:07 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:21:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:21:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:21:07 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:21:07 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:21:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:08 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:08 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:08 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:08 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:08 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:08 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:08 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:08 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:21:08 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:08 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:08 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:21:08 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:21:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:08 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:08 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:08 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:08 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:08 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:08 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:08 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:08 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:21:08 UTC] 📊 Database Info:
[16-Nov-2025 15:21:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:21:08 UTC]    Books columns count: 53
[16-Nov-2025 15:21:08 UTC]    Categories columns count: 7
[16-Nov-2025 15:21:08 UTC]    Language field in books: YES
[16-Nov-2025 15:21:08 UTC]    Format field in books: YES
[16-Nov-2025 15:21:08 UTC]    Description field in categories: YES
[16-Nov-2025 15:21:08 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:21:08 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:21:08 UTC]    Is_active field in books: YES
[16-Nov-2025 15:21:08 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:21:08 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:21:08 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:21:08 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:21:08 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:21:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:08 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:08 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:08 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:08 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:21:08 UTC] 📊 Database Info:
[16-Nov-2025 15:21:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:21:08 UTC]    Books columns count: 53
[16-Nov-2025 15:21:08 UTC]    Categories columns count: 7
[16-Nov-2025 15:21:08 UTC]    Language field in books: YES
[16-Nov-2025 15:21:08 UTC]    Format field in books: YES
[16-Nov-2025 15:21:08 UTC]    Description field in categories: YES
[16-Nov-2025 15:21:08 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:21:08 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:21:08 UTC]    Is_active field in books: YES
[16-Nov-2025 15:21:08 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:21:08 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:21:08 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:21:08 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:21:08 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:21:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:21:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:09 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:09 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:09 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:09 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:09 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:09 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:09 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:09 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:09 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:09 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:09 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:09 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:21:09 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:21:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:09 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:09 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:09 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:09 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:09 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:09 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:09 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:09 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:09 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:09 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:09 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:09 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:09 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:21:09 UTC] 📊 Database Info:
[16-Nov-2025 15:21:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:21:09 UTC]    Books columns count: 53
[16-Nov-2025 15:21:09 UTC]    Categories columns count: 7
[16-Nov-2025 15:21:09 UTC]    Language field in books: YES
[16-Nov-2025 15:21:09 UTC]    Format field in books: YES
[16-Nov-2025 15:21:09 UTC]    Description field in categories: YES
[16-Nov-2025 15:21:09 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:21:09 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:21:09 UTC]    Is_active field in books: YES
[16-Nov-2025 15:21:09 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:21:09 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:21:09 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:21:09 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:21:09 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:21:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:21:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:21:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:21:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:21:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:21:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:21:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:21:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:21:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:21:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:21:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:21:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:21:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:21:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:21:09 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:21:09 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:21:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:10 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:21:10 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:21:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:21:10 UTC] 📊 Database Info:
[16-Nov-2025 15:21:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:21:10 UTC]    Books columns count: 53
[16-Nov-2025 15:21:10 UTC]    Categories columns count: 7
[16-Nov-2025 15:21:10 UTC]    Language field in books: YES
[16-Nov-2025 15:21:10 UTC]    Format field in books: YES
[16-Nov-2025 15:21:10 UTC]    Description field in categories: YES
[16-Nov-2025 15:21:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:21:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:21:10 UTC]    Is_active field in books: YES
[16-Nov-2025 15:21:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:21:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:21:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:21:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:21:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:21:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:21:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:21:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:21:10 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:10 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:21:10 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:21:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:21:10 UTC] 📊 Database Info:
[16-Nov-2025 15:21:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:21:10 UTC]    Books columns count: 53
[16-Nov-2025 15:21:10 UTC]    Categories columns count: 7
[16-Nov-2025 15:21:10 UTC]    Language field in books: YES
[16-Nov-2025 15:21:10 UTC]    Format field in books: YES
[16-Nov-2025 15:21:10 UTC]    Description field in categories: YES
[16-Nov-2025 15:21:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:21:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:21:10 UTC]    Is_active field in books: YES
[16-Nov-2025 15:21:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:21:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:21:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:21:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:21:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:21:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:21:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:21:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:21:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:21:10 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:21:40 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:40 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:40 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:40 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:40 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:40 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:40 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:40 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:40 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:40 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:40 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:40 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:40 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:40 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:21:40 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:21:40 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:40 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:40 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:40 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:40 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:40 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:40 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:40 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:40 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:40 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:40 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:40 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:40 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:40 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:40 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:40 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:40 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:40 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:40 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:40 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:21:40 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:21:40 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:40 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:21:40 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:21:40 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:40 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:40 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:41 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:41 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:41 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:41 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:41 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:41 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:41 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:41 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:21:41 UTC] 📊 Database Info:
[16-Nov-2025 15:21:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:21:41 UTC]    Books columns count: 53
[16-Nov-2025 15:21:41 UTC]    Categories columns count: 7
[16-Nov-2025 15:21:41 UTC]    Language field in books: YES
[16-Nov-2025 15:21:41 UTC]    Format field in books: YES
[16-Nov-2025 15:21:41 UTC]    Description field in categories: YES
[16-Nov-2025 15:21:41 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:21:41 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:21:41 UTC]    Is_active field in books: YES
[16-Nov-2025 15:21:41 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:21:41 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:21:41 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:21:41 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:21:41 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:21:41 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:21:41 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:21:41 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:21:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:21:41 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:41 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:41 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:41 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:41 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:41 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:41 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:21:41 UTC] 📊 Database Info:
[16-Nov-2025 15:21:41 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:21:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:21:41 UTC] 📊 Database Info:
[16-Nov-2025 15:21:41 UTC]    Books columns count: 53
[16-Nov-2025 15:21:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:21:41 UTC]    Categories columns count: 7
[16-Nov-2025 15:21:41 UTC]    Books columns count: 53
[16-Nov-2025 15:21:41 UTC]    Categories columns count: 7
[16-Nov-2025 15:21:41 UTC]    Language field in books: YES
[16-Nov-2025 15:21:41 UTC]    Language field in books: YES
[16-Nov-2025 15:21:41 UTC]    Format field in books: YES
[16-Nov-2025 15:21:41 UTC]    Format field in books: YES
[16-Nov-2025 15:21:41 UTC]    Description field in categories: YES
[16-Nov-2025 15:21:41 UTC]    Description field in categories: YES
[16-Nov-2025 15:21:41 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:21:41 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:21:41 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:21:41 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:21:41 UTC]    Is_active field in books: YES
[16-Nov-2025 15:21:41 UTC]    Is_active field in books: YES
[16-Nov-2025 15:21:41 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:21:41 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:21:41 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:21:41 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:21:41 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:21:41 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:21:41 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:21:41 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:21:41 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:21:41 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:21:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:21:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:21:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:21:41 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:21:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:21:41 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:21:41 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:41 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:41 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:41 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:41 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:41 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:41 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:41 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:21:41 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:21:41 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:41 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:42 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:42 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:42 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:42 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:42 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:42 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:42 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:42 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:42 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:42 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:42 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:42 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:42 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:42 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:21:42 UTC] 📊 Database Info:
[16-Nov-2025 15:21:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:21:42 UTC]    Books columns count: 53
[16-Nov-2025 15:21:42 UTC]    Categories columns count: 7
[16-Nov-2025 15:21:42 UTC]    Language field in books: YES
[16-Nov-2025 15:21:42 UTC]    Format field in books: YES
[16-Nov-2025 15:21:42 UTC]    Description field in categories: YES
[16-Nov-2025 15:21:42 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:21:42 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:21:42 UTC]    Is_active field in books: YES
[16-Nov-2025 15:21:42 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:21:42 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:21:42 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:21:42 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:21:42 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:21:42 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:21:42 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:21:42 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:21:42 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:21:42 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:21:42 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:21:42 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:21:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:21:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:21:42 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:21:42 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:21:42 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:42 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:42 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:42 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:42 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:42 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:42 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:42 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:42 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:42 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:42 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:42 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:42 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:21:42 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:21:42 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:42 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:42 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:42 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:42 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:42 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:42 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:42 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:42 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:42 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:42 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:42 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:42 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:42 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:21:42 UTC] 📊 Database Info:
[16-Nov-2025 15:21:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:21:42 UTC]    Books columns count: 53
[16-Nov-2025 15:21:42 UTC]    Categories columns count: 7
[16-Nov-2025 15:21:42 UTC]    Language field in books: YES
[16-Nov-2025 15:21:42 UTC]    Format field in books: YES
[16-Nov-2025 15:21:42 UTC]    Description field in categories: YES
[16-Nov-2025 15:21:42 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:21:42 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:21:42 UTC]    Is_active field in books: YES
[16-Nov-2025 15:21:42 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:21:42 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:21:42 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:21:42 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:21:42 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:21:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:21:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:21:44 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:44 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:44 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:44 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:44 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:44 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:44 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:44 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:44 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:44 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:45 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:45 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:45 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:45 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:45 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:45 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:45 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:45 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:45 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:45 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:45 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:21:45 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:21:45 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:21:45 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:21:45 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:21:45 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:21:45 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:21:45 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:21:45 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:21:45 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:21:45 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:21:45 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:21:45 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:21:45 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:21:45 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:21:45 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:21:45 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:21:45 UTC] 📊 Database Info:
[16-Nov-2025 15:21:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:21:45 UTC]    Books columns count: 53
[16-Nov-2025 15:21:45 UTC]    Categories columns count: 7
[16-Nov-2025 15:21:45 UTC]    Language field in books: YES
[16-Nov-2025 15:21:45 UTC]    Format field in books: YES
[16-Nov-2025 15:21:45 UTC]    Description field in categories: YES
[16-Nov-2025 15:21:45 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:21:45 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:21:45 UTC]    Is_active field in books: YES
[16-Nov-2025 15:21:45 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:21:45 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:21:45 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:21:45 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:21:45 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:21:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:21:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:21:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:21:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:21:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:21:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:21:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:21:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:21:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:21:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:21:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:21:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:21:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:05 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:05 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:05 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:05 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:05 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:05 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:05 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:05 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:05 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:05 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:05 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:05 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:06 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:06 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:06 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:06 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:06 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:06 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:06 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:06 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:06 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:06 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:06 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:06 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:07 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:07 UTC] 📊 Database Info:
[16-Nov-2025 15:22:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:07 UTC]    Books columns count: 53
[16-Nov-2025 15:22:07 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:07 UTC]    Language field in books: YES
[16-Nov-2025 15:22:07 UTC]    Format field in books: YES
[16-Nov-2025 15:22:07 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:07 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:07 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:07 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:07 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:07 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:07 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:07 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:07 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:07 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:07 UTC] 📊 Database Info:
[16-Nov-2025 15:22:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:07 UTC]    Books columns count: 53
[16-Nov-2025 15:22:07 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:07 UTC]    Language field in books: YES
[16-Nov-2025 15:22:07 UTC]    Format field in books: YES
[16-Nov-2025 15:22:07 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:07 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:07 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:07 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:07 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:07 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:07 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:07 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:07 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:07 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:07 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:07 UTC] 📊 Database Info:
[16-Nov-2025 15:22:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:07 UTC]    Books columns count: 53
[16-Nov-2025 15:22:07 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:07 UTC]    Language field in books: YES
[16-Nov-2025 15:22:07 UTC]    Format field in books: YES
[16-Nov-2025 15:22:07 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:07 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:07 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:07 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:07 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:07 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:07 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:07 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:07 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:07 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:07 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:07 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:07 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:07 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:22:07 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:07 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:07 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:07 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:07 UTC] 📊 Database Info:
[16-Nov-2025 15:22:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:07 UTC]    Books columns count: 53
[16-Nov-2025 15:22:07 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:07 UTC]    Language field in books: YES
[16-Nov-2025 15:22:07 UTC]    Format field in books: YES
[16-Nov-2025 15:22:07 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:07 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:07 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:07 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:07 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:07 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:07 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:07 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:07 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:07 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:07 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:07 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:07 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:07 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:07 UTC] 📊 Database Info:
[16-Nov-2025 15:22:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:07 UTC]    Books columns count: 53
[16-Nov-2025 15:22:07 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:07 UTC]    Language field in books: YES
[16-Nov-2025 15:22:07 UTC]    Format field in books: YES
[16-Nov-2025 15:22:07 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:07 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:07 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:07 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:07 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:07 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:07 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:07 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:07 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:07 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:07 UTC] 📊 Database Info:
[16-Nov-2025 15:22:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:07 UTC]    Books columns count: 53
[16-Nov-2025 15:22:07 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:07 UTC]    Language field in books: YES
[16-Nov-2025 15:22:07 UTC]    Format field in books: YES
[16-Nov-2025 15:22:07 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:07 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:07 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:07 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:07 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:07 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:07 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:07 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:07 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:07 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:22:07 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:20 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:20 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:20 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:20 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:20 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:20 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:20 UTC] 📊 Database Info:
[16-Nov-2025 15:22:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:20 UTC]    Books columns count: 53
[16-Nov-2025 15:22:20 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:20 UTC]    Language field in books: YES
[16-Nov-2025 15:22:20 UTC]    Format field in books: YES
[16-Nov-2025 15:22:20 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:20 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:20 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:20 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:20 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:20 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:20 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:20 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:20 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:20 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:22:20 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:22:20 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:20 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:20 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:20 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:20 UTC] 📊 Database Info:
[16-Nov-2025 15:22:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:20 UTC]    Books columns count: 53
[16-Nov-2025 15:22:20 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:20 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:20 UTC]    Language field in books: YES
[16-Nov-2025 15:22:20 UTC]    Format field in books: YES
[16-Nov-2025 15:22:20 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:20 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:20 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:20 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:20 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:20 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:20 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:20 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:20 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:20 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:20 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:20 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:20 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:20 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:20 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:20 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:20 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:20 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:20 UTC] 📊 Database Info:
[16-Nov-2025 15:22:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:20 UTC]    Books columns count: 53
[16-Nov-2025 15:22:20 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:20 UTC]    Language field in books: YES
[16-Nov-2025 15:22:20 UTC]    Format field in books: YES
[16-Nov-2025 15:22:20 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:20 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:20 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:20 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:20 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:20 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:20 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:20 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:20 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:22 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:22 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:22 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:22 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:22 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:22 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:22 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:22 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:22 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:22 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:22 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:22 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:22 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:22 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:22 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:22 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:22 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:22 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:22 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:22 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:22 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:22 UTC] 📊 Database Info:
[16-Nov-2025 15:22:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:22 UTC]    Books columns count: 53
[16-Nov-2025 15:22:22 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:22 UTC]    Language field in books: YES
[16-Nov-2025 15:22:22 UTC]    Format field in books: YES
[16-Nov-2025 15:22:22 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:22 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:22 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:22 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:22 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:22 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:22 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:22 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:22 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:22 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:22 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:22 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:22:22 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:22:22 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:22 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:22 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:22 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:22 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:22 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:22 UTC] 📊 Database Info:
[16-Nov-2025 15:22:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:22 UTC]    Books columns count: 53
[16-Nov-2025 15:22:22 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:22 UTC]    Language field in books: YES
[16-Nov-2025 15:22:22 UTC]    Format field in books: YES
[16-Nov-2025 15:22:22 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:22 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:22 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:22 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:22 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:22 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:22 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:22 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:22 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:22 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:22 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:22 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:22 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:22 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:22 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:22 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:22 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:22 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:22 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:22 UTC] 📊 Database Info:
[16-Nov-2025 15:22:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:22 UTC]    Books columns count: 53
[16-Nov-2025 15:22:22 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:22 UTC]    Language field in books: YES
[16-Nov-2025 15:22:22 UTC]    Format field in books: YES
[16-Nov-2025 15:22:22 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:22 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:22 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:22 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:22 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:22 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:22 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:22 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:22 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:26 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:26 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:26 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:26 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:26 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:26 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:26 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:26 UTC] 📊 Database Info:
[16-Nov-2025 15:22:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:26 UTC]    Books columns count: 53
[16-Nov-2025 15:22:26 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:26 UTC]    Language field in books: YES
[16-Nov-2025 15:22:26 UTC]    Format field in books: YES
[16-Nov-2025 15:22:26 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:26 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:26 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:26 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:26 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:26 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:26 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:26 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:26 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:26 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:26 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:26 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:26 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:26 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:27 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:27 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:27 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:27 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:27 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:27 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:27 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:27 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:27 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:27 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:27 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:27 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:27 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:27 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:27 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:27 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:27 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:27 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:27 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:27 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:27 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:27 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:27 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:27 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:27 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:27 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:27 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:27 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:27 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:27 UTC] 📊 Database Info:
[16-Nov-2025 15:22:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:27 UTC]    Books columns count: 53
[16-Nov-2025 15:22:27 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:27 UTC]    Language field in books: YES
[16-Nov-2025 15:22:27 UTC]    Format field in books: YES
[16-Nov-2025 15:22:27 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:27 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:27 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:27 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:27 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:27 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:27 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:27 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:27 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:27 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:27 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:27 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:22:27 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:22:27 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:27 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:27 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:27 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:27 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:27 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:27 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:27 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:27 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:27 UTC] 📊 Database Info:
[16-Nov-2025 15:22:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:27 UTC]    Books columns count: 53
[16-Nov-2025 15:22:27 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:27 UTC]    Language field in books: YES
[16-Nov-2025 15:22:27 UTC]    Format field in books: YES
[16-Nov-2025 15:22:27 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:27 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:27 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:27 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:27 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:27 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:27 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:27 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:27 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:31 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:31 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:31 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:31 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:31 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:31 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:31 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:31 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:31 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:31 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:31 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:31 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:31 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:31 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:31 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:31 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:31 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:31 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:31 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:31 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:31 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:31 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:31 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:31 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:31 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:31 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:31 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:31 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:31 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:31 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:31 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:31 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:31 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:31 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:31 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:31 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:31 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:31 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:31 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:31 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:31 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:31 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:31 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:31 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:31 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:31 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:31 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:31 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:32 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:32 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:32 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:32 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:32 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:32 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:32 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:32 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:32 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:32 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:32 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:32 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:32 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:32 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:32 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:32 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:32 UTC] 📊 Database Info:
[16-Nov-2025 15:22:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:32 UTC]    Books columns count: 53
[16-Nov-2025 15:22:32 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:32 UTC]    Language field in books: YES
[16-Nov-2025 15:22:32 UTC]    Format field in books: YES
[16-Nov-2025 15:22:32 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:32 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:32 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:32 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:32 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:32 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:32 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:32 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:32 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:32 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:32 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:32 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:32 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:32 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:32 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:32 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:32 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:32 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:32 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:32 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:32 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:32 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:22:32 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:22:32 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:32 UTC] 📊 Database Info:
[16-Nov-2025 15:22:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:32 UTC]    Books columns count: 53
[16-Nov-2025 15:22:32 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:32 UTC]    Language field in books: YES
[16-Nov-2025 15:22:32 UTC]    Format field in books: YES
[16-Nov-2025 15:22:32 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:32 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:32 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:32 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:32 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:32 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:32 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:32 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:32 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:32 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:32 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:32 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:32 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:32 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:32 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:32 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:32 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:32 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:32 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:32 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:32 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:32 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:32 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:32 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:32 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:32 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:32 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:32 UTC] 📊 Database Info:
[16-Nov-2025 15:22:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:32 UTC]    Books columns count: 53
[16-Nov-2025 15:22:32 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:32 UTC]    Language field in books: YES
[16-Nov-2025 15:22:32 UTC]    Format field in books: YES
[16-Nov-2025 15:22:32 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:32 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:32 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:32 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:32 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:32 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:32 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:32 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:32 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:33 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:33 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:33 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:33 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:33 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:33 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:33 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:33 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:33 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:33 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:33 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:33 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:33 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:33 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:33 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:33 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:33 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:33 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:33 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:33 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:33 UTC] 📊 Database Info:
[16-Nov-2025 15:22:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:33 UTC]    Books columns count: 53
[16-Nov-2025 15:22:33 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:33 UTC]    Language field in books: YES
[16-Nov-2025 15:22:33 UTC]    Format field in books: YES
[16-Nov-2025 15:22:33 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:33 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:33 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:33 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:33 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:33 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:33 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:33 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:33 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:33 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:33 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:33 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:22:33 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:22:33 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:33 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:33 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:33 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:33 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:33 UTC] 📊 Database Info:
[16-Nov-2025 15:22:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:33 UTC]    Books columns count: 53
[16-Nov-2025 15:22:33 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:33 UTC]    Language field in books: YES
[16-Nov-2025 15:22:33 UTC]    Format field in books: YES
[16-Nov-2025 15:22:33 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:33 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:33 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:33 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:33 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:33 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:33 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:33 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:33 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:33 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:33 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:33 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:33 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:33 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:33 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:33 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:33 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:33 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:33 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:33 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:33 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:33 UTC] 📊 Database Info:
[16-Nov-2025 15:22:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:33 UTC]    Books columns count: 53
[16-Nov-2025 15:22:33 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:33 UTC]    Language field in books: YES
[16-Nov-2025 15:22:33 UTC]    Format field in books: YES
[16-Nov-2025 15:22:33 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:33 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:33 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:33 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:33 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:33 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:33 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:33 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:33 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:41 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:41 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:42 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:42 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:42 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:42 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:42 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:42 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:42 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:42 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:42 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:42 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:42 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:42 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:22:42 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:42 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:22:42 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:22:42 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:42 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:22:42 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:22:42 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:42 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:42 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:42 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:42 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:22:42 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:42 UTC] 📊 Database Info:
[16-Nov-2025 15:22:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:42 UTC]    Books columns count: 53
[16-Nov-2025 15:22:42 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:42 UTC]    Language field in books: YES
[16-Nov-2025 15:22:42 UTC]    Format field in books: YES
[16-Nov-2025 15:22:42 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:42 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:42 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:42 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:42 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:42 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:42 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:42 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:42 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:42 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:22:42 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:22:42 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:22:42 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:22:42 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:22:42 UTC] 📊 Database Info:
[16-Nov-2025 15:22:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:22:42 UTC]    Books columns count: 53
[16-Nov-2025 15:22:42 UTC]    Categories columns count: 7
[16-Nov-2025 15:22:42 UTC]    Language field in books: YES
[16-Nov-2025 15:22:42 UTC]    Format field in books: YES
[16-Nov-2025 15:22:42 UTC]    Description field in categories: YES
[16-Nov-2025 15:22:42 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:22:42 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:22:42 UTC]    Is_active field in books: YES
[16-Nov-2025 15:22:42 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:22:42 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:22:42 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:22:42 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:22:42 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:22:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:22:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:04 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:04 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:05 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:05 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:05 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:05 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:05 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:05 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:05 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:05 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:05 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:05 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:05 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:05 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:05 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:05 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:05 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:05 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:05 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:05 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:05 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:05 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:05 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:05 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:05 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:05 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:05 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:05 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:05 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:05 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:05 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:05 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:05 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:05 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:05 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:05 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:05 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:05 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:06 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:06 UTC] 📊 Database Info:
[16-Nov-2025 15:23:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:06 UTC]    Books columns count: 53
[16-Nov-2025 15:23:06 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:06 UTC]    Language field in books: YES
[16-Nov-2025 15:23:06 UTC]    Format field in books: YES
[16-Nov-2025 15:23:06 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:06 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:06 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:06 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:06 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:06 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:06 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:06 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:06 UTC] 📊 Database Info:
[16-Nov-2025 15:23:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:06 UTC]    Books columns count: 53
[16-Nov-2025 15:23:06 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:06 UTC]    Language field in books: YES
[16-Nov-2025 15:23:06 UTC]    Format field in books: YES
[16-Nov-2025 15:23:06 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:06 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:06 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:06 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:06 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:06 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:06 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:06 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:06 UTC] 📊 Database Info:
[16-Nov-2025 15:23:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:06 UTC]    Books columns count: 53
[16-Nov-2025 15:23:06 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:06 UTC]    Language field in books: YES
[16-Nov-2025 15:23:06 UTC]    Format field in books: YES
[16-Nov-2025 15:23:06 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:06 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:06 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:06 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:06 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:06 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:06 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:06 UTC] 📊 Database Info:
[16-Nov-2025 15:23:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:06 UTC]    Books columns count: 53
[16-Nov-2025 15:23:06 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:06 UTC]    Language field in books: YES
[16-Nov-2025 15:23:06 UTC]    Format field in books: YES
[16-Nov-2025 15:23:06 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:06 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:06 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:06 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:06 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:06 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:06 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:06 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:06 UTC] 📊 Database Info:
[16-Nov-2025 15:23:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:06 UTC]    Books columns count: 53
[16-Nov-2025 15:23:06 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:06 UTC]    Language field in books: YES
[16-Nov-2025 15:23:06 UTC]    Format field in books: YES
[16-Nov-2025 15:23:06 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:06 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:06 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:06 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:06 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:06 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:23:06 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:06 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:06 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:06 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:06 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:06 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:06 UTC] 📊 Database Info:
[16-Nov-2025 15:23:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:06 UTC]    Books columns count: 53
[16-Nov-2025 15:23:06 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:06 UTC]    Language field in books: YES
[16-Nov-2025 15:23:06 UTC]    Format field in books: YES
[16-Nov-2025 15:23:06 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:06 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:06 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:06 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:06 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:06 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:06 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:06 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:23:06 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:06 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:06 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:06 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:06 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:06 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:06 UTC] 📊 Database Info:
[16-Nov-2025 15:23:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:06 UTC]    Books columns count: 53
[16-Nov-2025 15:23:06 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:06 UTC]    Language field in books: YES
[16-Nov-2025 15:23:06 UTC]    Format field in books: YES
[16-Nov-2025 15:23:06 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:06 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:06 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:06 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:06 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:06 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:06 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:23:06 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:23:06 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:23:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:08 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:09 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:09 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:09 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:09 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:09 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:09 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:09 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:09 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:09 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:09 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:09 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:09 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:09 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:09 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:09 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:09 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:09 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:09 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:09 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:09 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:09 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:09 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:09 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:09 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:09 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:09 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:09 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:09 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:09 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:09 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:09 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:09 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:09 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:09 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:10 UTC] 📊 Database Info:
[16-Nov-2025 15:23:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:10 UTC]    Books columns count: 53
[16-Nov-2025 15:23:10 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:10 UTC]    Language field in books: YES
[16-Nov-2025 15:23:10 UTC]    Format field in books: YES
[16-Nov-2025 15:23:10 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:10 UTC] 📊 Database Info:
[16-Nov-2025 15:23:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:10 UTC]    Books columns count: 53
[16-Nov-2025 15:23:10 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:10 UTC]    Language field in books: YES
[16-Nov-2025 15:23:10 UTC]    Format field in books: YES
[16-Nov-2025 15:23:10 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:10 UTC] 📊 Database Info:
[16-Nov-2025 15:23:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:10 UTC]    Books columns count: 53
[16-Nov-2025 15:23:10 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:10 UTC]    Language field in books: YES
[16-Nov-2025 15:23:10 UTC]    Format field in books: YES
[16-Nov-2025 15:23:10 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:10 UTC] 📊 Database Info:
[16-Nov-2025 15:23:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:10 UTC]    Books columns count: 53
[16-Nov-2025 15:23:10 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:10 UTC]    Language field in books: YES
[16-Nov-2025 15:23:10 UTC]    Format field in books: YES
[16-Nov-2025 15:23:10 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:10 UTC] 📊 Database Info:
[16-Nov-2025 15:23:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:10 UTC]    Books columns count: 53
[16-Nov-2025 15:23:10 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:10 UTC]    Language field in books: YES
[16-Nov-2025 15:23:10 UTC]    Format field in books: YES
[16-Nov-2025 15:23:10 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:10 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:10 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:10 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:10 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:10 UTC] 📊 Database Info:
[16-Nov-2025 15:23:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:10 UTC]    Books columns count: 53
[16-Nov-2025 15:23:10 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:10 UTC]    Language field in books: YES
[16-Nov-2025 15:23:10 UTC]    Format field in books: YES
[16-Nov-2025 15:23:10 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:10 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:23:10 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:23:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:10 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:10 UTC] 📊 Database Info:
[16-Nov-2025 15:23:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:10 UTC]    Books columns count: 53
[16-Nov-2025 15:23:10 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:10 UTC]    Language field in books: YES
[16-Nov-2025 15:23:10 UTC]    Format field in books: YES
[16-Nov-2025 15:23:10 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:23:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:23:10 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:10 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 15:23:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 15:23:10 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 15:23:10 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:10 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:10 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:10 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:10 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:10 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:10 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:10 UTC] 📊 Database Info:
[16-Nov-2025 15:23:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:10 UTC]    Books columns count: 53
[16-Nov-2025 15:23:10 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:10 UTC]    Language field in books: YES
[16-Nov-2025 15:23:10 UTC]    Format field in books: YES
[16-Nov-2025 15:23:10 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:10 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:10 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:10 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:10 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:10 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:10 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:13 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:14 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:14 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:14 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:14 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:14 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:14 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:14 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:14 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:14 UTC] 📊 Database Info:
[16-Nov-2025 15:23:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:14 UTC]    Books columns count: 53
[16-Nov-2025 15:23:14 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:14 UTC]    Language field in books: YES
[16-Nov-2025 15:23:14 UTC]    Format field in books: YES
[16-Nov-2025 15:23:14 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:14 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:14 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:14 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:14 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:14 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:14 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:14 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:14 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:14 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:14 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:14 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:14 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:14 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:14 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:14 UTC] 📊 Database Info:
[16-Nov-2025 15:23:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:14 UTC]    Books columns count: 53
[16-Nov-2025 15:23:14 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:14 UTC]    Language field in books: YES
[16-Nov-2025 15:23:14 UTC]    Format field in books: YES
[16-Nov-2025 15:23:14 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:14 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:14 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:14 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:14 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:14 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:14 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:14 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:14 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:14 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:14 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:14 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:14 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:14 UTC] 📊 Database Info:
[16-Nov-2025 15:23:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:14 UTC]    Books columns count: 53
[16-Nov-2025 15:23:14 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:14 UTC]    Language field in books: YES
[16-Nov-2025 15:23:14 UTC]    Format field in books: YES
[16-Nov-2025 15:23:14 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:14 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:14 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:14 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:14 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:14 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:14 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:14 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:14 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:14 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:23:14 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:23:17 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:17 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:17 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:17 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:17 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:17 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:17 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:17 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:17 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:17 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:17 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:17 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:17 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:17 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:17 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:17 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:17 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:17 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:17 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:17 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:17 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:17 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:17 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:17 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:17 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:17 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:17 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:17 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:17 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:17 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:17 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:17 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:17 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:17 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:17 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:17 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:17 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:17 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:17 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:17 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:17 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:18 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:18 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:18 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:18 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:18 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:18 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:18 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:18 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:18 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:18 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:18 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:18 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:18 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:18 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:18 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:18 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:18 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:18 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:18 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:18 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:18 UTC] 📊 Database Info:
[16-Nov-2025 15:23:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:18 UTC]    Books columns count: 53
[16-Nov-2025 15:23:18 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:18 UTC]    Language field in books: YES
[16-Nov-2025 15:23:18 UTC]    Format field in books: YES
[16-Nov-2025 15:23:18 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:18 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:18 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:18 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:18 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:18 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:18 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:18 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:18 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:18 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:18 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:18 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:18 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:18 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:18 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:18 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:18 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:18 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:18 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:18 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:18 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:18 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:18 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:18 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:18 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:18 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:18 UTC] 📊 Database Info:
[16-Nov-2025 15:23:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:18 UTC]    Books columns count: 53
[16-Nov-2025 15:23:18 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:18 UTC]    Language field in books: YES
[16-Nov-2025 15:23:18 UTC]    Format field in books: YES
[16-Nov-2025 15:23:18 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:18 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:18 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:18 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:18 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:18 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:18 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:18 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:18 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:18 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:18 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:18 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:18 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:18 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:18 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:18 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:18 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:18 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:18 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:18 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:18 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:18 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:18 UTC] 📊 Database Info:
[16-Nov-2025 15:23:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:18 UTC]    Books columns count: 53
[16-Nov-2025 15:23:18 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:18 UTC]    Language field in books: YES
[16-Nov-2025 15:23:18 UTC]    Format field in books: YES
[16-Nov-2025 15:23:18 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:18 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:18 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:18 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:18 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:18 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:18 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:18 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:18 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:18 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:23:18 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:23:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:29 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:29 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:29 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:29 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:29 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:29 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:29 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:29 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:29 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:29 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:29 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:29 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:29 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:29 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:29 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:29 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:29 UTC] 📊 Database Info:
[16-Nov-2025 15:23:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:29 UTC]    Books columns count: 53
[16-Nov-2025 15:23:29 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:29 UTC]    Language field in books: YES
[16-Nov-2025 15:23:29 UTC]    Format field in books: YES
[16-Nov-2025 15:23:29 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:29 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:29 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:29 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:29 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:29 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:29 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:29 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:29 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:30 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:30 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:30 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:30 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:30 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:30 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:30 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:30 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:30 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:30 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:30 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:30 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:30 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:30 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:30 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:30 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:30 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:30 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:30 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:30 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:30 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:30 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:30 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:30 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:30 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:30 UTC] 📊 Database Info:
[16-Nov-2025 15:23:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:30 UTC]    Books columns count: 53
[16-Nov-2025 15:23:30 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:30 UTC]    Language field in books: YES
[16-Nov-2025 15:23:30 UTC]    Format field in books: YES
[16-Nov-2025 15:23:30 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:30 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:30 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:30 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:30 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:30 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:30 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:30 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:30 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:30 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:23:30 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:23:30 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:30 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:30 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:30 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:30 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:30 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:30 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:30 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:30 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:30 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:30 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:30 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:30 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:30 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:30 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:31 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:31 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:31 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:31 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:31 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:31 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:31 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:31 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:31 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:31 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:31 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:31 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:31 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:31 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:31 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:31 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:31 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:31 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:31 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:31 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:31 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:31 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:31 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:31 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:31 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:31 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:31 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:31 UTC] 📊 Database Info:
[16-Nov-2025 15:23:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:31 UTC]    Books columns count: 53
[16-Nov-2025 15:23:31 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:31 UTC]    Language field in books: YES
[16-Nov-2025 15:23:31 UTC]    Format field in books: YES
[16-Nov-2025 15:23:31 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:31 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:31 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:31 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:31 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:31 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:31 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:31 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:31 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:35 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:35 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:35 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:35 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:35 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:35 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:35 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:35 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:35 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:35 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:35 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:35 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:35 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:36 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:36 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:36 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:36 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:36 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:36 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:36 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:36 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:36 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:36 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:36 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:36 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:36 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:36 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:36 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:36 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:36 UTC] 📊 Database Info:
[16-Nov-2025 15:23:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:36 UTC]    Books columns count: 53
[16-Nov-2025 15:23:36 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:36 UTC]    Language field in books: YES
[16-Nov-2025 15:23:36 UTC]    Format field in books: YES
[16-Nov-2025 15:23:36 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:36 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:36 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:36 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:36 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:36 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:36 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:36 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:36 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:36 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:23:36 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:23:37 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:37 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:37 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:37 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:37 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:37 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:37 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:37 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:37 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:37 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:37 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:37 UTC] 📊 Database Info:
[16-Nov-2025 15:23:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:37 UTC]    Books columns count: 53
[16-Nov-2025 15:23:37 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:37 UTC]    Language field in books: YES
[16-Nov-2025 15:23:37 UTC]    Format field in books: YES
[16-Nov-2025 15:23:37 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:37 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:37 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:37 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:37 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:37 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:37 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:37 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:37 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:37 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:37 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:37 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:37 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:37 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:37 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:37 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:37 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:37 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:37 UTC] 📊 Database Info:
[16-Nov-2025 15:23:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:37 UTC]    Books columns count: 53
[16-Nov-2025 15:23:37 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:37 UTC]    Language field in books: YES
[16-Nov-2025 15:23:37 UTC]    Format field in books: YES
[16-Nov-2025 15:23:37 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:37 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:37 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:37 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:37 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:37 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:37 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:37 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:37 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:43 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:43 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:43 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:43 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:43 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:43 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:43 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:43 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:43 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:43 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:43 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:43 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:43 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:43 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:43 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:43 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 15:23:43 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 15:23:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column institution already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:43 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:43 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:43 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:43 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:43 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:43 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:43 UTC] 📊 Database Info:
[16-Nov-2025 15:23:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:43 UTC]    Books columns count: 53
[16-Nov-2025 15:23:43 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:43 UTC]    Language field in books: YES
[16-Nov-2025 15:23:43 UTC]    Format field in books: YES
[16-Nov-2025 15:23:43 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:43 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:43 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:43 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:43 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:43 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:43 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:43 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:43 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:43 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:43 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:43 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column language already exists
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column format already exists
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:43 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:43 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:43 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:43 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:43 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 15:23:43 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 15:23:43 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:43 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 15:23:43 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:43 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:43 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:43 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 15:23:43 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:43 UTC] 📊 Database Info:
[16-Nov-2025 15:23:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:43 UTC]    Books columns count: 53
[16-Nov-2025 15:23:43 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:43 UTC]    Language field in books: YES
[16-Nov-2025 15:23:43 UTC]    Format field in books: YES
[16-Nov-2025 15:23:43 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:43 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:43 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:43 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:43 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:43 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:43 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:43 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:43 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:43 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:43 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 15:23:43 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 15:23:43 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 15:23:43 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 15:23:43 UTC] 📊 Database Info:
[16-Nov-2025 15:23:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 15:23:43 UTC]    Books columns count: 53
[16-Nov-2025 15:23:43 UTC]    Categories columns count: 7
[16-Nov-2025 15:23:43 UTC]    Language field in books: YES
[16-Nov-2025 15:23:43 UTC]    Format field in books: YES
[16-Nov-2025 15:23:43 UTC]    Description field in categories: YES
[16-Nov-2025 15:23:43 UTC]    Display_order field in categories: YES
[16-Nov-2025 15:23:43 UTC]    Is_active field in categories: YES
[16-Nov-2025 15:23:43 UTC]    Is_active field in books: YES
[16-Nov-2025 15:23:43 UTC]    External_download_link field in books: YES
[16-Nov-2025 15:23:43 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 15:23:43 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 15:23:43 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 15:23:43 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 15:23:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 15:23:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 16:05:25 UTC] ℹ️ Column institution already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column institution already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column institution already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column language already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column format already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column language already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column format already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column language already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column format already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 16:05:25 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 16:05:25 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 16:05:25 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 16:05:25 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 16:05:25 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 16:05:25 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 16:05:25 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 16:05:25 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 16:05:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 16:05:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 16:05:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 16:05:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 16:05:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 16:05:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 16:05:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 16:05:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 16:05:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 16:05:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 16:05:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 16:05:26 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 16:05:26 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 16:05:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 16:05:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 16:05:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 16:05:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 16:05:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 16:05:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 16:05:26 UTC] ℹ️ Column institution already exists
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 16:05:26 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 16:05:26 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 16:05:26 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 16:05:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 16:05:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 16:05:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 16:05:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 16:05:26 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column institution already exists
[16-Nov-2025 16:05:26 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 16:05:26 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 16:05:26 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column institution already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column language already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column language already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column format already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column format already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column language already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column format already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 16:05:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 16:05:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 16:05:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 16:05:26 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 16:05:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 16:05:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 16:05:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 16:05:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 16:05:26 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 16:05:26 UTC] 📊 Database Info:
[16-Nov-2025 16:05:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 16:05:26 UTC]    Books columns count: 53
[16-Nov-2025 16:05:26 UTC]    Categories columns count: 7
[16-Nov-2025 16:05:26 UTC]    Language field in books: YES
[16-Nov-2025 16:05:26 UTC]    Format field in books: YES
[16-Nov-2025 16:05:26 UTC]    Description field in categories: YES
[16-Nov-2025 16:05:26 UTC]    Display_order field in categories: YES
[16-Nov-2025 16:05:26 UTC]    Is_active field in categories: YES
[16-Nov-2025 16:05:26 UTC]    Is_active field in books: YES
[16-Nov-2025 16:05:26 UTC]    External_download_link field in books: YES
[16-Nov-2025 16:05:26 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 16:05:26 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 16:05:26 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 16:05:26 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 16:05:26 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 16:05:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 16:05:26 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 16:05:26 UTC] 📊 Database Info:
[16-Nov-2025 16:05:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 16:05:26 UTC]    Books columns count: 53
[16-Nov-2025 16:05:26 UTC]    Categories columns count: 7
[16-Nov-2025 16:05:26 UTC]    Language field in books: YES
[16-Nov-2025 16:05:26 UTC]    Format field in books: YES
[16-Nov-2025 16:05:26 UTC]    Description field in categories: YES
[16-Nov-2025 16:05:26 UTC]    Display_order field in categories: YES
[16-Nov-2025 16:05:26 UTC]    Is_active field in categories: YES
[16-Nov-2025 16:05:26 UTC]    Is_active field in books: YES
[16-Nov-2025 16:05:26 UTC]    External_download_link field in books: YES
[16-Nov-2025 16:05:26 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 16:05:26 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 16:05:26 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 16:05:26 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 16:05:26 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 16:05:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 16:05:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 16:05:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 16:05:26 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 16:05:26 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 16:05:26 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 16:05:26 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 16:05:26 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 16:05:26 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 16:05:26 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 16:05:26 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 16:05:26 UTC] 📊 Database Info:
[16-Nov-2025 16:05:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 16:05:26 UTC]    Books columns count: 53
[16-Nov-2025 16:05:26 UTC]    Categories columns count: 7
[16-Nov-2025 16:05:26 UTC]    Language field in books: YES
[16-Nov-2025 16:05:26 UTC]    Format field in books: YES
[16-Nov-2025 16:05:26 UTC]    Description field in categories: YES
[16-Nov-2025 16:05:26 UTC]    Display_order field in categories: YES
[16-Nov-2025 16:05:26 UTC]    Is_active field in categories: YES
[16-Nov-2025 16:05:26 UTC]    Is_active field in books: YES
[16-Nov-2025 16:05:26 UTC]    External_download_link field in books: YES
[16-Nov-2025 16:05:26 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 16:05:26 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 16:05:26 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 16:05:26 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 16:05:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 16:05:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:49 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:50 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:50 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:50 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:50 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:50 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:50 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:50 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:50 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:50 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:50 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:50 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:50 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:50 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:50 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:50 UTC] 📊 Database Info:
[16-Nov-2025 19:47:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:50 UTC]    Books columns count: 53
[16-Nov-2025 19:47:50 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:50 UTC]    Language field in books: YES
[16-Nov-2025 19:47:50 UTC]    Format field in books: YES
[16-Nov-2025 19:47:50 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:50 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:50 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:50 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:50 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:50 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:50 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:50 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:50 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:50 UTC] 📊 Database Info:
[16-Nov-2025 19:47:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:50 UTC]    Books columns count: 53
[16-Nov-2025 19:47:50 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:50 UTC]    Language field in books: YES
[16-Nov-2025 19:47:50 UTC]    Format field in books: YES
[16-Nov-2025 19:47:50 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:50 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:50 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:50 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:50 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:50 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:50 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:50 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:50 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:50 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:50 UTC] 📊 Database Info:
[16-Nov-2025 19:47:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:50 UTC]    Books columns count: 53
[16-Nov-2025 19:47:50 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:50 UTC]    Language field in books: YES
[16-Nov-2025 19:47:50 UTC]    Format field in books: YES
[16-Nov-2025 19:47:50 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:50 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:50 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:50 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:50 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:50 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:50 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:50 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:50 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:50 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:50 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:50 UTC] 📊 Database Info:
[16-Nov-2025 19:47:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:50 UTC]    Books columns count: 53
[16-Nov-2025 19:47:50 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:50 UTC]    Language field in books: YES
[16-Nov-2025 19:47:50 UTC]    Format field in books: YES
[16-Nov-2025 19:47:50 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:50 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:50 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:50 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:50 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:50 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:50 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:50 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:50 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:50 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:50 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:50 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:50 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:50 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 19:47:50 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:50 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:50 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:50 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:50 UTC] 📊 Database Info:
[16-Nov-2025 19:47:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:50 UTC]    Books columns count: 53
[16-Nov-2025 19:47:50 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:50 UTC]    Language field in books: YES
[16-Nov-2025 19:47:50 UTC]    Format field in books: YES
[16-Nov-2025 19:47:50 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:50 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:50 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:50 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:50 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:50 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:50 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:50 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:50 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:50 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:50 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:50 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:50 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:50 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:50 UTC] 📊 Database Info:
[16-Nov-2025 19:47:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:50 UTC]    Books columns count: 53
[16-Nov-2025 19:47:50 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:50 UTC]    Language field in books: YES
[16-Nov-2025 19:47:50 UTC]    Format field in books: YES
[16-Nov-2025 19:47:50 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:50 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:50 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:50 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:50 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:50 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:50 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:50 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:50 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:53 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:53 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:53 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:53 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:53 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:53 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:53 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:53 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:53 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:53 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:53 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:53 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:54 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:54 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:54 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:54 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:54 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:54 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:54 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:54 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:54 UTC] 📊 Database Info:
[16-Nov-2025 19:47:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:54 UTC]    Books columns count: 53
[16-Nov-2025 19:47:54 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:54 UTC]    Language field in books: YES
[16-Nov-2025 19:47:54 UTC]    Format field in books: YES
[16-Nov-2025 19:47:54 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:54 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:54 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:54 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:54 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:54 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:54 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:54 UTC] 📊 Database Info:
[16-Nov-2025 19:47:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:54 UTC]    Books columns count: 53
[16-Nov-2025 19:47:54 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:54 UTC]    Language field in books: YES
[16-Nov-2025 19:47:54 UTC]    Format field in books: YES
[16-Nov-2025 19:47:54 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:54 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:54 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:54 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:54 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:54 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:54 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:54 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:54 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:54 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:55 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:55 UTC] 📊 Database Info:
[16-Nov-2025 19:47:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:55 UTC]    Books columns count: 53
[16-Nov-2025 19:47:55 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:55 UTC]    Language field in books: YES
[16-Nov-2025 19:47:55 UTC]    Format field in books: YES
[16-Nov-2025 19:47:55 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:55 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:55 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:55 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:55 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:55 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:55 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:55 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:55 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:55 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:55 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:55 UTC] 📊 Database Info:
[16-Nov-2025 19:47:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:55 UTC]    Books columns count: 53
[16-Nov-2025 19:47:55 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:55 UTC]    Language field in books: YES
[16-Nov-2025 19:47:55 UTC]    Format field in books: YES
[16-Nov-2025 19:47:55 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:55 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:55 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:55 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:55 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:55 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:55 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:55 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:55 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:55 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:55 UTC] 📊 Database Info:
[16-Nov-2025 19:47:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:55 UTC]    Books columns count: 53
[16-Nov-2025 19:47:55 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:55 UTC]    Language field in books: YES
[16-Nov-2025 19:47:55 UTC]    Format field in books: YES
[16-Nov-2025 19:47:55 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:55 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:55 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:55 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:55 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:55 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:55 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:55 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:55 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:55 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:55 UTC] 📊 Database Info:
[16-Nov-2025 19:47:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:55 UTC]    Books columns count: 53
[16-Nov-2025 19:47:55 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:55 UTC]    Language field in books: YES
[16-Nov-2025 19:47:55 UTC]    Format field in books: YES
[16-Nov-2025 19:47:55 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:55 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:55 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:55 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:55 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:55 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:55 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:55 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:55 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:55 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:55 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:55 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:55 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:55 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:55 UTC] 📊 Database Info:
[16-Nov-2025 19:47:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:55 UTC]    Books columns count: 53
[16-Nov-2025 19:47:55 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:55 UTC]    Language field in books: YES
[16-Nov-2025 19:47:55 UTC]    Format field in books: YES
[16-Nov-2025 19:47:55 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:55 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:55 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:55 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:55 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:55 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:55 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:55 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:55 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:55 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 19:47:55 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:55 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 19:47:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 19:47:55 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 19:47:55 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:55 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:55 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:55 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[16-Nov-2025 19:47:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[16-Nov-2025 19:47:56 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[16-Nov-2025 19:47:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:56 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:56 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:56 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:56 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:56 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:56 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:56 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:56 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:56 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:56 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[16-Nov-2025 19:47:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:56 UTC] ⚠️ Missing columns detected: description, display_order
[16-Nov-2025 19:47:56 UTC] 🔄 Attempting to add missing columns...
[16-Nov-2025 19:47:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column institution already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column publication_year already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column keywords already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column selected_pages_summary already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column selected_pages_toc already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column selected_pages_original already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_protected already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column protection_key already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_read_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column read_button_text already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_external_plus already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column custom_file_size already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_file_size already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column taille_before_extrait already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_download_extrait_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column download_extrait_button_text already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column original_pdf_url already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column download_count already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:56 UTC] ℹ️ Column stockage already exists
[16-Nov-2025 19:47:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:56 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:56 UTC] 📊 Database Info:
[16-Nov-2025 19:47:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:56 UTC]    Books columns count: 53
[16-Nov-2025 19:47:56 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:56 UTC]    Language field in books: YES
[16-Nov-2025 19:47:56 UTC]    Format field in books: YES
[16-Nov-2025 19:47:56 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:56 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:56 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:56 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:56 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:56 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:56 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:56 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:56 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column language already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column format already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:56 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:56 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:56 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:56 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:56 UTC] 📊 Database Info:
[16-Nov-2025 19:47:56 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:56 UTC]    Books columns count: 53
[16-Nov-2025 19:47:56 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:56 UTC]    Language field in books: YES
[16-Nov-2025 19:47:56 UTC]    Format field in books: YES
[16-Nov-2025 19:47:56 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:56 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:56 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:56 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:56 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:56 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:56 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:56 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:56 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_link already exists
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:56 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:57 UTC] ℹ️ Column show_external_download_button already exists
[16-Nov-2025 19:47:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:57 UTC] ℹ️ Column external_download_protection_key already exists
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:57 UTC] ℹ️ Column is_external_download_protected already exists
[16-Nov-2025 19:47:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:57 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:57 UTC] 📊 Database Info:
[16-Nov-2025 19:47:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:57 UTC]    Books columns count: 53
[16-Nov-2025 19:47:57 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:57 UTC]    Language field in books: YES
[16-Nov-2025 19:47:57 UTC]    Format field in books: YES
[16-Nov-2025 19:47:57 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:57 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:57 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:57 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:57 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:57 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:57 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:57 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:57 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:57 UTC] ℹ️ Column is_active already exists
[16-Nov-2025 19:47:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:57 UTC] ℹ️ Column description already exists in categories
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:57 UTC] ℹ️ Column display_order already exists in categories
[16-Nov-2025 19:47:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:57 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:57 UTC] 📊 Database Info:
[16-Nov-2025 19:47:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:57 UTC]    Books columns count: 53
[16-Nov-2025 19:47:57 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:57 UTC]    Language field in books: YES
[16-Nov-2025 19:47:57 UTC]    Format field in books: YES
[16-Nov-2025 19:47:57 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:57 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:57 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:57 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:57 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:57 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:57 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:57 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:57 UTC] ℹ️ Column is_active already exists in categories
[16-Nov-2025 19:47:57 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:57 UTC] ℹ️ Column show_welcome_section already exists
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:57 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 19:47:57 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:57 UTC] ℹ️ Column company_address already exists
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with original_pdf_url
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with is_active = TRUE
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing categories with new fields
[16-Nov-2025 19:47:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:57 UTC] ✅ Default screen texts inserted successfully
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with empty language field
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:57 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:57 UTC] 📊 Database Info:
[16-Nov-2025 19:47:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:57 UTC]    Books columns count: 53
[16-Nov-2025 19:47:57 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:57 UTC]    Language field in books: YES
[16-Nov-2025 19:47:57 UTC]    Format field in books: YES
[16-Nov-2025 19:47:57 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:57 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:57 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:57 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:57 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:57 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:57 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:57 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:57 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with empty format field
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:57 UTC] ✅ Updated existing books with default external download link and protection values
[16-Nov-2025 19:47:57 UTC] ✅ Database tables created/updated successfully with all new fields
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[16-Nov-2025 19:47:57 UTC] 📁 جلب التصنيفات النشطة فقط
[16-Nov-2025 19:47:57 UTC] ✅ إرجاع 5 تصنيف نشط
[16-Nov-2025 19:47:57 UTC] ℹ️ Favorites table not available for inspection
[16-Nov-2025 19:47:57 UTC] 📊 Database Info:
[16-Nov-2025 19:47:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[16-Nov-2025 19:47:57 UTC]    Books columns count: 53
[16-Nov-2025 19:47:57 UTC]    Categories columns count: 7
[16-Nov-2025 19:47:57 UTC]    Language field in books: YES
[16-Nov-2025 19:47:57 UTC]    Format field in books: YES
[16-Nov-2025 19:47:57 UTC]    Description field in categories: YES
[16-Nov-2025 19:47:57 UTC]    Display_order field in categories: YES
[16-Nov-2025 19:47:57 UTC]    Is_active field in categories: YES
[16-Nov-2025 19:47:57 UTC]    Is_active field in books: YES
[16-Nov-2025 19:47:57 UTC]    External_download_link field in books: YES
[16-Nov-2025 19:47:57 UTC]    Show_external_download_button field in books: YES
[16-Nov-2025 19:47:57 UTC]    External_download_protection_key field in books: YES
[16-Nov-2025 19:47:57 UTC]    Is_external_download_protected field in books: YES
[16-Nov-2025 19:47:57 UTC] ℹ️ Database is already at version 23
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[16-Nov-2025 19:47:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[16-Nov-2025 19:47:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 00:07:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 00:07:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 00:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 00:07:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 00:07:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 00:07:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 00:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 00:07:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 00:07:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 00:07:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 00:07:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 00:07:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 00:07:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 00:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:05 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 00:07:05 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 00:07:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 00:07:05 UTC] 📊 Database Info:
[17-Nov-2025 00:07:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 00:07:05 UTC]    Books columns count: 53
[17-Nov-2025 00:07:05 UTC]    Categories columns count: 7
[17-Nov-2025 00:07:05 UTC]    Language field in books: YES
[17-Nov-2025 00:07:05 UTC]    Format field in books: YES
[17-Nov-2025 00:07:05 UTC]    Description field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Is_active field in books: YES
[17-Nov-2025 00:07:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 00:07:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 00:07:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 00:07:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 00:07:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 00:07:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 00:07:05 UTC] 📊 Database Info:
[17-Nov-2025 00:07:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 00:07:05 UTC]    Books columns count: 53
[17-Nov-2025 00:07:05 UTC]    Categories columns count: 7
[17-Nov-2025 00:07:05 UTC]    Language field in books: YES
[17-Nov-2025 00:07:05 UTC]    Format field in books: YES
[17-Nov-2025 00:07:05 UTC]    Description field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Is_active field in books: YES
[17-Nov-2025 00:07:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 00:07:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 00:07:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 00:07:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 00:07:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 00:07:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 00:07:05 UTC] 📊 Database Info:
[17-Nov-2025 00:07:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 00:07:05 UTC]    Books columns count: 53
[17-Nov-2025 00:07:05 UTC]    Categories columns count: 7
[17-Nov-2025 00:07:05 UTC]    Language field in books: YES
[17-Nov-2025 00:07:05 UTC]    Format field in books: YES
[17-Nov-2025 00:07:05 UTC]    Description field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Is_active field in books: YES
[17-Nov-2025 00:07:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 00:07:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 00:07:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 00:07:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 00:07:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 00:07:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 00:07:05 UTC] 📊 Database Info:
[17-Nov-2025 00:07:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 00:07:05 UTC]    Books columns count: 53
[17-Nov-2025 00:07:05 UTC]    Categories columns count: 7
[17-Nov-2025 00:07:05 UTC]    Language field in books: YES
[17-Nov-2025 00:07:05 UTC]    Format field in books: YES
[17-Nov-2025 00:07:05 UTC]    Description field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Is_active field in books: YES
[17-Nov-2025 00:07:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 00:07:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 00:07:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 00:07:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 00:07:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 00:07:05 UTC] 📊 Database Info:
[17-Nov-2025 00:07:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 00:07:05 UTC]    Books columns count: 53
[17-Nov-2025 00:07:05 UTC]    Categories columns count: 7
[17-Nov-2025 00:07:05 UTC]    Language field in books: YES
[17-Nov-2025 00:07:05 UTC]    Format field in books: YES
[17-Nov-2025 00:07:05 UTC]    Description field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Is_active field in books: YES
[17-Nov-2025 00:07:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 00:07:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 00:07:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 00:07:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 00:07:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 00:07:05 UTC] 📊 Database Info:
[17-Nov-2025 00:07:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 00:07:05 UTC]    Books columns count: 53
[17-Nov-2025 00:07:05 UTC]    Categories columns count: 7
[17-Nov-2025 00:07:05 UTC]    Language field in books: YES
[17-Nov-2025 00:07:05 UTC]    Format field in books: YES
[17-Nov-2025 00:07:05 UTC]    Description field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Is_active field in books: YES
[17-Nov-2025 00:07:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 00:07:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 00:07:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 00:07:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 00:07:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 00:07:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 00:07:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 00:07:05 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:05 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 00:07:05 UTC] 📊 Database Info:
[17-Nov-2025 00:07:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 00:07:05 UTC]    Books columns count: 53
[17-Nov-2025 00:07:05 UTC]    Categories columns count: 7
[17-Nov-2025 00:07:05 UTC]    Language field in books: YES
[17-Nov-2025 00:07:05 UTC]    Format field in books: YES
[17-Nov-2025 00:07:05 UTC]    Description field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Is_active field in books: YES
[17-Nov-2025 00:07:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 00:07:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 00:07:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 00:07:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 00:07:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 00:07:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 00:07:05 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 00:07:05 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 00:07:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 00:07:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 00:07:05 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 00:07:05 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 00:07:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 00:07:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 00:07:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 00:07:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 00:07:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 00:07:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 00:07:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 00:07:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 00:07:05 UTC] 📊 Database Info:
[17-Nov-2025 00:07:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 00:07:05 UTC]    Books columns count: 53
[17-Nov-2025 00:07:05 UTC]    Categories columns count: 7
[17-Nov-2025 00:07:05 UTC]    Language field in books: YES
[17-Nov-2025 00:07:05 UTC]    Format field in books: YES
[17-Nov-2025 00:07:05 UTC]    Description field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Is_active field in books: YES
[17-Nov-2025 00:07:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 00:07:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 00:07:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 00:07:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 00:07:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 00:07:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 00:07:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 00:07:05 UTC] 📊 Database Info:
[17-Nov-2025 00:07:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 00:07:05 UTC]    Books columns count: 53
[17-Nov-2025 00:07:05 UTC]    Categories columns count: 7
[17-Nov-2025 00:07:05 UTC]    Language field in books: YES
[17-Nov-2025 00:07:05 UTC]    Format field in books: YES
[17-Nov-2025 00:07:05 UTC]    Description field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 00:07:05 UTC]    Is_active field in books: YES
[17-Nov-2025 00:07:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 00:07:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 00:07:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 00:07:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 00:07:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 00:07:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 00:07:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 00:07:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:12 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 00:07:12 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:12 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 00:07:12 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 00:07:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:12 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 00:07:12 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 00:07:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 00:07:12 UTC] 📊 Database Info:
[17-Nov-2025 00:07:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 00:07:12 UTC]    Books columns count: 53
[17-Nov-2025 00:07:12 UTC]    Categories columns count: 7
[17-Nov-2025 00:07:12 UTC]    Language field in books: YES
[17-Nov-2025 00:07:12 UTC]    Format field in books: YES
[17-Nov-2025 00:07:12 UTC]    Description field in categories: YES
[17-Nov-2025 00:07:12 UTC]    Display_order field in categories: YES
[17-Nov-2025 00:07:12 UTC]    Is_active field in categories: YES
[17-Nov-2025 00:07:12 UTC]    Is_active field in books: YES
[17-Nov-2025 00:07:12 UTC]    External_download_link field in books: YES
[17-Nov-2025 00:07:12 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 00:07:12 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 00:07:12 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 00:07:12 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 00:07:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 00:07:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 00:07:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 00:07:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 00:07:12 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 00:07:12 UTC] 📊 Database Info:
[17-Nov-2025 00:07:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 00:07:12 UTC]    Books columns count: 53
[17-Nov-2025 00:07:12 UTC]    Categories columns count: 7
[17-Nov-2025 00:07:12 UTC]    Language field in books: YES
[17-Nov-2025 00:07:12 UTC]    Format field in books: YES
[17-Nov-2025 00:07:12 UTC]    Description field in categories: YES
[17-Nov-2025 00:07:12 UTC]    Display_order field in categories: YES
[17-Nov-2025 00:07:12 UTC]    Is_active field in categories: YES
[17-Nov-2025 00:07:12 UTC]    Is_active field in books: YES
[17-Nov-2025 00:07:12 UTC]    External_download_link field in books: YES
[17-Nov-2025 00:07:12 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 00:07:12 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 00:07:12 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 00:07:12 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 00:07:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 00:07:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 00:07:12 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 00:07:12 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 00:07:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 00:07:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 00:07:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 00:07:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 00:07:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 00:07:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 00:07:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 00:07:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 00:07:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 00:07:12 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 00:07:12 UTC] 📊 Database Info:
[17-Nov-2025 00:07:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 00:07:12 UTC]    Books columns count: 53
[17-Nov-2025 00:07:12 UTC]    Categories columns count: 7
[17-Nov-2025 00:07:12 UTC]    Language field in books: YES
[17-Nov-2025 00:07:12 UTC]    Format field in books: YES
[17-Nov-2025 00:07:12 UTC]    Description field in categories: YES
[17-Nov-2025 00:07:12 UTC]    Display_order field in categories: YES
[17-Nov-2025 00:07:12 UTC]    Is_active field in categories: YES
[17-Nov-2025 00:07:12 UTC]    Is_active field in books: YES
[17-Nov-2025 00:07:12 UTC]    External_download_link field in books: YES
[17-Nov-2025 00:07:12 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 00:07:12 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 00:07:12 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 00:07:12 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 00:07:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 00:07:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:28:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:28:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:28:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:28:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:28:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:28:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:28:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:28:45 UTC] 📊 Database Info:
[17-Nov-2025 12:28:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:28:45 UTC]    Books columns count: 53
[17-Nov-2025 12:28:45 UTC]    Categories columns count: 7
[17-Nov-2025 12:28:45 UTC]    Language field in books: YES
[17-Nov-2025 12:28:45 UTC]    Format field in books: YES
[17-Nov-2025 12:28:45 UTC]    Description field in categories: YES
[17-Nov-2025 12:28:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:28:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:28:45 UTC]    Is_active field in books: YES
[17-Nov-2025 12:28:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:28:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:28:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:28:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:28:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:28:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:28:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:28:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:28:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:28:45 UTC] 📊 Database Info:
[17-Nov-2025 12:28:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:28:45 UTC]    Books columns count: 53
[17-Nov-2025 12:28:45 UTC]    Categories columns count: 7
[17-Nov-2025 12:28:45 UTC]    Language field in books: YES
[17-Nov-2025 12:28:45 UTC]    Format field in books: YES
[17-Nov-2025 12:28:45 UTC]    Description field in categories: YES
[17-Nov-2025 12:28:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:28:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:28:45 UTC]    Is_active field in books: YES
[17-Nov-2025 12:28:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:28:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:28:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:28:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:28:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:28:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:28:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:28:45 UTC] 📊 Database Info:
[17-Nov-2025 12:28:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:28:45 UTC]    Books columns count: 53
[17-Nov-2025 12:28:45 UTC]    Categories columns count: 7
[17-Nov-2025 12:28:45 UTC]    Language field in books: YES
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:28:45 UTC]    Format field in books: YES
[17-Nov-2025 12:28:45 UTC]    Description field in categories: YES
[17-Nov-2025 12:28:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:28:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:28:45 UTC]    Is_active field in books: YES
[17-Nov-2025 12:28:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:28:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:28:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:28:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:28:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:28:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:28:45 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:28:45 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:28:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:28:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:28:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:28:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:46 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:28:46 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:46 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:28:46 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:28:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:46 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:28:46 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:28:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:28:46 UTC] 📊 Database Info:
[17-Nov-2025 12:28:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:28:46 UTC]    Books columns count: 53
[17-Nov-2025 12:28:46 UTC]    Categories columns count: 7
[17-Nov-2025 12:28:46 UTC]    Language field in books: YES
[17-Nov-2025 12:28:46 UTC]    Format field in books: YES
[17-Nov-2025 12:28:46 UTC]    Description field in categories: YES
[17-Nov-2025 12:28:46 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:28:46 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:28:46 UTC]    Is_active field in books: YES
[17-Nov-2025 12:28:46 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:28:46 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:28:46 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:28:46 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:28:46 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:28:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:28:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:28:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:46 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:28:46 UTC] 📊 Database Info:
[17-Nov-2025 12:28:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:28:46 UTC]    Books columns count: 53
[17-Nov-2025 12:28:46 UTC]    Categories columns count: 7
[17-Nov-2025 12:28:46 UTC]    Language field in books: YES
[17-Nov-2025 12:28:46 UTC]    Format field in books: YES
[17-Nov-2025 12:28:46 UTC]    Description field in categories: YES
[17-Nov-2025 12:28:46 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:28:46 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:28:46 UTC]    Is_active field in books: YES
[17-Nov-2025 12:28:46 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:28:46 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:28:46 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:28:46 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:28:46 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:28:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:28:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:28:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:28:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:28:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:46 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:28:46 UTC] 📊 Database Info:
[17-Nov-2025 12:28:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:28:46 UTC]    Books columns count: 53
[17-Nov-2025 12:28:46 UTC]    Categories columns count: 7
[17-Nov-2025 12:28:46 UTC]    Language field in books: YES
[17-Nov-2025 12:28:46 UTC]    Format field in books: YES
[17-Nov-2025 12:28:46 UTC]    Description field in categories: YES
[17-Nov-2025 12:28:46 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:28:46 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:28:46 UTC]    Is_active field in books: YES
[17-Nov-2025 12:28:46 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:28:46 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:28:46 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:28:46 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:28:46 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:28:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:28:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:28:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:28:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:28:46 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:28:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:47 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:28:47 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:28:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:47 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:28:47 UTC] 📊 Database Info:
[17-Nov-2025 12:28:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:28:47 UTC]    Books columns count: 53
[17-Nov-2025 12:28:47 UTC]    Categories columns count: 7
[17-Nov-2025 12:28:47 UTC]    Language field in books: YES
[17-Nov-2025 12:28:47 UTC]    Format field in books: YES
[17-Nov-2025 12:28:47 UTC]    Description field in categories: YES
[17-Nov-2025 12:28:47 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:28:47 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:28:47 UTC]    Is_active field in books: YES
[17-Nov-2025 12:28:47 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:28:47 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:28:47 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:28:47 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:28:47 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:28:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:28:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:28:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:28:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:28:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:28:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:28:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:28:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:28:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:28:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:28:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:28:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:28:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:28:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:28:47 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:28:47 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:28:51 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:51 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:51 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:51 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:51 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:51 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:51 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:51 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:51 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:51 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:51 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:51 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:51 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:51 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:51 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:28:51 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:28:51 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:51 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:51 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:51 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:51 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:51 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:51 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:51 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:51 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:51 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:51 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:51 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:51 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:51 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:51 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:28:51 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:28:51 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:51 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:51 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:51 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:51 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:51 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:51 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:51 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:51 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:51 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:51 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:51 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:52 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:28:52 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:28:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:28:52 UTC] 📊 Database Info:
[17-Nov-2025 12:28:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:28:52 UTC]    Books columns count: 53
[17-Nov-2025 12:28:52 UTC]    Categories columns count: 7
[17-Nov-2025 12:28:52 UTC]    Language field in books: YES
[17-Nov-2025 12:28:52 UTC]    Format field in books: YES
[17-Nov-2025 12:28:52 UTC]    Description field in categories: YES
[17-Nov-2025 12:28:52 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:28:52 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:28:52 UTC]    Is_active field in books: YES
[17-Nov-2025 12:28:52 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:28:52 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:28:52 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:28:52 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:28:52 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:28:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:28:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:28:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:28:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:28:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:28:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:28:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:28:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:28:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:28:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:52 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:28:52 UTC] 📊 Database Info:
[17-Nov-2025 12:28:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:28:52 UTC]    Books columns count: 53
[17-Nov-2025 12:28:52 UTC]    Categories columns count: 7
[17-Nov-2025 12:28:52 UTC]    Language field in books: YES
[17-Nov-2025 12:28:52 UTC]    Format field in books: YES
[17-Nov-2025 12:28:52 UTC]    Description field in categories: YES
[17-Nov-2025 12:28:52 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:28:52 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:28:52 UTC]    Is_active field in books: YES
[17-Nov-2025 12:28:52 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:28:52 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:28:52 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:28:52 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:52 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:28:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:28:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:52 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:28:52 UTC] 📊 Database Info:
[17-Nov-2025 12:28:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:28:52 UTC]    Books columns count: 53
[17-Nov-2025 12:28:52 UTC]    Categories columns count: 7
[17-Nov-2025 12:28:52 UTC]    Language field in books: YES
[17-Nov-2025 12:28:52 UTC]    Format field in books: YES
[17-Nov-2025 12:28:52 UTC]    Description field in categories: YES
[17-Nov-2025 12:28:52 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:28:52 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:28:52 UTC]    Is_active field in books: YES
[17-Nov-2025 12:28:52 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:28:52 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:28:52 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:28:52 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:28:52 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:28:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:28:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:28:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:28:52 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:28:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:52 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:28:52 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:28:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:52 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:28:52 UTC] 📊 Database Info:
[17-Nov-2025 12:28:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:28:52 UTC]    Books columns count: 53
[17-Nov-2025 12:28:52 UTC]    Categories columns count: 7
[17-Nov-2025 12:28:52 UTC]    Language field in books: YES
[17-Nov-2025 12:28:52 UTC]    Format field in books: YES
[17-Nov-2025 12:28:52 UTC]    Description field in categories: YES
[17-Nov-2025 12:28:52 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:28:52 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:28:52 UTC]    Is_active field in books: YES
[17-Nov-2025 12:28:52 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:28:52 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:28:52 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:28:52 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:28:52 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:28:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:28:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:28:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:28:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:28:52 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:28:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:52 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:28:52 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:28:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:53 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:28:53 UTC] 📊 Database Info:
[17-Nov-2025 12:28:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:28:53 UTC]    Books columns count: 53
[17-Nov-2025 12:28:53 UTC]    Categories columns count: 7
[17-Nov-2025 12:28:53 UTC]    Language field in books: YES
[17-Nov-2025 12:28:53 UTC]    Format field in books: YES
[17-Nov-2025 12:28:53 UTC]    Description field in categories: YES
[17-Nov-2025 12:28:53 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:28:53 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:28:53 UTC]    Is_active field in books: YES
[17-Nov-2025 12:28:53 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:28:53 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:28:53 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:28:53 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:28:53 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:28:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:28:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:28:53 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:28:53 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:28:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:53 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:28:53 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:28:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:53 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:28:53 UTC] 📊 Database Info:
[17-Nov-2025 12:28:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:28:53 UTC]    Books columns count: 53
[17-Nov-2025 12:28:53 UTC]    Categories columns count: 7
[17-Nov-2025 12:28:53 UTC]    Language field in books: YES
[17-Nov-2025 12:28:53 UTC]    Format field in books: YES
[17-Nov-2025 12:28:53 UTC]    Description field in categories: YES
[17-Nov-2025 12:28:53 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:28:53 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:28:53 UTC]    Is_active field in books: YES
[17-Nov-2025 12:28:53 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:28:53 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:28:53 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:28:53 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:28:53 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:28:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:28:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:28:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:28:53 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:28:53 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:28:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:59 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:28:59 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:59 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:28:59 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:28:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:28:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:59 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:28:59 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:28:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:28:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:59 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:28:59 UTC] 📊 Database Info:
[17-Nov-2025 12:28:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:28:59 UTC]    Books columns count: 53
[17-Nov-2025 12:28:59 UTC]    Categories columns count: 7
[17-Nov-2025 12:28:59 UTC]    Language field in books: YES
[17-Nov-2025 12:28:59 UTC]    Format field in books: YES
[17-Nov-2025 12:28:59 UTC]    Description field in categories: YES
[17-Nov-2025 12:28:59 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:28:59 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:28:59 UTC]    Is_active field in books: YES
[17-Nov-2025 12:28:59 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:28:59 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:28:59 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:28:59 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:28:59 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:28:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:28:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:28:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:59 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:28:59 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:28:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:28:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:28:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:28:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:28:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:28:59 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:28:59 UTC] 📊 Database Info:
[17-Nov-2025 12:28:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:28:59 UTC]    Books columns count: 53
[17-Nov-2025 12:28:59 UTC]    Categories columns count: 7
[17-Nov-2025 12:28:59 UTC]    Language field in books: YES
[17-Nov-2025 12:28:59 UTC]    Format field in books: YES
[17-Nov-2025 12:28:59 UTC]    Description field in categories: YES
[17-Nov-2025 12:28:59 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:28:59 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:28:59 UTC]    Is_active field in books: YES
[17-Nov-2025 12:28:59 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:28:59 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:28:59 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:28:59 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:28:59 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:28:59 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:28:59 UTC] 📊 Database Info:
[17-Nov-2025 12:28:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:28:59 UTC]    Books columns count: 53
[17-Nov-2025 12:28:59 UTC]    Categories columns count: 7
[17-Nov-2025 12:28:59 UTC]    Language field in books: YES
[17-Nov-2025 12:28:59 UTC]    Format field in books: YES
[17-Nov-2025 12:28:59 UTC]    Description field in categories: YES
[17-Nov-2025 12:28:59 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:28:59 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:28:59 UTC]    Is_active field in books: YES
[17-Nov-2025 12:28:59 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:28:59 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:28:59 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:28:59 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:28:59 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:28:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:28:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:28:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:00 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:00 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:00 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:00 UTC] 📊 Database Info:
[17-Nov-2025 12:29:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:00 UTC]    Books columns count: 53
[17-Nov-2025 12:29:00 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:00 UTC]    Language field in books: YES
[17-Nov-2025 12:29:00 UTC]    Format field in books: YES
[17-Nov-2025 12:29:00 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:00 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:00 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:00 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:00 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:00 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:00 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:00 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:00 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:00 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:00 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:00 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:00 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:01 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:01 UTC] 📊 Database Info:
[17-Nov-2025 12:29:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:01 UTC]    Books columns count: 53
[17-Nov-2025 12:29:01 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:01 UTC]    Language field in books: YES
[17-Nov-2025 12:29:01 UTC]    Format field in books: YES
[17-Nov-2025 12:29:01 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:01 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:01 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:01 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:01 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:01 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:01 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:01 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:01 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:01 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:01 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:23 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:23 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:23 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:23 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:23 UTC] 📊 Database Info:
[17-Nov-2025 12:29:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:23 UTC]    Books columns count: 53
[17-Nov-2025 12:29:23 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:23 UTC]    Language field in books: YES
[17-Nov-2025 12:29:23 UTC]    Format field in books: YES
[17-Nov-2025 12:29:23 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:23 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:23 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:23 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:23 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:23 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:23 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:23 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:23 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:23 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:23 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:25 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:25 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:25 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:25 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:25 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:25 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:25 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:25 UTC] 📊 Database Info:
[17-Nov-2025 12:29:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:25 UTC]    Books columns count: 53
[17-Nov-2025 12:29:25 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:25 UTC]    Language field in books: YES
[17-Nov-2025 12:29:25 UTC]    Format field in books: YES
[17-Nov-2025 12:29:25 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:25 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:25 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:25 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:25 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:25 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:25 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:25 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:25 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:25 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:25 UTC] 📊 Database Info:
[17-Nov-2025 12:29:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:25 UTC]    Books columns count: 53
[17-Nov-2025 12:29:25 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:25 UTC]    Language field in books: YES
[17-Nov-2025 12:29:25 UTC]    Format field in books: YES
[17-Nov-2025 12:29:25 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:25 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:25 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:25 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:25 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:25 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:25 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:25 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:25 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:25 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:25 UTC] 📊 Database Info:
[17-Nov-2025 12:29:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:25 UTC]    Books columns count: 53
[17-Nov-2025 12:29:25 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:25 UTC]    Language field in books: YES
[17-Nov-2025 12:29:25 UTC]    Format field in books: YES
[17-Nov-2025 12:29:25 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:25 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:25 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:25 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:25 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:25 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:25 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:25 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:25 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:25 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:25 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:26 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:26 UTC] 📊 Database Info:
[17-Nov-2025 12:29:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:26 UTC]    Books columns count: 53
[17-Nov-2025 12:29:26 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:26 UTC]    Language field in books: YES
[17-Nov-2025 12:29:26 UTC]    Format field in books: YES
[17-Nov-2025 12:29:26 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:26 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:26 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:26 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:26 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:26 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:26 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:26 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:26 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:26 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:26 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:27 UTC] 📊 Database Info:
[17-Nov-2025 12:29:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:27 UTC]    Books columns count: 53
[17-Nov-2025 12:29:27 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:27 UTC]    Language field in books: YES
[17-Nov-2025 12:29:27 UTC]    Format field in books: YES
[17-Nov-2025 12:29:27 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:27 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:27 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:27 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:27 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:27 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:27 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:27 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:27 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:27 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:28 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:28 UTC] 📊 Database Info:
[17-Nov-2025 12:29:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:28 UTC]    Books columns count: 53
[17-Nov-2025 12:29:28 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:28 UTC]    Language field in books: YES
[17-Nov-2025 12:29:28 UTC]    Format field in books: YES
[17-Nov-2025 12:29:28 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:28 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:28 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:28 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:28 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:28 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:28 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:28 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:28 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:28 UTC] 📊 Database Info:
[17-Nov-2025 12:29:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:28 UTC]    Books columns count: 53
[17-Nov-2025 12:29:28 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:28 UTC]    Language field in books: YES
[17-Nov-2025 12:29:28 UTC]    Format field in books: YES
[17-Nov-2025 12:29:28 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:28 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:28 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:28 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:28 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:28 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:28 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:28 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:28 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:28 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:28 UTC] 📊 Database Info:
[17-Nov-2025 12:29:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:28 UTC]    Books columns count: 53
[17-Nov-2025 12:29:28 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:28 UTC]    Language field in books: YES
[17-Nov-2025 12:29:28 UTC]    Format field in books: YES
[17-Nov-2025 12:29:28 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:28 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:28 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:28 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:28 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:28 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:28 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:28 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:28 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:28 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:28 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:28 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:28 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:28 UTC] 📊 Database Info:
[17-Nov-2025 12:29:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:28 UTC]    Books columns count: 53
[17-Nov-2025 12:29:28 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:28 UTC]    Language field in books: YES
[17-Nov-2025 12:29:28 UTC]    Format field in books: YES
[17-Nov-2025 12:29:28 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:28 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:28 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:28 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:28 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:28 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:28 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:28 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:28 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:28 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:28 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:28 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:28 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:28 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:28 UTC] 📊 Database Info:
[17-Nov-2025 12:29:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:28 UTC]    Books columns count: 53
[17-Nov-2025 12:29:28 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:28 UTC]    Language field in books: YES
[17-Nov-2025 12:29:28 UTC]    Format field in books: YES
[17-Nov-2025 12:29:28 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:28 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:28 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:28 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:28 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:28 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:28 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:28 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:28 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:29 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:29 UTC] 📊 Database Info:
[17-Nov-2025 12:29:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:29 UTC]    Books columns count: 53
[17-Nov-2025 12:29:29 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:29 UTC]    Language field in books: YES
[17-Nov-2025 12:29:29 UTC]    Format field in books: YES
[17-Nov-2025 12:29:29 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:29 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:29 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:29 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:29 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:29 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:29 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:29 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:29 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:29 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:29 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:29 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:29 UTC] 📊 Database Info:
[17-Nov-2025 12:29:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:29 UTC]    Books columns count: 53
[17-Nov-2025 12:29:29 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:29 UTC]    Language field in books: YES
[17-Nov-2025 12:29:29 UTC]    Format field in books: YES
[17-Nov-2025 12:29:29 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:29 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:29 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:29 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:29 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:29 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:29 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:29 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:29 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:29 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:29 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:29 UTC] 📊 Database Info:
[17-Nov-2025 12:29:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:29 UTC]    Books columns count: 53
[17-Nov-2025 12:29:29 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:29 UTC]    Language field in books: YES
[17-Nov-2025 12:29:29 UTC]    Format field in books: YES
[17-Nov-2025 12:29:29 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:29 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:29 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:29 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:29 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:29 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:29 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:29 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:29 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:29 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:29 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:29 UTC] 📊 Database Info:
[17-Nov-2025 12:29:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:29 UTC]    Books columns count: 53
[17-Nov-2025 12:29:29 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:29 UTC]    Language field in books: YES
[17-Nov-2025 12:29:29 UTC]    Format field in books: YES
[17-Nov-2025 12:29:29 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:29 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:29 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:29 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:29 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:29 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:29 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:29 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:29 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:29 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:29 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:29 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:29 UTC] 📊 Database Info:
[17-Nov-2025 12:29:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:29 UTC]    Books columns count: 53
[17-Nov-2025 12:29:29 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:29 UTC]    Language field in books: YES
[17-Nov-2025 12:29:29 UTC]    Format field in books: YES
[17-Nov-2025 12:29:29 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:29 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:29 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:29 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:29 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:29 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:29 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:29 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:29 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:29 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:29 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:29 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:29 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:29 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:29 UTC] 📊 Database Info:
[17-Nov-2025 12:29:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:29 UTC]    Books columns count: 53
[17-Nov-2025 12:29:29 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:29 UTC]    Language field in books: YES
[17-Nov-2025 12:29:29 UTC]    Format field in books: YES
[17-Nov-2025 12:29:29 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:29 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:29 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:29 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:29 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:29 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:29 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:29 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:29 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:30 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:30 UTC] 📊 Database Info:
[17-Nov-2025 12:29:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:30 UTC]    Books columns count: 53
[17-Nov-2025 12:29:30 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:30 UTC]    Language field in books: YES
[17-Nov-2025 12:29:30 UTC]    Format field in books: YES
[17-Nov-2025 12:29:30 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:30 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:30 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:30 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:30 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:30 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:30 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:30 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:30 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:30 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:30 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:30 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:30 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:30 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:30 UTC] 📊 Database Info:
[17-Nov-2025 12:29:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:30 UTC]    Books columns count: 53
[17-Nov-2025 12:29:30 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:30 UTC]    Language field in books: YES
[17-Nov-2025 12:29:30 UTC]    Format field in books: YES
[17-Nov-2025 12:29:30 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:30 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:30 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:30 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:30 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:30 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:30 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:30 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:30 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:30 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:30 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:30 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:30 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:30 UTC] 📊 Database Info:
[17-Nov-2025 12:29:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:30 UTC]    Books columns count: 53
[17-Nov-2025 12:29:30 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:30 UTC]    Language field in books: YES
[17-Nov-2025 12:29:30 UTC]    Format field in books: YES
[17-Nov-2025 12:29:30 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:30 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:30 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:30 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:30 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:30 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:30 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:30 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:30 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:30 UTC] 📊 Database Info:
[17-Nov-2025 12:29:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:30 UTC]    Books columns count: 53
[17-Nov-2025 12:29:30 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:30 UTC]    Language field in books: YES
[17-Nov-2025 12:29:30 UTC]    Format field in books: YES
[17-Nov-2025 12:29:30 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:30 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:30 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:30 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:30 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:30 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:30 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:30 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:30 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:30 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:30 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:30 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:30 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:30 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:30 UTC] 📊 Database Info:
[17-Nov-2025 12:29:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:30 UTC]    Books columns count: 53
[17-Nov-2025 12:29:30 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:30 UTC]    Language field in books: YES
[17-Nov-2025 12:29:30 UTC]    Format field in books: YES
[17-Nov-2025 12:29:30 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:30 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:30 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:30 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:30 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:30 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:30 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:30 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:30 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:30 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:30 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:31 UTC] 📊 Database Info:
[17-Nov-2025 12:29:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:31 UTC]    Books columns count: 53
[17-Nov-2025 12:29:31 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:31 UTC]    Language field in books: YES
[17-Nov-2025 12:29:31 UTC]    Format field in books: YES
[17-Nov-2025 12:29:31 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:31 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:31 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:31 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:31 UTC] 📊 Database Info:
[17-Nov-2025 12:29:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:31 UTC]    Books columns count: 53
[17-Nov-2025 12:29:31 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:31 UTC]    Language field in books: YES
[17-Nov-2025 12:29:31 UTC]    Format field in books: YES
[17-Nov-2025 12:29:31 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:31 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:31 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:31 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:32 UTC] 📊 Database Info:
[17-Nov-2025 12:29:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:32 UTC]    Books columns count: 53
[17-Nov-2025 12:29:32 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:32 UTC]    Language field in books: YES
[17-Nov-2025 12:29:32 UTC]    Format field in books: YES
[17-Nov-2025 12:29:32 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:32 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:32 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:32 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:32 UTC] 📊 Database Info:
[17-Nov-2025 12:29:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:32 UTC]    Books columns count: 53
[17-Nov-2025 12:29:32 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:32 UTC]    Language field in books: YES
[17-Nov-2025 12:29:32 UTC]    Format field in books: YES
[17-Nov-2025 12:29:32 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:32 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:32 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:32 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:32 UTC] 📊 Database Info:
[17-Nov-2025 12:29:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:32 UTC]    Books columns count: 53
[17-Nov-2025 12:29:32 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:32 UTC]    Language field in books: YES
[17-Nov-2025 12:29:32 UTC]    Format field in books: YES
[17-Nov-2025 12:29:32 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:32 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:32 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:32 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:33 UTC] 📊 Database Info:
[17-Nov-2025 12:29:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:33 UTC]    Books columns count: 53
[17-Nov-2025 12:29:33 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:33 UTC]    Language field in books: YES
[17-Nov-2025 12:29:33 UTC]    Format field in books: YES
[17-Nov-2025 12:29:33 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:33 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:33 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:33 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:34 UTC] 📊 Database Info:
[17-Nov-2025 12:29:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:34 UTC]    Books columns count: 53
[17-Nov-2025 12:29:34 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:34 UTC]    Language field in books: YES
[17-Nov-2025 12:29:34 UTC]    Format field in books: YES
[17-Nov-2025 12:29:34 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:34 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:34 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:34 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:34 UTC] 📊 Database Info:
[17-Nov-2025 12:29:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:34 UTC]    Books columns count: 53
[17-Nov-2025 12:29:34 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:34 UTC]    Language field in books: YES
[17-Nov-2025 12:29:34 UTC]    Format field in books: YES
[17-Nov-2025 12:29:34 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:34 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:34 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:34 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:35 UTC] 📊 Database Info:
[17-Nov-2025 12:29:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:35 UTC]    Books columns count: 53
[17-Nov-2025 12:29:35 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:35 UTC]    Language field in books: YES
[17-Nov-2025 12:29:35 UTC]    Format field in books: YES
[17-Nov-2025 12:29:35 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:35 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:35 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:35 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:35 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:35 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:35 UTC] 📊 Database Info:
[17-Nov-2025 12:29:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:35 UTC]    Books columns count: 53
[17-Nov-2025 12:29:35 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:35 UTC]    Language field in books: YES
[17-Nov-2025 12:29:35 UTC]    Format field in books: YES
[17-Nov-2025 12:29:35 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:35 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:35 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:35 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:35 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:35 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:36 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:36 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:36 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:36 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:36 UTC] 📊 Database Info:
[17-Nov-2025 12:29:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:36 UTC]    Books columns count: 53
[17-Nov-2025 12:29:36 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:36 UTC]    Language field in books: YES
[17-Nov-2025 12:29:36 UTC]    Format field in books: YES
[17-Nov-2025 12:29:36 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:36 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:36 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:36 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:36 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:36 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:36 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:36 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:36 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:36 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:36 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:36 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:36 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:36 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:36 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:36 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:36 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:36 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:36 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:36 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:36 UTC] 📊 Database Info:
[17-Nov-2025 12:29:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:36 UTC]    Books columns count: 53
[17-Nov-2025 12:29:36 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:36 UTC]    Language field in books: YES
[17-Nov-2025 12:29:36 UTC]    Format field in books: YES
[17-Nov-2025 12:29:36 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:36 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:36 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:36 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:36 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:36 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:36 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:36 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:36 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:36 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:36 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:36 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:36 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:36 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:36 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:36 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:36 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:37 UTC] 📊 Database Info:
[17-Nov-2025 12:29:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:37 UTC]    Books columns count: 53
[17-Nov-2025 12:29:37 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:37 UTC]    Language field in books: YES
[17-Nov-2025 12:29:37 UTC]    Format field in books: YES
[17-Nov-2025 12:29:37 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:37 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:37 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:37 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:37 UTC] 📊 Database Info:
[17-Nov-2025 12:29:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:37 UTC]    Books columns count: 53
[17-Nov-2025 12:29:37 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:37 UTC]    Language field in books: YES
[17-Nov-2025 12:29:37 UTC]    Format field in books: YES
[17-Nov-2025 12:29:37 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:37 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:37 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:37 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:50 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:50 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:50 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:50 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:50 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:50 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:51 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:51 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:51 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:51 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:51 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:51 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:51 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:51 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:51 UTC] 📊 Database Info:
[17-Nov-2025 12:29:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:51 UTC]    Books columns count: 53
[17-Nov-2025 12:29:51 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:51 UTC]    Language field in books: YES
[17-Nov-2025 12:29:51 UTC]    Format field in books: YES
[17-Nov-2025 12:29:51 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:51 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:51 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:51 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:51 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:51 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:51 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:51 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:51 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:51 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:51 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:51 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:51 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:51 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:51 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:51 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:51 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:51 UTC] 📊 Database Info:
[17-Nov-2025 12:29:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:51 UTC]    Books columns count: 53
[17-Nov-2025 12:29:51 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:51 UTC]    Language field in books: YES
[17-Nov-2025 12:29:51 UTC]    Format field in books: YES
[17-Nov-2025 12:29:51 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:51 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:51 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:51 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:51 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:51 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:51 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:51 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:51 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:51 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:51 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:51 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:51 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:51 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:51 UTC] 📊 Database Info:
[17-Nov-2025 12:29:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:51 UTC]    Books columns count: 53
[17-Nov-2025 12:29:51 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:51 UTC]    Language field in books: YES
[17-Nov-2025 12:29:51 UTC]    Format field in books: YES
[17-Nov-2025 12:29:51 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:51 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:51 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:51 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:51 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:51 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:51 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:51 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:51 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:51 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:51 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:51 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:51 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:51 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:51 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:51 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:51 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:51 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:51 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:51 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:51 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:51 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:51 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:51 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:51 UTC] 📊 Database Info:
[17-Nov-2025 12:29:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:51 UTC]    Books columns count: 53
[17-Nov-2025 12:29:51 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:51 UTC]    Language field in books: YES
[17-Nov-2025 12:29:51 UTC]    Format field in books: YES
[17-Nov-2025 12:29:51 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:51 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:51 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:51 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:51 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:51 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:51 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:51 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:51 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:51 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:29:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:29:52 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:29:52 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:29:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:29:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:29:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:29:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:29:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:29:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:29:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:29:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:29:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:29:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:29:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:29:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:29:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:29:52 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:29:52 UTC] 📊 Database Info:
[17-Nov-2025 12:29:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:29:52 UTC]    Books columns count: 53
[17-Nov-2025 12:29:52 UTC]    Categories columns count: 7
[17-Nov-2025 12:29:52 UTC]    Language field in books: YES
[17-Nov-2025 12:29:52 UTC]    Format field in books: YES
[17-Nov-2025 12:29:52 UTC]    Description field in categories: YES
[17-Nov-2025 12:29:52 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:29:52 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:29:52 UTC]    Is_active field in books: YES
[17-Nov-2025 12:29:52 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:29:52 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:29:52 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:29:52 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:29:52 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:29:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:29:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:29:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:29:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:29:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:29:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:29:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:29:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:29:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:29:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:29:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:29:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:29:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:29:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:29:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:29:52 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:30:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:08 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:30:08 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:30:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:08 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:08 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:09 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:30:09 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:09 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:30:09 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:09 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:09 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:09 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:09 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:09 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:09 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:09 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:09 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:09 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:09 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:09 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:09 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:30:09 UTC] 📊 Database Info:
[17-Nov-2025 12:30:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:30:09 UTC]    Books columns count: 53
[17-Nov-2025 12:30:09 UTC]    Categories columns count: 7
[17-Nov-2025 12:30:09 UTC]    Language field in books: YES
[17-Nov-2025 12:30:09 UTC]    Format field in books: YES
[17-Nov-2025 12:30:09 UTC]    Description field in categories: YES
[17-Nov-2025 12:30:09 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:30:09 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:30:09 UTC]    Is_active field in books: YES
[17-Nov-2025 12:30:09 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:30:09 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:30:09 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:30:09 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:09 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:09 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:09 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:09 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:09 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:09 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:09 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:09 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:30:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:30:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:30:10 UTC] 📊 Database Info:
[17-Nov-2025 12:30:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:30:10 UTC]    Books columns count: 53
[17-Nov-2025 12:30:10 UTC]    Categories columns count: 7
[17-Nov-2025 12:30:10 UTC]    Language field in books: YES
[17-Nov-2025 12:30:10 UTC]    Format field in books: YES
[17-Nov-2025 12:30:10 UTC]    Description field in categories: YES
[17-Nov-2025 12:30:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:30:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:30:10 UTC]    Is_active field in books: YES
[17-Nov-2025 12:30:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:30:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:30:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:30:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:30:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:30:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:30:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:30:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:30:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:30:10 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:30:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:30:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:30:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:30:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:30:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:30:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:30:10 UTC] 📊 Database Info:
[17-Nov-2025 12:30:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:30:10 UTC]    Books columns count: 53
[17-Nov-2025 12:30:10 UTC]    Categories columns count: 7
[17-Nov-2025 12:30:10 UTC]    Language field in books: YES
[17-Nov-2025 12:30:10 UTC]    Format field in books: YES
[17-Nov-2025 12:30:10 UTC]    Description field in categories: YES
[17-Nov-2025 12:30:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:30:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:30:10 UTC]    Is_active field in books: YES
[17-Nov-2025 12:30:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:30:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:30:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:30:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:30:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:30:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:30:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:30:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:11 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:30:11 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:30:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:30:11 UTC] 📊 Database Info:
[17-Nov-2025 12:30:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:30:11 UTC]    Books columns count: 53
[17-Nov-2025 12:30:11 UTC]    Categories columns count: 7
[17-Nov-2025 12:30:11 UTC]    Language field in books: YES
[17-Nov-2025 12:30:11 UTC]    Format field in books: YES
[17-Nov-2025 12:30:11 UTC]    Description field in categories: YES
[17-Nov-2025 12:30:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:30:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:30:11 UTC]    Is_active field in books: YES
[17-Nov-2025 12:30:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:30:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:30:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:30:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:30:12 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:30:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:30:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:30:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:30:12 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:30:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:13 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:30:13 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:30:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:13 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:30:13 UTC] 📊 Database Info:
[17-Nov-2025 12:30:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:30:13 UTC]    Books columns count: 53
[17-Nov-2025 12:30:13 UTC]    Categories columns count: 7
[17-Nov-2025 12:30:13 UTC]    Language field in books: YES
[17-Nov-2025 12:30:13 UTC]    Format field in books: YES
[17-Nov-2025 12:30:13 UTC]    Description field in categories: YES
[17-Nov-2025 12:30:13 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:30:13 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:30:13 UTC]    Is_active field in books: YES
[17-Nov-2025 12:30:13 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:30:13 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:30:13 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:30:13 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:30:13 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:30:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:30:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:30:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:30:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:30:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:30:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:30:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:30:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:30:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:30:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:30:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:30:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:30:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:30:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:30:13 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:30:13 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:30:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:30:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:30:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:15 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:30:15 UTC] 📊 Database Info:
[17-Nov-2025 12:30:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:30:15 UTC]    Books columns count: 53
[17-Nov-2025 12:30:15 UTC]    Categories columns count: 7
[17-Nov-2025 12:30:15 UTC]    Language field in books: YES
[17-Nov-2025 12:30:15 UTC]    Format field in books: YES
[17-Nov-2025 12:30:15 UTC]    Description field in categories: YES
[17-Nov-2025 12:30:15 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:30:15 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:30:15 UTC]    Is_active field in books: YES
[17-Nov-2025 12:30:15 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:30:15 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:30:15 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:30:15 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:30:15 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:30:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:30:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:30:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:30:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:30:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:30:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:30:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:30:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:30:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:30:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:30:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:30:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:30:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:30:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:30:15 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:30:15 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:30:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:35 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:30:35 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:30:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:35 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:30:35 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:35 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:30:35 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:30:35 UTC] 📊 Database Info:
[17-Nov-2025 12:30:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:30:35 UTC]    Books columns count: 53
[17-Nov-2025 12:30:35 UTC]    Categories columns count: 7
[17-Nov-2025 12:30:35 UTC]    Language field in books: YES
[17-Nov-2025 12:30:35 UTC]    Format field in books: YES
[17-Nov-2025 12:30:35 UTC]    Description field in categories: YES
[17-Nov-2025 12:30:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:30:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:30:35 UTC]    Is_active field in books: YES
[17-Nov-2025 12:30:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:30:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:30:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:30:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:30:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:30:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:30:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:30:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:30:35 UTC] 📊 Database Info:
[17-Nov-2025 12:30:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:30:35 UTC]    Books columns count: 53
[17-Nov-2025 12:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:35 UTC]    Categories columns count: 7
[17-Nov-2025 12:30:35 UTC]    Language field in books: YES
[17-Nov-2025 12:30:35 UTC]    Format field in books: YES
[17-Nov-2025 12:30:35 UTC]    Description field in categories: YES
[17-Nov-2025 12:30:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:30:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:30:35 UTC]    Is_active field in books: YES
[17-Nov-2025 12:30:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:30:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:30:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:30:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:30:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:30:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:30:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:30:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:30:35 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:30:35 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:30:35 UTC] 📊 Database Info:
[17-Nov-2025 12:30:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:30:35 UTC]    Books columns count: 53
[17-Nov-2025 12:30:35 UTC]    Categories columns count: 7
[17-Nov-2025 12:30:35 UTC]    Language field in books: YES
[17-Nov-2025 12:30:35 UTC]    Format field in books: YES
[17-Nov-2025 12:30:35 UTC]    Description field in categories: YES
[17-Nov-2025 12:30:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:30:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:30:35 UTC]    Is_active field in books: YES
[17-Nov-2025 12:30:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:30:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:30:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:30:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:30:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:30:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:30:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:30:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:36 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:36 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:36 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:36 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:36 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:36 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:36 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:36 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:36 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:36 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:36 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:30:36 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:30:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:36 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:36 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:36 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:36 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:36 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:36 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:36 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:36 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:36 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:36 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:36 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:30:36 UTC] 📊 Database Info:
[17-Nov-2025 12:30:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:30:36 UTC]    Books columns count: 53
[17-Nov-2025 12:30:36 UTC]    Categories columns count: 7
[17-Nov-2025 12:30:36 UTC]    Language field in books: YES
[17-Nov-2025 12:30:36 UTC]    Format field in books: YES
[17-Nov-2025 12:30:36 UTC]    Description field in categories: YES
[17-Nov-2025 12:30:36 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:30:36 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:30:36 UTC]    Is_active field in books: YES
[17-Nov-2025 12:30:36 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:30:36 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:30:36 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:30:36 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:30:36 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:30:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:30:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:30:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:30:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:30:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:30:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:30:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:30:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:30:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:30:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:30:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:30:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:30:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:30:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:30:36 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:30:36 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:30:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:36 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:36 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:36 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:36 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:36 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:36 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:36 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:36 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:36 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:36 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:36 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:30:36 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:30:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:36 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:30:37 UTC] 📊 Database Info:
[17-Nov-2025 12:30:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:30:37 UTC]    Books columns count: 53
[17-Nov-2025 12:30:37 UTC]    Categories columns count: 7
[17-Nov-2025 12:30:37 UTC]    Language field in books: YES
[17-Nov-2025 12:30:37 UTC]    Format field in books: YES
[17-Nov-2025 12:30:37 UTC]    Description field in categories: YES
[17-Nov-2025 12:30:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:30:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:30:37 UTC]    Is_active field in books: YES
[17-Nov-2025 12:30:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:30:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:30:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:30:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:30:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:30:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:30:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:30:37 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:30:37 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:30:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:30:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:30:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:30:37 UTC] 📊 Database Info:
[17-Nov-2025 12:30:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:30:37 UTC]    Books columns count: 53
[17-Nov-2025 12:30:37 UTC]    Categories columns count: 7
[17-Nov-2025 12:30:37 UTC]    Language field in books: YES
[17-Nov-2025 12:30:37 UTC]    Format field in books: YES
[17-Nov-2025 12:30:37 UTC]    Description field in categories: YES
[17-Nov-2025 12:30:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:30:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:30:37 UTC]    Is_active field in books: YES
[17-Nov-2025 12:30:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:30:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:30:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:30:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:30:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:30:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:30:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:30:37 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:30:37 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:30:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:30:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:30:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:30:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:30:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:30:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:30:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:30:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:30:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:30:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:30:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:30:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:30:37 UTC] 📊 Database Info:
[17-Nov-2025 12:30:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:30:37 UTC]    Books columns count: 53
[17-Nov-2025 12:30:37 UTC]    Categories columns count: 7
[17-Nov-2025 12:30:37 UTC]    Language field in books: YES
[17-Nov-2025 12:30:37 UTC]    Format field in books: YES
[17-Nov-2025 12:30:37 UTC]    Description field in categories: YES
[17-Nov-2025 12:30:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:30:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:30:37 UTC]    Is_active field in books: YES
[17-Nov-2025 12:30:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:30:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:30:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:30:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:30:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:30:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:30:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:30:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:30:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:30:38 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:30:38 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:31:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:31:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:31:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:31:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:31:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:31:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:31:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:31:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:31:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:31:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:31:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:31:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:31:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:31:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:31:12 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:31:12 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:31:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:31:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:31:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:31:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:31:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:31:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:31:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:31:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:31:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:31:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:31:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:31:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:31:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:31:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:31:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:31:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:31:12 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:31:12 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:31:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:31:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:31:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:31:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:31:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:31:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:31:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:31:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:31:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:31:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:31:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:31:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:31:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:31:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:31:12 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:31:12 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:31:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:31:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:31:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:31:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:31:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:31:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:31:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:31:13 UTC] 📊 Database Info:
[17-Nov-2025 12:31:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:31:13 UTC]    Books columns count: 53
[17-Nov-2025 12:31:13 UTC]    Categories columns count: 7
[17-Nov-2025 12:31:13 UTC]    Language field in books: YES
[17-Nov-2025 12:31:13 UTC]    Format field in books: YES
[17-Nov-2025 12:31:13 UTC]    Description field in categories: YES
[17-Nov-2025 12:31:13 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:31:13 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:31:13 UTC]    Is_active field in books: YES
[17-Nov-2025 12:31:13 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:31:13 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:31:13 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:31:13 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:31:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:31:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:31:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:31:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:31:13 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:31:13 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:31:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:31:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:31:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:31:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:31:13 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:31:13 UTC] 📊 Database Info:
[17-Nov-2025 12:31:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:31:13 UTC]    Books columns count: 53
[17-Nov-2025 12:31:13 UTC]    Categories columns count: 7
[17-Nov-2025 12:31:13 UTC]    Language field in books: YES
[17-Nov-2025 12:31:13 UTC]    Format field in books: YES
[17-Nov-2025 12:31:13 UTC]    Description field in categories: YES
[17-Nov-2025 12:31:13 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:31:13 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:31:13 UTC]    Is_active field in books: YES
[17-Nov-2025 12:31:13 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:31:13 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:31:13 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:31:13 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:31:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:31:13 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:31:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:31:13 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:31:13 UTC] 📊 Database Info:
[17-Nov-2025 12:31:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:31:13 UTC]    Books columns count: 53
[17-Nov-2025 12:31:13 UTC]    Categories columns count: 7
[17-Nov-2025 12:31:13 UTC]    Language field in books: YES
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:31:13 UTC]    Format field in books: YES
[17-Nov-2025 12:31:13 UTC]    Description field in categories: YES
[17-Nov-2025 12:31:13 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:31:13 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:31:13 UTC]    Is_active field in books: YES
[17-Nov-2025 12:31:13 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:31:13 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:31:13 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:31:13 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:31:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:31:13 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:31:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:31:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:31:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:31:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:31:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:31:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:31:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:31:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:31:13 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:31:13 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:31:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:31:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:31:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:31:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:31:13 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:31:13 UTC] 📊 Database Info:
[17-Nov-2025 12:31:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:31:13 UTC]    Books columns count: 53
[17-Nov-2025 12:31:13 UTC]    Categories columns count: 7
[17-Nov-2025 12:31:13 UTC]    Language field in books: YES
[17-Nov-2025 12:31:13 UTC]    Format field in books: YES
[17-Nov-2025 12:31:13 UTC]    Description field in categories: YES
[17-Nov-2025 12:31:13 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:31:13 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:31:13 UTC]    Is_active field in books: YES
[17-Nov-2025 12:31:13 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:31:13 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:31:13 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:31:13 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:31:13 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:31:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:31:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:31:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:31:13 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:31:13 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:31:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:31:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:31:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:31:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:31:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:31:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:31:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:31:13 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:31:13 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:31:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:31:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:31:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:31:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:31:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:31:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:31:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:31:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:31:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:31:14 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:31:14 UTC] 📊 Database Info:
[17-Nov-2025 12:31:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:31:14 UTC]    Books columns count: 53
[17-Nov-2025 12:31:14 UTC]    Categories columns count: 7
[17-Nov-2025 12:31:14 UTC]    Language field in books: YES
[17-Nov-2025 12:31:14 UTC]    Format field in books: YES
[17-Nov-2025 12:31:14 UTC]    Description field in categories: YES
[17-Nov-2025 12:31:14 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:31:14 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:31:14 UTC]    Is_active field in books: YES
[17-Nov-2025 12:31:14 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:31:14 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:31:14 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:31:14 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:31:14 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:31:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:31:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:31:14 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:31:14 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:31:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:31:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:31:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:31:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:31:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:31:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:31:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:31:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:31:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:31:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:31:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:31:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:31:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:31:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:31:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:31:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:31:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:31:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:31:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:31:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:31:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:31:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:31:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:31:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:31:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:31:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:31:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:31:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:31:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:31:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:31:14 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:31:14 UTC] 📊 Database Info:
[17-Nov-2025 12:31:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:31:14 UTC]    Books columns count: 53
[17-Nov-2025 12:31:14 UTC]    Categories columns count: 7
[17-Nov-2025 12:31:14 UTC]    Language field in books: YES
[17-Nov-2025 12:31:14 UTC]    Format field in books: YES
[17-Nov-2025 12:31:14 UTC]    Description field in categories: YES
[17-Nov-2025 12:31:14 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:31:14 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:31:14 UTC]    Is_active field in books: YES
[17-Nov-2025 12:31:14 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:31:14 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:31:14 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:31:14 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:31:14 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:31:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:31:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:31:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:31:14 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:31:14 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:45:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:45:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:45:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:45:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:45:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:45:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:45:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:45:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:45:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:45:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:45:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:45:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:06 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:45:06 UTC] 📊 Database Info:
[17-Nov-2025 12:45:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:45:06 UTC]    Books columns count: 53
[17-Nov-2025 12:45:06 UTC]    Categories columns count: 7
[17-Nov-2025 12:45:06 UTC]    Language field in books: YES
[17-Nov-2025 12:45:06 UTC]    Format field in books: YES
[17-Nov-2025 12:45:06 UTC]    Description field in categories: YES
[17-Nov-2025 12:45:06 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:45:06 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:45:06 UTC]    Is_active field in books: YES
[17-Nov-2025 12:45:06 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:45:06 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:45:06 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:45:06 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:45:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:06 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:45:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:06 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:45:06 UTC] 📊 Database Info:
[17-Nov-2025 12:45:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:45:06 UTC]    Books columns count: 53
[17-Nov-2025 12:45:06 UTC]    Categories columns count: 7
[17-Nov-2025 12:45:06 UTC]    Language field in books: YES
[17-Nov-2025 12:45:06 UTC]    Format field in books: YES
[17-Nov-2025 12:45:06 UTC]    Description field in categories: YES
[17-Nov-2025 12:45:06 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:45:06 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:45:06 UTC]    Is_active field in books: YES
[17-Nov-2025 12:45:06 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:45:06 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:45:06 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:45:06 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:45:06 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:45:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:45:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:45:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:45:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:45:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:45:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:07 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:45:07 UTC] 📊 Database Info:
[17-Nov-2025 12:45:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:45:07 UTC]    Books columns count: 53
[17-Nov-2025 12:45:07 UTC]    Categories columns count: 7
[17-Nov-2025 12:45:07 UTC]    Language field in books: YES
[17-Nov-2025 12:45:07 UTC]    Format field in books: YES
[17-Nov-2025 12:45:07 UTC]    Description field in categories: YES
[17-Nov-2025 12:45:07 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:45:07 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:45:07 UTC]    Is_active field in books: YES
[17-Nov-2025 12:45:07 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:45:07 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:45:07 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:45:07 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:45:07 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:45:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:45:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:07 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:45:07 UTC] 📊 Database Info:
[17-Nov-2025 12:45:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:45:07 UTC]    Books columns count: 53
[17-Nov-2025 12:45:07 UTC]    Categories columns count: 7
[17-Nov-2025 12:45:07 UTC]    Language field in books: YES
[17-Nov-2025 12:45:07 UTC]    Format field in books: YES
[17-Nov-2025 12:45:07 UTC]    Description field in categories: YES
[17-Nov-2025 12:45:07 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:45:07 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:45:07 UTC]    Is_active field in books: YES
[17-Nov-2025 12:45:07 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:45:07 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:45:07 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:45:07 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:45:07 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:45:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:45:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:45:07 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:45:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:45:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:45:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:45:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:45:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:45:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:45:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:45:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:45:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:45:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:45:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:45:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:45:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:45:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:45:07 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 12:45:07 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 12:45:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:45:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:45:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:45:08 UTC] 📊 Database Info:
[17-Nov-2025 12:45:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:45:08 UTC]    Books columns count: 53
[17-Nov-2025 12:45:08 UTC]    Categories columns count: 7
[17-Nov-2025 12:45:08 UTC]    Language field in books: YES
[17-Nov-2025 12:45:08 UTC]    Format field in books: YES
[17-Nov-2025 12:45:08 UTC]    Description field in categories: YES
[17-Nov-2025 12:45:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:45:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:45:08 UTC]    Is_active field in books: YES
[17-Nov-2025 12:45:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:45:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:45:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:45:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:45:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:45:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:45:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:45:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:45:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:45:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:45:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:45:08 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 12:45:08 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 12:45:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:45:08 UTC] 📊 Database Info:
[17-Nov-2025 12:45:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:45:08 UTC]    Books columns count: 53
[17-Nov-2025 12:45:08 UTC]    Categories columns count: 7
[17-Nov-2025 12:45:08 UTC]    Language field in books: YES
[17-Nov-2025 12:45:08 UTC]    Format field in books: YES
[17-Nov-2025 12:45:08 UTC]    Description field in categories: YES
[17-Nov-2025 12:45:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:45:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:45:08 UTC]    Is_active field in books: YES
[17-Nov-2025 12:45:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:45:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:45:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:45:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:45:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:45:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:45:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:45:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:30 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:45:30 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:45:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:45:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:45:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:45:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:45:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:45:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:45:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:45:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:45:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:45:32 UTC] 📊 Database Info:
[17-Nov-2025 12:45:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:45:32 UTC]    Books columns count: 53
[17-Nov-2025 12:45:32 UTC]    Categories columns count: 7
[17-Nov-2025 12:45:32 UTC]    Language field in books: YES
[17-Nov-2025 12:45:32 UTC]    Format field in books: YES
[17-Nov-2025 12:45:32 UTC]    Description field in categories: YES
[17-Nov-2025 12:45:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:45:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:45:32 UTC]    Is_active field in books: YES
[17-Nov-2025 12:45:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:45:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:45:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:45:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:45:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:45:32 UTC] 📊 Database Info:
[17-Nov-2025 12:45:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:45:32 UTC]    Books columns count: 53
[17-Nov-2025 12:45:32 UTC]    Categories columns count: 7
[17-Nov-2025 12:45:32 UTC]    Language field in books: YES
[17-Nov-2025 12:45:32 UTC]    Format field in books: YES
[17-Nov-2025 12:45:32 UTC]    Description field in categories: YES
[17-Nov-2025 12:45:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:45:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:45:32 UTC]    Is_active field in books: YES
[17-Nov-2025 12:45:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:45:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:45:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:45:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:45:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:45:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:45:32 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 12:45:32 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:45:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:45:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:45:32 UTC] 📊 Database Info:
[17-Nov-2025 12:45:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:45:32 UTC]    Books columns count: 53
[17-Nov-2025 12:45:32 UTC]    Categories columns count: 7
[17-Nov-2025 12:45:32 UTC]    Language field in books: YES
[17-Nov-2025 12:45:32 UTC]    Format field in books: YES
[17-Nov-2025 12:45:32 UTC]    Description field in categories: YES
[17-Nov-2025 12:45:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:45:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:45:32 UTC]    Is_active field in books: YES
[17-Nov-2025 12:45:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:45:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:45:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:45:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:45:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:45:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:45:32 UTC] 📊 Database Info:
[17-Nov-2025 12:45:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:45:32 UTC]    Books columns count: 53
[17-Nov-2025 12:45:32 UTC]    Categories columns count: 7
[17-Nov-2025 12:45:32 UTC]    Language field in books: YES
[17-Nov-2025 12:45:32 UTC]    Format field in books: YES
[17-Nov-2025 12:45:32 UTC]    Description field in categories: YES
[17-Nov-2025 12:45:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:45:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:45:32 UTC]    Is_active field in books: YES
[17-Nov-2025 12:45:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:45:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:45:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:45:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:45:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:45:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:45:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:45:32 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 12:45:32 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:45:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:45:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:45:32 UTC] 📊 Database Info:
[17-Nov-2025 12:45:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:45:32 UTC]    Books columns count: 53
[17-Nov-2025 12:45:32 UTC]    Categories columns count: 7
[17-Nov-2025 12:45:32 UTC]    Language field in books: YES
[17-Nov-2025 12:45:32 UTC]    Format field in books: YES
[17-Nov-2025 12:45:32 UTC]    Description field in categories: YES
[17-Nov-2025 12:45:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:45:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:45:32 UTC]    Is_active field in books: YES
[17-Nov-2025 12:45:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:45:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:45:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:45:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:45:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:45:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:45:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:45:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:45:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:45:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:45:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:45:32 UTC] 📊 Database Info:
[17-Nov-2025 12:45:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:45:32 UTC]    Books columns count: 53
[17-Nov-2025 12:45:32 UTC]    Categories columns count: 7
[17-Nov-2025 12:45:32 UTC]    Language field in books: YES
[17-Nov-2025 12:45:32 UTC]    Format field in books: YES
[17-Nov-2025 12:45:32 UTC]    Description field in categories: YES
[17-Nov-2025 12:45:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:45:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:45:32 UTC]    Is_active field in books: YES
[17-Nov-2025 12:45:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:45:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:45:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:45:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:45:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:45:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:46:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:46:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:46:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:46:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:46:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:46:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:46:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:46:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:46:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:46:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:46:54 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:46:54 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:46:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:46:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:46:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:46:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:46:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:46:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:46:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:46:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:46:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:46:54 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:46:54 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:46:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:46:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:46:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:46:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:46:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:46:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:46:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:46:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:46:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:46:54 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:46:54 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:46:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:46:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:46:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:46:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:46:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:46:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:46:54 UTC] 📊 Database Info:
[17-Nov-2025 12:46:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:46:54 UTC]    Books columns count: 53
[17-Nov-2025 12:46:54 UTC]    Categories columns count: 7
[17-Nov-2025 12:46:54 UTC]    Language field in books: YES
[17-Nov-2025 12:46:54 UTC]    Format field in books: YES
[17-Nov-2025 12:46:54 UTC]    Description field in categories: YES
[17-Nov-2025 12:46:54 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:46:54 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:46:54 UTC]    Is_active field in books: YES
[17-Nov-2025 12:46:54 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:46:54 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:46:54 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:46:54 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:46:54 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:46:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:46:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:46:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:46:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:46:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:46:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:46:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:46:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:46:54 UTC] 📊 Database Info:
[17-Nov-2025 12:46:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:46:54 UTC]    Books columns count: 53
[17-Nov-2025 12:46:54 UTC]    Categories columns count: 7
[17-Nov-2025 12:46:54 UTC]    Language field in books: YES
[17-Nov-2025 12:46:54 UTC]    Format field in books: YES
[17-Nov-2025 12:46:54 UTC]    Description field in categories: YES
[17-Nov-2025 12:46:54 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:46:54 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:46:54 UTC]    Is_active field in books: YES
[17-Nov-2025 12:46:54 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:46:54 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:46:54 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:46:54 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:46:54 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:46:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:46:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:46:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:46:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:46:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:46:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:46:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:46:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:46:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:46:54 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:46:54 UTC] 📊 Database Info:
[17-Nov-2025 12:46:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:46:54 UTC]    Books columns count: 53
[17-Nov-2025 12:46:54 UTC]    Categories columns count: 7
[17-Nov-2025 12:46:54 UTC]    Language field in books: YES
[17-Nov-2025 12:46:54 UTC]    Format field in books: YES
[17-Nov-2025 12:46:54 UTC]    Description field in categories: YES
[17-Nov-2025 12:46:54 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:46:54 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:46:54 UTC]    Is_active field in books: YES
[17-Nov-2025 12:46:54 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:46:54 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:46:54 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:46:54 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:46:54 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:46:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:46:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:46:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:46:54 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:46:54 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:48:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:48:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:48:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:48:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:48:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:48:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:48:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:48:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:48:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:48:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:48:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:48:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:48:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:48:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:48:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:48:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:48:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:48:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:48:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:48:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:48:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:48:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:48:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:48:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:48:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:48:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:48:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:48:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:48:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:48:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:48:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:48:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:48:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:48:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:48:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:48:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:48:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:48:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:48:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:48:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:48:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:48:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:48:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:48:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:48:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:48:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:48:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:48:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:48:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:48:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:48:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:48:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:48:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:48:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:48:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:48:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:48:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:48:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:48:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:48:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:48:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:48:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:48:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:48:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:48:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:48:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:48:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:48:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:48:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:48:33 UTC] 📊 Database Info:
[17-Nov-2025 12:48:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:48:33 UTC]    Books columns count: 53
[17-Nov-2025 12:48:33 UTC]    Categories columns count: 7
[17-Nov-2025 12:48:33 UTC]    Language field in books: YES
[17-Nov-2025 12:48:33 UTC]    Format field in books: YES
[17-Nov-2025 12:48:33 UTC]    Description field in categories: YES
[17-Nov-2025 12:48:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:48:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:48:33 UTC]    Is_active field in books: YES
[17-Nov-2025 12:48:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:48:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:48:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:48:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:48:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:48:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:48:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:48:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:48:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:48:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:48:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:48:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:48:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:48:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:48:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:48:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:48:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:48:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:48:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:48:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:48:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:48:33 UTC] 📊 Database Info:
[17-Nov-2025 12:48:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:48:33 UTC]    Books columns count: 53
[17-Nov-2025 12:48:33 UTC]    Categories columns count: 7
[17-Nov-2025 12:48:33 UTC]    Language field in books: YES
[17-Nov-2025 12:48:33 UTC]    Format field in books: YES
[17-Nov-2025 12:48:33 UTC]    Description field in categories: YES
[17-Nov-2025 12:48:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:48:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:48:33 UTC]    Is_active field in books: YES
[17-Nov-2025 12:48:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:48:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:48:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:48:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:48:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:48:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:48:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:48:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:48:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:48:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:48:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:48:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:48:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:48:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:48:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:48:33 UTC] 📊 Database Info:
[17-Nov-2025 12:48:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:48:33 UTC]    Books columns count: 53
[17-Nov-2025 12:48:33 UTC]    Categories columns count: 7
[17-Nov-2025 12:48:33 UTC]    Language field in books: YES
[17-Nov-2025 12:48:33 UTC]    Format field in books: YES
[17-Nov-2025 12:48:33 UTC]    Description field in categories: YES
[17-Nov-2025 12:48:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:48:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:48:33 UTC]    Is_active field in books: YES
[17-Nov-2025 12:48:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:48:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:48:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:48:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:48:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:48:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:48:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:48:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:48:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:48:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:48:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:48:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:48:33 UTC] 📊 Database Info:
[17-Nov-2025 12:48:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:48:33 UTC]    Books columns count: 53
[17-Nov-2025 12:48:33 UTC]    Categories columns count: 7
[17-Nov-2025 12:48:33 UTC]    Language field in books: YES
[17-Nov-2025 12:48:33 UTC]    Format field in books: YES
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:48:33 UTC]    Description field in categories: YES
[17-Nov-2025 12:48:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:48:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:48:33 UTC]    Is_active field in books: YES
[17-Nov-2025 12:48:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:48:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:48:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:48:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:48:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:48:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:48:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:48:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:48:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:48:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:48:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:48:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:48:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:48:33 UTC] 📊 Database Info:
[17-Nov-2025 12:48:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:48:33 UTC]    Books columns count: 53
[17-Nov-2025 12:48:33 UTC]    Categories columns count: 7
[17-Nov-2025 12:48:33 UTC]    Language field in books: YES
[17-Nov-2025 12:48:33 UTC]    Format field in books: YES
[17-Nov-2025 12:48:33 UTC]    Description field in categories: YES
[17-Nov-2025 12:48:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:48:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:48:33 UTC]    Is_active field in books: YES
[17-Nov-2025 12:48:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:48:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:48:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:48:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:48:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:48:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:48:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:48:33 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 12:48:33 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 12:48:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:48:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:48:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:48:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:48:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:48:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:48:33 UTC] 📊 Database Info:
[17-Nov-2025 12:48:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:48:33 UTC]    Books columns count: 53
[17-Nov-2025 12:48:33 UTC]    Categories columns count: 7
[17-Nov-2025 12:48:33 UTC]    Language field in books: YES
[17-Nov-2025 12:48:33 UTC]    Format field in books: YES
[17-Nov-2025 12:48:33 UTC]    Description field in categories: YES
[17-Nov-2025 12:48:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:48:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:48:33 UTC]    Is_active field in books: YES
[17-Nov-2025 12:48:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:48:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:48:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:48:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:48:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:48:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:48:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:48:33 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 12:48:33 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 12:49:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:26 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:26 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:49:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:49:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:49:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:49:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:49:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:49:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:49:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:49:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:49:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:49:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:49:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:49:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:49:27 UTC] 📊 Database Info:
[17-Nov-2025 12:49:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:49:27 UTC]    Books columns count: 53
[17-Nov-2025 12:49:27 UTC]    Categories columns count: 7
[17-Nov-2025 12:49:27 UTC]    Language field in books: YES
[17-Nov-2025 12:49:27 UTC]    Format field in books: YES
[17-Nov-2025 12:49:27 UTC]    Description field in categories: YES
[17-Nov-2025 12:49:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:49:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:49:27 UTC]    Is_active field in books: YES
[17-Nov-2025 12:49:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:49:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:49:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:49:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:49:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:49:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:49:27 UTC] 📊 Database Info:
[17-Nov-2025 12:49:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:49:27 UTC]    Books columns count: 53
[17-Nov-2025 12:49:27 UTC]    Categories columns count: 7
[17-Nov-2025 12:49:27 UTC]    Language field in books: YES
[17-Nov-2025 12:49:27 UTC]    Format field in books: YES
[17-Nov-2025 12:49:27 UTC]    Description field in categories: YES
[17-Nov-2025 12:49:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:49:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:49:27 UTC]    Is_active field in books: YES
[17-Nov-2025 12:49:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:49:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:49:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:49:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:49:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:49:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:49:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:49:27 UTC] 📊 Database Info:
[17-Nov-2025 12:49:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:49:27 UTC]    Books columns count: 53
[17-Nov-2025 12:49:27 UTC]    Categories columns count: 7
[17-Nov-2025 12:49:27 UTC]    Language field in books: YES
[17-Nov-2025 12:49:27 UTC]    Format field in books: YES
[17-Nov-2025 12:49:27 UTC]    Description field in categories: YES
[17-Nov-2025 12:49:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:49:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:49:27 UTC]    Is_active field in books: YES
[17-Nov-2025 12:49:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:49:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:49:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:49:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:49:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:49:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:49:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:49:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:49:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:49:27 UTC] 📊 Database Info:
[17-Nov-2025 12:49:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:49:27 UTC]    Books columns count: 53
[17-Nov-2025 12:49:27 UTC]    Categories columns count: 7
[17-Nov-2025 12:49:27 UTC]    Language field in books: YES
[17-Nov-2025 12:49:27 UTC]    Format field in books: YES
[17-Nov-2025 12:49:27 UTC]    Description field in categories: YES
[17-Nov-2025 12:49:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:49:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:49:27 UTC]    Is_active field in books: YES
[17-Nov-2025 12:49:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:49:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:49:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:49:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:49:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:49:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:49:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:49:27 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 12:49:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:27 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:49:27 UTC] 📊 Database Info:
[17-Nov-2025 12:49:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:49:27 UTC]    Books columns count: 53
[17-Nov-2025 12:49:27 UTC]    Categories columns count: 7
[17-Nov-2025 12:49:27 UTC]    Language field in books: YES
[17-Nov-2025 12:49:27 UTC]    Format field in books: YES
[17-Nov-2025 12:49:27 UTC]    Description field in categories: YES
[17-Nov-2025 12:49:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:49:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:49:27 UTC]    Is_active field in books: YES
[17-Nov-2025 12:49:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:49:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:49:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:49:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:49:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:49:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:49:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:49:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:49:27 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 12:49:27 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 12:49:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:49:27 UTC] 📊 Database Info:
[17-Nov-2025 12:49:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:49:27 UTC]    Books columns count: 53
[17-Nov-2025 12:49:27 UTC]    Categories columns count: 7
[17-Nov-2025 12:49:27 UTC]    Language field in books: YES
[17-Nov-2025 12:49:27 UTC]    Format field in books: YES
[17-Nov-2025 12:49:27 UTC]    Description field in categories: YES
[17-Nov-2025 12:49:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:49:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:49:27 UTC]    Is_active field in books: YES
[17-Nov-2025 12:49:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:49:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:49:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:49:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:49:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:49:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:49:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:49:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:49:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:49:31 UTC] 📊 Database Info:
[17-Nov-2025 12:49:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:49:31 UTC]    Books columns count: 53
[17-Nov-2025 12:49:31 UTC]    Categories columns count: 7
[17-Nov-2025 12:49:31 UTC]    Language field in books: YES
[17-Nov-2025 12:49:31 UTC]    Format field in books: YES
[17-Nov-2025 12:49:31 UTC]    Description field in categories: YES
[17-Nov-2025 12:49:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:49:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:49:31 UTC]    Is_active field in books: YES
[17-Nov-2025 12:49:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:49:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:49:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:49:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:49:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:49:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:49:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:49:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:49:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:49:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:49:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:49:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:49:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:49:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:49:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:49:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:49:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:49:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:49:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:52 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:49:52 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:49:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:52 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:49:52 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:49:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:52 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:49:52 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:49:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:52 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:49:52 UTC] 📊 Database Info:
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:49:52 UTC]    Books columns count: 53
[17-Nov-2025 12:49:52 UTC]    Categories columns count: 7
[17-Nov-2025 12:49:52 UTC]    Language field in books: YES
[17-Nov-2025 12:49:52 UTC]    Format field in books: YES
[17-Nov-2025 12:49:52 UTC]    Description field in categories: YES
[17-Nov-2025 12:49:52 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:49:52 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:49:52 UTC]    Is_active field in books: YES
[17-Nov-2025 12:49:52 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:49:52 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:49:52 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:49:52 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:49:52 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:49:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:49:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:52 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:49:52 UTC] 📊 Database Info:
[17-Nov-2025 12:49:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:49:52 UTC]    Books columns count: 53
[17-Nov-2025 12:49:52 UTC]    Categories columns count: 7
[17-Nov-2025 12:49:52 UTC]    Language field in books: YES
[17-Nov-2025 12:49:52 UTC]    Format field in books: YES
[17-Nov-2025 12:49:52 UTC]    Description field in categories: YES
[17-Nov-2025 12:49:52 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:49:52 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:49:52 UTC]    Is_active field in books: YES
[17-Nov-2025 12:49:52 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:49:52 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:49:52 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:49:52 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:49:52 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:49:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:49:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:49:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:49:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:49:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:49:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:49:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:49:52 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 12:49:52 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 12:49:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:53 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:49:53 UTC] 📊 Database Info:
[17-Nov-2025 12:49:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:49:53 UTC]    Books columns count: 53
[17-Nov-2025 12:49:53 UTC]    Categories columns count: 7
[17-Nov-2025 12:49:53 UTC]    Language field in books: YES
[17-Nov-2025 12:49:53 UTC]    Format field in books: YES
[17-Nov-2025 12:49:53 UTC]    Description field in categories: YES
[17-Nov-2025 12:49:53 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:49:53 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:49:53 UTC]    Is_active field in books: YES
[17-Nov-2025 12:49:53 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:49:53 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:49:53 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:49:53 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:49:53 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:49:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:49:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:49:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:49:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:49:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:49:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:49:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:49:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:49:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:49:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:49:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:49:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:49:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:49:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:49:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:49:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:49:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:49:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:49:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:49:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:49:56 UTC] 📊 Database Info:
[17-Nov-2025 12:49:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:49:56 UTC]    Books columns count: 53
[17-Nov-2025 12:49:56 UTC]    Categories columns count: 7
[17-Nov-2025 12:49:56 UTC]    Language field in books: YES
[17-Nov-2025 12:49:56 UTC]    Format field in books: YES
[17-Nov-2025 12:49:56 UTC]    Description field in categories: YES
[17-Nov-2025 12:49:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:49:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:49:56 UTC]    Is_active field in books: YES
[17-Nov-2025 12:49:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:49:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:49:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:49:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:49:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:49:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:49:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:49:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:49:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:49:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:49:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:49:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:49:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:49:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:49:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:49:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:49:56 UTC] 📊 Database Info:
[17-Nov-2025 12:49:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:49:56 UTC]    Books columns count: 53
[17-Nov-2025 12:49:56 UTC]    Categories columns count: 7
[17-Nov-2025 12:49:56 UTC]    Language field in books: YES
[17-Nov-2025 12:49:56 UTC]    Format field in books: YES
[17-Nov-2025 12:49:56 UTC]    Description field in categories: YES
[17-Nov-2025 12:49:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:49:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:49:56 UTC]    Is_active field in books: YES
[17-Nov-2025 12:49:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:49:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:49:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:49:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:49:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:49:56 UTC] 📊 Database Info:
[17-Nov-2025 12:49:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:49:56 UTC]    Books columns count: 53
[17-Nov-2025 12:49:56 UTC]    Categories columns count: 7
[17-Nov-2025 12:49:56 UTC]    Language field in books: YES
[17-Nov-2025 12:49:56 UTC]    Format field in books: YES
[17-Nov-2025 12:49:56 UTC]    Description field in categories: YES
[17-Nov-2025 12:49:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:49:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:49:56 UTC]    Is_active field in books: YES
[17-Nov-2025 12:49:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:49:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:49:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:49:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:49:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:49:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:49:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:49:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:49:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:49:56 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 12:49:56 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 12:49:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:49:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:59 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:49:59 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:49:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:49:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:49:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:49:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:49:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:49:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:49:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:49:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:49:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:49:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:49:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:49:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:49:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:49:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:49:59 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:49:59 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:00 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:50:00 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:00 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:50:00 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:00 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:50:00 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:00 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:50:00 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:01 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:50:01 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:01 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:01 UTC] 📊 Database Info:
[17-Nov-2025 12:50:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:01 UTC]    Books columns count: 53
[17-Nov-2025 12:50:01 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:01 UTC]    Language field in books: YES
[17-Nov-2025 12:50:01 UTC]    Format field in books: YES
[17-Nov-2025 12:50:01 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:01 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:01 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:01 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:01 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:01 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:01 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:01 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:01 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:01 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:01 UTC] 📊 Database Info:
[17-Nov-2025 12:50:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:01 UTC]    Books columns count: 53
[17-Nov-2025 12:50:01 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:01 UTC]    Language field in books: YES
[17-Nov-2025 12:50:01 UTC]    Format field in books: YES
[17-Nov-2025 12:50:01 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:01 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:01 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:01 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:01 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:01 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:01 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:01 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:01 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:02 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:02 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:50:02 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:50:02 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:50:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:03 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:03 UTC] 📊 Database Info:
[17-Nov-2025 12:50:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:03 UTC]    Books columns count: 53
[17-Nov-2025 12:50:03 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:03 UTC]    Language field in books: YES
[17-Nov-2025 12:50:03 UTC]    Format field in books: YES
[17-Nov-2025 12:50:03 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:03 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:03 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:03 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:03 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:03 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:03 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:03 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:03 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:04 UTC] 📊 Database Info:
[17-Nov-2025 12:50:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:04 UTC]    Books columns count: 53
[17-Nov-2025 12:50:04 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:04 UTC]    Language field in books: YES
[17-Nov-2025 12:50:04 UTC]    Format field in books: YES
[17-Nov-2025 12:50:04 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:04 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:04 UTC] 📊 Database Info:
[17-Nov-2025 12:50:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:04 UTC]    Books columns count: 53
[17-Nov-2025 12:50:04 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:04 UTC]    Language field in books: YES
[17-Nov-2025 12:50:04 UTC]    Format field in books: YES
[17-Nov-2025 12:50:04 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:04 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:04 UTC] 📊 Database Info:
[17-Nov-2025 12:50:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:04 UTC]    Books columns count: 53
[17-Nov-2025 12:50:04 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:04 UTC]    Language field in books: YES
[17-Nov-2025 12:50:04 UTC]    Format field in books: YES
[17-Nov-2025 12:50:04 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:04 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:04 UTC] 📊 Database Info:
[17-Nov-2025 12:50:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:04 UTC]    Books columns count: 53
[17-Nov-2025 12:50:04 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:04 UTC]    Language field in books: YES
[17-Nov-2025 12:50:04 UTC]    Format field in books: YES
[17-Nov-2025 12:50:04 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:04 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:50:05 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:05 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:50:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:50:05 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:50:05 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:50:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:07 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:50:07 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:08 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:08 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:50:08 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:08 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:08 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:08 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:50:08 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:08 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:08 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:08 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:08 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:50:08 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:08 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:08 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:08 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:08 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:08 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:08 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:08 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:08 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:50:08 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:08 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:50:08 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:09 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:09 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:09 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:09 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:09 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:09 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:09 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:09 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:09 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:09 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:09 UTC] 📊 Database Info:
[17-Nov-2025 12:50:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:09 UTC]    Books columns count: 53
[17-Nov-2025 12:50:09 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:09 UTC]    Language field in books: YES
[17-Nov-2025 12:50:09 UTC]    Format field in books: YES
[17-Nov-2025 12:50:09 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:09 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:09 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:09 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:09 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:09 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:09 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:09 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:09 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:10 UTC] 📊 Database Info:
[17-Nov-2025 12:50:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:10 UTC]    Books columns count: 53
[17-Nov-2025 12:50:10 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:10 UTC]    Language field in books: YES
[17-Nov-2025 12:50:10 UTC]    Format field in books: YES
[17-Nov-2025 12:50:10 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:10 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:11 UTC] 📊 Database Info:
[17-Nov-2025 12:50:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:11 UTC]    Books columns count: 53
[17-Nov-2025 12:50:11 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:11 UTC]    Language field in books: YES
[17-Nov-2025 12:50:11 UTC]    Format field in books: YES
[17-Nov-2025 12:50:11 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:11 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:11 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:11 UTC] 📊 Database Info:
[17-Nov-2025 12:50:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:11 UTC]    Books columns count: 53
[17-Nov-2025 12:50:11 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:11 UTC]    Language field in books: YES
[17-Nov-2025 12:50:11 UTC]    Format field in books: YES
[17-Nov-2025 12:50:11 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:11 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:11 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:11 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:11 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 12:50:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:11 UTC] 📊 Database Info:
[17-Nov-2025 12:50:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:11 UTC]    Books columns count: 53
[17-Nov-2025 12:50:11 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:11 UTC]    Language field in books: YES
[17-Nov-2025 12:50:11 UTC]    Format field in books: YES
[17-Nov-2025 12:50:11 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:11 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:11 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:11 UTC] 📊 Database Info:
[17-Nov-2025 12:50:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:11 UTC]    Books columns count: 53
[17-Nov-2025 12:50:11 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:11 UTC]    Language field in books: YES
[17-Nov-2025 12:50:11 UTC]    Format field in books: YES
[17-Nov-2025 12:50:11 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:11 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:11 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:11 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 12:50:11 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 12:50:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:11 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:50:11 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:11 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:50:11 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:12 UTC] 📊 Database Info:
[17-Nov-2025 12:50:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:12 UTC]    Books columns count: 53
[17-Nov-2025 12:50:12 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:12 UTC]    Language field in books: YES
[17-Nov-2025 12:50:12 UTC]    Format field in books: YES
[17-Nov-2025 12:50:12 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:12 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:12 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:12 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:12 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:12 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:12 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:12 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:12 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:12 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:12 UTC] 📊 Database Info:
[17-Nov-2025 12:50:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:12 UTC]    Books columns count: 53
[17-Nov-2025 12:50:12 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:12 UTC]    Language field in books: YES
[17-Nov-2025 12:50:12 UTC]    Format field in books: YES
[17-Nov-2025 12:50:12 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:12 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:12 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:12 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:12 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:12 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:12 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:12 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:12 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:30 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:50:30 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:31 UTC] 📊 Database Info:
[17-Nov-2025 12:50:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:31 UTC]    Books columns count: 53
[17-Nov-2025 12:50:31 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:31 UTC]    Language field in books: YES
[17-Nov-2025 12:50:31 UTC]    Format field in books: YES
[17-Nov-2025 12:50:31 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:31 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:50:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:50:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:50:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:44 UTC] 📊 Database Info:
[17-Nov-2025 12:50:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:44 UTC]    Books columns count: 53
[17-Nov-2025 12:50:44 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:44 UTC]    Language field in books: YES
[17-Nov-2025 12:50:44 UTC]    Format field in books: YES
[17-Nov-2025 12:50:44 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:44 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:45 UTC] 📊 Database Info:
[17-Nov-2025 12:50:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:45 UTC]    Books columns count: 53
[17-Nov-2025 12:50:45 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:45 UTC]    Language field in books: YES
[17-Nov-2025 12:50:45 UTC]    Format field in books: YES
[17-Nov-2025 12:50:45 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:45 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:45 UTC] 📊 Database Info:
[17-Nov-2025 12:50:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:45 UTC]    Books columns count: 53
[17-Nov-2025 12:50:45 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:45 UTC]    Language field in books: YES
[17-Nov-2025 12:50:45 UTC]    Format field in books: YES
[17-Nov-2025 12:50:45 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:45 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:50:45 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 12:50:45 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 12:50:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:50:59 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:50:59 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:50:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:50:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:50:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:50:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:50:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:50:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:50:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:50:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:50:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:50:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:50:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:50:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:50:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:50:59 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:50:59 UTC] 📊 Database Info:
[17-Nov-2025 12:50:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:50:59 UTC]    Books columns count: 53
[17-Nov-2025 12:50:59 UTC]    Categories columns count: 7
[17-Nov-2025 12:50:59 UTC]    Language field in books: YES
[17-Nov-2025 12:50:59 UTC]    Format field in books: YES
[17-Nov-2025 12:50:59 UTC]    Description field in categories: YES
[17-Nov-2025 12:50:59 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:50:59 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:50:59 UTC]    Is_active field in books: YES
[17-Nov-2025 12:50:59 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:50:59 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:50:59 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:50:59 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:50:59 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:50:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:50:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:50:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:50:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:50:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:50:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:50:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:50:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:50:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:50:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:50:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:50:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:50:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:51:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:51:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:51:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:51:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:51:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:51:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:51:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:51:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:51:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:51:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:51:27 UTC] 📊 Database Info:
[17-Nov-2025 12:51:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:51:27 UTC]    Books columns count: 53
[17-Nov-2025 12:51:27 UTC]    Categories columns count: 7
[17-Nov-2025 12:51:27 UTC]    Language field in books: YES
[17-Nov-2025 12:51:27 UTC]    Format field in books: YES
[17-Nov-2025 12:51:27 UTC]    Description field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Is_active field in books: YES
[17-Nov-2025 12:51:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:51:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:51:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:51:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:51:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:51:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:51:27 UTC] 📊 Database Info:
[17-Nov-2025 12:51:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:51:27 UTC]    Books columns count: 53
[17-Nov-2025 12:51:27 UTC]    Categories columns count: 7
[17-Nov-2025 12:51:27 UTC]    Language field in books: YES
[17-Nov-2025 12:51:27 UTC]    Format field in books: YES
[17-Nov-2025 12:51:27 UTC]    Description field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Is_active field in books: YES
[17-Nov-2025 12:51:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:51:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:51:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:51:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:51:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:51:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:51:27 UTC] 📊 Database Info:
[17-Nov-2025 12:51:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:51:27 UTC]    Books columns count: 53
[17-Nov-2025 12:51:27 UTC]    Categories columns count: 7
[17-Nov-2025 12:51:27 UTC]    Language field in books: YES
[17-Nov-2025 12:51:27 UTC]    Format field in books: YES
[17-Nov-2025 12:51:27 UTC]    Description field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Is_active field in books: YES
[17-Nov-2025 12:51:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:51:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:51:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:51:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:51:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:51:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:51:27 UTC] 📊 Database Info:
[17-Nov-2025 12:51:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:51:27 UTC]    Books columns count: 53
[17-Nov-2025 12:51:27 UTC]    Categories columns count: 7
[17-Nov-2025 12:51:27 UTC]    Language field in books: YES
[17-Nov-2025 12:51:27 UTC]    Format field in books: YES
[17-Nov-2025 12:51:27 UTC]    Description field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Is_active field in books: YES
[17-Nov-2025 12:51:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:51:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:51:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:51:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:51:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:51:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:51:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:51:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:51:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:51:27 UTC] 📊 Database Info:
[17-Nov-2025 12:51:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:51:27 UTC]    Books columns count: 53
[17-Nov-2025 12:51:27 UTC]    Categories columns count: 7
[17-Nov-2025 12:51:27 UTC]    Language field in books: YES
[17-Nov-2025 12:51:27 UTC]    Format field in books: YES
[17-Nov-2025 12:51:27 UTC]    Description field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Is_active field in books: YES
[17-Nov-2025 12:51:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:51:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:51:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:51:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:51:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:51:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:51:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:51:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:51:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:51:27 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:51:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:51:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:51:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:51:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:51:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:27 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:51:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:51:27 UTC] 📊 Database Info:
[17-Nov-2025 12:51:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:51:27 UTC]    Books columns count: 53
[17-Nov-2025 12:51:27 UTC]    Categories columns count: 7
[17-Nov-2025 12:51:27 UTC]    Language field in books: YES
[17-Nov-2025 12:51:27 UTC]    Format field in books: YES
[17-Nov-2025 12:51:27 UTC]    Description field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Is_active field in books: YES
[17-Nov-2025 12:51:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:51:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:51:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:51:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:51:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:51:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:51:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:51:27 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:51:27 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:51:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:51:27 UTC] 📊 Database Info:
[17-Nov-2025 12:51:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:51:27 UTC]    Books columns count: 53
[17-Nov-2025 12:51:27 UTC]    Categories columns count: 7
[17-Nov-2025 12:51:27 UTC]    Language field in books: YES
[17-Nov-2025 12:51:27 UTC]    Format field in books: YES
[17-Nov-2025 12:51:27 UTC]    Description field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:51:27 UTC]    Is_active field in books: YES
[17-Nov-2025 12:51:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:51:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:51:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:51:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:51:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:51:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:51:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:51:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:51:27 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:51:27 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:51:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:29 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:51:29 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 12:51:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:29 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:51:29 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:51:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:29 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 12:51:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:29 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:51:29 UTC] 📊 Database Info:
[17-Nov-2025 12:51:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:51:29 UTC]    Books columns count: 53
[17-Nov-2025 12:51:29 UTC]    Categories columns count: 7
[17-Nov-2025 12:51:29 UTC]    Language field in books: YES
[17-Nov-2025 12:51:29 UTC]    Format field in books: YES
[17-Nov-2025 12:51:29 UTC]    Description field in categories: YES
[17-Nov-2025 12:51:29 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:51:29 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:51:29 UTC]    Is_active field in books: YES
[17-Nov-2025 12:51:29 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:51:29 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:51:29 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:51:29 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:51:29 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:51:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:51:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:51:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:51:29 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:51:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 12:51:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 12:51:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 12:51:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 12:51:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 12:51:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:29 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:51:29 UTC] 📊 Database Info:
[17-Nov-2025 12:51:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:51:29 UTC]    Books columns count: 53
[17-Nov-2025 12:51:29 UTC]    Categories columns count: 7
[17-Nov-2025 12:51:29 UTC]    Language field in books: YES
[17-Nov-2025 12:51:29 UTC]    Format field in books: YES
[17-Nov-2025 12:51:29 UTC]    Description field in categories: YES
[17-Nov-2025 12:51:29 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:51:29 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:51:29 UTC]    Is_active field in books: YES
[17-Nov-2025 12:51:29 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:51:29 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:51:29 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:51:29 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:51:29 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:51:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:51:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:51:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:51:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:51:29 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 12:51:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 12:51:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 12:51:29 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 12:51:29 UTC] 📊 Database Info:
[17-Nov-2025 12:51:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 12:51:29 UTC]    Books columns count: 53
[17-Nov-2025 12:51:29 UTC]    Categories columns count: 7
[17-Nov-2025 12:51:29 UTC]    Language field in books: YES
[17-Nov-2025 12:51:29 UTC]    Format field in books: YES
[17-Nov-2025 12:51:29 UTC]    Description field in categories: YES
[17-Nov-2025 12:51:29 UTC]    Display_order field in categories: YES
[17-Nov-2025 12:51:29 UTC]    Is_active field in categories: YES
[17-Nov-2025 12:51:29 UTC]    Is_active field in books: YES
[17-Nov-2025 12:51:29 UTC]    External_download_link field in books: YES
[17-Nov-2025 12:51:29 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 12:51:29 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 12:51:29 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 12:51:29 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 12:51:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 12:51:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 12:51:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 12:51:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 12:51:29 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 13:16:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:16:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:16:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:16:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:16:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:16:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:16:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:16:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:16:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:16:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:16:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:16:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:16:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:16:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:16:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:16:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:16:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:16:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:16:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:16:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:16:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:16:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:16:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:16:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:16:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:16:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:16:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:16:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:16:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:16:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:16:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:16:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:16:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:16:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:16:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:16:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:16:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:16:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:16:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:16:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:16:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:16:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:16:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:16:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:16:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:16:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:16:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:16:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:16:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:16:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:16:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:16:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:16:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:16:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:16:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:16:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:16:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:16:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:16:44 UTC] 📊 Database Info:
[17-Nov-2025 13:16:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:16:44 UTC]    Books columns count: 53
[17-Nov-2025 13:16:44 UTC]    Categories columns count: 7
[17-Nov-2025 13:16:44 UTC]    Language field in books: YES
[17-Nov-2025 13:16:44 UTC]    Format field in books: YES
[17-Nov-2025 13:16:44 UTC]    Description field in categories: YES
[17-Nov-2025 13:16:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:16:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:16:44 UTC]    Is_active field in books: YES
[17-Nov-2025 13:16:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:16:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:16:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:16:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:16:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:16:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:16:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:16:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:16:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:16:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:16:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:16:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:16:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:16:44 UTC] 📊 Database Info:
[17-Nov-2025 13:16:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:16:44 UTC]    Books columns count: 53
[17-Nov-2025 13:16:44 UTC]    Categories columns count: 7
[17-Nov-2025 13:16:44 UTC]    Language field in books: YES
[17-Nov-2025 13:16:44 UTC]    Format field in books: YES
[17-Nov-2025 13:16:44 UTC]    Description field in categories: YES
[17-Nov-2025 13:16:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:16:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:16:44 UTC]    Is_active field in books: YES
[17-Nov-2025 13:16:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:16:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:16:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:16:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:16:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:16:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:16:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:16:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:16:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:16:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:16:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:16:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:16:44 UTC] 📊 Database Info:
[17-Nov-2025 13:16:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:16:44 UTC]    Books columns count: 53
[17-Nov-2025 13:16:44 UTC]    Categories columns count: 7
[17-Nov-2025 13:16:44 UTC]    Language field in books: YES
[17-Nov-2025 13:16:44 UTC]    Format field in books: YES
[17-Nov-2025 13:16:44 UTC]    Description field in categories: YES
[17-Nov-2025 13:16:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:16:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:16:44 UTC]    Is_active field in books: YES
[17-Nov-2025 13:16:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:16:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:16:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:16:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:16:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:16:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:16:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:16:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:16:44 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:16:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:16:44 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:16:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:16:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:16:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:16:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:16:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:16:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:16:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:16:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:16:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:16:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:16:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:16:44 UTC] 📊 Database Info:
[17-Nov-2025 13:16:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:16:44 UTC]    Books columns count: 53
[17-Nov-2025 13:16:44 UTC]    Categories columns count: 7
[17-Nov-2025 13:16:44 UTC]    Language field in books: YES
[17-Nov-2025 13:16:44 UTC]    Format field in books: YES
[17-Nov-2025 13:16:44 UTC]    Description field in categories: YES
[17-Nov-2025 13:16:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:16:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:16:44 UTC]    Is_active field in books: YES
[17-Nov-2025 13:16:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:16:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:16:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:16:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:16:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:16:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:16:44 UTC] 📊 Database Info:
[17-Nov-2025 13:16:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:16:44 UTC]    Books columns count: 53
[17-Nov-2025 13:16:44 UTC]    Categories columns count: 7
[17-Nov-2025 13:16:44 UTC]    Language field in books: YES
[17-Nov-2025 13:16:44 UTC]    Format field in books: YES
[17-Nov-2025 13:16:44 UTC]    Description field in categories: YES
[17-Nov-2025 13:16:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:16:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:16:44 UTC]    Is_active field in books: YES
[17-Nov-2025 13:16:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:16:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:16:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:16:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:16:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:16:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:16:44 UTC] 📊 Database Info:
[17-Nov-2025 13:16:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:16:44 UTC]    Books columns count: 53
[17-Nov-2025 13:16:44 UTC]    Categories columns count: 7
[17-Nov-2025 13:16:44 UTC]    Language field in books: YES
[17-Nov-2025 13:16:44 UTC]    Format field in books: YES
[17-Nov-2025 13:16:44 UTC]    Description field in categories: YES
[17-Nov-2025 13:16:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:16:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:16:44 UTC]    Is_active field in books: YES
[17-Nov-2025 13:16:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:16:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:16:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:16:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:16:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:16:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:16:44 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:16:44 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:16:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:16:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:16:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:17:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:25 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:17:25 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:17:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:25 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:17:25 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:17:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:25 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:17:25 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:17:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:26 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:26 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:26 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:17:26 UTC] 📊 Database Info:
[17-Nov-2025 13:17:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:17:26 UTC]    Books columns count: 53
[17-Nov-2025 13:17:26 UTC]    Categories columns count: 7
[17-Nov-2025 13:17:26 UTC]    Language field in books: YES
[17-Nov-2025 13:17:26 UTC]    Format field in books: YES
[17-Nov-2025 13:17:26 UTC]    Description field in categories: YES
[17-Nov-2025 13:17:26 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:17:26 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:17:26 UTC]    Is_active field in books: YES
[17-Nov-2025 13:17:26 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:17:26 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:17:26 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:17:26 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:17:26 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:17:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:17:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:17:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:26 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:17:26 UTC] 📊 Database Info:
[17-Nov-2025 13:17:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:17:26 UTC]    Books columns count: 53
[17-Nov-2025 13:17:26 UTC]    Categories columns count: 7
[17-Nov-2025 13:17:26 UTC]    Language field in books: YES
[17-Nov-2025 13:17:26 UTC]    Format field in books: YES
[17-Nov-2025 13:17:26 UTC]    Description field in categories: YES
[17-Nov-2025 13:17:26 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:17:26 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:17:26 UTC]    Is_active field in books: YES
[17-Nov-2025 13:17:26 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:17:26 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:17:26 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:17:26 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:17:26 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:17:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:17:26 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:17:26 UTC] 📊 Database Info:
[17-Nov-2025 13:17:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:17:26 UTC]    Books columns count: 53
[17-Nov-2025 13:17:26 UTC]    Categories columns count: 7
[17-Nov-2025 13:17:26 UTC]    Language field in books: YES
[17-Nov-2025 13:17:26 UTC]    Format field in books: YES
[17-Nov-2025 13:17:26 UTC]    Description field in categories: YES
[17-Nov-2025 13:17:26 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:17:26 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:17:26 UTC]    Is_active field in books: YES
[17-Nov-2025 13:17:26 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:17:26 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:17:26 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:17:26 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:17:26 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:17:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:17:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:17:26 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:17:26 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:17:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:17:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:17:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:17:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:17:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:17:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:17:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:17:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:17:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:17:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:17:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:17:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:17:33 UTC] 📊 Database Info:
[17-Nov-2025 13:17:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:17:33 UTC]    Books columns count: 53
[17-Nov-2025 13:17:33 UTC]    Categories columns count: 7
[17-Nov-2025 13:17:33 UTC]    Language field in books: YES
[17-Nov-2025 13:17:33 UTC]    Format field in books: YES
[17-Nov-2025 13:17:33 UTC]    Description field in categories: YES
[17-Nov-2025 13:17:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:17:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:17:33 UTC]    Is_active field in books: YES
[17-Nov-2025 13:17:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:17:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:17:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:17:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:17:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:17:34 UTC] 📊 Database Info:
[17-Nov-2025 13:17:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:17:34 UTC]    Books columns count: 53
[17-Nov-2025 13:17:34 UTC]    Categories columns count: 7
[17-Nov-2025 13:17:34 UTC]    Language field in books: YES
[17-Nov-2025 13:17:34 UTC]    Format field in books: YES
[17-Nov-2025 13:17:34 UTC]    Description field in categories: YES
[17-Nov-2025 13:17:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:17:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:17:34 UTC]    Is_active field in books: YES
[17-Nov-2025 13:17:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:17:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:17:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:17:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:17:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:17:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:17:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:17:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:17:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:17:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:17:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:17:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:17:34 UTC] 📊 Database Info:
[17-Nov-2025 13:17:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:17:34 UTC]    Books columns count: 53
[17-Nov-2025 13:17:34 UTC]    Categories columns count: 7
[17-Nov-2025 13:17:34 UTC]    Language field in books: YES
[17-Nov-2025 13:17:34 UTC]    Format field in books: YES
[17-Nov-2025 13:17:34 UTC]    Description field in categories: YES
[17-Nov-2025 13:17:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:17:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:17:34 UTC]    Is_active field in books: YES
[17-Nov-2025 13:17:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:17:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:17:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:17:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:17:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:17:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:17:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:17:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:17:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:17:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:17:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:17:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:17:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:17:34 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:17:34 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:17:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:17:35 UTC] 📊 Database Info:
[17-Nov-2025 13:17:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:17:35 UTC]    Books columns count: 53
[17-Nov-2025 13:17:35 UTC]    Categories columns count: 7
[17-Nov-2025 13:17:35 UTC]    Language field in books: YES
[17-Nov-2025 13:17:35 UTC]    Format field in books: YES
[17-Nov-2025 13:17:35 UTC]    Description field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Is_active field in books: YES
[17-Nov-2025 13:17:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:17:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:17:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:17:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:17:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:17:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:17:35 UTC] 📊 Database Info:
[17-Nov-2025 13:17:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:17:35 UTC]    Books columns count: 53
[17-Nov-2025 13:17:35 UTC]    Categories columns count: 7
[17-Nov-2025 13:17:35 UTC]    Language field in books: YES
[17-Nov-2025 13:17:35 UTC]    Format field in books: YES
[17-Nov-2025 13:17:35 UTC]    Description field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Is_active field in books: YES
[17-Nov-2025 13:17:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:17:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:17:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:17:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:17:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:17:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:17:35 UTC] 📊 Database Info:
[17-Nov-2025 13:17:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:17:35 UTC]    Books columns count: 53
[17-Nov-2025 13:17:35 UTC]    Categories columns count: 7
[17-Nov-2025 13:17:35 UTC]    Language field in books: YES
[17-Nov-2025 13:17:35 UTC]    Format field in books: YES
[17-Nov-2025 13:17:35 UTC]    Description field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Is_active field in books: YES
[17-Nov-2025 13:17:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:17:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:17:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:17:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:17:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:17:35 UTC] 📊 Database Info:
[17-Nov-2025 13:17:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:17:35 UTC]    Books columns count: 53
[17-Nov-2025 13:17:35 UTC]    Categories columns count: 7
[17-Nov-2025 13:17:35 UTC]    Language field in books: YES
[17-Nov-2025 13:17:35 UTC]    Format field in books: YES
[17-Nov-2025 13:17:35 UTC]    Description field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Is_active field in books: YES
[17-Nov-2025 13:17:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:17:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:17:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:17:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:17:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:17:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:17:35 UTC] 📊 Database Info:
[17-Nov-2025 13:17:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:17:35 UTC]    Books columns count: 53
[17-Nov-2025 13:17:35 UTC]    Categories columns count: 7
[17-Nov-2025 13:17:35 UTC]    Language field in books: YES
[17-Nov-2025 13:17:35 UTC]    Format field in books: YES
[17-Nov-2025 13:17:35 UTC]    Description field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Is_active field in books: YES
[17-Nov-2025 13:17:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:17:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:17:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:17:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:17:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:17:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:17:35 UTC] 📊 Database Info:
[17-Nov-2025 13:17:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:17:35 UTC]    Books columns count: 53
[17-Nov-2025 13:17:35 UTC]    Categories columns count: 7
[17-Nov-2025 13:17:35 UTC]    Language field in books: YES
[17-Nov-2025 13:17:35 UTC]    Format field in books: YES
[17-Nov-2025 13:17:35 UTC]    Description field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Is_active field in books: YES
[17-Nov-2025 13:17:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:17:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:17:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:17:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:17:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:17:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:17:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:17:35 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:17:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:17:35 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:17:35 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:17:35 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:17:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:17:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:17:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:17:35 UTC] 📊 Database Info:
[17-Nov-2025 13:17:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:17:35 UTC]    Books columns count: 53
[17-Nov-2025 13:17:35 UTC]    Categories columns count: 7
[17-Nov-2025 13:17:35 UTC]    Language field in books: YES
[17-Nov-2025 13:17:35 UTC]    Format field in books: YES
[17-Nov-2025 13:17:35 UTC]    Description field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Is_active field in books: YES
[17-Nov-2025 13:17:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:17:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:17:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:17:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:17:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:17:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:17:35 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:35 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:17:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:17:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:17:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:17:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:17:35 UTC] 📊 Database Info:
[17-Nov-2025 13:17:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:17:35 UTC]    Books columns count: 53
[17-Nov-2025 13:17:35 UTC]    Categories columns count: 7
[17-Nov-2025 13:17:35 UTC]    Language field in books: YES
[17-Nov-2025 13:17:35 UTC]    Format field in books: YES
[17-Nov-2025 13:17:35 UTC]    Description field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:17:35 UTC]    Is_active field in books: YES
[17-Nov-2025 13:17:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:17:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:17:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:17:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:17:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:17:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:17:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:17:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:17:35 UTC] 📊 Database Info:
[17-Nov-2025 13:17:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:17:35 UTC]    Books columns count: 53
[17-Nov-2025 13:17:35 UTC]    Categories columns count: 7
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:17:35 UTC]    Language field in books: YES
[17-Nov-2025 13:17:35 UTC]    Format field in books: YES
[17-Nov-2025 13:17:35 UTC]    Description field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:17:35 UTC]    Is_active field in books: YES
[17-Nov-2025 13:17:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:17:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:17:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:17:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:17:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:17:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:17:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:17:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:20:38 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:20:38 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:20:38 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:20:38 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:20:38 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:20:38 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:20:38 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:20:38 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:20:38 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:20:38 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:20:38 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:20:38 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:20:38 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:20:38 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:20:38 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:20:38 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:20:38 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:20:38 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:20:38 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:20:38 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:20:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:20:38 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:20:38 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:20:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:20:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:20:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:20:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:20:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:20:38 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:20:38 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:20:38 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:20:38 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:20:38 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:20:38 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:20:38 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:20:38 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:20:38 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:20:38 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:20:38 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:20:38 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:20:38 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:20:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:20:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:20:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:20:38 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:20:38 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:20:38 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:20:38 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:20:38 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:20:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:20:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:20:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:20:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:20:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:20:39 UTC] 📊 Database Info:
[17-Nov-2025 13:20:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:20:39 UTC]    Books columns count: 53
[17-Nov-2025 13:20:39 UTC]    Categories columns count: 7
[17-Nov-2025 13:20:39 UTC]    Language field in books: YES
[17-Nov-2025 13:20:39 UTC]    Format field in books: YES
[17-Nov-2025 13:20:39 UTC]    Description field in categories: YES
[17-Nov-2025 13:20:39 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:20:39 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:20:39 UTC]    Is_active field in books: YES
[17-Nov-2025 13:20:39 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:20:39 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:20:39 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:20:39 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:20:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:20:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:20:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:20:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:20:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:20:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:20:39 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:20:39 UTC] 📊 Database Info:
[17-Nov-2025 13:20:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:20:39 UTC]    Books columns count: 53
[17-Nov-2025 13:20:39 UTC]    Categories columns count: 7
[17-Nov-2025 13:20:39 UTC]    Language field in books: YES
[17-Nov-2025 13:20:39 UTC]    Format field in books: YES
[17-Nov-2025 13:20:39 UTC]    Description field in categories: YES
[17-Nov-2025 13:20:39 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:20:39 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:20:39 UTC]    Is_active field in books: YES
[17-Nov-2025 13:20:39 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:20:39 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:20:39 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:20:39 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:20:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:20:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:20:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:20:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:20:39 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:20:39 UTC] 📊 Database Info:
[17-Nov-2025 13:20:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:20:39 UTC]    Books columns count: 53
[17-Nov-2025 13:20:39 UTC]    Categories columns count: 7
[17-Nov-2025 13:20:39 UTC]    Language field in books: YES
[17-Nov-2025 13:20:39 UTC]    Format field in books: YES
[17-Nov-2025 13:20:39 UTC]    Description field in categories: YES
[17-Nov-2025 13:20:39 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:20:39 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:20:39 UTC]    Is_active field in books: YES
[17-Nov-2025 13:20:39 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:20:39 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:20:39 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:20:39 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:20:39 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:20:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:20:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 13:20:39 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 13:20:39 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 13:20:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:20:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:20:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:20:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:20:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:20:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:20:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:20:39 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:20:39 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:20:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:20:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:20:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:20:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:20:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:20:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:20:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:20:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:20:39 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:20:39 UTC] 📊 Database Info:
[17-Nov-2025 13:20:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:20:39 UTC]    Books columns count: 53
[17-Nov-2025 13:20:39 UTC]    Categories columns count: 7
[17-Nov-2025 13:20:39 UTC]    Language field in books: YES
[17-Nov-2025 13:20:39 UTC]    Format field in books: YES
[17-Nov-2025 13:20:39 UTC]    Description field in categories: YES
[17-Nov-2025 13:20:39 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:20:39 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:20:39 UTC]    Is_active field in books: YES
[17-Nov-2025 13:20:39 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:20:39 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:20:39 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:20:39 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:20:39 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:20:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:20:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:20:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 13:20:39 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 13:20:39 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 13:20:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:20:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:20:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:20:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:20:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:20:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:20:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:20:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:20:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:20:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:20:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:20:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:20:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:20:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:20:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:20:40 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:20:40 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:20:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:20:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:20:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:20:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:20:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:20:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:20:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:20:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:20:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:20:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:20:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:20:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:20:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:20:40 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:20:40 UTC] 📊 Database Info:
[17-Nov-2025 13:20:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:20:40 UTC]    Books columns count: 53
[17-Nov-2025 13:20:40 UTC]    Categories columns count: 7
[17-Nov-2025 13:20:40 UTC]    Language field in books: YES
[17-Nov-2025 13:20:40 UTC]    Format field in books: YES
[17-Nov-2025 13:20:40 UTC]    Description field in categories: YES
[17-Nov-2025 13:20:40 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:20:40 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:20:40 UTC]    Is_active field in books: YES
[17-Nov-2025 13:20:40 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:20:40 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:20:40 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:20:40 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:20:40 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:20:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:20:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:20:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 13:20:40 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 13:20:40 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 13:22:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:22:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:22:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:22:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:22:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:22:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:22:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:22:50 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:22:50 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:22:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:22:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:22:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:22:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:22:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:22:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:22:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:22:50 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:22:50 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:22:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:22:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:22:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:22:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:22:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:22:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:22:50 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:22:50 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:22:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:22:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:22:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:22:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:22:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:22:50 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:22:50 UTC] 📊 Database Info:
[17-Nov-2025 13:22:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:22:50 UTC]    Books columns count: 53
[17-Nov-2025 13:22:50 UTC]    Categories columns count: 7
[17-Nov-2025 13:22:50 UTC]    Language field in books: YES
[17-Nov-2025 13:22:50 UTC]    Format field in books: YES
[17-Nov-2025 13:22:50 UTC]    Description field in categories: YES
[17-Nov-2025 13:22:50 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:22:50 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:22:50 UTC]    Is_active field in books: YES
[17-Nov-2025 13:22:50 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:22:50 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:22:50 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:22:50 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:22:50 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:22:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:22:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:22:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:22:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:22:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:22:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:22:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:22:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:22:50 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:22:50 UTC] 📊 Database Info:
[17-Nov-2025 13:22:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:22:50 UTC]    Books columns count: 53
[17-Nov-2025 13:22:50 UTC]    Categories columns count: 7
[17-Nov-2025 13:22:50 UTC]    Language field in books: YES
[17-Nov-2025 13:22:50 UTC]    Format field in books: YES
[17-Nov-2025 13:22:50 UTC]    Description field in categories: YES
[17-Nov-2025 13:22:50 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:22:50 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:22:50 UTC]    Is_active field in books: YES
[17-Nov-2025 13:22:50 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:22:50 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:22:50 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:22:50 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:22:50 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:22:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:22:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:22:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:22:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:22:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:22:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 13:22:50 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:22:50 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 13:22:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:22:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:22:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:22:50 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:22:50 UTC] 📊 Database Info:
[17-Nov-2025 13:22:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:22:50 UTC]    Books columns count: 53
[17-Nov-2025 13:22:50 UTC]    Categories columns count: 7
[17-Nov-2025 13:22:50 UTC]    Language field in books: YES
[17-Nov-2025 13:22:50 UTC]    Format field in books: YES
[17-Nov-2025 13:22:50 UTC]    Description field in categories: YES
[17-Nov-2025 13:22:50 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:22:50 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:22:50 UTC]    Is_active field in books: YES
[17-Nov-2025 13:22:50 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:22:50 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:22:50 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:22:50 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:22:50 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:22:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:22:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:22:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:22:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:22:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:22:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:22:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:22:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:22:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:22:52 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:22:52 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:22:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:22:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:22:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:22:52 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:22:52 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:22:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:22:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:22:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:22:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:22:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:22:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:22:52 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:22:52 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:22:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:22:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:22:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:22:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:22:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:22:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:22:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:22:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:22:52 UTC] 📊 Database Info:
[17-Nov-2025 13:22:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:22:52 UTC]    Books columns count: 53
[17-Nov-2025 13:22:52 UTC]    Categories columns count: 7
[17-Nov-2025 13:22:52 UTC]    Language field in books: YES
[17-Nov-2025 13:22:52 UTC]    Format field in books: YES
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:22:52 UTC]    Description field in categories: YES
[17-Nov-2025 13:22:52 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:22:52 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:22:52 UTC]    Is_active field in books: YES
[17-Nov-2025 13:22:52 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:22:52 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:22:52 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:22:52 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:22:52 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:22:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:22:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:22:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:22:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:22:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:22:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:22:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:22:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:22:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:22:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:22:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:22:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:22:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:22:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:22:52 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:22:52 UTC] 📊 Database Info:
[17-Nov-2025 13:22:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:22:52 UTC]    Books columns count: 53
[17-Nov-2025 13:22:52 UTC]    Categories columns count: 7
[17-Nov-2025 13:22:52 UTC]    Language field in books: YES
[17-Nov-2025 13:22:52 UTC]    Format field in books: YES
[17-Nov-2025 13:22:52 UTC]    Description field in categories: YES
[17-Nov-2025 13:22:52 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:22:52 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:22:52 UTC]    Is_active field in books: YES
[17-Nov-2025 13:22:52 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:22:52 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:22:52 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:22:52 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:22:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:22:52 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:22:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:22:52 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:22:52 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:22:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:22:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:22:52 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:22:52 UTC] 📊 Database Info:
[17-Nov-2025 13:22:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:22:52 UTC]    Books columns count: 53
[17-Nov-2025 13:22:52 UTC]    Categories columns count: 7
[17-Nov-2025 13:22:52 UTC]    Language field in books: YES
[17-Nov-2025 13:22:52 UTC]    Format field in books: YES
[17-Nov-2025 13:22:52 UTC]    Description field in categories: YES
[17-Nov-2025 13:22:52 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:22:52 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:22:52 UTC]    Is_active field in books: YES
[17-Nov-2025 13:22:52 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:22:52 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:22:52 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:22:52 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:22:52 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:22:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:22:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:22:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:22:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:22:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:22:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:22:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:22:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:22:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:22:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:22:53 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:22:53 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:22:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:22:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:22:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:22:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:22:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:22:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:22:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:22:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:22:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:22:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:22:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:53 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:22:53 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:22:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:22:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:22:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:22:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:22:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:22:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:22:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:22:53 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:22:53 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:22:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:22:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:22:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:22:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:22:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:22:53 UTC] 📊 Database Info:
[17-Nov-2025 13:22:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:22:53 UTC]    Books columns count: 53
[17-Nov-2025 13:22:53 UTC]    Categories columns count: 7
[17-Nov-2025 13:22:53 UTC]    Language field in books: YES
[17-Nov-2025 13:22:53 UTC]    Format field in books: YES
[17-Nov-2025 13:22:53 UTC]    Description field in categories: YES
[17-Nov-2025 13:22:53 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:22:53 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:22:53 UTC]    Is_active field in books: YES
[17-Nov-2025 13:22:53 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:22:53 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:22:53 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:22:53 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:22:53 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:22:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:22:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:22:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:22:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:22:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:22:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:22:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:22:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:22:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:22:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:22:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:22:53 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:22:53 UTC] 📊 Database Info:
[17-Nov-2025 13:22:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:22:53 UTC]    Books columns count: 53
[17-Nov-2025 13:22:53 UTC]    Categories columns count: 7
[17-Nov-2025 13:22:53 UTC]    Language field in books: YES
[17-Nov-2025 13:22:53 UTC]    Format field in books: YES
[17-Nov-2025 13:22:53 UTC]    Description field in categories: YES
[17-Nov-2025 13:22:53 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:22:53 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:22:53 UTC]    Is_active field in books: YES
[17-Nov-2025 13:22:53 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:22:53 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:22:53 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:22:53 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:22:53 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:22:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:22:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:22:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:22:53 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:22:53 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:22:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:22:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:22:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:22:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:22:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:22:53 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:22:53 UTC] 📊 Database Info:
[17-Nov-2025 13:22:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:22:53 UTC]    Books columns count: 53
[17-Nov-2025 13:22:53 UTC]    Categories columns count: 7
[17-Nov-2025 13:22:53 UTC]    Language field in books: YES
[17-Nov-2025 13:22:53 UTC]    Format field in books: YES
[17-Nov-2025 13:22:53 UTC]    Description field in categories: YES
[17-Nov-2025 13:22:53 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:22:53 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:22:53 UTC]    Is_active field in books: YES
[17-Nov-2025 13:22:53 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:22:53 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:22:53 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:22:53 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:22:53 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:22:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:23:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:23:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:23:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:23:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:23:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:23:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:23:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:23:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:23:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:23:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:23:24 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:23:24 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:23:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:23:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:23:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:23:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:23:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:23:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:23:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:23:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:23:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:23:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:23:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:23:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:23:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:23:24 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:23:24 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:23:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:23:24 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:23:24 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:23:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:23:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:23:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:23:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:23:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:23:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:23:24 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:23:24 UTC] 📊 Database Info:
[17-Nov-2025 13:23:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:23:24 UTC]    Books columns count: 53
[17-Nov-2025 13:23:24 UTC]    Categories columns count: 7
[17-Nov-2025 13:23:24 UTC]    Language field in books: YES
[17-Nov-2025 13:23:24 UTC]    Format field in books: YES
[17-Nov-2025 13:23:24 UTC]    Description field in categories: YES
[17-Nov-2025 13:23:24 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:23:24 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:23:24 UTC]    Is_active field in books: YES
[17-Nov-2025 13:23:24 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:23:24 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:23:24 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:23:24 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:23:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:23:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:23:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:23:24 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:23:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:23:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:23:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:23:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:23:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:23:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:23:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:23:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:23:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:23:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:23:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:23:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:23:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:23:24 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:23:24 UTC] 📊 Database Info:
[17-Nov-2025 13:23:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:23:24 UTC]    Books columns count: 53
[17-Nov-2025 13:23:24 UTC]    Categories columns count: 7
[17-Nov-2025 13:23:24 UTC]    Language field in books: YES
[17-Nov-2025 13:23:24 UTC]    Format field in books: YES
[17-Nov-2025 13:23:24 UTC]    Description field in categories: YES
[17-Nov-2025 13:23:24 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:23:24 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:23:24 UTC]    Is_active field in books: YES
[17-Nov-2025 13:23:24 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:23:24 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:23:24 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:23:24 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:23:24 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:23:24 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:23:24 UTC] 📊 Database Info:
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:23:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:23:24 UTC]    Books columns count: 53
[17-Nov-2025 13:23:24 UTC]    Categories columns count: 7
[17-Nov-2025 13:23:24 UTC]    Language field in books: YES
[17-Nov-2025 13:23:24 UTC]    Format field in books: YES
[17-Nov-2025 13:23:24 UTC]    Description field in categories: YES
[17-Nov-2025 13:23:24 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:23:24 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:23:24 UTC]    Is_active field in books: YES
[17-Nov-2025 13:23:24 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:23:24 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:23:24 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:23:24 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:23:24 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:23:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:23:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:23:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:23:24 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:23:24 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:25:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:25:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:25:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:25:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:25:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:25:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:25:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:25:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:25:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:25:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:25:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:25:25 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:25:25 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:25:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:25:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:25:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:25:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:25:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:25:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:25:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:25:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:25:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:25:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:25:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:25:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:25:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:25:25 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:25:25 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:25:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:25:25 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:25:25 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:25:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:25:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:25:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:25:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:25:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:25:25 UTC] 📊 Database Info:
[17-Nov-2025 13:25:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:25:25 UTC]    Books columns count: 53
[17-Nov-2025 13:25:25 UTC]    Categories columns count: 7
[17-Nov-2025 13:25:25 UTC]    Language field in books: YES
[17-Nov-2025 13:25:25 UTC]    Format field in books: YES
[17-Nov-2025 13:25:25 UTC]    Description field in categories: YES
[17-Nov-2025 13:25:25 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:25:25 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:25:25 UTC]    Is_active field in books: YES
[17-Nov-2025 13:25:25 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:25:25 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:25:25 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:25:25 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:25:25 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:25:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:25:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:25:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:25:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:25:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:25:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:25:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:25:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:25:25 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:25:25 UTC] 📊 Database Info:
[17-Nov-2025 13:25:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:25:25 UTC]    Books columns count: 53
[17-Nov-2025 13:25:25 UTC]    Categories columns count: 7
[17-Nov-2025 13:25:25 UTC]    Language field in books: YES
[17-Nov-2025 13:25:25 UTC]    Format field in books: YES
[17-Nov-2025 13:25:25 UTC]    Description field in categories: YES
[17-Nov-2025 13:25:25 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:25:25 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:25:25 UTC]    Is_active field in books: YES
[17-Nov-2025 13:25:25 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:25:25 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:25:25 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:25:25 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:25:25 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:25:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:25:25 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:25:25 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:25:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:25:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:25:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:25:25 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:25:25 UTC] 📊 Database Info:
[17-Nov-2025 13:25:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:25:25 UTC]    Books columns count: 53
[17-Nov-2025 13:25:25 UTC]    Categories columns count: 7
[17-Nov-2025 13:25:25 UTC]    Language field in books: YES
[17-Nov-2025 13:25:25 UTC]    Format field in books: YES
[17-Nov-2025 13:25:25 UTC]    Description field in categories: YES
[17-Nov-2025 13:25:25 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:25:25 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:25:25 UTC]    Is_active field in books: YES
[17-Nov-2025 13:25:25 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:25:25 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:25:25 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:25:25 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:25:25 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:25:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:25:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:27:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:27:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:27:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:27:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:27:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:27:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:27:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:27:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:27:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:27:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:27:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:27:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:27:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:27:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:27:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:27:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:27:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:27:01 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:27:01 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:27:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:27:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:27:01 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:27:01 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:27:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:27:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:27:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:27:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:27:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:27:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:27:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:27:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:27:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:27:01 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:27:01 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:27:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:27:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:27:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:27:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:27:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:27:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:27:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:27:01 UTC] 📊 Database Info:
[17-Nov-2025 13:27:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:27:01 UTC]    Books columns count: 53
[17-Nov-2025 13:27:01 UTC]    Categories columns count: 7
[17-Nov-2025 13:27:01 UTC]    Language field in books: YES
[17-Nov-2025 13:27:01 UTC]    Format field in books: YES
[17-Nov-2025 13:27:01 UTC]    Description field in categories: YES
[17-Nov-2025 13:27:01 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:27:01 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:27:01 UTC]    Is_active field in books: YES
[17-Nov-2025 13:27:01 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:27:01 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:27:01 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:27:01 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:27:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:27:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:27:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:27:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:27:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:27:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:27:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:27:02 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:27:02 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:27:02 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:27:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:27:02 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:27:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:27:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:27:02 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:27:02 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:27:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:27:02 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:27:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:27:02 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:27:02 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:27:02 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:27:02 UTC] 📊 Database Info:
[17-Nov-2025 13:27:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:27:02 UTC]    Books columns count: 53
[17-Nov-2025 13:27:02 UTC]    Categories columns count: 7
[17-Nov-2025 13:27:02 UTC]    Language field in books: YES
[17-Nov-2025 13:27:02 UTC]    Format field in books: YES
[17-Nov-2025 13:27:02 UTC]    Description field in categories: YES
[17-Nov-2025 13:27:02 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:27:02 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:27:02 UTC]    Is_active field in books: YES
[17-Nov-2025 13:27:02 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:27:02 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:27:02 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:27:02 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:27:02 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:27:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:27:02 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:27:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:27:02 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:27:02 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:27:02 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:27:02 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:27:02 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:27:02 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:27:02 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:27:02 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:27:02 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:27:02 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:27:02 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:27:02 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:27:02 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:27:02 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:27:02 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:27:02 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:27:02 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:27:02 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:27:02 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:27:02 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:27:02 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:27:02 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:27:02 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:27:02 UTC] 📊 Database Info:
[17-Nov-2025 13:27:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:27:02 UTC]    Books columns count: 53
[17-Nov-2025 13:27:02 UTC]    Categories columns count: 7
[17-Nov-2025 13:27:02 UTC]    Language field in books: YES
[17-Nov-2025 13:27:02 UTC]    Format field in books: YES
[17-Nov-2025 13:27:02 UTC]    Description field in categories: YES
[17-Nov-2025 13:27:02 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:27:02 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:27:02 UTC]    Is_active field in books: YES
[17-Nov-2025 13:27:02 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:27:02 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:27:02 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:27:02 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:27:02 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:27:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:27:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:27:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:27:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:27:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:27:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:27:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:27:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:27:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:27:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:27:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:27:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:27:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:27:10 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:27:10 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:27:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:27:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:27:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:27:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:27:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:27:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:27:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:27:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:27:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:27:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:27:10 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:27:10 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:27:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:27:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:27:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:27:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:27:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:27:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:27:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:27:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:27:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:27:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:27:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:27:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:27:10 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:27:10 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:27:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:27:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:27:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:27:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:27:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:27:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:27:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:27:10 UTC] 📊 Database Info:
[17-Nov-2025 13:27:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:27:10 UTC]    Books columns count: 53
[17-Nov-2025 13:27:10 UTC]    Categories columns count: 7
[17-Nov-2025 13:27:10 UTC]    Language field in books: YES
[17-Nov-2025 13:27:10 UTC]    Format field in books: YES
[17-Nov-2025 13:27:10 UTC]    Description field in categories: YES
[17-Nov-2025 13:27:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:27:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:27:10 UTC]    Is_active field in books: YES
[17-Nov-2025 13:27:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:27:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:27:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:27:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:27:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:27:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:27:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:27:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:27:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:27:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:27:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:27:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:27:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:27:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:27:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:27:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:27:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:27:10 UTC] 📊 Database Info:
[17-Nov-2025 13:27:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:27:10 UTC]    Books columns count: 53
[17-Nov-2025 13:27:10 UTC]    Categories columns count: 7
[17-Nov-2025 13:27:10 UTC]    Language field in books: YES
[17-Nov-2025 13:27:10 UTC]    Format field in books: YES
[17-Nov-2025 13:27:10 UTC]    Description field in categories: YES
[17-Nov-2025 13:27:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:27:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:27:10 UTC]    Is_active field in books: YES
[17-Nov-2025 13:27:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:27:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:27:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:27:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:27:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:27:10 UTC] 📊 Database Info:
[17-Nov-2025 13:27:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:27:10 UTC]    Books columns count: 53
[17-Nov-2025 13:27:10 UTC]    Categories columns count: 7
[17-Nov-2025 13:27:10 UTC]    Language field in books: YES
[17-Nov-2025 13:27:10 UTC]    Format field in books: YES
[17-Nov-2025 13:27:10 UTC]    Description field in categories: YES
[17-Nov-2025 13:27:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:27:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:27:10 UTC]    Is_active field in books: YES
[17-Nov-2025 13:27:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:27:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:27:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:27:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:27:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:27:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:27:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:27:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:27:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:27:10 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:27:10 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:36:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:36:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:36:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:36:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:36:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:36:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:36:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:36:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:36:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:36:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:36:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:36:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:36:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:36:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:36:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:36:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:36:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:36:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:36:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:36:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:36:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:36:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:36:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:36:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:36:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:36:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:36:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:36:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:36:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:36:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:36:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:36:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:36:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:36:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:36:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:36:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:36:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:36:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:36:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:36:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:36:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:36:55 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:36:55 UTC] 📊 Database Info:
[17-Nov-2025 13:36:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:36:55 UTC]    Books columns count: 53
[17-Nov-2025 13:36:55 UTC]    Categories columns count: 7
[17-Nov-2025 13:36:55 UTC]    Language field in books: YES
[17-Nov-2025 13:36:55 UTC]    Format field in books: YES
[17-Nov-2025 13:36:55 UTC]    Description field in categories: YES
[17-Nov-2025 13:36:55 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:36:55 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:36:55 UTC]    Is_active field in books: YES
[17-Nov-2025 13:36:55 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:36:55 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:36:55 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:36:55 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:36:55 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:36:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:36:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:36:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:36:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:36:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:36:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:36:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:36:55 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:36:55 UTC] 📊 Database Info:
[17-Nov-2025 13:36:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:36:55 UTC]    Books columns count: 53
[17-Nov-2025 13:36:55 UTC]    Categories columns count: 7
[17-Nov-2025 13:36:55 UTC]    Language field in books: YES
[17-Nov-2025 13:36:55 UTC]    Format field in books: YES
[17-Nov-2025 13:36:55 UTC]    Description field in categories: YES
[17-Nov-2025 13:36:55 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:36:55 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:36:55 UTC]    Is_active field in books: YES
[17-Nov-2025 13:36:55 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:36:55 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:36:55 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:36:55 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:36:55 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:36:55 UTC] 📊 Database Info:
[17-Nov-2025 13:36:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:36:55 UTC]    Books columns count: 53
[17-Nov-2025 13:36:55 UTC]    Categories columns count: 7
[17-Nov-2025 13:36:55 UTC]    Language field in books: YES
[17-Nov-2025 13:36:55 UTC]    Format field in books: YES
[17-Nov-2025 13:36:55 UTC]    Description field in categories: YES
[17-Nov-2025 13:36:55 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:36:55 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:36:55 UTC]    Is_active field in books: YES
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:36:55 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:36:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:36:55 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:36:55 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:36:55 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:36:55 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:36:55 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:36:55 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:36:55 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:36:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:36:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:36:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:36:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:36:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:36:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:36:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:36:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:36:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:36:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:36:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:36:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:36:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:36:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:36:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:36:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:36:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:36:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:36:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:36:56 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:36:56 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:36:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:36:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:36:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:36:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:36:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:36:56 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:36:56 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:36:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:36:56 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:36:56 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:36:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:36:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:36:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:36:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:36:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:36:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:36:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:36:56 UTC] 📊 Database Info:
[17-Nov-2025 13:36:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:36:56 UTC]    Books columns count: 53
[17-Nov-2025 13:36:56 UTC]    Categories columns count: 7
[17-Nov-2025 13:36:56 UTC]    Language field in books: YES
[17-Nov-2025 13:36:56 UTC]    Format field in books: YES
[17-Nov-2025 13:36:56 UTC]    Description field in categories: YES
[17-Nov-2025 13:36:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:36:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:36:56 UTC]    Is_active field in books: YES
[17-Nov-2025 13:36:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:36:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:36:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:36:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:36:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:36:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:36:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:36:56 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:36:56 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:36:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:36:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:36:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:36:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:36:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:36:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:36:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:36:56 UTC] 📊 Database Info:
[17-Nov-2025 13:36:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:36:56 UTC]    Books columns count: 53
[17-Nov-2025 13:36:56 UTC]    Categories columns count: 7
[17-Nov-2025 13:36:56 UTC]    Language field in books: YES
[17-Nov-2025 13:36:56 UTC]    Format field in books: YES
[17-Nov-2025 13:36:56 UTC]    Description field in categories: YES
[17-Nov-2025 13:36:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:36:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:36:56 UTC]    Is_active field in books: YES
[17-Nov-2025 13:36:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:36:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:36:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:36:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:36:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:36:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:36:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:36:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:36:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:36:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:36:56 UTC] 📊 Database Info:
[17-Nov-2025 13:36:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:36:56 UTC]    Books columns count: 53
[17-Nov-2025 13:36:56 UTC]    Categories columns count: 7
[17-Nov-2025 13:36:56 UTC]    Language field in books: YES
[17-Nov-2025 13:36:56 UTC]    Format field in books: YES
[17-Nov-2025 13:36:56 UTC]    Description field in categories: YES
[17-Nov-2025 13:36:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:36:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:36:56 UTC]    Is_active field in books: YES
[17-Nov-2025 13:36:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:36:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:36:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:36:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:36:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:36:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:36:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:36:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:36:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:37:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:37:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:37:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:37:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:37:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:37:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:37:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:37:00 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:37:00 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:37:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:37:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:37:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:37:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:37:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:37:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:37:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:37:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:37:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:37:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:37:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:37:00 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:37:00 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:37:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:37:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:37:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:37:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:37:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:37:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:37:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:37:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:37:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:37:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:37:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:37:00 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:37:00 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:37:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:37:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:37:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:37:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:37:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:37:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:37:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:37:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:37:00 UTC] 📊 Database Info:
[17-Nov-2025 13:37:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:37:00 UTC]    Books columns count: 53
[17-Nov-2025 13:37:00 UTC]    Categories columns count: 7
[17-Nov-2025 13:37:00 UTC]    Language field in books: YES
[17-Nov-2025 13:37:00 UTC]    Format field in books: YES
[17-Nov-2025 13:37:00 UTC]    Description field in categories: YES
[17-Nov-2025 13:37:00 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:37:00 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:37:00 UTC]    Is_active field in books: YES
[17-Nov-2025 13:37:00 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:37:00 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:37:00 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:37:00 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:37:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:37:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:37:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:37:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:37:00 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:37:00 UTC] 📊 Database Info:
[17-Nov-2025 13:37:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:37:00 UTC]    Books columns count: 53
[17-Nov-2025 13:37:00 UTC]    Categories columns count: 7
[17-Nov-2025 13:37:00 UTC]    Language field in books: YES
[17-Nov-2025 13:37:00 UTC]    Format field in books: YES
[17-Nov-2025 13:37:00 UTC]    Description field in categories: YES
[17-Nov-2025 13:37:00 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:37:00 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:37:00 UTC]    Is_active field in books: YES
[17-Nov-2025 13:37:00 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:37:00 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:37:00 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:37:00 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:37:00 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:37:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:37:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:37:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:37:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:37:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:37:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:37:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:37:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:37:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:37:00 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:37:00 UTC] 📊 Database Info:
[17-Nov-2025 13:37:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:37:00 UTC]    Books columns count: 53
[17-Nov-2025 13:37:00 UTC]    Categories columns count: 7
[17-Nov-2025 13:37:00 UTC]    Language field in books: YES
[17-Nov-2025 13:37:00 UTC]    Format field in books: YES
[17-Nov-2025 13:37:00 UTC]    Description field in categories: YES
[17-Nov-2025 13:37:00 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:37:00 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:37:00 UTC]    Is_active field in books: YES
[17-Nov-2025 13:37:00 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:37:00 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:37:00 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:37:00 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:37:00 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:37:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:37:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:37:00 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:37:00 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:37:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:37:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:37:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:37:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:37:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:37:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:37:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:37:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:37:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:37:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:37:47 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:37:47 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:37:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:37:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:37:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:37:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:37:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:37:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:37:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:37:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:37:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:37:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:37:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:37:47 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:37:47 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:37:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:37:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:37:47 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:37:47 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:37:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:37:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:37:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:37:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:37:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:37:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:37:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:37:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:37:47 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:37:47 UTC] 📊 Database Info:
[17-Nov-2025 13:37:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:37:47 UTC]    Books columns count: 53
[17-Nov-2025 13:37:47 UTC]    Categories columns count: 7
[17-Nov-2025 13:37:47 UTC]    Language field in books: YES
[17-Nov-2025 13:37:47 UTC]    Format field in books: YES
[17-Nov-2025 13:37:47 UTC]    Description field in categories: YES
[17-Nov-2025 13:37:47 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:37:47 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:37:47 UTC]    Is_active field in books: YES
[17-Nov-2025 13:37:47 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:37:47 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:37:47 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:37:47 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:37:47 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:37:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:37:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:37:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:37:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:37:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:37:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:37:47 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:37:47 UTC] 📊 Database Info:
[17-Nov-2025 13:37:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:37:47 UTC]    Books columns count: 53
[17-Nov-2025 13:37:47 UTC]    Categories columns count: 7
[17-Nov-2025 13:37:47 UTC]    Language field in books: YES
[17-Nov-2025 13:37:47 UTC]    Format field in books: YES
[17-Nov-2025 13:37:47 UTC]    Description field in categories: YES
[17-Nov-2025 13:37:47 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:37:47 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:37:47 UTC]    Is_active field in books: YES
[17-Nov-2025 13:37:47 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:37:47 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:37:47 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:37:47 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:37:47 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:37:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:37:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:37:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:37:47 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:37:47 UTC] 📊 Database Info:
[17-Nov-2025 13:37:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:37:47 UTC]    Books columns count: 53
[17-Nov-2025 13:37:47 UTC]    Categories columns count: 7
[17-Nov-2025 13:37:47 UTC]    Language field in books: YES
[17-Nov-2025 13:37:47 UTC]    Format field in books: YES
[17-Nov-2025 13:37:47 UTC]    Description field in categories: YES
[17-Nov-2025 13:37:47 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:37:47 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:37:47 UTC]    Is_active field in books: YES
[17-Nov-2025 13:37:47 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:37:47 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:37:47 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:37:47 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:37:47 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:37:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:37:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:37:47 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:37:47 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:38:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:01 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:38:01 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:38:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:01 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:38:01 UTC] 📊 Database Info:
[17-Nov-2025 13:38:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:38:01 UTC]    Books columns count: 53
[17-Nov-2025 13:38:01 UTC]    Categories columns count: 7
[17-Nov-2025 13:38:01 UTC]    Language field in books: YES
[17-Nov-2025 13:38:01 UTC]    Format field in books: YES
[17-Nov-2025 13:38:01 UTC]    Description field in categories: YES
[17-Nov-2025 13:38:01 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:38:01 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:38:01 UTC]    Is_active field in books: YES
[17-Nov-2025 13:38:01 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:38:01 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:38:01 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:38:01 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:38:01 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:38:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:38:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:38:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:38:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:38:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:38:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:38:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:38:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:38:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:38:31 UTC] 📊 Database Info:
[17-Nov-2025 13:38:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:38:31 UTC]    Books columns count: 53
[17-Nov-2025 13:38:31 UTC]    Categories columns count: 7
[17-Nov-2025 13:38:31 UTC]    Language field in books: YES
[17-Nov-2025 13:38:31 UTC]    Format field in books: YES
[17-Nov-2025 13:38:31 UTC]    Description field in categories: YES
[17-Nov-2025 13:38:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:38:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:38:31 UTC]    Is_active field in books: YES
[17-Nov-2025 13:38:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:38:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:38:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:38:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:38:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:38:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:38:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:38:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:38:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:38:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:38:31 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:38:31 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:38:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:38:31 UTC] 📊 Database Info:
[17-Nov-2025 13:38:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:38:31 UTC]    Books columns count: 53
[17-Nov-2025 13:38:31 UTC]    Categories columns count: 7
[17-Nov-2025 13:38:31 UTC]    Language field in books: YES
[17-Nov-2025 13:38:31 UTC]    Format field in books: YES
[17-Nov-2025 13:38:31 UTC]    Description field in categories: YES
[17-Nov-2025 13:38:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:38:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:38:31 UTC]    Is_active field in books: YES
[17-Nov-2025 13:38:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:38:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:38:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:38:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:38:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:38:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:38:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:38:31 UTC] 📊 Database Info:
[17-Nov-2025 13:38:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:38:31 UTC]    Books columns count: 53
[17-Nov-2025 13:38:31 UTC]    Categories columns count: 7
[17-Nov-2025 13:38:31 UTC]    Language field in books: YES
[17-Nov-2025 13:38:31 UTC]    Format field in books: YES
[17-Nov-2025 13:38:31 UTC]    Description field in categories: YES
[17-Nov-2025 13:38:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:38:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:38:31 UTC]    Is_active field in books: YES
[17-Nov-2025 13:38:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:38:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:38:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:38:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:38:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:38:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:38:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:38:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:38:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:38:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:38:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:38:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:38:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:38:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:38:37 UTC] 📊 Database Info:
[17-Nov-2025 13:38:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:38:37 UTC]    Books columns count: 53
[17-Nov-2025 13:38:37 UTC]    Categories columns count: 7
[17-Nov-2025 13:38:37 UTC]    Language field in books: YES
[17-Nov-2025 13:38:37 UTC]    Format field in books: YES
[17-Nov-2025 13:38:37 UTC]    Description field in categories: YES
[17-Nov-2025 13:38:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:38:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:38:37 UTC]    Is_active field in books: YES
[17-Nov-2025 13:38:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:38:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:38:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:38:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:38:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:38:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:38:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:38:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:38:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:38:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:38:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:38:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:38:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:38:37 UTC] 📊 Database Info:
[17-Nov-2025 13:38:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:38:37 UTC]    Books columns count: 53
[17-Nov-2025 13:38:37 UTC]    Categories columns count: 7
[17-Nov-2025 13:38:37 UTC]    Language field in books: YES
[17-Nov-2025 13:38:37 UTC]    Format field in books: YES
[17-Nov-2025 13:38:37 UTC]    Description field in categories: YES
[17-Nov-2025 13:38:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:38:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:38:37 UTC]    Is_active field in books: YES
[17-Nov-2025 13:38:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:38:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:38:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:38:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:38:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:38:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:38:37 UTC] 📊 Database Info:
[17-Nov-2025 13:38:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:38:37 UTC]    Books columns count: 53
[17-Nov-2025 13:38:37 UTC]    Categories columns count: 7
[17-Nov-2025 13:38:37 UTC]    Language field in books: YES
[17-Nov-2025 13:38:37 UTC]    Format field in books: YES
[17-Nov-2025 13:38:37 UTC]    Description field in categories: YES
[17-Nov-2025 13:38:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:38:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:38:37 UTC]    Is_active field in books: YES
[17-Nov-2025 13:38:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:38:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:38:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:38:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:38:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:38:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:38:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:38:37 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:38:37 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:38:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:38:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:38 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:38 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:38 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:38 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:38 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:38:38 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:38:38 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:38 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:38 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:38 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:38 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:38 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:38:38 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:38 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:38 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:38 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:38:38 UTC] 📊 Database Info:
[17-Nov-2025 13:38:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:38:38 UTC]    Books columns count: 53
[17-Nov-2025 13:38:38 UTC]    Categories columns count: 7
[17-Nov-2025 13:38:38 UTC]    Language field in books: YES
[17-Nov-2025 13:38:38 UTC]    Format field in books: YES
[17-Nov-2025 13:38:38 UTC]    Description field in categories: YES
[17-Nov-2025 13:38:38 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:38:38 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:38:38 UTC]    Is_active field in books: YES
[17-Nov-2025 13:38:38 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:38:38 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:38:38 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:38:38 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:38:38 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:38:38 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:38:38 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:38:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:38 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:38 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:38 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:38:38 UTC] 📊 Database Info:
[17-Nov-2025 13:38:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:38:38 UTC]    Books columns count: 53
[17-Nov-2025 13:38:38 UTC]    Categories columns count: 7
[17-Nov-2025 13:38:38 UTC]    Language field in books: YES
[17-Nov-2025 13:38:38 UTC]    Format field in books: YES
[17-Nov-2025 13:38:38 UTC]    Description field in categories: YES
[17-Nov-2025 13:38:38 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:38:38 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:38:38 UTC]    Is_active field in books: YES
[17-Nov-2025 13:38:38 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:38:38 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:38:38 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:38:38 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:38:38 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:38:38 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:38:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:38:38 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:38 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:38 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:38 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:38:38 UTC] 📊 Database Info:
[17-Nov-2025 13:38:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:38:38 UTC]    Books columns count: 53
[17-Nov-2025 13:38:38 UTC]    Categories columns count: 7
[17-Nov-2025 13:38:38 UTC]    Language field in books: YES
[17-Nov-2025 13:38:38 UTC]    Format field in books: YES
[17-Nov-2025 13:38:38 UTC]    Description field in categories: YES
[17-Nov-2025 13:38:38 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:38:38 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:38:38 UTC]    Is_active field in books: YES
[17-Nov-2025 13:38:38 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:38:38 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:38:38 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:38:38 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:38:38 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:38:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:38:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:38:38 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:38:38 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:38:38 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:38 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:38 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:38 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:38:38 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:38:38 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:38 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:38 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:38 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:38 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:38 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:38:38 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:38:38 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:38 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:38 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:38 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:38 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:38 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:38 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:38 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:38:38 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:38 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:38 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:38 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:38 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:38:38 UTC] 📊 Database Info:
[17-Nov-2025 13:38:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:38:38 UTC]    Books columns count: 53
[17-Nov-2025 13:38:38 UTC]    Categories columns count: 7
[17-Nov-2025 13:38:38 UTC]    Language field in books: YES
[17-Nov-2025 13:38:38 UTC]    Format field in books: YES
[17-Nov-2025 13:38:38 UTC]    Description field in categories: YES
[17-Nov-2025 13:38:38 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:38:38 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:38:38 UTC]    Is_active field in books: YES
[17-Nov-2025 13:38:38 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:38:38 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:38:38 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:38:38 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:38:38 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:38:38 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:38:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:38:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:39 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:38:39 UTC] 📊 Database Info:
[17-Nov-2025 13:38:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:38:39 UTC]    Books columns count: 53
[17-Nov-2025 13:38:39 UTC]    Categories columns count: 7
[17-Nov-2025 13:38:39 UTC]    Language field in books: YES
[17-Nov-2025 13:38:39 UTC]    Format field in books: YES
[17-Nov-2025 13:38:39 UTC]    Description field in categories: YES
[17-Nov-2025 13:38:39 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:38:39 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:38:39 UTC]    Is_active field in books: YES
[17-Nov-2025 13:38:39 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:38:39 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:38:39 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:38:39 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:38:39 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:38:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:38:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:39 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:38:39 UTC] 📊 Database Info:
[17-Nov-2025 13:38:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:38:39 UTC]    Books columns count: 53
[17-Nov-2025 13:38:39 UTC]    Categories columns count: 7
[17-Nov-2025 13:38:39 UTC]    Language field in books: YES
[17-Nov-2025 13:38:39 UTC]    Format field in books: YES
[17-Nov-2025 13:38:39 UTC]    Description field in categories: YES
[17-Nov-2025 13:38:39 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:38:39 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:38:39 UTC]    Is_active field in books: YES
[17-Nov-2025 13:38:39 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:38:39 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:38:39 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:38:39 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:38:39 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:38:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:38:39 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:38:39 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:38:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:39 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:38:39 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:38:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:39 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:38:39 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:38:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:38:39 UTC] 📊 Database Info:
[17-Nov-2025 13:38:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:38:39 UTC]    Books columns count: 53
[17-Nov-2025 13:38:39 UTC]    Categories columns count: 7
[17-Nov-2025 13:38:39 UTC]    Language field in books: YES
[17-Nov-2025 13:38:39 UTC]    Format field in books: YES
[17-Nov-2025 13:38:39 UTC]    Description field in categories: YES
[17-Nov-2025 13:38:39 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:38:39 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:38:39 UTC]    Is_active field in books: YES
[17-Nov-2025 13:38:39 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:38:39 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:38:39 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:38:39 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:38:39 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:38:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:38:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:39 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:38:39 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:39 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:38:39 UTC] 📊 Database Info:
[17-Nov-2025 13:38:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:38:39 UTC]    Books columns count: 53
[17-Nov-2025 13:38:39 UTC]    Categories columns count: 7
[17-Nov-2025 13:38:39 UTC]    Language field in books: YES
[17-Nov-2025 13:38:39 UTC]    Format field in books: YES
[17-Nov-2025 13:38:39 UTC]    Description field in categories: YES
[17-Nov-2025 13:38:39 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:38:39 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:38:39 UTC]    Is_active field in books: YES
[17-Nov-2025 13:38:39 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:38:39 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:38:39 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:38:39 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:38:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:38:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:38:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:39 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:38:39 UTC] 📊 Database Info:
[17-Nov-2025 13:38:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:38:39 UTC]    Books columns count: 53
[17-Nov-2025 13:38:39 UTC]    Categories columns count: 7
[17-Nov-2025 13:38:39 UTC]    Language field in books: YES
[17-Nov-2025 13:38:39 UTC]    Format field in books: YES
[17-Nov-2025 13:38:39 UTC]    Description field in categories: YES
[17-Nov-2025 13:38:39 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:38:39 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:38:39 UTC]    Is_active field in books: YES
[17-Nov-2025 13:38:39 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:38:39 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:38:39 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:38:39 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:38:39 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:38:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:38:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:38:39 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:38:39 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:38:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:41 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:41 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:41 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:41 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:41 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:41 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:41 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:41 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:41 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:41 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:41 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:38:41 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:38:41 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:38:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:38:41 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:38:41 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:38:41 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:38:41 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:38:41 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:38:41 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:38:41 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:38:41 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:38:41 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:38:41 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:38:41 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:38:41 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:38:41 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:38:41 UTC] 📊 Database Info:
[17-Nov-2025 13:38:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:38:41 UTC]    Books columns count: 53
[17-Nov-2025 13:38:41 UTC]    Categories columns count: 7
[17-Nov-2025 13:38:41 UTC]    Language field in books: YES
[17-Nov-2025 13:38:41 UTC]    Format field in books: YES
[17-Nov-2025 13:38:41 UTC]    Description field in categories: YES
[17-Nov-2025 13:38:41 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:38:41 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:38:41 UTC]    Is_active field in books: YES
[17-Nov-2025 13:38:41 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:38:41 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:38:41 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:38:41 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:38:41 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:38:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:38:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:38:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:38:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:38:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:38:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:38:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:38:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:38:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:38:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:38:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:38:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:38:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:02 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:02 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:02 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:02 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:02 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:02 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:02 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:02 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:02 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:02 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:02 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:02 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:02 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:02 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:02 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:02 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:02 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:02 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:02 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:02 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:02 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:02 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:02 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:02 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:02 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:02 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:02 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:02 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:02 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:02 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:02 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:02 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:02 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:02 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:02 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:02 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:02 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:02 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:02 UTC] 📊 Database Info:
[17-Nov-2025 13:39:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:02 UTC]    Books columns count: 53
[17-Nov-2025 13:39:02 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:02 UTC]    Language field in books: YES
[17-Nov-2025 13:39:02 UTC]    Format field in books: YES
[17-Nov-2025 13:39:02 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:02 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:02 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:02 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:02 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:02 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:02 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:02 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:02 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:02 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:02 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:03 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:03 UTC] 📊 Database Info:
[17-Nov-2025 13:39:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:03 UTC]    Books columns count: 53
[17-Nov-2025 13:39:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:03 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:03 UTC]    Language field in books: YES
[17-Nov-2025 13:39:03 UTC]    Format field in books: YES
[17-Nov-2025 13:39:03 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:03 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:03 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:03 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:03 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:03 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:03 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:03 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:03 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:03 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:03 UTC] 📊 Database Info:
[17-Nov-2025 13:39:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:03 UTC]    Books columns count: 53
[17-Nov-2025 13:39:03 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:03 UTC]    Language field in books: YES
[17-Nov-2025 13:39:03 UTC]    Format field in books: YES
[17-Nov-2025 13:39:03 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:03 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:03 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:03 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:03 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:03 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:03 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:03 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:03 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:03 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:03 UTC] 📊 Database Info:
[17-Nov-2025 13:39:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:03 UTC]    Books columns count: 53
[17-Nov-2025 13:39:03 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:03 UTC]    Language field in books: YES
[17-Nov-2025 13:39:03 UTC]    Format field in books: YES
[17-Nov-2025 13:39:03 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:03 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:03 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:03 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:03 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:03 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:03 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:03 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:03 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:03 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:39:03 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:03 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:03 UTC] 📊 Database Info:
[17-Nov-2025 13:39:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:03 UTC]    Books columns count: 53
[17-Nov-2025 13:39:03 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:03 UTC]    Language field in books: YES
[17-Nov-2025 13:39:03 UTC]    Format field in books: YES
[17-Nov-2025 13:39:03 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:03 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:03 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:03 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:03 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:03 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:03 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:03 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:03 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:03 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:03 UTC] 📊 Database Info:
[17-Nov-2025 13:39:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:03 UTC]    Books columns count: 53
[17-Nov-2025 13:39:03 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:03 UTC]    Language field in books: YES
[17-Nov-2025 13:39:03 UTC]    Format field in books: YES
[17-Nov-2025 13:39:03 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:03 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:03 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:03 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:03 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:03 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:03 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:03 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:03 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:03 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:39:03 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:39:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:05 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:05 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:06 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:06 UTC] 📊 Database Info:
[17-Nov-2025 13:39:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:06 UTC]    Books columns count: 53
[17-Nov-2025 13:39:06 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:06 UTC]    Language field in books: YES
[17-Nov-2025 13:39:06 UTC]    Format field in books: YES
[17-Nov-2025 13:39:06 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:06 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:06 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:06 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:06 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:06 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:06 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:06 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:06 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:15 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:15 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:15 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:15 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:15 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:15 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:15 UTC] 📊 Database Info:
[17-Nov-2025 13:39:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:15 UTC]    Books columns count: 53
[17-Nov-2025 13:39:15 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:15 UTC]    Language field in books: YES
[17-Nov-2025 13:39:15 UTC]    Format field in books: YES
[17-Nov-2025 13:39:15 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:15 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:15 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:15 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:15 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:15 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:15 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:15 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:15 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:15 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:39:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:15 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:15 UTC] 📊 Database Info:
[17-Nov-2025 13:39:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:15 UTC]    Books columns count: 53
[17-Nov-2025 13:39:15 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:15 UTC]    Language field in books: YES
[17-Nov-2025 13:39:15 UTC]    Format field in books: YES
[17-Nov-2025 13:39:15 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:15 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:15 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:15 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:15 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:15 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:15 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:15 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:15 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:15 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:15 UTC] 📊 Database Info:
[17-Nov-2025 13:39:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:15 UTC]    Books columns count: 53
[17-Nov-2025 13:39:15 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:15 UTC]    Language field in books: YES
[17-Nov-2025 13:39:15 UTC]    Format field in books: YES
[17-Nov-2025 13:39:15 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:15 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:15 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:15 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:15 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:15 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:15 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:15 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:15 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:27 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:27 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:27 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:27 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:27 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:27 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:27 UTC] 📊 Database Info:
[17-Nov-2025 13:39:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:27 UTC]    Books columns count: 53
[17-Nov-2025 13:39:27 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:27 UTC]    Language field in books: YES
[17-Nov-2025 13:39:27 UTC]    Format field in books: YES
[17-Nov-2025 13:39:27 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:27 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:27 UTC] 📊 Database Info:
[17-Nov-2025 13:39:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:27 UTC]    Books columns count: 53
[17-Nov-2025 13:39:27 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:27 UTC]    Language field in books: YES
[17-Nov-2025 13:39:27 UTC]    Format field in books: YES
[17-Nov-2025 13:39:27 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:27 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:28 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:28 UTC] 📊 Database Info:
[17-Nov-2025 13:39:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:28 UTC]    Books columns count: 53
[17-Nov-2025 13:39:28 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:28 UTC]    Language field in books: YES
[17-Nov-2025 13:39:28 UTC]    Format field in books: YES
[17-Nov-2025 13:39:28 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:28 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:28 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:28 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:28 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:28 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:28 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:28 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:28 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:28 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:39:28 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:39:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:37 UTC] 📊 Database Info:
[17-Nov-2025 13:39:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:37 UTC]    Books columns count: 53
[17-Nov-2025 13:39:37 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:37 UTC]    Language field in books: YES
[17-Nov-2025 13:39:37 UTC]    Format field in books: YES
[17-Nov-2025 13:39:37 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:37 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:37 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:39:37 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:39:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:37 UTC] 📊 Database Info:
[17-Nov-2025 13:39:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:37 UTC]    Books columns count: 53
[17-Nov-2025 13:39:37 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:37 UTC]    Language field in books: YES
[17-Nov-2025 13:39:37 UTC]    Format field in books: YES
[17-Nov-2025 13:39:37 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:37 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:37 UTC] 📊 Database Info:
[17-Nov-2025 13:39:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:37 UTC]    Books columns count: 53
[17-Nov-2025 13:39:37 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:37 UTC]    Language field in books: YES
[17-Nov-2025 13:39:37 UTC]    Format field in books: YES
[17-Nov-2025 13:39:37 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:37 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:45 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:45 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:45 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:45 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:45 UTC] 📊 Database Info:
[17-Nov-2025 13:39:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:45 UTC]    Books columns count: 53
[17-Nov-2025 13:39:45 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:45 UTC]    Language field in books: YES
[17-Nov-2025 13:39:45 UTC]    Format field in books: YES
[17-Nov-2025 13:39:45 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:45 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:45 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:39:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:45 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:39:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:45 UTC] 📊 Database Info:
[17-Nov-2025 13:39:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:45 UTC]    Books columns count: 53
[17-Nov-2025 13:39:45 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:45 UTC]    Language field in books: YES
[17-Nov-2025 13:39:45 UTC]    Format field in books: YES
[17-Nov-2025 13:39:45 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:45 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:45 UTC] 📊 Database Info:
[17-Nov-2025 13:39:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:45 UTC]    Books columns count: 53
[17-Nov-2025 13:39:45 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:45 UTC]    Language field in books: YES
[17-Nov-2025 13:39:45 UTC]    Format field in books: YES
[17-Nov-2025 13:39:45 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:45 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:39:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:39:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:39:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:39:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:39:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:39:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:39:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:39:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:39:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:39:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:39:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:39:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:39:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:39:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:39:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:39:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:39:55 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:39:55 UTC] 📊 Database Info:
[17-Nov-2025 13:39:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:39:55 UTC]    Books columns count: 53
[17-Nov-2025 13:39:55 UTC]    Categories columns count: 7
[17-Nov-2025 13:39:55 UTC]    Language field in books: YES
[17-Nov-2025 13:39:55 UTC]    Format field in books: YES
[17-Nov-2025 13:39:55 UTC]    Description field in categories: YES
[17-Nov-2025 13:39:55 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:39:55 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:39:55 UTC]    Is_active field in books: YES
[17-Nov-2025 13:39:55 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:39:55 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:39:55 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:39:55 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:39:55 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:39:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:39:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:39:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:39:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:39:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:39:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:39:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:39:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:39:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:39:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:39:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:39:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:39:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:34 UTC] 📊 Database Info:
[17-Nov-2025 13:40:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:34 UTC]    Books columns count: 53
[17-Nov-2025 13:40:34 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:34 UTC]    Language field in books: YES
[17-Nov-2025 13:40:34 UTC]    Format field in books: YES
[17-Nov-2025 13:40:34 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:34 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:34 UTC] 📊 Database Info:
[17-Nov-2025 13:40:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:34 UTC]    Books columns count: 53
[17-Nov-2025 13:40:34 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:34 UTC]    Language field in books: YES
[17-Nov-2025 13:40:34 UTC]    Format field in books: YES
[17-Nov-2025 13:40:34 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:34 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:34 UTC] 📊 Database Info:
[17-Nov-2025 13:40:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:34 UTC]    Books columns count: 53
[17-Nov-2025 13:40:34 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:34 UTC]    Language field in books: YES
[17-Nov-2025 13:40:34 UTC]    Format field in books: YES
[17-Nov-2025 13:40:34 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:34 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:34 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:40:34 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:40:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:35 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:35 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:35 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:35 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:35 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:35 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:35 UTC] 📊 Database Info:
[17-Nov-2025 13:40:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:35 UTC]    Books columns count: 53
[17-Nov-2025 13:40:35 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:35 UTC]    Language field in books: YES
[17-Nov-2025 13:40:35 UTC]    Format field in books: YES
[17-Nov-2025 13:40:35 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:35 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:35 UTC] 📊 Database Info:
[17-Nov-2025 13:40:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:35 UTC]    Books columns count: 53
[17-Nov-2025 13:40:35 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:35 UTC]    Language field in books: YES
[17-Nov-2025 13:40:35 UTC]    Format field in books: YES
[17-Nov-2025 13:40:35 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:35 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:35 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:40:35 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:40:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:35 UTC] 📊 Database Info:
[17-Nov-2025 13:40:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:35 UTC]    Books columns count: 53
[17-Nov-2025 13:40:35 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:35 UTC]    Language field in books: YES
[17-Nov-2025 13:40:35 UTC]    Format field in books: YES
[17-Nov-2025 13:40:35 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:35 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:41 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:41 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:41 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:41 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:41 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:41 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:41 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:41 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:41 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:41 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:41 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:41 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:41 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:41 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:41 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:41 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:41 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:41 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:41 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:41 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:41 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:41 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:41 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:41 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:41 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:41 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:41 UTC] 📊 Database Info:
[17-Nov-2025 13:40:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:41 UTC]    Books columns count: 53
[17-Nov-2025 13:40:41 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:41 UTC]    Language field in books: YES
[17-Nov-2025 13:40:41 UTC]    Format field in books: YES
[17-Nov-2025 13:40:41 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:41 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:41 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:41 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:41 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:41 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:41 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:41 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:41 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:41 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:41 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:41 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:41 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:41 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:41 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:41 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:40:41 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:41 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:41 UTC] 📊 Database Info:
[17-Nov-2025 13:40:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:41 UTC]    Books columns count: 53
[17-Nov-2025 13:40:41 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:41 UTC]    Language field in books: YES
[17-Nov-2025 13:40:41 UTC]    Format field in books: YES
[17-Nov-2025 13:40:41 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:41 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:41 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:41 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:41 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:41 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:41 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:41 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:41 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:41 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:41 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:41 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:41 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:41 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:41 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:41 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:41 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:41 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:41 UTC] 📊 Database Info:
[17-Nov-2025 13:40:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:41 UTC]    Books columns count: 53
[17-Nov-2025 13:40:41 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:41 UTC]    Language field in books: YES
[17-Nov-2025 13:40:41 UTC]    Format field in books: YES
[17-Nov-2025 13:40:41 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:41 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:41 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:41 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:41 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:41 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:41 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:41 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:41 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:44 UTC] 📊 Database Info:
[17-Nov-2025 13:40:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:44 UTC]    Books columns count: 53
[17-Nov-2025 13:40:44 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:44 UTC]    Language field in books: YES
[17-Nov-2025 13:40:44 UTC]    Format field in books: YES
[17-Nov-2025 13:40:44 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:44 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:45 UTC] 📊 Database Info:
[17-Nov-2025 13:40:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:45 UTC]    Books columns count: 53
[17-Nov-2025 13:40:45 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:45 UTC]    Language field in books: YES
[17-Nov-2025 13:40:45 UTC]    Format field in books: YES
[17-Nov-2025 13:40:45 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:45 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:45 UTC] 📊 Database Info:
[17-Nov-2025 13:40:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:45 UTC]    Books columns count: 53
[17-Nov-2025 13:40:45 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:45 UTC]    Language field in books: YES
[17-Nov-2025 13:40:45 UTC]    Format field in books: YES
[17-Nov-2025 13:40:45 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:45 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:45 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:40:45 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:40:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:57 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:57 UTC] 📊 Database Info:
[17-Nov-2025 13:40:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:57 UTC]    Books columns count: 53
[17-Nov-2025 13:40:57 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:57 UTC]    Language field in books: YES
[17-Nov-2025 13:40:57 UTC]    Format field in books: YES
[17-Nov-2025 13:40:57 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:57 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:57 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:57 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:57 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:57 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:57 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:57 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:57 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:57 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:57 UTC] 📊 Database Info:
[17-Nov-2025 13:40:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:57 UTC]    Books columns count: 53
[17-Nov-2025 13:40:57 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:57 UTC]    Language field in books: YES
[17-Nov-2025 13:40:57 UTC]    Format field in books: YES
[17-Nov-2025 13:40:57 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:57 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:57 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:57 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:57 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:57 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:57 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:57 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:57 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:57 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:57 UTC] 📊 Database Info:
[17-Nov-2025 13:40:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:57 UTC]    Books columns count: 53
[17-Nov-2025 13:40:57 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:57 UTC]    Language field in books: YES
[17-Nov-2025 13:40:57 UTC]    Format field in books: YES
[17-Nov-2025 13:40:57 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:57 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:57 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:57 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:57 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:57 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:57 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:57 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:57 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:40:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:40:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:57 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:40:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:57 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:58 UTC] 📊 Database Info:
[17-Nov-2025 13:40:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:58 UTC]    Books columns count: 53
[17-Nov-2025 13:40:58 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:58 UTC]    Language field in books: YES
[17-Nov-2025 13:40:58 UTC]    Format field in books: YES
[17-Nov-2025 13:40:58 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:58 UTC] 📊 Database Info:
[17-Nov-2025 13:40:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:58 UTC]    Books columns count: 53
[17-Nov-2025 13:40:58 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:58 UTC]    Language field in books: YES
[17-Nov-2025 13:40:58 UTC]    Format field in books: YES
[17-Nov-2025 13:40:58 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:58 UTC] 📊 Database Info:
[17-Nov-2025 13:40:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:58 UTC]    Books columns count: 53
[17-Nov-2025 13:40:58 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:58 UTC]    Language field in books: YES
[17-Nov-2025 13:40:58 UTC]    Format field in books: YES
[17-Nov-2025 13:40:58 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:58 UTC] 📊 Database Info:
[17-Nov-2025 13:40:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:58 UTC]    Books columns count: 53
[17-Nov-2025 13:40:58 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:58 UTC]    Language field in books: YES
[17-Nov-2025 13:40:58 UTC]    Format field in books: YES
[17-Nov-2025 13:40:58 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:58 UTC] 📊 Database Info:
[17-Nov-2025 13:40:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:58 UTC]    Books columns count: 53
[17-Nov-2025 13:40:58 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:58 UTC]    Language field in books: YES
[17-Nov-2025 13:40:58 UTC]    Format field in books: YES
[17-Nov-2025 13:40:58 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:58 UTC] 📊 Database Info:
[17-Nov-2025 13:40:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:58 UTC]    Books columns count: 53
[17-Nov-2025 13:40:58 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:58 UTC]    Language field in books: YES
[17-Nov-2025 13:40:58 UTC]    Format field in books: YES
[17-Nov-2025 13:40:58 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:40:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:58 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:58 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:58 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:58 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:58 UTC] 📊 Database Info:
[17-Nov-2025 13:40:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:58 UTC]    Books columns count: 53
[17-Nov-2025 13:40:58 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:58 UTC]    Language field in books: YES
[17-Nov-2025 13:40:58 UTC]    Format field in books: YES
[17-Nov-2025 13:40:58 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:58 UTC] 📊 Database Info:
[17-Nov-2025 13:40:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:58 UTC]    Books columns count: 53
[17-Nov-2025 13:40:58 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:58 UTC]    Language field in books: YES
[17-Nov-2025 13:40:58 UTC]    Format field in books: YES
[17-Nov-2025 13:40:58 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:40:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:40:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:40:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:40:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:40:58 UTC] 📊 Database Info:
[17-Nov-2025 13:40:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:40:58 UTC]    Books columns count: 53
[17-Nov-2025 13:40:58 UTC]    Categories columns count: 7
[17-Nov-2025 13:40:58 UTC]    Language field in books: YES
[17-Nov-2025 13:40:58 UTC]    Format field in books: YES
[17-Nov-2025 13:40:58 UTC]    Description field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:40:58 UTC]    Is_active field in books: YES
[17-Nov-2025 13:40:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:40:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:40:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:40:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:40:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:40:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:40:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:40:58 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:40:58 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:41:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:41:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:41:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:41:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:41:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:41:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:41:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:41:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:41:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:41:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:41:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:41:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:41:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:41:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:41:06 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:41:06 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:41:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:41:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:41:06 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:41:06 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:41:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:41:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:41:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:41:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:41:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:41:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:41:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:41:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:41:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:41:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:41:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:41:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:41:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:41:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:41:06 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:41:06 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:41:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:41:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:41:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:41:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:41:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:41:06 UTC] 📊 Database Info:
[17-Nov-2025 13:41:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:41:06 UTC]    Books columns count: 53
[17-Nov-2025 13:41:06 UTC]    Categories columns count: 7
[17-Nov-2025 13:41:06 UTC]    Language field in books: YES
[17-Nov-2025 13:41:06 UTC]    Format field in books: YES
[17-Nov-2025 13:41:06 UTC]    Description field in categories: YES
[17-Nov-2025 13:41:06 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:41:06 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:41:06 UTC]    Is_active field in books: YES
[17-Nov-2025 13:41:06 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:41:06 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:41:06 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:41:06 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:41:06 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:41:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:41:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:41:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:41:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:41:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:41:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:41:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:41:06 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:41:06 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:41:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:41:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:41:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:41:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:41:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:41:06 UTC] 📊 Database Info:
[17-Nov-2025 13:41:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:41:06 UTC]    Books columns count: 53
[17-Nov-2025 13:41:06 UTC]    Categories columns count: 7
[17-Nov-2025 13:41:06 UTC]    Language field in books: YES
[17-Nov-2025 13:41:06 UTC]    Format field in books: YES
[17-Nov-2025 13:41:06 UTC]    Description field in categories: YES
[17-Nov-2025 13:41:06 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:41:06 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:41:06 UTC]    Is_active field in books: YES
[17-Nov-2025 13:41:06 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:41:06 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:41:06 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:41:06 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:41:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:41:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:41:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:41:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:41:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:41:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:41:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:41:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:41:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:41:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:41:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:41:06 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:41:06 UTC] 📊 Database Info:
[17-Nov-2025 13:41:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:41:06 UTC]    Books columns count: 53
[17-Nov-2025 13:41:06 UTC]    Categories columns count: 7
[17-Nov-2025 13:41:06 UTC]    Language field in books: YES
[17-Nov-2025 13:41:06 UTC]    Format field in books: YES
[17-Nov-2025 13:41:06 UTC]    Description field in categories: YES
[17-Nov-2025 13:41:06 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:41:06 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:41:06 UTC]    Is_active field in books: YES
[17-Nov-2025 13:41:06 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:41:06 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:41:06 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:41:06 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:41:06 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:41:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:41:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:42:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:42:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:42:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:42:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:42:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:42:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:42:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:42:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:42:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:42:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:42:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:42:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:42:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:42:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:42:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:42:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:42:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:42:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:42:11 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:42:11 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:42:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:42:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:42:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:42:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:42:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:42:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:42:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:42:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:42:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:42:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:42:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:42:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:42:12 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:42:12 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:42:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:42:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:42:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:42:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:42:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:42:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:42:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:42:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:42:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:42:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:42:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:42:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:42:12 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:42:12 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:42:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:42:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:42:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:42:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:42:12 UTC] 📊 Database Info:
[17-Nov-2025 13:42:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:42:12 UTC]    Books columns count: 53
[17-Nov-2025 13:42:12 UTC]    Categories columns count: 7
[17-Nov-2025 13:42:12 UTC]    Language field in books: YES
[17-Nov-2025 13:42:12 UTC]    Format field in books: YES
[17-Nov-2025 13:42:12 UTC]    Description field in categories: YES
[17-Nov-2025 13:42:12 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:42:12 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:42:12 UTC]    Is_active field in books: YES
[17-Nov-2025 13:42:12 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:42:12 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:42:12 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:42:12 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:42:12 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:42:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:42:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:42:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:42:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:42:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:42:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:42:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:42:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:42:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:42:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:42:12 UTC] 📊 Database Info:
[17-Nov-2025 13:42:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:42:12 UTC]    Books columns count: 53
[17-Nov-2025 13:42:12 UTC]    Categories columns count: 7
[17-Nov-2025 13:42:12 UTC]    Language field in books: YES
[17-Nov-2025 13:42:12 UTC]    Format field in books: YES
[17-Nov-2025 13:42:12 UTC]    Description field in categories: YES
[17-Nov-2025 13:42:12 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:42:12 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:42:12 UTC]    Is_active field in books: YES
[17-Nov-2025 13:42:12 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:42:12 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:42:12 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:42:12 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:42:12 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:42:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:42:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:42:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:42:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:42:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:42:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:42:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:42:12 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:42:12 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:42:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:42:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:42:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:42:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:42:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:42:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:42:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:42:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:42:12 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:42:12 UTC] 📊 Database Info:
[17-Nov-2025 13:42:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:42:12 UTC]    Books columns count: 53
[17-Nov-2025 13:42:12 UTC]    Categories columns count: 7
[17-Nov-2025 13:42:12 UTC]    Language field in books: YES
[17-Nov-2025 13:42:12 UTC]    Format field in books: YES
[17-Nov-2025 13:42:12 UTC]    Description field in categories: YES
[17-Nov-2025 13:42:12 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:42:12 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:42:12 UTC]    Is_active field in books: YES
[17-Nov-2025 13:42:12 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:42:12 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:42:12 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:42:12 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:42:12 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:42:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:42:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:42:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:42:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:42:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:42:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:42:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:42:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:42:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:42:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:42:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:42:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:42:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:42:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:42:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:42:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:42:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:42:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:42:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:42:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:42:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:42:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:42:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:42:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:42:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:42:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:42:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:42:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:42:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:42:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:42:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:42:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:42:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:42:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:42:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:42:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:42:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:42:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:42:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:42:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:42:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:42:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:42:55 UTC] 📊 Database Info:
[17-Nov-2025 13:42:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:42:55 UTC]    Books columns count: 53
[17-Nov-2025 13:42:55 UTC]    Categories columns count: 7
[17-Nov-2025 13:42:55 UTC]    Language field in books: YES
[17-Nov-2025 13:42:55 UTC]    Format field in books: YES
[17-Nov-2025 13:42:55 UTC]    Description field in categories: YES
[17-Nov-2025 13:42:55 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:42:55 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:42:55 UTC]    Is_active field in books: YES
[17-Nov-2025 13:42:55 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:42:55 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:42:55 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:42:55 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:42:55 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:42:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:42:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:42:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:42:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:42:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:42:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:42:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:42:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:42:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:42:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:42:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:42:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:42:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:42:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:42:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:42:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:42:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:42:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:42:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:42:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:42:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:42:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:42:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:42:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:42:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:42:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:42:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:42:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:42:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:42:56 UTC] 📊 Database Info:
[17-Nov-2025 13:42:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:42:56 UTC]    Books columns count: 53
[17-Nov-2025 13:42:56 UTC]    Categories columns count: 7
[17-Nov-2025 13:42:56 UTC]    Language field in books: YES
[17-Nov-2025 13:42:56 UTC]    Format field in books: YES
[17-Nov-2025 13:42:56 UTC]    Description field in categories: YES
[17-Nov-2025 13:42:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:42:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:42:56 UTC]    Is_active field in books: YES
[17-Nov-2025 13:42:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:42:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:42:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:42:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:42:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:42:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:42:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:42:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:42:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:42:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:42:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:42:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:42:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:42:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:42:56 UTC] 📊 Database Info:
[17-Nov-2025 13:42:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:42:56 UTC]    Books columns count: 53
[17-Nov-2025 13:42:56 UTC]    Categories columns count: 7
[17-Nov-2025 13:42:56 UTC]    Language field in books: YES
[17-Nov-2025 13:42:56 UTC]    Format field in books: YES
[17-Nov-2025 13:42:56 UTC]    Description field in categories: YES
[17-Nov-2025 13:42:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:42:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:42:56 UTC]    Is_active field in books: YES
[17-Nov-2025 13:42:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:42:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:42:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:42:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:42:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:42:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:42:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:42:56 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:42:56 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:43:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:43:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:43:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:43:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:43:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:43:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:13 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:43:13 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:43:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:43:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:43:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:43:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:43:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:43:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:43:13 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:43:13 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:43:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:43:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:43:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:43:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:43:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:43:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:43:13 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:43:13 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:43:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:43:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:43:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:43:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:43:13 UTC] 📊 Database Info:
[17-Nov-2025 13:43:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:43:13 UTC]    Books columns count: 53
[17-Nov-2025 13:43:13 UTC]    Categories columns count: 7
[17-Nov-2025 13:43:13 UTC]    Language field in books: YES
[17-Nov-2025 13:43:13 UTC]    Format field in books: YES
[17-Nov-2025 13:43:13 UTC]    Description field in categories: YES
[17-Nov-2025 13:43:13 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:43:13 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:43:13 UTC]    Is_active field in books: YES
[17-Nov-2025 13:43:13 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:43:13 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:43:13 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:43:13 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:43:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:43:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:43:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:43:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:43:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:43:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:43:13 UTC] 📊 Database Info:
[17-Nov-2025 13:43:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:43:13 UTC]    Books columns count: 53
[17-Nov-2025 13:43:13 UTC]    Categories columns count: 7
[17-Nov-2025 13:43:13 UTC]    Language field in books: YES
[17-Nov-2025 13:43:13 UTC]    Format field in books: YES
[17-Nov-2025 13:43:13 UTC]    Description field in categories: YES
[17-Nov-2025 13:43:13 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:43:13 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:43:13 UTC]    Is_active field in books: YES
[17-Nov-2025 13:43:13 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:43:13 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:43:13 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:43:13 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:43:13 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:43:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:43:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:43:13 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:43:13 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:43:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:43:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:43:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:43:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:43:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:43:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:43:13 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:43:13 UTC] 📊 Database Info:
[17-Nov-2025 13:43:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:43:13 UTC]    Books columns count: 53
[17-Nov-2025 13:43:13 UTC]    Categories columns count: 7
[17-Nov-2025 13:43:13 UTC]    Language field in books: YES
[17-Nov-2025 13:43:13 UTC]    Format field in books: YES
[17-Nov-2025 13:43:13 UTC]    Description field in categories: YES
[17-Nov-2025 13:43:13 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:43:13 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:43:13 UTC]    Is_active field in books: YES
[17-Nov-2025 13:43:13 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:43:13 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:43:13 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:43:13 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:43:13 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:43:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:43:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:43:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:43:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:43:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:43:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:43:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:43:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:43:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:43:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:43:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:43:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:43:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:43:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:43:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:43:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:43:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:43:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:43:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:43:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:43:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:43:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:43:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:43:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:43:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:43:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:43:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:43:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:43:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:43:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:43:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:43:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:43:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:43:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:43:33 UTC] 📊 Database Info:
[17-Nov-2025 13:43:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:43:33 UTC]    Books columns count: 53
[17-Nov-2025 13:43:33 UTC]    Categories columns count: 7
[17-Nov-2025 13:43:33 UTC]    Language field in books: YES
[17-Nov-2025 13:43:33 UTC]    Format field in books: YES
[17-Nov-2025 13:43:33 UTC]    Description field in categories: YES
[17-Nov-2025 13:43:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:43:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:43:33 UTC]    Is_active field in books: YES
[17-Nov-2025 13:43:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:43:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:43:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:43:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:43:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:43:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:43:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:43:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:43:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:43:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:43:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:43:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:43:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:43:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:43:33 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:43:33 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:43:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:43:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:43:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:43:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:43:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:43:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:43:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:43:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:43:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:43:33 UTC] 📊 Database Info:
[17-Nov-2025 13:43:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:43:33 UTC]    Books columns count: 53
[17-Nov-2025 13:43:33 UTC]    Categories columns count: 7
[17-Nov-2025 13:43:33 UTC]    Language field in books: YES
[17-Nov-2025 13:43:33 UTC]    Format field in books: YES
[17-Nov-2025 13:43:33 UTC]    Description field in categories: YES
[17-Nov-2025 13:43:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:43:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:43:33 UTC]    Is_active field in books: YES
[17-Nov-2025 13:43:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:43:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:43:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:43:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:43:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:43:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:43:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:43:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:43:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:43:33 UTC] 📊 Database Info:
[17-Nov-2025 13:43:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:43:33 UTC]    Books columns count: 53
[17-Nov-2025 13:43:33 UTC]    Categories columns count: 7
[17-Nov-2025 13:43:33 UTC]    Language field in books: YES
[17-Nov-2025 13:43:33 UTC]    Format field in books: YES
[17-Nov-2025 13:43:33 UTC]    Description field in categories: YES
[17-Nov-2025 13:43:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:43:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:43:33 UTC]    Is_active field in books: YES
[17-Nov-2025 13:43:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:43:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:43:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:43:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:43:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:43:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:43:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:43:45 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:43:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:43:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:43:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:43:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:43:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:43:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:43:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:43:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:43:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:43:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:43:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:43:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:43:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:43:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:43:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:43:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:43:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:43:45 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:43:45 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:43:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:43:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:43:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:43:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:43:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:45 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:43:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:43:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:43:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:43:45 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:43:45 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:43:45 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:43:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:43:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:43:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:43:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:43:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:43:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:43:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:43:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:43:45 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:43:45 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:43:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:43:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:43:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:43:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:43:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:43:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:43:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:43:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:43:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:43:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:43:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:43:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:43:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:43:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:43:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:43:46 UTC] 📊 Database Info:
[17-Nov-2025 13:43:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:43:46 UTC]    Books columns count: 53
[17-Nov-2025 13:43:46 UTC]    Categories columns count: 7
[17-Nov-2025 13:43:46 UTC]    Language field in books: YES
[17-Nov-2025 13:43:46 UTC]    Format field in books: YES
[17-Nov-2025 13:43:46 UTC]    Description field in categories: YES
[17-Nov-2025 13:43:46 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:43:46 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:43:46 UTC]    Is_active field in books: YES
[17-Nov-2025 13:43:46 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:43:46 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:43:46 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:43:46 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:43:46 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:43:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:43:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:43:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:43:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:43:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:43:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:43:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:43:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:43:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:43:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:43:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:43:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:43:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:43:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:43:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:43:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:43:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:43:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:43:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:43:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:43:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:43:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:43:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:43:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:43:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:43:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:43:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:43:46 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:43:46 UTC] 📊 Database Info:
[17-Nov-2025 13:43:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:43:46 UTC]    Books columns count: 53
[17-Nov-2025 13:43:46 UTC]    Categories columns count: 7
[17-Nov-2025 13:43:46 UTC]    Language field in books: YES
[17-Nov-2025 13:43:46 UTC]    Format field in books: YES
[17-Nov-2025 13:43:46 UTC]    Description field in categories: YES
[17-Nov-2025 13:43:46 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:43:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:43:46 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:43:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:43:46 UTC]    Is_active field in books: YES
[17-Nov-2025 13:43:46 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:43:46 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:43:46 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:43:46 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:43:46 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:43:46 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:43:46 UTC] 📊 Database Info:
[17-Nov-2025 13:43:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:43:46 UTC]    Books columns count: 53
[17-Nov-2025 13:43:46 UTC]    Categories columns count: 7
[17-Nov-2025 13:43:46 UTC]    Language field in books: YES
[17-Nov-2025 13:43:46 UTC]    Format field in books: YES
[17-Nov-2025 13:43:46 UTC]    Description field in categories: YES
[17-Nov-2025 13:43:46 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:43:46 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:43:46 UTC]    Is_active field in books: YES
[17-Nov-2025 13:43:46 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:43:46 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:43:46 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:43:46 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:43:46 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:43:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:43:46 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:43:46 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:43:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:43:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:44:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:44:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:44:26 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:44:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:44:26 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:44:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:44:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:44:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:44:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:44:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:44:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:44:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:44:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:44:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:44:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:44:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:44:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:44:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:44:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:44:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:44:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:44:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:44:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:44:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:44:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:44:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:44:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:44:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:44:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:44:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:44:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:44:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:44:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:44:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:44:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:44:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:44:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:44:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:44:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:44:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:44:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:44:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:44:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:44:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:44:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:44:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:44:27 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:44:27 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:44:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:44:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:44:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:44:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:44:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:44:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:44:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:44:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:44:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:44:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:44:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:44:27 UTC] 📊 Database Info:
[17-Nov-2025 13:44:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:44:27 UTC]    Books columns count: 53
[17-Nov-2025 13:44:27 UTC]    Categories columns count: 7
[17-Nov-2025 13:44:27 UTC]    Language field in books: YES
[17-Nov-2025 13:44:27 UTC]    Format field in books: YES
[17-Nov-2025 13:44:27 UTC]    Description field in categories: YES
[17-Nov-2025 13:44:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:44:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:44:27 UTC]    Is_active field in books: YES
[17-Nov-2025 13:44:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:44:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:44:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:44:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:44:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:44:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:44:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:44:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:44:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:44:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:44:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:44:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:44:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:44:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:44:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:44:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:44:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:44:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:44:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:44:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:44:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:44:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:44:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:44:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:44:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:44:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:44:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:44:27 UTC] 📊 Database Info:
[17-Nov-2025 13:44:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:44:27 UTC]    Books columns count: 53
[17-Nov-2025 13:44:27 UTC]    Categories columns count: 7
[17-Nov-2025 13:44:27 UTC]    Language field in books: YES
[17-Nov-2025 13:44:27 UTC]    Format field in books: YES
[17-Nov-2025 13:44:27 UTC]    Description field in categories: YES
[17-Nov-2025 13:44:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:44:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:44:27 UTC]    Is_active field in books: YES
[17-Nov-2025 13:44:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:44:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:44:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:44:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:44:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:44:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:44:27 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:44:27 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:44:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:44:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:44:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:44:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:44:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:44:27 UTC] 📊 Database Info:
[17-Nov-2025 13:44:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:44:27 UTC]    Books columns count: 53
[17-Nov-2025 13:44:27 UTC]    Categories columns count: 7
[17-Nov-2025 13:44:27 UTC]    Language field in books: YES
[17-Nov-2025 13:44:27 UTC]    Format field in books: YES
[17-Nov-2025 13:44:27 UTC]    Description field in categories: YES
[17-Nov-2025 13:44:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:44:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:44:27 UTC]    Is_active field in books: YES
[17-Nov-2025 13:44:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:44:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:44:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:44:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:44:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:44:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:44:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:44:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:44:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:44:42 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:44:42 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:44:42 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:44:42 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:44:42 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:44:42 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:44:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:42 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:44:42 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:44:42 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:44:42 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:44:42 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:44:42 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:44:42 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:44:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:42 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:44:42 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:44:42 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:44:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:42 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:44:42 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:44:42 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:44:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:42 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:44:42 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:44:42 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:44:42 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:44:42 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:44:42 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:44:42 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:44:42 UTC] 📊 Database Info:
[17-Nov-2025 13:44:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:44:42 UTC]    Books columns count: 53
[17-Nov-2025 13:44:42 UTC]    Categories columns count: 7
[17-Nov-2025 13:44:42 UTC]    Language field in books: YES
[17-Nov-2025 13:44:42 UTC]    Format field in books: YES
[17-Nov-2025 13:44:42 UTC]    Description field in categories: YES
[17-Nov-2025 13:44:42 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:44:42 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:44:42 UTC]    Is_active field in books: YES
[17-Nov-2025 13:44:42 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:44:42 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:44:42 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:44:42 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:44:42 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:44:42 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:44:42 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:44:42 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:44:42 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:44:42 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:44:42 UTC] 📊 Database Info:
[17-Nov-2025 13:44:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:44:42 UTC]    Books columns count: 53
[17-Nov-2025 13:44:42 UTC]    Categories columns count: 7
[17-Nov-2025 13:44:42 UTC]    Language field in books: YES
[17-Nov-2025 13:44:42 UTC]    Format field in books: YES
[17-Nov-2025 13:44:42 UTC]    Description field in categories: YES
[17-Nov-2025 13:44:42 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:44:42 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:44:42 UTC]    Is_active field in books: YES
[17-Nov-2025 13:44:42 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:44:42 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:44:42 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:44:42 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:44:42 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:44:42 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:44:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:44:42 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:44:42 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:44:42 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:44:42 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:44:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:44:42 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:44:42 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:44:42 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:44:42 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:44:42 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:44:42 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:44:42 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:44:42 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:44:42 UTC] 📊 Database Info:
[17-Nov-2025 13:44:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:44:42 UTC]    Books columns count: 53
[17-Nov-2025 13:44:42 UTC]    Categories columns count: 7
[17-Nov-2025 13:44:42 UTC]    Language field in books: YES
[17-Nov-2025 13:44:42 UTC]    Format field in books: YES
[17-Nov-2025 13:44:42 UTC]    Description field in categories: YES
[17-Nov-2025 13:44:42 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:44:42 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:44:42 UTC]    Is_active field in books: YES
[17-Nov-2025 13:44:42 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:44:42 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:44:42 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:44:42 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:44:42 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:44:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:44:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:44:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:44:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:44:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:44:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:44:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:44:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:44:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:44:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:44:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:44:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:44:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:44:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:44:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:44:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:44:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:44:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:44:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:44:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:44:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:44:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:44:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:44:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:44:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:44:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:44:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:44:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:44:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:44:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:44:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:44:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:44:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:44:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:44:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:44:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:44:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:44:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:44:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:44:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:44:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:44:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:44:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:44:57 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:44:57 UTC] 📊 Database Info:
[17-Nov-2025 13:44:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:44:57 UTC]    Books columns count: 53
[17-Nov-2025 13:44:57 UTC]    Categories columns count: 7
[17-Nov-2025 13:44:57 UTC]    Language field in books: YES
[17-Nov-2025 13:44:57 UTC]    Format field in books: YES
[17-Nov-2025 13:44:57 UTC]    Description field in categories: YES
[17-Nov-2025 13:44:57 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:44:57 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:44:57 UTC]    Is_active field in books: YES
[17-Nov-2025 13:44:57 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:44:57 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:44:57 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:44:57 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:44:57 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:44:57 UTC] 📊 Database Info:
[17-Nov-2025 13:44:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:44:57 UTC]    Books columns count: 53
[17-Nov-2025 13:44:57 UTC]    Categories columns count: 7
[17-Nov-2025 13:44:57 UTC]    Language field in books: YES
[17-Nov-2025 13:44:57 UTC]    Format field in books: YES
[17-Nov-2025 13:44:57 UTC]    Description field in categories: YES
[17-Nov-2025 13:44:57 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:44:57 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:44:57 UTC]    Is_active field in books: YES
[17-Nov-2025 13:44:57 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:44:57 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:44:57 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:44:57 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:44:57 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:44:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:44:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:44:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:44:57 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:44:57 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:44:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:44:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:44:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:44:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:44:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:44:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:44:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:44:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:44:57 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:44:57 UTC] 📊 Database Info:
[17-Nov-2025 13:44:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:44:57 UTC]    Books columns count: 53
[17-Nov-2025 13:44:57 UTC]    Categories columns count: 7
[17-Nov-2025 13:44:57 UTC]    Language field in books: YES
[17-Nov-2025 13:44:57 UTC]    Format field in books: YES
[17-Nov-2025 13:44:57 UTC]    Description field in categories: YES
[17-Nov-2025 13:44:57 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:44:57 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:44:57 UTC]    Is_active field in books: YES
[17-Nov-2025 13:44:57 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:44:57 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:44:57 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:44:57 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:44:57 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:44:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:44:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:45:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:45:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:45:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:45:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:45:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:45:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:45:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:45:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:45:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:45:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:45:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:45:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:45:13 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:45:13 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:45:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:45:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:45:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:45:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:45:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:45:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:45:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:45:13 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:45:13 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:45:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:45:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:45:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:45:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:45:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:45:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:45:13 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:45:13 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:45:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:45:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:45:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:45:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:45:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:45:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:45:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:45:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:45:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:45:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:45:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:45:13 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:45:13 UTC] 📊 Database Info:
[17-Nov-2025 13:45:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:45:13 UTC]    Books columns count: 53
[17-Nov-2025 13:45:13 UTC]    Categories columns count: 7
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:45:13 UTC]    Language field in books: YES
[17-Nov-2025 13:45:13 UTC]    Format field in books: YES
[17-Nov-2025 13:45:13 UTC]    Description field in categories: YES
[17-Nov-2025 13:45:13 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:45:13 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:45:13 UTC]    Is_active field in books: YES
[17-Nov-2025 13:45:13 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:45:13 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:45:13 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:45:13 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:45:13 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:45:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:45:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:45:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:45:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:45:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:45:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:45:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:45:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:45:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:45:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:45:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:45:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:45:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:45:13 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:45:13 UTC] 📊 Database Info:
[17-Nov-2025 13:45:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:45:13 UTC]    Books columns count: 53
[17-Nov-2025 13:45:13 UTC]    Categories columns count: 7
[17-Nov-2025 13:45:13 UTC]    Language field in books: YES
[17-Nov-2025 13:45:13 UTC]    Format field in books: YES
[17-Nov-2025 13:45:13 UTC]    Description field in categories: YES
[17-Nov-2025 13:45:13 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:45:13 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:45:13 UTC]    Is_active field in books: YES
[17-Nov-2025 13:45:13 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:45:13 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:45:13 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:45:13 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:45:13 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:45:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:45:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:45:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:45:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:45:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:45:14 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:45:14 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:45:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:45:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:45:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:45:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:45:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:45:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:45:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:45:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:45:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:45:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:45:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:45:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:45:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:45:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:45:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:45:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:45:14 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:45:14 UTC] 📊 Database Info:
[17-Nov-2025 13:45:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:45:14 UTC]    Books columns count: 53
[17-Nov-2025 13:45:14 UTC]    Categories columns count: 7
[17-Nov-2025 13:45:14 UTC]    Language field in books: YES
[17-Nov-2025 13:45:14 UTC]    Format field in books: YES
[17-Nov-2025 13:45:14 UTC]    Description field in categories: YES
[17-Nov-2025 13:45:14 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:45:14 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:45:14 UTC]    Is_active field in books: YES
[17-Nov-2025 13:45:14 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:45:14 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:45:14 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:45:14 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:45:14 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:45:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:45:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:45:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:45:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:45:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:45:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:45:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:45:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:45:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:45:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:45:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:45:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:45:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:45:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:45:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:45:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:45:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:45:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:45:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:45:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:45:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:45:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:45:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:45:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:45:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:45:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:45:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:45:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:45:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:45:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:45:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:45:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:45:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:45:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:45:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:45:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:45:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:45:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:45:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:45:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:45:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:45:31 UTC] 📊 Database Info:
[17-Nov-2025 13:45:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:45:31 UTC]    Books columns count: 53
[17-Nov-2025 13:45:31 UTC]    Categories columns count: 7
[17-Nov-2025 13:45:31 UTC]    Language field in books: YES
[17-Nov-2025 13:45:31 UTC]    Format field in books: YES
[17-Nov-2025 13:45:31 UTC]    Description field in categories: YES
[17-Nov-2025 13:45:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:45:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:45:31 UTC]    Is_active field in books: YES
[17-Nov-2025 13:45:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:45:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:45:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:45:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:45:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:45:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:45:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:45:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:45:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:45:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:45:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:45:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:45:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:45:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:45:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:45:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:45:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:45:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:45:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:45:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:45:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:45:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:45:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:45:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:45:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:45:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:45:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:45:32 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:45:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:45:32 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:45:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:45:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:45:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:45:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:45:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:45:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:45:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:45:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:45:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:45:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:45:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:45:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:45:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:45:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:45:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:45:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:45:32 UTC] 📊 Database Info:
[17-Nov-2025 13:45:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:45:32 UTC]    Books columns count: 53
[17-Nov-2025 13:45:32 UTC]    Categories columns count: 7
[17-Nov-2025 13:45:32 UTC]    Language field in books: YES
[17-Nov-2025 13:45:32 UTC]    Format field in books: YES
[17-Nov-2025 13:45:32 UTC]    Description field in categories: YES
[17-Nov-2025 13:45:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:45:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:45:32 UTC]    Is_active field in books: YES
[17-Nov-2025 13:45:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:45:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:45:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:45:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:45:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:45:32 UTC] 📊 Database Info:
[17-Nov-2025 13:45:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:45:32 UTC]    Books columns count: 53
[17-Nov-2025 13:45:32 UTC]    Categories columns count: 7
[17-Nov-2025 13:45:32 UTC]    Language field in books: YES
[17-Nov-2025 13:45:32 UTC]    Format field in books: YES
[17-Nov-2025 13:45:32 UTC]    Description field in categories: YES
[17-Nov-2025 13:45:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:45:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:45:32 UTC]    Is_active field in books: YES
[17-Nov-2025 13:45:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:45:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:45:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:45:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:45:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:45:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:45:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:45:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:45:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:46:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:46:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:46:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:46:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:46:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:46:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:46:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:46:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:46:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:46:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:46:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:46:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:46:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:46:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:46:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:46:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:46:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:46:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:46:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:46:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:46:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:46:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:46:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:46:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:46:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:46:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:46:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:46:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:46:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:46:39 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:46:39 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:46:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:46:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:46:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:46:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:46:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:46:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:46:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:46:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:46:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:46:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:46:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:46:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:46:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:46:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:46:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:46:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:46:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:46:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:46:39 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:46:39 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:46:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:46:39 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:46:39 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:46:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:46:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:46:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:46:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:46:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:46:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:46:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:46:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:46:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:46:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:46:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:46:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:46:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:46:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:46:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:46:40 UTC] 📊 Database Info:
[17-Nov-2025 13:46:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:46:40 UTC]    Books columns count: 53
[17-Nov-2025 13:46:40 UTC]    Categories columns count: 7
[17-Nov-2025 13:46:40 UTC]    Language field in books: YES
[17-Nov-2025 13:46:40 UTC]    Format field in books: YES
[17-Nov-2025 13:46:40 UTC]    Description field in categories: YES
[17-Nov-2025 13:46:40 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:46:40 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:46:40 UTC]    Is_active field in books: YES
[17-Nov-2025 13:46:40 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:46:40 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:46:40 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:46:40 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:46:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:46:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:46:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:46:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:46:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:46:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:46:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:46:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:46:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:46:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:46:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:46:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:46:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:46:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:46:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:46:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:46:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:46:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:46:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:46:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:46:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:46:40 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:46:40 UTC] 📊 Database Info:
[17-Nov-2025 13:46:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:46:40 UTC]    Books columns count: 53
[17-Nov-2025 13:46:40 UTC]    Categories columns count: 7
[17-Nov-2025 13:46:40 UTC]    Language field in books: YES
[17-Nov-2025 13:46:40 UTC]    Format field in books: YES
[17-Nov-2025 13:46:40 UTC]    Description field in categories: YES
[17-Nov-2025 13:46:40 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:46:40 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:46:40 UTC]    Is_active field in books: YES
[17-Nov-2025 13:46:40 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:46:40 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:46:40 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:46:40 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:46:40 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:46:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:46:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:46:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:46:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:46:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:46:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:46:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:46:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:46:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:46:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:46:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:46:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:46:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:46:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:46:40 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:46:40 UTC] 📊 Database Info:
[17-Nov-2025 13:46:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:46:40 UTC]    Books columns count: 53
[17-Nov-2025 13:46:40 UTC]    Categories columns count: 7
[17-Nov-2025 13:46:40 UTC]    Language field in books: YES
[17-Nov-2025 13:46:40 UTC]    Format field in books: YES
[17-Nov-2025 13:46:40 UTC]    Description field in categories: YES
[17-Nov-2025 13:46:40 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:46:40 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:46:40 UTC]    Is_active field in books: YES
[17-Nov-2025 13:46:40 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:46:40 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:46:40 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:46:40 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:46:40 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:46:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:46:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:46:40 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:46:40 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:47:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:47:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:47:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:47:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:47:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:47:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:47:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:47:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:47:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:47:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:47:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:47:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:47:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:47:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:47:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:47:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:47:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:47:22 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:47:22 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:47:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:47:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:47:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:47:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:47:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:47:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:47:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:47:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:47:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:47:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:47:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:47:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:47:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:47:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:47:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:47:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:47:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:47:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:47:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:47:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:47:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:47:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:47:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:47:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:47:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:47:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:47:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:47:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:47:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:47:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:47:22 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:47:22 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:47:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:47:22 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:47:22 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:47:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:47:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:47:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:47:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:47:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:47:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:47:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:47:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:47:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:47:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:47:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:47:23 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:47:23 UTC] 📊 Database Info:
[17-Nov-2025 13:47:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:47:23 UTC]    Books columns count: 53
[17-Nov-2025 13:47:23 UTC]    Categories columns count: 7
[17-Nov-2025 13:47:23 UTC]    Language field in books: YES
[17-Nov-2025 13:47:23 UTC]    Format field in books: YES
[17-Nov-2025 13:47:23 UTC]    Description field in categories: YES
[17-Nov-2025 13:47:23 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:47:23 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:47:23 UTC]    Is_active field in books: YES
[17-Nov-2025 13:47:23 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:47:23 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:47:23 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:47:23 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:47:23 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:47:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:47:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:47:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:47:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:47:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:47:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:47:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:47:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:47:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:47:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:47:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:47:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:47:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:47:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:47:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:47:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:47:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:47:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:47:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:47:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:47:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:47:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:47:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:47:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:47:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:47:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:47:23 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:47:23 UTC] 📊 Database Info:
[17-Nov-2025 13:47:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:47:23 UTC]    Books columns count: 53
[17-Nov-2025 13:47:23 UTC]    Categories columns count: 7
[17-Nov-2025 13:47:23 UTC]    Language field in books: YES
[17-Nov-2025 13:47:23 UTC]    Format field in books: YES
[17-Nov-2025 13:47:23 UTC]    Description field in categories: YES
[17-Nov-2025 13:47:23 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:47:23 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:47:23 UTC]    Is_active field in books: YES
[17-Nov-2025 13:47:23 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:47:23 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:47:23 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:47:23 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:47:23 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:47:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:47:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:47:23 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:47:23 UTC] 📊 Database Info:
[17-Nov-2025 13:47:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:47:23 UTC]    Books columns count: 53
[17-Nov-2025 13:47:23 UTC]    Categories columns count: 7
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:47:23 UTC]    Language field in books: YES
[17-Nov-2025 13:47:23 UTC]    Format field in books: YES
[17-Nov-2025 13:47:23 UTC]    Description field in categories: YES
[17-Nov-2025 13:47:23 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:47:23 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:47:23 UTC]    Is_active field in books: YES
[17-Nov-2025 13:47:23 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:47:23 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:47:23 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:47:23 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:47:23 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:47:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:47:23 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:47:23 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:47:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:47:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:47:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:47:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:47:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:47:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:47:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:47:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:47:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:47:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:47:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:47:27 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:47:27 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:47:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:47:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:47:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:47:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:47:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:47:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:47:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:47:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:47:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:47:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:47:27 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:47:27 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:47:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:47:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:47:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:47:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:47:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:47:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:47:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:47:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:47:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:47:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:47:27 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:47:27 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:47:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:47:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:47:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:47:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:47:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:47:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:47:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:47:27 UTC] 📊 Database Info:
[17-Nov-2025 13:47:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:47:27 UTC]    Books columns count: 53
[17-Nov-2025 13:47:27 UTC]    Categories columns count: 7
[17-Nov-2025 13:47:27 UTC]    Language field in books: YES
[17-Nov-2025 13:47:27 UTC]    Format field in books: YES
[17-Nov-2025 13:47:27 UTC]    Description field in categories: YES
[17-Nov-2025 13:47:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:47:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:47:27 UTC]    Is_active field in books: YES
[17-Nov-2025 13:47:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:47:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:47:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:47:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:47:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:47:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:47:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:47:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:47:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:47:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:47:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:47:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:47:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:47:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:47:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:47:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:47:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:47:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:47:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:47:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:47:27 UTC] 📊 Database Info:
[17-Nov-2025 13:47:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:47:27 UTC]    Books columns count: 53
[17-Nov-2025 13:47:27 UTC]    Categories columns count: 7
[17-Nov-2025 13:47:27 UTC]    Language field in books: YES
[17-Nov-2025 13:47:27 UTC]    Format field in books: YES
[17-Nov-2025 13:47:27 UTC]    Description field in categories: YES
[17-Nov-2025 13:47:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:47:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:47:27 UTC]    Is_active field in books: YES
[17-Nov-2025 13:47:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:47:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:47:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:47:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:47:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:47:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:47:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:47:27 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:47:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:47:27 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:47:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:47:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:47:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:47:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:47:27 UTC] 📊 Database Info:
[17-Nov-2025 13:47:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:47:27 UTC]    Books columns count: 53
[17-Nov-2025 13:47:27 UTC]    Categories columns count: 7
[17-Nov-2025 13:47:27 UTC]    Language field in books: YES
[17-Nov-2025 13:47:27 UTC]    Format field in books: YES
[17-Nov-2025 13:47:27 UTC]    Description field in categories: YES
[17-Nov-2025 13:47:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:47:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:47:27 UTC]    Is_active field in books: YES
[17-Nov-2025 13:47:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:47:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:47:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:47:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:47:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:47:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:47:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:50:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:50:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:50:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:50:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:50:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:50:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:50:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:50:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:50:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:50:34 UTC] 📊 Database Info:
[17-Nov-2025 13:50:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:50:34 UTC]    Books columns count: 53
[17-Nov-2025 13:50:34 UTC]    Categories columns count: 7
[17-Nov-2025 13:50:34 UTC]    Language field in books: YES
[17-Nov-2025 13:50:34 UTC]    Format field in books: YES
[17-Nov-2025 13:50:34 UTC]    Description field in categories: YES
[17-Nov-2025 13:50:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:50:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:50:34 UTC]    Is_active field in books: YES
[17-Nov-2025 13:50:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:50:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:50:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:50:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:50:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:50:34 UTC] 📊 Database Info:
[17-Nov-2025 13:50:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:50:34 UTC]    Books columns count: 53
[17-Nov-2025 13:50:34 UTC]    Categories columns count: 7
[17-Nov-2025 13:50:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:50:34 UTC]    Language field in books: YES
[17-Nov-2025 13:50:34 UTC]    Format field in books: YES
[17-Nov-2025 13:50:34 UTC] 📊 Database Info:
[17-Nov-2025 13:50:34 UTC]    Description field in categories: YES
[17-Nov-2025 13:50:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:50:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:50:34 UTC]    Books columns count: 53
[17-Nov-2025 13:50:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:50:34 UTC]    Categories columns count: 7
[17-Nov-2025 13:50:34 UTC]    Is_active field in books: YES
[17-Nov-2025 13:50:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:50:34 UTC]    Language field in books: YES
[17-Nov-2025 13:50:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:50:34 UTC]    Format field in books: YES
[17-Nov-2025 13:50:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:50:34 UTC]    Description field in categories: YES
[17-Nov-2025 13:50:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:50:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:50:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:50:34 UTC]    Is_active field in books: YES
[17-Nov-2025 13:50:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:50:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:50:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:50:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:50:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:50:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:50:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:50:34 UTC] 📊 Database Info:
[17-Nov-2025 13:50:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:50:34 UTC]    Books columns count: 53
[17-Nov-2025 13:50:34 UTC]    Categories columns count: 7
[17-Nov-2025 13:50:34 UTC]    Language field in books: YES
[17-Nov-2025 13:50:34 UTC]    Format field in books: YES
[17-Nov-2025 13:50:34 UTC]    Description field in categories: YES
[17-Nov-2025 13:50:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:50:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:50:34 UTC]    Is_active field in books: YES
[17-Nov-2025 13:50:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:50:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:50:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:50:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:50:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:50:34 UTC] 📊 Database Info:
[17-Nov-2025 13:50:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:50:34 UTC]    Books columns count: 53
[17-Nov-2025 13:50:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:34 UTC]    Categories columns count: 7
[17-Nov-2025 13:50:34 UTC]    Language field in books: YES
[17-Nov-2025 13:50:34 UTC]    Format field in books: YES
[17-Nov-2025 13:50:34 UTC]    Description field in categories: YES
[17-Nov-2025 13:50:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:50:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:50:34 UTC]    Is_active field in books: YES
[17-Nov-2025 13:50:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:50:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:50:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:50:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:50:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:50:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:50:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:50:34 UTC] 📊 Database Info:
[17-Nov-2025 13:50:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:50:34 UTC]    Books columns count: 53
[17-Nov-2025 13:50:34 UTC]    Categories columns count: 7
[17-Nov-2025 13:50:34 UTC]    Language field in books: YES
[17-Nov-2025 13:50:34 UTC]    Format field in books: YES
[17-Nov-2025 13:50:34 UTC]    Description field in categories: YES
[17-Nov-2025 13:50:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:50:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:50:34 UTC]    Is_active field in books: YES
[17-Nov-2025 13:50:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:50:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:50:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:50:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:50:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:50:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:50:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:50:34 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:50:34 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:50:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:50:34 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:50:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:50:34 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:50:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:50:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:50:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:50:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:50:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:50:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:50:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:50:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:50:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:50:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:50:35 UTC] 📊 Database Info:
[17-Nov-2025 13:50:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:50:35 UTC]    Books columns count: 53
[17-Nov-2025 13:50:35 UTC]    Categories columns count: 7
[17-Nov-2025 13:50:35 UTC]    Language field in books: YES
[17-Nov-2025 13:50:35 UTC]    Format field in books: YES
[17-Nov-2025 13:50:35 UTC]    Description field in categories: YES
[17-Nov-2025 13:50:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:50:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:50:35 UTC]    Is_active field in books: YES
[17-Nov-2025 13:50:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:50:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:50:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:50:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:50:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:50:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:50:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:50:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:50:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:50:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:50:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:50:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:50:35 UTC] 📊 Database Info:
[17-Nov-2025 13:50:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:50:35 UTC]    Books columns count: 53
[17-Nov-2025 13:50:35 UTC]    Categories columns count: 7
[17-Nov-2025 13:50:35 UTC]    Language field in books: YES
[17-Nov-2025 13:50:35 UTC]    Format field in books: YES
[17-Nov-2025 13:50:35 UTC]    Description field in categories: YES
[17-Nov-2025 13:50:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:50:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:50:35 UTC]    Is_active field in books: YES
[17-Nov-2025 13:50:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:50:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:50:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:50:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:50:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:50:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:50:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:50:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:47 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:47 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:50:47 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:50:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:47 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:50:47 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:50:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:47 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:50:47 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:50:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:47 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:50:47 UTC] 📊 Database Info:
[17-Nov-2025 13:50:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:50:47 UTC]    Books columns count: 53
[17-Nov-2025 13:50:47 UTC]    Categories columns count: 7
[17-Nov-2025 13:50:47 UTC]    Language field in books: YES
[17-Nov-2025 13:50:47 UTC]    Format field in books: YES
[17-Nov-2025 13:50:47 UTC]    Description field in categories: YES
[17-Nov-2025 13:50:47 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:50:47 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:50:47 UTC]    Is_active field in books: YES
[17-Nov-2025 13:50:47 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:50:47 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:50:47 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:50:47 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:50:47 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:50:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:50:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:50:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:50:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:50:47 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:50:47 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:50:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:50:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:47 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:50:47 UTC] 📊 Database Info:
[17-Nov-2025 13:50:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:50:47 UTC]    Books columns count: 53
[17-Nov-2025 13:50:47 UTC]    Categories columns count: 7
[17-Nov-2025 13:50:47 UTC]    Language field in books: YES
[17-Nov-2025 13:50:47 UTC]    Format field in books: YES
[17-Nov-2025 13:50:47 UTC]    Description field in categories: YES
[17-Nov-2025 13:50:47 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:50:47 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:50:47 UTC]    Is_active field in books: YES
[17-Nov-2025 13:50:47 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:50:47 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:50:47 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:50:47 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:50:47 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:50:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:50:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:50:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:50:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:50:47 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:50:47 UTC] 📊 Database Info:
[17-Nov-2025 13:50:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:50:47 UTC]    Books columns count: 53
[17-Nov-2025 13:50:47 UTC]    Categories columns count: 7
[17-Nov-2025 13:50:47 UTC]    Language field in books: YES
[17-Nov-2025 13:50:47 UTC]    Format field in books: YES
[17-Nov-2025 13:50:47 UTC]    Description field in categories: YES
[17-Nov-2025 13:50:47 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:50:47 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:50:47 UTC]    Is_active field in books: YES
[17-Nov-2025 13:50:47 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:50:47 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:50:47 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:50:47 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:50:47 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:50:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:50:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:53:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:53:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:53:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:53:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:53:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:53:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:53:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:53:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:53:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:53:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:53:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:53:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:53:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:53:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:53:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:53:22 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:53:22 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:53:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:53:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:53:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:53:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:53:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:53:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:53:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:53:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:53:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:53:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:53:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:53:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:53:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:53:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:53:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:53:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:53:22 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:53:22 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:53:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:53:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:53:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:53:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:53:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:53:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:53:23 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:53:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:53:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:53:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:53:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:53:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:53:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:53:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:53:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:53:23 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:53:23 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:53:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:53:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:53:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:53:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:53:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:53:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:53:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:53:23 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:53:23 UTC] 📊 Database Info:
[17-Nov-2025 13:53:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:53:23 UTC]    Books columns count: 53
[17-Nov-2025 13:53:23 UTC]    Categories columns count: 7
[17-Nov-2025 13:53:23 UTC]    Language field in books: YES
[17-Nov-2025 13:53:23 UTC]    Format field in books: YES
[17-Nov-2025 13:53:23 UTC]    Description field in categories: YES
[17-Nov-2025 13:53:23 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:53:23 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:53:23 UTC]    Is_active field in books: YES
[17-Nov-2025 13:53:23 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:53:23 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:53:23 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:53:23 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:53:23 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:53:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:53:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:53:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:53:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:53:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:53:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:53:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:53:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:53:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:53:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:53:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:53:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:53:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:53:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:53:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:53:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:53:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:53:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:53:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:53:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:53:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:53:23 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:53:23 UTC] 📊 Database Info:
[17-Nov-2025 13:53:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:53:23 UTC]    Books columns count: 53
[17-Nov-2025 13:53:23 UTC]    Categories columns count: 7
[17-Nov-2025 13:53:23 UTC]    Language field in books: YES
[17-Nov-2025 13:53:23 UTC]    Format field in books: YES
[17-Nov-2025 13:53:23 UTC]    Description field in categories: YES
[17-Nov-2025 13:53:23 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:53:23 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:53:23 UTC]    Is_active field in books: YES
[17-Nov-2025 13:53:23 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:53:23 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:53:23 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:53:23 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:53:23 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:53:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:53:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:53:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:53:23 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:53:23 UTC] 📊 Database Info:
[17-Nov-2025 13:53:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:53:23 UTC]    Books columns count: 53
[17-Nov-2025 13:53:23 UTC]    Categories columns count: 7
[17-Nov-2025 13:53:23 UTC]    Language field in books: YES
[17-Nov-2025 13:53:23 UTC]    Format field in books: YES
[17-Nov-2025 13:53:23 UTC]    Description field in categories: YES
[17-Nov-2025 13:53:23 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:53:23 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:53:23 UTC]    Is_active field in books: YES
[17-Nov-2025 13:53:23 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:53:23 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:53:23 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:53:23 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:53:23 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:53:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:53:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:53:23 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:53:23 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:53:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:53:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:53:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:53:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:53:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:53:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:53:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:53:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:53:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:53:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:53:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:53:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:53:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:53:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:53:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:53:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:53:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:53:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:53:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:53:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:53:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:53:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:53:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:53:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:53:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:53:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:53:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:53:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:53:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:53:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:53:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:53:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:53:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:53:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:53:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:53:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:53:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:53:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:53:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:53:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:53:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:53:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:53:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:53:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:53:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:53:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:53:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:53:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:53:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:53:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:53:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:53:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:53:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:53:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:53:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:53:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:53:56 UTC] 📊 Database Info:
[17-Nov-2025 13:53:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:53:56 UTC]    Books columns count: 53
[17-Nov-2025 13:53:56 UTC]    Categories columns count: 7
[17-Nov-2025 13:53:56 UTC]    Language field in books: YES
[17-Nov-2025 13:53:56 UTC]    Format field in books: YES
[17-Nov-2025 13:53:56 UTC]    Description field in categories: YES
[17-Nov-2025 13:53:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:53:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:53:56 UTC]    Is_active field in books: YES
[17-Nov-2025 13:53:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:53:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:53:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:53:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:53:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:53:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:53:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:53:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:53:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:53:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:53:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:53:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:53:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:53:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:53:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:53:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:53:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:53:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:53:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:53:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:53:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:53:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:53:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:53:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:53:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:53:56 UTC] 📊 Database Info:
[17-Nov-2025 13:53:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:53:56 UTC]    Books columns count: 53
[17-Nov-2025 13:53:56 UTC]    Categories columns count: 7
[17-Nov-2025 13:53:56 UTC]    Language field in books: YES
[17-Nov-2025 13:53:56 UTC]    Format field in books: YES
[17-Nov-2025 13:53:56 UTC]    Description field in categories: YES
[17-Nov-2025 13:53:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:53:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:53:56 UTC]    Is_active field in books: YES
[17-Nov-2025 13:53:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:53:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:53:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:53:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:53:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:53:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:53:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:53:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:53:56 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:53:56 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:53:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:53:56 UTC] 📊 Database Info:
[17-Nov-2025 13:53:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:53:56 UTC]    Books columns count: 53
[17-Nov-2025 13:53:56 UTC]    Categories columns count: 7
[17-Nov-2025 13:53:56 UTC]    Language field in books: YES
[17-Nov-2025 13:53:56 UTC]    Format field in books: YES
[17-Nov-2025 13:53:56 UTC]    Description field in categories: YES
[17-Nov-2025 13:53:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:53:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:53:56 UTC]    Is_active field in books: YES
[17-Nov-2025 13:53:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:53:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:53:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:53:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:53:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:53:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:53:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:54:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:54:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:54:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:54:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:54:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:54:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:54:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:54:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:54:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:54:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:54:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:54:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:54:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:54:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:54:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:54:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:54:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:54:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:54:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:54:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:54:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:54:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:54:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:54:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:54:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:54:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:54:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:54:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:54:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:54:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:54:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:54:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:54:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:54:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:54:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:54:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:54:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:54:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:54:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:54:14 UTC] 📊 Database Info:
[17-Nov-2025 13:54:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:54:14 UTC]    Books columns count: 53
[17-Nov-2025 13:54:14 UTC]    Categories columns count: 7
[17-Nov-2025 13:54:14 UTC]    Language field in books: YES
[17-Nov-2025 13:54:14 UTC]    Format field in books: YES
[17-Nov-2025 13:54:14 UTC]    Description field in categories: YES
[17-Nov-2025 13:54:14 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:54:14 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:54:14 UTC]    Is_active field in books: YES
[17-Nov-2025 13:54:14 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:54:14 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:54:14 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:54:14 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:54:14 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:54:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:54:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:54:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:54:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:54:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:54:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:54:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:54:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:54:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:54:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:54:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:54:14 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:54:14 UTC] 📊 Database Info:
[17-Nov-2025 13:54:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:54:14 UTC]    Books columns count: 53
[17-Nov-2025 13:54:14 UTC]    Categories columns count: 7
[17-Nov-2025 13:54:14 UTC]    Language field in books: YES
[17-Nov-2025 13:54:14 UTC]    Format field in books: YES
[17-Nov-2025 13:54:14 UTC]    Description field in categories: YES
[17-Nov-2025 13:54:14 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:54:14 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:54:14 UTC]    Is_active field in books: YES
[17-Nov-2025 13:54:14 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:54:14 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:54:14 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:54:14 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:54:14 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:54:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:54:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:54:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:54:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:54:14 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:54:14 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 13:54:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:54:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:54:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:54:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:54:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:54:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:54:14 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:54:14 UTC] 📊 Database Info:
[17-Nov-2025 13:54:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:54:14 UTC]    Books columns count: 53
[17-Nov-2025 13:54:14 UTC]    Categories columns count: 7
[17-Nov-2025 13:54:14 UTC]    Language field in books: YES
[17-Nov-2025 13:54:14 UTC]    Format field in books: YES
[17-Nov-2025 13:54:14 UTC]    Description field in categories: YES
[17-Nov-2025 13:54:14 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:54:14 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:54:14 UTC]    Is_active field in books: YES
[17-Nov-2025 13:54:14 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:54:14 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:54:14 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:54:14 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:54:14 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:54:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:54:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:55:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:55:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:55:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:55:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:55:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:55:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:55:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:55:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:55:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:55:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:55:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:55:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:55:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:55:13 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:55:13 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:55:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:55:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:55:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:55:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:55:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:55:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:55:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:55:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:55:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:55:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:55:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:55:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:55:13 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:55:13 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:55:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:55:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:55:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:55:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:55:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:55:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:55:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:55:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:55:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 13:55:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:55:13 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 13:55:13 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 13:55:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:55:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:55:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:55:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:55:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:55:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:55:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:55:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:55:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:55:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:55:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:55:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:55:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:55:14 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:55:14 UTC] 📊 Database Info:
[17-Nov-2025 13:55:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:55:14 UTC]    Books columns count: 53
[17-Nov-2025 13:55:14 UTC]    Categories columns count: 7
[17-Nov-2025 13:55:14 UTC]    Language field in books: YES
[17-Nov-2025 13:55:14 UTC]    Format field in books: YES
[17-Nov-2025 13:55:14 UTC]    Description field in categories: YES
[17-Nov-2025 13:55:14 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:55:14 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:55:14 UTC]    Is_active field in books: YES
[17-Nov-2025 13:55:14 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:55:14 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:55:14 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:55:14 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:55:14 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:55:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:55:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:55:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:55:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:55:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:55:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:55:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:55:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:55:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:55:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:55:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:55:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:55:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:55:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 13:55:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:55:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:55:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:55:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:55:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:55:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:55:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:55:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:55:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 13:55:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:55:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:55:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 13:55:14 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:55:14 UTC] 📊 Database Info:
[17-Nov-2025 13:55:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:55:14 UTC]    Books columns count: 53
[17-Nov-2025 13:55:14 UTC]    Categories columns count: 7
[17-Nov-2025 13:55:14 UTC]    Language field in books: YES
[17-Nov-2025 13:55:14 UTC]    Format field in books: YES
[17-Nov-2025 13:55:14 UTC]    Description field in categories: YES
[17-Nov-2025 13:55:14 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:55:14 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:55:14 UTC]    Is_active field in books: YES
[17-Nov-2025 13:55:14 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:55:14 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:55:14 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:55:14 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:55:14 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:55:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:55:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 13:55:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 13:55:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 13:55:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 13:55:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 13:55:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 13:55:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 13:55:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 13:55:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 13:55:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 13:55:14 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 13:55:14 UTC] 📊 Database Info:
[17-Nov-2025 13:55:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 13:55:14 UTC]    Books columns count: 53
[17-Nov-2025 13:55:14 UTC]    Categories columns count: 7
[17-Nov-2025 13:55:14 UTC]    Language field in books: YES
[17-Nov-2025 13:55:14 UTC]    Format field in books: YES
[17-Nov-2025 13:55:14 UTC]    Description field in categories: YES
[17-Nov-2025 13:55:14 UTC]    Display_order field in categories: YES
[17-Nov-2025 13:55:14 UTC]    Is_active field in categories: YES
[17-Nov-2025 13:55:14 UTC]    Is_active field in books: YES
[17-Nov-2025 13:55:14 UTC]    External_download_link field in books: YES
[17-Nov-2025 13:55:14 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 13:55:14 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 13:55:14 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 13:55:14 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 13:55:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 13:55:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 13:55:14 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 13:55:14 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:01:21 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:21 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:21 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:21 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:21 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:21 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:21 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:21 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:21 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:21 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:21 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:21 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:21 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:01:21 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:21 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:01:21 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:21 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:21 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:21 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:01:21 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:01:21 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:21 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:21 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:21 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:21 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:21 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:01:21 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:01:21 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:21 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:21 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:21 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:21 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:21 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:21 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:01:21 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:01:21 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:21 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:21 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:21 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:21 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:21 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:21 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:01:21 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:01:21 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:22 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:01:22 UTC] 📊 Database Info:
[17-Nov-2025 14:01:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:01:22 UTC]    Books columns count: 53
[17-Nov-2025 14:01:22 UTC]    Categories columns count: 7
[17-Nov-2025 14:01:22 UTC]    Language field in books: YES
[17-Nov-2025 14:01:22 UTC]    Format field in books: YES
[17-Nov-2025 14:01:22 UTC]    Description field in categories: YES
[17-Nov-2025 14:01:22 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:01:22 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:01:22 UTC]    Is_active field in books: YES
[17-Nov-2025 14:01:22 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:01:22 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:01:22 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:01:22 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:01:22 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:01:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:01:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:01:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:01:22 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:01:22 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:22 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:01:22 UTC] 📊 Database Info:
[17-Nov-2025 14:01:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:01:22 UTC]    Books columns count: 53
[17-Nov-2025 14:01:22 UTC]    Categories columns count: 7
[17-Nov-2025 14:01:22 UTC]    Language field in books: YES
[17-Nov-2025 14:01:22 UTC]    Format field in books: YES
[17-Nov-2025 14:01:22 UTC]    Description field in categories: YES
[17-Nov-2025 14:01:22 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:01:22 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:01:22 UTC]    Is_active field in books: YES
[17-Nov-2025 14:01:22 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:01:22 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:01:22 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:01:22 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:22 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:01:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:22 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:01:22 UTC] 📊 Database Info:
[17-Nov-2025 14:01:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:01:22 UTC]    Books columns count: 53
[17-Nov-2025 14:01:22 UTC]    Categories columns count: 7
[17-Nov-2025 14:01:22 UTC]    Language field in books: YES
[17-Nov-2025 14:01:22 UTC]    Format field in books: YES
[17-Nov-2025 14:01:22 UTC]    Description field in categories: YES
[17-Nov-2025 14:01:22 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:01:22 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:01:22 UTC]    Is_active field in books: YES
[17-Nov-2025 14:01:22 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:01:22 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:01:22 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:01:22 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:22 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:01:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:22 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:01:22 UTC] 📊 Database Info:
[17-Nov-2025 14:01:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:01:22 UTC]    Books columns count: 53
[17-Nov-2025 14:01:22 UTC]    Categories columns count: 7
[17-Nov-2025 14:01:22 UTC]    Language field in books: YES
[17-Nov-2025 14:01:22 UTC]    Format field in books: YES
[17-Nov-2025 14:01:22 UTC]    Description field in categories: YES
[17-Nov-2025 14:01:22 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:01:22 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:01:22 UTC]    Is_active field in books: YES
[17-Nov-2025 14:01:22 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:01:22 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:01:22 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:01:22 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:01:22 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:01:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:01:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:01:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:01:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:01:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:01:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:22 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:01:22 UTC] 📊 Database Info:
[17-Nov-2025 14:01:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:01:22 UTC]    Books columns count: 53
[17-Nov-2025 14:01:22 UTC]    Categories columns count: 7
[17-Nov-2025 14:01:22 UTC]    Language field in books: YES
[17-Nov-2025 14:01:22 UTC]    Format field in books: YES
[17-Nov-2025 14:01:22 UTC]    Description field in categories: YES
[17-Nov-2025 14:01:22 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:01:22 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:01:22 UTC]    Is_active field in books: YES
[17-Nov-2025 14:01:22 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:01:22 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:01:22 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:01:22 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:01:22 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:01:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:01:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:01:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:22 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:01:22 UTC] 📊 Database Info:
[17-Nov-2025 14:01:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:01:22 UTC]    Books columns count: 53
[17-Nov-2025 14:01:22 UTC]    Categories columns count: 7
[17-Nov-2025 14:01:22 UTC]    Language field in books: YES
[17-Nov-2025 14:01:22 UTC]    Format field in books: YES
[17-Nov-2025 14:01:22 UTC]    Description field in categories: YES
[17-Nov-2025 14:01:22 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:01:22 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:01:22 UTC]    Is_active field in books: YES
[17-Nov-2025 14:01:22 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:01:22 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:01:22 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:01:22 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:01:22 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:01:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:01:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:01:22 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:01:22 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:01:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:28 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:01:28 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:01:28 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:01:28 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:01:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:28 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:01:28 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:01:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:28 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:01:28 UTC] 📊 Database Info:
[17-Nov-2025 14:01:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:01:28 UTC]    Books columns count: 53
[17-Nov-2025 14:01:28 UTC]    Categories columns count: 7
[17-Nov-2025 14:01:28 UTC]    Language field in books: YES
[17-Nov-2025 14:01:28 UTC]    Format field in books: YES
[17-Nov-2025 14:01:28 UTC]    Description field in categories: YES
[17-Nov-2025 14:01:28 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:01:28 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:01:28 UTC]    Is_active field in books: YES
[17-Nov-2025 14:01:28 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:01:28 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:01:28 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:01:28 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:01:28 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:01:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:01:28 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:01:28 UTC] 📊 Database Info:
[17-Nov-2025 14:01:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:01:28 UTC]    Books columns count: 53
[17-Nov-2025 14:01:28 UTC]    Categories columns count: 7
[17-Nov-2025 14:01:28 UTC]    Language field in books: YES
[17-Nov-2025 14:01:28 UTC]    Format field in books: YES
[17-Nov-2025 14:01:28 UTC]    Description field in categories: YES
[17-Nov-2025 14:01:28 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:01:28 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:01:28 UTC]    Is_active field in books: YES
[17-Nov-2025 14:01:28 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:01:28 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:01:28 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:01:28 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:01:28 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:01:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:01:28 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:01:28 UTC] 📊 Database Info:
[17-Nov-2025 14:01:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:01:28 UTC]    Books columns count: 53
[17-Nov-2025 14:01:28 UTC]    Categories columns count: 7
[17-Nov-2025 14:01:28 UTC]    Language field in books: YES
[17-Nov-2025 14:01:28 UTC]    Format field in books: YES
[17-Nov-2025 14:01:28 UTC]    Description field in categories: YES
[17-Nov-2025 14:01:28 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:01:28 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:01:28 UTC]    Is_active field in books: YES
[17-Nov-2025 14:01:28 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:01:28 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:01:28 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:01:28 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:01:28 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:01:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:01:28 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:01:28 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:01:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:01:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:01:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:01:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:01:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:01:32 UTC] 📊 Database Info:
[17-Nov-2025 14:01:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:01:32 UTC]    Books columns count: 53
[17-Nov-2025 14:01:32 UTC]    Categories columns count: 7
[17-Nov-2025 14:01:32 UTC]    Language field in books: YES
[17-Nov-2025 14:01:32 UTC]    Format field in books: YES
[17-Nov-2025 14:01:32 UTC]    Description field in categories: YES
[17-Nov-2025 14:01:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:01:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:01:32 UTC]    Is_active field in books: YES
[17-Nov-2025 14:01:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:01:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:01:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:01:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:01:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:01:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:01:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:01:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:01:32 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:01:32 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:01:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:01:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:01:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:01:32 UTC] 📊 Database Info:
[17-Nov-2025 14:01:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:01:32 UTC]    Books columns count: 53
[17-Nov-2025 14:01:32 UTC]    Categories columns count: 7
[17-Nov-2025 14:01:32 UTC]    Language field in books: YES
[17-Nov-2025 14:01:32 UTC]    Format field in books: YES
[17-Nov-2025 14:01:32 UTC]    Description field in categories: YES
[17-Nov-2025 14:01:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:01:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:01:32 UTC]    Is_active field in books: YES
[17-Nov-2025 14:01:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:01:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:01:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:01:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:01:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:01:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:01:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:01:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:01:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:01:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:01:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:01:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:01:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:01:32 UTC] 📊 Database Info:
[17-Nov-2025 14:01:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:01:32 UTC]    Books columns count: 53
[17-Nov-2025 14:01:32 UTC]    Categories columns count: 7
[17-Nov-2025 14:01:32 UTC]    Language field in books: YES
[17-Nov-2025 14:01:32 UTC]    Format field in books: YES
[17-Nov-2025 14:01:32 UTC]    Description field in categories: YES
[17-Nov-2025 14:01:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:01:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:01:32 UTC]    Is_active field in books: YES
[17-Nov-2025 14:01:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:01:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:01:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:01:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:01:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:01:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:01:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:01:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:01:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:01:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:01:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:01:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:01:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:01:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:38 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:38 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:38 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:38 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:38 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:38 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:38 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:38 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:01:38 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:38 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:38 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:38 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:38 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:38 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:38 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:38 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:01:38 UTC] 📊 Database Info:
[17-Nov-2025 14:01:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:01:38 UTC]    Books columns count: 53
[17-Nov-2025 14:01:38 UTC]    Categories columns count: 7
[17-Nov-2025 14:01:38 UTC]    Language field in books: YES
[17-Nov-2025 14:01:38 UTC]    Format field in books: YES
[17-Nov-2025 14:01:38 UTC]    Description field in categories: YES
[17-Nov-2025 14:01:38 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:01:38 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:01:38 UTC]    Is_active field in books: YES
[17-Nov-2025 14:01:38 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:01:38 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:01:38 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:01:38 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:01:38 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:01:38 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:01:38 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:01:38 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:01:38 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:38 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:38 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:38 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:01:38 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:01:38 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:38 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:38 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:01:38 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:38 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:38 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:01:38 UTC] 📊 Database Info:
[17-Nov-2025 14:01:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:01:38 UTC]    Books columns count: 53
[17-Nov-2025 14:01:38 UTC]    Categories columns count: 7
[17-Nov-2025 14:01:38 UTC]    Language field in books: YES
[17-Nov-2025 14:01:38 UTC]    Format field in books: YES
[17-Nov-2025 14:01:38 UTC]    Description field in categories: YES
[17-Nov-2025 14:01:38 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:01:38 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:01:38 UTC]    Is_active field in books: YES
[17-Nov-2025 14:01:38 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:01:38 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:01:38 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:01:38 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:01:38 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:01:38 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:01:38 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:01:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:01:38 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:01:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:01:38 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:01:38 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:01:38 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:01:38 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:01:38 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:01:38 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:01:38 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:01:38 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:01:38 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:01:38 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:01:38 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:01:38 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:01:38 UTC] 📊 Database Info:
[17-Nov-2025 14:01:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:01:38 UTC]    Books columns count: 53
[17-Nov-2025 14:01:38 UTC]    Categories columns count: 7
[17-Nov-2025 14:01:38 UTC]    Language field in books: YES
[17-Nov-2025 14:01:38 UTC]    Format field in books: YES
[17-Nov-2025 14:01:38 UTC]    Description field in categories: YES
[17-Nov-2025 14:01:38 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:01:38 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:01:38 UTC]    Is_active field in books: YES
[17-Nov-2025 14:01:38 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:01:38 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:01:38 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:01:38 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:01:38 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:01:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:01:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:01:38 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:01:38 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:02:19 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:02:19 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:02:19 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:02:19 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:02:19 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:02:19 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:02:19 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:02:19 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:02:19 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:02:19 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:02:19 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:02:19 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:02:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:02:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:02:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:02:19 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:02:19 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:02:19 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:02:19 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:02:19 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:02:19 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:02:19 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:02:19 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:02:19 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:02:19 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:02:19 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:02:19 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:02:19 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:02:19 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:02:19 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:02:19 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:02:19 UTC] 📊 Database Info:
[17-Nov-2025 14:02:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:02:19 UTC]    Books columns count: 53
[17-Nov-2025 14:02:19 UTC]    Categories columns count: 7
[17-Nov-2025 14:02:19 UTC]    Language field in books: YES
[17-Nov-2025 14:02:19 UTC]    Format field in books: YES
[17-Nov-2025 14:02:19 UTC]    Description field in categories: YES
[17-Nov-2025 14:02:19 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:02:19 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:02:19 UTC]    Is_active field in books: YES
[17-Nov-2025 14:02:19 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:02:19 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:02:19 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:02:19 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:02:19 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:02:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:02:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:02:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:02:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:02:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:02:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:02:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:02:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:02:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:02:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:02:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:02:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:02:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:02:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:02:36 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:02:36 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:02:36 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:02:36 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:02:36 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:02:36 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:02:36 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:02:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:02:36 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:02:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:02:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:02:36 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:02:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:02:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:02:36 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:02:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:02:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:02:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:02:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:02:36 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:02:36 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:02:36 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:02:36 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:02:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:02:36 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:02:36 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:02:36 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:02:36 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:02:36 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:02:36 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:02:36 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:02:36 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:02:36 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:02:36 UTC] 📊 Database Info:
[17-Nov-2025 14:02:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:02:36 UTC]    Books columns count: 53
[17-Nov-2025 14:02:36 UTC]    Categories columns count: 7
[17-Nov-2025 14:02:36 UTC]    Language field in books: YES
[17-Nov-2025 14:02:36 UTC]    Format field in books: YES
[17-Nov-2025 14:02:36 UTC]    Description field in categories: YES
[17-Nov-2025 14:02:36 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:02:36 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:02:36 UTC]    Is_active field in books: YES
[17-Nov-2025 14:02:36 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:02:36 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:02:36 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:02:36 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:02:36 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:02:36 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:02:36 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:02:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:02:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:02:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:02:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:02:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:02:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:02:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:02:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:02:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:02:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:02:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:02:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:02:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:02:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:02:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:02:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:02:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:02:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:02:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:02:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:02:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:02:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:02:37 UTC] 📊 Database Info:
[17-Nov-2025 14:02:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:02:37 UTC]    Books columns count: 53
[17-Nov-2025 14:02:37 UTC]    Categories columns count: 7
[17-Nov-2025 14:02:37 UTC]    Language field in books: YES
[17-Nov-2025 14:02:37 UTC]    Format field in books: YES
[17-Nov-2025 14:02:37 UTC]    Description field in categories: YES
[17-Nov-2025 14:02:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:02:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:02:37 UTC]    Is_active field in books: YES
[17-Nov-2025 14:02:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:02:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:02:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:02:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:02:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:02:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:02:37 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:02:37 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:02:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:02:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:02:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:02:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:02:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:02:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:02:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:02:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:02:37 UTC] 📊 Database Info:
[17-Nov-2025 14:02:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:02:37 UTC]    Books columns count: 53
[17-Nov-2025 14:02:37 UTC]    Categories columns count: 7
[17-Nov-2025 14:02:37 UTC]    Language field in books: YES
[17-Nov-2025 14:02:37 UTC]    Format field in books: YES
[17-Nov-2025 14:02:37 UTC]    Description field in categories: YES
[17-Nov-2025 14:02:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:02:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:02:37 UTC]    Is_active field in books: YES
[17-Nov-2025 14:02:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:02:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:02:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:02:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:02:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:02:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:02:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:02:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:02:38 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:02:38 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:02:38 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:02:38 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:02:38 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:02:38 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:02:38 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:02:38 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:02:38 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:02:38 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:02:38 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:02:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:02:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:02:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:02:38 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:02:38 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:02:38 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:02:38 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:02:38 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:02:38 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:02:38 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:02:38 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:02:38 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:02:38 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:02:38 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:02:38 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:02:38 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:02:38 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:02:38 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:02:38 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:02:38 UTC] 📊 Database Info:
[17-Nov-2025 14:02:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:02:38 UTC]    Books columns count: 53
[17-Nov-2025 14:02:38 UTC]    Categories columns count: 7
[17-Nov-2025 14:02:38 UTC]    Language field in books: YES
[17-Nov-2025 14:02:38 UTC]    Format field in books: YES
[17-Nov-2025 14:02:38 UTC]    Description field in categories: YES
[17-Nov-2025 14:02:38 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:02:38 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:02:38 UTC]    Is_active field in books: YES
[17-Nov-2025 14:02:38 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:02:38 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:02:38 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:02:38 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:02:38 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:02:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:02:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:02:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:02:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:02:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:02:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:02:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:02:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:02:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:02:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:02:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:02:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:02:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:07:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:07:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:07:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:07:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:07:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:07:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:07:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:07:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:07:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:07:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:07:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:07:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:07:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:07:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:07:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:07:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:07:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:07:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:07:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:07:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:07:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:07:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:07:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:07:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:07:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:07:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:07:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:07:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:07:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:07:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:07:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:07:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:07:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:07:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:07:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:07:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:07:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:07:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:07:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:07:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:07:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:07:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:07:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:07:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:07:14 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:07:14 UTC] 📊 Database Info:
[17-Nov-2025 14:07:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:07:14 UTC]    Books columns count: 53
[17-Nov-2025 14:07:14 UTC]    Categories columns count: 7
[17-Nov-2025 14:07:14 UTC]    Language field in books: YES
[17-Nov-2025 14:07:14 UTC]    Format field in books: YES
[17-Nov-2025 14:07:14 UTC]    Description field in categories: YES
[17-Nov-2025 14:07:14 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:07:14 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:07:14 UTC]    Is_active field in books: YES
[17-Nov-2025 14:07:14 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:07:14 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:07:14 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:07:14 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:07:14 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:07:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:07:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:07:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:07:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:07:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:07:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:07:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:07:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:07:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:07:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:07:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:07:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:07:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:07:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:07:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:07:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:07:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:07:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:07:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:07:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:07:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:07:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:07:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:07:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:07:15 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:07:15 UTC] 📊 Database Info:
[17-Nov-2025 14:07:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:07:15 UTC]    Books columns count: 53
[17-Nov-2025 14:07:15 UTC]    Categories columns count: 7
[17-Nov-2025 14:07:15 UTC]    Language field in books: YES
[17-Nov-2025 14:07:15 UTC]    Format field in books: YES
[17-Nov-2025 14:07:15 UTC]    Description field in categories: YES
[17-Nov-2025 14:07:15 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:07:15 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:07:15 UTC]    Is_active field in books: YES
[17-Nov-2025 14:07:15 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:07:15 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:07:15 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:07:15 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:07:15 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:07:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:07:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:07:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:07:15 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:07:15 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:07:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:07:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:07:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:07:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:07:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:07:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:07:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:07:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:07:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:07:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:07:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:07:15 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:07:15 UTC] 📊 Database Info:
[17-Nov-2025 14:07:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:07:15 UTC]    Books columns count: 53
[17-Nov-2025 14:07:15 UTC]    Categories columns count: 7
[17-Nov-2025 14:07:15 UTC]    Language field in books: YES
[17-Nov-2025 14:07:15 UTC]    Format field in books: YES
[17-Nov-2025 14:07:15 UTC]    Description field in categories: YES
[17-Nov-2025 14:07:15 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:07:15 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:07:15 UTC]    Is_active field in books: YES
[17-Nov-2025 14:07:15 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:07:15 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:07:15 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:07:15 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:07:15 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:07:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:07:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:12 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:12 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:12 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:12 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:12 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:12 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:12 UTC] 📊 Database Info:
[17-Nov-2025 14:09:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:12 UTC]    Books columns count: 53
[17-Nov-2025 14:09:12 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:12 UTC]    Language field in books: YES
[17-Nov-2025 14:09:12 UTC]    Format field in books: YES
[17-Nov-2025 14:09:12 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:12 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:12 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:12 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:12 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:12 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:12 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:12 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:12 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:12 UTC] 📊 Database Info:
[17-Nov-2025 14:09:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:12 UTC]    Books columns count: 53
[17-Nov-2025 14:09:12 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:12 UTC]    Language field in books: YES
[17-Nov-2025 14:09:12 UTC]    Format field in books: YES
[17-Nov-2025 14:09:12 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:12 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:12 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:12 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:12 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:12 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:12 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:12 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:12 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:12 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:12 UTC] 📊 Database Info:
[17-Nov-2025 14:09:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:12 UTC]    Books columns count: 53
[17-Nov-2025 14:09:12 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:12 UTC]    Language field in books: YES
[17-Nov-2025 14:09:12 UTC]    Format field in books: YES
[17-Nov-2025 14:09:12 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:12 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:12 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:12 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:12 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:12 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:12 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:12 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:12 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:09:12 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:09:12 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:15 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:15 UTC] 📊 Database Info:
[17-Nov-2025 14:09:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:15 UTC]    Books columns count: 53
[17-Nov-2025 14:09:15 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:15 UTC]    Language field in books: YES
[17-Nov-2025 14:09:15 UTC]    Format field in books: YES
[17-Nov-2025 14:09:15 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:15 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:15 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:15 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:15 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:15 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:15 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:15 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:15 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:15 UTC] 📊 Database Info:
[17-Nov-2025 14:09:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:15 UTC]    Books columns count: 53
[17-Nov-2025 14:09:15 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:15 UTC]    Language field in books: YES
[17-Nov-2025 14:09:15 UTC]    Format field in books: YES
[17-Nov-2025 14:09:15 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:15 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:15 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:15 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:15 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:15 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:15 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:15 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:15 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:15 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:15 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:15 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:15 UTC] 📊 Database Info:
[17-Nov-2025 14:09:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:15 UTC]    Books columns count: 53
[17-Nov-2025 14:09:15 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:15 UTC]    Language field in books: YES
[17-Nov-2025 14:09:15 UTC]    Format field in books: YES
[17-Nov-2025 14:09:15 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:15 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:15 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:15 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:15 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:15 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:15 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:15 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:15 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:15 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:15 UTC] 📊 Database Info:
[17-Nov-2025 14:09:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:15 UTC]    Books columns count: 53
[17-Nov-2025 14:09:15 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:15 UTC]    Language field in books: YES
[17-Nov-2025 14:09:15 UTC]    Format field in books: YES
[17-Nov-2025 14:09:15 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:15 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:15 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:15 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:15 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:15 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:15 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:15 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:15 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:16 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:09:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:09:16 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:16 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:09:16 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:16 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:16 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:16 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:16 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:16 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:16 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:16 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:16 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:16 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:16 UTC] 📊 Database Info:
[17-Nov-2025 14:09:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:16 UTC]    Books columns count: 53
[17-Nov-2025 14:09:16 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:16 UTC]    Language field in books: YES
[17-Nov-2025 14:09:16 UTC]    Format field in books: YES
[17-Nov-2025 14:09:16 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:16 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:16 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:16 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:16 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:16 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:16 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:16 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:16 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:16 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:16 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:16 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:16 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:16 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:16 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:09:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:09:16 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:09:16 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:16 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:16 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:16 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:16 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:16 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:16 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:16 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:16 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:16 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:16 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:16 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:16 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:16 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:16 UTC] 📊 Database Info:
[17-Nov-2025 14:09:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:16 UTC]    Books columns count: 53
[17-Nov-2025 14:09:16 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:16 UTC]    Language field in books: YES
[17-Nov-2025 14:09:16 UTC]    Format field in books: YES
[17-Nov-2025 14:09:16 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:16 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:16 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:16 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:16 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:16 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:16 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:16 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:16 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:16 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:16 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:16 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:16 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:16 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:16 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:16 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:16 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:16 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:16 UTC] 📊 Database Info:
[17-Nov-2025 14:09:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:16 UTC]    Books columns count: 53
[17-Nov-2025 14:09:16 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:16 UTC]    Language field in books: YES
[17-Nov-2025 14:09:16 UTC]    Format field in books: YES
[17-Nov-2025 14:09:16 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:16 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:16 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:16 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:16 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:16 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:16 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:16 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:16 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:09:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:09:16 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:09:16 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:17 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:17 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:17 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:17 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:17 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:17 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:17 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:17 UTC] 📊 Database Info:
[17-Nov-2025 14:09:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:17 UTC]    Books columns count: 53
[17-Nov-2025 14:09:17 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:17 UTC]    Language field in books: YES
[17-Nov-2025 14:09:17 UTC]    Format field in books: YES
[17-Nov-2025 14:09:17 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:17 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:17 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:17 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:17 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:17 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:17 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:17 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:17 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:09:17 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:17 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:17 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:17 UTC] 📊 Database Info:
[17-Nov-2025 14:09:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:17 UTC]    Books columns count: 53
[17-Nov-2025 14:09:17 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:17 UTC]    Language field in books: YES
[17-Nov-2025 14:09:17 UTC]    Format field in books: YES
[17-Nov-2025 14:09:17 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:17 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:17 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:17 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:17 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:17 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:17 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:17 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:17 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:09:17 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:09:17 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:09:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:17 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:17 UTC] 📊 Database Info:
[17-Nov-2025 14:09:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:17 UTC]    Books columns count: 53
[17-Nov-2025 14:09:17 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:17 UTC]    Language field in books: YES
[17-Nov-2025 14:09:17 UTC]    Format field in books: YES
[17-Nov-2025 14:09:17 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:17 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:17 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:17 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:17 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:17 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:17 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:17 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:17 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:09:17 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:09:17 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:09:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:43 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:43 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:43 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:43 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:43 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:43 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:43 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:43 UTC] 📊 Database Info:
[17-Nov-2025 14:09:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:43 UTC]    Books columns count: 53
[17-Nov-2025 14:09:43 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:43 UTC]    Language field in books: YES
[17-Nov-2025 14:09:43 UTC]    Format field in books: YES
[17-Nov-2025 14:09:43 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:43 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:43 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:43 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:43 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:43 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:43 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:43 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:43 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:43 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:43 UTC] 📊 Database Info:
[17-Nov-2025 14:09:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:43 UTC]    Books columns count: 53
[17-Nov-2025 14:09:43 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:43 UTC]    Language field in books: YES
[17-Nov-2025 14:09:43 UTC]    Format field in books: YES
[17-Nov-2025 14:09:43 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:43 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:43 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:43 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:43 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:43 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:43 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:43 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:43 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:43 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:43 UTC] 📊 Database Info:
[17-Nov-2025 14:09:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:43 UTC]    Books columns count: 53
[17-Nov-2025 14:09:43 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:43 UTC]    Language field in books: YES
[17-Nov-2025 14:09:43 UTC]    Format field in books: YES
[17-Nov-2025 14:09:43 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:43 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:43 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:43 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:43 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:43 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:43 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:43 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:43 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:43 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:43 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:44 UTC] 📊 Database Info:
[17-Nov-2025 14:09:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:44 UTC]    Books columns count: 53
[17-Nov-2025 14:09:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:44 UTC]    Language field in books: YES
[17-Nov-2025 14:09:44 UTC]    Format field in books: YES
[17-Nov-2025 14:09:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:44 UTC] 📊 Database Info:
[17-Nov-2025 14:09:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:44 UTC]    Books columns count: 53
[17-Nov-2025 14:09:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:44 UTC]    Language field in books: YES
[17-Nov-2025 14:09:44 UTC]    Format field in books: YES
[17-Nov-2025 14:09:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:44 UTC] 📊 Database Info:
[17-Nov-2025 14:09:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:44 UTC]    Books columns count: 53
[17-Nov-2025 14:09:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:44 UTC]    Language field in books: YES
[17-Nov-2025 14:09:44 UTC]    Format field in books: YES
[17-Nov-2025 14:09:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:09:45 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:09:45 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:09:45 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:45 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:45 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:45 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:45 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:45 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:45 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:45 UTC] 📊 Database Info:
[17-Nov-2025 14:09:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:45 UTC]    Books columns count: 53
[17-Nov-2025 14:09:45 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:45 UTC]    Language field in books: YES
[17-Nov-2025 14:09:45 UTC]    Format field in books: YES
[17-Nov-2025 14:09:45 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:45 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:45 UTC] 📊 Database Info:
[17-Nov-2025 14:09:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:45 UTC]    Books columns count: 53
[17-Nov-2025 14:09:45 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:45 UTC]    Language field in books: YES
[17-Nov-2025 14:09:45 UTC]    Format field in books: YES
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:45 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:45 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:45 UTC] 📊 Database Info:
[17-Nov-2025 14:09:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:45 UTC]    Books columns count: 53
[17-Nov-2025 14:09:45 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:45 UTC]    Language field in books: YES
[17-Nov-2025 14:09:45 UTC]    Format field in books: YES
[17-Nov-2025 14:09:45 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:45 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:09:45 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:09:45 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:09:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:46 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:46 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:46 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:46 UTC] 📊 Database Info:
[17-Nov-2025 14:09:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:46 UTC]    Books columns count: 53
[17-Nov-2025 14:09:46 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:46 UTC]    Language field in books: YES
[17-Nov-2025 14:09:46 UTC]    Format field in books: YES
[17-Nov-2025 14:09:46 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:46 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:46 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:46 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:46 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:46 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:46 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:46 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:46 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:09:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:09:46 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:09:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:46 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:46 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:46 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:46 UTC] 📊 Database Info:
[17-Nov-2025 14:09:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:46 UTC]    Books columns count: 53
[17-Nov-2025 14:09:46 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:46 UTC]    Language field in books: YES
[17-Nov-2025 14:09:46 UTC]    Format field in books: YES
[17-Nov-2025 14:09:46 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:46 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:46 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:46 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:46 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:46 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:46 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:46 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:46 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:09:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:09:46 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:09:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:46 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:46 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:47 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:47 UTC] 📊 Database Info:
[17-Nov-2025 14:09:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:47 UTC]    Books columns count: 53
[17-Nov-2025 14:09:47 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:47 UTC]    Language field in books: YES
[17-Nov-2025 14:09:47 UTC]    Format field in books: YES
[17-Nov-2025 14:09:47 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:47 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:47 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:47 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:47 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:47 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:47 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:47 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:47 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:09:47 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:09:47 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:09:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:47 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:47 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:47 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:47 UTC] 📊 Database Info:
[17-Nov-2025 14:09:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:47 UTC]    Books columns count: 53
[17-Nov-2025 14:09:47 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:47 UTC]    Language field in books: YES
[17-Nov-2025 14:09:47 UTC]    Format field in books: YES
[17-Nov-2025 14:09:47 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:47 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:47 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:47 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:47 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:47 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:47 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:47 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:47 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:09:47 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:09:47 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:09:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:58 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:58 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:58 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:58 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:58 UTC] 📊 Database Info:
[17-Nov-2025 14:09:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:58 UTC]    Books columns count: 53
[17-Nov-2025 14:09:58 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:58 UTC]    Language field in books: YES
[17-Nov-2025 14:09:58 UTC]    Format field in books: YES
[17-Nov-2025 14:09:58 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:58 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:09:58 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:09:58 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:09:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:58 UTC] 📊 Database Info:
[17-Nov-2025 14:09:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:58 UTC]    Books columns count: 53
[17-Nov-2025 14:09:58 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:58 UTC]    Language field in books: YES
[17-Nov-2025 14:09:58 UTC]    Format field in books: YES
[17-Nov-2025 14:09:58 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:58 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:59 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:59 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:59 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:59 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:59 UTC] 📊 Database Info:
[17-Nov-2025 14:09:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:59 UTC]    Books columns count: 53
[17-Nov-2025 14:09:59 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:59 UTC]    Language field in books: YES
[17-Nov-2025 14:09:59 UTC]    Format field in books: YES
[17-Nov-2025 14:09:59 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:59 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:59 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:59 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:59 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:59 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:59 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:59 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:59 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:09:59 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:09:59 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:09:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:59 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:59 UTC] 📊 Database Info:
[17-Nov-2025 14:09:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:59 UTC]    Books columns count: 53
[17-Nov-2025 14:09:59 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:59 UTC]    Language field in books: YES
[17-Nov-2025 14:09:59 UTC]    Format field in books: YES
[17-Nov-2025 14:09:59 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:59 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:59 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:59 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:59 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:59 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:59 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:59 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:59 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:09:59 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:09:59 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:09:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:09:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:09:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:09:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:09:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:09:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:09:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:09:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:09:59 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:09:59 UTC] 📊 Database Info:
[17-Nov-2025 14:09:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:09:59 UTC]    Books columns count: 53
[17-Nov-2025 14:09:59 UTC]    Categories columns count: 7
[17-Nov-2025 14:09:59 UTC]    Language field in books: YES
[17-Nov-2025 14:09:59 UTC]    Format field in books: YES
[17-Nov-2025 14:09:59 UTC]    Description field in categories: YES
[17-Nov-2025 14:09:59 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:09:59 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:09:59 UTC]    Is_active field in books: YES
[17-Nov-2025 14:09:59 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:09:59 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:09:59 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:09:59 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:09:59 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:09:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:09:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:09:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:09:59 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:09:59 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:10:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:00 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:10:00 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:10:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:00 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:10:00 UTC] 📊 Database Info:
[17-Nov-2025 14:10:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:10:00 UTC]    Books columns count: 53
[17-Nov-2025 14:10:00 UTC]    Categories columns count: 7
[17-Nov-2025 14:10:00 UTC]    Language field in books: YES
[17-Nov-2025 14:10:00 UTC]    Format field in books: YES
[17-Nov-2025 14:10:00 UTC]    Description field in categories: YES
[17-Nov-2025 14:10:00 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:10:00 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:10:00 UTC]    Is_active field in books: YES
[17-Nov-2025 14:10:00 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:10:00 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:10:00 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:10:00 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:10:00 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:10:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:10:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:10:00 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:10:00 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:10:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:00 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:10:00 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:10:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:00 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:10:00 UTC] 📊 Database Info:
[17-Nov-2025 14:10:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:10:00 UTC]    Books columns count: 53
[17-Nov-2025 14:10:00 UTC]    Categories columns count: 7
[17-Nov-2025 14:10:00 UTC]    Language field in books: YES
[17-Nov-2025 14:10:00 UTC]    Format field in books: YES
[17-Nov-2025 14:10:00 UTC]    Description field in categories: YES
[17-Nov-2025 14:10:00 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:10:00 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:10:00 UTC]    Is_active field in books: YES
[17-Nov-2025 14:10:00 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:10:00 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:10:00 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:10:00 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:10:00 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:10:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:10:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:10:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:10:00 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:10:00 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:10:21 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:21 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:21 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:21 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:21 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:21 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:21 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:21 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:21 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:21 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:21 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:21 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:21 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:21 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:21 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:21 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:21 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:21 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:21 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:10:21 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:10:21 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:21 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:21 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:21 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:21 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:21 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:21 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:21 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:21 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:21 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:21 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:21 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:21 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:21 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:21 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:21 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:10:21 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:10:21 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:21 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:21 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:21 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:21 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:21 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:21 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:22 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:10:22 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:10:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:10:22 UTC] 📊 Database Info:
[17-Nov-2025 14:10:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:10:22 UTC]    Books columns count: 53
[17-Nov-2025 14:10:22 UTC]    Categories columns count: 7
[17-Nov-2025 14:10:22 UTC]    Language field in books: YES
[17-Nov-2025 14:10:22 UTC]    Format field in books: YES
[17-Nov-2025 14:10:22 UTC]    Description field in categories: YES
[17-Nov-2025 14:10:22 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:10:22 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:10:22 UTC]    Is_active field in books: YES
[17-Nov-2025 14:10:22 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:10:22 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:10:22 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:10:22 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:10:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:10:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:10:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:10:22 UTC] 📊 Database Info:
[17-Nov-2025 14:10:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:10:22 UTC]    Books columns count: 53
[17-Nov-2025 14:10:22 UTC]    Categories columns count: 7
[17-Nov-2025 14:10:22 UTC]    Language field in books: YES
[17-Nov-2025 14:10:22 UTC]    Format field in books: YES
[17-Nov-2025 14:10:22 UTC]    Description field in categories: YES
[17-Nov-2025 14:10:22 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:10:22 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:10:22 UTC]    Is_active field in books: YES
[17-Nov-2025 14:10:22 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:10:22 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:10:22 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:10:22 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:10:22 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:10:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:10:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:10:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:10:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:10:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:10:22 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:10:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:22 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:22 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:10:22 UTC] 📊 Database Info:
[17-Nov-2025 14:10:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:10:22 UTC]    Books columns count: 53
[17-Nov-2025 14:10:22 UTC]    Categories columns count: 7
[17-Nov-2025 14:10:22 UTC]    Language field in books: YES
[17-Nov-2025 14:10:22 UTC]    Format field in books: YES
[17-Nov-2025 14:10:22 UTC]    Description field in categories: YES
[17-Nov-2025 14:10:22 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:10:22 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:10:22 UTC]    Is_active field in books: YES
[17-Nov-2025 14:10:22 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:10:22 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:10:22 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:10:22 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:10:22 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:10:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:10:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:22 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:10:22 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:10:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:22 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:10:22 UTC] 📊 Database Info:
[17-Nov-2025 14:10:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:10:22 UTC]    Books columns count: 53
[17-Nov-2025 14:10:22 UTC]    Categories columns count: 7
[17-Nov-2025 14:10:22 UTC]    Language field in books: YES
[17-Nov-2025 14:10:22 UTC]    Format field in books: YES
[17-Nov-2025 14:10:22 UTC]    Description field in categories: YES
[17-Nov-2025 14:10:22 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:10:22 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:10:22 UTC]    Is_active field in books: YES
[17-Nov-2025 14:10:22 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:10:22 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:10:22 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:10:22 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:10:22 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:10:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:10:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:10:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:10:22 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:10:22 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:10:23 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:23 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:10:23 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:10:23 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:23 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:10:23 UTC] 📊 Database Info:
[17-Nov-2025 14:10:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:10:23 UTC]    Books columns count: 53
[17-Nov-2025 14:10:23 UTC]    Categories columns count: 7
[17-Nov-2025 14:10:23 UTC]    Language field in books: YES
[17-Nov-2025 14:10:23 UTC]    Format field in books: YES
[17-Nov-2025 14:10:23 UTC]    Description field in categories: YES
[17-Nov-2025 14:10:23 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:10:23 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:10:23 UTC]    Is_active field in books: YES
[17-Nov-2025 14:10:23 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:10:23 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:10:23 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:10:23 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:10:23 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:10:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:10:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:10:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:10:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:10:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:10:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:10:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:10:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:10:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:10:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:10:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:10:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:10:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:10:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:10:23 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:10:23 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:10:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:30 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:10:30 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:10:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:30 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:10:30 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:10:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:30 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:10:30 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:10:30 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:10:30 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:30 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:10:30 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:10:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:30 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:10:30 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:10:31 UTC] 📊 Database Info:
[17-Nov-2025 14:10:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:10:31 UTC]    Books columns count: 53
[17-Nov-2025 14:10:31 UTC]    Categories columns count: 7
[17-Nov-2025 14:10:31 UTC]    Language field in books: YES
[17-Nov-2025 14:10:31 UTC]    Format field in books: YES
[17-Nov-2025 14:10:31 UTC]    Description field in categories: YES
[17-Nov-2025 14:10:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:10:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:10:31 UTC]    Is_active field in books: YES
[17-Nov-2025 14:10:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:10:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:10:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:10:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:10:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:10:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:10:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:10:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:10:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:10:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:10:31 UTC] 📊 Database Info:
[17-Nov-2025 14:10:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:10:31 UTC]    Books columns count: 53
[17-Nov-2025 14:10:31 UTC]    Categories columns count: 7
[17-Nov-2025 14:10:31 UTC]    Language field in books: YES
[17-Nov-2025 14:10:31 UTC]    Format field in books: YES
[17-Nov-2025 14:10:31 UTC]    Description field in categories: YES
[17-Nov-2025 14:10:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:10:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:10:31 UTC]    Is_active field in books: YES
[17-Nov-2025 14:10:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:10:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:10:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:10:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:10:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:10:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:10:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:10:32 UTC] 📊 Database Info:
[17-Nov-2025 14:10:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:10:32 UTC]    Books columns count: 53
[17-Nov-2025 14:10:32 UTC]    Categories columns count: 7
[17-Nov-2025 14:10:32 UTC]    Language field in books: YES
[17-Nov-2025 14:10:32 UTC]    Format field in books: YES
[17-Nov-2025 14:10:32 UTC]    Description field in categories: YES
[17-Nov-2025 14:10:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:10:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:10:32 UTC]    Is_active field in books: YES
[17-Nov-2025 14:10:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:10:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:10:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:10:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:10:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:10:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:10:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:10:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:10:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:10:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:10:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:10:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:10:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:10:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:10:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:10:32 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:10:32 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:10:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:10:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:10:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:10:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:10:32 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:10:32 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:10:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:10:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:10:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:10:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:10:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:10:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:10:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:10:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:10:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:10:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:10:32 UTC] 📊 Database Info:
[17-Nov-2025 14:10:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:10:32 UTC]    Books columns count: 53
[17-Nov-2025 14:10:32 UTC]    Categories columns count: 7
[17-Nov-2025 14:10:32 UTC]    Language field in books: YES
[17-Nov-2025 14:10:32 UTC]    Format field in books: YES
[17-Nov-2025 14:10:32 UTC]    Description field in categories: YES
[17-Nov-2025 14:10:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:10:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:10:32 UTC]    Is_active field in books: YES
[17-Nov-2025 14:10:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:10:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:10:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:10:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:10:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:10:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:10:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:10:32 UTC] 📊 Database Info:
[17-Nov-2025 14:10:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:10:32 UTC]    Books columns count: 53
[17-Nov-2025 14:10:32 UTC]    Categories columns count: 7
[17-Nov-2025 14:10:32 UTC]    Language field in books: YES
[17-Nov-2025 14:10:32 UTC]    Format field in books: YES
[17-Nov-2025 14:10:32 UTC]    Description field in categories: YES
[17-Nov-2025 14:10:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:10:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:10:32 UTC]    Is_active field in books: YES
[17-Nov-2025 14:10:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:10:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:10:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:10:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:10:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:10:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:10:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:10:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:10:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:10:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:10:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:10:32 UTC] 📊 Database Info:
[17-Nov-2025 14:10:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:10:32 UTC]    Books columns count: 53
[17-Nov-2025 14:10:32 UTC]    Categories columns count: 7
[17-Nov-2025 14:10:32 UTC]    Language field in books: YES
[17-Nov-2025 14:10:32 UTC]    Format field in books: YES
[17-Nov-2025 14:10:32 UTC]    Description field in categories: YES
[17-Nov-2025 14:10:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:10:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:10:32 UTC]    Is_active field in books: YES
[17-Nov-2025 14:10:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:10:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:10:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:10:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:10:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:10:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:10:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:12:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:12:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:12:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:12:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:12:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:12:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:12:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:12:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:12:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:12:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:12:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:12:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:12:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:12:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:12:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:12:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:12:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:12:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:12:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:12:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:12:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:12:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:12:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:12:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:12:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:12:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:12:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:12:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:12:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:12:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:12:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:12:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:12:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:12:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:12:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:12:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:12:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:12:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:12:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:12:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:12:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:12:39 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:12:39 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:12:39 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:12:39 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:12:39 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:12:39 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:12:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:12:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:12:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:12:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:12:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:12:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:12:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:12:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:12:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:12:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:12:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:12:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:12:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:12:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:12:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:12:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:12:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:12:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:12:40 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:12:40 UTC] 📊 Database Info:
[17-Nov-2025 14:12:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:12:40 UTC]    Books columns count: 53
[17-Nov-2025 14:12:40 UTC]    Categories columns count: 7
[17-Nov-2025 14:12:40 UTC]    Language field in books: YES
[17-Nov-2025 14:12:40 UTC]    Format field in books: YES
[17-Nov-2025 14:12:40 UTC]    Description field in categories: YES
[17-Nov-2025 14:12:40 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:12:40 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:12:40 UTC]    Is_active field in books: YES
[17-Nov-2025 14:12:40 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:12:40 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:12:40 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:12:40 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:12:40 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:12:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:12:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:12:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:12:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:12:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:12:40 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:12:40 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:12:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:12:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:12:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:12:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:12:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:12:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:12:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:12:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:12:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:12:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:12:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:12:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:12:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:12:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:12:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:12:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:12:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:12:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:12:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:12:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:12:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:12:40 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:12:40 UTC] 📊 Database Info:
[17-Nov-2025 14:12:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:12:40 UTC]    Books columns count: 53
[17-Nov-2025 14:12:40 UTC]    Categories columns count: 7
[17-Nov-2025 14:12:40 UTC]    Language field in books: YES
[17-Nov-2025 14:12:40 UTC]    Format field in books: YES
[17-Nov-2025 14:12:40 UTC]    Description field in categories: YES
[17-Nov-2025 14:12:40 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:12:40 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:12:40 UTC]    Is_active field in books: YES
[17-Nov-2025 14:12:40 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:12:40 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:12:40 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:12:40 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:12:40 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:12:40 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:12:40 UTC] 📊 Database Info:
[17-Nov-2025 14:12:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:12:40 UTC]    Books columns count: 53
[17-Nov-2025 14:12:40 UTC]    Categories columns count: 7
[17-Nov-2025 14:12:40 UTC]    Language field in books: YES
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:12:40 UTC]    Format field in books: YES
[17-Nov-2025 14:12:40 UTC]    Description field in categories: YES
[17-Nov-2025 14:12:40 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:12:40 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:12:40 UTC]    Is_active field in books: YES
[17-Nov-2025 14:12:40 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:12:40 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:12:40 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:12:40 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:12:40 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:12:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:12:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:12:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:13:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:13:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:13:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:13:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:13:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:13:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:13:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:13:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:13:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:13:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:13:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:13:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:13:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:13:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:13:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:13:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:13:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:13:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:13:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:13:17 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:13:17 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:13:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:13:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:13:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:13:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:13:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:13:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:13:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:13:17 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:13:17 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:13:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:13:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:13:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:13:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:13:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:13:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:13:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:13:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:13:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:13:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:13:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:13:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:13:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:13:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:13:17 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:13:17 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:13:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:13:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:13:18 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:13:18 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:13:18 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:13:18 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:13:18 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:13:18 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:13:18 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:13:18 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:13:18 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:13:18 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:13:18 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:13:18 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:13:18 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:13:18 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:13:18 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:13:18 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:13:18 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:13:18 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:13:18 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:13:18 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:13:18 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:13:18 UTC] 📊 Database Info:
[17-Nov-2025 14:13:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:13:18 UTC]    Books columns count: 53
[17-Nov-2025 14:13:18 UTC]    Categories columns count: 7
[17-Nov-2025 14:13:18 UTC]    Language field in books: YES
[17-Nov-2025 14:13:18 UTC]    Format field in books: YES
[17-Nov-2025 14:13:18 UTC]    Description field in categories: YES
[17-Nov-2025 14:13:18 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:13:18 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:13:18 UTC]    Is_active field in books: YES
[17-Nov-2025 14:13:18 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:13:18 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:13:18 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:13:18 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:13:18 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:13:18 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:13:18 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:13:18 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:13:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:13:18 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:13:18 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:13:18 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:13:18 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:13:18 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:13:18 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:13:18 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:13:18 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:13:18 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:13:18 UTC] 📊 Database Info:
[17-Nov-2025 14:13:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:13:18 UTC]    Books columns count: 53
[17-Nov-2025 14:13:18 UTC]    Categories columns count: 7
[17-Nov-2025 14:13:18 UTC]    Language field in books: YES
[17-Nov-2025 14:13:18 UTC]    Format field in books: YES
[17-Nov-2025 14:13:18 UTC]    Description field in categories: YES
[17-Nov-2025 14:13:18 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:13:18 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:13:18 UTC]    Is_active field in books: YES
[17-Nov-2025 14:13:18 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:13:18 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:13:18 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:13:18 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:13:18 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:13:18 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:13:18 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:13:18 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:13:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:13:18 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:13:18 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:13:18 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:13:18 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:13:18 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:13:18 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:13:18 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:13:18 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:13:18 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:13:18 UTC] 📊 Database Info:
[17-Nov-2025 14:13:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:13:18 UTC]    Books columns count: 53
[17-Nov-2025 14:13:18 UTC]    Categories columns count: 7
[17-Nov-2025 14:13:18 UTC]    Language field in books: YES
[17-Nov-2025 14:13:18 UTC]    Format field in books: YES
[17-Nov-2025 14:13:18 UTC]    Description field in categories: YES
[17-Nov-2025 14:13:18 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:13:18 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:13:18 UTC]    Is_active field in books: YES
[17-Nov-2025 14:13:18 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:13:18 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:13:18 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:13:18 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:13:18 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:13:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:13:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:13:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:13:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:02 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:02 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:02 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:02 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:02 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:02 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:02 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:02 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:02 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:02 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:02 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:02 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:02 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:02 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:02 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:02 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:02 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:02 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:02 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:02 UTC] 📊 Database Info:
[17-Nov-2025 14:14:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:02 UTC]    Books columns count: 53
[17-Nov-2025 14:14:02 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:02 UTC]    Language field in books: YES
[17-Nov-2025 14:14:02 UTC]    Format field in books: YES
[17-Nov-2025 14:14:02 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:02 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:02 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:02 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:02 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:02 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:02 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:02 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:02 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:02 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:02 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:02 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:02 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:02 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:02 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:02 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:02 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:02 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:02 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:02 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:02 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:02 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:02 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:02 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:02 UTC] 📊 Database Info:
[17-Nov-2025 14:14:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:02 UTC]    Books columns count: 53
[17-Nov-2025 14:14:02 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:02 UTC]    Language field in books: YES
[17-Nov-2025 14:14:02 UTC]    Format field in books: YES
[17-Nov-2025 14:14:02 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:02 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:02 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:02 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:02 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:02 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:02 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:02 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:02 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:02 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:02 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:02 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:02 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:02 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:02 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:02 UTC] 📊 Database Info:
[17-Nov-2025 14:14:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:02 UTC]    Books columns count: 53
[17-Nov-2025 14:14:02 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:02 UTC]    Language field in books: YES
[17-Nov-2025 14:14:02 UTC]    Format field in books: YES
[17-Nov-2025 14:14:02 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:02 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:02 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:02 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:02 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:02 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:02 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:02 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:02 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:14:02 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:14:02 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:02 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:04 UTC] 📊 Database Info:
[17-Nov-2025 14:14:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:04 UTC]    Books columns count: 53
[17-Nov-2025 14:14:04 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:04 UTC]    Language field in books: YES
[17-Nov-2025 14:14:04 UTC]    Format field in books: YES
[17-Nov-2025 14:14:04 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:04 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:05 UTC] 📊 Database Info:
[17-Nov-2025 14:14:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:05 UTC]    Books columns count: 53
[17-Nov-2025 14:14:05 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:05 UTC]    Language field in books: YES
[17-Nov-2025 14:14:05 UTC]    Format field in books: YES
[17-Nov-2025 14:14:05 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:05 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:05 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:14:05 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:14:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:05 UTC] 📊 Database Info:
[17-Nov-2025 14:14:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:05 UTC]    Books columns count: 53
[17-Nov-2025 14:14:05 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:05 UTC]    Language field in books: YES
[17-Nov-2025 14:14:05 UTC]    Format field in books: YES
[17-Nov-2025 14:14:05 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:05 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:09 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:09 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:09 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:09 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:09 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:09 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:09 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:09 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:09 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:09 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:09 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:09 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:09 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:09 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:09 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:09 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:09 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:09 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:09 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:09 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:09 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:09 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:09 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:09 UTC] 📊 Database Info:
[17-Nov-2025 14:14:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:09 UTC]    Books columns count: 53
[17-Nov-2025 14:14:09 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:09 UTC]    Language field in books: YES
[17-Nov-2025 14:14:09 UTC]    Format field in books: YES
[17-Nov-2025 14:14:09 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:09 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:09 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:09 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:09 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:09 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:09 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:09 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:09 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:09 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:09 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:09 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:09 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:09 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:09 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:09 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:10 UTC] 📊 Database Info:
[17-Nov-2025 14:14:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:10 UTC]    Books columns count: 53
[17-Nov-2025 14:14:10 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:10 UTC]    Language field in books: YES
[17-Nov-2025 14:14:10 UTC]    Format field in books: YES
[17-Nov-2025 14:14:10 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:10 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:10 UTC] 📊 Database Info:
[17-Nov-2025 14:14:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:10 UTC]    Books columns count: 53
[17-Nov-2025 14:14:10 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:10 UTC]    Language field in books: YES
[17-Nov-2025 14:14:10 UTC]    Format field in books: YES
[17-Nov-2025 14:14:10 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:10 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:14:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:14:10 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:14:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:10 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:10 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:11 UTC] 📊 Database Info:
[17-Nov-2025 14:14:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:11 UTC]    Books columns count: 53
[17-Nov-2025 14:14:11 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:11 UTC]    Language field in books: YES
[17-Nov-2025 14:14:11 UTC]    Format field in books: YES
[17-Nov-2025 14:14:11 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:11 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:11 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:14:11 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:14:11 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:14:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:11 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:11 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:11 UTC] 📊 Database Info:
[17-Nov-2025 14:14:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:11 UTC]    Books columns count: 53
[17-Nov-2025 14:14:11 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:11 UTC]    Language field in books: YES
[17-Nov-2025 14:14:11 UTC]    Format field in books: YES
[17-Nov-2025 14:14:11 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:11 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:11 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:14:11 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:14:11 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:14:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:16 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:17 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:17 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:17 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:17 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:17 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:17 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:17 UTC] 📊 Database Info:
[17-Nov-2025 14:14:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:17 UTC]    Books columns count: 53
[17-Nov-2025 14:14:17 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:17 UTC]    Language field in books: YES
[17-Nov-2025 14:14:17 UTC]    Format field in books: YES
[17-Nov-2025 14:14:17 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:17 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:17 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:17 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:17 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:17 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:17 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:17 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:17 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:14:17 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:17 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:17 UTC] 📊 Database Info:
[17-Nov-2025 14:14:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:17 UTC]    Books columns count: 53
[17-Nov-2025 14:14:17 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:17 UTC]    Language field in books: YES
[17-Nov-2025 14:14:17 UTC]    Format field in books: YES
[17-Nov-2025 14:14:17 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:17 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:17 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:17 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:17 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:17 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:17 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:17 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:17 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:17 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:17 UTC] 📊 Database Info:
[17-Nov-2025 14:14:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:17 UTC]    Books columns count: 53
[17-Nov-2025 14:14:17 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:17 UTC]    Language field in books: YES
[17-Nov-2025 14:14:17 UTC]    Format field in books: YES
[17-Nov-2025 14:14:17 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:17 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:17 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:17 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:17 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:17 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:17 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:17 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:17 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:22 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:22 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:22 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:22 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:22 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:22 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:22 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:22 UTC] 📊 Database Info:
[17-Nov-2025 14:14:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:22 UTC]    Books columns count: 53
[17-Nov-2025 14:14:22 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:22 UTC]    Language field in books: YES
[17-Nov-2025 14:14:22 UTC]    Format field in books: YES
[17-Nov-2025 14:14:22 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:22 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:22 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:22 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:22 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:22 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:22 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:22 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:22 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:23 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:23 UTC] 📊 Database Info:
[17-Nov-2025 14:14:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:23 UTC]    Books columns count: 53
[17-Nov-2025 14:14:23 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:23 UTC]    Language field in books: YES
[17-Nov-2025 14:14:23 UTC]    Format field in books: YES
[17-Nov-2025 14:14:23 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:23 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:23 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:23 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:23 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:23 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:23 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:23 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:23 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:23 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:14:23 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:14:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:23 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:23 UTC] 📊 Database Info:
[17-Nov-2025 14:14:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:23 UTC]    Books columns count: 53
[17-Nov-2025 14:14:23 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:23 UTC]    Language field in books: YES
[17-Nov-2025 14:14:23 UTC]    Format field in books: YES
[17-Nov-2025 14:14:23 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:23 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:23 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:23 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:23 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:23 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:23 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:23 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:23 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:35 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:35 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:35 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:35 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:35 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:35 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:35 UTC] 📊 Database Info:
[17-Nov-2025 14:14:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:35 UTC]    Books columns count: 53
[17-Nov-2025 14:14:35 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:35 UTC]    Language field in books: YES
[17-Nov-2025 14:14:35 UTC]    Format field in books: YES
[17-Nov-2025 14:14:35 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:35 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:35 UTC] 📊 Database Info:
[17-Nov-2025 14:14:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:35 UTC]    Books columns count: 53
[17-Nov-2025 14:14:35 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:35 UTC]    Language field in books: YES
[17-Nov-2025 14:14:35 UTC]    Format field in books: YES
[17-Nov-2025 14:14:35 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:35 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:35 UTC] 📊 Database Info:
[17-Nov-2025 14:14:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:35 UTC]    Books columns count: 53
[17-Nov-2025 14:14:35 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:35 UTC]    Language field in books: YES
[17-Nov-2025 14:14:35 UTC]    Format field in books: YES
[17-Nov-2025 14:14:35 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:35 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:14:35 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:14:35 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:14:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:36 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:36 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:36 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:36 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:36 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:36 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:36 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:36 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:36 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:36 UTC] 📊 Database Info:
[17-Nov-2025 14:14:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:36 UTC]    Books columns count: 53
[17-Nov-2025 14:14:36 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:36 UTC]    Language field in books: YES
[17-Nov-2025 14:14:36 UTC]    Format field in books: YES
[17-Nov-2025 14:14:36 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:36 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:36 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:36 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:36 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:36 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:36 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:36 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:36 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:14:36 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:14:36 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:14:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:36 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:36 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:36 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:14:36 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:14:36 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:14:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:14:36 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:14:36 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:14:36 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:14:36 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:14:36 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:14:36 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:14:36 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:14:36 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:14:36 UTC] 📊 Database Info:
[17-Nov-2025 14:14:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:14:36 UTC]    Books columns count: 53
[17-Nov-2025 14:14:36 UTC]    Categories columns count: 7
[17-Nov-2025 14:14:36 UTC]    Language field in books: YES
[17-Nov-2025 14:14:36 UTC]    Format field in books: YES
[17-Nov-2025 14:14:36 UTC]    Description field in categories: YES
[17-Nov-2025 14:14:36 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:14:36 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:14:36 UTC]    Is_active field in books: YES
[17-Nov-2025 14:14:36 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:14:36 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:14:36 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:14:36 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:14:36 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:14:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:14:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:14:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:14:36 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:14:36 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:15:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:06 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:15:06 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:15:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:06 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:15:06 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:15:06 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:15:06 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:15:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:06 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:07 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:15:07 UTC] 📊 Database Info:
[17-Nov-2025 14:15:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:15:07 UTC]    Books columns count: 53
[17-Nov-2025 14:15:07 UTC]    Categories columns count: 7
[17-Nov-2025 14:15:07 UTC]    Language field in books: YES
[17-Nov-2025 14:15:07 UTC]    Format field in books: YES
[17-Nov-2025 14:15:07 UTC]    Description field in categories: YES
[17-Nov-2025 14:15:07 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:15:07 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:15:07 UTC]    Is_active field in books: YES
[17-Nov-2025 14:15:07 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:15:07 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:15:07 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:15:07 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:15:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:15:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:15:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:15:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:15:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:07 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:15:07 UTC] 📊 Database Info:
[17-Nov-2025 14:15:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:15:07 UTC]    Books columns count: 53
[17-Nov-2025 14:15:07 UTC]    Categories columns count: 7
[17-Nov-2025 14:15:07 UTC]    Language field in books: YES
[17-Nov-2025 14:15:07 UTC]    Format field in books: YES
[17-Nov-2025 14:15:07 UTC]    Description field in categories: YES
[17-Nov-2025 14:15:07 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:15:07 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:15:07 UTC]    Is_active field in books: YES
[17-Nov-2025 14:15:07 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:15:07 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:15:07 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:15:07 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:15:07 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:15:07 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:15:07 UTC] 📊 Database Info:
[17-Nov-2025 14:15:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:15:07 UTC]    Books columns count: 53
[17-Nov-2025 14:15:07 UTC]    Categories columns count: 7
[17-Nov-2025 14:15:07 UTC]    Language field in books: YES
[17-Nov-2025 14:15:07 UTC]    Format field in books: YES
[17-Nov-2025 14:15:07 UTC]    Description field in categories: YES
[17-Nov-2025 14:15:07 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:15:07 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:15:07 UTC]    Is_active field in books: YES
[17-Nov-2025 14:15:07 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:15:07 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:15:07 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:15:07 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:15:07 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:15:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:15:07 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:15:07 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:15:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:15:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:15:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:08 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:15:08 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:15:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:08 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:08 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:08 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:08 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:09 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:09 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:09 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:09 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:09 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:09 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:09 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:09 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:09 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:09 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:09 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:09 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:09 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:09 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:09 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:09 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:09 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:15:09 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:15:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:09 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:09 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:09 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:15:09 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:15:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:09 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:09 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:09 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:09 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:09 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:15:10 UTC] 📊 Database Info:
[17-Nov-2025 14:15:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:15:10 UTC]    Books columns count: 53
[17-Nov-2025 14:15:10 UTC]    Categories columns count: 7
[17-Nov-2025 14:15:10 UTC]    Language field in books: YES
[17-Nov-2025 14:15:10 UTC]    Format field in books: YES
[17-Nov-2025 14:15:10 UTC]    Description field in categories: YES
[17-Nov-2025 14:15:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:15:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:15:10 UTC]    Is_active field in books: YES
[17-Nov-2025 14:15:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:15:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:15:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:15:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:15:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:15:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:15:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:15:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:15:10 UTC] 📊 Database Info:
[17-Nov-2025 14:15:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:15:10 UTC]    Books columns count: 53
[17-Nov-2025 14:15:10 UTC]    Categories columns count: 7
[17-Nov-2025 14:15:10 UTC]    Language field in books: YES
[17-Nov-2025 14:15:10 UTC]    Format field in books: YES
[17-Nov-2025 14:15:10 UTC]    Description field in categories: YES
[17-Nov-2025 14:15:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:15:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:15:10 UTC]    Is_active field in books: YES
[17-Nov-2025 14:15:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:15:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:15:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:15:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:15:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:15:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:15:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:15:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:15:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:15:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:15:10 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:15:10 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:15:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:15:10 UTC] 📊 Database Info:
[17-Nov-2025 14:15:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:15:10 UTC]    Books columns count: 53
[17-Nov-2025 14:15:10 UTC]    Categories columns count: 7
[17-Nov-2025 14:15:10 UTC]    Language field in books: YES
[17-Nov-2025 14:15:10 UTC]    Format field in books: YES
[17-Nov-2025 14:15:10 UTC]    Description field in categories: YES
[17-Nov-2025 14:15:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:15:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:15:10 UTC]    Is_active field in books: YES
[17-Nov-2025 14:15:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:15:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:15:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:15:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:15:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:15:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:15:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:15:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:15 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:15:15 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:15 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:15:15 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:15:15 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:15:15 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:15:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:16 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:16 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:16 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:16 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:16 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:16 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:16 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:16 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:16 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:16 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:16 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:16 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:16 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:16 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:16 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:16 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:16 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:16 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:15:16 UTC] 📊 Database Info:
[17-Nov-2025 14:15:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:15:16 UTC]    Books columns count: 53
[17-Nov-2025 14:15:16 UTC]    Categories columns count: 7
[17-Nov-2025 14:15:16 UTC]    Language field in books: YES
[17-Nov-2025 14:15:16 UTC]    Format field in books: YES
[17-Nov-2025 14:15:16 UTC]    Description field in categories: YES
[17-Nov-2025 14:15:16 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:15:16 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:15:16 UTC]    Is_active field in books: YES
[17-Nov-2025 14:15:16 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:15:16 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:15:16 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:15:16 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:15:16 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:16 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:15:16 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:16 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:16 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:16 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:16 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:16 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:15:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:15:16 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:16 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:16 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:16 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:16 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:16 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:16 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:15:16 UTC] 📊 Database Info:
[17-Nov-2025 14:15:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:15:16 UTC]    Books columns count: 53
[17-Nov-2025 14:15:16 UTC]    Categories columns count: 7
[17-Nov-2025 14:15:16 UTC]    Language field in books: YES
[17-Nov-2025 14:15:16 UTC]    Format field in books: YES
[17-Nov-2025 14:15:16 UTC]    Description field in categories: YES
[17-Nov-2025 14:15:16 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:15:16 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:15:16 UTC]    Is_active field in books: YES
[17-Nov-2025 14:15:16 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:15:16 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:15:16 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:15:16 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:15:16 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:15:16 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:15:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:15:16 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:16 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:16 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:16 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:16 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:16 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:16 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:16 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:16 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:15:16 UTC] 📊 Database Info:
[17-Nov-2025 14:15:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:15:16 UTC]    Books columns count: 53
[17-Nov-2025 14:15:16 UTC]    Categories columns count: 7
[17-Nov-2025 14:15:16 UTC]    Language field in books: YES
[17-Nov-2025 14:15:16 UTC]    Format field in books: YES
[17-Nov-2025 14:15:16 UTC]    Description field in categories: YES
[17-Nov-2025 14:15:16 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:15:16 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:15:16 UTC]    Is_active field in books: YES
[17-Nov-2025 14:15:16 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:15:16 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:15:16 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:15:16 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:15:16 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:15:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:15:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:15:16 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:15:16 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:15:23 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:24 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:15:24 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:15:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:24 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:15:24 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:15:24 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:15:24 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:24 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:15:24 UTC] 📊 Database Info:
[17-Nov-2025 14:15:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:15:24 UTC]    Books columns count: 53
[17-Nov-2025 14:15:24 UTC]    Categories columns count: 7
[17-Nov-2025 14:15:24 UTC]    Language field in books: YES
[17-Nov-2025 14:15:24 UTC]    Format field in books: YES
[17-Nov-2025 14:15:24 UTC]    Description field in categories: YES
[17-Nov-2025 14:15:24 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:15:24 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:15:24 UTC]    Is_active field in books: YES
[17-Nov-2025 14:15:24 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:15:24 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:15:24 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:15:24 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:15:24 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:15:24 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:15:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:15:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:15:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:15:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:15:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:24 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:15:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:24 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:15:24 UTC] 📊 Database Info:
[17-Nov-2025 14:15:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:15:24 UTC]    Books columns count: 53
[17-Nov-2025 14:15:24 UTC]    Categories columns count: 7
[17-Nov-2025 14:15:24 UTC]    Language field in books: YES
[17-Nov-2025 14:15:24 UTC]    Format field in books: YES
[17-Nov-2025 14:15:24 UTC]    Description field in categories: YES
[17-Nov-2025 14:15:24 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:15:24 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:15:24 UTC]    Is_active field in books: YES
[17-Nov-2025 14:15:24 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:15:24 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:15:24 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:15:24 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:15:24 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:15:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:15:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:15:24 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:24 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:15:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:15:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:24 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:15:24 UTC] 📊 Database Info:
[17-Nov-2025 14:15:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:15:24 UTC]    Books columns count: 53
[17-Nov-2025 14:15:24 UTC]    Categories columns count: 7
[17-Nov-2025 14:15:24 UTC]    Language field in books: YES
[17-Nov-2025 14:15:24 UTC]    Format field in books: YES
[17-Nov-2025 14:15:24 UTC]    Description field in categories: YES
[17-Nov-2025 14:15:24 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:15:24 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:15:24 UTC]    Is_active field in books: YES
[17-Nov-2025 14:15:24 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:15:24 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:15:24 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:15:24 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:15:24 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:15:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:15:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:15:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:47 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:47 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:47 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:15:47 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:15:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:47 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:47 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:47 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:47 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:47 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:15:47 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:15:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:47 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:47 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:47 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:47 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:47 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:47 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:15:47 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:48 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:48 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:48 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:48 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:48 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:48 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:48 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:48 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:48 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:48 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:48 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:48 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:15:48 UTC] 📊 Database Info:
[17-Nov-2025 14:15:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:15:48 UTC]    Books columns count: 53
[17-Nov-2025 14:15:48 UTC]    Categories columns count: 7
[17-Nov-2025 14:15:48 UTC]    Language field in books: YES
[17-Nov-2025 14:15:48 UTC]    Format field in books: YES
[17-Nov-2025 14:15:48 UTC]    Description field in categories: YES
[17-Nov-2025 14:15:48 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:15:48 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:15:48 UTC]    Is_active field in books: YES
[17-Nov-2025 14:15:48 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:15:48 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:15:48 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:15:48 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:15:48 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:15:48 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:15:48 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:15:48 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:15:48 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:15:48 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:15:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:15:48 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:48 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:48 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:48 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:48 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:48 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:48 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:48 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:48 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:48 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:48 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:48 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:48 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:48 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:48 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:48 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:48 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:48 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:48 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:48 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:48 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:48 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:15:48 UTC] 📊 Database Info:
[17-Nov-2025 14:15:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:15:48 UTC]    Books columns count: 53
[17-Nov-2025 14:15:48 UTC]    Categories columns count: 7
[17-Nov-2025 14:15:48 UTC]    Language field in books: YES
[17-Nov-2025 14:15:48 UTC]    Format field in books: YES
[17-Nov-2025 14:15:48 UTC]    Description field in categories: YES
[17-Nov-2025 14:15:48 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:15:48 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:15:48 UTC]    Is_active field in books: YES
[17-Nov-2025 14:15:48 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:15:48 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:15:48 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:15:48 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:15:48 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:15:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:15:48 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:48 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:48 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:48 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:48 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:48 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:48 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:15:48 UTC] 📊 Database Info:
[17-Nov-2025 14:15:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:15:48 UTC]    Books columns count: 53
[17-Nov-2025 14:15:48 UTC]    Categories columns count: 7
[17-Nov-2025 14:15:48 UTC]    Language field in books: YES
[17-Nov-2025 14:15:48 UTC]    Format field in books: YES
[17-Nov-2025 14:15:48 UTC]    Description field in categories: YES
[17-Nov-2025 14:15:48 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:15:48 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:15:48 UTC]    Is_active field in books: YES
[17-Nov-2025 14:15:48 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:15:48 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:15:48 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:15:48 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:15:48 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:15:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:15:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:15:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:15:48 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:15:48 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:15:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:15:49 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:15:49 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:15:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:15:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:15:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:15:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:15:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:15:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:15:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:15:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:15:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:15:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:15:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:15:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:15:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:15:49 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:15:49 UTC] 📊 Database Info:
[17-Nov-2025 14:15:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:15:49 UTC]    Books columns count: 53
[17-Nov-2025 14:15:49 UTC]    Categories columns count: 7
[17-Nov-2025 14:15:49 UTC]    Language field in books: YES
[17-Nov-2025 14:15:49 UTC]    Format field in books: YES
[17-Nov-2025 14:15:49 UTC]    Description field in categories: YES
[17-Nov-2025 14:15:49 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:15:49 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:15:49 UTC]    Is_active field in books: YES
[17-Nov-2025 14:15:49 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:15:49 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:15:49 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:15:49 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:15:49 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:15:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:15:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:15:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:15:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:15:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:15:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:15:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:15:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:15:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:15:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:15:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:15:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:15:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:15:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:15:49 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:15:49 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:16:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:16:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:16:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:16:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:16:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:16:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:16:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:16:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:16:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:16:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:16:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:16:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:16:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:16:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:16:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:16:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:16:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:16:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:16:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:16:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:16:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:16:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:16:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:16:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:16:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:16:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:16:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:16:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:16:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:16:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:16:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:16:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:16:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:16:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:16:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:16:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:16:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:16:37 UTC] 📊 Database Info:
[17-Nov-2025 14:16:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:16:37 UTC]    Books columns count: 53
[17-Nov-2025 14:16:37 UTC]    Categories columns count: 7
[17-Nov-2025 14:16:37 UTC]    Language field in books: YES
[17-Nov-2025 14:16:37 UTC]    Format field in books: YES
[17-Nov-2025 14:16:37 UTC]    Description field in categories: YES
[17-Nov-2025 14:16:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:16:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:16:37 UTC]    Is_active field in books: YES
[17-Nov-2025 14:16:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:16:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:16:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:16:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:16:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:16:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:16:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:16:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:16:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:16:37 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:16:37 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:16:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:16:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:16:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:16:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:16:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:16:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:16:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:16:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:16:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:16:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:16:37 UTC] 📊 Database Info:
[17-Nov-2025 14:16:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:16:37 UTC]    Books columns count: 53
[17-Nov-2025 14:16:37 UTC]    Categories columns count: 7
[17-Nov-2025 14:16:37 UTC]    Language field in books: YES
[17-Nov-2025 14:16:37 UTC]    Format field in books: YES
[17-Nov-2025 14:16:37 UTC]    Description field in categories: YES
[17-Nov-2025 14:16:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:16:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:16:37 UTC]    Is_active field in books: YES
[17-Nov-2025 14:16:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:16:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:16:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:16:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:16:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:16:37 UTC] 📊 Database Info:
[17-Nov-2025 14:16:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:16:37 UTC]    Books columns count: 53
[17-Nov-2025 14:16:37 UTC]    Categories columns count: 7
[17-Nov-2025 14:16:37 UTC]    Language field in books: YES
[17-Nov-2025 14:16:37 UTC]    Format field in books: YES
[17-Nov-2025 14:16:37 UTC]    Description field in categories: YES
[17-Nov-2025 14:16:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:16:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:16:37 UTC]    Is_active field in books: YES
[17-Nov-2025 14:16:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:16:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:16:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:16:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:16:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:16:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:16:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:16:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:16:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:17:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:17:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:17:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:17:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:17:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:17:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:17:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:17:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:17:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:17:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:17:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:17:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:17:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:17:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:17:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:17:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:17:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:17:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:17:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:17:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:17:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:17:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:17:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:17:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:17:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:17:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:17:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:17:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:17:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:17:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:17:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:17:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:17:31 UTC] 📊 Database Info:
[17-Nov-2025 14:17:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:17:31 UTC]    Books columns count: 53
[17-Nov-2025 14:17:31 UTC]    Categories columns count: 7
[17-Nov-2025 14:17:31 UTC]    Language field in books: YES
[17-Nov-2025 14:17:31 UTC]    Format field in books: YES
[17-Nov-2025 14:17:31 UTC]    Description field in categories: YES
[17-Nov-2025 14:17:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:17:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:17:31 UTC]    Is_active field in books: YES
[17-Nov-2025 14:17:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:17:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:17:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:17:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:17:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:17:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:17:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:17:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:17:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:17:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:17:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:17:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:17:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:17:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:17:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:17:31 UTC] 📊 Database Info:
[17-Nov-2025 14:17:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:17:31 UTC]    Books columns count: 53
[17-Nov-2025 14:17:31 UTC]    Categories columns count: 7
[17-Nov-2025 14:17:31 UTC]    Language field in books: YES
[17-Nov-2025 14:17:31 UTC]    Format field in books: YES
[17-Nov-2025 14:17:31 UTC]    Description field in categories: YES
[17-Nov-2025 14:17:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:17:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:17:31 UTC]    Is_active field in books: YES
[17-Nov-2025 14:17:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:17:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:17:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:17:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:17:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:17:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:17:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:17:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:17:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:17:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:17:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:17:31 UTC] 📊 Database Info:
[17-Nov-2025 14:17:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:17:31 UTC]    Books columns count: 53
[17-Nov-2025 14:17:31 UTC]    Categories columns count: 7
[17-Nov-2025 14:17:31 UTC]    Language field in books: YES
[17-Nov-2025 14:17:31 UTC]    Format field in books: YES
[17-Nov-2025 14:17:31 UTC]    Description field in categories: YES
[17-Nov-2025 14:17:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:17:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:17:31 UTC]    Is_active field in books: YES
[17-Nov-2025 14:17:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:17:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:17:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:17:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:17:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:17:31 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:17:31 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:17:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:17:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:17:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:18:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:18:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:18:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:18:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:18:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:18:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:18:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:18:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:18:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:18:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:18:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:18:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:18:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:18:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:18:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:18:11 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:18:11 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:18:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:18:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:18:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:18:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:18:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:18:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:18:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:18:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:18:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:18:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:18:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:18:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:18:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:18:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:18:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:18:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:18:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:18:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:18:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:18:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:18:11 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:18:11 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:18:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:18:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:18:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:18:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:18:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:18:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:18:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:18:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:18:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:18:11 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:18:11 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:18:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:18:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:18:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:18:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:18:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:18:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:18:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:18:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:18:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:18:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:18:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:18:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:18:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:18:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:18:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:18:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:18:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:18:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:18:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:18:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:18:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:18:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:18:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:18:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:18:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:18:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:18:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:18:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:18:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:18:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:18:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:18:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:18:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:18:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:18:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:18:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:18:12 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:18:12 UTC] 📊 Database Info:
[17-Nov-2025 14:18:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:18:12 UTC]    Books columns count: 53
[17-Nov-2025 14:18:12 UTC]    Categories columns count: 7
[17-Nov-2025 14:18:12 UTC]    Language field in books: YES
[17-Nov-2025 14:18:12 UTC]    Format field in books: YES
[17-Nov-2025 14:18:12 UTC]    Description field in categories: YES
[17-Nov-2025 14:18:12 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:18:12 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:18:12 UTC]    Is_active field in books: YES
[17-Nov-2025 14:18:12 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:18:12 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:18:12 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:18:12 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:18:12 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:18:12 UTC] 📊 Database Info:
[17-Nov-2025 14:18:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:18:12 UTC]    Books columns count: 53
[17-Nov-2025 14:18:12 UTC]    Categories columns count: 7
[17-Nov-2025 14:18:12 UTC]    Language field in books: YES
[17-Nov-2025 14:18:12 UTC]    Format field in books: YES
[17-Nov-2025 14:18:12 UTC]    Description field in categories: YES
[17-Nov-2025 14:18:12 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:18:12 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:18:12 UTC]    Is_active field in books: YES
[17-Nov-2025 14:18:12 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:18:12 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:18:12 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:18:12 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:18:12 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:18:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:18:12 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:18:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:18:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:18:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:18:12 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:18:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:18:12 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:18:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:18:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:18:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:18:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:18:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:18:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:18:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:18:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:18:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:18:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:18:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:18:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:18:12 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:18:12 UTC] 📊 Database Info:
[17-Nov-2025 14:18:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:18:12 UTC]    Books columns count: 53
[17-Nov-2025 14:18:12 UTC]    Categories columns count: 7
[17-Nov-2025 14:18:12 UTC]    Language field in books: YES
[17-Nov-2025 14:18:12 UTC]    Format field in books: YES
[17-Nov-2025 14:18:12 UTC]    Description field in categories: YES
[17-Nov-2025 14:18:12 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:18:12 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:18:12 UTC]    Is_active field in books: YES
[17-Nov-2025 14:18:12 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:18:12 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:18:12 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:18:12 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:18:12 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:18:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:18:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:19:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:19:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:19:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:19:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:19:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:19:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:19:33 UTC] 📊 Database Info:
[17-Nov-2025 14:19:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:19:33 UTC]    Books columns count: 53
[17-Nov-2025 14:19:33 UTC]    Categories columns count: 7
[17-Nov-2025 14:19:33 UTC]    Language field in books: YES
[17-Nov-2025 14:19:33 UTC]    Format field in books: YES
[17-Nov-2025 14:19:33 UTC]    Description field in categories: YES
[17-Nov-2025 14:19:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:19:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:19:33 UTC]    Is_active field in books: YES
[17-Nov-2025 14:19:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:19:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:19:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:19:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:19:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:19:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:19:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:19:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:19:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:19:33 UTC] 📊 Database Info:
[17-Nov-2025 14:19:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:19:33 UTC]    Books columns count: 53
[17-Nov-2025 14:19:33 UTC]    Categories columns count: 7
[17-Nov-2025 14:19:33 UTC]    Language field in books: YES
[17-Nov-2025 14:19:33 UTC]    Format field in books: YES
[17-Nov-2025 14:19:33 UTC]    Description field in categories: YES
[17-Nov-2025 14:19:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:19:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:19:33 UTC]    Is_active field in books: YES
[17-Nov-2025 14:19:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:19:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:19:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:19:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:19:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:19:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:19:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:19:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:19:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:19:33 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:19:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:33 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:19:33 UTC] 📊 Database Info:
[17-Nov-2025 14:19:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:19:33 UTC]    Books columns count: 53
[17-Nov-2025 14:19:33 UTC]    Categories columns count: 7
[17-Nov-2025 14:19:33 UTC]    Language field in books: YES
[17-Nov-2025 14:19:33 UTC]    Format field in books: YES
[17-Nov-2025 14:19:33 UTC]    Description field in categories: YES
[17-Nov-2025 14:19:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:19:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:19:33 UTC]    Is_active field in books: YES
[17-Nov-2025 14:19:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:19:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:19:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:19:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:19:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:19:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:19:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:19:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:35 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:19:35 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:19:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:19:35 UTC] 📊 Database Info:
[17-Nov-2025 14:19:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:19:35 UTC]    Books columns count: 53
[17-Nov-2025 14:19:35 UTC]    Categories columns count: 7
[17-Nov-2025 14:19:35 UTC]    Language field in books: YES
[17-Nov-2025 14:19:35 UTC]    Format field in books: YES
[17-Nov-2025 14:19:35 UTC]    Description field in categories: YES
[17-Nov-2025 14:19:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:19:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:19:35 UTC]    Is_active field in books: YES
[17-Nov-2025 14:19:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:19:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:19:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:19:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:19:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:19:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:19:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:19:35 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:19:35 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:19:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:35 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:19:35 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:19:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:19:35 UTC] 📊 Database Info:
[17-Nov-2025 14:19:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:19:35 UTC]    Books columns count: 53
[17-Nov-2025 14:19:35 UTC]    Categories columns count: 7
[17-Nov-2025 14:19:35 UTC]    Language field in books: YES
[17-Nov-2025 14:19:35 UTC]    Format field in books: YES
[17-Nov-2025 14:19:35 UTC]    Description field in categories: YES
[17-Nov-2025 14:19:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:19:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:19:35 UTC]    Is_active field in books: YES
[17-Nov-2025 14:19:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:19:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:19:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:19:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:19:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:19:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:19:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:19:35 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:19:35 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:19:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:40 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:19:40 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:40 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:19:40 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:40 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:19:40 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:19:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:19:40 UTC] 📊 Database Info:
[17-Nov-2025 14:19:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:19:40 UTC]    Books columns count: 53
[17-Nov-2025 14:19:40 UTC]    Categories columns count: 7
[17-Nov-2025 14:19:40 UTC]    Language field in books: YES
[17-Nov-2025 14:19:40 UTC]    Format field in books: YES
[17-Nov-2025 14:19:40 UTC]    Description field in categories: YES
[17-Nov-2025 14:19:40 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:40 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:19:40 UTC]    Is_active field in books: YES
[17-Nov-2025 14:19:40 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:19:40 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:19:40 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:19:40 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:40 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:19:40 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:19:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:40 UTC] 📊 Database Info:
[17-Nov-2025 14:19:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:19:40 UTC]    Books columns count: 53
[17-Nov-2025 14:19:40 UTC]    Categories columns count: 7
[17-Nov-2025 14:19:40 UTC]    Language field in books: YES
[17-Nov-2025 14:19:40 UTC]    Format field in books: YES
[17-Nov-2025 14:19:40 UTC]    Description field in categories: YES
[17-Nov-2025 14:19:40 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:19:40 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:19:40 UTC]    Is_active field in books: YES
[17-Nov-2025 14:19:40 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:19:40 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:19:40 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:19:40 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:19:40 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:19:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:19:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:19:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:19:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:19:40 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:19:40 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:19:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:41 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:41 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:41 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:19:41 UTC] 📊 Database Info:
[17-Nov-2025 14:19:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:19:41 UTC]    Books columns count: 53
[17-Nov-2025 14:19:41 UTC]    Categories columns count: 7
[17-Nov-2025 14:19:41 UTC]    Language field in books: YES
[17-Nov-2025 14:19:41 UTC]    Format field in books: YES
[17-Nov-2025 14:19:41 UTC]    Description field in categories: YES
[17-Nov-2025 14:19:41 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:19:41 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:19:41 UTC]    Is_active field in books: YES
[17-Nov-2025 14:19:41 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:19:41 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:19:41 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:19:41 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:19:41 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:19:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:19:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:41 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:41 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:41 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:41 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:41 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:41 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:19:41 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:41 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:41 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:41 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:41 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:41 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:41 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:19:41 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:19:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:41 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:41 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:41 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:19:41 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:19:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:41 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:41 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:41 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:41 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:41 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:41 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:41 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:19:41 UTC] 📊 Database Info:
[17-Nov-2025 14:19:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:19:41 UTC]    Books columns count: 53
[17-Nov-2025 14:19:41 UTC]    Categories columns count: 7
[17-Nov-2025 14:19:41 UTC]    Language field in books: YES
[17-Nov-2025 14:19:41 UTC]    Format field in books: YES
[17-Nov-2025 14:19:41 UTC]    Description field in categories: YES
[17-Nov-2025 14:19:41 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:19:41 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:19:41 UTC]    Is_active field in books: YES
[17-Nov-2025 14:19:41 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:19:41 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:19:41 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:19:41 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:19:41 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:19:41 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:19:41 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:41 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:41 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:19:41 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:41 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:19:41 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:19:41 UTC] 📊 Database Info:
[17-Nov-2025 14:19:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:19:41 UTC]    Books columns count: 53
[17-Nov-2025 14:19:41 UTC]    Categories columns count: 7
[17-Nov-2025 14:19:41 UTC]    Language field in books: YES
[17-Nov-2025 14:19:41 UTC]    Format field in books: YES
[17-Nov-2025 14:19:41 UTC]    Description field in categories: YES
[17-Nov-2025 14:19:41 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:19:41 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:19:41 UTC]    Is_active field in books: YES
[17-Nov-2025 14:19:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:19:41 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:19:41 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:19:41 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:19:41 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:19:41 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:19:41 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:19:41 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:19:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:19:41 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:41 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:41 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:41 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:41 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:41 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:41 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:41 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:41 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:19:41 UTC] 📊 Database Info:
[17-Nov-2025 14:19:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:19:41 UTC]    Books columns count: 53
[17-Nov-2025 14:19:41 UTC]    Categories columns count: 7
[17-Nov-2025 14:19:41 UTC]    Language field in books: YES
[17-Nov-2025 14:19:41 UTC]    Format field in books: YES
[17-Nov-2025 14:19:41 UTC]    Description field in categories: YES
[17-Nov-2025 14:19:41 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:19:41 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:19:41 UTC]    Is_active field in books: YES
[17-Nov-2025 14:19:41 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:19:41 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:19:41 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:19:41 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:19:41 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:19:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:19:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:19:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:48 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:48 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:48 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:48 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:48 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:19:48 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:48 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:48 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:48 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:48 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:48 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:19:48 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:19:48 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:48 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:48 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:48 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:48 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:48 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:48 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:48 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:48 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:19:48 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:48 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:48 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:48 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:48 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:19:48 UTC] 📊 Database Info:
[17-Nov-2025 14:19:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:19:48 UTC]    Books columns count: 53
[17-Nov-2025 14:19:48 UTC]    Categories columns count: 7
[17-Nov-2025 14:19:48 UTC]    Language field in books: YES
[17-Nov-2025 14:19:48 UTC]    Format field in books: YES
[17-Nov-2025 14:19:48 UTC]    Description field in categories: YES
[17-Nov-2025 14:19:48 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:19:48 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:19:48 UTC]    Is_active field in books: YES
[17-Nov-2025 14:19:48 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:19:48 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:19:48 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:19:48 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:19:48 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:19:48 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:19:48 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:19:48 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:19:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:19:48 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:19:48 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:48 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:48 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:48 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:48 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:19:48 UTC] 📊 Database Info:
[17-Nov-2025 14:19:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:19:48 UTC]    Books columns count: 53
[17-Nov-2025 14:19:48 UTC]    Categories columns count: 7
[17-Nov-2025 14:19:48 UTC]    Language field in books: YES
[17-Nov-2025 14:19:48 UTC]    Format field in books: YES
[17-Nov-2025 14:19:48 UTC]    Description field in categories: YES
[17-Nov-2025 14:19:48 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:19:48 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:19:48 UTC]    Is_active field in books: YES
[17-Nov-2025 14:19:48 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:19:48 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:19:48 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:19:48 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:19:48 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:19:48 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:19:48 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:19:48 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:19:48 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:19:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:19:48 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:48 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:48 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:48 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:48 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:48 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:48 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:48 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:48 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:19:48 UTC] 📊 Database Info:
[17-Nov-2025 14:19:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:19:48 UTC]    Books columns count: 53
[17-Nov-2025 14:19:48 UTC]    Categories columns count: 7
[17-Nov-2025 14:19:48 UTC]    Language field in books: YES
[17-Nov-2025 14:19:48 UTC]    Format field in books: YES
[17-Nov-2025 14:19:48 UTC]    Description field in categories: YES
[17-Nov-2025 14:19:48 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:19:48 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:19:48 UTC]    Is_active field in books: YES
[17-Nov-2025 14:19:48 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:19:48 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:19:48 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:19:48 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:19:48 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:19:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:19:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:19:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:54 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:19:54 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:54 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:19:54 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:19:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:19:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:54 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:19:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:54 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:19:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:19:54 UTC] 📊 Database Info:
[17-Nov-2025 14:19:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:19:54 UTC]    Books columns count: 53
[17-Nov-2025 14:19:54 UTC]    Categories columns count: 7
[17-Nov-2025 14:19:54 UTC]    Language field in books: YES
[17-Nov-2025 14:19:54 UTC]    Format field in books: YES
[17-Nov-2025 14:19:54 UTC]    Description field in categories: YES
[17-Nov-2025 14:19:54 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:19:54 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:19:54 UTC]    Is_active field in books: YES
[17-Nov-2025 14:19:54 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:19:54 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:19:54 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:19:54 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:19:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:19:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:19:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:19:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:19:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:54 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:19:54 UTC] 📊 Database Info:
[17-Nov-2025 14:19:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:19:54 UTC]    Books columns count: 53
[17-Nov-2025 14:19:54 UTC]    Categories columns count: 7
[17-Nov-2025 14:19:54 UTC]    Language field in books: YES
[17-Nov-2025 14:19:54 UTC]    Format field in books: YES
[17-Nov-2025 14:19:54 UTC]    Description field in categories: YES
[17-Nov-2025 14:19:54 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:19:54 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:19:54 UTC]    Is_active field in books: YES
[17-Nov-2025 14:19:54 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:19:54 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:19:54 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:19:54 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:19:54 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:19:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:19:54 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:19:54 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:19:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:19:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:19:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:19:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:19:54 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:19:54 UTC] 📊 Database Info:
[17-Nov-2025 14:19:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:19:54 UTC]    Books columns count: 53
[17-Nov-2025 14:19:54 UTC]    Categories columns count: 7
[17-Nov-2025 14:19:54 UTC]    Language field in books: YES
[17-Nov-2025 14:19:54 UTC]    Format field in books: YES
[17-Nov-2025 14:19:54 UTC]    Description field in categories: YES
[17-Nov-2025 14:19:54 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:19:54 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:19:54 UTC]    Is_active field in books: YES
[17-Nov-2025 14:19:54 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:19:54 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:19:54 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:19:54 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:19:54 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:19:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:19:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:20:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:20:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:20:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:20:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:20:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:20:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:20:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:20:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:20:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:20:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:20:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:20:10 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:20:10 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:20:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:20:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:20:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:20:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:20:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:20:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:20:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:20:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:20:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:20:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:20:10 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:20:10 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:20:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:20:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:20:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:20:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:20:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:20:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:20:10 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:20:10 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:20:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:20:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:20:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:20:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:20:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:20:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:20:10 UTC] 📊 Database Info:
[17-Nov-2025 14:20:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:20:10 UTC]    Books columns count: 53
[17-Nov-2025 14:20:10 UTC]    Categories columns count: 7
[17-Nov-2025 14:20:10 UTC]    Language field in books: YES
[17-Nov-2025 14:20:10 UTC]    Format field in books: YES
[17-Nov-2025 14:20:10 UTC]    Description field in categories: YES
[17-Nov-2025 14:20:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:20:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:20:10 UTC]    Is_active field in books: YES
[17-Nov-2025 14:20:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:20:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:20:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:20:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:20:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:20:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:20:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:20:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:20:10 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:20:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:20:10 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:20:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:20:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:20:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:20:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:20:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:20:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:20:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:20:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:20:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:20:10 UTC] 📊 Database Info:
[17-Nov-2025 14:20:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:20:10 UTC]    Books columns count: 53
[17-Nov-2025 14:20:10 UTC]    Categories columns count: 7
[17-Nov-2025 14:20:10 UTC]    Language field in books: YES
[17-Nov-2025 14:20:10 UTC]    Format field in books: YES
[17-Nov-2025 14:20:10 UTC]    Description field in categories: YES
[17-Nov-2025 14:20:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:20:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:20:10 UTC]    Is_active field in books: YES
[17-Nov-2025 14:20:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:20:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:20:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:20:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:20:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:20:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:20:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:20:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:20:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:20:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:20:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:20:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:20:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:20:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:20:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:20:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:20:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:20:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:20:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:20:11 UTC] 📊 Database Info:
[17-Nov-2025 14:20:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:20:11 UTC]    Books columns count: 53
[17-Nov-2025 14:20:11 UTC]    Categories columns count: 7
[17-Nov-2025 14:20:11 UTC]    Language field in books: YES
[17-Nov-2025 14:20:11 UTC]    Format field in books: YES
[17-Nov-2025 14:20:11 UTC]    Description field in categories: YES
[17-Nov-2025 14:20:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:20:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:20:11 UTC]    Is_active field in books: YES
[17-Nov-2025 14:20:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:20:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:20:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:20:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:20:11 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:20:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:20:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:21:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:06 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:21:06 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:21:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:06 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:21:06 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:21:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:06 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:21:06 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:21:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:07 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:21:07 UTC] 📊 Database Info:
[17-Nov-2025 14:21:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:21:07 UTC]    Books columns count: 53
[17-Nov-2025 14:21:07 UTC]    Categories columns count: 7
[17-Nov-2025 14:21:07 UTC]    Language field in books: YES
[17-Nov-2025 14:21:07 UTC]    Format field in books: YES
[17-Nov-2025 14:21:07 UTC]    Description field in categories: YES
[17-Nov-2025 14:21:07 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:21:07 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:21:07 UTC]    Is_active field in books: YES
[17-Nov-2025 14:21:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:07 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:21:07 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:21:07 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:21:07 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:21:07 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:21:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:21:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:21:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:07 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:21:07 UTC] 📊 Database Info:
[17-Nov-2025 14:21:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:21:07 UTC]    Books columns count: 53
[17-Nov-2025 14:21:07 UTC]    Categories columns count: 7
[17-Nov-2025 14:21:07 UTC]    Language field in books: YES
[17-Nov-2025 14:21:07 UTC]    Format field in books: YES
[17-Nov-2025 14:21:07 UTC]    Description field in categories: YES
[17-Nov-2025 14:21:07 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:21:07 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:21:07 UTC]    Is_active field in books: YES
[17-Nov-2025 14:21:07 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:21:07 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:21:07 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:21:07 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:21:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:07 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:21:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:21:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:21:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:21:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:21:07 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:21:07 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:21:07 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:21:07 UTC] 📊 Database Info:
[17-Nov-2025 14:21:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:21:07 UTC]    Books columns count: 53
[17-Nov-2025 14:21:07 UTC]    Categories columns count: 7
[17-Nov-2025 14:21:07 UTC]    Language field in books: YES
[17-Nov-2025 14:21:07 UTC]    Format field in books: YES
[17-Nov-2025 14:21:07 UTC]    Description field in categories: YES
[17-Nov-2025 14:21:07 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:21:07 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:21:07 UTC]    Is_active field in books: YES
[17-Nov-2025 14:21:07 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:21:07 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:21:07 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:21:07 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:21:07 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:21:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:21:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:21:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:21:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:21:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:21:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:21:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:21:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:21:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:21:33 UTC] 📊 Database Info:
[17-Nov-2025 14:21:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:21:33 UTC]    Books columns count: 53
[17-Nov-2025 14:21:33 UTC]    Categories columns count: 7
[17-Nov-2025 14:21:33 UTC]    Language field in books: YES
[17-Nov-2025 14:21:33 UTC]    Format field in books: YES
[17-Nov-2025 14:21:33 UTC]    Description field in categories: YES
[17-Nov-2025 14:21:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:21:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:21:33 UTC]    Is_active field in books: YES
[17-Nov-2025 14:21:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:21:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:21:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:21:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:21:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:21:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:21:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:21:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:21:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:21:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:21:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:21:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:21:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:21:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:21:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:21:33 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:21:33 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:21:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:21:33 UTC] 📊 Database Info:
[17-Nov-2025 14:21:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:21:33 UTC]    Books columns count: 53
[17-Nov-2025 14:21:33 UTC]    Categories columns count: 7
[17-Nov-2025 14:21:33 UTC]    Language field in books: YES
[17-Nov-2025 14:21:33 UTC]    Format field in books: YES
[17-Nov-2025 14:21:33 UTC]    Description field in categories: YES
[17-Nov-2025 14:21:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:21:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:21:33 UTC]    Is_active field in books: YES
[17-Nov-2025 14:21:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:21:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:21:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:21:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:21:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:21:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:21:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:21:33 UTC] 📊 Database Info:
[17-Nov-2025 14:21:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:21:33 UTC]    Books columns count: 53
[17-Nov-2025 14:21:33 UTC]    Categories columns count: 7
[17-Nov-2025 14:21:33 UTC]    Language field in books: YES
[17-Nov-2025 14:21:33 UTC]    Format field in books: YES
[17-Nov-2025 14:21:33 UTC]    Description field in categories: YES
[17-Nov-2025 14:21:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:21:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:21:33 UTC]    Is_active field in books: YES
[17-Nov-2025 14:21:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:21:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:21:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:21:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:21:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:21:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:21:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:21:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:43 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:21:43 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:21:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:43 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:21:43 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:21:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:43 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:21:43 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:21:44 UTC] 📊 Database Info:
[17-Nov-2025 14:21:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:21:44 UTC]    Books columns count: 53
[17-Nov-2025 14:21:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:21:44 UTC]    Language field in books: YES
[17-Nov-2025 14:21:44 UTC]    Format field in books: YES
[17-Nov-2025 14:21:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:21:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:21:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:21:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:21:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:21:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:21:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:21:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:21:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:21:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:21:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:21:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:21:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:21:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:21:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:21:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:21:44 UTC] 📊 Database Info:
[17-Nov-2025 14:21:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:21:44 UTC]    Books columns count: 53
[17-Nov-2025 14:21:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:21:44 UTC]    Language field in books: YES
[17-Nov-2025 14:21:44 UTC]    Format field in books: YES
[17-Nov-2025 14:21:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:21:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:21:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:21:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:21:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:21:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:21:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:21:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:21:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:21:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:21:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:21:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:21:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:21:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:21:44 UTC] 📊 Database Info:
[17-Nov-2025 14:21:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:21:44 UTC]    Books columns count: 53
[17-Nov-2025 14:21:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:21:44 UTC]    Language field in books: YES
[17-Nov-2025 14:21:44 UTC]    Format field in books: YES
[17-Nov-2025 14:21:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:21:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:21:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:21:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:21:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:21:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:21:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:21:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:21:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:21:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:21:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:21:44 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:21:44 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:21:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:54 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:21:54 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:54 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:21:54 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:21:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:54 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:21:54 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:21:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:21:55 UTC] 📊 Database Info:
[17-Nov-2025 14:21:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:21:55 UTC]    Books columns count: 53
[17-Nov-2025 14:21:55 UTC]    Categories columns count: 7
[17-Nov-2025 14:21:55 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:21:55 UTC]    Language field in books: YES
[17-Nov-2025 14:21:55 UTC]    Format field in books: YES
[17-Nov-2025 14:21:55 UTC] 📊 Database Info:
[17-Nov-2025 14:21:55 UTC]    Description field in categories: YES
[17-Nov-2025 14:21:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:21:55 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:21:55 UTC]    Books columns count: 53
[17-Nov-2025 14:21:55 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:21:55 UTC]    Categories columns count: 7
[17-Nov-2025 14:21:55 UTC]    Is_active field in books: YES
[17-Nov-2025 14:21:55 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:21:55 UTC]    Language field in books: YES
[17-Nov-2025 14:21:55 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:21:55 UTC]    Format field in books: YES
[17-Nov-2025 14:21:55 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:21:55 UTC]    Description field in categories: YES
[17-Nov-2025 14:21:55 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:21:55 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:21:55 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:21:55 UTC]    Is_active field in books: YES
[17-Nov-2025 14:21:55 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:21:55 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:21:55 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:21:55 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:21:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:21:55 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:21:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:21:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:21:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:21:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:21:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:21:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:21:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:21:55 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:21:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:55 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:21:55 UTC] 📊 Database Info:
[17-Nov-2025 14:21:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:21:55 UTC]    Books columns count: 53
[17-Nov-2025 14:21:55 UTC]    Categories columns count: 7
[17-Nov-2025 14:21:55 UTC]    Language field in books: YES
[17-Nov-2025 14:21:55 UTC]    Format field in books: YES
[17-Nov-2025 14:21:55 UTC]    Description field in categories: YES
[17-Nov-2025 14:21:55 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:21:55 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:21:55 UTC]    Is_active field in books: YES
[17-Nov-2025 14:21:55 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:21:55 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:21:55 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:21:55 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:21:55 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:21:55 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:21:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:21:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:21:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:21:58 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:21:58 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:21:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:21:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:21:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:21:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:21:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:21:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:21:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:21:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:21:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:21:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:21:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:21:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:21:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:21:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:21:59 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:21:59 UTC] 📊 Database Info:
[17-Nov-2025 14:21:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:21:59 UTC]    Books columns count: 53
[17-Nov-2025 14:21:59 UTC]    Categories columns count: 7
[17-Nov-2025 14:21:59 UTC]    Language field in books: YES
[17-Nov-2025 14:21:59 UTC]    Format field in books: YES
[17-Nov-2025 14:21:59 UTC]    Description field in categories: YES
[17-Nov-2025 14:21:59 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:21:59 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:21:59 UTC]    Is_active field in books: YES
[17-Nov-2025 14:21:59 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:21:59 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:21:59 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:21:59 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:21:59 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:21:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:21:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:21:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:21:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:21:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:21:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:21:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:21:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:21:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:21:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:21:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:21:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:21:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:22:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:22:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:22:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:22:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:22:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:22:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:22:45 UTC] 📊 Database Info:
[17-Nov-2025 14:22:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:22:45 UTC]    Books columns count: 53
[17-Nov-2025 14:22:45 UTC]    Categories columns count: 7
[17-Nov-2025 14:22:45 UTC]    Language field in books: YES
[17-Nov-2025 14:22:45 UTC]    Format field in books: YES
[17-Nov-2025 14:22:45 UTC]    Description field in categories: YES
[17-Nov-2025 14:22:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:22:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:22:45 UTC]    Is_active field in books: YES
[17-Nov-2025 14:22:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:22:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:22:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:22:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:22:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:22:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:22:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:22:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:22:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:22:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:22:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:22:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:22:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:22:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:22:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:22:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:22:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:22:45 UTC] 📊 Database Info:
[17-Nov-2025 14:22:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:22:45 UTC]    Books columns count: 53
[17-Nov-2025 14:22:45 UTC]    Categories columns count: 7
[17-Nov-2025 14:22:45 UTC]    Language field in books: YES
[17-Nov-2025 14:22:45 UTC]    Format field in books: YES
[17-Nov-2025 14:22:45 UTC]    Description field in categories: YES
[17-Nov-2025 14:22:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:22:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:22:45 UTC]    Is_active field in books: YES
[17-Nov-2025 14:22:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:22:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:22:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:22:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:22:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:22:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:22:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:22:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:22:45 UTC] 📊 Database Info:
[17-Nov-2025 14:22:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:22:45 UTC]    Books columns count: 53
[17-Nov-2025 14:22:45 UTC]    Categories columns count: 7
[17-Nov-2025 14:22:45 UTC]    Language field in books: YES
[17-Nov-2025 14:22:45 UTC]    Format field in books: YES
[17-Nov-2025 14:22:45 UTC]    Description field in categories: YES
[17-Nov-2025 14:22:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:22:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:22:45 UTC]    Is_active field in books: YES
[17-Nov-2025 14:22:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:22:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:22:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:22:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:22:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:22:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:22:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:22:45 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:22:45 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:22:48 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:48 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:49 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:22:49 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:22:49 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:22:49 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:22:49 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:22:49 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:22:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:22:49 UTC] 📊 Database Info:
[17-Nov-2025 14:22:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:22:49 UTC]    Books columns count: 53
[17-Nov-2025 14:22:49 UTC]    Categories columns count: 7
[17-Nov-2025 14:22:49 UTC]    Language field in books: YES
[17-Nov-2025 14:22:49 UTC]    Format field in books: YES
[17-Nov-2025 14:22:49 UTC]    Description field in categories: YES
[17-Nov-2025 14:22:49 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:22:49 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:22:49 UTC]    Is_active field in books: YES
[17-Nov-2025 14:22:49 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:22:49 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:22:49 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:22:49 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:22:49 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:22:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:22:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:22:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:49 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:22:49 UTC] 📊 Database Info:
[17-Nov-2025 14:22:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:22:49 UTC]    Books columns count: 53
[17-Nov-2025 14:22:49 UTC]    Categories columns count: 7
[17-Nov-2025 14:22:49 UTC]    Language field in books: YES
[17-Nov-2025 14:22:49 UTC]    Format field in books: YES
[17-Nov-2025 14:22:49 UTC]    Description field in categories: YES
[17-Nov-2025 14:22:49 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:22:49 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:22:49 UTC]    Is_active field in books: YES
[17-Nov-2025 14:22:49 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:22:49 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:22:49 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:22:49 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:22:49 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:22:49 UTC] 📊 Database Info:
[17-Nov-2025 14:22:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:22:49 UTC]    Books columns count: 53
[17-Nov-2025 14:22:49 UTC]    Categories columns count: 7
[17-Nov-2025 14:22:49 UTC]    Language field in books: YES
[17-Nov-2025 14:22:49 UTC]    Format field in books: YES
[17-Nov-2025 14:22:49 UTC]    Description field in categories: YES
[17-Nov-2025 14:22:49 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:22:49 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:22:49 UTC]    Is_active field in books: YES
[17-Nov-2025 14:22:49 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:22:49 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:22:49 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:22:49 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:22:49 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:22:49 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:22:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:22:49 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:22:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:22:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:22:49 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:22:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:49 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:22:49 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:22:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:49 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:22:49 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:22:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:49 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:22:49 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:50 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:22:50 UTC] 📊 Database Info:
[17-Nov-2025 14:22:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:22:50 UTC]    Books columns count: 53
[17-Nov-2025 14:22:50 UTC]    Categories columns count: 7
[17-Nov-2025 14:22:50 UTC]    Language field in books: YES
[17-Nov-2025 14:22:50 UTC]    Format field in books: YES
[17-Nov-2025 14:22:50 UTC]    Description field in categories: YES
[17-Nov-2025 14:22:50 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:22:50 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:22:50 UTC]    Is_active field in books: YES
[17-Nov-2025 14:22:50 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:22:50 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:22:50 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:22:50 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:22:50 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:22:50 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:22:50 UTC] 📊 Database Info:
[17-Nov-2025 14:22:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:22:50 UTC]    Books columns count: 53
[17-Nov-2025 14:22:50 UTC]    Categories columns count: 7
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:22:50 UTC]    Language field in books: YES
[17-Nov-2025 14:22:50 UTC]    Format field in books: YES
[17-Nov-2025 14:22:50 UTC]    Description field in categories: YES
[17-Nov-2025 14:22:50 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:22:50 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:22:50 UTC]    Is_active field in books: YES
[17-Nov-2025 14:22:50 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:22:50 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:22:50 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:22:50 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:22:50 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:22:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:22:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:22:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:50 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:22:50 UTC] 📊 Database Info:
[17-Nov-2025 14:22:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:22:50 UTC]    Books columns count: 53
[17-Nov-2025 14:22:50 UTC]    Categories columns count: 7
[17-Nov-2025 14:22:50 UTC]    Language field in books: YES
[17-Nov-2025 14:22:50 UTC]    Format field in books: YES
[17-Nov-2025 14:22:50 UTC]    Description field in categories: YES
[17-Nov-2025 14:22:50 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:22:50 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:22:50 UTC]    Is_active field in books: YES
[17-Nov-2025 14:22:50 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:22:50 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:22:50 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:22:50 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:22:50 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:22:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:22:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:22:50 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:22:50 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:22:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:22:59 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:22:59 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:22:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:22:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:22:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:22:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:22:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:22:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:22:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:22:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:22:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:22:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:22:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:22:59 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:22:59 UTC] 📊 Database Info:
[17-Nov-2025 14:22:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:22:59 UTC]    Books columns count: 53
[17-Nov-2025 14:22:59 UTC]    Categories columns count: 7
[17-Nov-2025 14:22:59 UTC]    Language field in books: YES
[17-Nov-2025 14:22:59 UTC]    Format field in books: YES
[17-Nov-2025 14:22:59 UTC]    Description field in categories: YES
[17-Nov-2025 14:22:59 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:22:59 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:22:59 UTC]    Is_active field in books: YES
[17-Nov-2025 14:22:59 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:22:59 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:22:59 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:22:59 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:22:59 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:22:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:22:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:22:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:00 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:00 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:00 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:00 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:00 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:00 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:00 UTC] 📊 Database Info:
[17-Nov-2025 14:23:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:00 UTC]    Books columns count: 53
[17-Nov-2025 14:23:00 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:00 UTC]    Language field in books: YES
[17-Nov-2025 14:23:00 UTC]    Format field in books: YES
[17-Nov-2025 14:23:00 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:00 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:00 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:00 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:00 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:00 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:00 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:00 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:00 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:23:00 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:00 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:00 UTC] 📊 Database Info:
[17-Nov-2025 14:23:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:00 UTC]    Books columns count: 53
[17-Nov-2025 14:23:00 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:00 UTC]    Language field in books: YES
[17-Nov-2025 14:23:00 UTC]    Format field in books: YES
[17-Nov-2025 14:23:00 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:00 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:00 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:00 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:00 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:00 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:00 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:00 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:00 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:00 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:00 UTC] 📊 Database Info:
[17-Nov-2025 14:23:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:00 UTC]    Books columns count: 53
[17-Nov-2025 14:23:00 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:00 UTC]    Language field in books: YES
[17-Nov-2025 14:23:00 UTC]    Format field in books: YES
[17-Nov-2025 14:23:00 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:00 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:00 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:00 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:00 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:00 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:00 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:00 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:00 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:08 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:08 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:08 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:08 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:08 UTC] 📊 Database Info:
[17-Nov-2025 14:23:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:08 UTC]    Books columns count: 53
[17-Nov-2025 14:23:08 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:08 UTC]    Language field in books: YES
[17-Nov-2025 14:23:08 UTC]    Format field in books: YES
[17-Nov-2025 14:23:08 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:08 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:11 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:11 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:11 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:11 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:11 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:11 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:11 UTC] 📊 Database Info:
[17-Nov-2025 14:23:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:11 UTC]    Books columns count: 53
[17-Nov-2025 14:23:11 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:11 UTC]    Language field in books: YES
[17-Nov-2025 14:23:11 UTC]    Format field in books: YES
[17-Nov-2025 14:23:11 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:11 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:11 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:12 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:12 UTC] 📊 Database Info:
[17-Nov-2025 14:23:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:12 UTC]    Books columns count: 53
[17-Nov-2025 14:23:12 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:12 UTC]    Language field in books: YES
[17-Nov-2025 14:23:12 UTC]    Format field in books: YES
[17-Nov-2025 14:23:12 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:12 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:12 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:12 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:12 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:12 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:12 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:12 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:12 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:12 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:12 UTC] 📊 Database Info:
[17-Nov-2025 14:23:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:12 UTC]    Books columns count: 53
[17-Nov-2025 14:23:12 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:12 UTC]    Language field in books: YES
[17-Nov-2025 14:23:12 UTC]    Format field in books: YES
[17-Nov-2025 14:23:12 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:12 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:12 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:12 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:12 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:12 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:12 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:12 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:12 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:12 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:12 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:18 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:18 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:18 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:18 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:18 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:18 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:18 UTC] 📊 Database Info:
[17-Nov-2025 14:23:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:18 UTC]    Books columns count: 53
[17-Nov-2025 14:23:18 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:18 UTC]    Language field in books: YES
[17-Nov-2025 14:23:18 UTC]    Format field in books: YES
[17-Nov-2025 14:23:18 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:18 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:18 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:18 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:18 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:18 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:18 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:18 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:18 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:18 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:18 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:18 UTC] 📊 Database Info:
[17-Nov-2025 14:23:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:18 UTC]    Books columns count: 53
[17-Nov-2025 14:23:18 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:18 UTC]    Language field in books: YES
[17-Nov-2025 14:23:18 UTC]    Format field in books: YES
[17-Nov-2025 14:23:18 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:18 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:18 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:18 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:18 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:18 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:18 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:18 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:18 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:18 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:18 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:18 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:18 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:18 UTC] 📊 Database Info:
[17-Nov-2025 14:23:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:18 UTC]    Books columns count: 53
[17-Nov-2025 14:23:18 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:18 UTC]    Language field in books: YES
[17-Nov-2025 14:23:18 UTC]    Format field in books: YES
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:18 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:18 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:18 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:18 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:18 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:18 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:18 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:18 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:18 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:18 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:23:18 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:23:18 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:18 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:18 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:18 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:18 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:18 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:18 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:18 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:18 UTC] 📊 Database Info:
[17-Nov-2025 14:23:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:18 UTC]    Books columns count: 53
[17-Nov-2025 14:23:18 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:18 UTC]    Language field in books: YES
[17-Nov-2025 14:23:18 UTC]    Format field in books: YES
[17-Nov-2025 14:23:18 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:18 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:18 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:18 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:18 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:18 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:18 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:18 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:23:18 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:23:18 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:18 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:23:18 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:18 UTC] 📊 Database Info:
[17-Nov-2025 14:23:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:18 UTC]    Books columns count: 53
[17-Nov-2025 14:23:18 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:18 UTC]    Language field in books: YES
[17-Nov-2025 14:23:18 UTC]    Format field in books: YES
[17-Nov-2025 14:23:18 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:18 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:18 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:18 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:18 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:18 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:18 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:18 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:18 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:18 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:18 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:18 UTC] 📊 Database Info:
[17-Nov-2025 14:23:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:18 UTC]    Books columns count: 53
[17-Nov-2025 14:23:18 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:18 UTC]    Language field in books: YES
[17-Nov-2025 14:23:18 UTC]    Format field in books: YES
[17-Nov-2025 14:23:18 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:18 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:18 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:18 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:18 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:18 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:18 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:18 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:18 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:18 UTC] 📊 Database Info:
[17-Nov-2025 14:23:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:18 UTC]    Books columns count: 53
[17-Nov-2025 14:23:18 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:18 UTC]    Language field in books: YES
[17-Nov-2025 14:23:18 UTC]    Format field in books: YES
[17-Nov-2025 14:23:18 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:18 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:18 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:18 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:18 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:18 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:18 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:23:18 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:23:18 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:23:19 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:19 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:19 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:19 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:19 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:19 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:19 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:19 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:19 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:19 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:19 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:19 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:19 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:19 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:19 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:19 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:19 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:19 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:19 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:19 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:19 UTC] 📊 Database Info:
[17-Nov-2025 14:23:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:19 UTC]    Books columns count: 53
[17-Nov-2025 14:23:19 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:19 UTC]    Language field in books: YES
[17-Nov-2025 14:23:19 UTC]    Format field in books: YES
[17-Nov-2025 14:23:19 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:19 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:19 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:19 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:19 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:19 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:19 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:19 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:19 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:19 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:23:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:23:19 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:19 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:19 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:19 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:19 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:19 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:19 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:19 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:19 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:19 UTC] 📊 Database Info:
[17-Nov-2025 14:23:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:19 UTC]    Books columns count: 53
[17-Nov-2025 14:23:19 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:19 UTC]    Language field in books: YES
[17-Nov-2025 14:23:19 UTC]    Format field in books: YES
[17-Nov-2025 14:23:19 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:19 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:19 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:19 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:19 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:19 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:19 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:19 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:19 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:23:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:23:19 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:23:20 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:20 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:20 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:20 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:20 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:20 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:20 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:20 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:20 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:20 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:20 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:20 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:20 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:20 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:20 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:20 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:20 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:20 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:20 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:20 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:20 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:20 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:20 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:20 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:20 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:20 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:20 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:20 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:20 UTC] 📊 Database Info:
[17-Nov-2025 14:23:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:20 UTC]    Books columns count: 53
[17-Nov-2025 14:23:20 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:20 UTC]    Language field in books: YES
[17-Nov-2025 14:23:20 UTC]    Format field in books: YES
[17-Nov-2025 14:23:20 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:20 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:20 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:20 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:20 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:20 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:20 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:20 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:20 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:31 UTC] 📊 Database Info:
[17-Nov-2025 14:23:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:31 UTC]    Books columns count: 53
[17-Nov-2025 14:23:31 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:31 UTC]    Language field in books: YES
[17-Nov-2025 14:23:31 UTC]    Format field in books: YES
[17-Nov-2025 14:23:31 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:31 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:31 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:23:31 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:31 UTC] 📊 Database Info:
[17-Nov-2025 14:23:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:31 UTC]    Books columns count: 53
[17-Nov-2025 14:23:31 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:31 UTC]    Language field in books: YES
[17-Nov-2025 14:23:31 UTC]    Format field in books: YES
[17-Nov-2025 14:23:31 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:31 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:31 UTC] 📊 Database Info:
[17-Nov-2025 14:23:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:31 UTC]    Books columns count: 53
[17-Nov-2025 14:23:31 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:31 UTC]    Language field in books: YES
[17-Nov-2025 14:23:31 UTC]    Format field in books: YES
[17-Nov-2025 14:23:31 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:31 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:43 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:43 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:44 UTC] 📊 Database Info:
[17-Nov-2025 14:23:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:44 UTC]    Books columns count: 53
[17-Nov-2025 14:23:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:44 UTC]    Language field in books: YES
[17-Nov-2025 14:23:44 UTC]    Format field in books: YES
[17-Nov-2025 14:23:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:44 UTC] 📊 Database Info:
[17-Nov-2025 14:23:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:44 UTC]    Books columns count: 53
[17-Nov-2025 14:23:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:44 UTC]    Language field in books: YES
[17-Nov-2025 14:23:44 UTC]    Format field in books: YES
[17-Nov-2025 14:23:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:44 UTC] 📊 Database Info:
[17-Nov-2025 14:23:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:44 UTC]    Books columns count: 53
[17-Nov-2025 14:23:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:44 UTC]    Language field in books: YES
[17-Nov-2025 14:23:44 UTC]    Format field in books: YES
[17-Nov-2025 14:23:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:44 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:23:44 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:23:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:50 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:50 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:50 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:50 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:50 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:50 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:51 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:51 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:51 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:51 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:51 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:51 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:51 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:51 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:51 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:51 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:51 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:51 UTC] 📊 Database Info:
[17-Nov-2025 14:23:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:51 UTC]    Books columns count: 53
[17-Nov-2025 14:23:51 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:51 UTC]    Language field in books: YES
[17-Nov-2025 14:23:51 UTC]    Format field in books: YES
[17-Nov-2025 14:23:51 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:51 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:51 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:51 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:51 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:51 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:51 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:51 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:51 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:51 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:51 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:51 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:51 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:51 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:51 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:51 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:51 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:51 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:51 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:51 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:51 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:51 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:51 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:51 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:51 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:51 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:51 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:51 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:51 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:51 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:51 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:51 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:51 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:51 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:51 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:51 UTC] 📊 Database Info:
[17-Nov-2025 14:23:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:51 UTC]    Books columns count: 53
[17-Nov-2025 14:23:51 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:51 UTC]    Language field in books: YES
[17-Nov-2025 14:23:51 UTC]    Format field in books: YES
[17-Nov-2025 14:23:51 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:51 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:51 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:51 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:51 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:51 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:51 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:51 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:51 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:51 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:51 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:51 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:51 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:51 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:51 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:51 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:51 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:51 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:51 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:51 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:51 UTC] 📊 Database Info:
[17-Nov-2025 14:23:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:51 UTC]    Books columns count: 53
[17-Nov-2025 14:23:51 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:51 UTC]    Language field in books: YES
[17-Nov-2025 14:23:51 UTC]    Format field in books: YES
[17-Nov-2025 14:23:51 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:51 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:51 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:51 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:51 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:51 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:51 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:51 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:51 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:23:51 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:23:51 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:23:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:23:56 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:23:56 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:23:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:23:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:23:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:23:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:23:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:23:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:23:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:23:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:23:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:23:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:23:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:23:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:23:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:23:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:23:56 UTC] 📊 Database Info:
[17-Nov-2025 14:23:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:23:56 UTC]    Books columns count: 53
[17-Nov-2025 14:23:56 UTC]    Categories columns count: 7
[17-Nov-2025 14:23:56 UTC]    Language field in books: YES
[17-Nov-2025 14:23:56 UTC]    Format field in books: YES
[17-Nov-2025 14:23:56 UTC]    Description field in categories: YES
[17-Nov-2025 14:23:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:23:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:23:56 UTC]    Is_active field in books: YES
[17-Nov-2025 14:23:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:23:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:23:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:23:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:23:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:23:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:23:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:23:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:23:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:23:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:23:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:23:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:23:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:23:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:23:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:23:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:23:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:23:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:40 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:40 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:40 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:40 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:40 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:40 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:40 UTC] 📊 Database Info:
[17-Nov-2025 14:24:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:40 UTC]    Books columns count: 53
[17-Nov-2025 14:24:40 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:40 UTC]    Language field in books: YES
[17-Nov-2025 14:24:40 UTC]    Format field in books: YES
[17-Nov-2025 14:24:40 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:40 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:40 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:40 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:40 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:40 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:40 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:40 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:40 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:40 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:40 UTC] 📊 Database Info:
[17-Nov-2025 14:24:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:40 UTC]    Books columns count: 53
[17-Nov-2025 14:24:40 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:40 UTC]    Language field in books: YES
[17-Nov-2025 14:24:40 UTC]    Format field in books: YES
[17-Nov-2025 14:24:40 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:40 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:40 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:40 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:40 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:40 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:40 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:40 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:40 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:40 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:40 UTC] 📊 Database Info:
[17-Nov-2025 14:24:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:40 UTC]    Books columns count: 53
[17-Nov-2025 14:24:40 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:40 UTC]    Language field in books: YES
[17-Nov-2025 14:24:40 UTC]    Format field in books: YES
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:40 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:40 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:40 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:40 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:40 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:40 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:40 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:40 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:40 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:40 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:24:40 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:24:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:44 UTC] 📊 Database Info:
[17-Nov-2025 14:24:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:44 UTC]    Books columns count: 53
[17-Nov-2025 14:24:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:44 UTC]    Language field in books: YES
[17-Nov-2025 14:24:44 UTC]    Format field in books: YES
[17-Nov-2025 14:24:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:24:44 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:24:44 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:24:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:44 UTC] 📊 Database Info:
[17-Nov-2025 14:24:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:44 UTC]    Books columns count: 53
[17-Nov-2025 14:24:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:44 UTC]    Language field in books: YES
[17-Nov-2025 14:24:44 UTC]    Format field in books: YES
[17-Nov-2025 14:24:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:44 UTC] 📊 Database Info:
[17-Nov-2025 14:24:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:44 UTC]    Books columns count: 53
[17-Nov-2025 14:24:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:44 UTC]    Language field in books: YES
[17-Nov-2025 14:24:44 UTC]    Format field in books: YES
[17-Nov-2025 14:24:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:45 UTC] 📊 Database Info:
[17-Nov-2025 14:24:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:45 UTC]    Books columns count: 53
[17-Nov-2025 14:24:45 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:45 UTC]    Language field in books: YES
[17-Nov-2025 14:24:45 UTC]    Format field in books: YES
[17-Nov-2025 14:24:45 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:45 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:24:45 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:24:45 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:24:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:45 UTC] 📊 Database Info:
[17-Nov-2025 14:24:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:45 UTC]    Books columns count: 53
[17-Nov-2025 14:24:45 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:45 UTC]    Language field in books: YES
[17-Nov-2025 14:24:45 UTC]    Format field in books: YES
[17-Nov-2025 14:24:45 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:45 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:45 UTC] 📊 Database Info:
[17-Nov-2025 14:24:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:45 UTC]    Books columns count: 53
[17-Nov-2025 14:24:45 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:45 UTC]    Language field in books: YES
[17-Nov-2025 14:24:45 UTC]    Format field in books: YES
[17-Nov-2025 14:24:45 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:45 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:45 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:45 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:45 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:45 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:45 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:45 UTC] 📊 Database Info:
[17-Nov-2025 14:24:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:45 UTC]    Books columns count: 53
[17-Nov-2025 14:24:45 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:45 UTC]    Language field in books: YES
[17-Nov-2025 14:24:45 UTC]    Format field in books: YES
[17-Nov-2025 14:24:45 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:45 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:45 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:45 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:45 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:45 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:45 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:45 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:45 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:45 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:24:45 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:24:45 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:24:45 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:45 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:45 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:45 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:45 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:45 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:45 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:45 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:45 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:46 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:46 UTC] 📊 Database Info:
[17-Nov-2025 14:24:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:46 UTC]    Books columns count: 53
[17-Nov-2025 14:24:46 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:46 UTC]    Language field in books: YES
[17-Nov-2025 14:24:46 UTC]    Format field in books: YES
[17-Nov-2025 14:24:46 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:46 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:46 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:46 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:46 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:46 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:46 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:46 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:46 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:24:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:24:46 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:24:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:46 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:46 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:46 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:46 UTC] 📊 Database Info:
[17-Nov-2025 14:24:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:46 UTC]    Books columns count: 53
[17-Nov-2025 14:24:46 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:46 UTC]    Language field in books: YES
[17-Nov-2025 14:24:46 UTC]    Format field in books: YES
[17-Nov-2025 14:24:46 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:46 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:46 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:46 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:46 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:46 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:46 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:46 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:46 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:24:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:24:46 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:24:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:46 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:46 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:46 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:46 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:46 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:46 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:46 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:46 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:46 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:46 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:46 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:46 UTC] 📊 Database Info:
[17-Nov-2025 14:24:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:46 UTC]    Books columns count: 53
[17-Nov-2025 14:24:46 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:46 UTC]    Language field in books: YES
[17-Nov-2025 14:24:46 UTC]    Format field in books: YES
[17-Nov-2025 14:24:46 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:46 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:46 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:46 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:46 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:46 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:46 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:46 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:46 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:46 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:24:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:24:46 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:24:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:50 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:50 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:50 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:50 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:50 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:50 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:51 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:51 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:51 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:51 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:51 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:51 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:51 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:51 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:51 UTC] 📊 Database Info:
[17-Nov-2025 14:24:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:51 UTC]    Books columns count: 53
[17-Nov-2025 14:24:51 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:51 UTC]    Language field in books: YES
[17-Nov-2025 14:24:51 UTC]    Format field in books: YES
[17-Nov-2025 14:24:51 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:51 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:51 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:51 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:51 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:51 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:51 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:51 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:51 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:51 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:51 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:51 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:51 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:51 UTC] 📊 Database Info:
[17-Nov-2025 14:24:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:51 UTC]    Books columns count: 53
[17-Nov-2025 14:24:51 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:51 UTC]    Language field in books: YES
[17-Nov-2025 14:24:51 UTC]    Format field in books: YES
[17-Nov-2025 14:24:51 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:51 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:51 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:51 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:51 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:51 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:51 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:51 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:51 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:24:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:24:51 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:24:51 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:51 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:51 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:51 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:51 UTC] 📊 Database Info:
[17-Nov-2025 14:24:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:51 UTC]    Books columns count: 53
[17-Nov-2025 14:24:51 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:51 UTC]    Language field in books: YES
[17-Nov-2025 14:24:51 UTC]    Format field in books: YES
[17-Nov-2025 14:24:51 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:51 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:51 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:51 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:51 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:51 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:51 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:51 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:51 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:51 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:51 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:51 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:51 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:51 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:51 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:51 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:51 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:51 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:51 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:51 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:51 UTC] 📊 Database Info:
[17-Nov-2025 14:24:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:51 UTC]    Books columns count: 53
[17-Nov-2025 14:24:51 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:51 UTC]    Language field in books: YES
[17-Nov-2025 14:24:51 UTC]    Format field in books: YES
[17-Nov-2025 14:24:51 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:51 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:51 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:51 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:51 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:51 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:51 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:51 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:51 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:51 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:24:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:24:51 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:24:51 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:51 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:51 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:51 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:51 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:51 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:51 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:51 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:51 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:52 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:52 UTC] 📊 Database Info:
[17-Nov-2025 14:24:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:52 UTC]    Books columns count: 53
[17-Nov-2025 14:24:52 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:52 UTC]    Language field in books: YES
[17-Nov-2025 14:24:52 UTC]    Format field in books: YES
[17-Nov-2025 14:24:52 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:52 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:52 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:52 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:52 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:52 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:52 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:52 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:52 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:24:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:24:52 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:24:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:52 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:52 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:52 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:52 UTC] 📊 Database Info:
[17-Nov-2025 14:24:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:52 UTC]    Books columns count: 53
[17-Nov-2025 14:24:52 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:52 UTC]    Language field in books: YES
[17-Nov-2025 14:24:52 UTC]    Format field in books: YES
[17-Nov-2025 14:24:52 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:52 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:52 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:52 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:52 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:52 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:52 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:52 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:52 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:24:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:24:52 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:24:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:56 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:56 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:56 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:56 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:56 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:56 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:56 UTC] 📊 Database Info:
[17-Nov-2025 14:24:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:56 UTC]    Books columns count: 53
[17-Nov-2025 14:24:56 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:56 UTC]    Language field in books: YES
[17-Nov-2025 14:24:56 UTC]    Format field in books: YES
[17-Nov-2025 14:24:56 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:56 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:56 UTC] 📊 Database Info:
[17-Nov-2025 14:24:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:56 UTC]    Books columns count: 53
[17-Nov-2025 14:24:56 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:56 UTC]    Language field in books: YES
[17-Nov-2025 14:24:56 UTC]    Format field in books: YES
[17-Nov-2025 14:24:56 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:56 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:56 UTC] 📊 Database Info:
[17-Nov-2025 14:24:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:56 UTC]    Books columns count: 53
[17-Nov-2025 14:24:56 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:56 UTC]    Language field in books: YES
[17-Nov-2025 14:24:56 UTC]    Format field in books: YES
[17-Nov-2025 14:24:56 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:56 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:24:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:24:56 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:24:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:56 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:56 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:57 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:57 UTC] 📊 Database Info:
[17-Nov-2025 14:24:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:57 UTC]    Books columns count: 53
[17-Nov-2025 14:24:57 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:57 UTC]    Language field in books: YES
[17-Nov-2025 14:24:57 UTC]    Format field in books: YES
[17-Nov-2025 14:24:57 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:57 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:57 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:57 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:57 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:57 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:57 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:57 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:57 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:24:57 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:24:57 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:24:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:24:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:24:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:24:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:24:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:24:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:24:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:24:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:24:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:24:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:24:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:24:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:24:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:24:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:24:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:24:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:24:57 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:24:57 UTC] 📊 Database Info:
[17-Nov-2025 14:24:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:24:57 UTC]    Books columns count: 53
[17-Nov-2025 14:24:57 UTC]    Categories columns count: 7
[17-Nov-2025 14:24:57 UTC]    Language field in books: YES
[17-Nov-2025 14:24:57 UTC]    Format field in books: YES
[17-Nov-2025 14:24:57 UTC]    Description field in categories: YES
[17-Nov-2025 14:24:57 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:24:57 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:24:57 UTC]    Is_active field in books: YES
[17-Nov-2025 14:24:57 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:24:57 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:24:57 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:24:57 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:24:57 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:24:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:24:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:24:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:24:57 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:24:57 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:25:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:08 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:08 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:08 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:08 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:08 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:08 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:08 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:08 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:08 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:08 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:08 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:25:08 UTC] 📊 Database Info:
[17-Nov-2025 14:25:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:25:08 UTC]    Books columns count: 53
[17-Nov-2025 14:25:08 UTC]    Categories columns count: 7
[17-Nov-2025 14:25:08 UTC]    Language field in books: YES
[17-Nov-2025 14:25:08 UTC]    Format field in books: YES
[17-Nov-2025 14:25:08 UTC]    Description field in categories: YES
[17-Nov-2025 14:25:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:25:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:25:08 UTC]    Is_active field in books: YES
[17-Nov-2025 14:25:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:25:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:25:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:25:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:25:08 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:25:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:08 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:08 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:25:08 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:25:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:25:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:25:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:25:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:25:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:25:08 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:08 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:25:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:25:08 UTC] 📊 Database Info:
[17-Nov-2025 14:25:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:25:08 UTC]    Books columns count: 53
[17-Nov-2025 14:25:08 UTC]    Categories columns count: 7
[17-Nov-2025 14:25:08 UTC]    Language field in books: YES
[17-Nov-2025 14:25:08 UTC]    Format field in books: YES
[17-Nov-2025 14:25:08 UTC]    Description field in categories: YES
[17-Nov-2025 14:25:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:25:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:25:08 UTC]    Is_active field in books: YES
[17-Nov-2025 14:25:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:25:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:25:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:25:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:25:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:25:08 UTC] 📊 Database Info:
[17-Nov-2025 14:25:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:25:08 UTC]    Books columns count: 53
[17-Nov-2025 14:25:08 UTC]    Categories columns count: 7
[17-Nov-2025 14:25:08 UTC]    Language field in books: YES
[17-Nov-2025 14:25:08 UTC]    Format field in books: YES
[17-Nov-2025 14:25:08 UTC]    Description field in categories: YES
[17-Nov-2025 14:25:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:25:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:25:08 UTC]    Is_active field in books: YES
[17-Nov-2025 14:25:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:25:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:25:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:25:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:25:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:25:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:25:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:25:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:25:08 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:08 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:09 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:09 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:09 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:09 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:09 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:09 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:09 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:09 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:09 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:09 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:09 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:09 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:09 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:09 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:09 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:09 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:09 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:09 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:09 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:25:09 UTC] 📊 Database Info:
[17-Nov-2025 14:25:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:25:09 UTC]    Books columns count: 53
[17-Nov-2025 14:25:09 UTC]    Categories columns count: 7
[17-Nov-2025 14:25:09 UTC]    Language field in books: YES
[17-Nov-2025 14:25:09 UTC]    Format field in books: YES
[17-Nov-2025 14:25:09 UTC]    Description field in categories: YES
[17-Nov-2025 14:25:09 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:25:09 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:25:09 UTC]    Is_active field in books: YES
[17-Nov-2025 14:25:09 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:25:09 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:25:09 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:25:09 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:25:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:25:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:25:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:25:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:25:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:25:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:25:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:25:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:25:10 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:25:10 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:25:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:25:10 UTC] 📊 Database Info:
[17-Nov-2025 14:25:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:25:10 UTC]    Books columns count: 53
[17-Nov-2025 14:25:10 UTC]    Categories columns count: 7
[17-Nov-2025 14:25:10 UTC]    Language field in books: YES
[17-Nov-2025 14:25:10 UTC]    Format field in books: YES
[17-Nov-2025 14:25:10 UTC]    Description field in categories: YES
[17-Nov-2025 14:25:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:25:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:25:10 UTC]    Is_active field in books: YES
[17-Nov-2025 14:25:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:25:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:25:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:25:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:25:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:25:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:25:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:25:10 UTC] 📊 Database Info:
[17-Nov-2025 14:25:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:25:10 UTC]    Books columns count: 53
[17-Nov-2025 14:25:10 UTC]    Categories columns count: 7
[17-Nov-2025 14:25:10 UTC]    Language field in books: YES
[17-Nov-2025 14:25:10 UTC]    Format field in books: YES
[17-Nov-2025 14:25:10 UTC]    Description field in categories: YES
[17-Nov-2025 14:25:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:25:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:25:10 UTC]    Is_active field in books: YES
[17-Nov-2025 14:25:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:25:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:25:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:25:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:25:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:10 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:10 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:25:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:25:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:25:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:10 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:10 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:10 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:10 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:25:10 UTC] 📊 Database Info:
[17-Nov-2025 14:25:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:25:10 UTC]    Books columns count: 53
[17-Nov-2025 14:25:10 UTC]    Categories columns count: 7
[17-Nov-2025 14:25:10 UTC]    Language field in books: YES
[17-Nov-2025 14:25:10 UTC]    Format field in books: YES
[17-Nov-2025 14:25:10 UTC]    Description field in categories: YES
[17-Nov-2025 14:25:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:25:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:25:10 UTC]    Is_active field in books: YES
[17-Nov-2025 14:25:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:25:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:25:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:25:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:25:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:25:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:25:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:25:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:25:10 UTC] 📊 Database Info:
[17-Nov-2025 14:25:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:25:10 UTC]    Books columns count: 53
[17-Nov-2025 14:25:10 UTC]    Categories columns count: 7
[17-Nov-2025 14:25:10 UTC]    Language field in books: YES
[17-Nov-2025 14:25:10 UTC]    Format field in books: YES
[17-Nov-2025 14:25:10 UTC]    Description field in categories: YES
[17-Nov-2025 14:25:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:25:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:25:10 UTC]    Is_active field in books: YES
[17-Nov-2025 14:25:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:25:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:25:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:25:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:25:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:25:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:25:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:25:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:25:10 UTC] 📊 Database Info:
[17-Nov-2025 14:25:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:25:10 UTC]    Books columns count: 53
[17-Nov-2025 14:25:10 UTC]    Categories columns count: 7
[17-Nov-2025 14:25:10 UTC]    Language field in books: YES
[17-Nov-2025 14:25:10 UTC]    Format field in books: YES
[17-Nov-2025 14:25:10 UTC]    Description field in categories: YES
[17-Nov-2025 14:25:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:25:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:25:10 UTC]    Is_active field in books: YES
[17-Nov-2025 14:25:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:25:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:25:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:25:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:25:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:25:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:25:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:25:10 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:25:10 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:25:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:56 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:56 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:56 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:56 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:56 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:56 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:25:56 UTC] 📊 Database Info:
[17-Nov-2025 14:25:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:25:56 UTC]    Books columns count: 53
[17-Nov-2025 14:25:56 UTC]    Categories columns count: 7
[17-Nov-2025 14:25:56 UTC]    Language field in books: YES
[17-Nov-2025 14:25:56 UTC]    Format field in books: YES
[17-Nov-2025 14:25:56 UTC]    Description field in categories: YES
[17-Nov-2025 14:25:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:25:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:25:56 UTC]    Is_active field in books: YES
[17-Nov-2025 14:25:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:25:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:25:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:25:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:25:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:25:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:25:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:25:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:25:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:25:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:25:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:25:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:25:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:25:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:25:56 UTC] 📊 Database Info:
[17-Nov-2025 14:25:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:25:56 UTC]    Books columns count: 53
[17-Nov-2025 14:25:56 UTC]    Categories columns count: 7
[17-Nov-2025 14:25:56 UTC]    Language field in books: YES
[17-Nov-2025 14:25:56 UTC]    Format field in books: YES
[17-Nov-2025 14:25:56 UTC]    Description field in categories: YES
[17-Nov-2025 14:25:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:25:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:25:56 UTC]    Is_active field in books: YES
[17-Nov-2025 14:25:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:25:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:25:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:25:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:25:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:25:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:25:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:25:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:25:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:25:56 UTC] 📊 Database Info:
[17-Nov-2025 14:25:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:25:56 UTC]    Books columns count: 53
[17-Nov-2025 14:25:56 UTC]    Categories columns count: 7
[17-Nov-2025 14:25:56 UTC]    Language field in books: YES
[17-Nov-2025 14:25:56 UTC]    Format field in books: YES
[17-Nov-2025 14:25:56 UTC]    Description field in categories: YES
[17-Nov-2025 14:25:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:25:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:25:56 UTC]    Is_active field in books: YES
[17-Nov-2025 14:25:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:25:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:25:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:25:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:25:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:25:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:25:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:25:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:25:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:25:56 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:25:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:25:57 UTC] 📊 Database Info:
[17-Nov-2025 14:25:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:25:57 UTC]    Books columns count: 53
[17-Nov-2025 14:25:57 UTC]    Categories columns count: 7
[17-Nov-2025 14:25:57 UTC]    Language field in books: YES
[17-Nov-2025 14:25:57 UTC]    Format field in books: YES
[17-Nov-2025 14:25:57 UTC]    Description field in categories: YES
[17-Nov-2025 14:25:57 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:25:57 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:25:57 UTC]    Is_active field in books: YES
[17-Nov-2025 14:25:57 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:25:57 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:25:57 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:25:57 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:25:57 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:25:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:25:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:25:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:25:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:25:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:25:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:25:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:25:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:25:57 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:25:57 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:57 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:25:57 UTC] 📊 Database Info:
[17-Nov-2025 14:25:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:25:57 UTC]    Books columns count: 53
[17-Nov-2025 14:25:57 UTC]    Categories columns count: 7
[17-Nov-2025 14:25:57 UTC]    Language field in books: YES
[17-Nov-2025 14:25:57 UTC]    Format field in books: YES
[17-Nov-2025 14:25:57 UTC]    Description field in categories: YES
[17-Nov-2025 14:25:57 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:25:57 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:25:57 UTC]    Is_active field in books: YES
[17-Nov-2025 14:25:57 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:25:57 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:25:57 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:25:57 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:25:57 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:25:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:25:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:25:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:25:57 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:25:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:57 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:57 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:25:57 UTC] 📊 Database Info:
[17-Nov-2025 14:25:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:25:57 UTC]    Books columns count: 53
[17-Nov-2025 14:25:57 UTC]    Categories columns count: 7
[17-Nov-2025 14:25:57 UTC]    Language field in books: YES
[17-Nov-2025 14:25:57 UTC]    Format field in books: YES
[17-Nov-2025 14:25:57 UTC]    Description field in categories: YES
[17-Nov-2025 14:25:57 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:25:57 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:25:57 UTC]    Is_active field in books: YES
[17-Nov-2025 14:25:57 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:25:57 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:25:57 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:25:57 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:25:57 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:25:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:25:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:25:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:25:57 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:25:57 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:25:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:59 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:25:59 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:59 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:59 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:59 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:59 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:25:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:25:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:25:59 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:59 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:25:59 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:25:59 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:25:59 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:25:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:59 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:25:59 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:25:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:25:59 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:00 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:00 UTC] 📊 Database Info:
[17-Nov-2025 14:26:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:00 UTC]    Books columns count: 53
[17-Nov-2025 14:26:00 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:00 UTC]    Language field in books: YES
[17-Nov-2025 14:26:00 UTC]    Format field in books: YES
[17-Nov-2025 14:26:00 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:00 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:00 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:00 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:00 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:00 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:00 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:00 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:00 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:00 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:00 UTC] 📊 Database Info:
[17-Nov-2025 14:26:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:00 UTC]    Books columns count: 53
[17-Nov-2025 14:26:00 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:00 UTC]    Language field in books: YES
[17-Nov-2025 14:26:00 UTC]    Format field in books: YES
[17-Nov-2025 14:26:00 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:00 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:00 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:00 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:00 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:00 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:00 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:00 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:00 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:00 UTC] 📊 Database Info:
[17-Nov-2025 14:26:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:00 UTC]    Books columns count: 53
[17-Nov-2025 14:26:00 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:00 UTC]    Language field in books: YES
[17-Nov-2025 14:26:00 UTC]    Format field in books: YES
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:00 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:00 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:00 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:00 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:00 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:00 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:00 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:00 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:00 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:26:00 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:26:00 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:00 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:00 UTC] 📊 Database Info:
[17-Nov-2025 14:26:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:00 UTC]    Books columns count: 53
[17-Nov-2025 14:26:00 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:00 UTC]    Language field in books: YES
[17-Nov-2025 14:26:00 UTC]    Format field in books: YES
[17-Nov-2025 14:26:00 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:00 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:00 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:00 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:00 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:00 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:00 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:00 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:00 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:26:00 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:26:00 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:26:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:00 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:00 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:00 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:00 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:00 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:00 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:00 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:00 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:00 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:00 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:26:00 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:26:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:01 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:26:01 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:26:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:01 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:01 UTC] 📊 Database Info:
[17-Nov-2025 14:26:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:01 UTC]    Books columns count: 53
[17-Nov-2025 14:26:01 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:01 UTC]    Language field in books: YES
[17-Nov-2025 14:26:01 UTC]    Format field in books: YES
[17-Nov-2025 14:26:01 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:01 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:01 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:01 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:01 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:01 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:01 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:01 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:01 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:26:01 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:26:01 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:26:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:01 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:01 UTC] 📊 Database Info:
[17-Nov-2025 14:26:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:01 UTC]    Books columns count: 53
[17-Nov-2025 14:26:01 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:01 UTC]    Language field in books: YES
[17-Nov-2025 14:26:01 UTC]    Format field in books: YES
[17-Nov-2025 14:26:01 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:01 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:01 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:01 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:01 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:01 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:01 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:01 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:01 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:26:01 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:26:01 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:26:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:26:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:26:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:26:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:05 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:26:05 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:26:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:05 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:26:05 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:06 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:26:06 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:26:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:06 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:26:06 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:06 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:26:06 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:06 UTC] 📊 Database Info:
[17-Nov-2025 14:26:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:06 UTC]    Books columns count: 53
[17-Nov-2025 14:26:06 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:06 UTC]    Language field in books: YES
[17-Nov-2025 14:26:06 UTC]    Format field in books: YES
[17-Nov-2025 14:26:06 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:06 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:06 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:06 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:06 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:06 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:06 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:06 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:06 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:06 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:26:06 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:26:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:07 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:07 UTC] 📊 Database Info:
[17-Nov-2025 14:26:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:07 UTC]    Books columns count: 53
[17-Nov-2025 14:26:07 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:07 UTC]    Language field in books: YES
[17-Nov-2025 14:26:07 UTC]    Format field in books: YES
[17-Nov-2025 14:26:07 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:07 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:07 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:07 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:07 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:07 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:07 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:07 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:07 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:26:07 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:07 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:26:07 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:26:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:07 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:26:07 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:07 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:26:07 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:26:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:07 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:07 UTC] 📊 Database Info:
[17-Nov-2025 14:26:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:07 UTC]    Books columns count: 53
[17-Nov-2025 14:26:07 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:07 UTC]    Language field in books: YES
[17-Nov-2025 14:26:07 UTC]    Format field in books: YES
[17-Nov-2025 14:26:07 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:07 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:07 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:07 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:07 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:07 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:07 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:07 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:07 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:07 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:07 UTC] 📊 Database Info:
[17-Nov-2025 14:26:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:07 UTC]    Books columns count: 53
[17-Nov-2025 14:26:07 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:07 UTC]    Language field in books: YES
[17-Nov-2025 14:26:07 UTC]    Format field in books: YES
[17-Nov-2025 14:26:07 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:07 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:07 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:07 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:07 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:07 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:07 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:07 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:07 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:07 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:26:07 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:26:07 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:26:07 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:26:07 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:26:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:07 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:26:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:07 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:26:07 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:26:07 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:08 UTC] 📊 Database Info:
[17-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:08 UTC]    Books columns count: 53
[17-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:08 UTC]    Language field in books: YES
[17-Nov-2025 14:26:08 UTC]    Format field in books: YES
[17-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:08 UTC] 📊 Database Info:
[17-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:08 UTC]    Books columns count: 53
[17-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:08 UTC]    Language field in books: YES
[17-Nov-2025 14:26:08 UTC]    Format field in books: YES
[17-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:08 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:08 UTC] 📊 Database Info:
[17-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:08 UTC]    Books columns count: 53
[17-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:08 UTC]    Language field in books: YES
[17-Nov-2025 14:26:08 UTC]    Format field in books: YES
[17-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:08 UTC] 📊 Database Info:
[17-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:08 UTC]    Books columns count: 53
[17-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:08 UTC]    Language field in books: YES
[17-Nov-2025 14:26:08 UTC]    Format field in books: YES
[17-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:08 UTC] 📊 Database Info:
[17-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:08 UTC]    Books columns count: 53
[17-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:08 UTC]    Language field in books: YES
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:08 UTC]    Format field in books: YES
[17-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:08 UTC] 📊 Database Info:
[17-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:08 UTC]    Books columns count: 53
[17-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:08 UTC]    Language field in books: YES
[17-Nov-2025 14:26:08 UTC]    Format field in books: YES
[17-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:08 UTC] 📊 Database Info:
[17-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:08 UTC]    Books columns count: 53
[17-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:08 UTC]    Language field in books: YES
[17-Nov-2025 14:26:08 UTC]    Format field in books: YES
[17-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:08 UTC] 📊 Database Info:
[17-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:08 UTC]    Books columns count: 53
[17-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:08 UTC]    Language field in books: YES
[17-Nov-2025 14:26:08 UTC]    Format field in books: YES
[17-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:08 UTC] 📊 Database Info:
[17-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:08 UTC]    Books columns count: 53
[17-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:08 UTC]    Language field in books: YES
[17-Nov-2025 14:26:08 UTC]    Format field in books: YES
[17-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:26:08 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:08 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:08 UTC] 📊 Database Info:
[17-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:08 UTC]    Books columns count: 53
[17-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:08 UTC]    Language field in books: YES
[17-Nov-2025 14:26:08 UTC]    Format field in books: YES
[17-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:08 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:26:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:26:08 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:08 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:26:08 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:26:08 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:08 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:26:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:26:08 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:26:08 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:26:08 UTC] 📊 Database Info:
[17-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:26:08 UTC]    Books columns count: 53
[17-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[17-Nov-2025 14:26:08 UTC]    Language field in books: YES
[17-Nov-2025 14:26:08 UTC]    Format field in books: YES
[17-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:26:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:27:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:27:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:27:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:27:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:27:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:27:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:27:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:27:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:27:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:27:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:27:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:27:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:27:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:27:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:27:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:27:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:27:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:27:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:27:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:27:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:27:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:27:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:27:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:27:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:27:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:27:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:27:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:27:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:27:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:27:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:27:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:27:37 UTC] 📊 Database Info:
[17-Nov-2025 14:27:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:27:37 UTC]    Books columns count: 53
[17-Nov-2025 14:27:37 UTC]    Categories columns count: 7
[17-Nov-2025 14:27:37 UTC]    Language field in books: YES
[17-Nov-2025 14:27:37 UTC]    Format field in books: YES
[17-Nov-2025 14:27:37 UTC]    Description field in categories: YES
[17-Nov-2025 14:27:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:27:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:27:37 UTC]    Is_active field in books: YES
[17-Nov-2025 14:27:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:27:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:27:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:27:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:27:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:27:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:27:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:27:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:27:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:27:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:27:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:27:37 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:27:37 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:27:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:27:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:27:37 UTC] 📊 Database Info:
[17-Nov-2025 14:27:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:27:37 UTC]    Books columns count: 53
[17-Nov-2025 14:27:37 UTC]    Categories columns count: 7
[17-Nov-2025 14:27:37 UTC]    Language field in books: YES
[17-Nov-2025 14:27:37 UTC]    Format field in books: YES
[17-Nov-2025 14:27:37 UTC]    Description field in categories: YES
[17-Nov-2025 14:27:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:27:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:27:37 UTC]    Is_active field in books: YES
[17-Nov-2025 14:27:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:27:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:27:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:27:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:27:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:27:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:27:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:27:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:27:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:27:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:27:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:27:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:27:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:27:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:27:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:27:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:27:37 UTC] 📊 Database Info:
[17-Nov-2025 14:27:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:27:37 UTC]    Books columns count: 53
[17-Nov-2025 14:27:37 UTC]    Categories columns count: 7
[17-Nov-2025 14:27:37 UTC]    Language field in books: YES
[17-Nov-2025 14:27:37 UTC]    Format field in books: YES
[17-Nov-2025 14:27:37 UTC]    Description field in categories: YES
[17-Nov-2025 14:27:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:27:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:27:37 UTC]    Is_active field in books: YES
[17-Nov-2025 14:27:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:27:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:27:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:27:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:27:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:27:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:27:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:27:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:27:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:27:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:27:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:27:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:27:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:27:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:27:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:27:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:27:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:27:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:27:38 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:27:38 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:27:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:27:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:27:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:27:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:27:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:27:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:27:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:27:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:27:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:27:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:27:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:27:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:39 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:27:39 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:27:39 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:27:39 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:27:39 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:27:39 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:27:39 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:27:39 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:27:39 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:27:39 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:27:39 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:27:39 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:27:39 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:27:39 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:27:39 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:27:39 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:27:39 UTC] 📊 Database Info:
[17-Nov-2025 14:27:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:27:39 UTC]    Books columns count: 53
[17-Nov-2025 14:27:39 UTC]    Categories columns count: 7
[17-Nov-2025 14:27:39 UTC]    Language field in books: YES
[17-Nov-2025 14:27:39 UTC]    Format field in books: YES
[17-Nov-2025 14:27:39 UTC]    Description field in categories: YES
[17-Nov-2025 14:27:39 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:27:39 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:27:39 UTC]    Is_active field in books: YES
[17-Nov-2025 14:27:39 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:27:39 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:27:39 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:27:39 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:27:39 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:27:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:27:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:27:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:27:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:27:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:27:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:27:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:27:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:27:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:27:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:27:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:27:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:27:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:27:51 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:27:51 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:27:51 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:27:51 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:27:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:27:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:27:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:27:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:27:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:27:52 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:27:52 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:27:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:27:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:27:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:27:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:27:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:27:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:27:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:27:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:52 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:27:52 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:27:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:27:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:27:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:27:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:27:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:27:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:27:52 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:27:52 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:27:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:27:52 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:27:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:27:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:27:52 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:27:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:27:52 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:27:52 UTC] 📊 Database Info:
[17-Nov-2025 14:27:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:27:52 UTC]    Books columns count: 53
[17-Nov-2025 14:27:52 UTC]    Categories columns count: 7
[17-Nov-2025 14:27:52 UTC]    Language field in books: YES
[17-Nov-2025 14:27:52 UTC]    Format field in books: YES
[17-Nov-2025 14:27:52 UTC]    Description field in categories: YES
[17-Nov-2025 14:27:52 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:27:52 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:27:52 UTC]    Is_active field in books: YES
[17-Nov-2025 14:27:52 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:27:52 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:27:52 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:27:52 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:27:52 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:27:52 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:27:52 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:27:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:27:52 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:27:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:27:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:27:52 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:27:52 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:27:52 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:27:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:27:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:27:52 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:27:52 UTC] 📊 Database Info:
[17-Nov-2025 14:27:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:27:52 UTC]    Books columns count: 53
[17-Nov-2025 14:27:52 UTC]    Categories columns count: 7
[17-Nov-2025 14:27:52 UTC]    Language field in books: YES
[17-Nov-2025 14:27:52 UTC]    Format field in books: YES
[17-Nov-2025 14:27:52 UTC]    Description field in categories: YES
[17-Nov-2025 14:27:52 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:27:52 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:27:52 UTC]    Is_active field in books: YES
[17-Nov-2025 14:27:52 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:27:52 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:27:52 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:27:52 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:27:52 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:27:52 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:27:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:27:52 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:27:52 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:27:52 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:27:52 UTC] 📊 Database Info:
[17-Nov-2025 14:27:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:27:52 UTC]    Books columns count: 53
[17-Nov-2025 14:27:52 UTC]    Categories columns count: 7
[17-Nov-2025 14:27:52 UTC]    Language field in books: YES
[17-Nov-2025 14:27:52 UTC]    Format field in books: YES
[17-Nov-2025 14:27:52 UTC]    Description field in categories: YES
[17-Nov-2025 14:27:52 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:27:52 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:27:52 UTC]    Is_active field in books: YES
[17-Nov-2025 14:27:52 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:27:52 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:27:52 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:27:52 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:27:52 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:27:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:27:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:27:52 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:27:52 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:27:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:27:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:27:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:27:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:27:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:27:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:27:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:27:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:27:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:27:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:27:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:27:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:27:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:53 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:27:53 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:27:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:27:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:27:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:27:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:27:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:27:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:27:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:27:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:27:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:27:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:27:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:27:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:27:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:27:53 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:27:53 UTC] 📊 Database Info:
[17-Nov-2025 14:27:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:27:53 UTC]    Books columns count: 53
[17-Nov-2025 14:27:53 UTC]    Categories columns count: 7
[17-Nov-2025 14:27:53 UTC]    Language field in books: YES
[17-Nov-2025 14:27:53 UTC]    Format field in books: YES
[17-Nov-2025 14:27:53 UTC]    Description field in categories: YES
[17-Nov-2025 14:27:53 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:27:53 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:27:53 UTC]    Is_active field in books: YES
[17-Nov-2025 14:27:53 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:27:53 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:27:53 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:27:53 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:27:53 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:27:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:27:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:27:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:27:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:27:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:27:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:27:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:27:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:27:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:27:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:27:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:27:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:27:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:27:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:27:54 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:27:54 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:27:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:27:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:27:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:27:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:27:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:27:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:27:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:27:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:27:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:27:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:27:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:27:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:27:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:27:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:27:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:27:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:27:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:27:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:27:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:27:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:27:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:27:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:27:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:27:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:27:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:27:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:27:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:27:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:27:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:27:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:27:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:27:55 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:27:55 UTC] 📊 Database Info:
[17-Nov-2025 14:27:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:27:55 UTC]    Books columns count: 53
[17-Nov-2025 14:27:55 UTC]    Categories columns count: 7
[17-Nov-2025 14:27:55 UTC]    Language field in books: YES
[17-Nov-2025 14:27:55 UTC]    Format field in books: YES
[17-Nov-2025 14:27:55 UTC]    Description field in categories: YES
[17-Nov-2025 14:27:55 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:27:55 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:27:55 UTC]    Is_active field in books: YES
[17-Nov-2025 14:27:55 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:27:55 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:27:55 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:27:55 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:27:55 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:27:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:27:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:27:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:27:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:27:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:27:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:27:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:27:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:27:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:27:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:27:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:27:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:27:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:28:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:28:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:28:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:28:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:28:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:28:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:28:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:28:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:28:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:28:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:28:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:28:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:28:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:28:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:28:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:28:05 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:28:05 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:28:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:28:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:28:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:28:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:28:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:28:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:28:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:28:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:28:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:28:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:28:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:28:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:28:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:28:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:28:05 UTC] 📊 Database Info:
[17-Nov-2025 14:28:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:28:05 UTC]    Books columns count: 53
[17-Nov-2025 14:28:05 UTC]    Categories columns count: 7
[17-Nov-2025 14:28:05 UTC]    Language field in books: YES
[17-Nov-2025 14:28:05 UTC]    Format field in books: YES
[17-Nov-2025 14:28:05 UTC]    Description field in categories: YES
[17-Nov-2025 14:28:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:28:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:28:05 UTC]    Is_active field in books: YES
[17-Nov-2025 14:28:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:28:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:28:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:28:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:28:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:28:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:28:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:28:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:28:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:28:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:28:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:28:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:28:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:28:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:28:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:28:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:28:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:28:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:29:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:29:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:29:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:29:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:29:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:29:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:29:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:29:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:29:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:29:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:29:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:29:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:29:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:29:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:29:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:29:50 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:29:50 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:29:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:29:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:29:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:29:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:29:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:29:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:29:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:29:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:29:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:29:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:29:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:29:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:29:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:29:50 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:29:50 UTC] 📊 Database Info:
[17-Nov-2025 14:29:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:29:50 UTC]    Books columns count: 53
[17-Nov-2025 14:29:50 UTC]    Categories columns count: 7
[17-Nov-2025 14:29:50 UTC]    Language field in books: YES
[17-Nov-2025 14:29:50 UTC]    Format field in books: YES
[17-Nov-2025 14:29:50 UTC]    Description field in categories: YES
[17-Nov-2025 14:29:50 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:29:50 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:29:50 UTC]    Is_active field in books: YES
[17-Nov-2025 14:29:50 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:29:50 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:29:50 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:29:50 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:29:50 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:29:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:29:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:29:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:29:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:29:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:29:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:29:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:29:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:29:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:29:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:29:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:29:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:29:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:30:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:30:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:30:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:30:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:30:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:30:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:30:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:30:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:30:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:30:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:30:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:30:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:30:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:30:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:30:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:30:12 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:30:12 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:30:12 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:30:12 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:30:12 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:30:12 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:30:12 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:30:12 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:30:12 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:30:12 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:30:12 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:30:12 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:30:12 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:30:12 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:30:12 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:30:12 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:30:12 UTC] 📊 Database Info:
[17-Nov-2025 14:30:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:30:12 UTC]    Books columns count: 53
[17-Nov-2025 14:30:12 UTC]    Categories columns count: 7
[17-Nov-2025 14:30:12 UTC]    Language field in books: YES
[17-Nov-2025 14:30:12 UTC]    Format field in books: YES
[17-Nov-2025 14:30:12 UTC]    Description field in categories: YES
[17-Nov-2025 14:30:12 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:30:12 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:30:12 UTC]    Is_active field in books: YES
[17-Nov-2025 14:30:12 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:30:12 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:30:12 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:30:12 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:30:12 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:30:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:30:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:30:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:30:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:30:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:30:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:30:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:30:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:30:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:30:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:30:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:30:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:30:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:30:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:30:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:30:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:30:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:30:15 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:30:15 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:30:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:30:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:30:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:30:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:30:16 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:30:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:30:16 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:30:16 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:30:16 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:30:16 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:30:16 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:30:16 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:30:16 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:30:16 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:30:16 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:30:16 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:30:16 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:30:16 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:30:16 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:30:16 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:30:16 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:30:16 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:30:16 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:30:16 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:30:16 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:30:16 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:30:16 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:30:16 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:30:16 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:30:16 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:30:16 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:30:16 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:30:16 UTC] 📊 Database Info:
[17-Nov-2025 14:30:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:30:16 UTC]    Books columns count: 53
[17-Nov-2025 14:30:16 UTC]    Categories columns count: 7
[17-Nov-2025 14:30:16 UTC]    Language field in books: YES
[17-Nov-2025 14:30:16 UTC]    Format field in books: YES
[17-Nov-2025 14:30:16 UTC]    Description field in categories: YES
[17-Nov-2025 14:30:16 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:30:16 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:30:16 UTC]    Is_active field in books: YES
[17-Nov-2025 14:30:16 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:30:16 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:30:16 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:30:16 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:30:16 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:30:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:30:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:30:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:30:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:30:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:30:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:30:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:30:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:30:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:30:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:30:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:30:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:30:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:31:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:31:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:31:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:31:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:31:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:31:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:31:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:31:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:31:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:31:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:31:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:31:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:31:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:31:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:31:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:31:11 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:31:11 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:31:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:31:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:31:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:31:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:31:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:31:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:31:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:31:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:31:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:31:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:31:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:31:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:31:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:31:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:31:11 UTC] 📊 Database Info:
[17-Nov-2025 14:31:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:31:11 UTC]    Books columns count: 53
[17-Nov-2025 14:31:11 UTC]    Categories columns count: 7
[17-Nov-2025 14:31:11 UTC]    Language field in books: YES
[17-Nov-2025 14:31:11 UTC]    Format field in books: YES
[17-Nov-2025 14:31:11 UTC]    Description field in categories: YES
[17-Nov-2025 14:31:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:31:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:31:11 UTC]    Is_active field in books: YES
[17-Nov-2025 14:31:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:31:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:31:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:31:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:31:11 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:31:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:31:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:31:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:31:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:31:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:31:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:31:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:31:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:31:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:31:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:31:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:31:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:31:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:31:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:31:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:31:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:31:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:31:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:31:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:31:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:31:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:31:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:31:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:31:24 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:31:24 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:31:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:31:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:31:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:31:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:31:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:31:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:31:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:31:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:31:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:31:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:31:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:31:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:31:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:31:24 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:31:24 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:31:24 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:31:24 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:31:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:31:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:31:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:31:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:31:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:31:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:31:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:31:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:31:24 UTC] 📊 Database Info:
[17-Nov-2025 14:31:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:31:24 UTC]    Books columns count: 53
[17-Nov-2025 14:31:24 UTC]    Categories columns count: 7
[17-Nov-2025 14:31:24 UTC]    Language field in books: YES
[17-Nov-2025 14:31:24 UTC]    Format field in books: YES
[17-Nov-2025 14:31:24 UTC]    Description field in categories: YES
[17-Nov-2025 14:31:24 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:31:24 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:31:24 UTC]    Is_active field in books: YES
[17-Nov-2025 14:31:24 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:31:24 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:31:24 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:31:24 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:31:24 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:31:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:31:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:31:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:31:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:31:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:31:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:31:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:31:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:31:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:31:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:31:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:31:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:31:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:31:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:31:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:31:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:31:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:31:25 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:31:25 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:31:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:31:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:31:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:31:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:31:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:31:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:31:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:31:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:31:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:31:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:31:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:31:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:31:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:31:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:31:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:31:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:31:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:31:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:31:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:31:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:31:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:31:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:31:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:31:25 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:31:25 UTC] 📊 Database Info:
[17-Nov-2025 14:31:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:31:25 UTC]    Books columns count: 53
[17-Nov-2025 14:31:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:31:25 UTC]    Categories columns count: 7
[17-Nov-2025 14:31:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:31:25 UTC]    Language field in books: YES
[17-Nov-2025 14:31:25 UTC]    Format field in books: YES
[17-Nov-2025 14:31:25 UTC]    Description field in categories: YES
[17-Nov-2025 14:31:25 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:31:25 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:31:25 UTC]    Is_active field in books: YES
[17-Nov-2025 14:31:25 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:31:25 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:31:25 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:31:25 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:31:25 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:31:25 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:31:25 UTC] 📊 Database Info:
[17-Nov-2025 14:31:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:31:25 UTC]    Books columns count: 53
[17-Nov-2025 14:31:25 UTC]    Categories columns count: 7
[17-Nov-2025 14:31:25 UTC]    Language field in books: YES
[17-Nov-2025 14:31:25 UTC]    Format field in books: YES
[17-Nov-2025 14:31:25 UTC]    Description field in categories: YES
[17-Nov-2025 14:31:25 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:31:25 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:31:25 UTC]    Is_active field in books: YES
[17-Nov-2025 14:31:25 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:31:25 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:31:25 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:31:25 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:31:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:31:25 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:31:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:31:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:31:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:31:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:31:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:31:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:31:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:31:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:31:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:31:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:31:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:31:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:31:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:31:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:31:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:31:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:31:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:31:28 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:31:28 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:31:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:31:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:31:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:31:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:31:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:31:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:31:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:31:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:31:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:31:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:31:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:31:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:31:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:31:28 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:31:28 UTC] 📊 Database Info:
[17-Nov-2025 14:31:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:31:28 UTC]    Books columns count: 53
[17-Nov-2025 14:31:28 UTC]    Categories columns count: 7
[17-Nov-2025 14:31:28 UTC]    Language field in books: YES
[17-Nov-2025 14:31:28 UTC]    Format field in books: YES
[17-Nov-2025 14:31:28 UTC]    Description field in categories: YES
[17-Nov-2025 14:31:28 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:31:28 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:31:28 UTC]    Is_active field in books: YES
[17-Nov-2025 14:31:28 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:31:28 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:31:28 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:31:28 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:31:28 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:31:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:31:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:33:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:33:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:33:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:33:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:33:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:33:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:33:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:33:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:33:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:33:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:33:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:33:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:33:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:33:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:33:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:33:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:33:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:33:58 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:33:58 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:33:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:33:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:33:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:33:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:33:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:33:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:33:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:33:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:33:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:33:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:33:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:33:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:33:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:33:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:33:58 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:33:58 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:33:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:33:58 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:33:58 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:33:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:33:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:33:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:33:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:33:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:33:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:33:58 UTC] 📊 Database Info:
[17-Nov-2025 14:33:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:33:58 UTC]    Books columns count: 53
[17-Nov-2025 14:33:58 UTC]    Categories columns count: 7
[17-Nov-2025 14:33:58 UTC]    Language field in books: YES
[17-Nov-2025 14:33:58 UTC]    Format field in books: YES
[17-Nov-2025 14:33:58 UTC]    Description field in categories: YES
[17-Nov-2025 14:33:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:33:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:33:58 UTC]    Is_active field in books: YES
[17-Nov-2025 14:33:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:33:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:33:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:33:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:33:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:33:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:33:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:33:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:33:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:33:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:33:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:33:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:33:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:33:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:33:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:33:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:33:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:33:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:33:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:33:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:33:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:33:58 UTC] 📊 Database Info:
[17-Nov-2025 14:33:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:33:58 UTC]    Books columns count: 53
[17-Nov-2025 14:33:58 UTC]    Categories columns count: 7
[17-Nov-2025 14:33:58 UTC]    Language field in books: YES
[17-Nov-2025 14:33:58 UTC]    Format field in books: YES
[17-Nov-2025 14:33:58 UTC]    Description field in categories: YES
[17-Nov-2025 14:33:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:33:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:33:58 UTC]    Is_active field in books: YES
[17-Nov-2025 14:33:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:33:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:33:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:33:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:33:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:33:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:33:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:33:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:33:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:33:58 UTC] 📊 Database Info:
[17-Nov-2025 14:33:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:33:58 UTC]    Books columns count: 53
[17-Nov-2025 14:33:58 UTC]    Categories columns count: 7
[17-Nov-2025 14:33:58 UTC]    Language field in books: YES
[17-Nov-2025 14:33:58 UTC]    Format field in books: YES
[17-Nov-2025 14:33:58 UTC]    Description field in categories: YES
[17-Nov-2025 14:33:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:33:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:33:58 UTC]    Is_active field in books: YES
[17-Nov-2025 14:33:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:33:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:33:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:33:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:33:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:33:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:33:58 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:33:58 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:34:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:34:00 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:34:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:34:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:34:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:34:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:34:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:34:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:34:01 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:34:01 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:34:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:34:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:34:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:34:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:34:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:34:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:34:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:34:01 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:34:01 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:34:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:34:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:34:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:34:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:34:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:34:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:34:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:34:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:34:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:34:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:34:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:34:01 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:34:01 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:34:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:34:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:34:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:34:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:34:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:34:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:34:01 UTC] 📊 Database Info:
[17-Nov-2025 14:34:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:34:01 UTC]    Books columns count: 53
[17-Nov-2025 14:34:01 UTC]    Categories columns count: 7
[17-Nov-2025 14:34:01 UTC]    Language field in books: YES
[17-Nov-2025 14:34:01 UTC]    Format field in books: YES
[17-Nov-2025 14:34:01 UTC]    Description field in categories: YES
[17-Nov-2025 14:34:01 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:34:01 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:34:01 UTC]    Is_active field in books: YES
[17-Nov-2025 14:34:01 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:34:01 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:34:01 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:34:01 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:34:01 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:34:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:34:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:34:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:34:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:34:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:34:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:34:01 UTC] 📊 Database Info:
[17-Nov-2025 14:34:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:34:01 UTC]    Books columns count: 53
[17-Nov-2025 14:34:01 UTC]    Categories columns count: 7
[17-Nov-2025 14:34:01 UTC]    Language field in books: YES
[17-Nov-2025 14:34:01 UTC]    Format field in books: YES
[17-Nov-2025 14:34:01 UTC]    Description field in categories: YES
[17-Nov-2025 14:34:01 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:34:01 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:34:01 UTC]    Is_active field in books: YES
[17-Nov-2025 14:34:01 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:34:01 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:34:01 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:34:01 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:34:01 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:34:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:34:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:34:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:34:01 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:34:01 UTC] 📊 Database Info:
[17-Nov-2025 14:34:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:34:01 UTC]    Books columns count: 53
[17-Nov-2025 14:34:01 UTC]    Categories columns count: 7
[17-Nov-2025 14:34:01 UTC]    Language field in books: YES
[17-Nov-2025 14:34:01 UTC]    Format field in books: YES
[17-Nov-2025 14:34:01 UTC]    Description field in categories: YES
[17-Nov-2025 14:34:01 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:34:01 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:34:01 UTC]    Is_active field in books: YES
[17-Nov-2025 14:34:01 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:34:01 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:34:01 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:34:01 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:34:01 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:34:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:34:01 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:34:01 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:34:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:34:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:34:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:34:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:34:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:34:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:34:01 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:34:01 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:34:01 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:34:01 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:34:01 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:34:01 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:34:01 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:34:01 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:34:01 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:34:01 UTC] 📊 Database Info:
[17-Nov-2025 14:34:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:34:01 UTC]    Books columns count: 53
[17-Nov-2025 14:34:01 UTC]    Categories columns count: 7
[17-Nov-2025 14:34:01 UTC]    Language field in books: YES
[17-Nov-2025 14:34:01 UTC]    Format field in books: YES
[17-Nov-2025 14:34:01 UTC]    Description field in categories: YES
[17-Nov-2025 14:34:01 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:34:01 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:34:01 UTC]    Is_active field in books: YES
[17-Nov-2025 14:34:01 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:34:01 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:34:01 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:34:01 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:34:01 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:34:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:34:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:35:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:16 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:16 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:16 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:16 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:16 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:16 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:16 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:16 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:16 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:16 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:16 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:16 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:16 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:35:16 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:16 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:16 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:35:16 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:35:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:16 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:16 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:16 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:16 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:16 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:16 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:16 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:35:16 UTC] 📊 Database Info:
[17-Nov-2025 14:35:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:35:16 UTC]    Books columns count: 53
[17-Nov-2025 14:35:16 UTC]    Categories columns count: 7
[17-Nov-2025 14:35:16 UTC]    Language field in books: YES
[17-Nov-2025 14:35:16 UTC]    Format field in books: YES
[17-Nov-2025 14:35:16 UTC]    Description field in categories: YES
[17-Nov-2025 14:35:16 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:35:16 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:35:16 UTC]    Is_active field in books: YES
[17-Nov-2025 14:35:16 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:35:16 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:35:16 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:16 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:35:16 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:35:16 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:35:16 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:16 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:16 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:35:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:35:16 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:35:16 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:16 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:16 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:16 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:35:16 UTC] 📊 Database Info:
[17-Nov-2025 14:35:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:35:16 UTC]    Books columns count: 53
[17-Nov-2025 14:35:16 UTC]    Categories columns count: 7
[17-Nov-2025 14:35:16 UTC]    Language field in books: YES
[17-Nov-2025 14:35:16 UTC]    Format field in books: YES
[17-Nov-2025 14:35:16 UTC]    Description field in categories: YES
[17-Nov-2025 14:35:16 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:35:16 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:35:16 UTC]    Is_active field in books: YES
[17-Nov-2025 14:35:16 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:35:16 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:35:16 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:35:16 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:35:16 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:16 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:35:16 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:35:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:35:16 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:16 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:16 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:16 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:35:16 UTC] 📊 Database Info:
[17-Nov-2025 14:35:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:35:16 UTC]    Books columns count: 53
[17-Nov-2025 14:35:16 UTC]    Categories columns count: 7
[17-Nov-2025 14:35:16 UTC]    Language field in books: YES
[17-Nov-2025 14:35:16 UTC]    Format field in books: YES
[17-Nov-2025 14:35:16 UTC]    Description field in categories: YES
[17-Nov-2025 14:35:16 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:35:16 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:35:16 UTC]    Is_active field in books: YES
[17-Nov-2025 14:35:16 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:35:16 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:35:16 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:35:16 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:35:16 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:35:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:35:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:35:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:22 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:35:22 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:35:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:22 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:35:22 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:35:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:22 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:35:22 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:35:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:22 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:22 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:35:22 UTC] 📊 Database Info:
[17-Nov-2025 14:35:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:35:22 UTC]    Books columns count: 53
[17-Nov-2025 14:35:22 UTC]    Categories columns count: 7
[17-Nov-2025 14:35:22 UTC]    Language field in books: YES
[17-Nov-2025 14:35:22 UTC]    Format field in books: YES
[17-Nov-2025 14:35:22 UTC]    Description field in categories: YES
[17-Nov-2025 14:35:22 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:35:22 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:35:22 UTC]    Is_active field in books: YES
[17-Nov-2025 14:35:22 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:35:22 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:35:22 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:35:22 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:35:22 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:35:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:35:22 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:22 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:35:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:35:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:22 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:22 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:35:22 UTC] 📊 Database Info:
[17-Nov-2025 14:35:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:35:22 UTC]    Books columns count: 53
[17-Nov-2025 14:35:22 UTC]    Categories columns count: 7
[17-Nov-2025 14:35:22 UTC]    Language field in books: YES
[17-Nov-2025 14:35:22 UTC]    Format field in books: YES
[17-Nov-2025 14:35:22 UTC]    Description field in categories: YES
[17-Nov-2025 14:35:22 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:35:22 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:35:22 UTC]    Is_active field in books: YES
[17-Nov-2025 14:35:22 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:35:22 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:35:22 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:35:22 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:35:22 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:35:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:35:22 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:35:22 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:22 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:22 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:22 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:22 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:22 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:22 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:35:22 UTC] 📊 Database Info:
[17-Nov-2025 14:35:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:35:22 UTC]    Books columns count: 53
[17-Nov-2025 14:35:22 UTC]    Categories columns count: 7
[17-Nov-2025 14:35:22 UTC]    Language field in books: YES
[17-Nov-2025 14:35:22 UTC]    Format field in books: YES
[17-Nov-2025 14:35:22 UTC]    Description field in categories: YES
[17-Nov-2025 14:35:22 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:35:22 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:35:22 UTC]    Is_active field in books: YES
[17-Nov-2025 14:35:22 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:35:22 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:35:22 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:35:22 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:35:22 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:35:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:35:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:35:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:43 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:35:43 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:35:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:43 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:35:43 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:35:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:43 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:35:43 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:35:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:43 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:35:43 UTC] 📊 Database Info:
[17-Nov-2025 14:35:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:35:43 UTC]    Books columns count: 53
[17-Nov-2025 14:35:43 UTC]    Categories columns count: 7
[17-Nov-2025 14:35:43 UTC]    Language field in books: YES
[17-Nov-2025 14:35:43 UTC]    Format field in books: YES
[17-Nov-2025 14:35:43 UTC]    Description field in categories: YES
[17-Nov-2025 14:35:43 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:35:43 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:35:43 UTC]    Is_active field in books: YES
[17-Nov-2025 14:35:43 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:35:43 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:35:43 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:35:43 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:35:43 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:35:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:35:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:35:43 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:35:43 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:35:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:43 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:35:43 UTC] 📊 Database Info:
[17-Nov-2025 14:35:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:35:43 UTC]    Books columns count: 53
[17-Nov-2025 14:35:43 UTC]    Categories columns count: 7
[17-Nov-2025 14:35:43 UTC]    Language field in books: YES
[17-Nov-2025 14:35:43 UTC]    Format field in books: YES
[17-Nov-2025 14:35:43 UTC]    Description field in categories: YES
[17-Nov-2025 14:35:43 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:35:43 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:35:43 UTC]    Is_active field in books: YES
[17-Nov-2025 14:35:43 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:35:43 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:35:43 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:35:43 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:35:43 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:35:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:35:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:43 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:35:43 UTC] 📊 Database Info:
[17-Nov-2025 14:35:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:35:43 UTC]    Books columns count: 53
[17-Nov-2025 14:35:43 UTC]    Categories columns count: 7
[17-Nov-2025 14:35:43 UTC]    Language field in books: YES
[17-Nov-2025 14:35:43 UTC]    Format field in books: YES
[17-Nov-2025 14:35:43 UTC]    Description field in categories: YES
[17-Nov-2025 14:35:43 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:35:43 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:35:43 UTC]    Is_active field in books: YES
[17-Nov-2025 14:35:43 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:35:43 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:35:43 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:35:43 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:35:43 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:35:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:35:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:35:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:35:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:35:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:35:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:35:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:35:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:35:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:35:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:44 UTC] 📊 Database Info:
[17-Nov-2025 14:35:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:35:44 UTC]    Books columns count: 53
[17-Nov-2025 14:35:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:35:44 UTC]    Language field in books: YES
[17-Nov-2025 14:35:44 UTC]    Format field in books: YES
[17-Nov-2025 14:35:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:35:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:35:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:35:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:35:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:35:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:35:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:35:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:35:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:35:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:35:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:35:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:35:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:35:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:35:44 UTC] 📊 Database Info:
[17-Nov-2025 14:35:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:35:44 UTC]    Books columns count: 53
[17-Nov-2025 14:35:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:35:44 UTC]    Language field in books: YES
[17-Nov-2025 14:35:44 UTC]    Format field in books: YES
[17-Nov-2025 14:35:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:35:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:35:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:35:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:35:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:35:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:35:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:35:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:35:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:35:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:35:44 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:35:44 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:35:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:35:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:35:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:35:44 UTC] 📊 Database Info:
[17-Nov-2025 14:35:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:35:44 UTC]    Books columns count: 53
[17-Nov-2025 14:35:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:35:44 UTC]    Language field in books: YES
[17-Nov-2025 14:35:44 UTC]    Format field in books: YES
[17-Nov-2025 14:35:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:35:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:35:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:35:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:35:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:35:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:35:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:35:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:35:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:35:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:35:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:36:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:36:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:36:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:36:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:36:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:36:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:36:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:36:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:36:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:36:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:36:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:36:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:36:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:36:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:36:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:36:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:36:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:36:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:36:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:36:13 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:36:13 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:36:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:36:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:36:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:36:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:36:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:36:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:36:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:36:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:36:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:36:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:36:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:36:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:36:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:36:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:36:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:36:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:36:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:36:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:36:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:36:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:36:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:36:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:36:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:36:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:36:13 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:36:13 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:36:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:36:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:36:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:36:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:36:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:36:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:36:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:36:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:36:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:36:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:36:14 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:36:14 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:36:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:36:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:36:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:36:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:36:14 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:36:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:36:14 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:36:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:36:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:36:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:36:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:36:14 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:36:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:36:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:36:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:36:14 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:36:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:36:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:36:14 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:36:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:36:14 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:36:14 UTC] 📊 Database Info:
[17-Nov-2025 14:36:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:36:14 UTC]    Books columns count: 53
[17-Nov-2025 14:36:14 UTC]    Categories columns count: 7
[17-Nov-2025 14:36:14 UTC]    Language field in books: YES
[17-Nov-2025 14:36:14 UTC]    Format field in books: YES
[17-Nov-2025 14:36:14 UTC]    Description field in categories: YES
[17-Nov-2025 14:36:14 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:36:14 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:36:14 UTC]    Is_active field in books: YES
[17-Nov-2025 14:36:14 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:36:14 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:36:14 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:36:14 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:36:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:36:14 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:36:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:36:14 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:36:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:36:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:36:14 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:36:14 UTC] 📊 Database Info:
[17-Nov-2025 14:36:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:36:14 UTC]    Books columns count: 53
[17-Nov-2025 14:36:14 UTC]    Categories columns count: 7
[17-Nov-2025 14:36:14 UTC]    Language field in books: YES
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:36:14 UTC]    Format field in books: YES
[17-Nov-2025 14:36:14 UTC]    Description field in categories: YES
[17-Nov-2025 14:36:14 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:36:14 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:36:14 UTC]    Is_active field in books: YES
[17-Nov-2025 14:36:14 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:36:14 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:36:14 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:36:14 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:36:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:36:14 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:36:14 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:36:14 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:36:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:36:14 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:36:14 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:36:14 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:36:14 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:36:14 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:36:14 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:36:14 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:36:14 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:36:14 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:36:14 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:36:14 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:36:14 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:36:14 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:36:14 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:36:14 UTC] 📊 Database Info:
[17-Nov-2025 14:36:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:36:14 UTC]    Books columns count: 53
[17-Nov-2025 14:36:14 UTC]    Categories columns count: 7
[17-Nov-2025 14:36:14 UTC]    Language field in books: YES
[17-Nov-2025 14:36:14 UTC]    Format field in books: YES
[17-Nov-2025 14:36:14 UTC]    Description field in categories: YES
[17-Nov-2025 14:36:14 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:36:14 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:36:14 UTC]    Is_active field in books: YES
[17-Nov-2025 14:36:14 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:36:14 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:36:14 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:36:14 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:36:14 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:36:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:36:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:43:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:43:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:43:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:43:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:43:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:43:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:43:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:43:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:43:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:43:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:43:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:43:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:43:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:43:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:43:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:43:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:43:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:43:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:43:03 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:43:03 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:43:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:43:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:43:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:43:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:43:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:43:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:43:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:43:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:43:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:43:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:43:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:43:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:43:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:43:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:43:03 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:43:03 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:43:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:43:03 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:43:03 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:43:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:43:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:43:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:43:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:43:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:43:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:43:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:43:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:43:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:43:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:43:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:43:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:43:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:43:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:43:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:43:04 UTC] 📊 Database Info:
[17-Nov-2025 14:43:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:43:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:43:04 UTC]    Books columns count: 53
[17-Nov-2025 14:43:04 UTC]    Categories columns count: 7
[17-Nov-2025 14:43:04 UTC]    Language field in books: YES
[17-Nov-2025 14:43:04 UTC]    Format field in books: YES
[17-Nov-2025 14:43:04 UTC]    Description field in categories: YES
[17-Nov-2025 14:43:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:43:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:43:04 UTC]    Is_active field in books: YES
[17-Nov-2025 14:43:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:43:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:43:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:43:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:43:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:43:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:43:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:43:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:43:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:43:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:43:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:43:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:43:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:43:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:43:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:43:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:43:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:43:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:43:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:43:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:43:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:43:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:43:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:43:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:43:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:43:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:43:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:43:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:43:04 UTC] 📊 Database Info:
[17-Nov-2025 14:43:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:43:04 UTC]    Books columns count: 53
[17-Nov-2025 14:43:04 UTC]    Categories columns count: 7
[17-Nov-2025 14:43:04 UTC]    Language field in books: YES
[17-Nov-2025 14:43:04 UTC]    Format field in books: YES
[17-Nov-2025 14:43:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:43:04 UTC]    Description field in categories: YES
[17-Nov-2025 14:43:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:43:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:43:04 UTC]    Is_active field in books: YES
[17-Nov-2025 14:43:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:43:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:43:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:43:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:43:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:43:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:43:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:43:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:43:04 UTC] 📊 Database Info:
[17-Nov-2025 14:43:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:43:04 UTC]    Books columns count: 53
[17-Nov-2025 14:43:04 UTC]    Categories columns count: 7
[17-Nov-2025 14:43:04 UTC]    Language field in books: YES
[17-Nov-2025 14:43:04 UTC]    Format field in books: YES
[17-Nov-2025 14:43:04 UTC]    Description field in categories: YES
[17-Nov-2025 14:43:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:43:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:43:04 UTC]    Is_active field in books: YES
[17-Nov-2025 14:43:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:43:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:43:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:43:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:43:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:43:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:43:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:43:04 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:43:04 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:43:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:43:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:43:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:43:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:43:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:43:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:43:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:43:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:43:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:43:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:43:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:43:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:43:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:43:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:43:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:43:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:43:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:43:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:43:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:43:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:43:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:43:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:43:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:43:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:43:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:43:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:43:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:43:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:43:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:43:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:43:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:43:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:43:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:43:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:43:34 UTC] 📊 Database Info:
[17-Nov-2025 14:43:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:43:34 UTC]    Books columns count: 53
[17-Nov-2025 14:43:34 UTC]    Categories columns count: 7
[17-Nov-2025 14:43:34 UTC]    Language field in books: YES
[17-Nov-2025 14:43:34 UTC]    Format field in books: YES
[17-Nov-2025 14:43:34 UTC]    Description field in categories: YES
[17-Nov-2025 14:43:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:43:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:43:34 UTC]    Is_active field in books: YES
[17-Nov-2025 14:43:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:43:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:43:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:43:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:43:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:43:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:43:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:43:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:43:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:43:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:43:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:43:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:43:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:43:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:43:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:43:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:43:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:43:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:43:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:43:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:43:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:43:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:43:34 UTC] 📊 Database Info:
[17-Nov-2025 14:43:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:43:34 UTC]    Books columns count: 53
[17-Nov-2025 14:43:34 UTC]    Categories columns count: 7
[17-Nov-2025 14:43:34 UTC]    Language field in books: YES
[17-Nov-2025 14:43:34 UTC]    Format field in books: YES
[17-Nov-2025 14:43:34 UTC]    Description field in categories: YES
[17-Nov-2025 14:43:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:43:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:43:34 UTC]    Is_active field in books: YES
[17-Nov-2025 14:43:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:43:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:43:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:43:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:43:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:43:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:43:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:43:34 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:43:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:43:34 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:43:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:43:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:43:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:43:34 UTC] 📊 Database Info:
[17-Nov-2025 14:43:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:43:34 UTC]    Books columns count: 53
[17-Nov-2025 14:43:34 UTC]    Categories columns count: 7
[17-Nov-2025 14:43:34 UTC]    Language field in books: YES
[17-Nov-2025 14:43:34 UTC]    Format field in books: YES
[17-Nov-2025 14:43:34 UTC]    Description field in categories: YES
[17-Nov-2025 14:43:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:43:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:43:34 UTC]    Is_active field in books: YES
[17-Nov-2025 14:43:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:43:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:43:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:43:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:43:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:43:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:43:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:43:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:43:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:43:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:43:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:43:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:43:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:43:49 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:43:49 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:43:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:43:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:43:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:43:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:43:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:43:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:43:49 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:43:49 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:43:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:43:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:43:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:43:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:43:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:43:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:43:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:43:49 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:43:49 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:43:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:43:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:43:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:43:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:43:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:43:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:43:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:43:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:43:49 UTC] 📊 Database Info:
[17-Nov-2025 14:43:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:43:49 UTC]    Books columns count: 53
[17-Nov-2025 14:43:49 UTC]    Categories columns count: 7
[17-Nov-2025 14:43:49 UTC]    Language field in books: YES
[17-Nov-2025 14:43:49 UTC]    Format field in books: YES
[17-Nov-2025 14:43:49 UTC]    Description field in categories: YES
[17-Nov-2025 14:43:49 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:43:49 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:43:49 UTC]    Is_active field in books: YES
[17-Nov-2025 14:43:49 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:43:49 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:43:49 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:43:49 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:43:49 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:43:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:43:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:43:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:43:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:43:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:43:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:43:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:43:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:43:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:43:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:43:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:43:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:43:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:43:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:43:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:43:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:43:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:43:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:43:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:43:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:43:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:43:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:43:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:43:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:43:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:43:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:43:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:43:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:43:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:43:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:43:50 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:43:50 UTC] 📊 Database Info:
[17-Nov-2025 14:43:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:43:50 UTC]    Books columns count: 53
[17-Nov-2025 14:43:50 UTC]    Categories columns count: 7
[17-Nov-2025 14:43:50 UTC]    Language field in books: YES
[17-Nov-2025 14:43:50 UTC]    Format field in books: YES
[17-Nov-2025 14:43:50 UTC]    Description field in categories: YES
[17-Nov-2025 14:43:50 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:43:50 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:43:50 UTC]    Is_active field in books: YES
[17-Nov-2025 14:43:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:43:50 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:43:50 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:43:50 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:43:50 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:43:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:43:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:43:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:43:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:43:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:43:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:43:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:43:50 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:43:50 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:43:50 UTC] 📊 Database Info:
[17-Nov-2025 14:43:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:43:50 UTC]    Books columns count: 53
[17-Nov-2025 14:43:50 UTC]    Categories columns count: 7
[17-Nov-2025 14:43:50 UTC]    Language field in books: YES
[17-Nov-2025 14:43:50 UTC]    Format field in books: YES
[17-Nov-2025 14:43:50 UTC]    Description field in categories: YES
[17-Nov-2025 14:43:50 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:43:50 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:43:50 UTC]    Is_active field in books: YES
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:43:50 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:43:50 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:43:50 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:43:50 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:43:50 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:43:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:43:50 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:43:50 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:43:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:43:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:44:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:15 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:44:15 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:44:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:15 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:44:15 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:44:15 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:44:15 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:44:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:15 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:15 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:15 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:15 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:15 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:44:15 UTC] 📊 Database Info:
[17-Nov-2025 14:44:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:44:15 UTC]    Books columns count: 53
[17-Nov-2025 14:44:15 UTC]    Categories columns count: 7
[17-Nov-2025 14:44:15 UTC]    Language field in books: YES
[17-Nov-2025 14:44:15 UTC]    Format field in books: YES
[17-Nov-2025 14:44:15 UTC]    Description field in categories: YES
[17-Nov-2025 14:44:15 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:44:15 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:44:15 UTC]    Is_active field in books: YES
[17-Nov-2025 14:44:15 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:44:15 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:44:15 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:44:15 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:44:15 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:44:15 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:44:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:44:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:44:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:44:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:44:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:44:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:44:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:44:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:44:15 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:15 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:15 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:16 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:16 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:16 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:44:16 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:44:16 UTC] 📊 Database Info:
[17-Nov-2025 14:44:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:44:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:44:16 UTC]    Books columns count: 53
[17-Nov-2025 14:44:16 UTC]    Categories columns count: 7
[17-Nov-2025 14:44:16 UTC]    Language field in books: YES
[17-Nov-2025 14:44:16 UTC]    Format field in books: YES
[17-Nov-2025 14:44:16 UTC]    Description field in categories: YES
[17-Nov-2025 14:44:16 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:44:16 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:44:16 UTC]    Is_active field in books: YES
[17-Nov-2025 14:44:16 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:44:16 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:44:16 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:44:16 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:44:16 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:44:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:44:16 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:16 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:16 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:44:16 UTC] 📊 Database Info:
[17-Nov-2025 14:44:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:44:16 UTC]    Books columns count: 53
[17-Nov-2025 14:44:16 UTC]    Categories columns count: 7
[17-Nov-2025 14:44:16 UTC]    Language field in books: YES
[17-Nov-2025 14:44:16 UTC]    Format field in books: YES
[17-Nov-2025 14:44:16 UTC]    Description field in categories: YES
[17-Nov-2025 14:44:16 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:44:16 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:44:16 UTC]    Is_active field in books: YES
[17-Nov-2025 14:44:16 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:44:16 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:44:16 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:44:16 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:44:16 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:44:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:44:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:44:16 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:44:16 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:44:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:16 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:16 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:16 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:16 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:16 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:16 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:16 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:16 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:16 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:16 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:16 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:16 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:16 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:44:16 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:44:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:16 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:16 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:16 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:16 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:16 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:16 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:16 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:16 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:44:16 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:44:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:16 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:44:16 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:44:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:17 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:44:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:17 UTC] 📊 Database Info:
[17-Nov-2025 14:44:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:44:17 UTC]    Books columns count: 53
[17-Nov-2025 14:44:17 UTC]    Categories columns count: 7
[17-Nov-2025 14:44:17 UTC]    Language field in books: YES
[17-Nov-2025 14:44:17 UTC]    Format field in books: YES
[17-Nov-2025 14:44:17 UTC]    Description field in categories: YES
[17-Nov-2025 14:44:17 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:44:17 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:44:17 UTC]    Is_active field in books: YES
[17-Nov-2025 14:44:17 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:44:17 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:44:17 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:44:17 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:44:17 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:44:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:44:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:44:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:44:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:44:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:44:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:44:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:44:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:44:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:44:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:44:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:44:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:17 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:44:17 UTC] 📊 Database Info:
[17-Nov-2025 14:44:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:44:17 UTC]    Books columns count: 53
[17-Nov-2025 14:44:17 UTC]    Categories columns count: 7
[17-Nov-2025 14:44:17 UTC]    Language field in books: YES
[17-Nov-2025 14:44:17 UTC]    Format field in books: YES
[17-Nov-2025 14:44:17 UTC]    Description field in categories: YES
[17-Nov-2025 14:44:17 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:44:17 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:44:17 UTC]    Is_active field in books: YES
[17-Nov-2025 14:44:17 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:44:17 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:44:17 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:44:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:17 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:44:17 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:44:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:44:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:44:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:44:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:44:17 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:44:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:17 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:44:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:17 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:44:17 UTC] 📊 Database Info:
[17-Nov-2025 14:44:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:44:17 UTC]    Books columns count: 53
[17-Nov-2025 14:44:17 UTC]    Categories columns count: 7
[17-Nov-2025 14:44:17 UTC]    Language field in books: YES
[17-Nov-2025 14:44:17 UTC]    Format field in books: YES
[17-Nov-2025 14:44:17 UTC]    Description field in categories: YES
[17-Nov-2025 14:44:17 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:44:17 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:44:17 UTC]    Is_active field in books: YES
[17-Nov-2025 14:44:17 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:44:17 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:44:17 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:44:17 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:44:17 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:44:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:44:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:44:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:44:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:44:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:44:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:44:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:44:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:44:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:44:34 UTC] 📊 Database Info:
[17-Nov-2025 14:44:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:44:34 UTC]    Books columns count: 53
[17-Nov-2025 14:44:34 UTC]    Categories columns count: 7
[17-Nov-2025 14:44:34 UTC]    Language field in books: YES
[17-Nov-2025 14:44:34 UTC]    Format field in books: YES
[17-Nov-2025 14:44:34 UTC]    Description field in categories: YES
[17-Nov-2025 14:44:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:44:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:44:34 UTC]    Is_active field in books: YES
[17-Nov-2025 14:44:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:44:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:44:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:44:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:44:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:44:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:44:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:44:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:44:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:44:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:44:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:44:34 UTC] 📊 Database Info:
[17-Nov-2025 14:44:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:44:34 UTC]    Books columns count: 53
[17-Nov-2025 14:44:34 UTC]    Categories columns count: 7
[17-Nov-2025 14:44:34 UTC]    Language field in books: YES
[17-Nov-2025 14:44:34 UTC]    Format field in books: YES
[17-Nov-2025 14:44:34 UTC]    Description field in categories: YES
[17-Nov-2025 14:44:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:44:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:44:34 UTC]    Is_active field in books: YES
[17-Nov-2025 14:44:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:44:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:44:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:44:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:44:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:44:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:44:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:44:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:44:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:34 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:44:34 UTC] 📊 Database Info:
[17-Nov-2025 14:44:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:44:34 UTC]    Books columns count: 53
[17-Nov-2025 14:44:34 UTC]    Categories columns count: 7
[17-Nov-2025 14:44:34 UTC]    Language field in books: YES
[17-Nov-2025 14:44:34 UTC]    Format field in books: YES
[17-Nov-2025 14:44:34 UTC]    Description field in categories: YES
[17-Nov-2025 14:44:34 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:44:34 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:44:34 UTC]    Is_active field in books: YES
[17-Nov-2025 14:44:34 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:44:34 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:44:34 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:44:34 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:44:34 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:44:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:44:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:44:34 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:44:34 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:44:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:50 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:44:50 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:50 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:44:50 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:50 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:44:50 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:44:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:50 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:50 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:44:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:50 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:44:50 UTC] 📊 Database Info:
[17-Nov-2025 14:44:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:44:50 UTC]    Books columns count: 53
[17-Nov-2025 14:44:50 UTC]    Categories columns count: 7
[17-Nov-2025 14:44:50 UTC]    Language field in books: YES
[17-Nov-2025 14:44:50 UTC]    Format field in books: YES
[17-Nov-2025 14:44:50 UTC]    Description field in categories: YES
[17-Nov-2025 14:44:50 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:44:50 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:44:50 UTC]    Is_active field in books: YES
[17-Nov-2025 14:44:50 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:44:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:50 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:44:50 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:44:50 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:44:50 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:44:50 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:44:50 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:44:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:44:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:44:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:44:50 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:44:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:44:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:50 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:44:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:50 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:44:50 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:44:50 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:44:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:50 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:44:50 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:44:50 UTC] 📊 Database Info:
[17-Nov-2025 14:44:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:44:50 UTC]    Books columns count: 53
[17-Nov-2025 14:44:50 UTC]    Categories columns count: 7
[17-Nov-2025 14:44:50 UTC]    Language field in books: YES
[17-Nov-2025 14:44:50 UTC]    Format field in books: YES
[17-Nov-2025 14:44:50 UTC]    Description field in categories: YES
[17-Nov-2025 14:44:50 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:44:50 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:44:50 UTC]    Is_active field in books: YES
[17-Nov-2025 14:44:50 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:44:50 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:44:50 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:44:50 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:44:50 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:44:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:44:50 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:44:50 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:44:50 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:44:50 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:44:50 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:44:50 UTC] 📊 Database Info:
[17-Nov-2025 14:44:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:44:50 UTC]    Books columns count: 53
[17-Nov-2025 14:44:50 UTC]    Categories columns count: 7
[17-Nov-2025 14:44:50 UTC]    Language field in books: YES
[17-Nov-2025 14:44:50 UTC]    Format field in books: YES
[17-Nov-2025 14:44:50 UTC]    Description field in categories: YES
[17-Nov-2025 14:44:50 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:44:50 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:44:50 UTC]    Is_active field in books: YES
[17-Nov-2025 14:44:50 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:44:50 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:44:50 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:44:50 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:44:50 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:44:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:44:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:45:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:10 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:45:10 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:45:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:10 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:45:10 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:45:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:11 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:45:11 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:45:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:45:11 UTC] 📊 Database Info:
[17-Nov-2025 14:45:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:45:11 UTC]    Books columns count: 53
[17-Nov-2025 14:45:11 UTC]    Categories columns count: 7
[17-Nov-2025 14:45:11 UTC]    Language field in books: YES
[17-Nov-2025 14:45:11 UTC]    Format field in books: YES
[17-Nov-2025 14:45:11 UTC]    Description field in categories: YES
[17-Nov-2025 14:45:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:45:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:45:11 UTC]    Is_active field in books: YES
[17-Nov-2025 14:45:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:45:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:45:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:45:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:45:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:45:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:45:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:45:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:45:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:45:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:45:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:45:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:45:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:45:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:45:11 UTC] 📊 Database Info:
[17-Nov-2025 14:45:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:45:11 UTC]    Books columns count: 53
[17-Nov-2025 14:45:11 UTC]    Categories columns count: 7
[17-Nov-2025 14:45:11 UTC]    Language field in books: YES
[17-Nov-2025 14:45:11 UTC]    Format field in books: YES
[17-Nov-2025 14:45:11 UTC]    Description field in categories: YES
[17-Nov-2025 14:45:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:45:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:45:11 UTC]    Is_active field in books: YES
[17-Nov-2025 14:45:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:45:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:45:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:45:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:45:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:45:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:45:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:45:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:45:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:45:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:45:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:45:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:45:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:45:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:45:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:45:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:45:11 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:45:11 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:45:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:45:11 UTC] 📊 Database Info:
[17-Nov-2025 14:45:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:45:11 UTC]    Books columns count: 53
[17-Nov-2025 14:45:11 UTC]    Categories columns count: 7
[17-Nov-2025 14:45:11 UTC]    Language field in books: YES
[17-Nov-2025 14:45:11 UTC]    Format field in books: YES
[17-Nov-2025 14:45:11 UTC]    Description field in categories: YES
[17-Nov-2025 14:45:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:45:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:45:11 UTC]    Is_active field in books: YES
[17-Nov-2025 14:45:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:45:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:45:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:45:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:45:11 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:45:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:45:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:45:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:26 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:26 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:26 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:26 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:45:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:45:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:26 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:45:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:45:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:26 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:26 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:26 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:26 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:26 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:26 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:26 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:26 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:26 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:26 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:45:26 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:45:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:26 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:45:27 UTC] 📊 Database Info:
[17-Nov-2025 14:45:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:45:27 UTC]    Books columns count: 53
[17-Nov-2025 14:45:27 UTC]    Categories columns count: 7
[17-Nov-2025 14:45:27 UTC]    Language field in books: YES
[17-Nov-2025 14:45:27 UTC]    Format field in books: YES
[17-Nov-2025 14:45:27 UTC]    Description field in categories: YES
[17-Nov-2025 14:45:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:45:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:45:27 UTC]    Is_active field in books: YES
[17-Nov-2025 14:45:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:45:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:45:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:45:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:45:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:45:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:27 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:45:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:45:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:45:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:45:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:27 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:45:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:27 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:45:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:45:27 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:27 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:45:27 UTC] 📊 Database Info:
[17-Nov-2025 14:45:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:45:27 UTC]    Books columns count: 53
[17-Nov-2025 14:45:27 UTC]    Categories columns count: 7
[17-Nov-2025 14:45:27 UTC]    Language field in books: YES
[17-Nov-2025 14:45:27 UTC]    Format field in books: YES
[17-Nov-2025 14:45:27 UTC]    Description field in categories: YES
[17-Nov-2025 14:45:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:45:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:45:27 UTC]    Is_active field in books: YES
[17-Nov-2025 14:45:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:45:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:45:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:45:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:45:27 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:45:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:45:27 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:27 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:27 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:27 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:27 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:27 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:27 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:27 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:27 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:27 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:27 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:27 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:27 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:45:27 UTC] 📊 Database Info:
[17-Nov-2025 14:45:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:45:27 UTC]    Books columns count: 53
[17-Nov-2025 14:45:27 UTC]    Categories columns count: 7
[17-Nov-2025 14:45:27 UTC]    Language field in books: YES
[17-Nov-2025 14:45:27 UTC]    Format field in books: YES
[17-Nov-2025 14:45:27 UTC]    Description field in categories: YES
[17-Nov-2025 14:45:27 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:45:27 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:45:27 UTC]    Is_active field in books: YES
[17-Nov-2025 14:45:27 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:45:27 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:45:27 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:45:27 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:45:27 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:45:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:45:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:45:27 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:45:27 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:45:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:45:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:45:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:45:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:45:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:45:44 UTC] 📊 Database Info:
[17-Nov-2025 14:45:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:45:44 UTC]    Books columns count: 53
[17-Nov-2025 14:45:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:45:44 UTC]    Language field in books: YES
[17-Nov-2025 14:45:44 UTC]    Format field in books: YES
[17-Nov-2025 14:45:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:45:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:45:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:45:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:45:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:45:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:45:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:45:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:45:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:45:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:45:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:45:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:45:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:45:44 UTC] 📊 Database Info:
[17-Nov-2025 14:45:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:45:44 UTC]    Books columns count: 53
[17-Nov-2025 14:45:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:45:44 UTC]    Language field in books: YES
[17-Nov-2025 14:45:44 UTC]    Format field in books: YES
[17-Nov-2025 14:45:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:45:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:45:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:45:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:45:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:45:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:45:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:45:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:45:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:45:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:45:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:45:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:45:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:45:44 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:45:44 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:45:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:45:44 UTC] 📊 Database Info:
[17-Nov-2025 14:45:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:45:44 UTC]    Books columns count: 53
[17-Nov-2025 14:45:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:45:44 UTC]    Language field in books: YES
[17-Nov-2025 14:45:44 UTC]    Format field in books: YES
[17-Nov-2025 14:45:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:45:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:45:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:45:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:45:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:45:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:45:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:45:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:45:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:45:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:45:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:45:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:58 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:45:58 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:58 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:45:58 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:58 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:45:58 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:45:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:45:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:45:58 UTC] 📊 Database Info:
[17-Nov-2025 14:45:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:45:58 UTC]    Books columns count: 53
[17-Nov-2025 14:45:58 UTC]    Categories columns count: 7
[17-Nov-2025 14:45:58 UTC]    Language field in books: YES
[17-Nov-2025 14:45:58 UTC]    Format field in books: YES
[17-Nov-2025 14:45:58 UTC]    Description field in categories: YES
[17-Nov-2025 14:45:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:45:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:45:58 UTC]    Is_active field in books: YES
[17-Nov-2025 14:45:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:45:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:45:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:45:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:45:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:45:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:45:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:45:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:45:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:45:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:45:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:45:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:45:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:45:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:45:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:45:58 UTC] 📊 Database Info:
[17-Nov-2025 14:45:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:45:58 UTC]    Books columns count: 53
[17-Nov-2025 14:45:58 UTC]    Categories columns count: 7
[17-Nov-2025 14:45:58 UTC]    Language field in books: YES
[17-Nov-2025 14:45:58 UTC]    Format field in books: YES
[17-Nov-2025 14:45:58 UTC]    Description field in categories: YES
[17-Nov-2025 14:45:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:45:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:45:58 UTC]    Is_active field in books: YES
[17-Nov-2025 14:45:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:45:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:45:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:45:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:45:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:45:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:45:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:45:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:45:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:45:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:45:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:45:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:45:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:45:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:45:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:45:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:45:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:45:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:45:58 UTC] 📊 Database Info:
[17-Nov-2025 14:45:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:45:58 UTC]    Books columns count: 53
[17-Nov-2025 14:45:58 UTC]    Categories columns count: 7
[17-Nov-2025 14:45:58 UTC]    Language field in books: YES
[17-Nov-2025 14:45:58 UTC]    Format field in books: YES
[17-Nov-2025 14:45:58 UTC]    Description field in categories: YES
[17-Nov-2025 14:45:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:45:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:45:58 UTC]    Is_active field in books: YES
[17-Nov-2025 14:45:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:45:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:45:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:45:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:45:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:45:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:45:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:45:58 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:45:58 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:46:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:46:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:46:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:46:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:46:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:46:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:46:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:46:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:46:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:46:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:46:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:46:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:46:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:46:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:46:17 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:46:17 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:46:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:46:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:46:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:46:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:46:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:46:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:46:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:46:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:46:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:46:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:46:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:46:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:46:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:46:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:46:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:46:17 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:46:17 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:46:17 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:46:17 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:46:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:46:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:46:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:46:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:46:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:46:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:46:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:46:17 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:46:17 UTC] 📊 Database Info:
[17-Nov-2025 14:46:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:46:17 UTC]    Books columns count: 53
[17-Nov-2025 14:46:17 UTC]    Categories columns count: 7
[17-Nov-2025 14:46:17 UTC]    Language field in books: YES
[17-Nov-2025 14:46:17 UTC]    Format field in books: YES
[17-Nov-2025 14:46:17 UTC]    Description field in categories: YES
[17-Nov-2025 14:46:17 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:46:17 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:46:17 UTC]    Is_active field in books: YES
[17-Nov-2025 14:46:17 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:46:17 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:46:17 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:46:17 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:46:17 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:46:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:46:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:46:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:46:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:46:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:46:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:46:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:46:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:46:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:46:17 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:46:17 UTC] 📊 Database Info:
[17-Nov-2025 14:46:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:46:17 UTC]    Books columns count: 53
[17-Nov-2025 14:46:17 UTC]    Categories columns count: 7
[17-Nov-2025 14:46:17 UTC]    Language field in books: YES
[17-Nov-2025 14:46:17 UTC]    Format field in books: YES
[17-Nov-2025 14:46:17 UTC]    Description field in categories: YES
[17-Nov-2025 14:46:17 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:46:17 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:46:17 UTC]    Is_active field in books: YES
[17-Nov-2025 14:46:17 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:46:17 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:46:17 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:46:17 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:46:17 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:46:17 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:46:17 UTC] 📊 Database Info:
[17-Nov-2025 14:46:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:46:17 UTC]    Books columns count: 53
[17-Nov-2025 14:46:17 UTC]    Categories columns count: 7
[17-Nov-2025 14:46:17 UTC]    Language field in books: YES
[17-Nov-2025 14:46:17 UTC]    Format field in books: YES
[17-Nov-2025 14:46:17 UTC]    Description field in categories: YES
[17-Nov-2025 14:46:17 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:46:17 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:46:17 UTC]    Is_active field in books: YES
[17-Nov-2025 14:46:17 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:46:17 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:46:17 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:46:17 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:46:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:46:17 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:46:17 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:46:17 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:46:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:46:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:47:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:47:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:47:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:47:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:47:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:47:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:47:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:47:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:47:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:47:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:47:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:47:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:47:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:47:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:47:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:47:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:47:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:47:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:47:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:47:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:47:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:47:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:47:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:47:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:47:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:47:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:47:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:47:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:47:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:47:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:47:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:47:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:47:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:47:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:47:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:47:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:47:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:47:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:47:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:47:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:47:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:47:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:47:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:47:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:47:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:47:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:47:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:47:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:47:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:47:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:47:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:47:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:47:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:47:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:47:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:47:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:47:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:47:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:47:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:47:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:47:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:47:05 UTC] 📊 Database Info:
[17-Nov-2025 14:47:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:47:05 UTC]    Books columns count: 53
[17-Nov-2025 14:47:05 UTC]    Categories columns count: 7
[17-Nov-2025 14:47:05 UTC]    Language field in books: YES
[17-Nov-2025 14:47:05 UTC]    Format field in books: YES
[17-Nov-2025 14:47:05 UTC]    Description field in categories: YES
[17-Nov-2025 14:47:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:47:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:47:05 UTC]    Is_active field in books: YES
[17-Nov-2025 14:47:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:47:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:47:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:47:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:47:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:47:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:47:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:47:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:47:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:47:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:47:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:47:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:47:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:47:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:47:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:47:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:47:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:47:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:47:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:47:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:47:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:47:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:47:05 UTC] 📊 Database Info:
[17-Nov-2025 14:47:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:47:05 UTC]    Books columns count: 53
[17-Nov-2025 14:47:05 UTC]    Categories columns count: 7
[17-Nov-2025 14:47:05 UTC]    Language field in books: YES
[17-Nov-2025 14:47:05 UTC]    Format field in books: YES
[17-Nov-2025 14:47:05 UTC]    Description field in categories: YES
[17-Nov-2025 14:47:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:47:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:47:05 UTC]    Is_active field in books: YES
[17-Nov-2025 14:47:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:47:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:47:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:47:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:47:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:47:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:47:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:47:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:47:05 UTC] 📊 Database Info:
[17-Nov-2025 14:47:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:47:05 UTC]    Books columns count: 53
[17-Nov-2025 14:47:05 UTC]    Categories columns count: 7
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:47:05 UTC]    Language field in books: YES
[17-Nov-2025 14:47:05 UTC]    Format field in books: YES
[17-Nov-2025 14:47:05 UTC]    Description field in categories: YES
[17-Nov-2025 14:47:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:47:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:47:05 UTC]    Is_active field in books: YES
[17-Nov-2025 14:47:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:47:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:47:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:47:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:47:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:47:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:47:05 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:47:05 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:47:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:47:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:47:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:47:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:47:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:47:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:47:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:47:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:47:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:47:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:47:29 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:47:29 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:47:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:47:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:47:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:47:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:47:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:47:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:47:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:47:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:47:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:47:29 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:47:29 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:47:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:47:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:47:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:47:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:47:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:47:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:47:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:47:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:47:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:47:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:47:29 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:47:29 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:47:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:47:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:47:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:47:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:47:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:47:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:47:29 UTC] 📊 Database Info:
[17-Nov-2025 14:47:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:47:29 UTC]    Books columns count: 53
[17-Nov-2025 14:47:29 UTC]    Categories columns count: 7
[17-Nov-2025 14:47:29 UTC]    Language field in books: YES
[17-Nov-2025 14:47:29 UTC]    Format field in books: YES
[17-Nov-2025 14:47:29 UTC]    Description field in categories: YES
[17-Nov-2025 14:47:29 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:47:29 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:47:29 UTC]    Is_active field in books: YES
[17-Nov-2025 14:47:29 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:47:29 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:47:29 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:47:29 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:47:29 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:47:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:47:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:47:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:47:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:47:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:47:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:47:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:47:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:47:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:47:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:47:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:47:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:47:29 UTC] 📊 Database Info:
[17-Nov-2025 14:47:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:47:29 UTC]    Books columns count: 53
[17-Nov-2025 14:47:29 UTC]    Categories columns count: 7
[17-Nov-2025 14:47:29 UTC]    Language field in books: YES
[17-Nov-2025 14:47:29 UTC]    Format field in books: YES
[17-Nov-2025 14:47:29 UTC]    Description field in categories: YES
[17-Nov-2025 14:47:29 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:47:29 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:47:29 UTC]    Is_active field in books: YES
[17-Nov-2025 14:47:29 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:47:29 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:47:29 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:47:29 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:47:29 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:47:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:47:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:47:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:47:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:47:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:47:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:47:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:47:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:47:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:47:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:47:29 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:47:29 UTC] 📊 Database Info:
[17-Nov-2025 14:47:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:47:29 UTC]    Books columns count: 53
[17-Nov-2025 14:47:29 UTC]    Categories columns count: 7
[17-Nov-2025 14:47:29 UTC]    Language field in books: YES
[17-Nov-2025 14:47:29 UTC]    Format field in books: YES
[17-Nov-2025 14:47:29 UTC]    Description field in categories: YES
[17-Nov-2025 14:47:29 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:47:29 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:47:29 UTC]    Is_active field in books: YES
[17-Nov-2025 14:47:29 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:47:29 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:47:29 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:47:29 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:47:29 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:47:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:47:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:47:29 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:47:29 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:47:48 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:47:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:47:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:47:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:47:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:47:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:47:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:47:49 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:47:49 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:47:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:47:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:47:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:47:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:47:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:47:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:47:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:47:49 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:47:49 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:47:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:47:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:47:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:47:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:47:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:47:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:47:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:47:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:47:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:47:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:47:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:47:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:47:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:47:49 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:47:49 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:47:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:47:49 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:47:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:47:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:47:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:47:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:47:49 UTC] 📊 Database Info:
[17-Nov-2025 14:47:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:47:49 UTC]    Books columns count: 53
[17-Nov-2025 14:47:49 UTC]    Categories columns count: 7
[17-Nov-2025 14:47:49 UTC]    Language field in books: YES
[17-Nov-2025 14:47:49 UTC]    Format field in books: YES
[17-Nov-2025 14:47:49 UTC]    Description field in categories: YES
[17-Nov-2025 14:47:49 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:47:49 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:47:49 UTC]    Is_active field in books: YES
[17-Nov-2025 14:47:49 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:47:49 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:47:49 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:47:49 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:47:49 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:47:49 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:47:49 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:47:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:47:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:47:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:47:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:47:49 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:47:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:47:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:47:49 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:47:49 UTC] 📊 Database Info:
[17-Nov-2025 14:47:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:47:49 UTC]    Books columns count: 53
[17-Nov-2025 14:47:49 UTC]    Categories columns count: 7
[17-Nov-2025 14:47:49 UTC]    Language field in books: YES
[17-Nov-2025 14:47:49 UTC]    Format field in books: YES
[17-Nov-2025 14:47:49 UTC]    Description field in categories: YES
[17-Nov-2025 14:47:49 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:47:49 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:47:49 UTC]    Is_active field in books: YES
[17-Nov-2025 14:47:49 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:47:49 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:47:49 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:47:49 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:47:49 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:47:49 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:47:49 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:47:49 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:47:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:47:49 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:47:49 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:47:49 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:47:49 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:47:49 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:47:49 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:47:49 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:47:49 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:47:49 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:47:49 UTC] 📊 Database Info:
[17-Nov-2025 14:47:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:47:49 UTC]    Books columns count: 53
[17-Nov-2025 14:47:49 UTC]    Categories columns count: 7
[17-Nov-2025 14:47:49 UTC]    Language field in books: YES
[17-Nov-2025 14:47:49 UTC]    Format field in books: YES
[17-Nov-2025 14:47:49 UTC]    Description field in categories: YES
[17-Nov-2025 14:47:49 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:47:49 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:47:49 UTC]    Is_active field in books: YES
[17-Nov-2025 14:47:49 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:47:49 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:47:49 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:47:49 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:47:49 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:47:49 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:47:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:47:49 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:47:49 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:48:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:48:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:48:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:48:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:48:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:48:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:48:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:48:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:48:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:48:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:48:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:48:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:48:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:48:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:48:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:48:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:48:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:48:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:48:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:48:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:48:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:48:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:48:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:48:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:48:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:48:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:48:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:48:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:48:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:48:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:48:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:48:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:48:04 UTC] 📊 Database Info:
[17-Nov-2025 14:48:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:48:04 UTC]    Books columns count: 53
[17-Nov-2025 14:48:04 UTC]    Categories columns count: 7
[17-Nov-2025 14:48:04 UTC]    Language field in books: YES
[17-Nov-2025 14:48:04 UTC]    Format field in books: YES
[17-Nov-2025 14:48:04 UTC]    Description field in categories: YES
[17-Nov-2025 14:48:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:48:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:48:04 UTC]    Is_active field in books: YES
[17-Nov-2025 14:48:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:48:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:48:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:48:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:48:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:48:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:48:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:48:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:48:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:48:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:48:04 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:48:04 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:48:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:48:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:48:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:48:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:48:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:48:04 UTC] 📊 Database Info:
[17-Nov-2025 14:48:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:48:04 UTC]    Books columns count: 53
[17-Nov-2025 14:48:04 UTC]    Categories columns count: 7
[17-Nov-2025 14:48:04 UTC]    Language field in books: YES
[17-Nov-2025 14:48:04 UTC]    Format field in books: YES
[17-Nov-2025 14:48:04 UTC]    Description field in categories: YES
[17-Nov-2025 14:48:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:48:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:48:04 UTC]    Is_active field in books: YES
[17-Nov-2025 14:48:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:48:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:48:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:48:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:48:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:48:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:48:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:48:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:48:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:48:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:48:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:48:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:48:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:48:04 UTC] 📊 Database Info:
[17-Nov-2025 14:48:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:48:04 UTC]    Books columns count: 53
[17-Nov-2025 14:48:04 UTC]    Categories columns count: 7
[17-Nov-2025 14:48:04 UTC]    Language field in books: YES
[17-Nov-2025 14:48:04 UTC]    Format field in books: YES
[17-Nov-2025 14:48:04 UTC]    Description field in categories: YES
[17-Nov-2025 14:48:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:48:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:48:04 UTC]    Is_active field in books: YES
[17-Nov-2025 14:48:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:48:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:48:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:48:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:48:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:48:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:48:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:48:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:48:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:48:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:48:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:48:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:48:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:48:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:48:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:48:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:48:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:48:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:48:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:48:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:48:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:48:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:48:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:48:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:48:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:48:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:48:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:48:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:48:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:48:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:48:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:48:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:48:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:48:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:48:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:48:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:48:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:48:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:48:37 UTC] 📊 Database Info:
[17-Nov-2025 14:48:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:48:37 UTC]    Books columns count: 53
[17-Nov-2025 14:48:37 UTC]    Categories columns count: 7
[17-Nov-2025 14:48:37 UTC]    Language field in books: YES
[17-Nov-2025 14:48:37 UTC]    Format field in books: YES
[17-Nov-2025 14:48:37 UTC]    Description field in categories: YES
[17-Nov-2025 14:48:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:48:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:48:37 UTC]    Is_active field in books: YES
[17-Nov-2025 14:48:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:48:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:48:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:48:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:48:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:48:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:48:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:48:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:48:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:48:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:48:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:48:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:48:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:48:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:48:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:48:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:48:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:48:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:48:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:48:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:48:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:48:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:48:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:48:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:48:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:48:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:48:37 UTC] 📊 Database Info:
[17-Nov-2025 14:48:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:48:37 UTC]    Books columns count: 53
[17-Nov-2025 14:48:37 UTC]    Categories columns count: 7
[17-Nov-2025 14:48:37 UTC]    Language field in books: YES
[17-Nov-2025 14:48:37 UTC]    Format field in books: YES
[17-Nov-2025 14:48:37 UTC]    Description field in categories: YES
[17-Nov-2025 14:48:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:48:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:48:37 UTC]    Is_active field in books: YES
[17-Nov-2025 14:48:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:48:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:48:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:48:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:48:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:48:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:48:37 UTC] 📊 Database Info:
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:48:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:48:37 UTC]    Books columns count: 53
[17-Nov-2025 14:48:37 UTC]    Categories columns count: 7
[17-Nov-2025 14:48:37 UTC]    Language field in books: YES
[17-Nov-2025 14:48:37 UTC]    Format field in books: YES
[17-Nov-2025 14:48:37 UTC]    Description field in categories: YES
[17-Nov-2025 14:48:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:48:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:48:37 UTC]    Is_active field in books: YES
[17-Nov-2025 14:48:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:48:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:48:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:48:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:48:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:48:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:48:37 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:48:37 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:48:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:48:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:48:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:48:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:48:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:48:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:48:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:48:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:48:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:48:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:48:58 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:48:58 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:48:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:48:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:48:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:48:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:48:58 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:48:58 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:48:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:48:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:48:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:48:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:48:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:48:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:48:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:48:58 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:48:58 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:48:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:48:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:48:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:48:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:48:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:48:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:48:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:48:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:48:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:48:58 UTC] 📊 Database Info:
[17-Nov-2025 14:48:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:48:58 UTC]    Books columns count: 53
[17-Nov-2025 14:48:58 UTC]    Categories columns count: 7
[17-Nov-2025 14:48:58 UTC]    Language field in books: YES
[17-Nov-2025 14:48:58 UTC]    Format field in books: YES
[17-Nov-2025 14:48:58 UTC]    Description field in categories: YES
[17-Nov-2025 14:48:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:48:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:48:58 UTC]    Is_active field in books: YES
[17-Nov-2025 14:48:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:48:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:48:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:48:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:48:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:48:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:48:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:48:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:48:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:48:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:48:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:48:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:48:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:48:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:48:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:48:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:48:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:48:58 UTC] 📊 Database Info:
[17-Nov-2025 14:48:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:48:58 UTC]    Books columns count: 53
[17-Nov-2025 14:48:58 UTC]    Categories columns count: 7
[17-Nov-2025 14:48:58 UTC]    Language field in books: YES
[17-Nov-2025 14:48:58 UTC]    Format field in books: YES
[17-Nov-2025 14:48:58 UTC]    Description field in categories: YES
[17-Nov-2025 14:48:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:48:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:48:58 UTC]    Is_active field in books: YES
[17-Nov-2025 14:48:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:48:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:48:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:48:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:48:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:48:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:48:58 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:48:58 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:48:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:48:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:48:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:48:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:48:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:48:58 UTC] 📊 Database Info:
[17-Nov-2025 14:48:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:48:58 UTC]    Books columns count: 53
[17-Nov-2025 14:48:58 UTC]    Categories columns count: 7
[17-Nov-2025 14:48:58 UTC]    Language field in books: YES
[17-Nov-2025 14:48:58 UTC]    Format field in books: YES
[17-Nov-2025 14:48:58 UTC]    Description field in categories: YES
[17-Nov-2025 14:48:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:48:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:48:58 UTC]    Is_active field in books: YES
[17-Nov-2025 14:48:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:48:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:48:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:48:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:48:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:48:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:48:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:49:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:49:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:49:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:49:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:49:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:49:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:49:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:49:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:49:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:49:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:49:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:49:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:49:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:49:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:49:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:49:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:49:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:49:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:49:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:49:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:49:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:49:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:49:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:49:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:49:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:49:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:49:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:49:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:49:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:49:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:49:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:49:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:49:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:49:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:49:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:49:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:49:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:49:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:49:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:49:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:49:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:49:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:49:32 UTC] 📊 Database Info:
[17-Nov-2025 14:49:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:49:32 UTC]    Books columns count: 53
[17-Nov-2025 14:49:32 UTC]    Categories columns count: 7
[17-Nov-2025 14:49:32 UTC]    Language field in books: YES
[17-Nov-2025 14:49:32 UTC]    Format field in books: YES
[17-Nov-2025 14:49:32 UTC]    Description field in categories: YES
[17-Nov-2025 14:49:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:49:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:49:32 UTC]    Is_active field in books: YES
[17-Nov-2025 14:49:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:49:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:49:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:49:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:49:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:49:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:49:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:49:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:49:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:49:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:49:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:49:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:49:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:49:32 UTC] 📊 Database Info:
[17-Nov-2025 14:49:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:49:32 UTC]    Books columns count: 53
[17-Nov-2025 14:49:32 UTC]    Categories columns count: 7
[17-Nov-2025 14:49:32 UTC]    Language field in books: YES
[17-Nov-2025 14:49:32 UTC]    Format field in books: YES
[17-Nov-2025 14:49:32 UTC]    Description field in categories: YES
[17-Nov-2025 14:49:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:49:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:49:32 UTC]    Is_active field in books: YES
[17-Nov-2025 14:49:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:49:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:49:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:49:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:49:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:49:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:49:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:49:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:49:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:49:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:49:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:49:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:49:32 UTC] 📊 Database Info:
[17-Nov-2025 14:49:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:49:32 UTC]    Books columns count: 53
[17-Nov-2025 14:49:32 UTC]    Categories columns count: 7
[17-Nov-2025 14:49:32 UTC]    Language field in books: YES
[17-Nov-2025 14:49:32 UTC]    Format field in books: YES
[17-Nov-2025 14:49:32 UTC]    Description field in categories: YES
[17-Nov-2025 14:49:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:49:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:49:32 UTC]    Is_active field in books: YES
[17-Nov-2025 14:49:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:49:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:49:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:49:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:49:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:49:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:49:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:49:32 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:49:32 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:50:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:50:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:50:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:50:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:50:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:50:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:50:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:50:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:50:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:50:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:50:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:50:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:50:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:50:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:50:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:50:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:50:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:50:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:50:03 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:50:03 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:50:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:50:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:50:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:50:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:50:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:50:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:50:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:50:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:50:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:50:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:50:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:50:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:50:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:50:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:50:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:50:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:50:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:50:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:50:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:50:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:50:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:50:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:50:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:50:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:50:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:50:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:50:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:50:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:50:03 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:50:03 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:50:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:50:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:50:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:50:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:50:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:50:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:50:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:50:03 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:50:03 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:50:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:50:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:50:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:50:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:50:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:50:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:50:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:50:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:50:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:50:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:50:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:50:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:50:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:50:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:50:04 UTC] 📊 Database Info:
[17-Nov-2025 14:50:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:50:04 UTC]    Books columns count: 53
[17-Nov-2025 14:50:04 UTC]    Categories columns count: 7
[17-Nov-2025 14:50:04 UTC]    Language field in books: YES
[17-Nov-2025 14:50:04 UTC]    Format field in books: YES
[17-Nov-2025 14:50:04 UTC]    Description field in categories: YES
[17-Nov-2025 14:50:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:50:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:50:04 UTC]    Is_active field in books: YES
[17-Nov-2025 14:50:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:50:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:50:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:50:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:50:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:50:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:50:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:50:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:50:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:50:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:50:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:50:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:50:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:50:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:50:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:50:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:50:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:50:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:50:05 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:50:05 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:50:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:50:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:50:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:50:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:50:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:50:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:50:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:50:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:50:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:50:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:50:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:50:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:50:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:50:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:50:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:50:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:50:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:50:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:50:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:50:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:50:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:50:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:50:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:50:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:50:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:50:05 UTC] 📊 Database Info:
[17-Nov-2025 14:50:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:50:05 UTC]    Books columns count: 53
[17-Nov-2025 14:50:05 UTC]    Categories columns count: 7
[17-Nov-2025 14:50:05 UTC]    Language field in books: YES
[17-Nov-2025 14:50:05 UTC]    Format field in books: YES
[17-Nov-2025 14:50:05 UTC]    Description field in categories: YES
[17-Nov-2025 14:50:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:50:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:50:05 UTC]    Is_active field in books: YES
[17-Nov-2025 14:50:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:50:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:50:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:50:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:50:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:50:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:50:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:50:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:50:05 UTC] 📊 Database Info:
[17-Nov-2025 14:50:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:50:05 UTC]    Books columns count: 53
[17-Nov-2025 14:50:05 UTC]    Categories columns count: 7
[17-Nov-2025 14:50:05 UTC]    Language field in books: YES
[17-Nov-2025 14:50:05 UTC]    Format field in books: YES
[17-Nov-2025 14:50:05 UTC]    Description field in categories: YES
[17-Nov-2025 14:50:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:50:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:50:05 UTC]    Is_active field in books: YES
[17-Nov-2025 14:50:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:50:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:50:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:50:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:50:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:50:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:50:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:50:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:50:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:50:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:50:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:50:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:50:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:50:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:50:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:50:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:50:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:50:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:50:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:50:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:50:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:50:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:50:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:50:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:50:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:50:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:50:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:50:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:50:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:50:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:50:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:50:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:50:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:50:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:50:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:50:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:50:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:50:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:50:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:50:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:50:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:50:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:50:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:50:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:50:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:50:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:50:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:50:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:50:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:50:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:50:33 UTC] 📊 Database Info:
[17-Nov-2025 14:50:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:50:33 UTC]    Books columns count: 53
[17-Nov-2025 14:50:33 UTC]    Categories columns count: 7
[17-Nov-2025 14:50:33 UTC]    Language field in books: YES
[17-Nov-2025 14:50:33 UTC]    Format field in books: YES
[17-Nov-2025 14:50:33 UTC]    Description field in categories: YES
[17-Nov-2025 14:50:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:50:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:50:33 UTC]    Is_active field in books: YES
[17-Nov-2025 14:50:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:50:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:50:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:50:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:50:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:50:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:50:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:50:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:50:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:50:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:50:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:50:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:50:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:50:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:50:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:50:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:50:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:50:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:50:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:50:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:50:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:50:33 UTC] 📊 Database Info:
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:50:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:50:33 UTC]    Books columns count: 53
[17-Nov-2025 14:50:33 UTC]    Categories columns count: 7
[17-Nov-2025 14:50:33 UTC]    Language field in books: YES
[17-Nov-2025 14:50:33 UTC]    Format field in books: YES
[17-Nov-2025 14:50:33 UTC]    Description field in categories: YES
[17-Nov-2025 14:50:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:50:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:50:33 UTC]    Is_active field in books: YES
[17-Nov-2025 14:50:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:50:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:50:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:50:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:50:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:50:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:50:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:50:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:50:33 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:50:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:50:33 UTC] 📊 Database Info:
[17-Nov-2025 14:50:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:50:33 UTC]    Books columns count: 53
[17-Nov-2025 14:50:33 UTC]    Categories columns count: 7
[17-Nov-2025 14:50:33 UTC]    Language field in books: YES
[17-Nov-2025 14:50:33 UTC]    Format field in books: YES
[17-Nov-2025 14:50:33 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:50:33 UTC]    Description field in categories: YES
[17-Nov-2025 14:50:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:50:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:50:33 UTC]    Is_active field in books: YES
[17-Nov-2025 14:50:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:50:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:50:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:50:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:50:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:50:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:50:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:51:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:51:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:51:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:51:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:51:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:51:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:51:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:51:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:51:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:51:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:51:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:51:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:51:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:51:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:51:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:51:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:51:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:51:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:51:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:51:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:51:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:51:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:51:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:51:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:51:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:51:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:51:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:51:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:51:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:51:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:51:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:51:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:51:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:51:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:51:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:51:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:51:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:51:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:51:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:51:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:51:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:51:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:51:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:51:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:51:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:51:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:51:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:51:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:51:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:51:31 UTC] 📊 Database Info:
[17-Nov-2025 14:51:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:51:31 UTC]    Books columns count: 53
[17-Nov-2025 14:51:31 UTC]    Categories columns count: 7
[17-Nov-2025 14:51:31 UTC]    Language field in books: YES
[17-Nov-2025 14:51:31 UTC]    Format field in books: YES
[17-Nov-2025 14:51:31 UTC]    Description field in categories: YES
[17-Nov-2025 14:51:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:51:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:51:31 UTC]    Is_active field in books: YES
[17-Nov-2025 14:51:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:51:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:51:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:51:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:51:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:51:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:51:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:51:31 UTC] 📊 Database Info:
[17-Nov-2025 14:51:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:51:31 UTC]    Books columns count: 53
[17-Nov-2025 14:51:31 UTC]    Categories columns count: 7
[17-Nov-2025 14:51:31 UTC]    Language field in books: YES
[17-Nov-2025 14:51:31 UTC]    Format field in books: YES
[17-Nov-2025 14:51:31 UTC]    Description field in categories: YES
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:51:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:51:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:51:31 UTC]    Is_active field in books: YES
[17-Nov-2025 14:51:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:51:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:51:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:51:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:51:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:51:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:51:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:51:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:51:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:51:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:51:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:51:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:51:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:51:31 UTC] 📊 Database Info:
[17-Nov-2025 14:51:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:51:31 UTC]    Books columns count: 53
[17-Nov-2025 14:51:31 UTC]    Categories columns count: 7
[17-Nov-2025 14:51:31 UTC]    Language field in books: YES
[17-Nov-2025 14:51:31 UTC]    Format field in books: YES
[17-Nov-2025 14:51:31 UTC]    Description field in categories: YES
[17-Nov-2025 14:51:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:51:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:51:31 UTC]    Is_active field in books: YES
[17-Nov-2025 14:51:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:51:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:51:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:51:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:51:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:51:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:51:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:51:31 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:51:31 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:52:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:52:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:52:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:52:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:52:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:52:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:52:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:52:24 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:52:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:52:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:52:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:52:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:52:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:52:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:52:24 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:52:24 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:52:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:52:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:52:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:52:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:52:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:52:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:52:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:52:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:52:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:52:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:52:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:52:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:52:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:52:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:52:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:52:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:52:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:52:24 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:52:24 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:52:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:52:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:52:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:52:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:52:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:52:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:52:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:52:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:52:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:52:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:52:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:52:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:52:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:52:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:52:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:52:24 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:52:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:52:24 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:52:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:52:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:52:25 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:52:25 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:52:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:52:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:52:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:52:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:52:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:52:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:52:25 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:52:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:52:25 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:52:25 UTC] 📊 Database Info:
[17-Nov-2025 14:52:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:52:25 UTC]    Books columns count: 53
[17-Nov-2025 14:52:25 UTC]    Categories columns count: 7
[17-Nov-2025 14:52:25 UTC]    Language field in books: YES
[17-Nov-2025 14:52:25 UTC]    Format field in books: YES
[17-Nov-2025 14:52:25 UTC]    Description field in categories: YES
[17-Nov-2025 14:52:25 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:52:25 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:52:25 UTC]    Is_active field in books: YES
[17-Nov-2025 14:52:25 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:52:25 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:52:25 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:52:25 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:52:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:52:25 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:52:25 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:52:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:52:25 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:52:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:52:25 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:52:25 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:52:25 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:52:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:52:25 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:52:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:52:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:52:25 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:52:25 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:52:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:52:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:52:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:52:25 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:52:25 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:52:25 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:52:25 UTC] 📊 Database Info:
[17-Nov-2025 14:52:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:52:25 UTC]    Books columns count: 53
[17-Nov-2025 14:52:25 UTC]    Categories columns count: 7
[17-Nov-2025 14:52:25 UTC]    Language field in books: YES
[17-Nov-2025 14:52:25 UTC]    Format field in books: YES
[17-Nov-2025 14:52:25 UTC]    Description field in categories: YES
[17-Nov-2025 14:52:25 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:52:25 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:52:25 UTC]    Is_active field in books: YES
[17-Nov-2025 14:52:25 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:52:25 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:52:25 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:52:25 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:52:25 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:52:25 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:52:25 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:52:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:52:25 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:52:25 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:52:25 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:52:25 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:52:25 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:52:25 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:52:25 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:52:25 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:52:25 UTC] 📊 Database Info:
[17-Nov-2025 14:52:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:52:25 UTC]    Books columns count: 53
[17-Nov-2025 14:52:25 UTC]    Categories columns count: 7
[17-Nov-2025 14:52:25 UTC]    Language field in books: YES
[17-Nov-2025 14:52:25 UTC]    Format field in books: YES
[17-Nov-2025 14:52:25 UTC]    Description field in categories: YES
[17-Nov-2025 14:52:25 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:52:25 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:52:25 UTC]    Is_active field in books: YES
[17-Nov-2025 14:52:25 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:52:25 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:52:25 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:52:25 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:52:25 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:52:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:52:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:55:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:55:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:55:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:55:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:55:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:55:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:55:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:55:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:55:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:55:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:55:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:55:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:55:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:55:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:55:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:55:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:55:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:55:07 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:55:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:55:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:55:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:55:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:55:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:55:07 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:55:07 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:55:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:55:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:55:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:55:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:55:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:55:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:55:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:55:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:55:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:55:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:55:08 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:55:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:08 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:55:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:55:08 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:55:08 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:55:08 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:55:08 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:55:08 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:55:08 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:55:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:55:08 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:55:08 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:55:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:55:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:55:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:55:08 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:55:08 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:55:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:55:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:55:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:55:08 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:55:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:55:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:55:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:55:08 UTC] 📊 Database Info:
[17-Nov-2025 14:55:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:55:08 UTC]    Books columns count: 53
[17-Nov-2025 14:55:08 UTC]    Categories columns count: 7
[17-Nov-2025 14:55:08 UTC]    Language field in books: YES
[17-Nov-2025 14:55:08 UTC]    Format field in books: YES
[17-Nov-2025 14:55:08 UTC]    Description field in categories: YES
[17-Nov-2025 14:55:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:55:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:55:08 UTC]    Is_active field in books: YES
[17-Nov-2025 14:55:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:55:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:55:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:55:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:55:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:55:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:55:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:55:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:55:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:55:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:55:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:55:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:55:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:55:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:55:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:55:08 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:55:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:55:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:55:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:55:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:55:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:55:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:55:08 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:55:08 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:55:08 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:55:08 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:55:08 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:55:08 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:55:08 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:55:08 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:55:08 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:55:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:55:08 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:55:08 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:55:08 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:55:08 UTC] 📊 Database Info:
[17-Nov-2025 14:55:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:55:08 UTC]    Books columns count: 53
[17-Nov-2025 14:55:08 UTC]    Categories columns count: 7
[17-Nov-2025 14:55:08 UTC]    Language field in books: YES
[17-Nov-2025 14:55:08 UTC]    Format field in books: YES
[17-Nov-2025 14:55:08 UTC]    Description field in categories: YES
[17-Nov-2025 14:55:08 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:55:08 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:55:08 UTC]    Is_active field in books: YES
[17-Nov-2025 14:55:08 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:55:08 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:55:08 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:55:08 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:55:08 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:55:08 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:55:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:55:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:55:08 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:55:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:55:09 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:55:09 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:55:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:55:09 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:55:09 UTC] 📊 Database Info:
[17-Nov-2025 14:55:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:55:09 UTC]    Books columns count: 53
[17-Nov-2025 14:55:09 UTC]    Categories columns count: 7
[17-Nov-2025 14:55:09 UTC]    Language field in books: YES
[17-Nov-2025 14:55:09 UTC]    Format field in books: YES
[17-Nov-2025 14:55:09 UTC]    Description field in categories: YES
[17-Nov-2025 14:55:09 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:55:09 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:55:09 UTC]    Is_active field in books: YES
[17-Nov-2025 14:55:09 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:55:09 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:55:09 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:55:09 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:55:09 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:55:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:55:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:55:09 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:55:09 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:55:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:55:22 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:55:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:55:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:55:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:55:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:55:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:55:23 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:55:23 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:55:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:55:23 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:55:23 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:55:23 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:55:23 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:55:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:55:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:55:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:55:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:55:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:55:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:55:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:55:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:55:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:23 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:55:23 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:55:23 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:55:23 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:55:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:55:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:55:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:55:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:55:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:55:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:55:23 UTC] 📊 Database Info:
[17-Nov-2025 14:55:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:55:23 UTC]    Books columns count: 53
[17-Nov-2025 14:55:23 UTC]    Categories columns count: 7
[17-Nov-2025 14:55:23 UTC]    Language field in books: YES
[17-Nov-2025 14:55:23 UTC]    Format field in books: YES
[17-Nov-2025 14:55:23 UTC]    Description field in categories: YES
[17-Nov-2025 14:55:23 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:55:23 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:55:23 UTC]    Is_active field in books: YES
[17-Nov-2025 14:55:23 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:55:23 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:55:23 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:55:23 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:55:23 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:55:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:55:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:55:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:55:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:55:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:55:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:55:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:55:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:55:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:55:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:55:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:55:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:55:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:55:23 UTC] 📊 Database Info:
[17-Nov-2025 14:55:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:55:23 UTC]    Books columns count: 53
[17-Nov-2025 14:55:23 UTC]    Categories columns count: 7
[17-Nov-2025 14:55:23 UTC]    Language field in books: YES
[17-Nov-2025 14:55:23 UTC]    Format field in books: YES
[17-Nov-2025 14:55:23 UTC]    Description field in categories: YES
[17-Nov-2025 14:55:23 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:55:23 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:55:23 UTC]    Is_active field in books: YES
[17-Nov-2025 14:55:23 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:55:23 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:55:23 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:55:23 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:55:23 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:55:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:55:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:55:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:55:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:55:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:55:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:55:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:55:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:55:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:55:23 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:55:23 UTC] 📊 Database Info:
[17-Nov-2025 14:55:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:55:23 UTC]    Books columns count: 53
[17-Nov-2025 14:55:23 UTC]    Categories columns count: 7
[17-Nov-2025 14:55:23 UTC]    Language field in books: YES
[17-Nov-2025 14:55:23 UTC]    Format field in books: YES
[17-Nov-2025 14:55:23 UTC]    Description field in categories: YES
[17-Nov-2025 14:55:23 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:55:23 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:55:23 UTC]    Is_active field in books: YES
[17-Nov-2025 14:55:23 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:55:23 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:55:23 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:55:23 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:55:23 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:55:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:55:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:55:23 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:55:23 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:55:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:55:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:55:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:55:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:55:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:55:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:55:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:55:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:55:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:55:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:55:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:55:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:55:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:55:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:55:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:55:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:55:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:55:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:55:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:55:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:55:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:55:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:55:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:55:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:55:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:55:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:55:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:55:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:55:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:55:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:55:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:55:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:55:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:55:55 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:55:55 UTC] 📊 Database Info:
[17-Nov-2025 14:55:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:55:55 UTC]    Books columns count: 53
[17-Nov-2025 14:55:55 UTC]    Categories columns count: 7
[17-Nov-2025 14:55:55 UTC]    Language field in books: YES
[17-Nov-2025 14:55:55 UTC]    Format field in books: YES
[17-Nov-2025 14:55:55 UTC]    Description field in categories: YES
[17-Nov-2025 14:55:55 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:55:55 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:55:55 UTC]    Is_active field in books: YES
[17-Nov-2025 14:55:55 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:55:55 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:55:55 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:55:55 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:55:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:55:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:55:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:55:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:55:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:55:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:55:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:55:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:55:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:55:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:55:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:55:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:55:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:55:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:55:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:55:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:55:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:55:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:55:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:55:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:55:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:55:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:55:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:55:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:55:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:55:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:55:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:55:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:55:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:55:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:55:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:55:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:55:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:55:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:55:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:55:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:55:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:55:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:55:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:55:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:55:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:55:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:55:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:55:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:55:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:55:56 UTC] 📊 Database Info:
[17-Nov-2025 14:55:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:55:56 UTC]    Books columns count: 53
[17-Nov-2025 14:55:56 UTC]    Categories columns count: 7
[17-Nov-2025 14:55:56 UTC]    Language field in books: YES
[17-Nov-2025 14:55:56 UTC]    Format field in books: YES
[17-Nov-2025 14:55:56 UTC]    Description field in categories: YES
[17-Nov-2025 14:55:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:55:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:55:56 UTC]    Is_active field in books: YES
[17-Nov-2025 14:55:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:55:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:55:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:55:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:55:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:55:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:55:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:55:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:55:56 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:55:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:55:56 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:55:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:55:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:55:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:55:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:55:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:55:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:55:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:55:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:55:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:55:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:55:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:55:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:55:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:55:56 UTC] 📊 Database Info:
[17-Nov-2025 14:55:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:55:56 UTC]    Books columns count: 53
[17-Nov-2025 14:55:56 UTC]    Categories columns count: 7
[17-Nov-2025 14:55:56 UTC]    Language field in books: YES
[17-Nov-2025 14:55:56 UTC]    Format field in books: YES
[17-Nov-2025 14:55:56 UTC]    Description field in categories: YES
[17-Nov-2025 14:55:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:55:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:55:56 UTC]    Is_active field in books: YES
[17-Nov-2025 14:55:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:55:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:55:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:55:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:55:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:55:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:55:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:56:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:56:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:56:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:56:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:56:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:56:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:56:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:56:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:56:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:56:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:56:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:56:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:56:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:56:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:56:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:56:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:56:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:56:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:56:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:56:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:56:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:56:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:56:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:56:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:56:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:56:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:56:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:56:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:56:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:56:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:56:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:56:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:56:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:56:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:56:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:56:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:56:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:56:11 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:56:11 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:56:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:56:11 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:56:11 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:56:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:56:11 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:56:11 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:56:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:56:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:56:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:56:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:56:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:56:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:56:11 UTC] 📊 Database Info:
[17-Nov-2025 14:56:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:56:11 UTC]    Books columns count: 53
[17-Nov-2025 14:56:11 UTC]    Categories columns count: 7
[17-Nov-2025 14:56:11 UTC]    Language field in books: YES
[17-Nov-2025 14:56:11 UTC]    Format field in books: YES
[17-Nov-2025 14:56:11 UTC]    Description field in categories: YES
[17-Nov-2025 14:56:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:56:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:56:11 UTC]    Is_active field in books: YES
[17-Nov-2025 14:56:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:56:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:56:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:56:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:56:11 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:56:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:56:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:56:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:56:11 UTC] 📊 Database Info:
[17-Nov-2025 14:56:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:56:11 UTC]    Books columns count: 53
[17-Nov-2025 14:56:11 UTC]    Categories columns count: 7
[17-Nov-2025 14:56:11 UTC]    Language field in books: YES
[17-Nov-2025 14:56:11 UTC]    Format field in books: YES
[17-Nov-2025 14:56:11 UTC]    Description field in categories: YES
[17-Nov-2025 14:56:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:56:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:56:11 UTC]    Is_active field in books: YES
[17-Nov-2025 14:56:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:56:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:56:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:56:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:56:11 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:56:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:56:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:56:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:56:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:56:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:56:11 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:56:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:56:11 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:56:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:56:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:56:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:56:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:56:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:56:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:56:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:56:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:56:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:56:11 UTC] 📊 Database Info:
[17-Nov-2025 14:56:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:56:11 UTC]    Books columns count: 53
[17-Nov-2025 14:56:11 UTC]    Categories columns count: 7
[17-Nov-2025 14:56:11 UTC]    Language field in books: YES
[17-Nov-2025 14:56:11 UTC]    Format field in books: YES
[17-Nov-2025 14:56:11 UTC]    Description field in categories: YES
[17-Nov-2025 14:56:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:56:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:56:11 UTC]    Is_active field in books: YES
[17-Nov-2025 14:56:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:56:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:56:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:56:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:56:11 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:56:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:56:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:56:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:56:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:56:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:56:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:56:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:56:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:56:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:56:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:56:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:56:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:56:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:56:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:56:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:56:34 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:56:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:56:34 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:56:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:56:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:56:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:56:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:56:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:56:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:56:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:56:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:56:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:56:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:56:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:56:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:56:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:56:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:56:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:56:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:56:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:56:34 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:56:34 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:56:34 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:56:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:56:34 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:56:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:56:34 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:56:34 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:56:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:56:34 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:56:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:56:34 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:56:34 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:56:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:56:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:56:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:56:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:56:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:56:34 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:56:34 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:56:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:56:34 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:56:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:56:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:56:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:56:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:56:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:56:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:56:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:56:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:56:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:56:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:56:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:56:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:56:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:56:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:56:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:56:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:56:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:56:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:56:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:56:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:56:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:56:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:56:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:56:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:56:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:56:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:56:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:56:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:56:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:56:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:56:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:56:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:56:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:56:35 UTC] 📊 Database Info:
[17-Nov-2025 14:56:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:56:35 UTC]    Books columns count: 53
[17-Nov-2025 14:56:35 UTC]    Categories columns count: 7
[17-Nov-2025 14:56:35 UTC]    Language field in books: YES
[17-Nov-2025 14:56:35 UTC]    Format field in books: YES
[17-Nov-2025 14:56:35 UTC]    Description field in categories: YES
[17-Nov-2025 14:56:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:56:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:56:35 UTC]    Is_active field in books: YES
[17-Nov-2025 14:56:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:56:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:56:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:56:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:56:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:56:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:56:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:56:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:56:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:56:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:56:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:56:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:56:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:56:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:56:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:56:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:56:35 UTC] 📊 Database Info:
[17-Nov-2025 14:56:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:56:35 UTC]    Books columns count: 53
[17-Nov-2025 14:56:35 UTC]    Categories columns count: 7
[17-Nov-2025 14:56:35 UTC]    Language field in books: YES
[17-Nov-2025 14:56:35 UTC]    Format field in books: YES
[17-Nov-2025 14:56:35 UTC]    Description field in categories: YES
[17-Nov-2025 14:56:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:56:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:56:35 UTC]    Is_active field in books: YES
[17-Nov-2025 14:56:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:56:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:56:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:56:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:56:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:56:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:56:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:56:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:56:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:56:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:56:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:56:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:56:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:56:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:56:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:56:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:56:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:56:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:56:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:56:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:56:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:56:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:56:35 UTC] 📊 Database Info:
[17-Nov-2025 14:56:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:56:35 UTC]    Books columns count: 53
[17-Nov-2025 14:56:35 UTC]    Categories columns count: 7
[17-Nov-2025 14:56:35 UTC]    Language field in books: YES
[17-Nov-2025 14:56:35 UTC]    Format field in books: YES
[17-Nov-2025 14:56:35 UTC]    Description field in categories: YES
[17-Nov-2025 14:56:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:56:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:56:35 UTC]    Is_active field in books: YES
[17-Nov-2025 14:56:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:56:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:56:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:56:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:56:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:56:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:56:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:56:35 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:56:35 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:57:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:27 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:28 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:57:28 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:57:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:28 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:57:28 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:57:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:28 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:57:28 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:57:28 UTC] 📊 Database Info:
[17-Nov-2025 14:57:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:57:28 UTC]    Books columns count: 53
[17-Nov-2025 14:57:28 UTC]    Categories columns count: 7
[17-Nov-2025 14:57:28 UTC]    Language field in books: YES
[17-Nov-2025 14:57:28 UTC]    Format field in books: YES
[17-Nov-2025 14:57:28 UTC]    Description field in categories: YES
[17-Nov-2025 14:57:28 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:57:28 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:57:28 UTC]    Is_active field in books: YES
[17-Nov-2025 14:57:28 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:57:28 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:57:28 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:57:28 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:57:28 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:57:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:57:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:57:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:57:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:57:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:57:28 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:57:28 UTC] 📊 Database Info:
[17-Nov-2025 14:57:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:57:28 UTC]    Books columns count: 53
[17-Nov-2025 14:57:28 UTC]    Categories columns count: 7
[17-Nov-2025 14:57:28 UTC]    Language field in books: YES
[17-Nov-2025 14:57:28 UTC]    Format field in books: YES
[17-Nov-2025 14:57:28 UTC]    Description field in categories: YES
[17-Nov-2025 14:57:28 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:57:28 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:57:28 UTC]    Is_active field in books: YES
[17-Nov-2025 14:57:28 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:57:28 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:57:28 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:57:28 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:57:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:28 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:57:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:57:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:57:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:28 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:57:28 UTC] 📊 Database Info:
[17-Nov-2025 14:57:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:57:28 UTC]    Books columns count: 53
[17-Nov-2025 14:57:28 UTC]    Categories columns count: 7
[17-Nov-2025 14:57:28 UTC]    Language field in books: YES
[17-Nov-2025 14:57:28 UTC]    Format field in books: YES
[17-Nov-2025 14:57:28 UTC]    Description field in categories: YES
[17-Nov-2025 14:57:28 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:57:28 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:57:28 UTC]    Is_active field in books: YES
[17-Nov-2025 14:57:28 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:57:28 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:57:28 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:57:28 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:57:28 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:57:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:57:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:57:28 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:57:28 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:57:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:29 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:57:29 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:57:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:29 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:57:29 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:57:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:29 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:57:29 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:57:29 UTC] 📊 Database Info:
[17-Nov-2025 14:57:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:57:29 UTC]    Books columns count: 53
[17-Nov-2025 14:57:29 UTC]    Categories columns count: 7
[17-Nov-2025 14:57:29 UTC]    Language field in books: YES
[17-Nov-2025 14:57:29 UTC]    Format field in books: YES
[17-Nov-2025 14:57:29 UTC]    Description field in categories: YES
[17-Nov-2025 14:57:29 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:57:29 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:57:29 UTC]    Is_active field in books: YES
[17-Nov-2025 14:57:29 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:57:29 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:57:29 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:57:29 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:57:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:57:29 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:57:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:57:29 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:57:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:57:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:57:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:29 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:29 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:57:29 UTC] 📊 Database Info:
[17-Nov-2025 14:57:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:57:29 UTC]    Books columns count: 53
[17-Nov-2025 14:57:29 UTC]    Categories columns count: 7
[17-Nov-2025 14:57:29 UTC]    Language field in books: YES
[17-Nov-2025 14:57:29 UTC]    Format field in books: YES
[17-Nov-2025 14:57:29 UTC]    Description field in categories: YES
[17-Nov-2025 14:57:29 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:57:29 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:57:29 UTC]    Is_active field in books: YES
[17-Nov-2025 14:57:29 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:57:29 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:57:29 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:57:29 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:57:29 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:57:29 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:57:29 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:57:29 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:57:29 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:57:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:57:29 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:29 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:29 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:29 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:29 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:29 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:29 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:29 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:29 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:57:29 UTC] 📊 Database Info:
[17-Nov-2025 14:57:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:57:29 UTC]    Books columns count: 53
[17-Nov-2025 14:57:29 UTC]    Categories columns count: 7
[17-Nov-2025 14:57:29 UTC]    Language field in books: YES
[17-Nov-2025 14:57:29 UTC]    Format field in books: YES
[17-Nov-2025 14:57:29 UTC]    Description field in categories: YES
[17-Nov-2025 14:57:29 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:57:29 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:57:29 UTC]    Is_active field in books: YES
[17-Nov-2025 14:57:29 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:57:29 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:57:29 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:57:29 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:57:29 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:57:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:57:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:57:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:57:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:57:29 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:57:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:30 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:57:30 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:30 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:57:30 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:30 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:57:30 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:57:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:30 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:30 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:57:30 UTC] 📊 Database Info:
[17-Nov-2025 14:57:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:57:30 UTC]    Books columns count: 53
[17-Nov-2025 14:57:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:30 UTC]    Categories columns count: 7
[17-Nov-2025 14:57:30 UTC]    Language field in books: YES
[17-Nov-2025 14:57:30 UTC]    Format field in books: YES
[17-Nov-2025 14:57:30 UTC]    Description field in categories: YES
[17-Nov-2025 14:57:30 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:57:30 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:57:30 UTC]    Is_active field in books: YES
[17-Nov-2025 14:57:30 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:57:30 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:57:30 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:57:30 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:30 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:57:30 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:57:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:30 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:57:30 UTC] 📊 Database Info:
[17-Nov-2025 14:57:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:57:30 UTC]    Books columns count: 53
[17-Nov-2025 14:57:30 UTC]    Categories columns count: 7
[17-Nov-2025 14:57:30 UTC]    Language field in books: YES
[17-Nov-2025 14:57:30 UTC]    Format field in books: YES
[17-Nov-2025 14:57:30 UTC]    Description field in categories: YES
[17-Nov-2025 14:57:30 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:57:30 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:57:30 UTC]    Is_active field in books: YES
[17-Nov-2025 14:57:30 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:57:30 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:57:30 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:57:30 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:57:30 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:57:30 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:57:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:57:30 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:57:30 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:57:30 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:30 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:30 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:30 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:30 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:30 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:30 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:57:30 UTC] 📊 Database Info:
[17-Nov-2025 14:57:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:57:30 UTC]    Books columns count: 53
[17-Nov-2025 14:57:30 UTC]    Categories columns count: 7
[17-Nov-2025 14:57:30 UTC]    Language field in books: YES
[17-Nov-2025 14:57:30 UTC]    Format field in books: YES
[17-Nov-2025 14:57:30 UTC]    Description field in categories: YES
[17-Nov-2025 14:57:30 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:57:30 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:57:30 UTC]    Is_active field in books: YES
[17-Nov-2025 14:57:30 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:57:30 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:57:30 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:57:30 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:57:30 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:57:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:57:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:57:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:57:30 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:57:30 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:57:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:57:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:57:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:57:31 UTC] 📊 Database Info:
[17-Nov-2025 14:57:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:57:31 UTC]    Books columns count: 53
[17-Nov-2025 14:57:31 UTC]    Categories columns count: 7
[17-Nov-2025 14:57:31 UTC]    Language field in books: YES
[17-Nov-2025 14:57:31 UTC]    Format field in books: YES
[17-Nov-2025 14:57:31 UTC]    Description field in categories: YES
[17-Nov-2025 14:57:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:57:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:57:31 UTC]    Is_active field in books: YES
[17-Nov-2025 14:57:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:57:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:57:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:57:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:57:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:57:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:57:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:57:31 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:57:31 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:57:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:57:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:57:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:57:31 UTC] 📊 Database Info:
[17-Nov-2025 14:57:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:57:31 UTC]    Books columns count: 53
[17-Nov-2025 14:57:31 UTC]    Categories columns count: 7
[17-Nov-2025 14:57:31 UTC]    Language field in books: YES
[17-Nov-2025 14:57:31 UTC]    Format field in books: YES
[17-Nov-2025 14:57:31 UTC]    Description field in categories: YES
[17-Nov-2025 14:57:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:57:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:57:31 UTC]    Is_active field in books: YES
[17-Nov-2025 14:57:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:57:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:57:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:57:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:57:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:57:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:57:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:57:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:57:31 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:57:31 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:57:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:57:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:57:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:57:32 UTC] 📊 Database Info:
[17-Nov-2025 14:57:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:57:32 UTC]    Books columns count: 53
[17-Nov-2025 14:57:32 UTC]    Categories columns count: 7
[17-Nov-2025 14:57:32 UTC]    Language field in books: YES
[17-Nov-2025 14:57:32 UTC]    Format field in books: YES
[17-Nov-2025 14:57:32 UTC]    Description field in categories: YES
[17-Nov-2025 14:57:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:57:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:57:32 UTC]    Is_active field in books: YES
[17-Nov-2025 14:57:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:57:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:57:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:57:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:57:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:57:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:57:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:57:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:57:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:57:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:57:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:57:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:57:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:57:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:57:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:57:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:57:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:57:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:57:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:57:32 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:57:32 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:57:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:57:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:57:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:57:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:57:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:57:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:57:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:57:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:57:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:57:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:57:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:57:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:57:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:57:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:57:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:57:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:57:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:57:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:57:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:57:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:57:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:57:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:57:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:57:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:57:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:57:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:57:33 UTC] 📊 Database Info:
[17-Nov-2025 14:57:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:57:33 UTC]    Books columns count: 53
[17-Nov-2025 14:57:33 UTC]    Categories columns count: 7
[17-Nov-2025 14:57:33 UTC]    Language field in books: YES
[17-Nov-2025 14:57:33 UTC]    Format field in books: YES
[17-Nov-2025 14:57:33 UTC]    Description field in categories: YES
[17-Nov-2025 14:57:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:57:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:57:33 UTC]    Is_active field in books: YES
[17-Nov-2025 14:57:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:57:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:57:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:57:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:57:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:57:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:57:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:57:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:57:33 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:57:33 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:58:42 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:58:42 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:58:42 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:58:42 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:58:42 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:58:42 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:58:42 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:58:42 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:58:42 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:58:42 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:58:42 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:58:42 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:58:42 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:58:42 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:58:42 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:58:42 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:58:42 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:58:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:58:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:58:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:58:42 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:58:42 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:58:42 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:58:42 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:58:42 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:58:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:58:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:58:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:58:42 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:58:42 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:58:42 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:58:42 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:58:42 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:58:42 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:58:42 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:58:42 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:58:42 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:58:42 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:58:42 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:58:42 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:58:42 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:58:42 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:58:42 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:58:42 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:58:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:58:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:58:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:58:42 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:58:42 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:58:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:58:42 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:58:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:58:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:58:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:58:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:58:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:58:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:58:43 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:58:43 UTC] 📊 Database Info:
[17-Nov-2025 14:58:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:58:43 UTC]    Books columns count: 53
[17-Nov-2025 14:58:43 UTC]    Categories columns count: 7
[17-Nov-2025 14:58:43 UTC]    Language field in books: YES
[17-Nov-2025 14:58:43 UTC]    Format field in books: YES
[17-Nov-2025 14:58:43 UTC]    Description field in categories: YES
[17-Nov-2025 14:58:43 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:58:43 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:58:43 UTC]    Is_active field in books: YES
[17-Nov-2025 14:58:43 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:58:43 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:58:43 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:58:43 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:58:43 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:58:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:58:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:58:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:58:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:58:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:58:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:58:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:58:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:58:43 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:58:43 UTC] 📊 Database Info:
[17-Nov-2025 14:58:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:58:43 UTC]    Books columns count: 53
[17-Nov-2025 14:58:43 UTC]    Categories columns count: 7
[17-Nov-2025 14:58:43 UTC]    Language field in books: YES
[17-Nov-2025 14:58:43 UTC]    Format field in books: YES
[17-Nov-2025 14:58:43 UTC]    Description field in categories: YES
[17-Nov-2025 14:58:43 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:58:43 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:58:43 UTC]    Is_active field in books: YES
[17-Nov-2025 14:58:43 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:58:43 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:58:43 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:58:43 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:58:43 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:58:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:58:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:58:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:58:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:58:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:58:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:58:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:58:43 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:58:43 UTC] 📊 Database Info:
[17-Nov-2025 14:58:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:58:43 UTC]    Books columns count: 53
[17-Nov-2025 14:58:43 UTC]    Categories columns count: 7
[17-Nov-2025 14:58:43 UTC]    Language field in books: YES
[17-Nov-2025 14:58:43 UTC]    Format field in books: YES
[17-Nov-2025 14:58:43 UTC]    Description field in categories: YES
[17-Nov-2025 14:58:43 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:58:43 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:58:43 UTC]    Is_active field in books: YES
[17-Nov-2025 14:58:43 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:58:43 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:58:43 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:58:43 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:58:43 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:58:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:58:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:58:43 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:58:43 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:58:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:58:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:58:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:58:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:58:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:58:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:58:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:58:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:58:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:58:43 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:58:43 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:58:43 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:58:43 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:58:43 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:58:43 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:58:43 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:58:43 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:58:43 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:58:43 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:58:43 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:58:43 UTC] 📊 Database Info:
[17-Nov-2025 14:58:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:58:43 UTC]    Books columns count: 53
[17-Nov-2025 14:58:43 UTC]    Categories columns count: 7
[17-Nov-2025 14:58:43 UTC]    Language field in books: YES
[17-Nov-2025 14:58:43 UTC]    Format field in books: YES
[17-Nov-2025 14:58:43 UTC]    Description field in categories: YES
[17-Nov-2025 14:58:43 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:58:43 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:58:43 UTC]    Is_active field in books: YES
[17-Nov-2025 14:58:43 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:58:43 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:58:43 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:58:43 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:58:43 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:58:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:58:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:58:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:58:43 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:58:43 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:58:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:58:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:58:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:58:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:58:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:58:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:58:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:58:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:58:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:58:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:58:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:58:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:58:44 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:58:44 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:58:44 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:58:44 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:58:44 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:58:44 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:58:44 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:58:44 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:58:44 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:58:44 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:58:44 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:58:44 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:58:44 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:58:44 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:58:44 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:58:44 UTC] 📊 Database Info:
[17-Nov-2025 14:58:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:58:44 UTC]    Books columns count: 53
[17-Nov-2025 14:58:44 UTC]    Categories columns count: 7
[17-Nov-2025 14:58:44 UTC]    Language field in books: YES
[17-Nov-2025 14:58:44 UTC]    Format field in books: YES
[17-Nov-2025 14:58:44 UTC]    Description field in categories: YES
[17-Nov-2025 14:58:44 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:58:44 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:58:44 UTC]    Is_active field in books: YES
[17-Nov-2025 14:58:44 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:58:44 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:58:44 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:58:44 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:58:44 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:58:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:58:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:58:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:58:44 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:58:44 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:59:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:03 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:03 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:03 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:03 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:03 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:03 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:04 UTC] 📊 Database Info:
[17-Nov-2025 14:59:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:04 UTC]    Books columns count: 53
[17-Nov-2025 14:59:04 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:04 UTC]    Language field in books: YES
[17-Nov-2025 14:59:04 UTC]    Format field in books: YES
[17-Nov-2025 14:59:04 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:04 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:04 UTC] 📊 Database Info:
[17-Nov-2025 14:59:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:04 UTC]    Books columns count: 53
[17-Nov-2025 14:59:04 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:04 UTC]    Language field in books: YES
[17-Nov-2025 14:59:04 UTC]    Format field in books: YES
[17-Nov-2025 14:59:04 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:04 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:04 UTC] 📊 Database Info:
[17-Nov-2025 14:59:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:04 UTC]    Books columns count: 53
[17-Nov-2025 14:59:04 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:04 UTC]    Language field in books: YES
[17-Nov-2025 14:59:04 UTC]    Format field in books: YES
[17-Nov-2025 14:59:04 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:04 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:59:04 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:59:04 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:59:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:05 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:05 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:05 UTC] 📊 Database Info:
[17-Nov-2025 14:59:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:05 UTC]    Books columns count: 53
[17-Nov-2025 14:59:05 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:05 UTC]    Language field in books: YES
[17-Nov-2025 14:59:05 UTC]    Format field in books: YES
[17-Nov-2025 14:59:05 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:05 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:59:05 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:59:05 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:59:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:06 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:06 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:06 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:06 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:06 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:06 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:06 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:06 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:06 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:06 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:06 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:06 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:06 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:06 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:06 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:06 UTC] 📊 Database Info:
[17-Nov-2025 14:59:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:06 UTC]    Books columns count: 53
[17-Nov-2025 14:59:06 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:06 UTC]    Language field in books: YES
[17-Nov-2025 14:59:06 UTC]    Format field in books: YES
[17-Nov-2025 14:59:06 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:06 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:06 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:06 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:06 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:06 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:06 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:06 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:06 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:59:06 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:59:06 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:59:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:09 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:10 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:10 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:10 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:10 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:10 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:10 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:10 UTC] 📊 Database Info:
[17-Nov-2025 14:59:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:10 UTC]    Books columns count: 53
[17-Nov-2025 14:59:10 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:10 UTC]    Language field in books: YES
[17-Nov-2025 14:59:10 UTC]    Format field in books: YES
[17-Nov-2025 14:59:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:10 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:10 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:10 UTC] 📊 Database Info:
[17-Nov-2025 14:59:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:10 UTC]    Books columns count: 53
[17-Nov-2025 14:59:10 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:10 UTC]    Language field in books: YES
[17-Nov-2025 14:59:10 UTC]    Format field in books: YES
[17-Nov-2025 14:59:10 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:10 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:10 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:59:10 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:59:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:10 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:10 UTC] 📊 Database Info:
[17-Nov-2025 14:59:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:10 UTC]    Books columns count: 53
[17-Nov-2025 14:59:10 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:10 UTC]    Language field in books: YES
[17-Nov-2025 14:59:10 UTC]    Format field in books: YES
[17-Nov-2025 14:59:10 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:10 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:10 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:10 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:10 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:10 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:10 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:10 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:10 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:10 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:10 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:10 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:10 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:10 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:10 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:10 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:10 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:11 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:11 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:11 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:11 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:11 UTC] 📊 Database Info:
[17-Nov-2025 14:59:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:11 UTC]    Books columns count: 53
[17-Nov-2025 14:59:11 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:11 UTC]    Language field in books: YES
[17-Nov-2025 14:59:11 UTC]    Format field in books: YES
[17-Nov-2025 14:59:11 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:11 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:11 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:11 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:11 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:11 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:11 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:11 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:11 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:11 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:11 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:11 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:11 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:11 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:11 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:11 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:11 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:11 UTC] 📊 Database Info:
[17-Nov-2025 14:59:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:11 UTC]    Books columns count: 53
[17-Nov-2025 14:59:11 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:11 UTC]    Language field in books: YES
[17-Nov-2025 14:59:11 UTC]    Format field in books: YES
[17-Nov-2025 14:59:11 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:11 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:11 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:11 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:11 UTC] 📊 Database Info:
[17-Nov-2025 14:59:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:11 UTC]    Books columns count: 53
[17-Nov-2025 14:59:11 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:11 UTC]    Language field in books: YES
[17-Nov-2025 14:59:11 UTC]    Format field in books: YES
[17-Nov-2025 14:59:11 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:11 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:11 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:11 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:11 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:11 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:11 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:11 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:11 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:11 UTC] 📁 جلب التصنيفات النشطة فقط
[17-Nov-2025 14:59:11 UTC] ✅ إرجاع 5 تصنيف نشط
[17-Nov-2025 14:59:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:54 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:54 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:54 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:54 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:54 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:55 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:55 UTC] 📊 Database Info:
[17-Nov-2025 14:59:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:55 UTC]    Books columns count: 53
[17-Nov-2025 14:59:55 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:55 UTC]    Language field in books: YES
[17-Nov-2025 14:59:55 UTC]    Format field in books: YES
[17-Nov-2025 14:59:55 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:55 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:55 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:55 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:55 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:55 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:55 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:55 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:55 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:59:55 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:59:55 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:55 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:55 UTC] 📊 Database Info:
[17-Nov-2025 14:59:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:55 UTC]    Books columns count: 53
[17-Nov-2025 14:59:55 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:55 UTC]    Language field in books: YES
[17-Nov-2025 14:59:55 UTC]    Format field in books: YES
[17-Nov-2025 14:59:55 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:55 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:55 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:55 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:55 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:55 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:55 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:55 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:55 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:55 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:55 UTC] 📊 Database Info:
[17-Nov-2025 14:59:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:55 UTC]    Books columns count: 53
[17-Nov-2025 14:59:55 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:55 UTC]    Language field in books: YES
[17-Nov-2025 14:59:55 UTC]    Format field in books: YES
[17-Nov-2025 14:59:55 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:55 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:55 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:55 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:55 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:55 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:55 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:55 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:55 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:55 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:55 UTC] 📊 Database Info:
[17-Nov-2025 14:59:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:55 UTC]    Books columns count: 53
[17-Nov-2025 14:59:55 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:55 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:55 UTC]    Language field in books: YES
[17-Nov-2025 14:59:55 UTC]    Format field in books: YES
[17-Nov-2025 14:59:55 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:55 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:55 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:55 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:55 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:55 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:55 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:55 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:55 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:55 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:59:55 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:59:55 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:59:55 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:55 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:55 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:55 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:55 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:55 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:55 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:55 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:55 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:55 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:56 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:56 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:56 UTC] 📊 Database Info:
[17-Nov-2025 14:59:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:56 UTC]    Books columns count: 53
[17-Nov-2025 14:59:56 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:56 UTC]    Language field in books: YES
[17-Nov-2025 14:59:56 UTC]    Format field in books: YES
[17-Nov-2025 14:59:56 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:56 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:56 UTC] 📊 Database Info:
[17-Nov-2025 14:59:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:56 UTC]    Books columns count: 53
[17-Nov-2025 14:59:56 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:56 UTC]    Language field in books: YES
[17-Nov-2025 14:59:56 UTC]    Format field in books: YES
[17-Nov-2025 14:59:56 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:56 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:56 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:56 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:56 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:56 UTC] 📊 Database Info:
[17-Nov-2025 14:59:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:56 UTC]    Books columns count: 53
[17-Nov-2025 14:59:56 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:56 UTC]    Language field in books: YES
[17-Nov-2025 14:59:56 UTC]    Format field in books: YES
[17-Nov-2025 14:59:56 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:56 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:56 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:56 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:56 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:56 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:56 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:56 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:56 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:59:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:59:56 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:59:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:56 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:56 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:56 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:56 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:56 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:56 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:56 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:56 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:57 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:57 UTC] 📊 Database Info:
[17-Nov-2025 14:59:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:57 UTC]    Books columns count: 53
[17-Nov-2025 14:59:57 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:57 UTC]    Language field in books: YES
[17-Nov-2025 14:59:57 UTC]    Format field in books: YES
[17-Nov-2025 14:59:57 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:57 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:57 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:57 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:57 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:57 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:57 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:57 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:57 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:59:57 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:59:57 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:59:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:57 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:57 UTC] 📊 Database Info:
[17-Nov-2025 14:59:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:57 UTC]    Books columns count: 53
[17-Nov-2025 14:59:57 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:57 UTC]    Language field in books: YES
[17-Nov-2025 14:59:57 UTC]    Format field in books: YES
[17-Nov-2025 14:59:57 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:57 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:57 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:57 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:57 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:57 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:57 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:57 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:57 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:59:57 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:59:57 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:59:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:58 UTC] 📊 Database Info:
[17-Nov-2025 14:59:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:58 UTC]    Books columns count: 53
[17-Nov-2025 14:59:58 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:58 UTC]    Language field in books: YES
[17-Nov-2025 14:59:58 UTC]    Format field in books: YES
[17-Nov-2025 14:59:58 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:58 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:59:58 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:59:58 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 14:59:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 14:59:58 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 14:59:58 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 14:59:58 UTC] ℹ️ Column institution already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column language already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column format already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 14:59:58 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 14:59:58 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 14:59:58 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 14:59:58 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 14:59:58 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 14:59:58 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 14:59:58 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 14:59:58 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 14:59:58 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 14:59:58 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 14:59:58 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 14:59:58 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 14:59:58 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 14:59:58 UTC] 📊 Database Info:
[17-Nov-2025 14:59:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 14:59:58 UTC]    Books columns count: 53
[17-Nov-2025 14:59:58 UTC]    Categories columns count: 7
[17-Nov-2025 14:59:58 UTC]    Language field in books: YES
[17-Nov-2025 14:59:58 UTC]    Format field in books: YES
[17-Nov-2025 14:59:58 UTC]    Description field in categories: YES
[17-Nov-2025 14:59:58 UTC]    Display_order field in categories: YES
[17-Nov-2025 14:59:58 UTC]    Is_active field in categories: YES
[17-Nov-2025 14:59:58 UTC]    Is_active field in books: YES
[17-Nov-2025 14:59:58 UTC]    External_download_link field in books: YES
[17-Nov-2025 14:59:58 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 14:59:58 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 14:59:58 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 14:59:58 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 14:59:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 14:59:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 14:59:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 14:59:58 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[17-Nov-2025 14:59:58 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[17-Nov-2025 17:04:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:04:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:04:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:04:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:04:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:04:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:04:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:04:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:04:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:04:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:04:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:04:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:04:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:04:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:04:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:04:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:04:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:04:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:04:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:04:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:04:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:04:03 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:04:03 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:04:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:04:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:04:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:04:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:04:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:04:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:04:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:04:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:04:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:04:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:04:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:04:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:04:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:04:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:04:03 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:04:03 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:04:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:04:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:04:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:04:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:04:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:04:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:04:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:04:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:04:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:04:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:04:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:04:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:04:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:04:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:04:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:04:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:04:03 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:04:03 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:04:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:04:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:04:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:04:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:04:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:04:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:04:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:04:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:04:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:04:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:04:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:04:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:04:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:04:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:04:04 UTC] 📊 Database Info:
[17-Nov-2025 17:04:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:04:04 UTC]    Books columns count: 53
[17-Nov-2025 17:04:04 UTC]    Categories columns count: 7
[17-Nov-2025 17:04:04 UTC]    Language field in books: YES
[17-Nov-2025 17:04:04 UTC]    Format field in books: YES
[17-Nov-2025 17:04:04 UTC]    Description field in categories: YES
[17-Nov-2025 17:04:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:04:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:04:04 UTC]    Is_active field in books: YES
[17-Nov-2025 17:04:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:04:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:04:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:04:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:04:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:04:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:04:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:04:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:04:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:04:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:04:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:04:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:04:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:04:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:04:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:04:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:04:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:04:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:04:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:04:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:04:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:04:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:04:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:04:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:04:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:04:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:04:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:04:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:04:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:04:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:04:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:04:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:04:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:04:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:04:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:04:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:04:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:04:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:04:05 UTC] 📊 Database Info:
[17-Nov-2025 17:04:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:04:05 UTC]    Books columns count: 53
[17-Nov-2025 17:04:05 UTC]    Categories columns count: 7
[17-Nov-2025 17:04:05 UTC]    Language field in books: YES
[17-Nov-2025 17:04:05 UTC]    Format field in books: YES
[17-Nov-2025 17:04:05 UTC]    Description field in categories: YES
[17-Nov-2025 17:04:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:04:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:04:05 UTC]    Is_active field in books: YES
[17-Nov-2025 17:04:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:04:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:04:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:04:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:04:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:04:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:04:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:04:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:04:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:04:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:04:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 17:04:05 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 17:04:05 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 17:04:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:04:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:04:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:04:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:04:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:04:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:04:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:04:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:04:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:04:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:04:05 UTC] 📊 Database Info:
[17-Nov-2025 17:04:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:04:05 UTC]    Books columns count: 53
[17-Nov-2025 17:04:05 UTC]    Categories columns count: 7
[17-Nov-2025 17:04:05 UTC]    Language field in books: YES
[17-Nov-2025 17:04:05 UTC]    Format field in books: YES
[17-Nov-2025 17:04:05 UTC]    Description field in categories: YES
[17-Nov-2025 17:04:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:04:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:04:05 UTC]    Is_active field in books: YES
[17-Nov-2025 17:04:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:04:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:04:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:04:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:04:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:04:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:04:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:04:05 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 17:04:05 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 17:06:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:06:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:06:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:06:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:06:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:06:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:06:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:06:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:06:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:06:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:06:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:06:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:06:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:06:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:06:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:06:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:06:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:06:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:06:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:06:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:06:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:06:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:06:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:06:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:06:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:06:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:06:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:06:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:06:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:06:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:06:04 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:06:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:06:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:06:04 UTC] 📊 Database Info:
[17-Nov-2025 17:06:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:06:04 UTC]    Books columns count: 53
[17-Nov-2025 17:06:04 UTC]    Categories columns count: 7
[17-Nov-2025 17:06:04 UTC]    Language field in books: YES
[17-Nov-2025 17:06:04 UTC]    Format field in books: YES
[17-Nov-2025 17:06:04 UTC]    Description field in categories: YES
[17-Nov-2025 17:06:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:06:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:06:04 UTC]    Is_active field in books: YES
[17-Nov-2025 17:06:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:06:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:06:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:06:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:06:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:06:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:06:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:06:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:06:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:06:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:06:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:06:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:06:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:06:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:06:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:06:04 UTC] 📊 Database Info:
[17-Nov-2025 17:06:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:06:04 UTC]    Books columns count: 53
[17-Nov-2025 17:06:04 UTC]    Categories columns count: 7
[17-Nov-2025 17:06:04 UTC]    Language field in books: YES
[17-Nov-2025 17:06:04 UTC]    Format field in books: YES
[17-Nov-2025 17:06:04 UTC]    Description field in categories: YES
[17-Nov-2025 17:06:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:06:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:06:04 UTC]    Is_active field in books: YES
[17-Nov-2025 17:06:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:06:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:06:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:06:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:06:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:06:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:06:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:06:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:06:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:06:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 17:06:04 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:06:04 UTC] 📊 Database Info:
[17-Nov-2025 17:06:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:06:04 UTC]    Books columns count: 53
[17-Nov-2025 17:06:04 UTC]    Categories columns count: 7
[17-Nov-2025 17:06:04 UTC]    Language field in books: YES
[17-Nov-2025 17:06:04 UTC]    Format field in books: YES
[17-Nov-2025 17:06:04 UTC]    Description field in categories: YES
[17-Nov-2025 17:06:04 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:06:04 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:06:04 UTC]    Is_active field in books: YES
[17-Nov-2025 17:06:04 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:06:04 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:06:04 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:06:04 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:06:04 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 17:06:04 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:06:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:06:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:06:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 17:06:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 17:06:04 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 17:09:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:09:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:09:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:09:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:09:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:09:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:09:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:09:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:09:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:09:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:09:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:09:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:09:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:09:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:09:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:09:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:09:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:09:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:09:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:09:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:09:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:09:53 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:09:53 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:09:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:09:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:09:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:09:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:09:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:09:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:09:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:09:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:09:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:09:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:09:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:09:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:09:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:09:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:09:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:09:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:09:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:09:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:09:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:09:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:09:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:09:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:09:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:09:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:09:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:09:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:09:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:09:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:09:53 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:09:53 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:09:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:09:53 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:09:53 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:09:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:09:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:09:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:09:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:09:54 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:09:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:09:54 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:09:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:09:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:09:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:09:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:09:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:09:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:09:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:09:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:09:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:09:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:09:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:09:54 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:09:54 UTC] 📊 Database Info:
[17-Nov-2025 17:09:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:09:54 UTC]    Books columns count: 53
[17-Nov-2025 17:09:54 UTC]    Categories columns count: 7
[17-Nov-2025 17:09:54 UTC]    Language field in books: YES
[17-Nov-2025 17:09:54 UTC]    Format field in books: YES
[17-Nov-2025 17:09:54 UTC]    Description field in categories: YES
[17-Nov-2025 17:09:54 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:09:54 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:09:54 UTC]    Is_active field in books: YES
[17-Nov-2025 17:09:54 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:09:54 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:09:54 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:09:54 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:09:54 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:09:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:09:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:09:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:09:54 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:09:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:09:54 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:09:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:09:54 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 17:09:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:09:54 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 17:09:54 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:09:54 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:09:54 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:09:54 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:09:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:09:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:09:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:09:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:09:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:09:54 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:09:54 UTC] 📊 Database Info:
[17-Nov-2025 17:09:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:09:54 UTC]    Books columns count: 53
[17-Nov-2025 17:09:54 UTC]    Categories columns count: 7
[17-Nov-2025 17:09:54 UTC]    Language field in books: YES
[17-Nov-2025 17:09:54 UTC]    Format field in books: YES
[17-Nov-2025 17:09:54 UTC]    Description field in categories: YES
[17-Nov-2025 17:09:54 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:09:54 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:09:54 UTC]    Is_active field in books: YES
[17-Nov-2025 17:09:54 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:09:54 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:09:54 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:09:54 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:09:54 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:09:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:09:54 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:09:54 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:09:54 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:09:54 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:09:54 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:09:54 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:09:54 UTC] 📊 Database Info:
[17-Nov-2025 17:09:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:09:54 UTC]    Books columns count: 53
[17-Nov-2025 17:09:54 UTC]    Categories columns count: 7
[17-Nov-2025 17:09:54 UTC]    Language field in books: YES
[17-Nov-2025 17:09:54 UTC]    Format field in books: YES
[17-Nov-2025 17:09:54 UTC]    Description field in categories: YES
[17-Nov-2025 17:09:54 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:09:54 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:09:54 UTC]    Is_active field in books: YES
[17-Nov-2025 17:09:54 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:09:54 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:09:54 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:09:54 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:09:54 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:09:54 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:09:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:09:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 17:09:54 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 17:09:54 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 17:13:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:13:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:13:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:13:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:13:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:13:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:13:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:13:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:13:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:13:05 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:13:05 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:13:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:13:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:13:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:13:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:13:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:13:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:13:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:13:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:13:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:13:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:13:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:13:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:13:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:13:05 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:13:05 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:13:05 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:13:05 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:13:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:13:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:13:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:13:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:13:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:13:05 UTC] 📊 Database Info:
[17-Nov-2025 17:13:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:13:05 UTC]    Books columns count: 53
[17-Nov-2025 17:13:05 UTC]    Categories columns count: 7
[17-Nov-2025 17:13:05 UTC]    Language field in books: YES
[17-Nov-2025 17:13:05 UTC]    Format field in books: YES
[17-Nov-2025 17:13:05 UTC]    Description field in categories: YES
[17-Nov-2025 17:13:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:13:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:13:05 UTC]    Is_active field in books: YES
[17-Nov-2025 17:13:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:13:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:13:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:13:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:13:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:13:05 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:13:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:13:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:13:05 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:13:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:13:05 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:13:05 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:13:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:13:05 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:13:05 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:13:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:13:05 UTC] 📊 Database Info:
[17-Nov-2025 17:13:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:13:05 UTC]    Books columns count: 53
[17-Nov-2025 17:13:05 UTC]    Categories columns count: 7
[17-Nov-2025 17:13:05 UTC]    Language field in books: YES
[17-Nov-2025 17:13:05 UTC]    Format field in books: YES
[17-Nov-2025 17:13:05 UTC]    Description field in categories: YES
[17-Nov-2025 17:13:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:13:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:13:05 UTC]    Is_active field in books: YES
[17-Nov-2025 17:13:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:13:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:13:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:13:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:13:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:13:05 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:13:05 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:13:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:13:05 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 17:13:05 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 17:13:05 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:13:05 UTC] 📊 Database Info:
[17-Nov-2025 17:13:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:13:05 UTC]    Books columns count: 53
[17-Nov-2025 17:13:05 UTC]    Categories columns count: 7
[17-Nov-2025 17:13:05 UTC]    Language field in books: YES
[17-Nov-2025 17:13:05 UTC]    Format field in books: YES
[17-Nov-2025 17:13:05 UTC]    Description field in categories: YES
[17-Nov-2025 17:13:05 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:13:05 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:13:05 UTC]    Is_active field in books: YES
[17-Nov-2025 17:13:05 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:13:05 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:13:05 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:13:05 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:13:05 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:13:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:13:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:13:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 17:13:05 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 17:13:05 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 17:15:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:15:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:15:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:15:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:15:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:15:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:15:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:15:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:15:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:15:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:15:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:15:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:15:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:15:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:15:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:15:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:15:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:15:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:15:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:15:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:15:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:15:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:15:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:15:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:15:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:15:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:15:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:15:31 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:15:31 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:15:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:15:31 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:15:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:15:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:15:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:15:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:15:31 UTC] 📊 Database Info:
[17-Nov-2025 17:15:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:15:31 UTC]    Books columns count: 53
[17-Nov-2025 17:15:31 UTC]    Categories columns count: 7
[17-Nov-2025 17:15:31 UTC]    Language field in books: YES
[17-Nov-2025 17:15:31 UTC]    Format field in books: YES
[17-Nov-2025 17:15:31 UTC]    Description field in categories: YES
[17-Nov-2025 17:15:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:15:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:15:31 UTC]    Is_active field in books: YES
[17-Nov-2025 17:15:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:15:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:15:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:15:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:15:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:15:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:15:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:15:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:15:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:15:31 UTC] 📊 Database Info:
[17-Nov-2025 17:15:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:15:31 UTC]    Books columns count: 53
[17-Nov-2025 17:15:31 UTC]    Categories columns count: 7
[17-Nov-2025 17:15:31 UTC]    Language field in books: YES
[17-Nov-2025 17:15:31 UTC]    Format field in books: YES
[17-Nov-2025 17:15:31 UTC]    Description field in categories: YES
[17-Nov-2025 17:15:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:15:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:15:31 UTC]    Is_active field in books: YES
[17-Nov-2025 17:15:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:15:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:15:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:15:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:15:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:15:31 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:15:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:15:31 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:15:31 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:15:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:15:31 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 17:15:31 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 17:15:31 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:15:31 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:15:31 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:15:31 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:15:31 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:15:31 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:15:31 UTC] 📊 Database Info:
[17-Nov-2025 17:15:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:15:31 UTC]    Books columns count: 53
[17-Nov-2025 17:15:31 UTC]    Categories columns count: 7
[17-Nov-2025 17:15:31 UTC]    Language field in books: YES
[17-Nov-2025 17:15:31 UTC]    Format field in books: YES
[17-Nov-2025 17:15:31 UTC]    Description field in categories: YES
[17-Nov-2025 17:15:31 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:15:31 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:15:31 UTC]    Is_active field in books: YES
[17-Nov-2025 17:15:31 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:15:31 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:15:31 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:15:31 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:15:31 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:15:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:15:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:15:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 17:15:31 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 17:15:31 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 17:27:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:27:41 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:27:42 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:27:42 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:27:42 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:27:42 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:27:42 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:27:42 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:27:42 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:27:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:27:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:27:42 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:27:42 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:27:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:27:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:27:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:27:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:27:42 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:27:42 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:27:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:27:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:27:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:27:42 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:27:42 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:27:42 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:27:42 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:27:42 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:27:42 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:27:42 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:27:42 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:27:42 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:27:42 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:27:42 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:27:42 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:27:42 UTC] 📊 Database Info:
[17-Nov-2025 17:27:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:27:42 UTC]    Books columns count: 53
[17-Nov-2025 17:27:42 UTC]    Categories columns count: 7
[17-Nov-2025 17:27:42 UTC]    Language field in books: YES
[17-Nov-2025 17:27:42 UTC]    Format field in books: YES
[17-Nov-2025 17:27:42 UTC]    Description field in categories: YES
[17-Nov-2025 17:27:42 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:27:42 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:27:42 UTC]    Is_active field in books: YES
[17-Nov-2025 17:27:42 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:27:42 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:27:42 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:27:42 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:27:42 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:27:42 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:27:42 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:27:42 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:27:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:27:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 17:27:42 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:27:42 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 17:27:42 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:27:42 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:27:42 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:27:42 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:27:42 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:27:42 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:27:42 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:27:42 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:27:42 UTC] 📊 Database Info:
[17-Nov-2025 17:27:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:27:42 UTC]    Books columns count: 53
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:27:42 UTC]    Categories columns count: 7
[17-Nov-2025 17:27:42 UTC]    Language field in books: YES
[17-Nov-2025 17:27:42 UTC]    Format field in books: YES
[17-Nov-2025 17:27:42 UTC]    Description field in categories: YES
[17-Nov-2025 17:27:42 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:27:42 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:27:42 UTC]    Is_active field in books: YES
[17-Nov-2025 17:27:42 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:27:42 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:27:42 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:27:42 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:27:42 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:27:42 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:27:42 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:27:42 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:27:42 UTC] 📊 Database Info:
[17-Nov-2025 17:27:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:27:42 UTC]    Books columns count: 53
[17-Nov-2025 17:27:42 UTC]    Categories columns count: 7
[17-Nov-2025 17:27:42 UTC]    Language field in books: YES
[17-Nov-2025 17:27:42 UTC]    Format field in books: YES
[17-Nov-2025 17:27:42 UTC]    Description field in categories: YES
[17-Nov-2025 17:27:42 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:27:42 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:27:42 UTC]    Is_active field in books: YES
[17-Nov-2025 17:27:42 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:27:42 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:27:42 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:27:42 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:27:42 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:27:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:27:42 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 17:27:42 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:27:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:27:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:31:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:31:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:31:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:31:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:31:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:31:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:31:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:31:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:31:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:31:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:31:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:31:03 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:31:03 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:31:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:31:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:31:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:31:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:31:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:31:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:31:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:31:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:31:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:31:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:31:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:31:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:31:03 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:31:03 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:31:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:31:03 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:31:03 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:31:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:31:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:31:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:31:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:31:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:31:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:31:03 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:31:03 UTC] 📊 Database Info:
[17-Nov-2025 17:31:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:31:03 UTC]    Books columns count: 53
[17-Nov-2025 17:31:03 UTC]    Categories columns count: 7
[17-Nov-2025 17:31:03 UTC]    Language field in books: YES
[17-Nov-2025 17:31:03 UTC]    Format field in books: YES
[17-Nov-2025 17:31:03 UTC]    Description field in categories: YES
[17-Nov-2025 17:31:03 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:31:03 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:31:03 UTC]    Is_active field in books: YES
[17-Nov-2025 17:31:03 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:31:03 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:31:03 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:31:03 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:31:03 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:31:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:31:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:31:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:31:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:31:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:31:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:31:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:31:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:31:03 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 17:31:03 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:31:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:31:03 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:31:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:31:03 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:31:03 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:31:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:31:03 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:31:03 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:31:03 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:31:03 UTC] 📊 Database Info:
[17-Nov-2025 17:31:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:31:03 UTC]    Books columns count: 53
[17-Nov-2025 17:31:03 UTC]    Categories columns count: 7
[17-Nov-2025 17:31:03 UTC]    Language field in books: YES
[17-Nov-2025 17:31:03 UTC]    Format field in books: YES
[17-Nov-2025 17:31:03 UTC]    Description field in categories: YES
[17-Nov-2025 17:31:03 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:31:03 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:31:03 UTC]    Is_active field in books: YES
[17-Nov-2025 17:31:03 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:31:03 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:31:03 UTC] 📊 Database Info:
[17-Nov-2025 17:31:03 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:31:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:31:03 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:31:03 UTC]    Books columns count: 53
[17-Nov-2025 17:31:03 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:31:03 UTC]    Categories columns count: 7
[17-Nov-2025 17:31:03 UTC]    Language field in books: YES
[17-Nov-2025 17:31:03 UTC]    Format field in books: YES
[17-Nov-2025 17:31:03 UTC]    Description field in categories: YES
[17-Nov-2025 17:31:03 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:31:03 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:31:03 UTC]    Is_active field in books: YES
[17-Nov-2025 17:31:03 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:31:03 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:31:03 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:31:03 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:31:03 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:31:03 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:31:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:31:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 17:31:03 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 17:31:03 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:31:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:31:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:32:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:32:31 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:32:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:32:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:32:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:32:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:32:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:32:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:32:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:32:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:32:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:32:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:32:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:32:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:32:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:32:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:32:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:32:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:32:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:32:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:32:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:32:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:32:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:32:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:32:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:32:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:32:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:32:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:32:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:32:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:32:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:32:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:32:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 17:32:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:32:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:32:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:32:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 17:32:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 17:32:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:32:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:32:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 17:32:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:32:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:32:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:32:32 UTC] 📊 Database Info:
[17-Nov-2025 17:32:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:32:32 UTC]    Books columns count: 53
[17-Nov-2025 17:32:32 UTC]    Categories columns count: 7
[17-Nov-2025 17:32:32 UTC]    Language field in books: YES
[17-Nov-2025 17:32:32 UTC]    Format field in books: YES
[17-Nov-2025 17:32:32 UTC]    Description field in categories: YES
[17-Nov-2025 17:32:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:32:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:32:32 UTC]    Is_active field in books: YES
[17-Nov-2025 17:32:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:32:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:32:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:32:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:32:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:32:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:32:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:32:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:32:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:32:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:32:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:32:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:32:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:32:32 UTC] 📊 Database Info:
[17-Nov-2025 17:32:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:32:32 UTC]    Books columns count: 53
[17-Nov-2025 17:32:32 UTC]    Categories columns count: 7
[17-Nov-2025 17:32:32 UTC]    Language field in books: YES
[17-Nov-2025 17:32:32 UTC]    Format field in books: YES
[17-Nov-2025 17:32:32 UTC]    Description field in categories: YES
[17-Nov-2025 17:32:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:32:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:32:32 UTC]    Is_active field in books: YES
[17-Nov-2025 17:32:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:32:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:32:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:32:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:32:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:32:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:32:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:32:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:32:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:32:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 17:32:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 17:32:32 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 17:32:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 17:32:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 17:32:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 17:32:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 17:32:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 17:32:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 17:32:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 17:32:32 UTC] 📊 Database Info:
[17-Nov-2025 17:32:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 17:32:32 UTC]    Books columns count: 53
[17-Nov-2025 17:32:32 UTC]    Categories columns count: 7
[17-Nov-2025 17:32:32 UTC]    Language field in books: YES
[17-Nov-2025 17:32:32 UTC]    Format field in books: YES
[17-Nov-2025 17:32:32 UTC]    Description field in categories: YES
[17-Nov-2025 17:32:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 17:32:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 17:32:32 UTC]    Is_active field in books: YES
[17-Nov-2025 17:32:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 17:32:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 17:32:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 17:32:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 17:32:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 17:32:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 17:32:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 17:32:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 17:32:32 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 18:08:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:08:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:08:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:08:06 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:08:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:08:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:08:06 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:08:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:08:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:08:06 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:08:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:08:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:08:06 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:08:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:08:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:08:06 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:08:06 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:08:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:08:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:08:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:08:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:08:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:08:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:08:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:08:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:08:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:08:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:08:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:08:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:08:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:08:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:08:07 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:08:07 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:08:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:08:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:08:07 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:08:07 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:08:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:08:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:08:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:08:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:08:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:08:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:08:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:08:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:08:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:08:07 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:08:07 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:08:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:08:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:08:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:08:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:08:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:08:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:08:07 UTC] 📊 Database Info:
[17-Nov-2025 18:08:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:08:07 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:08:07 UTC]    Books columns count: 53
[17-Nov-2025 18:08:07 UTC]    Categories columns count: 7
[17-Nov-2025 18:08:07 UTC]    Language field in books: YES
[17-Nov-2025 18:08:07 UTC]    Format field in books: YES
[17-Nov-2025 18:08:07 UTC]    Description field in categories: YES
[17-Nov-2025 18:08:07 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:08:07 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:08:07 UTC]    Is_active field in books: YES
[17-Nov-2025 18:08:07 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:08:07 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:08:07 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:08:07 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:08:07 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:08:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:08:07 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:08:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:08:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:08:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:08:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:08:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:08:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:08:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:08:07 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:08:07 UTC] 📊 Database Info:
[17-Nov-2025 18:08:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:08:07 UTC]    Books columns count: 53
[17-Nov-2025 18:08:07 UTC]    Categories columns count: 7
[17-Nov-2025 18:08:07 UTC]    Language field in books: YES
[17-Nov-2025 18:08:07 UTC]    Format field in books: YES
[17-Nov-2025 18:08:07 UTC]    Description field in categories: YES
[17-Nov-2025 18:08:07 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:08:07 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:08:07 UTC]    Is_active field in books: YES
[17-Nov-2025 18:08:07 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:08:07 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:08:07 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:08:07 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:08:07 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:08:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:08:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:08:07 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 18:08:07 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:08:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:08:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:08:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:08:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:08:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:08:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:08:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:08:07 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:08:07 UTC] 📊 Database Info:
[17-Nov-2025 18:08:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:08:07 UTC]    Books columns count: 53
[17-Nov-2025 18:08:07 UTC]    Categories columns count: 7
[17-Nov-2025 18:08:07 UTC]    Language field in books: YES
[17-Nov-2025 18:08:07 UTC]    Format field in books: YES
[17-Nov-2025 18:08:07 UTC]    Description field in categories: YES
[17-Nov-2025 18:08:07 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:08:07 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:08:07 UTC]    Is_active field in books: YES
[17-Nov-2025 18:08:07 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:08:07 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:08:07 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:08:07 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:08:07 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:08:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:08:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:08:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 18:08:07 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 18:08:07 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 18:11:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:11:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:11:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:11:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:11:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:11:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:11:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:11:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:11:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:11:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:11:40 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:11:40 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:11:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:11:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:11:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:11:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:11:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:11:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:11:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:11:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:11:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:11:40 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:11:40 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:11:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:11:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:11:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:11:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:11:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:11:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:11:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:11:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:11:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:11:40 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:11:40 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:11:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:11:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:11:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:11:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:11:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:11:40 UTC] 📊 Database Info:
[17-Nov-2025 18:11:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:11:40 UTC]    Books columns count: 53
[17-Nov-2025 18:11:40 UTC]    Categories columns count: 7
[17-Nov-2025 18:11:40 UTC]    Language field in books: YES
[17-Nov-2025 18:11:40 UTC]    Format field in books: YES
[17-Nov-2025 18:11:40 UTC]    Description field in categories: YES
[17-Nov-2025 18:11:40 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:11:40 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:11:40 UTC]    Is_active field in books: YES
[17-Nov-2025 18:11:40 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:11:40 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:11:40 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:11:40 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:11:40 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:11:40 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:11:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:11:40 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:11:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:11:40 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:11:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:11:40 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:11:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:11:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 18:11:40 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 18:11:40 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:11:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:11:40 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:11:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:11:40 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:11:40 UTC] 📊 Database Info:
[17-Nov-2025 18:11:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:11:40 UTC]    Books columns count: 53
[17-Nov-2025 18:11:40 UTC]    Categories columns count: 7
[17-Nov-2025 18:11:40 UTC]    Language field in books: YES
[17-Nov-2025 18:11:40 UTC]    Format field in books: YES
[17-Nov-2025 18:11:40 UTC]    Description field in categories: YES
[17-Nov-2025 18:11:40 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:11:40 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:11:40 UTC]    Is_active field in books: YES
[17-Nov-2025 18:11:40 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:11:40 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:11:40 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:11:40 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:11:40 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:11:40 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:11:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:11:40 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 18:11:40 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 18:11:40 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:11:40 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:11:40 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:11:40 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:11:40 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:11:40 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:11:40 UTC] 📊 Database Info:
[17-Nov-2025 18:11:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:11:40 UTC]    Books columns count: 53
[17-Nov-2025 18:11:40 UTC]    Categories columns count: 7
[17-Nov-2025 18:11:40 UTC]    Language field in books: YES
[17-Nov-2025 18:11:40 UTC]    Format field in books: YES
[17-Nov-2025 18:11:40 UTC]    Description field in categories: YES
[17-Nov-2025 18:11:40 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:11:40 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:11:40 UTC]    Is_active field in books: YES
[17-Nov-2025 18:11:40 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:11:40 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:11:40 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:11:40 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:11:40 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:11:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:11:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:12:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:12:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:12:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:12:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:12:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:12:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:12:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:12:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:12:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:12:35 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:12:35 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:12:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:12:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:12:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:12:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:12:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:12:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:12:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:12:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:12:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:12:35 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:12:35 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:12:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:12:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:12:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:12:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:12:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:12:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:12:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:12:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:12:35 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:12:35 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:12:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:12:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:12:35 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:12:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:12:35 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:12:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:12:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:12:35 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:12:35 UTC] 📊 Database Info:
[17-Nov-2025 18:12:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:12:35 UTC]    Books columns count: 53
[17-Nov-2025 18:12:35 UTC]    Categories columns count: 7
[17-Nov-2025 18:12:35 UTC]    Language field in books: YES
[17-Nov-2025 18:12:35 UTC]    Format field in books: YES
[17-Nov-2025 18:12:35 UTC]    Description field in categories: YES
[17-Nov-2025 18:12:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:12:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:12:35 UTC]    Is_active field in books: YES
[17-Nov-2025 18:12:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:12:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:12:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:12:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:12:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:12:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:12:35 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:12:35 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:12:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:12:35 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:12:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:12:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:12:35 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:12:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:12:35 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 18:12:35 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:12:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:12:35 UTC] 📊 Database Info:
[17-Nov-2025 18:12:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:12:35 UTC]    Books columns count: 53
[17-Nov-2025 18:12:35 UTC]    Categories columns count: 7
[17-Nov-2025 18:12:35 UTC]    Language field in books: YES
[17-Nov-2025 18:12:35 UTC]    Format field in books: YES
[17-Nov-2025 18:12:35 UTC]    Description field in categories: YES
[17-Nov-2025 18:12:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:12:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:12:35 UTC]    Is_active field in books: YES
[17-Nov-2025 18:12:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:12:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:12:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:12:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:12:35 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:12:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:12:35 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:12:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:12:35 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:12:35 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:12:35 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:12:35 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:12:35 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:12:35 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:12:35 UTC] 📊 Database Info:
[17-Nov-2025 18:12:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:12:35 UTC]    Books columns count: 53
[17-Nov-2025 18:12:35 UTC]    Categories columns count: 7
[17-Nov-2025 18:12:35 UTC]    Language field in books: YES
[17-Nov-2025 18:12:35 UTC]    Format field in books: YES
[17-Nov-2025 18:12:35 UTC]    Description field in categories: YES
[17-Nov-2025 18:12:35 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:12:35 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:12:35 UTC]    Is_active field in books: YES
[17-Nov-2025 18:12:35 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:12:35 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:12:35 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:12:35 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:12:35 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:12:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:12:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:12:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 18:12:35 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 18:12:35 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 18:13:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:13:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:13:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:13:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:13:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:13:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:13:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:13:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:13:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:13:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:13:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:13:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:13:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:13:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:13:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:13:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:13:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:13:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:13:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:13:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:13:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:13:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:13:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:13:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:13:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:13:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:13:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:13:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:13:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:13:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:13:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:13:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:13:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:13:33 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:13:33 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:13:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:13:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:13:33 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:13:33 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:13:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:13:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:13:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:13:33 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:13:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:13:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:13:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:13:33 UTC] 📊 Database Info:
[17-Nov-2025 18:13:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:13:33 UTC]    Books columns count: 53
[17-Nov-2025 18:13:33 UTC]    Categories columns count: 7
[17-Nov-2025 18:13:33 UTC]    Language field in books: YES
[17-Nov-2025 18:13:33 UTC]    Format field in books: YES
[17-Nov-2025 18:13:33 UTC]    Description field in categories: YES
[17-Nov-2025 18:13:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:13:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:13:33 UTC]    Is_active field in books: YES
[17-Nov-2025 18:13:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:13:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:13:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:13:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:13:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:13:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:13:33 UTC] 📊 Database Info:
[17-Nov-2025 18:13:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:13:33 UTC]    Books columns count: 53
[17-Nov-2025 18:13:33 UTC]    Categories columns count: 7
[17-Nov-2025 18:13:33 UTC]    Language field in books: YES
[17-Nov-2025 18:13:33 UTC]    Format field in books: YES
[17-Nov-2025 18:13:33 UTC]    Description field in categories: YES
[17-Nov-2025 18:13:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:13:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:13:33 UTC]    Is_active field in books: YES
[17-Nov-2025 18:13:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:13:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:13:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:13:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:13:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:13:33 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:13:33 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:13:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:13:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 18:13:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:13:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:13:33 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 18:13:33 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:13:33 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:13:33 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:13:33 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:13:33 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:13:33 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:13:33 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:13:33 UTC] 📊 Database Info:
[17-Nov-2025 18:13:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:13:33 UTC]    Books columns count: 53
[17-Nov-2025 18:13:33 UTC]    Categories columns count: 7
[17-Nov-2025 18:13:33 UTC]    Language field in books: YES
[17-Nov-2025 18:13:33 UTC]    Format field in books: YES
[17-Nov-2025 18:13:33 UTC]    Description field in categories: YES
[17-Nov-2025 18:13:33 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:13:33 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:13:33 UTC]    Is_active field in books: YES
[17-Nov-2025 18:13:33 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:13:33 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:13:33 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:13:33 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:13:33 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:13:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:13:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:13:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 18:13:33 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 18:14:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:14:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:14:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:14:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:14:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:14:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:14:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:14:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:14:28 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:14:28 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:14:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:14:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:14:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:14:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:14:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:14:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:14:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:14:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:14:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:14:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:14:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:14:28 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:14:28 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:14:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:14:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:14:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:14:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:14:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:14:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:14:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:14:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:14:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:14:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:14:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:14:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:14:28 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:14:28 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:14:28 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:14:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:14:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:14:28 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:14:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:14:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:14:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:14:28 UTC] 📊 Database Info:
[17-Nov-2025 18:14:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:14:28 UTC]    Books columns count: 53
[17-Nov-2025 18:14:28 UTC]    Categories columns count: 7
[17-Nov-2025 18:14:28 UTC]    Language field in books: YES
[17-Nov-2025 18:14:28 UTC]    Format field in books: YES
[17-Nov-2025 18:14:28 UTC]    Description field in categories: YES
[17-Nov-2025 18:14:28 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:14:28 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:14:28 UTC]    Is_active field in books: YES
[17-Nov-2025 18:14:28 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:14:28 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:14:28 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:14:28 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:14:28 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:14:28 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:14:28 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:14:28 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:14:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:14:28 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:14:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:14:28 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:14:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:14:28 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:14:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:14:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:14:28 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:14:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:14:28 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:14:28 UTC] 📊 Database Info:
[17-Nov-2025 18:14:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:14:28 UTC]    Books columns count: 53
[17-Nov-2025 18:14:28 UTC]    Categories columns count: 7
[17-Nov-2025 18:14:28 UTC]    Language field in books: YES
[17-Nov-2025 18:14:28 UTC]    Format field in books: YES
[17-Nov-2025 18:14:28 UTC]    Description field in categories: YES
[17-Nov-2025 18:14:28 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:14:28 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:14:28 UTC]    Is_active field in books: YES
[17-Nov-2025 18:14:28 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:14:28 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:14:28 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:14:28 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:14:28 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:14:28 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:14:28 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:14:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:14:28 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 18:14:28 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 18:14:28 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:14:28 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:14:28 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:14:28 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:14:28 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:14:28 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:14:28 UTC] 📊 Database Info:
[17-Nov-2025 18:14:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:14:28 UTC]    Books columns count: 53
[17-Nov-2025 18:14:28 UTC]    Categories columns count: 7
[17-Nov-2025 18:14:28 UTC]    Language field in books: YES
[17-Nov-2025 18:14:28 UTC]    Format field in books: YES
[17-Nov-2025 18:14:28 UTC]    Description field in categories: YES
[17-Nov-2025 18:14:28 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:14:28 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:14:28 UTC]    Is_active field in books: YES
[17-Nov-2025 18:14:28 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:14:28 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:14:28 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:14:28 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:14:28 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:14:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:14:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:14:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 18:14:28 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 18:14:28 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 18:15:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:15:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:15:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:15:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:15:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:15:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:15:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:15:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:15:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:15:13 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:15:13 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:15:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:15:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:15:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:15:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:15:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:15:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:15:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:15:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:15:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:15:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:15:13 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:15:13 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:15:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:15:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:15:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:15:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:15:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:15:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:15:13 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:15:13 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:15:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:15:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:15:13 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:15:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:15:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:15:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:15:13 UTC] 📊 Database Info:
[17-Nov-2025 18:15:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:15:13 UTC]    Books columns count: 53
[17-Nov-2025 18:15:13 UTC]    Categories columns count: 7
[17-Nov-2025 18:15:13 UTC]    Language field in books: YES
[17-Nov-2025 18:15:13 UTC]    Format field in books: YES
[17-Nov-2025 18:15:13 UTC]    Description field in categories: YES
[17-Nov-2025 18:15:13 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:15:13 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:15:13 UTC]    Is_active field in books: YES
[17-Nov-2025 18:15:13 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:15:13 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:15:13 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:15:13 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:15:13 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:15:13 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:15:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:15:13 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:15:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:15:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 18:15:13 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 18:15:13 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:15:13 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:15:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:15:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:15:13 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:15:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:15:13 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:15:13 UTC] 📊 Database Info:
[17-Nov-2025 18:15:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:15:13 UTC]    Books columns count: 53
[17-Nov-2025 18:15:13 UTC]    Categories columns count: 7
[17-Nov-2025 18:15:13 UTC]    Language field in books: YES
[17-Nov-2025 18:15:13 UTC]    Format field in books: YES
[17-Nov-2025 18:15:13 UTC]    Description field in categories: YES
[17-Nov-2025 18:15:13 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:15:13 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:15:13 UTC]    Is_active field in books: YES
[17-Nov-2025 18:15:13 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:15:13 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:15:13 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:15:13 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:15:13 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:15:13 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:15:13 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:15:13 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:15:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:15:13 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 18:15:13 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:15:13 UTC] 📊 Database Info:
[17-Nov-2025 18:15:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:15:13 UTC]    Books columns count: 53
[17-Nov-2025 18:15:13 UTC]    Categories columns count: 7
[17-Nov-2025 18:15:13 UTC]    Language field in books: YES
[17-Nov-2025 18:15:13 UTC]    Format field in books: YES
[17-Nov-2025 18:15:13 UTC]    Description field in categories: YES
[17-Nov-2025 18:15:13 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:15:13 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:15:13 UTC]    Is_active field in books: YES
[17-Nov-2025 18:15:13 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 18:15:13 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:15:13 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:15:13 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:15:13 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:15:13 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:15:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:15:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:17:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:17:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:17:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:17:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:17:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:17:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:17:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:17:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:17:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:17:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:17:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:17:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:17:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:17:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:17:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:17:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:17:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:17:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:17:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:17:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:17:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:17:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:17:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:17:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:17:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:17:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:17:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:17:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:17:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:17:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:17:57 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:17:57 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:17:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:17:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:17:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:17:57 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:17:57 UTC] 📊 Database Info:
[17-Nov-2025 18:17:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:17:57 UTC]    Books columns count: 53
[17-Nov-2025 18:17:57 UTC]    Categories columns count: 7
[17-Nov-2025 18:17:57 UTC]    Language field in books: YES
[17-Nov-2025 18:17:57 UTC]    Format field in books: YES
[17-Nov-2025 18:17:57 UTC]    Description field in categories: YES
[17-Nov-2025 18:17:57 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:17:57 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:17:57 UTC]    Is_active field in books: YES
[17-Nov-2025 18:17:57 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:17:57 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:17:57 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:17:57 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:17:57 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:17:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:17:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:17:57 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:17:57 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:17:57 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:17:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:17:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 18:17:57 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 18:17:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:17:57 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:17:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:17:57 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:17:57 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:17:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:17:57 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:17:57 UTC] 📊 Database Info:
[17-Nov-2025 18:17:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:17:57 UTC]    Books columns count: 53
[17-Nov-2025 18:17:57 UTC]    Categories columns count: 7
[17-Nov-2025 18:17:57 UTC]    Language field in books: YES
[17-Nov-2025 18:17:57 UTC]    Format field in books: YES
[17-Nov-2025 18:17:57 UTC]    Description field in categories: YES
[17-Nov-2025 18:17:57 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:17:57 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:17:57 UTC]    Is_active field in books: YES
[17-Nov-2025 18:17:57 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:17:57 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:17:57 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:17:57 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:17:57 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:17:57 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:17:57 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:17:57 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:17:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:17:57 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 18:17:57 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 18:17:57 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:17:57 UTC] 📊 Database Info:
[17-Nov-2025 18:17:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:17:57 UTC]    Books columns count: 53
[17-Nov-2025 18:17:57 UTC]    Categories columns count: 7
[17-Nov-2025 18:17:57 UTC]    Language field in books: YES
[17-Nov-2025 18:17:57 UTC]    Format field in books: YES
[17-Nov-2025 18:17:57 UTC]    Description field in categories: YES
[17-Nov-2025 18:17:57 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:17:57 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:17:57 UTC]    Is_active field in books: YES
[17-Nov-2025 18:17:57 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:17:57 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:17:57 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:17:57 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:17:57 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:17:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:17:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:18:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:18:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:18:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:18:16 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:18:16 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:18:16 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:18:16 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:18:16 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:18:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:18:16 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:18:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:18:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:18:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:18:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:18:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:18:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:18:17 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:18:17 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:18:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:18:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:18:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:18:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:18:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:18:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:18:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:18:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:18:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:18:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:18:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:18:17 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:18:17 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:18:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:18:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:18:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:18:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:18:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:18:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:18:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:18:17 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:18:17 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:18:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:18:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:18:17 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:18:17 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:18:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:18:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:18:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:18:17 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:18:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:18:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:18:17 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:18:17 UTC] 📊 Database Info:
[17-Nov-2025 18:18:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:18:17 UTC]    Books columns count: 53
[17-Nov-2025 18:18:17 UTC]    Categories columns count: 7
[17-Nov-2025 18:18:17 UTC]    Language field in books: YES
[17-Nov-2025 18:18:17 UTC]    Format field in books: YES
[17-Nov-2025 18:18:17 UTC]    Description field in categories: YES
[17-Nov-2025 18:18:17 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:18:17 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:18:17 UTC]    Is_active field in books: YES
[17-Nov-2025 18:18:17 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:18:17 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:18:17 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:18:17 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:18:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:18:17 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:18:17 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:18:17 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:18:17 UTC] 📊 Database Info:
[17-Nov-2025 18:18:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:18:17 UTC]    Books columns count: 53
[17-Nov-2025 18:18:17 UTC]    Categories columns count: 7
[17-Nov-2025 18:18:17 UTC]    Language field in books: YES
[17-Nov-2025 18:18:17 UTC]    Format field in books: YES
[17-Nov-2025 18:18:17 UTC]    Description field in categories: YES
[17-Nov-2025 18:18:17 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:18:17 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:18:17 UTC]    Is_active field in books: YES
[17-Nov-2025 18:18:17 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:18:17 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:18:17 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:18:17 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:18:17 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:18:17 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:18:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:18:17 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:18:17 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:18:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:18:17 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 18:18:17 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 18:18:17 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:18:17 UTC] 📊 Database Info:
[17-Nov-2025 18:18:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:18:17 UTC]    Books columns count: 53
[17-Nov-2025 18:18:17 UTC]    Categories columns count: 7
[17-Nov-2025 18:18:17 UTC]    Language field in books: YES
[17-Nov-2025 18:18:17 UTC]    Format field in books: YES
[17-Nov-2025 18:18:17 UTC]    Description field in categories: YES
[17-Nov-2025 18:18:17 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:18:17 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:18:17 UTC]    Is_active field in books: YES
[17-Nov-2025 18:18:17 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:18:17 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:18:17 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:18:17 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:18:17 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:18:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:18:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:18:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 18:18:17 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 18:18:17 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 18:18:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:18:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:18:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:18:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:18:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:18:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:18:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:18:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:18:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:18:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:18:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:18:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:18:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:18:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:18:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:18:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:18:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:18:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:18:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:18:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:18:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:18:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:18:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:18:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:18:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:18:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:18:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:18:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:18:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:18:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:18:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:18:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:18:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:18:32 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:18:32 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:18:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:18:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:18:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:18:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:18:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:18:32 UTC] 📊 Database Info:
[17-Nov-2025 18:18:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:18:32 UTC]    Books columns count: 53
[17-Nov-2025 18:18:32 UTC]    Categories columns count: 7
[17-Nov-2025 18:18:32 UTC]    Language field in books: YES
[17-Nov-2025 18:18:32 UTC]    Format field in books: YES
[17-Nov-2025 18:18:32 UTC]    Description field in categories: YES
[17-Nov-2025 18:18:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:18:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:18:32 UTC]    Is_active field in books: YES
[17-Nov-2025 18:18:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:18:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:18:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:18:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:18:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:18:32 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:18:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:18:32 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:18:32 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:18:32 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:18:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:18:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 18:18:32 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 18:18:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:18:32 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:18:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:18:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:18:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:18:32 UTC] 📊 Database Info:
[17-Nov-2025 18:18:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:18:32 UTC]    Books columns count: 53
[17-Nov-2025 18:18:32 UTC]    Categories columns count: 7
[17-Nov-2025 18:18:32 UTC]    Language field in books: YES
[17-Nov-2025 18:18:32 UTC]    Format field in books: YES
[17-Nov-2025 18:18:32 UTC]    Description field in categories: YES
[17-Nov-2025 18:18:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:18:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:18:32 UTC]    Is_active field in books: YES
[17-Nov-2025 18:18:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:18:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:18:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:18:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:18:32 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:18:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:18:32 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:18:32 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:18:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:18:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 18:18:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 18:18:32 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:18:32 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 18:18:32 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:18:32 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:18:32 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:18:32 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:18:32 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:18:32 UTC] 📊 Database Info:
[17-Nov-2025 18:18:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:18:32 UTC]    Books columns count: 53
[17-Nov-2025 18:18:32 UTC]    Categories columns count: 7
[17-Nov-2025 18:18:32 UTC]    Language field in books: YES
[17-Nov-2025 18:18:32 UTC]    Format field in books: YES
[17-Nov-2025 18:18:32 UTC]    Description field in categories: YES
[17-Nov-2025 18:18:32 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:18:32 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:18:32 UTC]    Is_active field in books: YES
[17-Nov-2025 18:18:32 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:18:32 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:18:32 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:18:32 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:18:32 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:18:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:18:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:19:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:19:36 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:19:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:19:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:19:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:19:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:19:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:19:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:19:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:19:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:19:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:19:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:19:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:19:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:19:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:19:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:19:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:19:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:19:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:19:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:19:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:19:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:19:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:19:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:19:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:19:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:19:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:19:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:19:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:19:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:19:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:19:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:19:37 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:19:37 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:19:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:19:37 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:19:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:19:37 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:19:37 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:19:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:19:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:19:37 UTC] 📊 Database Info:
[17-Nov-2025 18:19:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:19:37 UTC]    Books columns count: 53
[17-Nov-2025 18:19:37 UTC]    Categories columns count: 7
[17-Nov-2025 18:19:37 UTC]    Language field in books: YES
[17-Nov-2025 18:19:37 UTC]    Format field in books: YES
[17-Nov-2025 18:19:37 UTC]    Description field in categories: YES
[17-Nov-2025 18:19:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:19:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:19:37 UTC]    Is_active field in books: YES
[17-Nov-2025 18:19:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:19:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:19:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:19:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:19:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:19:37 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:19:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:19:37 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:19:37 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:19:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:19:37 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:19:37 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:19:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:19:37 UTC] 📊 Database Info:
[17-Nov-2025 18:19:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:19:37 UTC]    Books columns count: 53
[17-Nov-2025 18:19:37 UTC]    Categories columns count: 7
[17-Nov-2025 18:19:37 UTC]    Language field in books: YES
[17-Nov-2025 18:19:37 UTC]    Format field in books: YES
[17-Nov-2025 18:19:37 UTC]    Description field in categories: YES
[17-Nov-2025 18:19:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:19:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:19:37 UTC]    Is_active field in books: YES
[17-Nov-2025 18:19:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:19:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:19:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:19:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:19:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:19:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:19:37 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:19:37 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:19:37 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:19:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:19:37 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:19:37 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:19:37 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:19:37 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:19:37 UTC] 📊 Database Info:
[17-Nov-2025 18:19:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:19:37 UTC]    Books columns count: 53
[17-Nov-2025 18:19:37 UTC]    Categories columns count: 7
[17-Nov-2025 18:19:37 UTC]    Language field in books: YES
[17-Nov-2025 18:19:37 UTC]    Format field in books: YES
[17-Nov-2025 18:19:37 UTC]    Description field in categories: YES
[17-Nov-2025 18:19:37 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:19:37 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:19:37 UTC]    Is_active field in books: YES
[17-Nov-2025 18:19:37 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:19:37 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:19:37 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:19:37 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:19:37 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:19:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:19:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:19:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 18:19:37 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 18:19:37 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 18:20:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:20:02 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:20:03 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:20:03 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:20:03 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:20:03 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:20:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:20:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:20:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:20:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:20:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:20:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:20:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:20:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:20:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:20:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:20:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:20:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:20:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:20:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:20:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:20:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:20:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:20:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:20:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:20:04 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:20:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:20:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:20:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:20:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:20:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:20:04 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:20:04 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:20:04 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:20:04 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:20:04 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:20:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:20:04 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:20:04 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:20:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:20:04 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:20:04 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:20:04 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:20:04 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:20:04 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:20:04 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:20:04 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:20:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:20:04 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:20:04 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:20:04 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:20:04 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:20:04 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:20:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:20:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:20:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:20:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:20:04 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:20:05 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:20:05 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:20:05 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:20:06 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:20:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:20:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:20:07 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:20:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:20:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:20:07 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:20:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:20:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:20:07 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:20:07 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:20:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:20:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:20:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:20:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:20:07 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:20:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:20:07 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:20:07 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:20:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:20:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:20:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:20:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:20:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:20:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:20:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:20:07 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:20:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:20:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:20:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:20:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:20:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:20:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:20:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:20:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:20:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:20:07 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:20:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:20:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:20:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:20:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:20:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:20:07 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:20:07 UTC] 📊 Database Info:
[17-Nov-2025 18:20:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:20:07 UTC]    Books columns count: 53
[17-Nov-2025 18:20:07 UTC]    Categories columns count: 7
[17-Nov-2025 18:20:07 UTC]    Language field in books: YES
[17-Nov-2025 18:20:07 UTC]    Format field in books: YES
[17-Nov-2025 18:20:07 UTC]    Description field in categories: YES
[17-Nov-2025 18:20:07 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:20:07 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:20:07 UTC]    Is_active field in books: YES
[17-Nov-2025 18:20:07 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:20:07 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:20:07 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:20:07 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:20:07 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:20:07 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:20:07 UTC] 📊 Database Info:
[17-Nov-2025 18:20:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:20:07 UTC]    Books columns count: 53
[17-Nov-2025 18:20:07 UTC]    Categories columns count: 7
[17-Nov-2025 18:20:07 UTC]    Language field in books: YES
[17-Nov-2025 18:20:07 UTC]    Format field in books: YES
[17-Nov-2025 18:20:07 UTC]    Description field in categories: YES
[17-Nov-2025 18:20:07 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:20:07 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:20:07 UTC]    Is_active field in books: YES
[17-Nov-2025 18:20:07 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:20:07 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:20:07 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:20:07 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:20:07 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:20:07 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:20:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:20:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:20:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 18:20:07 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 18:20:07 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:20:07 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:20:07 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:20:07 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:20:07 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:20:07 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:20:07 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:20:07 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 18:20:07 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:20:07 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:20:07 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:20:07 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:20:07 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:20:07 UTC] 📊 Database Info:
[17-Nov-2025 18:20:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:20:07 UTC]    Books columns count: 53
[17-Nov-2025 18:20:07 UTC]    Categories columns count: 7
[17-Nov-2025 18:20:07 UTC]    Language field in books: YES
[17-Nov-2025 18:20:07 UTC]    Format field in books: YES
[17-Nov-2025 18:20:07 UTC]    Description field in categories: YES
[17-Nov-2025 18:20:07 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:20:07 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:20:07 UTC]    Is_active field in books: YES
[17-Nov-2025 18:20:07 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:20:07 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:20:07 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:20:07 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:20:07 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:20:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:20:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:20:07 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 18:20:07 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 18:41:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:41:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:41:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:41:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:41:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:41:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:41:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:41:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:41:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:41:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:41:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:41:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:41:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:41:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:41:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:41:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:41:53 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:41:53 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:41:53 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:41:53 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:41:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:41:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:41:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:41:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:41:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:41:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:41:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:41:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:41:53 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:41:53 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:41:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:41:53 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:41:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:41:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:41:53 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:41:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:41:53 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:41:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:41:53 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:41:53 UTC] 📊 Database Info:
[17-Nov-2025 18:41:53 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:41:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:41:53 UTC]    Books columns count: 53
[17-Nov-2025 18:41:53 UTC]    Categories columns count: 7
[17-Nov-2025 18:41:53 UTC]    Language field in books: YES
[17-Nov-2025 18:41:53 UTC]    Format field in books: YES
[17-Nov-2025 18:41:53 UTC]    Description field in categories: YES
[17-Nov-2025 18:41:53 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:41:53 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:41:53 UTC]    Is_active field in books: YES
[17-Nov-2025 18:41:53 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:41:53 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:41:53 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:41:53 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:41:53 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:41:53 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:41:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:41:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:41:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 18:41:53 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 18:41:53 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 18:41:53 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:41:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:41:53 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:41:53 UTC] 📊 Database Info:
[17-Nov-2025 18:41:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:41:53 UTC]    Books columns count: 53
[17-Nov-2025 18:41:53 UTC]    Categories columns count: 7
[17-Nov-2025 18:41:53 UTC]    Language field in books: YES
[17-Nov-2025 18:41:53 UTC]    Format field in books: YES
[17-Nov-2025 18:41:53 UTC]    Description field in categories: YES
[17-Nov-2025 18:41:53 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:41:53 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:41:53 UTC]    Is_active field in books: YES
[17-Nov-2025 18:41:53 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:41:53 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:41:53 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:41:53 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:41:53 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:41:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:41:53 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 18:41:53 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:41:53 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:41:53 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:41:53 UTC] 📊 Database Info:
[17-Nov-2025 18:41:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:41:53 UTC]    Books columns count: 53
[17-Nov-2025 18:41:53 UTC]    Categories columns count: 7
[17-Nov-2025 18:41:53 UTC]    Language field in books: YES
[17-Nov-2025 18:41:53 UTC]    Format field in books: YES
[17-Nov-2025 18:41:53 UTC]    Description field in categories: YES
[17-Nov-2025 18:41:53 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:41:53 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:41:53 UTC]    Is_active field in books: YES
[17-Nov-2025 18:41:53 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:41:53 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:41:53 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:41:53 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:41:53 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 18:41:53 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:41:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:41:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:42:23 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:42:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:42:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:42:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:42:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:42:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:42:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:42:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:42:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:42:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:42:23 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:42:23 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:42:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:42:23 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:42:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:42:23 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:42:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:42:23 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:42:23 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:42:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:42:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:42:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:42:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:42:23 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:42:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:42:23 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:42:23 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:42:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:42:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:42:23 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:42:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:42:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:42:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:42:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 18:42:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:42:23 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 18:42:23 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 18:42:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column institution already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:42:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:42:23 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:42:23 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:42:23 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:42:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 18:42:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:42:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:42:23 UTC] 📊 Database Info:
[17-Nov-2025 18:42:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:42:23 UTC]    Books columns count: 53
[17-Nov-2025 18:42:23 UTC]    Categories columns count: 7
[17-Nov-2025 18:42:23 UTC]    Language field in books: YES
[17-Nov-2025 18:42:23 UTC]    Format field in books: YES
[17-Nov-2025 18:42:23 UTC]    Description field in categories: YES
[17-Nov-2025 18:42:23 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:42:23 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:42:23 UTC]    Is_active field in books: YES
[17-Nov-2025 18:42:23 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:42:23 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:42:23 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:42:23 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:42:23 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:42:23 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:42:23 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:42:23 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:42:23 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:42:23 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:42:23 UTC] 📊 Database Info:
[17-Nov-2025 18:42:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:42:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:42:23 UTC]    Books columns count: 53
[17-Nov-2025 18:42:23 UTC]    Categories columns count: 7
[17-Nov-2025 18:42:23 UTC]    Language field in books: YES
[17-Nov-2025 18:42:23 UTC]    Format field in books: YES
[17-Nov-2025 18:42:23 UTC]    Description field in categories: YES
[17-Nov-2025 18:42:23 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:42:23 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:42:23 UTC]    Is_active field in books: YES
[17-Nov-2025 18:42:23 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:42:23 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:42:23 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:42:23 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:42:23 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:42:23 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 18:42:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:42:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:42:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 18:42:23 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 18:42:23 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 18:42:23 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 18:42:23 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 18:42:24 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 18:42:24 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 18:42:24 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 18:42:24 UTC] ℹ️ Column language already exists
[17-Nov-2025 18:42:24 UTC] ℹ️ Column format already exists
[17-Nov-2025 18:42:24 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 18:42:24 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 18:42:24 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 18:42:24 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 18:42:24 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 18:42:24 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 18:42:24 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 18:42:24 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 18:42:24 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 18:42:24 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 18:42:24 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 18:42:24 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 18:42:24 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 18:42:24 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 18:42:24 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 18:42:24 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 18:42:24 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 18:42:24 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 18:42:24 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 18:42:24 UTC] 📊 Database Info:
[17-Nov-2025 18:42:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 18:42:24 UTC]    Books columns count: 53
[17-Nov-2025 18:42:24 UTC]    Categories columns count: 7
[17-Nov-2025 18:42:24 UTC]    Language field in books: YES
[17-Nov-2025 18:42:24 UTC]    Format field in books: YES
[17-Nov-2025 18:42:24 UTC]    Description field in categories: YES
[17-Nov-2025 18:42:24 UTC]    Display_order field in categories: YES
[17-Nov-2025 18:42:24 UTC]    Is_active field in categories: YES
[17-Nov-2025 18:42:24 UTC]    Is_active field in books: YES
[17-Nov-2025 18:42:24 UTC]    External_download_link field in books: YES
[17-Nov-2025 18:42:24 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 18:42:24 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 18:42:24 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 18:42:24 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 18:42:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 18:42:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 18:42:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 18:42:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 18:42:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 18:42:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 18:42:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 18:42:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 18:42:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 18:42:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 18:42:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 18:42:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 18:42:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 18:42:24 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 18:42:24 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 19:10:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column institution already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column language already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column format already exists
[17-Nov-2025 19:10:47 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 19:10:48 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 19:10:48 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 19:10:48 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 19:10:48 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 19:10:48 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 19:10:48 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 19:10:48 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 19:10:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 19:10:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 19:10:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 19:10:48 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 19:10:48 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 19:10:48 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 19:10:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 19:10:48 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 19:10:48 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 19:10:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 19:10:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 19:10:48 UTC] ℹ️ Column institution already exists
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 19:10:48 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 19:10:48 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 19:10:48 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 19:10:48 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 19:10:48 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 19:10:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 19:10:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 19:10:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[17-Nov-2025 19:10:48 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 19:10:48 UTC] ⚠️ Missing columns detected: description, display_order
[17-Nov-2025 19:10:48 UTC] 🔄 Attempting to add missing columns...
[17-Nov-2025 19:10:48 UTC] ℹ️ Column institution already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column institution already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column publication_year already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column keywords already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column selected_pages_summary already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column selected_pages_toc already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column selected_pages_original already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_protected already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column protection_key already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_read_button already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column read_button_text already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_external_plus already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column custom_file_size already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_file_size already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column taille_before_extrait already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column language already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column format already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_download_extrait_button already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column download_extrait_button_text already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column original_pdf_url already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column language already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column download_count already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column format already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column stockage already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column language already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 19:10:48 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 19:10:48 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 19:10:48 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 19:10:48 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 19:10:48 UTC] 📊 Database Info:
[17-Nov-2025 19:10:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 19:10:48 UTC]    Books columns count: 53
[17-Nov-2025 19:10:48 UTC]    Categories columns count: 7
[17-Nov-2025 19:10:48 UTC]    Language field in books: YES
[17-Nov-2025 19:10:48 UTC]    Format field in books: YES
[17-Nov-2025 19:10:48 UTC]    Description field in categories: YES
[17-Nov-2025 19:10:48 UTC]    Display_order field in categories: YES
[17-Nov-2025 19:10:48 UTC]    Is_active field in categories: YES
[17-Nov-2025 19:10:48 UTC]    Is_active field in books: YES
[17-Nov-2025 19:10:48 UTC]    External_download_link field in books: YES
[17-Nov-2025 19:10:48 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 19:10:48 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 19:10:48 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 19:10:48 UTC] ℹ️ Column format already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column external_download_link already exists
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_external_download_button already exists
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 19:10:48 UTC] ℹ️ Column external_download_protection_key already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 19:10:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 19:10:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[17-Nov-2025 19:10:48 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[17-Nov-2025 19:10:48 UTC] ✅ إرجاع 5 تصنيف بروفايل
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_external_download_protected already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_active already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column description already exists in categories
[17-Nov-2025 19:10:48 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 19:10:48 UTC] ℹ️ Column display_order already exists in categories
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 19:10:48 UTC] ℹ️ Column is_active already exists in categories
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column show_welcome_section already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 19:10:48 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 19:10:48 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 19:10:48 UTC] ℹ️ Column company_address already exists
[17-Nov-2025 19:10:48 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 19:10:48 UTC] 📊 Database Info:
[17-Nov-2025 19:10:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 19:10:48 UTC]    Books columns count: 53
[17-Nov-2025 19:10:48 UTC]    Categories columns count: 7
[17-Nov-2025 19:10:48 UTC]    Language field in books: YES
[17-Nov-2025 19:10:48 UTC]    Format field in books: YES
[17-Nov-2025 19:10:48 UTC]    Description field in categories: YES
[17-Nov-2025 19:10:48 UTC]    Display_order field in categories: YES
[17-Nov-2025 19:10:48 UTC]    Is_active field in categories: YES
[17-Nov-2025 19:10:48 UTC]    Is_active field in books: YES
[17-Nov-2025 19:10:48 UTC]    External_download_link field in books: YES
[17-Nov-2025 19:10:48 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 19:10:48 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 19:10:48 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 19:10:48 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 19:10:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[17-Nov-2025 19:10:48 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[17-Nov-2025 19:10:48 UTC] ✅ إرجاع 5 تصنيف
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with original_pdf_url
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with is_active = TRUE
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing categories with new fields
[17-Nov-2025 19:10:48 UTC] ✅ Default screen texts inserted successfully
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with empty language field
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with empty format field
[17-Nov-2025 19:10:48 UTC] ✅ Updated existing books with default external download link and protection values
[17-Nov-2025 19:10:48 UTC] ✅ Database tables created/updated successfully with all new fields
[17-Nov-2025 19:10:48 UTC] ℹ️ Favorites table not available for inspection
[17-Nov-2025 19:10:48 UTC] 📊 Database Info:
[17-Nov-2025 19:10:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[17-Nov-2025 19:10:48 UTC]    Books columns count: 53
[17-Nov-2025 19:10:48 UTC]    Categories columns count: 7
[17-Nov-2025 19:10:48 UTC]    Language field in books: YES
[17-Nov-2025 19:10:48 UTC]    Format field in books: YES
[17-Nov-2025 19:10:48 UTC]    Description field in categories: YES
[17-Nov-2025 19:10:48 UTC]    Display_order field in categories: YES
[17-Nov-2025 19:10:48 UTC]    Is_active field in categories: YES
[17-Nov-2025 19:10:48 UTC]    Is_active field in books: YES
[17-Nov-2025 19:10:48 UTC]    External_download_link field in books: YES
[17-Nov-2025 19:10:48 UTC]    Show_external_download_button field in books: YES
[17-Nov-2025 19:10:48 UTC]    External_download_protection_key field in books: YES
[17-Nov-2025 19:10:48 UTC]    Is_external_download_protected field in books: YES
[17-Nov-2025 19:10:48 UTC] ℹ️ Database is already at version 23
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[17-Nov-2025 19:10:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[17-Nov-2025 19:10:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 12:54:55 UTC] ℹ️ Column institution already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column institution already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column institution already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column language already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column format already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column language already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column language already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column format already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column format already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 12:54:55 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 12:54:55 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 12:54:55 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 12:54:55 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 12:54:55 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 12:54:55 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 12:54:55 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 12:54:55 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 12:54:55 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 12:54:55 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 12:54:55 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 12:54:55 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 12:54:55 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 12:54:55 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 12:54:55 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 12:54:55 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 12:54:55 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 12:54:55 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 12:54:55 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 12:54:55 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 12:54:55 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 12:54:55 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 12:54:55 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 12:54:55 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 12:54:55 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 12:54:55 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 12:54:55 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 12:54:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 12:54:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 12:54:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 12:54:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 12:54:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 12:54:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 12:54:55 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 12:54:55 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 12:54:55 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 12:54:55 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 12:54:55 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 12:54:55 UTC] ℹ️ Column institution already exists
[18-Nov-2025 12:54:55 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 12:54:55 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column institution already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 12:54:55 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 12:54:55 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 12:54:55 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 12:54:55 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 12:54:55 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 12:54:55 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 12:54:55 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 12:54:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 12:54:55 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 12:54:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 12:54:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 12:54:55 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 12:54:55 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 12:54:55 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 12:54:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 12:54:55 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 12:54:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 12:54:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 12:54:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 12:54:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 12:54:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 12:54:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 12:54:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 12:54:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 12:54:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 12:54:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 12:54:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 12:54:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 12:54:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 12:54:56 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 12:54:56 UTC] 📊 Database Info:
[18-Nov-2025 12:54:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 12:54:56 UTC]    Books columns count: 53
[18-Nov-2025 12:54:56 UTC]    Categories columns count: 7
[18-Nov-2025 12:54:56 UTC]    Language field in books: YES
[18-Nov-2025 12:54:56 UTC]    Format field in books: YES
[18-Nov-2025 12:54:56 UTC]    Description field in categories: YES
[18-Nov-2025 12:54:56 UTC]    Display_order field in categories: YES
[18-Nov-2025 12:54:56 UTC]    Is_active field in categories: YES
[18-Nov-2025 12:54:56 UTC]    Is_active field in books: YES
[18-Nov-2025 12:54:56 UTC]    External_download_link field in books: YES
[18-Nov-2025 12:54:56 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 12:54:56 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 12:54:56 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 12:54:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 12:54:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 12:54:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 12:54:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 12:54:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 12:54:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 12:54:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 12:54:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 12:54:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 12:54:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 12:54:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 12:54:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 12:54:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 12:54:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 12:54:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 12:54:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 12:54:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 12:54:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 12:54:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 12:54:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 12:54:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 12:54:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 12:54:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 12:54:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 12:54:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 12:54:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 12:54:56 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 12:54:56 UTC] 📊 Database Info:
[18-Nov-2025 12:54:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 12:54:56 UTC]    Books columns count: 53
[18-Nov-2025 12:54:56 UTC]    Categories columns count: 7
[18-Nov-2025 12:54:56 UTC]    Language field in books: YES
[18-Nov-2025 12:54:56 UTC]    Format field in books: YES
[18-Nov-2025 12:54:56 UTC]    Description field in categories: YES
[18-Nov-2025 12:54:56 UTC]    Display_order field in categories: YES
[18-Nov-2025 12:54:56 UTC]    Is_active field in categories: YES
[18-Nov-2025 12:54:56 UTC]    Is_active field in books: YES
[18-Nov-2025 12:54:56 UTC]    External_download_link field in books: YES
[18-Nov-2025 12:54:56 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 12:54:56 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 12:54:56 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 12:54:56 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 12:54:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 12:54:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 12:54:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 12:54:56 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 12:54:56 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 12:54:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 12:54:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 12:54:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 12:54:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 12:54:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 12:54:56 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 12:54:56 UTC] 📊 Database Info:
[18-Nov-2025 12:54:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 12:54:56 UTC]    Books columns count: 53
[18-Nov-2025 12:54:56 UTC]    Categories columns count: 7
[18-Nov-2025 12:54:56 UTC]    Language field in books: YES
[18-Nov-2025 12:54:56 UTC]    Format field in books: YES
[18-Nov-2025 12:54:56 UTC]    Description field in categories: YES
[18-Nov-2025 12:54:56 UTC]    Display_order field in categories: YES
[18-Nov-2025 12:54:56 UTC]    Is_active field in categories: YES
[18-Nov-2025 12:54:56 UTC]    Is_active field in books: YES
[18-Nov-2025 12:54:56 UTC]    External_download_link field in books: YES
[18-Nov-2025 12:54:56 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 12:54:56 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 12:54:56 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 12:54:56 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 12:54:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 12:54:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 12:54:56 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 12:54:56 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:05:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:21 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:05:21 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:05:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:21 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:05:21 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:05:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:21 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:05:21 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:05:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:22 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:22 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:05:22 UTC] 📊 Database Info:
[18-Nov-2025 13:05:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:05:22 UTC]    Books columns count: 53
[18-Nov-2025 13:05:22 UTC]    Categories columns count: 7
[18-Nov-2025 13:05:22 UTC]    Language field in books: YES
[18-Nov-2025 13:05:22 UTC]    Format field in books: YES
[18-Nov-2025 13:05:22 UTC]    Description field in categories: YES
[18-Nov-2025 13:05:22 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:05:22 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:05:22 UTC]    Is_active field in books: YES
[18-Nov-2025 13:05:22 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:05:22 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:05:22 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:05:22 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:05:22 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:05:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:05:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:05:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:05:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:05:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:05:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:05:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:05:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:05:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:05:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:05:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:05:22 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:05:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:22 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:05:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:22 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:05:22 UTC] 📊 Database Info:
[18-Nov-2025 13:05:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:05:22 UTC]    Books columns count: 53
[18-Nov-2025 13:05:22 UTC]    Categories columns count: 7
[18-Nov-2025 13:05:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:22 UTC]    Language field in books: YES
[18-Nov-2025 13:05:22 UTC]    Format field in books: YES
[18-Nov-2025 13:05:22 UTC]    Description field in categories: YES
[18-Nov-2025 13:05:22 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:05:22 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:05:22 UTC]    Is_active field in books: YES
[18-Nov-2025 13:05:22 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:05:22 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:05:22 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:05:22 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:05:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:22 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:05:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:05:22 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:05:22 UTC] 📊 Database Info:
[18-Nov-2025 13:05:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:05:22 UTC]    Books columns count: 53
[18-Nov-2025 13:05:22 UTC]    Categories columns count: 7
[18-Nov-2025 13:05:22 UTC]    Language field in books: YES
[18-Nov-2025 13:05:22 UTC]    Format field in books: YES
[18-Nov-2025 13:05:22 UTC]    Description field in categories: YES
[18-Nov-2025 13:05:22 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:05:22 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:05:22 UTC]    Is_active field in books: YES
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:05:22 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:05:22 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:05:22 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:05:22 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:05:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:05:22 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:05:22 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:05:22 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:05:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:05:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:05:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:34 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:05:34 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:34 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:05:34 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:34 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:05:34 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:05:34 UTC] 📊 Database Info:
[18-Nov-2025 13:05:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:05:34 UTC]    Books columns count: 53
[18-Nov-2025 13:05:34 UTC]    Categories columns count: 7
[18-Nov-2025 13:05:34 UTC]    Language field in books: YES
[18-Nov-2025 13:05:34 UTC]    Format field in books: YES
[18-Nov-2025 13:05:34 UTC]    Description field in categories: YES
[18-Nov-2025 13:05:34 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:05:34 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:05:34 UTC]    Is_active field in books: YES
[18-Nov-2025 13:05:34 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:05:34 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:05:34 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:05:34 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:05:34 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:05:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:05:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:05:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:05:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:05:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:05:34 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:05:34 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:05:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:05:34 UTC] 📊 Database Info:
[18-Nov-2025 13:05:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:05:34 UTC]    Books columns count: 53
[18-Nov-2025 13:05:34 UTC]    Categories columns count: 7
[18-Nov-2025 13:05:34 UTC]    Language field in books: YES
[18-Nov-2025 13:05:34 UTC]    Format field in books: YES
[18-Nov-2025 13:05:34 UTC]    Description field in categories: YES
[18-Nov-2025 13:05:34 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:05:34 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:05:34 UTC]    Is_active field in books: YES
[18-Nov-2025 13:05:34 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:05:34 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:05:34 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:05:34 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:05:34 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:05:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:05:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:05:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:05:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:34 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:05:34 UTC] 📊 Database Info:
[18-Nov-2025 13:05:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:05:34 UTC]    Books columns count: 53
[18-Nov-2025 13:05:34 UTC]    Categories columns count: 7
[18-Nov-2025 13:05:34 UTC]    Language field in books: YES
[18-Nov-2025 13:05:34 UTC]    Format field in books: YES
[18-Nov-2025 13:05:34 UTC]    Description field in categories: YES
[18-Nov-2025 13:05:34 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:05:34 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:05:34 UTC]    Is_active field in books: YES
[18-Nov-2025 13:05:34 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:05:34 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:05:34 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:05:34 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:05:34 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:05:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:05:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:05:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:05:34 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:05:34 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:05:37 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:37 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:37 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:37 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:37 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:37 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:05:37 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:05:37 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:37 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:37 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:37 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:37 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:37 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:05:37 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:05:37 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:37 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:37 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:37 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:37 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:37 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:37 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:37 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:37 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:37 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:05:37 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:05:37 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:37 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:37 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:37 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:05:37 UTC] 📊 Database Info:
[18-Nov-2025 13:05:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:05:37 UTC]    Books columns count: 53
[18-Nov-2025 13:05:37 UTC]    Categories columns count: 7
[18-Nov-2025 13:05:37 UTC]    Language field in books: YES
[18-Nov-2025 13:05:37 UTC]    Format field in books: YES
[18-Nov-2025 13:05:37 UTC]    Description field in categories: YES
[18-Nov-2025 13:05:37 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:05:37 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:05:37 UTC]    Is_active field in books: YES
[18-Nov-2025 13:05:37 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:05:37 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:05:37 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:05:37 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:05:37 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:05:37 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:37 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:05:37 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:37 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:05:37 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:05:37 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:37 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:05:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:37 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:05:37 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:37 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:05:37 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:05:37 UTC] 📊 Database Info:
[18-Nov-2025 13:05:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:05:37 UTC]    Books columns count: 53
[18-Nov-2025 13:05:37 UTC]    Categories columns count: 7
[18-Nov-2025 13:05:37 UTC]    Language field in books: YES
[18-Nov-2025 13:05:37 UTC]    Format field in books: YES
[18-Nov-2025 13:05:37 UTC]    Description field in categories: YES
[18-Nov-2025 13:05:37 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:05:37 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:05:37 UTC]    Is_active field in books: YES
[18-Nov-2025 13:05:37 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:05:37 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:05:37 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:05:37 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:05:37 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:05:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:05:37 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:05:37 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:05:37 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:05:37 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:05:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:37 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:37 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:37 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:37 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:37 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:37 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:37 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:37 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:05:37 UTC] 📊 Database Info:
[18-Nov-2025 13:05:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:05:37 UTC]    Books columns count: 53
[18-Nov-2025 13:05:37 UTC]    Categories columns count: 7
[18-Nov-2025 13:05:37 UTC]    Language field in books: YES
[18-Nov-2025 13:05:37 UTC]    Format field in books: YES
[18-Nov-2025 13:05:37 UTC]    Description field in categories: YES
[18-Nov-2025 13:05:37 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:05:37 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:05:37 UTC]    Is_active field in books: YES
[18-Nov-2025 13:05:37 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:05:37 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:05:37 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:05:37 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:05:37 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:05:37 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:05:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:05:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:05:37 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:05:37 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:05:40 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:40 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:40 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:40 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:40 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:40 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:40 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:40 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:40 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:40 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:40 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:40 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:40 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:40 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:05:40 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:05:40 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:40 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:40 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:40 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:40 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:40 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:40 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:40 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:40 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:40 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:40 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:40 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:40 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:40 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:40 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:05:40 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:05:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:40 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:40 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:40 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:40 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:40 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:40 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:40 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:40 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:40 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:05:40 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:40 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:05:40 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:05:40 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:40 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:41 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:41 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:41 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:41 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:41 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:41 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:41 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:41 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:41 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:41 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:41 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:05:41 UTC] 📊 Database Info:
[18-Nov-2025 13:05:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:05:41 UTC]    Books columns count: 53
[18-Nov-2025 13:05:41 UTC]    Categories columns count: 7
[18-Nov-2025 13:05:41 UTC]    Language field in books: YES
[18-Nov-2025 13:05:41 UTC]    Format field in books: YES
[18-Nov-2025 13:05:41 UTC]    Description field in categories: YES
[18-Nov-2025 13:05:41 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:05:41 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:05:41 UTC]    Is_active field in books: YES
[18-Nov-2025 13:05:41 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:05:41 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:05:41 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:05:41 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:05:41 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:05:41 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:05:41 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:05:41 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:05:41 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:05:41 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:05:41 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:05:41 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:05:41 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:05:41 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:05:41 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:05:41 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:05:41 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:41 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:05:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:05:41 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:41 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:05:41 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:41 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:41 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:41 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:05:41 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:41 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:41 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:41 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:41 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:41 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:05:41 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:05:41 UTC] 📊 Database Info:
[18-Nov-2025 13:05:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:05:41 UTC]    Books columns count: 53
[18-Nov-2025 13:05:41 UTC]    Categories columns count: 7
[18-Nov-2025 13:05:41 UTC]    Language field in books: YES
[18-Nov-2025 13:05:41 UTC]    Format field in books: YES
[18-Nov-2025 13:05:41 UTC]    Description field in categories: YES
[18-Nov-2025 13:05:41 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:05:41 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:05:41 UTC]    Is_active field in books: YES
[18-Nov-2025 13:05:41 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:05:41 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:05:41 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:05:41 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:05:41 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:05:41 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:05:41 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:05:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:05:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:05:41 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:05:41 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:05:41 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:05:41 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:05:41 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:05:41 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:05:41 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:05:41 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:05:41 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:05:41 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:05:41 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:05:41 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:05:41 UTC] 📊 Database Info:
[18-Nov-2025 13:05:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:05:41 UTC]    Books columns count: 53
[18-Nov-2025 13:05:41 UTC]    Categories columns count: 7
[18-Nov-2025 13:05:41 UTC]    Language field in books: YES
[18-Nov-2025 13:05:41 UTC]    Format field in books: YES
[18-Nov-2025 13:05:41 UTC]    Description field in categories: YES
[18-Nov-2025 13:05:41 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:05:41 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:05:41 UTC]    Is_active field in books: YES
[18-Nov-2025 13:05:41 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:05:41 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:05:41 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:05:41 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:05:41 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:05:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:05:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:05:41 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:05:41 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:09:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:09:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:09:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:09:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:09:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:09:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:09:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:09:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:09:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:09:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:09:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:09:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:09:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:09:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:09:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:09:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:09:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:09:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:09:35 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:09:35 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:09:35 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:09:35 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:09:35 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:09:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:09:35 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:09:35 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:09:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:35 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:09:35 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:09:35 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:09:35 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:09:35 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:09:35 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:09:35 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:09:35 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:09:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:35 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:09:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:35 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:09:35 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:09:35 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:09:35 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:09:35 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:09:35 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:09:35 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:09:35 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:09:35 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:09:35 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:09:35 UTC] 📊 Database Info:
[18-Nov-2025 13:09:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:09:35 UTC]    Books columns count: 53
[18-Nov-2025 13:09:35 UTC]    Categories columns count: 7
[18-Nov-2025 13:09:35 UTC]    Language field in books: YES
[18-Nov-2025 13:09:35 UTC]    Format field in books: YES
[18-Nov-2025 13:09:35 UTC]    Description field in categories: YES
[18-Nov-2025 13:09:35 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:09:35 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:09:35 UTC]    Is_active field in books: YES
[18-Nov-2025 13:09:35 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:09:35 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:09:35 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:09:35 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:09:35 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:09:35 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:09:35 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:09:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:09:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:09:35 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:09:35 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:09:35 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:09:35 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:09:35 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:09:35 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:09:35 UTC] 📊 Database Info:
[18-Nov-2025 13:09:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:09:35 UTC]    Books columns count: 53
[18-Nov-2025 13:09:35 UTC]    Categories columns count: 7
[18-Nov-2025 13:09:35 UTC]    Language field in books: YES
[18-Nov-2025 13:09:35 UTC]    Format field in books: YES
[18-Nov-2025 13:09:35 UTC]    Description field in categories: YES
[18-Nov-2025 13:09:35 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:09:35 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:09:35 UTC]    Is_active field in books: YES
[18-Nov-2025 13:09:35 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:09:35 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:09:35 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:09:35 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:09:35 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:09:35 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:09:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:09:35 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:09:35 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:09:35 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:09:35 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:09:35 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:09:35 UTC] 📊 Database Info:
[18-Nov-2025 13:09:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:09:35 UTC]    Books columns count: 53
[18-Nov-2025 13:09:35 UTC]    Categories columns count: 7
[18-Nov-2025 13:09:35 UTC]    Language field in books: YES
[18-Nov-2025 13:09:35 UTC]    Format field in books: YES
[18-Nov-2025 13:09:35 UTC]    Description field in categories: YES
[18-Nov-2025 13:09:35 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:09:35 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:09:35 UTC]    Is_active field in books: YES
[18-Nov-2025 13:09:35 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:09:35 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:09:35 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:09:35 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:09:35 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:09:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:09:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:09:39 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:09:39 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:09:39 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:09:39 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:09:39 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:09:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:39 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:09:39 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:09:39 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:09:39 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:09:39 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:09:39 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:09:39 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:09:39 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:09:39 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:09:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:39 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:09:39 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:09:39 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:09:39 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:09:39 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:09:39 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:09:39 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:09:39 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:09:39 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:09:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:09:39 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:09:39 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:09:39 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:09:39 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:09:39 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:09:39 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:09:39 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:09:39 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:09:39 UTC] 📊 Database Info:
[18-Nov-2025 13:09:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:09:39 UTC]    Books columns count: 53
[18-Nov-2025 13:09:39 UTC]    Categories columns count: 7
[18-Nov-2025 13:09:39 UTC]    Language field in books: YES
[18-Nov-2025 13:09:39 UTC]    Format field in books: YES
[18-Nov-2025 13:09:39 UTC]    Description field in categories: YES
[18-Nov-2025 13:09:39 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:09:39 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:09:39 UTC]    Is_active field in books: YES
[18-Nov-2025 13:09:39 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:09:39 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:09:39 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:09:39 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:09:39 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:09:39 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:09:39 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:09:39 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:09:39 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:09:39 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:09:39 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:09:39 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:09:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:09:39 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:09:39 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:09:39 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:09:39 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:09:39 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:09:39 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:09:39 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:09:39 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:09:39 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:09:39 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:09:39 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:09:39 UTC] 📊 Database Info:
[18-Nov-2025 13:09:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:09:39 UTC]    Books columns count: 53
[18-Nov-2025 13:09:39 UTC]    Categories columns count: 7
[18-Nov-2025 13:09:39 UTC]    Language field in books: YES
[18-Nov-2025 13:09:39 UTC]    Format field in books: YES
[18-Nov-2025 13:09:39 UTC]    Description field in categories: YES
[18-Nov-2025 13:09:39 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:09:39 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:09:39 UTC]    Is_active field in books: YES
[18-Nov-2025 13:09:39 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:09:39 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:09:39 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:09:39 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:09:39 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:09:39 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:09:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:09:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:09:39 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:09:39 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:09:39 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:09:39 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:09:39 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:09:39 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:09:39 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:09:39 UTC] 📊 Database Info:
[18-Nov-2025 13:09:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:09:39 UTC]    Books columns count: 53
[18-Nov-2025 13:09:39 UTC]    Categories columns count: 7
[18-Nov-2025 13:09:39 UTC]    Language field in books: YES
[18-Nov-2025 13:09:39 UTC]    Format field in books: YES
[18-Nov-2025 13:09:39 UTC]    Description field in categories: YES
[18-Nov-2025 13:09:39 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:09:39 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:09:39 UTC]    Is_active field in books: YES
[18-Nov-2025 13:09:39 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:09:39 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:09:39 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:09:39 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:09:39 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:09:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:09:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:09:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:09:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:09:43 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:09:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:09:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:43 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:09:43 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:09:43 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:09:43 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:09:43 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:09:43 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:09:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:43 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:09:43 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:09:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:09:43 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:09:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:09:43 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:09:43 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:09:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:09:43 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:09:43 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:09:43 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:09:43 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:09:43 UTC] 📊 Database Info:
[18-Nov-2025 13:09:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:09:43 UTC]    Books columns count: 53
[18-Nov-2025 13:09:43 UTC]    Categories columns count: 7
[18-Nov-2025 13:09:43 UTC]    Language field in books: YES
[18-Nov-2025 13:09:43 UTC]    Format field in books: YES
[18-Nov-2025 13:09:43 UTC]    Description field in categories: YES
[18-Nov-2025 13:09:43 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:09:43 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:09:43 UTC]    Is_active field in books: YES
[18-Nov-2025 13:09:43 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:09:43 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:09:43 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:09:43 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:09:43 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:09:43 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:09:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:09:43 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:09:43 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:09:43 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:09:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:09:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:09:43 UTC] 📊 Database Info:
[18-Nov-2025 13:09:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:09:43 UTC]    Books columns count: 53
[18-Nov-2025 13:09:43 UTC]    Categories columns count: 7
[18-Nov-2025 13:09:43 UTC]    Language field in books: YES
[18-Nov-2025 13:09:43 UTC]    Format field in books: YES
[18-Nov-2025 13:09:43 UTC]    Description field in categories: YES
[18-Nov-2025 13:09:43 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:09:43 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:09:43 UTC]    Is_active field in books: YES
[18-Nov-2025 13:09:43 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:09:43 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:09:43 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:09:43 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:09:43 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:09:43 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:09:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:09:43 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:09:43 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:09:43 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:09:43 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:09:43 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:09:43 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:09:43 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:09:43 UTC] 📊 Database Info:
[18-Nov-2025 13:09:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:09:43 UTC]    Books columns count: 53
[18-Nov-2025 13:09:43 UTC]    Categories columns count: 7
[18-Nov-2025 13:09:43 UTC]    Language field in books: YES
[18-Nov-2025 13:09:43 UTC]    Format field in books: YES
[18-Nov-2025 13:09:43 UTC]    Description field in categories: YES
[18-Nov-2025 13:09:43 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:09:43 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:09:43 UTC]    Is_active field in books: YES
[18-Nov-2025 13:09:43 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:09:43 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:09:43 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:09:43 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:09:43 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:09:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:09:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:09:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:09:43 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:09:43 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:18:25 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:18:25 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:18:25 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:18:25 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:18:25 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:18:25 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:18:25 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:18:25 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:18:25 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:18:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:18:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:18:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:18:25 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:18:25 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:18:25 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:18:25 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:18:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:18:25 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:18:25 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:18:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:18:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:18:25 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:18:25 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:18:25 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:18:25 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:18:25 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:18:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:18:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:18:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:18:25 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:18:25 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:18:25 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:18:25 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:18:25 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:18:25 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:18:25 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:18:25 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:18:25 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:18:25 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:18:25 UTC] 📊 Database Info:
[18-Nov-2025 13:18:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:18:25 UTC]    Books columns count: 53
[18-Nov-2025 13:18:25 UTC]    Categories columns count: 7
[18-Nov-2025 13:18:25 UTC]    Language field in books: YES
[18-Nov-2025 13:18:25 UTC]    Format field in books: YES
[18-Nov-2025 13:18:25 UTC]    Description field in categories: YES
[18-Nov-2025 13:18:25 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:18:25 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:18:25 UTC]    Is_active field in books: YES
[18-Nov-2025 13:18:25 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:18:25 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:18:25 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:18:25 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:18:25 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:18:25 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:18:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:18:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:18:25 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:18:25 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:18:25 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:18:25 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:18:25 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:18:25 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:18:25 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:18:25 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:18:25 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:18:25 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:18:25 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:18:25 UTC] 📊 Database Info:
[18-Nov-2025 13:18:25 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:18:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:18:25 UTC] 📊 Database Info:
[18-Nov-2025 13:18:25 UTC]    Books columns count: 53
[18-Nov-2025 13:18:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:18:25 UTC]    Categories columns count: 7
[18-Nov-2025 13:18:25 UTC]    Books columns count: 53
[18-Nov-2025 13:18:25 UTC]    Language field in books: YES
[18-Nov-2025 13:18:25 UTC]    Categories columns count: 7
[18-Nov-2025 13:18:25 UTC]    Format field in books: YES
[18-Nov-2025 13:18:25 UTC]    Description field in categories: YES
[18-Nov-2025 13:18:25 UTC]    Language field in books: YES
[18-Nov-2025 13:18:25 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:18:25 UTC]    Format field in books: YES
[18-Nov-2025 13:18:25 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:18:25 UTC]    Description field in categories: YES
[18-Nov-2025 13:18:25 UTC]    Is_active field in books: YES
[18-Nov-2025 13:18:25 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:18:25 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:18:25 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:18:25 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:18:25 UTC]    Is_active field in books: YES
[18-Nov-2025 13:18:25 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:18:25 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:18:25 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:18:25 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:18:25 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:18:25 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:18:25 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:18:25 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:18:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:18:25 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:18:25 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:18:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:18:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:18:28 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:18:28 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:18:28 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:18:28 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:18:28 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:18:28 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:18:28 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:18:28 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:18:28 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:18:28 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:18:28 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:18:28 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:18:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:18:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:18:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:18:28 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:18:28 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:18:28 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:18:28 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:18:28 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:18:28 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:18:28 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:18:28 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:18:28 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:18:28 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:18:28 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:18:28 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:18:28 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:18:28 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:18:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:18:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:18:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:18:28 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:18:28 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:18:28 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:18:28 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:18:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:18:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:18:28 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:18:28 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:18:28 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:18:28 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:18:28 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:18:28 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:18:28 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:18:28 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:18:28 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:18:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:18:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:18:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:18:28 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:18:28 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:18:28 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:18:28 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:18:28 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:18:28 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:18:29 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:18:29 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:18:29 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:18:29 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:18:29 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:18:29 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:18:29 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:18:29 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:18:29 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:18:29 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:18:29 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:18:29 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:18:29 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:18:29 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:18:29 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:18:29 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:18:29 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:18:29 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:18:29 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:18:29 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:18:29 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:18:29 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:18:29 UTC] 📊 Database Info:
[18-Nov-2025 13:18:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:18:29 UTC]    Books columns count: 53
[18-Nov-2025 13:18:29 UTC]    Categories columns count: 7
[18-Nov-2025 13:18:29 UTC]    Language field in books: YES
[18-Nov-2025 13:18:29 UTC]    Format field in books: YES
[18-Nov-2025 13:18:29 UTC]    Description field in categories: YES
[18-Nov-2025 13:18:29 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:18:29 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:18:29 UTC]    Is_active field in books: YES
[18-Nov-2025 13:18:29 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:18:29 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:18:29 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:18:29 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:18:29 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:18:29 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:18:29 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:18:29 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:18:29 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:18:29 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:18:29 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:18:29 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:18:29 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:18:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:18:29 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:18:29 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:18:29 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:18:29 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:18:29 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:18:29 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:18:29 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:18:29 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:18:29 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:18:29 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:18:29 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:18:29 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:18:29 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:18:29 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:18:29 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:18:29 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:18:29 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:18:29 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:18:29 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:18:29 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:18:29 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:18:29 UTC] 📊 Database Info:
[18-Nov-2025 13:18:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:18:29 UTC]    Books columns count: 53
[18-Nov-2025 13:18:29 UTC]    Categories columns count: 7
[18-Nov-2025 13:18:29 UTC]    Language field in books: YES
[18-Nov-2025 13:18:29 UTC]    Format field in books: YES
[18-Nov-2025 13:18:29 UTC]    Description field in categories: YES
[18-Nov-2025 13:18:29 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:18:29 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:18:29 UTC]    Is_active field in books: YES
[18-Nov-2025 13:18:29 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:18:29 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:18:29 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:18:29 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:18:29 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:18:29 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:18:29 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:18:29 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:18:29 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:18:29 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:18:29 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:18:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:18:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:18:29 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:18:29 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:18:29 UTC] 📊 Database Info:
[18-Nov-2025 13:18:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:18:29 UTC]    Books columns count: 53
[18-Nov-2025 13:18:29 UTC]    Categories columns count: 7
[18-Nov-2025 13:18:29 UTC]    Language field in books: YES
[18-Nov-2025 13:18:29 UTC]    Format field in books: YES
[18-Nov-2025 13:18:29 UTC]    Description field in categories: YES
[18-Nov-2025 13:18:29 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:18:29 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:18:29 UTC]    Is_active field in books: YES
[18-Nov-2025 13:18:29 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:18:29 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:18:29 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:18:29 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:18:29 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:18:29 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:18:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:18:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:19:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:19:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:19:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:19:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:19:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:19:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:19:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:19:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:19:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:19:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:19:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:19:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:19:34 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:19:34 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:19:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:19:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:19:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:19:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:19:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:19:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:19:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:19:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:19:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:19:34 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:19:34 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:19:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:19:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:19:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:19:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:19:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:19:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:19:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:19:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:19:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:19:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:19:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:19:34 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:19:34 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:19:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:19:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:19:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:19:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:19:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:19:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:19:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:19:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:19:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:19:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:19:34 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:19:34 UTC] 📊 Database Info:
[18-Nov-2025 13:19:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:19:34 UTC]    Books columns count: 53
[18-Nov-2025 13:19:34 UTC]    Categories columns count: 7
[18-Nov-2025 13:19:34 UTC]    Language field in books: YES
[18-Nov-2025 13:19:34 UTC]    Format field in books: YES
[18-Nov-2025 13:19:34 UTC]    Description field in categories: YES
[18-Nov-2025 13:19:34 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:19:34 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:19:34 UTC]    Is_active field in books: YES
[18-Nov-2025 13:19:35 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:19:35 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:19:35 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:19:35 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:19:35 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:19:35 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:19:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:19:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:19:35 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:19:35 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:19:35 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:19:35 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:19:35 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:19:35 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:19:35 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:19:35 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:19:35 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:19:35 UTC] 📊 Database Info:
[18-Nov-2025 13:19:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:19:35 UTC]    Books columns count: 53
[18-Nov-2025 13:19:35 UTC]    Categories columns count: 7
[18-Nov-2025 13:19:35 UTC]    Language field in books: YES
[18-Nov-2025 13:19:35 UTC]    Format field in books: YES
[18-Nov-2025 13:19:35 UTC]    Description field in categories: YES
[18-Nov-2025 13:19:35 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:19:35 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:19:35 UTC]    Is_active field in books: YES
[18-Nov-2025 13:19:35 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:19:35 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:19:35 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:19:35 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:19:35 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:19:35 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:19:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:19:35 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:19:35 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:19:35 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:19:35 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:19:35 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:19:35 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:19:35 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:19:35 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:19:35 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:19:35 UTC] 📊 Database Info:
[18-Nov-2025 13:19:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:19:35 UTC]    Books columns count: 53
[18-Nov-2025 13:19:35 UTC]    Categories columns count: 7
[18-Nov-2025 13:19:35 UTC]    Language field in books: YES
[18-Nov-2025 13:19:35 UTC]    Format field in books: YES
[18-Nov-2025 13:19:35 UTC]    Description field in categories: YES
[18-Nov-2025 13:19:35 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:19:35 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:19:35 UTC]    Is_active field in books: YES
[18-Nov-2025 13:19:35 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:19:35 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:19:35 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:19:35 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:19:35 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:19:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:19:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:22:18 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:18 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:18 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:18 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:18 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:18 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:22:18 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:18 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:18 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:18 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:18 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:18 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:18 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:18 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:22:18 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:18 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:18 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:18 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:22:18 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:22:18 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:18 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:18 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:18 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:18 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:18 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:18 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:22:18 UTC] 📊 Database Info:
[18-Nov-2025 13:22:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:22:18 UTC]    Books columns count: 53
[18-Nov-2025 13:22:18 UTC]    Categories columns count: 7
[18-Nov-2025 13:22:18 UTC]    Language field in books: YES
[18-Nov-2025 13:22:18 UTC]    Format field in books: YES
[18-Nov-2025 13:22:18 UTC]    Description field in categories: YES
[18-Nov-2025 13:22:18 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:22:18 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:22:18 UTC]    Is_active field in books: YES
[18-Nov-2025 13:22:18 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:22:18 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:22:18 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:22:18 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:22:18 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:18 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:22:18 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:22:18 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:18 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:22:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:22:18 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:22:18 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:18 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:18 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:18 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:18 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:22:18 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:18 UTC] 📊 Database Info:
[18-Nov-2025 13:22:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:22:18 UTC]    Books columns count: 53
[18-Nov-2025 13:22:18 UTC]    Categories columns count: 7
[18-Nov-2025 13:22:18 UTC]    Language field in books: YES
[18-Nov-2025 13:22:18 UTC]    Format field in books: YES
[18-Nov-2025 13:22:18 UTC]    Description field in categories: YES
[18-Nov-2025 13:22:18 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:22:18 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:22:18 UTC]    Is_active field in books: YES
[18-Nov-2025 13:22:18 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:22:18 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:22:18 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:22:18 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:22:18 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:22:18 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:22:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:22:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:22:18 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:18 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:22:18 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:18 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:18 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:18 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:22:18 UTC] 📊 Database Info:
[18-Nov-2025 13:22:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:22:18 UTC]    Books columns count: 53
[18-Nov-2025 13:22:18 UTC]    Categories columns count: 7
[18-Nov-2025 13:22:18 UTC]    Language field in books: YES
[18-Nov-2025 13:22:18 UTC]    Format field in books: YES
[18-Nov-2025 13:22:18 UTC]    Description field in categories: YES
[18-Nov-2025 13:22:18 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:22:18 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:22:18 UTC]    Is_active field in books: YES
[18-Nov-2025 13:22:18 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:22:18 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:22:18 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:22:18 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:22:18 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:22:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:22:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:22:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:20 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:22:20 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:22:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:20 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:22:20 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:22:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:21 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:22:21 UTC] 📊 Database Info:
[18-Nov-2025 13:22:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:22:21 UTC]    Books columns count: 53
[18-Nov-2025 13:22:21 UTC]    Categories columns count: 7
[18-Nov-2025 13:22:21 UTC]    Language field in books: YES
[18-Nov-2025 13:22:21 UTC]    Format field in books: YES
[18-Nov-2025 13:22:21 UTC]    Description field in categories: YES
[18-Nov-2025 13:22:21 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:22:21 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:22:21 UTC]    Is_active field in books: YES
[18-Nov-2025 13:22:21 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:22:21 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:22:21 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:22:21 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:22:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:21 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:22:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:22:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:22:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:22:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:22:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:22:21 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:22:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:21 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:22:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:21 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:22:21 UTC] 📊 Database Info:
[18-Nov-2025 13:22:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:22:21 UTC]    Books columns count: 53
[18-Nov-2025 13:22:21 UTC]    Categories columns count: 7
[18-Nov-2025 13:22:21 UTC]    Language field in books: YES
[18-Nov-2025 13:22:21 UTC]    Format field in books: YES
[18-Nov-2025 13:22:21 UTC]    Description field in categories: YES
[18-Nov-2025 13:22:21 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:22:21 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:22:21 UTC]    Is_active field in books: YES
[18-Nov-2025 13:22:21 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:22:21 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:22:21 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:22:21 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:22:21 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:22:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:22:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:22:21 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:22:21 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:22:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:24 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:24 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:24 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:24 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:24 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:24 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:24 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:24 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:24 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:24 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:24 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:24 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:22:24 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:22:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:24 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:24 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:24 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:24 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:24 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:24 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:24 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:24 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:24 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:24 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:24 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:24 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:24 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:22:24 UTC] 📊 Database Info:
[18-Nov-2025 13:22:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:22:24 UTC]    Books columns count: 53
[18-Nov-2025 13:22:24 UTC]    Categories columns count: 7
[18-Nov-2025 13:22:24 UTC]    Language field in books: YES
[18-Nov-2025 13:22:24 UTC]    Format field in books: YES
[18-Nov-2025 13:22:24 UTC]    Description field in categories: YES
[18-Nov-2025 13:22:24 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:22:24 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:22:24 UTC]    Is_active field in books: YES
[18-Nov-2025 13:22:24 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:22:24 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:22:24 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:22:24 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:22:24 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:22:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:22:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:22:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:22:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:22:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:22:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:22:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:22:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:22:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:22:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:22:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:22:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:22:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:22:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:26 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:22:26 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:26 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:22:26 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:22:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:26 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:22:26 UTC] 📊 Database Info:
[18-Nov-2025 13:22:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:22:26 UTC]    Books columns count: 53
[18-Nov-2025 13:22:26 UTC]    Categories columns count: 7
[18-Nov-2025 13:22:26 UTC]    Language field in books: YES
[18-Nov-2025 13:22:26 UTC]    Format field in books: YES
[18-Nov-2025 13:22:26 UTC]    Description field in categories: YES
[18-Nov-2025 13:22:26 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:22:26 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:22:26 UTC]    Is_active field in books: YES
[18-Nov-2025 13:22:26 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:22:26 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:22:26 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:22:26 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:22:26 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:22:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:22:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:22:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:22:26 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:22:26 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:22:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:26 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:22:26 UTC] 📊 Database Info:
[18-Nov-2025 13:22:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:22:26 UTC]    Books columns count: 53
[18-Nov-2025 13:22:26 UTC]    Categories columns count: 7
[18-Nov-2025 13:22:26 UTC]    Language field in books: YES
[18-Nov-2025 13:22:26 UTC]    Format field in books: YES
[18-Nov-2025 13:22:26 UTC]    Description field in categories: YES
[18-Nov-2025 13:22:26 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:22:26 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:22:26 UTC]    Is_active field in books: YES
[18-Nov-2025 13:22:26 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:22:26 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:22:26 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:22:26 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:22:26 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:22:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:22:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:22:26 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:22:26 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:22:30 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:30 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:30 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:30 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:30 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:30 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:30 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:30 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:30 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:30 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:30 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:30 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:30 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:22:30 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:22:30 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:30 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:30 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:30 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:30 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:30 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:30 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:30 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:30 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:30 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:30 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:30 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:30 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:30 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:22:30 UTC] 📊 Database Info:
[18-Nov-2025 13:22:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:22:30 UTC]    Books columns count: 53
[18-Nov-2025 13:22:30 UTC]    Categories columns count: 7
[18-Nov-2025 13:22:30 UTC]    Language field in books: YES
[18-Nov-2025 13:22:30 UTC]    Format field in books: YES
[18-Nov-2025 13:22:30 UTC]    Description field in categories: YES
[18-Nov-2025 13:22:30 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:22:30 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:22:30 UTC]    Is_active field in books: YES
[18-Nov-2025 13:22:30 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:22:30 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:22:30 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:22:30 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:22:30 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:22:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:22:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:22:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:22:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:22:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:22:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:22:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:22:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:22:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:22:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:22:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:22:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:22:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:22:58 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:59 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:22:59 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:59 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:22:59 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:22:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:22:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:59 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:22:59 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:22:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:22:59 UTC] 📊 Database Info:
[18-Nov-2025 13:22:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:22:59 UTC]    Books columns count: 53
[18-Nov-2025 13:22:59 UTC]    Categories columns count: 7
[18-Nov-2025 13:22:59 UTC]    Language field in books: YES
[18-Nov-2025 13:22:59 UTC]    Format field in books: YES
[18-Nov-2025 13:22:59 UTC]    Description field in categories: YES
[18-Nov-2025 13:22:59 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:22:59 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:22:59 UTC]    Is_active field in books: YES
[18-Nov-2025 13:22:59 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:22:59 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:22:59 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:22:59 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:22:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:22:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:22:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:22:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:22:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:22:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:22:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:22:59 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:22:59 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:22:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:22:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:22:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:22:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:22:59 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:22:59 UTC] 📊 Database Info:
[18-Nov-2025 13:22:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:22:59 UTC]    Books columns count: 53
[18-Nov-2025 13:22:59 UTC]    Categories columns count: 7
[18-Nov-2025 13:22:59 UTC]    Language field in books: YES
[18-Nov-2025 13:22:59 UTC]    Format field in books: YES
[18-Nov-2025 13:22:59 UTC]    Description field in categories: YES
[18-Nov-2025 13:22:59 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:22:59 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:22:59 UTC]    Is_active field in books: YES
[18-Nov-2025 13:22:59 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:22:59 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:22:59 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:22:59 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:22:59 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:22:59 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:22:59 UTC] 📊 Database Info:
[18-Nov-2025 13:22:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:22:59 UTC]    Books columns count: 53
[18-Nov-2025 13:22:59 UTC]    Categories columns count: 7
[18-Nov-2025 13:22:59 UTC]    Language field in books: YES
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:22:59 UTC]    Format field in books: YES
[18-Nov-2025 13:22:59 UTC]    Description field in categories: YES
[18-Nov-2025 13:22:59 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:22:59 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:22:59 UTC]    Is_active field in books: YES
[18-Nov-2025 13:22:59 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:22:59 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:22:59 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:22:59 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:22:59 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:22:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:22:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:22:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:22:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:22:59 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:22:59 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:23:02 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:23:02 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:23:02 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:23:02 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:23:02 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:23:02 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:23:02 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:23:02 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:23:02 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:23:02 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:23:02 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:23:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:23:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:23:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:23:02 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:23:02 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:23:02 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:23:02 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:23:02 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:23:02 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:23:02 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:23:02 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:23:02 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:23:02 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:23:02 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:23:02 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:23:02 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:23:02 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:23:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:23:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:23:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:23:02 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:23:02 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:23:02 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:23:02 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:23:02 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:23:02 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:23:02 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:23:02 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:23:02 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:23:02 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:23:02 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:23:02 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:23:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:23:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:23:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:23:02 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:23:02 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:23:02 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:23:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:23:02 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:23:03 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:23:03 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:23:03 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:23:03 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:23:03 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:23:03 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:23:03 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:23:03 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:23:03 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:23:03 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:23:03 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:23:03 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:23:03 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:23:03 UTC] 📊 Database Info:
[18-Nov-2025 13:23:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:23:03 UTC]    Books columns count: 53
[18-Nov-2025 13:23:03 UTC]    Categories columns count: 7
[18-Nov-2025 13:23:03 UTC]    Language field in books: YES
[18-Nov-2025 13:23:03 UTC]    Format field in books: YES
[18-Nov-2025 13:23:03 UTC]    Description field in categories: YES
[18-Nov-2025 13:23:03 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:23:03 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:23:03 UTC]    Is_active field in books: YES
[18-Nov-2025 13:23:03 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:23:03 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:23:03 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:23:03 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:23:03 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:23:03 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:23:03 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:23:03 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:23:03 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:23:03 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:23:03 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:23:03 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:23:03 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:23:03 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:23:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:23:03 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:23:03 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:23:03 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:23:03 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:23:03 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:23:03 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:23:03 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:23:03 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:23:03 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:23:03 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:23:03 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:23:03 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:23:03 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:23:03 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:23:03 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:23:03 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:23:03 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:23:03 UTC] 📊 Database Info:
[18-Nov-2025 13:23:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:23:03 UTC]    Books columns count: 53
[18-Nov-2025 13:23:03 UTC]    Categories columns count: 7
[18-Nov-2025 13:23:03 UTC]    Language field in books: YES
[18-Nov-2025 13:23:03 UTC]    Format field in books: YES
[18-Nov-2025 13:23:03 UTC]    Description field in categories: YES
[18-Nov-2025 13:23:03 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:23:03 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:23:03 UTC]    Is_active field in books: YES
[18-Nov-2025 13:23:03 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:23:03 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:23:03 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:23:03 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:23:03 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:23:03 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:23:03 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:23:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:23:03 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:23:03 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:23:03 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:23:03 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:23:03 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:23:03 UTC] 📊 Database Info:
[18-Nov-2025 13:23:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:23:03 UTC]    Books columns count: 53
[18-Nov-2025 13:23:03 UTC]    Categories columns count: 7
[18-Nov-2025 13:23:03 UTC]    Language field in books: YES
[18-Nov-2025 13:23:03 UTC]    Format field in books: YES
[18-Nov-2025 13:23:03 UTC]    Description field in categories: YES
[18-Nov-2025 13:23:03 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:23:03 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:23:03 UTC]    Is_active field in books: YES
[18-Nov-2025 13:23:03 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:23:03 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:23:03 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:23:03 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:23:03 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:23:03 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:23:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:23:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:23:03 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:23:03 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:25:05 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:05 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:05 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:05 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:05 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:05 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:05 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:05 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:05 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:05 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:05 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:05 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:05 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:05 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:05 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:05 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:05 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:06 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:07 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:07 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:07 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:07 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:07 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:07 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:07 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:07 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:07 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:07 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:07 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:07 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:07 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:07 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:07 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:07 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:07 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:07 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:07 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:25:07 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:25:07 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:07 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:07 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:07 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:07 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:07 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:25:07 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:25:07 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:07 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:07 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:07 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:07 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:08 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:08 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:08 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:08 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:25:08 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:08 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:08 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:08 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:08 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:08 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:25:08 UTC] 📊 Database Info:
[18-Nov-2025 13:25:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:25:08 UTC]    Books columns count: 53
[18-Nov-2025 13:25:08 UTC]    Categories columns count: 7
[18-Nov-2025 13:25:08 UTC]    Language field in books: YES
[18-Nov-2025 13:25:08 UTC]    Format field in books: YES
[18-Nov-2025 13:25:08 UTC]    Description field in categories: YES
[18-Nov-2025 13:25:08 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:25:08 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:25:08 UTC]    Is_active field in books: YES
[18-Nov-2025 13:25:08 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:25:08 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:25:08 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:25:08 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:25:08 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:25:08 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:25:08 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:25:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:25:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:25:08 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:08 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:08 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:08 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:08 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:08 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:08 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:25:08 UTC] 📊 Database Info:
[18-Nov-2025 13:25:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:25:08 UTC]    Books columns count: 53
[18-Nov-2025 13:25:08 UTC]    Categories columns count: 7
[18-Nov-2025 13:25:08 UTC]    Language field in books: YES
[18-Nov-2025 13:25:08 UTC]    Format field in books: YES
[18-Nov-2025 13:25:08 UTC]    Description field in categories: YES
[18-Nov-2025 13:25:08 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:25:08 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:25:08 UTC]    Is_active field in books: YES
[18-Nov-2025 13:25:08 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:25:08 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:25:08 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:25:08 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:25:08 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:25:08 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:08 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:25:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:25:08 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:25:08 UTC] 📊 Database Info:
[18-Nov-2025 13:25:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:25:08 UTC]    Books columns count: 53
[18-Nov-2025 13:25:08 UTC]    Categories columns count: 7
[18-Nov-2025 13:25:08 UTC]    Language field in books: YES
[18-Nov-2025 13:25:08 UTC]    Format field in books: YES
[18-Nov-2025 13:25:08 UTC]    Description field in categories: YES
[18-Nov-2025 13:25:08 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:25:08 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:25:08 UTC]    Is_active field in books: YES
[18-Nov-2025 13:25:08 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:25:08 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:25:08 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:25:08 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:25:08 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:25:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:25:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:25:08 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:25:08 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:25:08 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:09 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:09 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:09 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:09 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:09 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:09 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:09 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:09 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:09 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:25:09 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:25:09 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:09 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:09 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:09 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:09 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:25:09 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:25:09 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:09 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:09 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:09 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:09 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:09 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:09 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:09 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:09 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:09 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:09 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:09 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:25:09 UTC] 📊 Database Info:
[18-Nov-2025 13:25:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:25:09 UTC]    Books columns count: 53
[18-Nov-2025 13:25:09 UTC]    Categories columns count: 7
[18-Nov-2025 13:25:09 UTC]    Language field in books: YES
[18-Nov-2025 13:25:09 UTC]    Format field in books: YES
[18-Nov-2025 13:25:09 UTC]    Description field in categories: YES
[18-Nov-2025 13:25:09 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:25:09 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:25:09 UTC]    Is_active field in books: YES
[18-Nov-2025 13:25:09 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:25:09 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:25:09 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:25:09 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:09 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:25:09 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:25:09 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:09 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:25:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:25:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:25:09 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:25:09 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:25:09 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:25:09 UTC] 📊 Database Info:
[18-Nov-2025 13:25:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:25:09 UTC]    Books columns count: 53
[18-Nov-2025 13:25:09 UTC]    Categories columns count: 7
[18-Nov-2025 13:25:09 UTC]    Language field in books: YES
[18-Nov-2025 13:25:09 UTC]    Format field in books: YES
[18-Nov-2025 13:25:09 UTC]    Description field in categories: YES
[18-Nov-2025 13:25:09 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:25:09 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:25:09 UTC]    Is_active field in books: YES
[18-Nov-2025 13:25:09 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:25:09 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:25:09 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:25:09 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:25:09 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:25:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:25:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:25:09 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:25:09 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:25:35 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:35 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:35 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:35 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:35 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:35 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:35 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:35 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:25:35 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:25:35 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:35 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:35 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:35 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:35 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:35 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:35 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:35 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:35 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:35 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:25:35 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:25:35 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:35 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:35 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:35 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:35 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:35 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:35 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:25:35 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:25:35 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:35 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:35 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:35 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:35 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:35 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:35 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:35 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:35 UTC] 📊 Database Info:
[18-Nov-2025 13:25:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:25:35 UTC]    Books columns count: 53
[18-Nov-2025 13:25:35 UTC]    Categories columns count: 7
[18-Nov-2025 13:25:35 UTC]    Language field in books: YES
[18-Nov-2025 13:25:35 UTC]    Format field in books: YES
[18-Nov-2025 13:25:35 UTC]    Description field in categories: YES
[18-Nov-2025 13:25:35 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:25:35 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:25:35 UTC]    Is_active field in books: YES
[18-Nov-2025 13:25:35 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:25:35 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:25:35 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:25:35 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:25:35 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:25:35 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:25:35 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:25:35 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:25:35 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:25:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:25:35 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:25:35 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:25:35 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:35 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:35 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:35 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:35 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:35 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:35 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:25:35 UTC] 📊 Database Info:
[18-Nov-2025 13:25:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:25:35 UTC]    Books columns count: 53
[18-Nov-2025 13:25:35 UTC]    Categories columns count: 7
[18-Nov-2025 13:25:35 UTC]    Language field in books: YES
[18-Nov-2025 13:25:35 UTC]    Format field in books: YES
[18-Nov-2025 13:25:35 UTC]    Description field in categories: YES
[18-Nov-2025 13:25:35 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:25:35 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:25:35 UTC]    Is_active field in books: YES
[18-Nov-2025 13:25:35 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:25:35 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:25:35 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:25:35 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:25:35 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:25:35 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:25:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:25:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:35 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:35 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:35 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:35 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:35 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:35 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:25:35 UTC] 📊 Database Info:
[18-Nov-2025 13:25:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:25:35 UTC]    Books columns count: 53
[18-Nov-2025 13:25:35 UTC]    Categories columns count: 7
[18-Nov-2025 13:25:35 UTC]    Language field in books: YES
[18-Nov-2025 13:25:35 UTC]    Format field in books: YES
[18-Nov-2025 13:25:35 UTC]    Description field in categories: YES
[18-Nov-2025 13:25:35 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:25:35 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:25:35 UTC]    Is_active field in books: YES
[18-Nov-2025 13:25:35 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:25:35 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:25:35 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:25:35 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:25:35 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:25:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:25:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:25:39 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:39 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:39 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:39 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:39 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:39 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:39 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:25:39 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:39 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:39 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:39 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:39 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:39 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:39 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:39 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:39 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:25:39 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:39 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:39 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:39 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:25:39 UTC] 📊 Database Info:
[18-Nov-2025 13:25:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:25:39 UTC]    Books columns count: 53
[18-Nov-2025 13:25:39 UTC]    Categories columns count: 7
[18-Nov-2025 13:25:39 UTC]    Language field in books: YES
[18-Nov-2025 13:25:39 UTC]    Format field in books: YES
[18-Nov-2025 13:25:39 UTC]    Description field in categories: YES
[18-Nov-2025 13:25:39 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:25:39 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:25:39 UTC]    Is_active field in books: YES
[18-Nov-2025 13:25:39 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:25:39 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:25:39 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:25:39 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:25:39 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:25:39 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:25:39 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:25:39 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:25:39 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:25:39 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:25:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:25:39 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:25:39 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:25:39 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:39 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:39 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:39 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:39 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:39 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:39 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:39 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:39 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:25:39 UTC] 📊 Database Info:
[18-Nov-2025 13:25:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:25:39 UTC]    Books columns count: 53
[18-Nov-2025 13:25:39 UTC]    Categories columns count: 7
[18-Nov-2025 13:25:39 UTC]    Language field in books: YES
[18-Nov-2025 13:25:39 UTC]    Format field in books: YES
[18-Nov-2025 13:25:39 UTC]    Description field in categories: YES
[18-Nov-2025 13:25:39 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:25:39 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:25:39 UTC]    Is_active field in books: YES
[18-Nov-2025 13:25:39 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:25:39 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:25:39 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:25:39 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:25:39 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:25:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:25:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:25:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:25:39 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:25:39 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:25:41 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:41 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:41 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:41 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:41 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:41 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:41 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:41 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:41 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:41 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:41 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:41 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:25:41 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:25:41 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:25:41 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:25:41 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:25:41 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:25:41 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:25:41 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:25:41 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:25:41 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:25:41 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:25:41 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:25:41 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:25:41 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:25:41 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:25:41 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:25:41 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:25:41 UTC] 📊 Database Info:
[18-Nov-2025 13:25:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:25:41 UTC]    Books columns count: 53
[18-Nov-2025 13:25:41 UTC]    Categories columns count: 7
[18-Nov-2025 13:25:41 UTC]    Language field in books: YES
[18-Nov-2025 13:25:41 UTC]    Format field in books: YES
[18-Nov-2025 13:25:41 UTC]    Description field in categories: YES
[18-Nov-2025 13:25:41 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:25:41 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:25:41 UTC]    Is_active field in books: YES
[18-Nov-2025 13:25:41 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:25:41 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:25:41 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:25:41 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:25:41 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:25:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:25:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:25:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:25:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:25:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:25:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:25:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:25:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:25:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:25:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:25:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:25:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:25:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:26:14 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:14 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:14 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:14 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:14 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:14 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:26:14 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:26:14 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:14 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:14 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:14 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:14 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:14 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:14 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:26:14 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:26:14 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:14 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:14 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:14 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:14 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:26:14 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:26:14 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:14 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:14 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:14 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:26:14 UTC] 📊 Database Info:
[18-Nov-2025 13:26:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:26:14 UTC]    Books columns count: 53
[18-Nov-2025 13:26:14 UTC]    Categories columns count: 7
[18-Nov-2025 13:26:14 UTC]    Language field in books: YES
[18-Nov-2025 13:26:14 UTC]    Format field in books: YES
[18-Nov-2025 13:26:14 UTC]    Description field in categories: YES
[18-Nov-2025 13:26:14 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:26:14 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:26:14 UTC]    Is_active field in books: YES
[18-Nov-2025 13:26:14 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:26:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:14 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:26:14 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:26:14 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:26:14 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:26:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:26:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:26:14 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:26:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:26:14 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:26:14 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:26:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:26:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:26:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:26:14 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:14 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:14 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:14 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:26:14 UTC] 📊 Database Info:
[18-Nov-2025 13:26:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:26:14 UTC]    Books columns count: 53
[18-Nov-2025 13:26:14 UTC]    Categories columns count: 7
[18-Nov-2025 13:26:14 UTC]    Language field in books: YES
[18-Nov-2025 13:26:14 UTC]    Format field in books: YES
[18-Nov-2025 13:26:14 UTC]    Description field in categories: YES
[18-Nov-2025 13:26:14 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:26:14 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:14 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:26:14 UTC]    Is_active field in books: YES
[18-Nov-2025 13:26:14 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:26:14 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:26:14 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:26:14 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:26:14 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:26:14 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:26:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:26:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:26:14 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:26:14 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:26:14 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:14 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:14 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:14 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:14 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:14 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:14 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:14 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:26:14 UTC] 📊 Database Info:
[18-Nov-2025 13:26:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:26:14 UTC]    Books columns count: 53
[18-Nov-2025 13:26:14 UTC]    Categories columns count: 7
[18-Nov-2025 13:26:14 UTC]    Language field in books: YES
[18-Nov-2025 13:26:14 UTC]    Format field in books: YES
[18-Nov-2025 13:26:14 UTC]    Description field in categories: YES
[18-Nov-2025 13:26:14 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:26:14 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:26:14 UTC]    Is_active field in books: YES
[18-Nov-2025 13:26:14 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:26:14 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:26:14 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:26:14 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:26:14 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:26:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:26:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:26:14 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:26:14 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:26:19 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:19 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:19 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:19 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:19 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:19 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:19 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:26:19 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:19 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:19 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:19 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:19 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:19 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:19 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:19 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:26:19 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:26:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:19 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:19 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:19 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:19 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:19 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:19 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:26:19 UTC] 📊 Database Info:
[18-Nov-2025 13:26:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:26:19 UTC]    Books columns count: 53
[18-Nov-2025 13:26:19 UTC]    Categories columns count: 7
[18-Nov-2025 13:26:19 UTC]    Language field in books: YES
[18-Nov-2025 13:26:19 UTC]    Format field in books: YES
[18-Nov-2025 13:26:19 UTC]    Description field in categories: YES
[18-Nov-2025 13:26:19 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:26:19 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:26:19 UTC]    Is_active field in books: YES
[18-Nov-2025 13:26:19 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:26:19 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:26:19 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:26:19 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:26:19 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:19 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:26:19 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:26:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:26:19 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:26:19 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:26:19 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:19 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:19 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:19 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:19 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:19 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:26:19 UTC] 📊 Database Info:
[18-Nov-2025 13:26:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:26:19 UTC]    Books columns count: 53
[18-Nov-2025 13:26:19 UTC]    Categories columns count: 7
[18-Nov-2025 13:26:19 UTC]    Language field in books: YES
[18-Nov-2025 13:26:19 UTC]    Format field in books: YES
[18-Nov-2025 13:26:19 UTC]    Description field in categories: YES
[18-Nov-2025 13:26:19 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:26:19 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:26:19 UTC]    Is_active field in books: YES
[18-Nov-2025 13:26:19 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:26:19 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:26:19 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:26:19 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:26:19 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:26:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:26:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:26:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:26:19 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:26:19 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:26:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:20 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:26:20 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:26:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:20 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:26:20 UTC] 📊 Database Info:
[18-Nov-2025 13:26:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:26:20 UTC]    Books columns count: 53
[18-Nov-2025 13:26:20 UTC]    Categories columns count: 7
[18-Nov-2025 13:26:20 UTC]    Language field in books: YES
[18-Nov-2025 13:26:20 UTC]    Format field in books: YES
[18-Nov-2025 13:26:20 UTC]    Description field in categories: YES
[18-Nov-2025 13:26:20 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:26:20 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:26:20 UTC]    Is_active field in books: YES
[18-Nov-2025 13:26:20 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:26:20 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:26:20 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:26:20 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:26:20 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:26:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:26:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:26:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:26:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:26:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:26:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:26:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:26:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:26:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:26:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:26:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:26:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:26:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:26:22 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:22 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:22 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:22 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:26:22 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:22 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:22 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:26:22 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:26:22 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:22 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:26:22 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:26:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:22 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:22 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:22 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:26:22 UTC] 📊 Database Info:
[18-Nov-2025 13:26:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:26:22 UTC]    Books columns count: 53
[18-Nov-2025 13:26:22 UTC]    Categories columns count: 7
[18-Nov-2025 13:26:22 UTC]    Language field in books: YES
[18-Nov-2025 13:26:22 UTC]    Format field in books: YES
[18-Nov-2025 13:26:22 UTC]    Description field in categories: YES
[18-Nov-2025 13:26:22 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:26:22 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:26:22 UTC]    Is_active field in books: YES
[18-Nov-2025 13:26:22 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:26:22 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:26:22 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:26:22 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:26:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:26:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:22 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:26:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:26:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:22 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:26:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:26:22 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:26:22 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:26:22 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:26:22 UTC] 📊 Database Info:
[18-Nov-2025 13:26:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:26:22 UTC]    Books columns count: 53
[18-Nov-2025 13:26:22 UTC]    Categories columns count: 7
[18-Nov-2025 13:26:22 UTC]    Language field in books: YES
[18-Nov-2025 13:26:22 UTC]    Format field in books: YES
[18-Nov-2025 13:26:22 UTC]    Description field in categories: YES
[18-Nov-2025 13:26:22 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:26:22 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:26:22 UTC]    Is_active field in books: YES
[18-Nov-2025 13:26:22 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:26:22 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:26:22 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:26:22 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:26:22 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:26:22 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:26:22 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:26:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:26:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:26:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:26:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:26:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:26:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:26:22 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:22 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:22 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:26:22 UTC] 📊 Database Info:
[18-Nov-2025 13:26:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:26:22 UTC]    Books columns count: 53
[18-Nov-2025 13:26:22 UTC]    Categories columns count: 7
[18-Nov-2025 13:26:22 UTC]    Language field in books: YES
[18-Nov-2025 13:26:22 UTC]    Format field in books: YES
[18-Nov-2025 13:26:22 UTC]    Description field in categories: YES
[18-Nov-2025 13:26:22 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:26:22 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:26:22 UTC]    Is_active field in books: YES
[18-Nov-2025 13:26:22 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:26:22 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:26:22 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:26:22 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:26:22 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:26:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:26:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:26:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:53 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:26:53 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:53 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:26:53 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:53 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:26:53 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:26:53 UTC] 📊 Database Info:
[18-Nov-2025 13:26:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:26:53 UTC]    Books columns count: 53
[18-Nov-2025 13:26:53 UTC]    Categories columns count: 7
[18-Nov-2025 13:26:53 UTC]    Language field in books: YES
[18-Nov-2025 13:26:53 UTC]    Format field in books: YES
[18-Nov-2025 13:26:53 UTC]    Description field in categories: YES
[18-Nov-2025 13:26:53 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:26:53 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:26:53 UTC]    Is_active field in books: YES
[18-Nov-2025 13:26:53 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:26:53 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:26:53 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:26:53 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:26:53 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:26:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:26:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:26:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:26:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:26:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:26:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:26:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:53 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:26:53 UTC] 📊 Database Info:
[18-Nov-2025 13:26:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:26:53 UTC]    Books columns count: 53
[18-Nov-2025 13:26:53 UTC]    Categories columns count: 7
[18-Nov-2025 13:26:53 UTC]    Language field in books: YES
[18-Nov-2025 13:26:53 UTC]    Format field in books: YES
[18-Nov-2025 13:26:53 UTC]    Description field in categories: YES
[18-Nov-2025 13:26:53 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:26:53 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:26:53 UTC]    Is_active field in books: YES
[18-Nov-2025 13:26:53 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:26:53 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:26:53 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:26:53 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:26:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:53 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:26:53 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:26:53 UTC] 📊 Database Info:
[18-Nov-2025 13:26:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:26:53 UTC]    Books columns count: 53
[18-Nov-2025 13:26:53 UTC]    Categories columns count: 7
[18-Nov-2025 13:26:53 UTC]    Language field in books: YES
[18-Nov-2025 13:26:53 UTC]    Format field in books: YES
[18-Nov-2025 13:26:53 UTC]    Description field in categories: YES
[18-Nov-2025 13:26:53 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:26:53 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:26:53 UTC]    Is_active field in books: YES
[18-Nov-2025 13:26:53 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:26:53 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:26:53 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:26:53 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:26:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:26:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:26:53 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:26:53 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:26:53 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:26:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:26:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:26:53 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:26:53 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:26:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:56 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:26:56 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:56 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:26:56 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:26:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:56 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:26:56 UTC] 📊 Database Info:
[18-Nov-2025 13:26:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:26:56 UTC]    Books columns count: 53
[18-Nov-2025 13:26:56 UTC]    Categories columns count: 7
[18-Nov-2025 13:26:56 UTC]    Language field in books: YES
[18-Nov-2025 13:26:56 UTC]    Format field in books: YES
[18-Nov-2025 13:26:56 UTC]    Description field in categories: YES
[18-Nov-2025 13:26:56 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:26:56 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:26:56 UTC]    Is_active field in books: YES
[18-Nov-2025 13:26:56 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:26:56 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:26:56 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:26:56 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:26:56 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:26:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:26:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:56 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:26:56 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:56 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:26:56 UTC] 📊 Database Info:
[18-Nov-2025 13:26:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:26:56 UTC]    Books columns count: 53
[18-Nov-2025 13:26:56 UTC]    Categories columns count: 7
[18-Nov-2025 13:26:56 UTC]    Language field in books: YES
[18-Nov-2025 13:26:56 UTC]    Format field in books: YES
[18-Nov-2025 13:26:56 UTC]    Description field in categories: YES
[18-Nov-2025 13:26:56 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:26:56 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:26:56 UTC]    Is_active field in books: YES
[18-Nov-2025 13:26:56 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:26:56 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:26:56 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:26:56 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:26:56 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:26:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:26:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:26:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:26:56 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:26:56 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:26:58 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:58 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:58 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:58 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:58 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:58 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:58 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:26:58 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:58 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:58 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:58 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:58 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:58 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:26:58 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:26:58 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:58 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:58 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:58 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:58 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:58 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:58 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:58 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:26:58 UTC] 📊 Database Info:
[18-Nov-2025 13:26:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:26:58 UTC]    Books columns count: 53
[18-Nov-2025 13:26:58 UTC]    Categories columns count: 7
[18-Nov-2025 13:26:58 UTC]    Language field in books: YES
[18-Nov-2025 13:26:58 UTC]    Format field in books: YES
[18-Nov-2025 13:26:58 UTC]    Description field in categories: YES
[18-Nov-2025 13:26:58 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:26:58 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:26:58 UTC]    Is_active field in books: YES
[18-Nov-2025 13:26:58 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:26:58 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:26:58 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:26:58 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:26:58 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:58 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:26:58 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:26:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:26:58 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:58 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:26:58 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:58 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:58 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:26:58 UTC] 📊 Database Info:
[18-Nov-2025 13:26:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:26:58 UTC]    Books columns count: 53
[18-Nov-2025 13:26:58 UTC]    Categories columns count: 7
[18-Nov-2025 13:26:58 UTC]    Language field in books: YES
[18-Nov-2025 13:26:58 UTC]    Format field in books: YES
[18-Nov-2025 13:26:58 UTC]    Description field in categories: YES
[18-Nov-2025 13:26:58 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:26:58 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:26:58 UTC]    Is_active field in books: YES
[18-Nov-2025 13:26:58 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:26:58 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:26:58 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:26:58 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:26:58 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:26:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:26:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:26:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:26:58 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:26:58 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:26:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:59 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:26:59 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:26:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:26:59 UTC] 📊 Database Info:
[18-Nov-2025 13:26:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:26:59 UTC]    Books columns count: 53
[18-Nov-2025 13:26:59 UTC]    Categories columns count: 7
[18-Nov-2025 13:26:59 UTC]    Language field in books: YES
[18-Nov-2025 13:26:59 UTC]    Format field in books: YES
[18-Nov-2025 13:26:59 UTC]    Description field in categories: YES
[18-Nov-2025 13:26:59 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:26:59 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:26:59 UTC]    Is_active field in books: YES
[18-Nov-2025 13:26:59 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:26:59 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:26:59 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:26:59 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:26:59 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:26:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:26:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:26:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:26:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:26:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:26:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:26:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:26:59 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:26:59 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:26:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:26:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:26:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:26:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:26:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:26:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:26:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:26:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:26:59 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:26:59 UTC] 📊 Database Info:
[18-Nov-2025 13:26:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:26:59 UTC]    Books columns count: 53
[18-Nov-2025 13:26:59 UTC]    Categories columns count: 7
[18-Nov-2025 13:26:59 UTC]    Language field in books: YES
[18-Nov-2025 13:26:59 UTC]    Format field in books: YES
[18-Nov-2025 13:26:59 UTC]    Description field in categories: YES
[18-Nov-2025 13:26:59 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:26:59 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:26:59 UTC]    Is_active field in books: YES
[18-Nov-2025 13:26:59 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:26:59 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:26:59 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:26:59 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:26:59 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:26:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:26:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:27:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:27:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:27:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:27:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:27:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:27:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:27:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:27:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:27:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:27:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:27:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:27:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:27:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:27:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:27:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:27:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:27:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:27:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:27:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:27:00 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:27:00 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:27:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:27:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:27:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:27:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:27:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:27:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:00 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:27:00 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:27:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:27:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:27:01 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:27:01 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:27:01 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:27:01 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:27:01 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:27:01 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:27:01 UTC] 📊 Database Info:
[18-Nov-2025 13:27:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:27:01 UTC]    Books columns count: 53
[18-Nov-2025 13:27:01 UTC]    Categories columns count: 7
[18-Nov-2025 13:27:01 UTC]    Language field in books: YES
[18-Nov-2025 13:27:01 UTC]    Format field in books: YES
[18-Nov-2025 13:27:01 UTC]    Description field in categories: YES
[18-Nov-2025 13:27:01 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:27:01 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:27:01 UTC]    Is_active field in books: YES
[18-Nov-2025 13:27:01 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:27:01 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:27:01 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:27:01 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:27:01 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:27:01 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:27:01 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:27:01 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:27:01 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:27:01 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:27:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:27:01 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:27:01 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:27:01 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:27:01 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:27:01 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:27:01 UTC] 📊 Database Info:
[18-Nov-2025 13:27:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:27:01 UTC]    Books columns count: 53
[18-Nov-2025 13:27:01 UTC]    Categories columns count: 7
[18-Nov-2025 13:27:01 UTC]    Language field in books: YES
[18-Nov-2025 13:27:01 UTC]    Format field in books: YES
[18-Nov-2025 13:27:01 UTC]    Description field in categories: YES
[18-Nov-2025 13:27:01 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:27:01 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:27:01 UTC]    Is_active field in books: YES
[18-Nov-2025 13:27:01 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:27:01 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:27:01 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:27:01 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:27:01 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:27:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:27:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:27:01 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:27:01 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:27:01 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:27:01 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:27:01 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:27:01 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:27:01 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:27:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:01 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:27:01 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:27:01 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:27:01 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:27:01 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:27:01 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:27:01 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:27:01 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:27:01 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:27:01 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:27:01 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:27:01 UTC] 📊 Database Info:
[18-Nov-2025 13:27:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:27:01 UTC]    Books columns count: 53
[18-Nov-2025 13:27:01 UTC]    Categories columns count: 7
[18-Nov-2025 13:27:01 UTC]    Language field in books: YES
[18-Nov-2025 13:27:01 UTC]    Format field in books: YES
[18-Nov-2025 13:27:01 UTC]    Description field in categories: YES
[18-Nov-2025 13:27:01 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:27:01 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:27:01 UTC]    Is_active field in books: YES
[18-Nov-2025 13:27:01 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:27:01 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:27:01 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:27:01 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:27:01 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:27:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:27:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:27:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:27:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:27:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:27:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:27:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:27:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:53 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:27:53 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:27:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:27:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:27:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:27:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:27:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:27:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:27:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:27:53 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:27:53 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:27:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:27:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:27:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:27:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:53 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:27:53 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:27:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:27:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:27:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:27:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:27:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:27:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:27:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:27:53 UTC] 📊 Database Info:
[18-Nov-2025 13:27:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:27:53 UTC]    Books columns count: 53
[18-Nov-2025 13:27:53 UTC]    Categories columns count: 7
[18-Nov-2025 13:27:53 UTC]    Language field in books: YES
[18-Nov-2025 13:27:53 UTC]    Format field in books: YES
[18-Nov-2025 13:27:53 UTC]    Description field in categories: YES
[18-Nov-2025 13:27:53 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:27:53 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:27:53 UTC]    Is_active field in books: YES
[18-Nov-2025 13:27:53 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:27:53 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:27:53 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:27:53 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:27:53 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:27:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:27:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:27:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:27:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:27:53 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:27:53 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:27:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:27:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:27:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:27:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:27:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:27:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:27:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:27:53 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:27:53 UTC] 📊 Database Info:
[18-Nov-2025 13:27:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:27:53 UTC]    Books columns count: 53
[18-Nov-2025 13:27:53 UTC]    Categories columns count: 7
[18-Nov-2025 13:27:53 UTC]    Language field in books: YES
[18-Nov-2025 13:27:53 UTC]    Format field in books: YES
[18-Nov-2025 13:27:53 UTC]    Description field in categories: YES
[18-Nov-2025 13:27:53 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:27:53 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:27:53 UTC]    Is_active field in books: YES
[18-Nov-2025 13:27:53 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:27:53 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:27:53 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:27:53 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:27:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:27:53 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:27:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:27:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:27:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:27:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:27:53 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:27:53 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:27:53 UTC] 📊 Database Info:
[18-Nov-2025 13:27:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:27:53 UTC]    Books columns count: 53
[18-Nov-2025 13:27:53 UTC]    Categories columns count: 7
[18-Nov-2025 13:27:53 UTC]    Language field in books: YES
[18-Nov-2025 13:27:53 UTC]    Format field in books: YES
[18-Nov-2025 13:27:53 UTC]    Description field in categories: YES
[18-Nov-2025 13:27:53 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:27:53 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:27:53 UTC]    Is_active field in books: YES
[18-Nov-2025 13:27:53 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:27:53 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:27:53 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:27:53 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:27:53 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:27:53 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:27:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:27:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:27:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:27:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:27:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:27:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:27:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:27:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:27:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:27:56 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:27:56 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:27:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:27:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:27:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:56 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:27:56 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:27:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:27:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:27:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:27:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:27:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:27:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:27:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:27:56 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:27:56 UTC] 📊 Database Info:
[18-Nov-2025 13:27:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:27:56 UTC]    Books columns count: 53
[18-Nov-2025 13:27:56 UTC]    Categories columns count: 7
[18-Nov-2025 13:27:56 UTC]    Language field in books: YES
[18-Nov-2025 13:27:56 UTC]    Format field in books: YES
[18-Nov-2025 13:27:56 UTC]    Description field in categories: YES
[18-Nov-2025 13:27:56 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:27:56 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:27:56 UTC]    Is_active field in books: YES
[18-Nov-2025 13:27:56 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:27:56 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:27:56 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:27:56 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:27:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:27:56 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:27:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:27:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:27:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:27:56 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:27:56 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:27:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:27:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:27:56 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:27:56 UTC] 📊 Database Info:
[18-Nov-2025 13:27:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:27:56 UTC]    Books columns count: 53
[18-Nov-2025 13:27:56 UTC]    Categories columns count: 7
[18-Nov-2025 13:27:56 UTC]    Language field in books: YES
[18-Nov-2025 13:27:56 UTC]    Format field in books: YES
[18-Nov-2025 13:27:56 UTC]    Description field in categories: YES
[18-Nov-2025 13:27:56 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:27:56 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:27:56 UTC]    Is_active field in books: YES
[18-Nov-2025 13:27:56 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:27:56 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:27:56 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:27:56 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:27:56 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:27:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:27:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:27:56 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:27:56 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:27:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:27:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:27:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:27:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:27:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:27:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:27:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:27:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:27:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:27:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:27:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:27:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:27:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:27:59 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:27:59 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:27:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:27:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:27:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:27:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:27:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:27:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:27:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:27:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:27:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:27:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:27:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:27:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:27:59 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:27:59 UTC] 📊 Database Info:
[18-Nov-2025 13:27:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:27:59 UTC]    Books columns count: 53
[18-Nov-2025 13:27:59 UTC]    Categories columns count: 7
[18-Nov-2025 13:27:59 UTC]    Language field in books: YES
[18-Nov-2025 13:27:59 UTC]    Format field in books: YES
[18-Nov-2025 13:27:59 UTC]    Description field in categories: YES
[18-Nov-2025 13:27:59 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:27:59 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:27:59 UTC]    Is_active field in books: YES
[18-Nov-2025 13:27:59 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:27:59 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:27:59 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:27:59 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:27:59 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:27:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:27:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:27:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:27:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:27:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:27:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:27:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:27:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:27:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:27:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:27:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:27:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:27:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:27:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:27:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:28:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:28:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:28:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:28:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:28:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:28:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:28:00 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:28:00 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:28:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:28:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:28:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:28:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:28:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:28:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:28:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:28:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:28:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:28:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:28:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:28:00 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:28:00 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:28:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:28:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:28:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:28:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:28:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:28:00 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:28:00 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:28:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:28:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:28:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:28:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:28:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:28:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:28:00 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:28:00 UTC] 📊 Database Info:
[18-Nov-2025 13:28:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:28:00 UTC]    Books columns count: 53
[18-Nov-2025 13:28:00 UTC]    Categories columns count: 7
[18-Nov-2025 13:28:00 UTC]    Language field in books: YES
[18-Nov-2025 13:28:00 UTC]    Format field in books: YES
[18-Nov-2025 13:28:00 UTC]    Description field in categories: YES
[18-Nov-2025 13:28:00 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:28:00 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:28:00 UTC]    Is_active field in books: YES
[18-Nov-2025 13:28:00 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:28:00 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:28:00 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:28:00 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:28:00 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:28:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:28:00 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:28:00 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:28:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:28:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:28:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:28:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:28:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:28:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:28:00 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:28:00 UTC] 📊 Database Info:
[18-Nov-2025 13:28:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:28:00 UTC]    Books columns count: 53
[18-Nov-2025 13:28:00 UTC]    Categories columns count: 7
[18-Nov-2025 13:28:00 UTC]    Language field in books: YES
[18-Nov-2025 13:28:00 UTC]    Format field in books: YES
[18-Nov-2025 13:28:00 UTC]    Description field in categories: YES
[18-Nov-2025 13:28:00 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:28:00 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:28:00 UTC]    Is_active field in books: YES
[18-Nov-2025 13:28:00 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:28:00 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:28:00 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:28:00 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:28:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:28:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:28:00 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:28:00 UTC] 📊 Database Info:
[18-Nov-2025 13:28:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:28:00 UTC]    Books columns count: 53
[18-Nov-2025 13:28:00 UTC]    Categories columns count: 7
[18-Nov-2025 13:28:00 UTC]    Language field in books: YES
[18-Nov-2025 13:28:00 UTC]    Format field in books: YES
[18-Nov-2025 13:28:00 UTC]    Description field in categories: YES
[18-Nov-2025 13:28:00 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:28:00 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:28:00 UTC]    Is_active field in books: YES
[18-Nov-2025 13:28:00 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:28:00 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:28:00 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:28:00 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:28:00 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:28:00 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:28:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:28:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:28:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:28:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:28:00 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:28:00 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:28:08 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:28:08 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:28:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:28:08 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:28:08 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:28:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:28:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:28:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:28:08 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:28:08 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:28:08 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:28:08 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:28:08 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:28:08 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:28:08 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:28:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:28:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:28:08 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:28:08 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:28:08 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:28:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:28:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:28:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:28:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:28:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:28:08 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:28:08 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:28:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:28:08 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:28:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:28:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:28:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:28:08 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:28:08 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:28:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:28:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:28:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:28:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:28:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:28:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:28:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:28:08 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:28:08 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:28:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:28:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:28:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:28:08 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:28:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:28:08 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:28:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:28:08 UTC] 📊 Database Info:
[18-Nov-2025 13:28:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:28:08 UTC]    Books columns count: 53
[18-Nov-2025 13:28:08 UTC]    Categories columns count: 7
[18-Nov-2025 13:28:08 UTC]    Language field in books: YES
[18-Nov-2025 13:28:08 UTC]    Format field in books: YES
[18-Nov-2025 13:28:08 UTC]    Description field in categories: YES
[18-Nov-2025 13:28:08 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:28:08 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:28:08 UTC]    Is_active field in books: YES
[18-Nov-2025 13:28:08 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:28:08 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:28:08 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:28:08 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:28:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:28:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:28:08 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:28:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:28:08 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:28:08 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:28:08 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:28:08 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:28:08 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:28:08 UTC] 📊 Database Info:
[18-Nov-2025 13:28:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:28:08 UTC]    Books columns count: 53
[18-Nov-2025 13:28:08 UTC]    Categories columns count: 7
[18-Nov-2025 13:28:08 UTC]    Language field in books: YES
[18-Nov-2025 13:28:08 UTC]    Format field in books: YES
[18-Nov-2025 13:28:08 UTC]    Description field in categories: YES
[18-Nov-2025 13:28:08 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:28:08 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:28:08 UTC]    Is_active field in books: YES
[18-Nov-2025 13:28:08 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:28:08 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:28:08 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:28:08 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:28:08 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:28:08 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:28:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:28:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:28:08 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:28:08 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:28:08 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:28:08 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:28:08 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:28:08 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:28:08 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:28:08 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:28:08 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:28:08 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:28:08 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:28:08 UTC] 📊 Database Info:
[18-Nov-2025 13:28:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:28:08 UTC]    Books columns count: 53
[18-Nov-2025 13:28:08 UTC]    Categories columns count: 7
[18-Nov-2025 13:28:08 UTC]    Language field in books: YES
[18-Nov-2025 13:28:08 UTC]    Format field in books: YES
[18-Nov-2025 13:28:08 UTC]    Description field in categories: YES
[18-Nov-2025 13:28:08 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:28:08 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:28:08 UTC]    Is_active field in books: YES
[18-Nov-2025 13:28:08 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:28:08 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:28:08 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:28:08 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:28:08 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:28:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:28:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:28:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:28:08 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:28:08 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:30:32 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:30:32 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:30:32 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:30:32 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:30:32 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:30:32 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:30:32 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:30:32 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:30:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:30:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:30:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:30:32 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:30:32 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:30:32 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:30:32 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:30:32 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:30:32 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:30:32 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:30:32 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:30:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:30:32 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:30:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:30:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:30:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:30:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:30:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:30:32 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:30:32 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:30:32 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:30:32 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:30:32 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:30:32 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:30:32 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:30:32 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:30:32 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:30:32 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:30:32 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:30:32 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:30:32 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:30:32 UTC] 📊 Database Info:
[18-Nov-2025 13:30:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:30:32 UTC]    Books columns count: 53
[18-Nov-2025 13:30:32 UTC]    Categories columns count: 7
[18-Nov-2025 13:30:32 UTC]    Language field in books: YES
[18-Nov-2025 13:30:32 UTC]    Format field in books: YES
[18-Nov-2025 13:30:32 UTC]    Description field in categories: YES
[18-Nov-2025 13:30:32 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:30:32 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:30:32 UTC]    Is_active field in books: YES
[18-Nov-2025 13:30:32 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:30:32 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:30:32 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:30:32 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:30:32 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:30:32 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:30:32 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:30:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:30:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:30:32 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:30:32 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:30:32 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:30:32 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:30:32 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:30:32 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:30:32 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:30:32 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:30:32 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:30:32 UTC] 📊 Database Info:
[18-Nov-2025 13:30:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:30:32 UTC]    Books columns count: 53
[18-Nov-2025 13:30:32 UTC]    Categories columns count: 7
[18-Nov-2025 13:30:32 UTC]    Language field in books: YES
[18-Nov-2025 13:30:32 UTC]    Format field in books: YES
[18-Nov-2025 13:30:32 UTC]    Description field in categories: YES
[18-Nov-2025 13:30:32 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:30:32 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:30:32 UTC]    Is_active field in books: YES
[18-Nov-2025 13:30:32 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:30:32 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:30:32 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:30:32 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:30:32 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:30:32 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:30:32 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:30:32 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:30:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:30:32 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:30:32 UTC] 📊 Database Info:
[18-Nov-2025 13:30:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:30:32 UTC]    Books columns count: 53
[18-Nov-2025 13:30:32 UTC]    Categories columns count: 7
[18-Nov-2025 13:30:32 UTC]    Language field in books: YES
[18-Nov-2025 13:30:32 UTC]    Format field in books: YES
[18-Nov-2025 13:30:32 UTC]    Description field in categories: YES
[18-Nov-2025 13:30:32 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:30:32 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:30:32 UTC]    Is_active field in books: YES
[18-Nov-2025 13:30:32 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:30:32 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:30:32 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:30:32 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:30:32 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:30:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:30:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:30:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:30:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:30:32 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:30:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:30:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:30:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:30:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:30:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:30:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:30:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:30:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:30:34 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:30:34 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:30:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:30:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:30:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:30:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:30:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:30:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:30:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:30:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:30:34 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:30:34 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:30:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:30:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:30:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:30:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:30:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:30:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:30:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:30:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:30:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:30:34 UTC] 📊 Database Info:
[18-Nov-2025 13:30:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:30:34 UTC]    Books columns count: 53
[18-Nov-2025 13:30:34 UTC]    Categories columns count: 7
[18-Nov-2025 13:30:34 UTC]    Language field in books: YES
[18-Nov-2025 13:30:34 UTC]    Format field in books: YES
[18-Nov-2025 13:30:34 UTC]    Description field in categories: YES
[18-Nov-2025 13:30:34 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:30:34 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:30:34 UTC]    Is_active field in books: YES
[18-Nov-2025 13:30:34 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:30:34 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:30:34 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:30:34 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:30:34 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:30:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:30:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:30:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:30:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:30:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:30:34 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:30:34 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:30:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:30:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:30:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:30:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:30:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:30:34 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:30:34 UTC] 📊 Database Info:
[18-Nov-2025 13:30:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:30:34 UTC]    Books columns count: 53
[18-Nov-2025 13:30:34 UTC]    Categories columns count: 7
[18-Nov-2025 13:30:34 UTC]    Language field in books: YES
[18-Nov-2025 13:30:34 UTC]    Format field in books: YES
[18-Nov-2025 13:30:34 UTC]    Description field in categories: YES
[18-Nov-2025 13:30:34 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:30:34 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:30:34 UTC]    Is_active field in books: YES
[18-Nov-2025 13:30:34 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:30:34 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:30:34 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:30:34 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:30:34 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:30:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:30:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:30:34 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:30:34 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:32:23 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:32:23 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:32:23 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:32:23 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:32:23 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:32:23 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:32:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:32:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:32:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:32:23 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:32:23 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:32:23 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:32:23 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:32:23 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:32:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:32:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:32:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:32:23 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:32:23 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:32:23 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:32:23 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:32:23 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:32:23 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:32:23 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:32:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:32:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:32:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:32:23 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:32:23 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:32:23 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:32:23 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:32:23 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:32:23 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:32:23 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:32:23 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:32:23 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:32:23 UTC] 📊 Database Info:
[18-Nov-2025 13:32:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:32:23 UTC]    Books columns count: 53
[18-Nov-2025 13:32:23 UTC]    Categories columns count: 7
[18-Nov-2025 13:32:23 UTC]    Language field in books: YES
[18-Nov-2025 13:32:23 UTC]    Format field in books: YES
[18-Nov-2025 13:32:23 UTC]    Description field in categories: YES
[18-Nov-2025 13:32:23 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:32:23 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:32:23 UTC]    Is_active field in books: YES
[18-Nov-2025 13:32:23 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:32:23 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:32:23 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:32:23 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:32:23 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:32:23 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:32:23 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:32:23 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:32:23 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:32:23 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:32:23 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:32:23 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:32:23 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:32:23 UTC] 📊 Database Info:
[18-Nov-2025 13:32:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:32:23 UTC]    Books columns count: 53
[18-Nov-2025 13:32:23 UTC]    Categories columns count: 7
[18-Nov-2025 13:32:23 UTC]    Language field in books: YES
[18-Nov-2025 13:32:23 UTC]    Format field in books: YES
[18-Nov-2025 13:32:23 UTC]    Description field in categories: YES
[18-Nov-2025 13:32:23 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:32:23 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:32:23 UTC]    Is_active field in books: YES
[18-Nov-2025 13:32:23 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:32:23 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:32:23 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:32:23 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:32:23 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:32:23 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:32:23 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:32:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:32:23 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:32:23 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:32:23 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:32:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:32:23 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:32:23 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:32:23 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:32:23 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:32:23 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:32:23 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:32:23 UTC] 📊 Database Info:
[18-Nov-2025 13:32:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:32:23 UTC]    Books columns count: 53
[18-Nov-2025 13:32:23 UTC]    Categories columns count: 7
[18-Nov-2025 13:32:23 UTC]    Language field in books: YES
[18-Nov-2025 13:32:23 UTC]    Format field in books: YES
[18-Nov-2025 13:32:23 UTC]    Description field in categories: YES
[18-Nov-2025 13:32:23 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:32:23 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:32:23 UTC]    Is_active field in books: YES
[18-Nov-2025 13:32:23 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:32:23 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:32:23 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:32:23 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:32:23 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:32:23 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:32:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:32:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:32:23 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:32:23 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:33:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:33:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:33:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:33:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:33:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:33:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:33:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:33:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:33:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:33:12 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:33:12 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:33:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:33:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:33:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:33:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:33:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:33:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:33:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:33:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:33:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:33:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:33:12 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:33:12 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:33:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:33:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:33:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:33:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:33:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:33:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:33:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:33:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:33:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:33:12 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:33:12 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:33:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:33:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:33:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:33:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:33:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:33:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:33:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:33:12 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:33:12 UTC] 📊 Database Info:
[18-Nov-2025 13:33:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:33:12 UTC]    Books columns count: 53
[18-Nov-2025 13:33:12 UTC]    Categories columns count: 7
[18-Nov-2025 13:33:12 UTC]    Language field in books: YES
[18-Nov-2025 13:33:12 UTC]    Format field in books: YES
[18-Nov-2025 13:33:12 UTC]    Description field in categories: YES
[18-Nov-2025 13:33:12 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:33:12 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:33:12 UTC]    Is_active field in books: YES
[18-Nov-2025 13:33:12 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:33:12 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:33:12 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:33:12 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:33:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:33:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:33:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:33:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:33:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:33:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:33:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:33:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:33:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:33:12 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:33:12 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:33:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:33:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:33:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:33:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:33:12 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:33:12 UTC] 📊 Database Info:
[18-Nov-2025 13:33:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:33:12 UTC]    Books columns count: 53
[18-Nov-2025 13:33:12 UTC]    Categories columns count: 7
[18-Nov-2025 13:33:12 UTC]    Language field in books: YES
[18-Nov-2025 13:33:12 UTC]    Format field in books: YES
[18-Nov-2025 13:33:12 UTC]    Description field in categories: YES
[18-Nov-2025 13:33:12 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:33:12 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:33:12 UTC]    Is_active field in books: YES
[18-Nov-2025 13:33:12 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:33:12 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:33:12 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:33:12 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:33:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:33:12 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:33:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:33:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:33:12 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:33:12 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:33:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:33:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:33:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:33:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:33:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:33:12 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:33:12 UTC] 📊 Database Info:
[18-Nov-2025 13:33:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:33:12 UTC]    Books columns count: 53
[18-Nov-2025 13:33:12 UTC]    Categories columns count: 7
[18-Nov-2025 13:33:12 UTC]    Language field in books: YES
[18-Nov-2025 13:33:12 UTC]    Format field in books: YES
[18-Nov-2025 13:33:12 UTC]    Description field in categories: YES
[18-Nov-2025 13:33:12 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:33:12 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:33:12 UTC]    Is_active field in books: YES
[18-Nov-2025 13:33:12 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:33:12 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:33:12 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:33:12 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:33:12 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:33:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:33:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:34:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:34:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:34:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:34:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:34:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:34:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:34:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:34:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:34:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:34:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:34:20 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:34:20 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:34:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:34:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:34:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:34:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:34:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:34:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:34:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:34:20 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:34:20 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:34:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:34:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:34:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:34:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:34:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:34:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:34:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:34:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:34:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:34:20 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:34:20 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:34:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:34:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:34:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:34:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:34:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:34:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:34:20 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:34:20 UTC] 📊 Database Info:
[18-Nov-2025 13:34:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:34:20 UTC]    Books columns count: 53
[18-Nov-2025 13:34:20 UTC]    Categories columns count: 7
[18-Nov-2025 13:34:20 UTC]    Language field in books: YES
[18-Nov-2025 13:34:20 UTC]    Format field in books: YES
[18-Nov-2025 13:34:20 UTC]    Description field in categories: YES
[18-Nov-2025 13:34:20 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:34:20 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:34:20 UTC]    Is_active field in books: YES
[18-Nov-2025 13:34:20 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:34:20 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:34:20 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:34:20 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:34:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:34:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:34:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:34:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:34:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:34:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:34:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:34:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:34:20 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:34:20 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:34:20 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:34:20 UTC] 📊 Database Info:
[18-Nov-2025 13:34:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:34:20 UTC]    Books columns count: 53
[18-Nov-2025 13:34:20 UTC]    Categories columns count: 7
[18-Nov-2025 13:34:20 UTC]    Language field in books: YES
[18-Nov-2025 13:34:20 UTC]    Format field in books: YES
[18-Nov-2025 13:34:20 UTC]    Description field in categories: YES
[18-Nov-2025 13:34:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:34:20 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:34:20 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:34:20 UTC]    Is_active field in books: YES
[18-Nov-2025 13:34:20 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:34:20 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:34:20 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:34:20 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:34:20 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:34:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:34:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:34:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:34:20 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:34:20 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:34:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:34:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:34:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:34:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:34:20 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:34:20 UTC] 📊 Database Info:
[18-Nov-2025 13:34:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:34:20 UTC]    Books columns count: 53
[18-Nov-2025 13:34:20 UTC]    Categories columns count: 7
[18-Nov-2025 13:34:20 UTC]    Language field in books: YES
[18-Nov-2025 13:34:20 UTC]    Format field in books: YES
[18-Nov-2025 13:34:20 UTC]    Description field in categories: YES
[18-Nov-2025 13:34:20 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:34:20 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:34:20 UTC]    Is_active field in books: YES
[18-Nov-2025 13:34:20 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:34:20 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:34:20 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:34:20 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:34:20 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:34:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:34:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:36:37 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:36:37 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:36:38 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:36:38 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:36:38 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:36:38 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:36:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:36:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:36:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:36:38 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:36:38 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:36:38 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:36:38 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:36:38 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:36:38 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:36:38 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:36:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:36:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:36:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:36:38 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:36:38 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:36:38 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:36:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:36:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:36:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:36:38 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:36:38 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:36:38 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:36:38 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:36:38 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:36:38 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:36:38 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:36:38 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:36:38 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:36:38 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:36:38 UTC] 📊 Database Info:
[18-Nov-2025 13:36:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:36:38 UTC]    Books columns count: 53
[18-Nov-2025 13:36:38 UTC]    Categories columns count: 7
[18-Nov-2025 13:36:38 UTC]    Language field in books: YES
[18-Nov-2025 13:36:38 UTC]    Format field in books: YES
[18-Nov-2025 13:36:38 UTC]    Description field in categories: YES
[18-Nov-2025 13:36:38 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:36:38 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:36:38 UTC]    Is_active field in books: YES
[18-Nov-2025 13:36:38 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:36:38 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:36:38 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:36:38 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:36:38 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:36:38 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:36:38 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:36:38 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:36:38 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:36:38 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:36:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:36:38 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:36:38 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:36:38 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:36:38 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:36:38 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:36:38 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:36:38 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:36:38 UTC] 📊 Database Info:
[18-Nov-2025 13:36:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:36:38 UTC]    Books columns count: 53
[18-Nov-2025 13:36:38 UTC]    Categories columns count: 7
[18-Nov-2025 13:36:38 UTC]    Language field in books: YES
[18-Nov-2025 13:36:38 UTC]    Format field in books: YES
[18-Nov-2025 13:36:38 UTC]    Description field in categories: YES
[18-Nov-2025 13:36:38 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:36:38 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:36:38 UTC]    Is_active field in books: YES
[18-Nov-2025 13:36:38 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:36:38 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:36:38 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:36:38 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:36:38 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:36:38 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:36:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:36:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:36:38 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:36:38 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:36:38 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:36:38 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:36:38 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:36:38 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:36:38 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:36:38 UTC] 📊 Database Info:
[18-Nov-2025 13:36:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:36:38 UTC]    Books columns count: 53
[18-Nov-2025 13:36:38 UTC]    Categories columns count: 7
[18-Nov-2025 13:36:38 UTC]    Language field in books: YES
[18-Nov-2025 13:36:38 UTC]    Format field in books: YES
[18-Nov-2025 13:36:38 UTC]    Description field in categories: YES
[18-Nov-2025 13:36:38 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:36:38 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:36:38 UTC]    Is_active field in books: YES
[18-Nov-2025 13:36:38 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:36:38 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:36:38 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:36:38 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:36:38 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:36:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:36:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:37:28 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:37:28 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:37:28 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:37:28 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:37:28 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:37:28 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:37:28 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:37:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:37:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:37:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:37:28 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:37:28 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:37:28 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:37:28 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:37:28 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:37:28 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:37:28 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:37:28 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:37:28 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:37:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:37:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:37:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:37:28 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:37:28 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:37:28 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:37:28 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:37:28 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:37:28 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:37:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:37:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:37:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:37:28 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:37:28 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:37:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:37:28 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:37:28 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:37:28 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:37:28 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:37:28 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:37:29 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:37:29 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:37:29 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:37:29 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:37:29 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:37:29 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:37:29 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:37:29 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:37:29 UTC] 📊 Database Info:
[18-Nov-2025 13:37:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:37:29 UTC]    Books columns count: 53
[18-Nov-2025 13:37:29 UTC]    Categories columns count: 7
[18-Nov-2025 13:37:29 UTC]    Language field in books: YES
[18-Nov-2025 13:37:29 UTC]    Format field in books: YES
[18-Nov-2025 13:37:29 UTC]    Description field in categories: YES
[18-Nov-2025 13:37:29 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:37:29 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:37:29 UTC]    Is_active field in books: YES
[18-Nov-2025 13:37:29 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:37:29 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:37:29 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:37:29 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:37:29 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:37:29 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:37:29 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:37:29 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:37:29 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:37:29 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:37:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:37:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:37:29 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:37:29 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:37:29 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:37:29 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:37:29 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:37:29 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:37:29 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:37:29 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:37:29 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:37:29 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:37:29 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:37:29 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:37:29 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:37:29 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:37:29 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:37:29 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:37:29 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:37:29 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:37:29 UTC] 📊 Database Info:
[18-Nov-2025 13:37:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:37:29 UTC]    Books columns count: 53
[18-Nov-2025 13:37:29 UTC]    Categories columns count: 7
[18-Nov-2025 13:37:29 UTC]    Language field in books: YES
[18-Nov-2025 13:37:29 UTC]    Format field in books: YES
[18-Nov-2025 13:37:29 UTC]    Description field in categories: YES
[18-Nov-2025 13:37:29 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:37:29 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:37:29 UTC]    Is_active field in books: YES
[18-Nov-2025 13:37:29 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:37:29 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:37:29 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:37:29 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:37:29 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:37:29 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:37:29 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:37:29 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:37:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:37:29 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:37:29 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:37:29 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:37:29 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:37:29 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:37:29 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:37:29 UTC] 📊 Database Info:
[18-Nov-2025 13:37:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:37:29 UTC]    Books columns count: 53
[18-Nov-2025 13:37:29 UTC]    Categories columns count: 7
[18-Nov-2025 13:37:29 UTC]    Language field in books: YES
[18-Nov-2025 13:37:29 UTC]    Format field in books: YES
[18-Nov-2025 13:37:29 UTC]    Description field in categories: YES
[18-Nov-2025 13:37:29 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:37:29 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:37:29 UTC]    Is_active field in books: YES
[18-Nov-2025 13:37:29 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:37:29 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:37:29 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:37:29 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:37:29 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:37:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:37:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:37:30 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:37:30 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:37:30 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:37:30 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:37:30 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:37:30 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:37:30 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:37:30 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:37:30 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:37:30 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:37:30 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:37:30 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:37:30 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:37:30 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:37:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:37:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:37:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:37:30 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:37:30 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:37:30 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:37:30 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:37:30 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:37:30 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:37:30 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:37:30 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:37:30 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:37:30 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:37:30 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:37:30 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:37:30 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:37:30 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:37:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:37:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:37:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:37:30 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:37:30 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:37:30 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:37:30 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:37:30 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:37:31 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:37:31 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:37:31 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:37:31 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:37:31 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:37:31 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:37:31 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:37:31 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:37:31 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:37:31 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:37:31 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:37:31 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:37:31 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:37:31 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:37:31 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:37:31 UTC] 📊 Database Info:
[18-Nov-2025 13:37:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:37:31 UTC]    Books columns count: 53
[18-Nov-2025 13:37:31 UTC]    Categories columns count: 7
[18-Nov-2025 13:37:31 UTC]    Language field in books: YES
[18-Nov-2025 13:37:31 UTC]    Format field in books: YES
[18-Nov-2025 13:37:31 UTC]    Description field in categories: YES
[18-Nov-2025 13:37:31 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:37:31 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:37:31 UTC]    Is_active field in books: YES
[18-Nov-2025 13:37:31 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:37:31 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:37:31 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:37:31 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:37:31 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:37:31 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:37:31 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:37:31 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:37:31 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:37:31 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:37:31 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:37:31 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:37:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:37:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:37:31 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:37:31 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:37:31 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:37:31 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:37:31 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:37:31 UTC] 📊 Database Info:
[18-Nov-2025 13:37:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:37:31 UTC]    Books columns count: 53
[18-Nov-2025 13:37:31 UTC]    Categories columns count: 7
[18-Nov-2025 13:37:31 UTC]    Language field in books: YES
[18-Nov-2025 13:37:31 UTC]    Format field in books: YES
[18-Nov-2025 13:37:31 UTC]    Description field in categories: YES
[18-Nov-2025 13:37:31 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:37:31 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:37:31 UTC]    Is_active field in books: YES
[18-Nov-2025 13:37:31 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:37:31 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:37:31 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:37:31 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:37:31 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:37:31 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:37:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:37:31 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:37:31 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:37:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:37:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:37:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:37:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:37:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:37:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:37:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:37:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:37:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:37:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:37:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:37:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:37:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:37:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:37:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:37:34 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:37:34 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:37:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:37:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:37:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:37:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:37:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:37:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:37:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:37:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:37:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:37:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:37:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:37:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:37:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:37:34 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:37:34 UTC] 📊 Database Info:
[18-Nov-2025 13:37:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:37:34 UTC]    Books columns count: 53
[18-Nov-2025 13:37:34 UTC]    Categories columns count: 7
[18-Nov-2025 13:37:34 UTC]    Language field in books: YES
[18-Nov-2025 13:37:34 UTC]    Format field in books: YES
[18-Nov-2025 13:37:34 UTC]    Description field in categories: YES
[18-Nov-2025 13:37:34 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:37:34 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:37:34 UTC]    Is_active field in books: YES
[18-Nov-2025 13:37:34 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:37:34 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:37:34 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:37:34 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:37:34 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:37:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:37:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:37:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:37:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:37:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:37:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:37:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:37:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:37:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:37:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:37:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:37:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:37:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:38:13 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:38:13 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:38:13 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:38:13 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:38:13 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:38:13 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:38:13 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:38:13 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:38:13 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:38:13 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:38:13 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:38:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:38:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:38:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:38:13 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:38:13 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:38:13 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:38:13 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:38:13 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:38:13 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:38:13 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:38:13 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:38:13 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:38:13 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:38:13 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:38:13 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:38:13 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:38:13 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:38:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:38:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:38:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:38:13 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:38:13 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:38:13 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:38:13 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:38:13 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:38:13 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:38:13 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:38:13 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:38:13 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:38:13 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:38:13 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:38:13 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:38:13 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:38:13 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:38:13 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:38:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:38:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:38:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:38:13 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:38:13 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:38:13 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:38:13 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:38:14 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:38:14 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:38:14 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:38:14 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:38:14 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:38:14 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:38:14 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:38:14 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:38:14 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:38:14 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:38:14 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:38:14 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:38:14 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:38:14 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:38:14 UTC] 📊 Database Info:
[18-Nov-2025 13:38:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:38:14 UTC]    Books columns count: 53
[18-Nov-2025 13:38:14 UTC]    Categories columns count: 7
[18-Nov-2025 13:38:14 UTC]    Language field in books: YES
[18-Nov-2025 13:38:14 UTC]    Format field in books: YES
[18-Nov-2025 13:38:14 UTC]    Description field in categories: YES
[18-Nov-2025 13:38:14 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:38:14 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:38:14 UTC]    Is_active field in books: YES
[18-Nov-2025 13:38:14 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:38:14 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:38:14 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:38:14 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:38:14 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:38:14 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:38:14 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:38:14 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:38:14 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:38:14 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:38:14 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:38:14 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:38:14 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:38:14 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:38:14 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:38:14 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:38:14 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:38:14 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:38:14 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:38:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:38:14 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:38:14 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:38:14 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:38:14 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:38:14 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:38:14 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:38:14 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:38:14 UTC] 📊 Database Info:
[18-Nov-2025 13:38:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:38:14 UTC]    Books columns count: 53
[18-Nov-2025 13:38:14 UTC]    Categories columns count: 7
[18-Nov-2025 13:38:14 UTC]    Language field in books: YES
[18-Nov-2025 13:38:14 UTC]    Format field in books: YES
[18-Nov-2025 13:38:14 UTC]    Description field in categories: YES
[18-Nov-2025 13:38:14 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:38:14 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:38:14 UTC]    Is_active field in books: YES
[18-Nov-2025 13:38:14 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:38:14 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:38:14 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:38:14 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:38:14 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:38:14 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:38:14 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:38:14 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:38:14 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:38:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:38:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:38:14 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:38:14 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:38:14 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:38:14 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:38:14 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:38:14 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:38:14 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:38:14 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:38:14 UTC] 📊 Database Info:
[18-Nov-2025 13:38:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:38:14 UTC]    Books columns count: 53
[18-Nov-2025 13:38:14 UTC]    Categories columns count: 7
[18-Nov-2025 13:38:14 UTC]    Language field in books: YES
[18-Nov-2025 13:38:14 UTC]    Format field in books: YES
[18-Nov-2025 13:38:14 UTC]    Description field in categories: YES
[18-Nov-2025 13:38:14 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:38:14 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:38:14 UTC]    Is_active field in books: YES
[18-Nov-2025 13:38:14 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:38:14 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:38:14 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:38:14 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:38:14 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:38:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:38:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:39:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:12 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:39:12 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:39:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:12 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:39:12 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:12 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:39:12 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:39:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:39:12 UTC] 📊 Database Info:
[18-Nov-2025 13:39:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:39:12 UTC]    Books columns count: 53
[18-Nov-2025 13:39:12 UTC]    Categories columns count: 7
[18-Nov-2025 13:39:12 UTC]    Language field in books: YES
[18-Nov-2025 13:39:12 UTC]    Format field in books: YES
[18-Nov-2025 13:39:12 UTC]    Description field in categories: YES
[18-Nov-2025 13:39:12 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:39:12 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:39:12 UTC]    Is_active field in books: YES
[18-Nov-2025 13:39:12 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:39:12 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:39:12 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:39:12 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:39:12 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:39:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:39:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:39:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:39:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:39:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:39:12 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:39:12 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:39:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:12 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:39:12 UTC] 📊 Database Info:
[18-Nov-2025 13:39:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:39:12 UTC]    Books columns count: 53
[18-Nov-2025 13:39:12 UTC]    Categories columns count: 7
[18-Nov-2025 13:39:12 UTC]    Language field in books: YES
[18-Nov-2025 13:39:12 UTC]    Format field in books: YES
[18-Nov-2025 13:39:12 UTC]    Description field in categories: YES
[18-Nov-2025 13:39:12 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:39:12 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:39:12 UTC]    Is_active field in books: YES
[18-Nov-2025 13:39:12 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:39:12 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:39:12 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:39:12 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:39:12 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:39:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:39:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:39:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:39:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:39:12 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:39:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:12 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:39:12 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:39:12 UTC] 📊 Database Info:
[18-Nov-2025 13:39:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:39:12 UTC]    Books columns count: 53
[18-Nov-2025 13:39:12 UTC]    Categories columns count: 7
[18-Nov-2025 13:39:12 UTC]    Language field in books: YES
[18-Nov-2025 13:39:12 UTC]    Format field in books: YES
[18-Nov-2025 13:39:12 UTC]    Description field in categories: YES
[18-Nov-2025 13:39:12 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:39:12 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:39:12 UTC]    Is_active field in books: YES
[18-Nov-2025 13:39:12 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:39:12 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:39:12 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:39:12 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:39:12 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:39:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:39:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:39:14 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:14 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:14 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:14 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:14 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:14 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:14 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:39:14 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:39:14 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:14 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:14 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:14 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:14 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:14 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:14 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:39:14 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:39:14 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:14 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:14 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:14 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:14 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:39:14 UTC] 📊 Database Info:
[18-Nov-2025 13:39:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:39:14 UTC]    Books columns count: 53
[18-Nov-2025 13:39:14 UTC]    Categories columns count: 7
[18-Nov-2025 13:39:14 UTC]    Language field in books: YES
[18-Nov-2025 13:39:14 UTC]    Format field in books: YES
[18-Nov-2025 13:39:14 UTC]    Description field in categories: YES
[18-Nov-2025 13:39:14 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:39:14 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:39:14 UTC]    Is_active field in books: YES
[18-Nov-2025 13:39:14 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:39:14 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:39:14 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:39:14 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:39:14 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:39:14 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:39:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:39:14 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:39:14 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:39:14 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:14 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:14 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:14 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:14 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:14 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:14 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:14 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:39:14 UTC] 📊 Database Info:
[18-Nov-2025 13:39:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:39:14 UTC]    Books columns count: 53
[18-Nov-2025 13:39:14 UTC]    Categories columns count: 7
[18-Nov-2025 13:39:14 UTC]    Language field in books: YES
[18-Nov-2025 13:39:14 UTC]    Format field in books: YES
[18-Nov-2025 13:39:14 UTC]    Description field in categories: YES
[18-Nov-2025 13:39:14 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:39:14 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:39:14 UTC]    Is_active field in books: YES
[18-Nov-2025 13:39:14 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:39:14 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:39:14 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:39:14 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:39:14 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:39:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:39:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:39:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:39:14 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:39:14 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:39:17 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:17 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:18 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:18 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:18 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:18 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:18 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:18 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:39:18 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:39:18 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:18 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:18 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:18 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:18 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:39:18 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:39:18 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:18 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:18 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:18 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:18 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:18 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:39:18 UTC] 📊 Database Info:
[18-Nov-2025 13:39:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:39:18 UTC]    Books columns count: 53
[18-Nov-2025 13:39:18 UTC]    Categories columns count: 7
[18-Nov-2025 13:39:18 UTC]    Language field in books: YES
[18-Nov-2025 13:39:18 UTC]    Format field in books: YES
[18-Nov-2025 13:39:18 UTC]    Description field in categories: YES
[18-Nov-2025 13:39:18 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:39:18 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:39:18 UTC]    Is_active field in books: YES
[18-Nov-2025 13:39:18 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:39:18 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:39:18 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:39:18 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:39:18 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:39:18 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:39:18 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:39:18 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:39:18 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:39:18 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:39:18 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:39:18 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:39:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:39:18 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:39:18 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:39:18 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:18 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:18 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:18 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:18 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:18 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:18 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:18 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:39:18 UTC] 📊 Database Info:
[18-Nov-2025 13:39:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:39:18 UTC]    Books columns count: 53
[18-Nov-2025 13:39:18 UTC]    Categories columns count: 7
[18-Nov-2025 13:39:18 UTC]    Language field in books: YES
[18-Nov-2025 13:39:18 UTC]    Format field in books: YES
[18-Nov-2025 13:39:18 UTC]    Description field in categories: YES
[18-Nov-2025 13:39:18 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:39:18 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:39:18 UTC]    Is_active field in books: YES
[18-Nov-2025 13:39:18 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:39:18 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:39:18 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:39:18 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:18 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:39:18 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:18 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:39:18 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:39:18 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:39:18 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:39:18 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:39:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:39:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:39:18 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:39:18 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:39:18 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:18 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:18 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:18 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:18 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:18 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:18 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:18 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:18 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:39:18 UTC] 📊 Database Info:
[18-Nov-2025 13:39:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:39:18 UTC]    Books columns count: 53
[18-Nov-2025 13:39:18 UTC]    Categories columns count: 7
[18-Nov-2025 13:39:18 UTC]    Language field in books: YES
[18-Nov-2025 13:39:18 UTC]    Format field in books: YES
[18-Nov-2025 13:39:18 UTC]    Description field in categories: YES
[18-Nov-2025 13:39:18 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:39:18 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:39:18 UTC]    Is_active field in books: YES
[18-Nov-2025 13:39:18 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:39:18 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:39:18 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:39:18 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:39:18 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:39:18 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:39:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:39:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:43 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:43 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:43 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:43 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:43 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:43 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:43 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:43 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:39:43 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:43 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:43 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:43 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:43 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:43 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:43 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:39:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:43 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:39:43 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:39:43 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:39:43 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:39:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:43 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:43 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:43 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:43 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:43 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:43 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:43 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:39:43 UTC] 📊 Database Info:
[18-Nov-2025 13:39:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:39:43 UTC]    Books columns count: 53
[18-Nov-2025 13:39:43 UTC]    Categories columns count: 7
[18-Nov-2025 13:39:43 UTC]    Language field in books: YES
[18-Nov-2025 13:39:43 UTC]    Format field in books: YES
[18-Nov-2025 13:39:43 UTC]    Description field in categories: YES
[18-Nov-2025 13:39:43 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:39:43 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:39:43 UTC]    Is_active field in books: YES
[18-Nov-2025 13:39:43 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:39:43 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:39:43 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:39:43 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:39:43 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:39:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:39:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:39:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:39:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:39:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:39:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:39:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:39:43 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:39:43 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:39:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:43 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:39:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:39:43 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:43 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:43 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:39:43 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:39:43 UTC] 📊 Database Info:
[18-Nov-2025 13:39:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:39:43 UTC]    Books columns count: 53
[18-Nov-2025 13:39:43 UTC]    Categories columns count: 7
[18-Nov-2025 13:39:43 UTC]    Language field in books: YES
[18-Nov-2025 13:39:43 UTC]    Format field in books: YES
[18-Nov-2025 13:39:43 UTC]    Description field in categories: YES
[18-Nov-2025 13:39:43 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:39:43 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:39:43 UTC]    Is_active field in books: YES
[18-Nov-2025 13:39:43 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:39:43 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:39:43 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:39:43 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:39:43 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:39:44 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:39:44 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:39:44 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:39:44 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:39:44 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:39:44 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:39:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:39:44 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:39:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:39:44 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:39:44 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:39:44 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:39:44 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:39:44 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:39:44 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:39:44 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:39:44 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:39:44 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:39:44 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:39:44 UTC] 📊 Database Info:
[18-Nov-2025 13:39:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:39:44 UTC]    Books columns count: 53
[18-Nov-2025 13:39:44 UTC]    Categories columns count: 7
[18-Nov-2025 13:39:44 UTC]    Language field in books: YES
[18-Nov-2025 13:39:44 UTC]    Format field in books: YES
[18-Nov-2025 13:39:44 UTC]    Description field in categories: YES
[18-Nov-2025 13:39:44 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:39:44 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:39:44 UTC]    Is_active field in books: YES
[18-Nov-2025 13:39:44 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:39:44 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:39:44 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:39:44 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:39:44 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:39:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:39:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:39:44 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:39:44 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:40:29 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:40:29 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:40:29 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:40:29 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:40:29 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:40:29 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:40:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:40:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:40:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:40:29 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:40:29 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:40:29 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:40:29 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:40:29 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:40:29 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:40:29 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:40:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:40:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:40:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:40:29 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:40:29 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:40:29 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:40:29 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:40:29 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:40:29 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:40:29 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:40:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:40:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:40:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:40:29 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:40:29 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:40:29 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:40:29 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:40:29 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:40:29 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:40:29 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:40:29 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:40:29 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:40:29 UTC] 📊 Database Info:
[18-Nov-2025 13:40:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:40:29 UTC]    Books columns count: 53
[18-Nov-2025 13:40:29 UTC]    Categories columns count: 7
[18-Nov-2025 13:40:29 UTC]    Language field in books: YES
[18-Nov-2025 13:40:29 UTC]    Format field in books: YES
[18-Nov-2025 13:40:29 UTC]    Description field in categories: YES
[18-Nov-2025 13:40:29 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:40:29 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:40:29 UTC]    Is_active field in books: YES
[18-Nov-2025 13:40:29 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:40:29 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:40:29 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:40:29 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:40:29 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:40:29 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:40:29 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:40:29 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:40:29 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:40:29 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:40:29 UTC] 📊 Database Info:
[18-Nov-2025 13:40:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:40:29 UTC]    Books columns count: 53
[18-Nov-2025 13:40:29 UTC]    Categories columns count: 7
[18-Nov-2025 13:40:29 UTC]    Language field in books: YES
[18-Nov-2025 13:40:29 UTC]    Format field in books: YES
[18-Nov-2025 13:40:29 UTC]    Description field in categories: YES
[18-Nov-2025 13:40:29 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:40:29 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:40:29 UTC]    Is_active field in books: YES
[18-Nov-2025 13:40:29 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:40:29 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:40:29 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:40:29 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:40:29 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:40:29 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:40:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:40:29 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:40:29 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:40:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:40:29 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:40:29 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:40:29 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:40:29 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:40:29 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:40:29 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:40:29 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:40:29 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:40:29 UTC] 📊 Database Info:
[18-Nov-2025 13:40:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:40:29 UTC]    Books columns count: 53
[18-Nov-2025 13:40:29 UTC]    Categories columns count: 7
[18-Nov-2025 13:40:29 UTC]    Language field in books: YES
[18-Nov-2025 13:40:29 UTC]    Format field in books: YES
[18-Nov-2025 13:40:29 UTC]    Description field in categories: YES
[18-Nov-2025 13:40:29 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:40:29 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:40:29 UTC]    Is_active field in books: YES
[18-Nov-2025 13:40:29 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:40:29 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:40:29 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:40:29 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:40:29 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:40:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:40:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:40:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:40:29 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:40:29 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:40:41 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:40:41 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:40:41 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:40:41 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:40:41 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:40:41 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:40:41 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:40:41 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:40:41 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:40:41 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:40:41 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:40:41 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:40:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:40:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:40:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:40:41 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:40:41 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:40:41 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:40:41 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:40:41 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:40:41 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:40:41 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:40:41 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:40:41 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:40:41 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:40:41 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:40:41 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:40:41 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:40:41 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:40:41 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:40:41 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:40:41 UTC] 📊 Database Info:
[18-Nov-2025 13:40:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:40:41 UTC]    Books columns count: 53
[18-Nov-2025 13:40:41 UTC]    Categories columns count: 7
[18-Nov-2025 13:40:41 UTC]    Language field in books: YES
[18-Nov-2025 13:40:41 UTC]    Format field in books: YES
[18-Nov-2025 13:40:41 UTC]    Description field in categories: YES
[18-Nov-2025 13:40:41 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:40:41 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:40:41 UTC]    Is_active field in books: YES
[18-Nov-2025 13:40:41 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:40:41 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:40:41 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:40:41 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:40:41 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:40:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:40:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:42:07 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:42:07 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:42:07 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:42:07 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:42:07 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:42:07 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:42:07 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:42:07 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:42:07 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:42:07 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:42:07 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:42:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:42:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:42:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:42:07 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:42:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:42:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:42:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:42:07 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:42:07 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:42:07 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:42:07 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:42:07 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:42:07 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:42:07 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:42:07 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:42:07 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:42:07 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:42:07 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:42:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:42:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:42:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:42:07 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:42:07 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:42:07 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:42:07 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:42:07 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:42:07 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:42:07 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:42:07 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:42:07 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:42:07 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:42:07 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:42:07 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:42:07 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:42:07 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:42:07 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:42:07 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:42:07 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:42:07 UTC] 📊 Database Info:
[18-Nov-2025 13:42:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:42:07 UTC]    Books columns count: 53
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:42:07 UTC]    Categories columns count: 7
[18-Nov-2025 13:42:07 UTC]    Language field in books: YES
[18-Nov-2025 13:42:07 UTC]    Format field in books: YES
[18-Nov-2025 13:42:07 UTC]    Description field in categories: YES
[18-Nov-2025 13:42:07 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:42:07 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:42:07 UTC]    Is_active field in books: YES
[18-Nov-2025 13:42:07 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:42:07 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:42:07 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:42:07 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:42:07 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:42:07 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:42:07 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:42:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:42:07 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:42:07 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:42:07 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:42:07 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:42:07 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:42:07 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:42:07 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:42:07 UTC] 📊 Database Info:
[18-Nov-2025 13:42:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:42:07 UTC]    Books columns count: 53
[18-Nov-2025 13:42:07 UTC]    Categories columns count: 7
[18-Nov-2025 13:42:07 UTC]    Language field in books: YES
[18-Nov-2025 13:42:07 UTC]    Format field in books: YES
[18-Nov-2025 13:42:07 UTC]    Description field in categories: YES
[18-Nov-2025 13:42:07 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:42:07 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:42:07 UTC]    Is_active field in books: YES
[18-Nov-2025 13:42:07 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:42:07 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:42:07 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:42:07 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:42:07 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:42:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:42:07 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:42:07 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:42:07 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:42:07 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:42:07 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:42:07 UTC] 📊 Database Info:
[18-Nov-2025 13:42:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:42:07 UTC]    Books columns count: 53
[18-Nov-2025 13:42:07 UTC]    Categories columns count: 7
[18-Nov-2025 13:42:07 UTC]    Language field in books: YES
[18-Nov-2025 13:42:07 UTC]    Format field in books: YES
[18-Nov-2025 13:42:07 UTC]    Description field in categories: YES
[18-Nov-2025 13:42:07 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:42:07 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:42:07 UTC]    Is_active field in books: YES
[18-Nov-2025 13:42:07 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:42:07 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:42:07 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:42:07 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:42:07 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:42:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:42:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:42:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:42:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:42:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:42:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:42:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:42:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:42:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:42:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:42:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:42:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:42:08 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:42:08 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:42:49 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:42:49 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:42:49 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:42:49 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:42:49 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:42:49 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:42:49 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:42:49 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:42:49 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:42:49 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:42:49 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:42:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:42:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:42:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:42:49 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:42:49 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:42:49 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:42:49 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:42:49 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:42:49 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:42:49 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:42:49 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:42:49 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:42:49 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:42:49 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:42:49 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:42:49 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:42:49 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:42:49 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:42:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:42:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:42:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:42:49 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:42:49 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:42:49 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:42:49 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:42:49 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:42:49 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:42:49 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:42:49 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:42:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:42:49 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:42:49 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:42:49 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:42:49 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:42:49 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:42:49 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:42:49 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:42:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:42:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:42:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:42:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:42:49 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:42:49 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:42:49 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:42:49 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:42:49 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:42:50 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:42:50 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:42:50 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:42:50 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:42:50 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:42:50 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:42:50 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:42:50 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:42:50 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:42:50 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:42:50 UTC] 📊 Database Info:
[18-Nov-2025 13:42:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:42:50 UTC]    Books columns count: 53
[18-Nov-2025 13:42:50 UTC]    Categories columns count: 7
[18-Nov-2025 13:42:50 UTC]    Language field in books: YES
[18-Nov-2025 13:42:50 UTC]    Format field in books: YES
[18-Nov-2025 13:42:50 UTC]    Description field in categories: YES
[18-Nov-2025 13:42:50 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:42:50 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:42:50 UTC]    Is_active field in books: YES
[18-Nov-2025 13:42:50 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:42:50 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:42:50 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:42:50 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:42:50 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:42:50 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:42:50 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:42:50 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:42:50 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:42:50 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:42:50 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:42:50 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:42:50 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:42:50 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:42:50 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:42:50 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:42:50 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:42:50 UTC] 📊 Database Info:
[18-Nov-2025 13:42:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:42:50 UTC]    Books columns count: 53
[18-Nov-2025 13:42:50 UTC]    Categories columns count: 7
[18-Nov-2025 13:42:50 UTC]    Language field in books: YES
[18-Nov-2025 13:42:50 UTC]    Format field in books: YES
[18-Nov-2025 13:42:50 UTC]    Description field in categories: YES
[18-Nov-2025 13:42:50 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:42:50 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:42:50 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:42:50 UTC]    Is_active field in books: YES
[18-Nov-2025 13:42:50 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:42:50 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:42:50 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:42:50 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:42:50 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:42:50 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:42:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:42:50 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:42:50 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:42:50 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:42:50 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:42:50 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:42:50 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:42:50 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:42:50 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:42:50 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:42:50 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:42:50 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:42:50 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:42:50 UTC] 📊 Database Info:
[18-Nov-2025 13:42:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:42:50 UTC]    Books columns count: 53
[18-Nov-2025 13:42:50 UTC]    Categories columns count: 7
[18-Nov-2025 13:42:50 UTC]    Language field in books: YES
[18-Nov-2025 13:42:50 UTC]    Format field in books: YES
[18-Nov-2025 13:42:50 UTC]    Description field in categories: YES
[18-Nov-2025 13:42:50 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:42:50 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:42:50 UTC]    Is_active field in books: YES
[18-Nov-2025 13:42:50 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:42:50 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:42:50 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:42:50 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:42:50 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:42:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:42:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:42:50 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:42:50 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:42:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:42:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:42:50 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:42:50 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:47:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:00 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:47:00 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:00 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:47:00 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:47:00 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:47:00 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:47:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:47:00 UTC] 📊 Database Info:
[18-Nov-2025 13:47:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:47:00 UTC]    Books columns count: 53
[18-Nov-2025 13:47:00 UTC]    Categories columns count: 7
[18-Nov-2025 13:47:00 UTC]    Language field in books: YES
[18-Nov-2025 13:47:00 UTC]    Format field in books: YES
[18-Nov-2025 13:47:00 UTC]    Description field in categories: YES
[18-Nov-2025 13:47:00 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:47:00 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:47:00 UTC]    Is_active field in books: YES
[18-Nov-2025 13:47:00 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:47:00 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:47:00 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:47:00 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:47:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:47:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:47:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:47:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:47:00 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:47:00 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:00 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:47:00 UTC] 📊 Database Info:
[18-Nov-2025 13:47:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:47:00 UTC]    Books columns count: 53
[18-Nov-2025 13:47:00 UTC]    Categories columns count: 7
[18-Nov-2025 13:47:00 UTC]    Language field in books: YES
[18-Nov-2025 13:47:00 UTC]    Format field in books: YES
[18-Nov-2025 13:47:00 UTC]    Description field in categories: YES
[18-Nov-2025 13:47:00 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:47:00 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:47:00 UTC]    Is_active field in books: YES
[18-Nov-2025 13:47:00 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:47:00 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:47:00 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:47:00 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:47:00 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:47:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:47:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:47:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:47:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:47:00 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:00 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:47:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:00 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:47:00 UTC] 📊 Database Info:
[18-Nov-2025 13:47:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:47:00 UTC]    Books columns count: 53
[18-Nov-2025 13:47:00 UTC]    Categories columns count: 7
[18-Nov-2025 13:47:00 UTC]    Language field in books: YES
[18-Nov-2025 13:47:00 UTC]    Format field in books: YES
[18-Nov-2025 13:47:00 UTC]    Description field in categories: YES
[18-Nov-2025 13:47:00 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:47:00 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:47:00 UTC]    Is_active field in books: YES
[18-Nov-2025 13:47:00 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:47:00 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:47:00 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:47:00 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:47:00 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:47:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:47:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:47:07 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:07 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:08 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:08 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:08 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:47:08 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:47:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:08 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:08 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:08 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:08 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:08 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:47:08 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:47:08 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:08 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:08 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:08 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:08 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:08 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:47:08 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:08 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:08 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:47:08 UTC] 📊 Database Info:
[18-Nov-2025 13:47:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:47:08 UTC]    Books columns count: 53
[18-Nov-2025 13:47:08 UTC]    Categories columns count: 7
[18-Nov-2025 13:47:08 UTC]    Language field in books: YES
[18-Nov-2025 13:47:08 UTC]    Format field in books: YES
[18-Nov-2025 13:47:08 UTC]    Description field in categories: YES
[18-Nov-2025 13:47:08 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:47:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:08 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:47:08 UTC]    Is_active field in books: YES
[18-Nov-2025 13:47:08 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:47:08 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:47:08 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:47:08 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:47:08 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:47:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:47:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:47:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:47:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:47:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:47:08 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:47:08 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:47:08 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:08 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:08 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:08 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:08 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:08 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:08 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:47:08 UTC] 📊 Database Info:
[18-Nov-2025 13:47:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:47:08 UTC]    Books columns count: 53
[18-Nov-2025 13:47:08 UTC]    Categories columns count: 7
[18-Nov-2025 13:47:08 UTC]    Language field in books: YES
[18-Nov-2025 13:47:08 UTC]    Format field in books: YES
[18-Nov-2025 13:47:08 UTC]    Description field in categories: YES
[18-Nov-2025 13:47:08 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:47:08 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:47:08 UTC]    Is_active field in books: YES
[18-Nov-2025 13:47:08 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:47:08 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:47:08 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:47:08 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:47:08 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:47:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:47:08 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:08 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:08 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:08 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:08 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:08 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:47:08 UTC] 📊 Database Info:
[18-Nov-2025 13:47:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:47:08 UTC]    Books columns count: 53
[18-Nov-2025 13:47:08 UTC]    Categories columns count: 7
[18-Nov-2025 13:47:08 UTC]    Language field in books: YES
[18-Nov-2025 13:47:08 UTC]    Format field in books: YES
[18-Nov-2025 13:47:08 UTC]    Description field in categories: YES
[18-Nov-2025 13:47:08 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:47:08 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:47:08 UTC]    Is_active field in books: YES
[18-Nov-2025 13:47:08 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:47:08 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:47:08 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:47:08 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:47:08 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:47:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:47:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:47:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:47:08 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:47:08 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:47:10 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:10 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:10 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:10 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:10 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:10 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:10 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:10 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:10 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:10 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:10 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:10 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:10 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:10 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:47:10 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:10 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:10 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:10 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:10 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:10 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:10 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:10 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:10 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:10 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:10 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:10 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:10 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:10 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:10 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:47:10 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:47:10 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:10 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:10 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:10 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:10 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:10 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:10 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:10 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:10 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:10 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:10 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:47:10 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:47:10 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:10 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:11 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:11 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:11 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:11 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:11 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:11 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:11 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:11 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:11 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:11 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:11 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:11 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:11 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:11 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:11 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:11 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:11 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:11 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:11 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:11 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:11 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:11 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:47:11 UTC] 📊 Database Info:
[18-Nov-2025 13:47:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:47:11 UTC]    Books columns count: 53
[18-Nov-2025 13:47:11 UTC]    Categories columns count: 7
[18-Nov-2025 13:47:11 UTC]    Language field in books: YES
[18-Nov-2025 13:47:11 UTC]    Format field in books: YES
[18-Nov-2025 13:47:11 UTC]    Description field in categories: YES
[18-Nov-2025 13:47:11 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:47:11 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:47:11 UTC]    Is_active field in books: YES
[18-Nov-2025 13:47:11 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:47:11 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:47:11 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:47:11 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:47:11 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:47:11 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:47:11 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:47:11 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:47:11 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:47:11 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:11 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:47:11 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:47:11 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:47:11 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:47:11 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:11 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:47:11 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:47:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:47:11 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:47:11 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:47:11 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:11 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:11 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:11 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:11 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:11 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:11 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:11 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:47:11 UTC] 📊 Database Info:
[18-Nov-2025 13:47:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:47:11 UTC]    Books columns count: 53
[18-Nov-2025 13:47:11 UTC]    Categories columns count: 7
[18-Nov-2025 13:47:11 UTC]    Language field in books: YES
[18-Nov-2025 13:47:11 UTC]    Format field in books: YES
[18-Nov-2025 13:47:11 UTC]    Description field in categories: YES
[18-Nov-2025 13:47:11 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:47:11 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:47:11 UTC]    Is_active field in books: YES
[18-Nov-2025 13:47:11 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:11 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:47:11 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:47:11 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:47:11 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:47:11 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:47:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:47:11 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:11 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:11 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:11 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:11 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:11 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:11 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:11 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:11 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:11 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:11 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:47:11 UTC] 📊 Database Info:
[18-Nov-2025 13:47:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:47:11 UTC]    Books columns count: 53
[18-Nov-2025 13:47:11 UTC]    Categories columns count: 7
[18-Nov-2025 13:47:11 UTC]    Language field in books: YES
[18-Nov-2025 13:47:11 UTC]    Format field in books: YES
[18-Nov-2025 13:47:11 UTC]    Description field in categories: YES
[18-Nov-2025 13:47:11 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:47:11 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:47:11 UTC]    Is_active field in books: YES
[18-Nov-2025 13:47:11 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:47:11 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:47:11 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:47:11 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:47:11 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:47:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:47:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:47:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:47:11 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:47:11 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:47:41 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:41 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:41 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:41 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:41 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:41 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:41 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:41 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:41 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:41 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:41 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:41 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:41 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:41 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:41 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:41 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:41 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:47:41 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:47:41 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:41 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:41 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:41 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:41 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:41 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:41 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:41 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:41 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:41 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:41 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:41 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:47:41 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:47:41 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:41 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:41 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:41 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:41 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:41 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:41 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:41 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:41 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:41 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:41 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:41 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:41 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:41 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:41 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:47:41 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:47:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:41 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:42 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:42 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:42 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:42 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:42 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:42 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:42 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:42 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:47:42 UTC] 📊 Database Info:
[18-Nov-2025 13:47:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:47:42 UTC]    Books columns count: 53
[18-Nov-2025 13:47:42 UTC]    Categories columns count: 7
[18-Nov-2025 13:47:42 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:42 UTC]    Language field in books: YES
[18-Nov-2025 13:47:42 UTC]    Format field in books: YES
[18-Nov-2025 13:47:42 UTC]    Description field in categories: YES
[18-Nov-2025 13:47:42 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:47:42 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:47:42 UTC]    Is_active field in books: YES
[18-Nov-2025 13:47:42 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:47:42 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:47:42 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:47:42 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:47:42 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:47:42 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:47:42 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:47:42 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:47:42 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:47:42 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:47:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:47:42 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:42 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:42 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:42 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:42 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:47:42 UTC] 📊 Database Info:
[18-Nov-2025 13:47:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:47:42 UTC]    Books columns count: 53
[18-Nov-2025 13:47:42 UTC]    Categories columns count: 7
[18-Nov-2025 13:47:42 UTC]    Language field in books: YES
[18-Nov-2025 13:47:42 UTC]    Format field in books: YES
[18-Nov-2025 13:47:42 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:42 UTC]    Description field in categories: YES
[18-Nov-2025 13:47:42 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:47:42 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:47:42 UTC]    Is_active field in books: YES
[18-Nov-2025 13:47:42 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:47:42 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:47:42 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:47:42 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:47:42 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:47:42 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:47:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:47:42 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:47:42 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:47:42 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:42 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:42 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:42 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:42 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:42 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:47:42 UTC] 📊 Database Info:
[18-Nov-2025 13:47:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:47:42 UTC]    Books columns count: 53
[18-Nov-2025 13:47:42 UTC]    Categories columns count: 7
[18-Nov-2025 13:47:42 UTC]    Language field in books: YES
[18-Nov-2025 13:47:42 UTC]    Format field in books: YES
[18-Nov-2025 13:47:42 UTC]    Description field in categories: YES
[18-Nov-2025 13:47:42 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:47:42 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:47:42 UTC]    Is_active field in books: YES
[18-Nov-2025 13:47:42 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:47:42 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:47:42 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:47:42 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:47:42 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:47:42 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:47:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:47:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:47:42 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:47:42 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:47:44 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:44 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:44 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:44 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:44 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:44 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:44 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:44 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:47:44 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:44 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:44 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:44 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:44 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:44 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:44 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:47:44 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:47:44 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:44 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:44 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:44 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:44 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:44 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:44 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:44 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:44 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:47:44 UTC] 📊 Database Info:
[18-Nov-2025 13:47:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:47:44 UTC]    Books columns count: 53
[18-Nov-2025 13:47:44 UTC]    Categories columns count: 7
[18-Nov-2025 13:47:44 UTC]    Language field in books: YES
[18-Nov-2025 13:47:44 UTC]    Format field in books: YES
[18-Nov-2025 13:47:44 UTC]    Description field in categories: YES
[18-Nov-2025 13:47:44 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:47:44 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:47:44 UTC]    Is_active field in books: YES
[18-Nov-2025 13:47:44 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:47:44 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:47:44 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:47:44 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:47:44 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:44 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:47:44 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:47:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:47:44 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:47:44 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:47:44 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:44 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:44 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:44 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:44 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:47:44 UTC] 📊 Database Info:
[18-Nov-2025 13:47:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:47:44 UTC]    Books columns count: 53
[18-Nov-2025 13:47:44 UTC]    Categories columns count: 7
[18-Nov-2025 13:47:44 UTC]    Language field in books: YES
[18-Nov-2025 13:47:44 UTC]    Format field in books: YES
[18-Nov-2025 13:47:44 UTC]    Description field in categories: YES
[18-Nov-2025 13:47:44 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:47:44 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:47:44 UTC]    Is_active field in books: YES
[18-Nov-2025 13:47:44 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:47:44 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:47:44 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:47:44 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:47:44 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:47:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:47:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:47:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:47:44 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:47:44 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:47:48 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:48 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:48 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:48 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:48 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:48 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:48 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:48 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:48 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:48 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:48 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:48 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:47:48 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:48 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:47:48 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:47:48 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:48 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:48 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:48 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:48 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:48 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:48 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:47:48 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:47:48 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:48 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:48 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:48 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:48 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:48 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:47:48 UTC] 📊 Database Info:
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:47:48 UTC]    Books columns count: 53
[18-Nov-2025 13:47:48 UTC]    Categories columns count: 7
[18-Nov-2025 13:47:48 UTC]    Language field in books: YES
[18-Nov-2025 13:47:48 UTC]    Format field in books: YES
[18-Nov-2025 13:47:48 UTC]    Description field in categories: YES
[18-Nov-2025 13:47:48 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:47:48 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:47:48 UTC]    Is_active field in books: YES
[18-Nov-2025 13:47:48 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:47:48 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:47:48 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:47:48 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:47:48 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:47:48 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:47:48 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:47:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:48 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:48 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:47:48 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:48 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:47:48 UTC] 📊 Database Info:
[18-Nov-2025 13:47:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:47:48 UTC]    Books columns count: 53
[18-Nov-2025 13:47:48 UTC]    Categories columns count: 7
[18-Nov-2025 13:47:48 UTC]    Language field in books: YES
[18-Nov-2025 13:47:48 UTC]    Format field in books: YES
[18-Nov-2025 13:47:48 UTC]    Description field in categories: YES
[18-Nov-2025 13:47:48 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:47:48 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:47:48 UTC]    Is_active field in books: YES
[18-Nov-2025 13:47:48 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:47:48 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:47:48 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:47:48 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:47:48 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:47:48 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:47:48 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:47:48 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:47:48 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:47:48 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:47:48 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:47:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:47:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:47:48 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:47:48 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:47:48 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:47:48 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:47:48 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:47:48 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:47:48 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:47:48 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:47:48 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:47:48 UTC] 📊 Database Info:
[18-Nov-2025 13:47:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:47:48 UTC]    Books columns count: 53
[18-Nov-2025 13:47:48 UTC]    Categories columns count: 7
[18-Nov-2025 13:47:48 UTC]    Language field in books: YES
[18-Nov-2025 13:47:48 UTC]    Format field in books: YES
[18-Nov-2025 13:47:48 UTC]    Description field in categories: YES
[18-Nov-2025 13:47:48 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:47:48 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:47:48 UTC]    Is_active field in books: YES
[18-Nov-2025 13:47:48 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:47:48 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:47:48 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:47:48 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:47:48 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:47:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:47:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:47:48 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:47:48 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:49:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:00 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:49:00 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:00 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:49:00 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:49:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:00 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:49:00 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:49:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:01 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:01 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:01 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:01 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:01 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:01 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:01 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:01 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:01 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:01 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:01 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:01 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:01 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:01 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:49:01 UTC] 📊 Database Info:
[18-Nov-2025 13:49:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:49:01 UTC]    Books columns count: 53
[18-Nov-2025 13:49:01 UTC]    Categories columns count: 7
[18-Nov-2025 13:49:01 UTC]    Language field in books: YES
[18-Nov-2025 13:49:01 UTC]    Format field in books: YES
[18-Nov-2025 13:49:01 UTC]    Description field in categories: YES
[18-Nov-2025 13:49:01 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:49:01 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:49:01 UTC]    Is_active field in books: YES
[18-Nov-2025 13:49:01 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:49:01 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:49:01 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:49:01 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:49:01 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:49:01 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:49:01 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:49:01 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:49:01 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:49:01 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:01 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:49:01 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:01 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:49:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:49:01 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:01 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:01 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:01 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:01 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:01 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:01 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:01 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:01 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:01 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:01 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:01 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:01 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:01 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:01 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:01 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:01 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:01 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:01 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:49:01 UTC] 📊 Database Info:
[18-Nov-2025 13:49:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:49:01 UTC]    Books columns count: 53
[18-Nov-2025 13:49:01 UTC]    Categories columns count: 7
[18-Nov-2025 13:49:01 UTC]    Language field in books: YES
[18-Nov-2025 13:49:01 UTC]    Format field in books: YES
[18-Nov-2025 13:49:01 UTC]    Description field in categories: YES
[18-Nov-2025 13:49:01 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:49:01 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:49:01 UTC]    Is_active field in books: YES
[18-Nov-2025 13:49:01 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:49:01 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:49:01 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:49:01 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:49:01 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:01 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:01 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:49:01 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:49:01 UTC] 📊 Database Info:
[18-Nov-2025 13:49:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:49:01 UTC]    Books columns count: 53
[18-Nov-2025 13:49:01 UTC]    Categories columns count: 7
[18-Nov-2025 13:49:01 UTC]    Language field in books: YES
[18-Nov-2025 13:49:01 UTC]    Format field in books: YES
[18-Nov-2025 13:49:01 UTC]    Description field in categories: YES
[18-Nov-2025 13:49:01 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:49:01 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:49:01 UTC]    Is_active field in books: YES
[18-Nov-2025 13:49:01 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:49:01 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:49:01 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:49:01 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:49:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:49:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:49:01 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:49:01 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:49:01 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:49:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:49:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:49:01 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:49:01 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:49:03 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:03 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:03 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:03 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:03 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:03 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:03 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:03 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:03 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:03 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:03 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:03 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:03 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:04 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:04 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:04 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:04 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:04 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:49:04 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:49:04 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:04 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:04 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:04 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:04 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:04 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:49:04 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:49:04 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:04 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:04 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:04 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:04 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:49:04 UTC] 📊 Database Info:
[18-Nov-2025 13:49:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:49:04 UTC]    Books columns count: 53
[18-Nov-2025 13:49:04 UTC]    Categories columns count: 7
[18-Nov-2025 13:49:04 UTC]    Language field in books: YES
[18-Nov-2025 13:49:04 UTC]    Format field in books: YES
[18-Nov-2025 13:49:04 UTC]    Description field in categories: YES
[18-Nov-2025 13:49:04 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:49:04 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:49:04 UTC]    Is_active field in books: YES
[18-Nov-2025 13:49:04 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:49:04 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:49:04 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:49:04 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:04 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:04 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:49:04 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:49:04 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:04 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:49:04 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:04 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:04 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:04 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:49:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:49:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:49:04 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:49:04 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:49:04 UTC] 📊 Database Info:
[18-Nov-2025 13:49:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:49:04 UTC]    Books columns count: 53
[18-Nov-2025 13:49:04 UTC]    Categories columns count: 7
[18-Nov-2025 13:49:04 UTC]    Language field in books: YES
[18-Nov-2025 13:49:04 UTC]    Format field in books: YES
[18-Nov-2025 13:49:04 UTC]    Description field in categories: YES
[18-Nov-2025 13:49:04 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:49:04 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:49:04 UTC]    Is_active field in books: YES
[18-Nov-2025 13:49:04 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:49:04 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:49:04 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:49:04 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:49:04 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:49:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:49:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:49:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:49:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:49:04 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:49:06 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:06 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:06 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:06 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:06 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:49:06 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:49:06 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:06 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:06 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:06 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:06 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:06 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:06 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:49:06 UTC] 📊 Database Info:
[18-Nov-2025 13:49:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:49:06 UTC]    Books columns count: 53
[18-Nov-2025 13:49:06 UTC]    Categories columns count: 7
[18-Nov-2025 13:49:06 UTC]    Language field in books: YES
[18-Nov-2025 13:49:06 UTC]    Format field in books: YES
[18-Nov-2025 13:49:06 UTC]    Description field in categories: YES
[18-Nov-2025 13:49:06 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:49:06 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:49:06 UTC]    Is_active field in books: YES
[18-Nov-2025 13:49:06 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:49:06 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:49:06 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:49:06 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:49:06 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:49:06 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:49:06 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:49:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:49:06 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:49:06 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:49:06 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:06 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:06 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:06 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:49:06 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:49:06 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:06 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:06 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:06 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:06 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:49:06 UTC] 📊 Database Info:
[18-Nov-2025 13:49:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:49:06 UTC]    Books columns count: 53
[18-Nov-2025 13:49:06 UTC]    Categories columns count: 7
[18-Nov-2025 13:49:06 UTC]    Language field in books: YES
[18-Nov-2025 13:49:06 UTC]    Format field in books: YES
[18-Nov-2025 13:49:06 UTC]    Description field in categories: YES
[18-Nov-2025 13:49:06 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:49:06 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:49:06 UTC]    Is_active field in books: YES
[18-Nov-2025 13:49:06 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:49:06 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:49:06 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:49:06 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:49:06 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:49:06 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:49:06 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:49:06 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:49:06 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:49:06 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:49:06 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:49:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:49:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:49:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:49:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:49:06 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:49:06 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:49:06 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:06 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:06 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:06 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:06 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:49:06 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:49:06 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:06 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:06 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:06 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:06 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:06 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:06 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:06 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:06 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:49:06 UTC] 📊 Database Info:
[18-Nov-2025 13:49:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:49:06 UTC]    Books columns count: 53
[18-Nov-2025 13:49:06 UTC]    Categories columns count: 7
[18-Nov-2025 13:49:06 UTC]    Language field in books: YES
[18-Nov-2025 13:49:06 UTC]    Format field in books: YES
[18-Nov-2025 13:49:06 UTC]    Description field in categories: YES
[18-Nov-2025 13:49:06 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:49:06 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:49:06 UTC]    Is_active field in books: YES
[18-Nov-2025 13:49:06 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:49:06 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:49:06 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:49:06 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:49:06 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:49:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:49:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:49:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:12 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:49:12 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:49:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:12 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:49:12 UTC] 📊 Database Info:
[18-Nov-2025 13:49:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:49:12 UTC]    Books columns count: 53
[18-Nov-2025 13:49:12 UTC]    Categories columns count: 7
[18-Nov-2025 13:49:12 UTC]    Language field in books: YES
[18-Nov-2025 13:49:12 UTC]    Format field in books: YES
[18-Nov-2025 13:49:12 UTC]    Description field in categories: YES
[18-Nov-2025 13:49:12 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:49:12 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:49:12 UTC]    Is_active field in books: YES
[18-Nov-2025 13:49:12 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:49:12 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:49:12 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:49:12 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:49:12 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:49:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:49:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:49:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:49:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:49:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:49:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:49:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:49:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:49:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:49:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:49:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:49:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:49:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:49:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:24 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:24 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:24 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:24 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:24 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:24 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:24 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:24 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:24 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:24 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:24 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:49:24 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:49:24 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:24 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:24 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:24 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:24 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:24 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:24 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:24 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:24 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:24 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:24 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:24 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:49:24 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:24 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:24 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:24 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:24 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:24 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:24 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:24 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:24 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:24 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:24 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:49:24 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:49:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:25 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:25 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:25 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:25 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:25 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:25 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:25 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:25 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:25 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:25 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:25 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:25 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:25 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:49:25 UTC] 📊 Database Info:
[18-Nov-2025 13:49:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:49:25 UTC]    Books columns count: 53
[18-Nov-2025 13:49:25 UTC]    Categories columns count: 7
[18-Nov-2025 13:49:25 UTC]    Language field in books: YES
[18-Nov-2025 13:49:25 UTC]    Format field in books: YES
[18-Nov-2025 13:49:25 UTC]    Description field in categories: YES
[18-Nov-2025 13:49:25 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:49:25 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:49:25 UTC]    Is_active field in books: YES
[18-Nov-2025 13:49:25 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:49:25 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:49:25 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:49:25 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:49:25 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:49:25 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:49:25 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:49:25 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:25 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:49:25 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:25 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:49:25 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:49:25 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:49:25 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:25 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:25 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:25 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:25 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:49:25 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:25 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:25 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:25 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:25 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:25 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:49:25 UTC] 📊 Database Info:
[18-Nov-2025 13:49:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:49:25 UTC]    Books columns count: 53
[18-Nov-2025 13:49:25 UTC]    Categories columns count: 7
[18-Nov-2025 13:49:25 UTC]    Language field in books: YES
[18-Nov-2025 13:49:25 UTC]    Format field in books: YES
[18-Nov-2025 13:49:25 UTC]    Description field in categories: YES
[18-Nov-2025 13:49:25 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:49:25 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:49:25 UTC]    Is_active field in books: YES
[18-Nov-2025 13:49:25 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:49:25 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:49:25 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:49:25 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:49:25 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:49:25 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:49:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:49:25 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:49:25 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:49:25 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:49:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:49:25 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:25 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:25 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:25 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:25 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:25 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:25 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:25 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:25 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:25 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:25 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:49:25 UTC] 📊 Database Info:
[18-Nov-2025 13:49:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:49:25 UTC]    Books columns count: 53
[18-Nov-2025 13:49:25 UTC]    Categories columns count: 7
[18-Nov-2025 13:49:25 UTC]    Language field in books: YES
[18-Nov-2025 13:49:25 UTC]    Format field in books: YES
[18-Nov-2025 13:49:25 UTC]    Description field in categories: YES
[18-Nov-2025 13:49:25 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:49:25 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:49:25 UTC]    Is_active field in books: YES
[18-Nov-2025 13:49:25 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:49:25 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:49:25 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:49:25 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:49:25 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:49:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:49:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:49:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:49:25 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:49:25 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:49:27 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:27 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:27 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:27 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:27 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:27 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:27 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:27 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:27 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:27 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:49:27 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:49:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:27 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:27 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:49:27 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:49:27 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:27 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:27 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:27 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:27 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:27 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:27 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:27 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:27 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:49:27 UTC] 📊 Database Info:
[18-Nov-2025 13:49:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:49:27 UTC]    Books columns count: 53
[18-Nov-2025 13:49:27 UTC]    Categories columns count: 7
[18-Nov-2025 13:49:27 UTC]    Language field in books: YES
[18-Nov-2025 13:49:27 UTC]    Format field in books: YES
[18-Nov-2025 13:49:27 UTC]    Description field in categories: YES
[18-Nov-2025 13:49:27 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:49:27 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:49:27 UTC]    Is_active field in books: YES
[18-Nov-2025 13:49:27 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:49:27 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:49:27 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:49:27 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:49:27 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:49:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:49:27 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:49:27 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:27 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:49:27 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:27 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:27 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:49:27 UTC] 📊 Database Info:
[18-Nov-2025 13:49:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:49:27 UTC]    Books columns count: 53
[18-Nov-2025 13:49:27 UTC]    Categories columns count: 7
[18-Nov-2025 13:49:27 UTC]    Language field in books: YES
[18-Nov-2025 13:49:27 UTC]    Format field in books: YES
[18-Nov-2025 13:49:27 UTC]    Description field in categories: YES
[18-Nov-2025 13:49:27 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:49:27 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:49:27 UTC]    Is_active field in books: YES
[18-Nov-2025 13:49:27 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:49:27 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:49:27 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:49:27 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:49:27 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:49:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:49:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:49:27 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:49:27 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:49:30 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:30 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:30 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:30 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:30 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:30 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:30 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:30 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:30 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:30 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:30 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:30 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:30 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:49:30 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:49:30 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:30 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:30 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:30 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:30 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:30 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:30 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:30 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:30 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:30 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:30 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:30 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:30 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:30 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:49:30 UTC] 📊 Database Info:
[18-Nov-2025 13:49:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:49:30 UTC]    Books columns count: 53
[18-Nov-2025 13:49:30 UTC]    Categories columns count: 7
[18-Nov-2025 13:49:30 UTC]    Language field in books: YES
[18-Nov-2025 13:49:30 UTC]    Format field in books: YES
[18-Nov-2025 13:49:30 UTC]    Description field in categories: YES
[18-Nov-2025 13:49:30 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:49:30 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:49:30 UTC]    Is_active field in books: YES
[18-Nov-2025 13:49:30 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:49:30 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:49:30 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:49:30 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:49:30 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:49:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:49:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:49:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:49:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:49:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:49:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:49:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:49:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:49:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:49:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:49:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:49:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:49:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:49:38 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:38 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:38 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:38 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:38 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:38 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:38 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:38 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:38 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:49:38 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:49:38 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:38 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:38 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:38 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:38 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:38 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:38 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:38 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:49:38 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:49:38 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:38 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:38 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:38 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:38 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:38 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:49:38 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:38 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:49:38 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:49:38 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:38 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:38 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:38 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:38 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:38 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:38 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:49:38 UTC] 📊 Database Info:
[18-Nov-2025 13:49:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:49:38 UTC]    Books columns count: 53
[18-Nov-2025 13:49:38 UTC]    Categories columns count: 7
[18-Nov-2025 13:49:38 UTC]    Language field in books: YES
[18-Nov-2025 13:49:38 UTC]    Format field in books: YES
[18-Nov-2025 13:49:38 UTC]    Description field in categories: YES
[18-Nov-2025 13:49:38 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:49:38 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:49:38 UTC]    Is_active field in books: YES
[18-Nov-2025 13:49:38 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:49:38 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:49:38 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:49:38 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:49:38 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:49:38 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:38 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:49:38 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:49:38 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:38 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:49:38 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:49:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:49:38 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:38 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:38 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:38 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:38 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:49:38 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:49:38 UTC] 📊 Database Info:
[18-Nov-2025 13:49:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:49:38 UTC]    Books columns count: 53
[18-Nov-2025 13:49:38 UTC]    Categories columns count: 7
[18-Nov-2025 13:49:38 UTC]    Language field in books: YES
[18-Nov-2025 13:49:38 UTC]    Format field in books: YES
[18-Nov-2025 13:49:38 UTC]    Description field in categories: YES
[18-Nov-2025 13:49:38 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:49:38 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:49:38 UTC]    Is_active field in books: YES
[18-Nov-2025 13:49:38 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:49:38 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:49:38 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:49:38 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:49:38 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:49:38 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:49:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:49:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:49:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:49:38 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:49:38 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:49:39 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:49:39 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:49:39 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:49:39 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:49:39 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:49:39 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:49:39 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:49:39 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:49:39 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:49:39 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:49:39 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:49:39 UTC] 📊 Database Info:
[18-Nov-2025 13:49:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:49:39 UTC]    Books columns count: 53
[18-Nov-2025 13:49:39 UTC]    Categories columns count: 7
[18-Nov-2025 13:49:39 UTC]    Language field in books: YES
[18-Nov-2025 13:49:39 UTC]    Format field in books: YES
[18-Nov-2025 13:49:39 UTC]    Description field in categories: YES
[18-Nov-2025 13:49:39 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:49:39 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:49:39 UTC]    Is_active field in books: YES
[18-Nov-2025 13:49:39 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:49:39 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:49:39 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:49:39 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:49:39 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:49:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:49:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:49:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:49:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:49:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:49:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:49:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:49:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:49:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:49:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:49:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:49:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:49:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:50:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:50:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:50:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:50:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:50:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:50:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:50:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:50:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:50:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:50:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:50:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:50:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:50:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:50:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:50:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:50:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:50:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:50:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:50:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:50:56 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:50:56 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:50:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:50:56 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:50:56 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:50:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:50:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:50:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:50:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:50:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:50:56 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:50:56 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:50:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:50:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:50:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:50:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:50:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:50:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:50:56 UTC] 📊 Database Info:
[18-Nov-2025 13:50:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:50:56 UTC]    Books columns count: 53
[18-Nov-2025 13:50:56 UTC]    Categories columns count: 7
[18-Nov-2025 13:50:56 UTC]    Language field in books: YES
[18-Nov-2025 13:50:56 UTC]    Format field in books: YES
[18-Nov-2025 13:50:56 UTC]    Description field in categories: YES
[18-Nov-2025 13:50:56 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:50:56 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:50:56 UTC]    Is_active field in books: YES
[18-Nov-2025 13:50:56 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:50:56 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:50:56 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:50:56 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:50:56 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:50:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:50:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:50:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:50:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:50:56 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:50:56 UTC] 📊 Database Info:
[18-Nov-2025 13:50:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:50:56 UTC]    Books columns count: 53
[18-Nov-2025 13:50:56 UTC]    Categories columns count: 7
[18-Nov-2025 13:50:56 UTC]    Language field in books: YES
[18-Nov-2025 13:50:56 UTC]    Format field in books: YES
[18-Nov-2025 13:50:56 UTC]    Description field in categories: YES
[18-Nov-2025 13:50:56 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:50:56 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:50:56 UTC]    Is_active field in books: YES
[18-Nov-2025 13:50:56 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:50:56 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:50:56 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:50:56 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:50:56 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:50:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:50:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:50:56 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:50:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:50:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:50:56 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:50:56 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:50:56 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:50:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:50:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:50:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:50:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:50:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:50:56 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:50:56 UTC] 📊 Database Info:
[18-Nov-2025 13:50:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:50:56 UTC]    Books columns count: 53
[18-Nov-2025 13:50:56 UTC]    Categories columns count: 7
[18-Nov-2025 13:50:56 UTC]    Language field in books: YES
[18-Nov-2025 13:50:56 UTC]    Format field in books: YES
[18-Nov-2025 13:50:56 UTC]    Description field in categories: YES
[18-Nov-2025 13:50:56 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:50:56 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:50:56 UTC]    Is_active field in books: YES
[18-Nov-2025 13:50:56 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:50:56 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:50:56 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:50:56 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:50:56 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:50:56 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:50:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:54:51 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:54:51 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:54:51 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:54:51 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:54:51 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:54:51 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:54:51 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:54:51 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:54:51 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:54:51 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:54:51 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:54:51 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:54:51 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:54:51 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:54:51 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:54:51 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:54:51 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:54:51 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:54:51 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:54:51 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:54:51 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:54:51 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:54:51 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:54:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:54:51 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:54:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:54:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:54:51 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:54:51 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:54:51 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:54:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:54:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:54:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:54:52 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:54:52 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:54:52 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:54:52 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:54:52 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:54:52 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:54:52 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:54:52 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:54:52 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:54:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:54:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:54:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 13:54:52 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:54:52 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 13:54:52 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 13:54:52 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column institution already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:54:52 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:54:52 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:54:52 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:54:52 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:54:52 UTC] 📊 Database Info:
[18-Nov-2025 13:54:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:54:52 UTC]    Books columns count: 53
[18-Nov-2025 13:54:52 UTC]    Categories columns count: 7
[18-Nov-2025 13:54:52 UTC]    Language field in books: YES
[18-Nov-2025 13:54:52 UTC]    Format field in books: YES
[18-Nov-2025 13:54:52 UTC]    Description field in categories: YES
[18-Nov-2025 13:54:52 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:54:52 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:54:52 UTC]    Is_active field in books: YES
[18-Nov-2025 13:54:52 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:54:52 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:54:52 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:54:52 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:54:52 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:54:52 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:54:52 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:54:52 UTC] ℹ️ Column language already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:54:52 UTC] ℹ️ Column format already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:54:52 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:54:52 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:54:52 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:54:52 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:54:52 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:54:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:54:52 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:54:52 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:54:52 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 13:54:52 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 13:54:52 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:54:52 UTC] 📊 Database Info:
[18-Nov-2025 13:54:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:54:52 UTC]    Books columns count: 53
[18-Nov-2025 13:54:52 UTC]    Categories columns count: 7
[18-Nov-2025 13:54:52 UTC]    Language field in books: YES
[18-Nov-2025 13:54:52 UTC]    Format field in books: YES
[18-Nov-2025 13:54:52 UTC]    Description field in categories: YES
[18-Nov-2025 13:54:52 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:54:52 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:54:52 UTC]    Is_active field in books: YES
[18-Nov-2025 13:54:52 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:54:52 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:54:52 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:54:52 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:54:52 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 13:54:52 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:54:52 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:54:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 13:54:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 13:54:52 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 13:54:52 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 13:54:52 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 13:54:52 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 13:54:52 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 13:54:52 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 13:54:52 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 13:54:52 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 13:54:52 UTC] 📊 Database Info:
[18-Nov-2025 13:54:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 13:54:52 UTC]    Books columns count: 53
[18-Nov-2025 13:54:52 UTC]    Categories columns count: 7
[18-Nov-2025 13:54:52 UTC]    Language field in books: YES
[18-Nov-2025 13:54:52 UTC]    Format field in books: YES
[18-Nov-2025 13:54:52 UTC]    Description field in categories: YES
[18-Nov-2025 13:54:52 UTC]    Display_order field in categories: YES
[18-Nov-2025 13:54:52 UTC]    Is_active field in categories: YES
[18-Nov-2025 13:54:52 UTC]    Is_active field in books: YES
[18-Nov-2025 13:54:52 UTC]    External_download_link field in books: YES
[18-Nov-2025 13:54:52 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 13:54:52 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 13:54:52 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 13:54:52 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 13:54:52 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 13:54:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:09:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:09:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:09:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:09:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:09:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:09:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:09:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:09:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:09:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:09:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:09:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:09:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:09:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:09:53 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:09:53 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:09:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:09:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:09:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:09:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:09:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:09:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:09:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:09:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:09:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:09:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:09:53 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:09:53 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:09:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:09:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:09:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:09:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:09:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:09:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:09:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:09:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:09:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:09:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:09:53 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:09:53 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:09:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:09:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:09:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:09:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:09:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:09:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:09:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:09:53 UTC] 📊 Database Info:
[18-Nov-2025 14:09:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:09:53 UTC]    Books columns count: 53
[18-Nov-2025 14:09:53 UTC]    Categories columns count: 7
[18-Nov-2025 14:09:53 UTC]    Language field in books: YES
[18-Nov-2025 14:09:53 UTC]    Format field in books: YES
[18-Nov-2025 14:09:53 UTC]    Description field in categories: YES
[18-Nov-2025 14:09:53 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:09:53 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:09:53 UTC]    Is_active field in books: YES
[18-Nov-2025 14:09:53 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:09:53 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:09:53 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:09:53 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:09:53 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:09:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:09:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:09:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:09:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:09:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:09:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:09:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:09:53 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:09:53 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:09:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:09:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:09:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:09:53 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:09:53 UTC] 📊 Database Info:
[18-Nov-2025 14:09:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:09:53 UTC]    Books columns count: 53
[18-Nov-2025 14:09:53 UTC]    Categories columns count: 7
[18-Nov-2025 14:09:53 UTC]    Language field in books: YES
[18-Nov-2025 14:09:53 UTC]    Format field in books: YES
[18-Nov-2025 14:09:53 UTC]    Description field in categories: YES
[18-Nov-2025 14:09:53 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:09:53 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:09:53 UTC]    Is_active field in books: YES
[18-Nov-2025 14:09:53 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:09:53 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:09:53 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:09:53 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:09:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:09:53 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:09:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:09:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:09:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:09:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:09:53 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:09:53 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:09:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:09:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:09:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:09:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:09:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:09:53 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:09:53 UTC] 📊 Database Info:
[18-Nov-2025 14:09:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:09:53 UTC]    Books columns count: 53
[18-Nov-2025 14:09:53 UTC]    Categories columns count: 7
[18-Nov-2025 14:09:53 UTC]    Language field in books: YES
[18-Nov-2025 14:09:53 UTC]    Format field in books: YES
[18-Nov-2025 14:09:53 UTC]    Description field in categories: YES
[18-Nov-2025 14:09:53 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:09:53 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:09:53 UTC]    Is_active field in books: YES
[18-Nov-2025 14:09:53 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:09:53 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:09:53 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:09:53 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:09:53 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:09:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:09:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:10:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:10:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:10:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:10:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:10:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:10:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:10:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:10:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:10:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:10:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:10:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:10:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:10:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:10:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:10:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:10:26 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:10:26 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:10:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:10:26 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:10:26 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:10:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:10:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:10:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:10:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:10:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:10:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:10:26 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:10:26 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:10:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:10:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:10:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:10:26 UTC] 📊 Database Info:
[18-Nov-2025 14:10:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:10:26 UTC]    Books columns count: 53
[18-Nov-2025 14:10:26 UTC]    Categories columns count: 7
[18-Nov-2025 14:10:26 UTC]    Language field in books: YES
[18-Nov-2025 14:10:26 UTC]    Format field in books: YES
[18-Nov-2025 14:10:26 UTC]    Description field in categories: YES
[18-Nov-2025 14:10:26 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:10:26 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:10:26 UTC]    Is_active field in books: YES
[18-Nov-2025 14:10:26 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:10:26 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:10:26 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:10:26 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:10:26 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:10:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:10:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:10:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:10:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:10:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:10:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:10:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:10:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:10:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:10:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:10:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:10:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:10:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:10:26 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:10:26 UTC] 📊 Database Info:
[18-Nov-2025 14:10:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:10:26 UTC]    Books columns count: 53
[18-Nov-2025 14:10:26 UTC]    Categories columns count: 7
[18-Nov-2025 14:10:26 UTC]    Language field in books: YES
[18-Nov-2025 14:10:26 UTC]    Format field in books: YES
[18-Nov-2025 14:10:26 UTC]    Description field in categories: YES
[18-Nov-2025 14:10:26 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:10:26 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:10:26 UTC]    Is_active field in books: YES
[18-Nov-2025 14:10:26 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:10:26 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:10:26 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:10:26 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:10:26 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:10:26 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:10:26 UTC] 📊 Database Info:
[18-Nov-2025 14:10:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:10:26 UTC]    Books columns count: 53
[18-Nov-2025 14:10:26 UTC]    Categories columns count: 7
[18-Nov-2025 14:10:26 UTC]    Language field in books: YES
[18-Nov-2025 14:10:26 UTC]    Format field in books: YES
[18-Nov-2025 14:10:26 UTC]    Description field in categories: YES
[18-Nov-2025 14:10:26 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:10:26 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:10:26 UTC]    Is_active field in books: YES
[18-Nov-2025 14:10:26 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:10:26 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:10:26 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:10:26 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:10:26 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:10:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:10:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:10:26 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:10:26 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:10:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:10:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:10:26 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:10:26 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:11:23 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:11:23 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:11:23 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:11:23 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:11:23 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:11:23 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:11:23 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:11:23 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:11:23 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:11:23 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:11:23 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:11:23 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:11:23 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:11:23 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:11:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:11:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:11:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:11:23 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:11:23 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:11:23 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:11:23 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:11:23 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:11:23 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:11:23 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:11:23 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:11:23 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:11:23 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:11:23 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:11:23 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:11:23 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:11:23 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:11:23 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:11:23 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:11:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:11:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:11:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:11:23 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:11:23 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:11:23 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:11:23 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:11:23 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:11:23 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:11:23 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:11:23 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:11:23 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:11:23 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:11:23 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:11:23 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:11:23 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:11:23 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:11:23 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:11:23 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:11:23 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:11:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:11:23 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:11:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:11:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:11:23 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:11:23 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:11:23 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:11:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:11:23 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:11:24 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:11:24 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:11:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:11:24 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:11:24 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:11:24 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:11:24 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:11:24 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:11:24 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:11:24 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:11:24 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:11:24 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:11:24 UTC] 📊 Database Info:
[18-Nov-2025 14:11:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:11:24 UTC]    Books columns count: 53
[18-Nov-2025 14:11:24 UTC]    Categories columns count: 7
[18-Nov-2025 14:11:24 UTC]    Language field in books: YES
[18-Nov-2025 14:11:24 UTC]    Format field in books: YES
[18-Nov-2025 14:11:24 UTC]    Description field in categories: YES
[18-Nov-2025 14:11:24 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:11:24 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:11:24 UTC]    Is_active field in books: YES
[18-Nov-2025 14:11:24 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:11:24 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:11:24 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:11:24 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:11:24 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:11:24 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:11:24 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:11:24 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:11:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:11:24 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:11:24 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:11:24 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:11:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:11:24 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:11:24 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:11:24 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:11:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:11:24 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:11:24 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:11:24 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:11:24 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:11:24 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:11:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:11:24 UTC] 📊 Database Info:
[18-Nov-2025 14:11:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:11:24 UTC]    Books columns count: 53
[18-Nov-2025 14:11:24 UTC]    Categories columns count: 7
[18-Nov-2025 14:11:24 UTC]    Language field in books: YES
[18-Nov-2025 14:11:24 UTC]    Format field in books: YES
[18-Nov-2025 14:11:24 UTC]    Description field in categories: YES
[18-Nov-2025 14:11:24 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:11:24 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:11:24 UTC]    Is_active field in books: YES
[18-Nov-2025 14:11:24 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:11:24 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:11:24 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:11:24 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:11:24 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:11:24 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:11:24 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:11:24 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:11:24 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:11:24 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:11:24 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:11:24 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:11:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:11:24 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:11:24 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:11:24 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:11:24 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:11:24 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:11:24 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:11:24 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:11:24 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:11:24 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:11:24 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:11:24 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:11:24 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:11:24 UTC] 📊 Database Info:
[18-Nov-2025 14:11:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:11:24 UTC]    Books columns count: 53
[18-Nov-2025 14:11:24 UTC]    Categories columns count: 7
[18-Nov-2025 14:11:24 UTC]    Language field in books: YES
[18-Nov-2025 14:11:24 UTC]    Format field in books: YES
[18-Nov-2025 14:11:24 UTC]    Description field in categories: YES
[18-Nov-2025 14:11:24 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:11:24 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:11:24 UTC]    Is_active field in books: YES
[18-Nov-2025 14:11:24 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:11:24 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:11:24 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:11:24 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:11:24 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:11:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:11:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:11:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:11:24 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:11:24 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:13:52 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:13:52 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:13:52 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:13:52 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:13:52 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:13:52 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:13:52 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:13:52 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:13:52 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:13:52 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:13:52 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:13:52 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:13:52 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:13:52 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:13:52 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:13:52 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:13:52 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:13:52 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:13:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:13:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:13:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:13:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:13:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:13:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:13:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:13:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:13:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:13:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:13:53 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:13:53 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:13:53 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:13:53 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:13:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:13:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:13:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:13:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:13:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:13:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:13:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:13:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:13:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:13:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:13:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:13:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:13:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:13:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:13:53 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:13:53 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:13:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:13:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:13:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:13:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:13:53 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:13:53 UTC] 📊 Database Info:
[18-Nov-2025 14:13:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:13:53 UTC]    Books columns count: 53
[18-Nov-2025 14:13:53 UTC]    Categories columns count: 7
[18-Nov-2025 14:13:53 UTC]    Language field in books: YES
[18-Nov-2025 14:13:53 UTC]    Format field in books: YES
[18-Nov-2025 14:13:53 UTC]    Description field in categories: YES
[18-Nov-2025 14:13:53 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:13:53 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:13:53 UTC]    Is_active field in books: YES
[18-Nov-2025 14:13:53 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:13:53 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:13:53 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:13:53 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:13:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:13:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:13:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:13:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:13:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:13:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:13:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:13:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:13:53 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:13:53 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:13:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:13:53 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:13:53 UTC] 📊 Database Info:
[18-Nov-2025 14:13:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:13:53 UTC]    Books columns count: 53
[18-Nov-2025 14:13:53 UTC]    Categories columns count: 7
[18-Nov-2025 14:13:53 UTC]    Language field in books: YES
[18-Nov-2025 14:13:53 UTC]    Format field in books: YES
[18-Nov-2025 14:13:53 UTC]    Description field in categories: YES
[18-Nov-2025 14:13:53 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:13:53 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:13:53 UTC]    Is_active field in books: YES
[18-Nov-2025 14:13:53 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:13:53 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:13:53 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:13:53 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:13:53 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:13:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:13:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:13:53 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:13:53 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:13:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:13:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:13:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:13:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:13:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:13:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:13:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:13:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:13:53 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:13:53 UTC] 📊 Database Info:
[18-Nov-2025 14:13:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:13:53 UTC]    Books columns count: 53
[18-Nov-2025 14:13:53 UTC]    Categories columns count: 7
[18-Nov-2025 14:13:53 UTC]    Language field in books: YES
[18-Nov-2025 14:13:53 UTC]    Format field in books: YES
[18-Nov-2025 14:13:53 UTC]    Description field in categories: YES
[18-Nov-2025 14:13:53 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:13:53 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:13:53 UTC]    Is_active field in books: YES
[18-Nov-2025 14:13:53 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:13:53 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:13:53 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:13:53 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:13:53 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:13:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:13:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:14:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:14:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:14:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:14:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:14:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:14:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:14:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:14:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:14:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:14:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:14:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:14:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:14:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:14:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:14:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:14:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:14:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:14:20 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:14:20 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:14:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:14:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:14:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:14:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:14:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:14:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:14:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:14:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:14:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:14:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:14:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:14:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:14:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:14:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:14:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:14:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:14:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:14:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:14:21 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:14:21 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:14:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:14:21 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:14:21 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:14:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:14:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:14:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:14:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:14:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:14:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:14:21 UTC] 📊 Database Info:
[18-Nov-2025 14:14:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:14:21 UTC]    Books columns count: 53
[18-Nov-2025 14:14:21 UTC]    Categories columns count: 7
[18-Nov-2025 14:14:21 UTC]    Language field in books: YES
[18-Nov-2025 14:14:21 UTC]    Format field in books: YES
[18-Nov-2025 14:14:21 UTC]    Description field in categories: YES
[18-Nov-2025 14:14:21 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:14:21 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:14:21 UTC]    Is_active field in books: YES
[18-Nov-2025 14:14:21 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:14:21 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:14:21 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:14:21 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:14:21 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:14:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:14:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:14:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:14:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:14:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:14:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:14:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:14:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:14:21 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:14:21 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:14:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:14:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:14:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:14:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:14:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:14:21 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:14:21 UTC] 📊 Database Info:
[18-Nov-2025 14:14:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:14:21 UTC]    Books columns count: 53
[18-Nov-2025 14:14:21 UTC]    Categories columns count: 7
[18-Nov-2025 14:14:21 UTC]    Language field in books: YES
[18-Nov-2025 14:14:21 UTC]    Format field in books: YES
[18-Nov-2025 14:14:21 UTC]    Description field in categories: YES
[18-Nov-2025 14:14:21 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:14:21 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:14:21 UTC]    Is_active field in books: YES
[18-Nov-2025 14:14:21 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:14:21 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:14:21 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:14:21 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:14:21 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:14:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:14:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:14:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:14:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:14:21 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:14:21 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:14:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:14:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:14:21 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:14:21 UTC] 📊 Database Info:
[18-Nov-2025 14:14:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:14:21 UTC]    Books columns count: 53
[18-Nov-2025 14:14:21 UTC]    Categories columns count: 7
[18-Nov-2025 14:14:21 UTC]    Language field in books: YES
[18-Nov-2025 14:14:21 UTC]    Format field in books: YES
[18-Nov-2025 14:14:21 UTC]    Description field in categories: YES
[18-Nov-2025 14:14:21 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:14:21 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:14:21 UTC]    Is_active field in books: YES
[18-Nov-2025 14:14:21 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:14:21 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:14:21 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:14:21 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:14:21 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:14:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:14:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:14:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:14:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:14:24 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:14:24 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:14:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:14:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:14:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:14:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:14:24 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:14:24 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:14:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:14:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:14:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:14:24 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:14:24 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:14:24 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:14:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:14:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:14:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:14:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:14:24 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:14:24 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:14:24 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:14:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:14:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:14:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:14:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:14:24 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:14:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:14:24 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:14:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:14:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:14:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:14:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:14:24 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:14:24 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:14:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:14:24 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:14:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:14:24 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:14:24 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:14:24 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:14:24 UTC] 📊 Database Info:
[18-Nov-2025 14:14:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:14:24 UTC]    Books columns count: 53
[18-Nov-2025 14:14:24 UTC]    Categories columns count: 7
[18-Nov-2025 14:14:24 UTC]    Language field in books: YES
[18-Nov-2025 14:14:24 UTC]    Format field in books: YES
[18-Nov-2025 14:14:24 UTC]    Description field in categories: YES
[18-Nov-2025 14:14:24 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:14:24 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:14:24 UTC]    Is_active field in books: YES
[18-Nov-2025 14:14:24 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:14:24 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:14:24 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:14:24 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:14:24 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:14:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:14:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:14:24 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:14:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:14:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:14:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:14:24 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:14:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:14:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:14:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:14:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:14:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:14:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:14:24 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:14:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:14:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:14:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:14:24 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:14:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:14:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:14:24 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:14:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:14:24 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:14:24 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:14:24 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:14:24 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:14:24 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:14:24 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:14:24 UTC] 📊 Database Info:
[18-Nov-2025 14:14:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:14:24 UTC]    Books columns count: 53
[18-Nov-2025 14:14:24 UTC]    Categories columns count: 7
[18-Nov-2025 14:14:24 UTC]    Language field in books: YES
[18-Nov-2025 14:14:24 UTC]    Format field in books: YES
[18-Nov-2025 14:14:24 UTC]    Description field in categories: YES
[18-Nov-2025 14:14:24 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:14:24 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:14:24 UTC]    Is_active field in books: YES
[18-Nov-2025 14:14:24 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:14:24 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:14:24 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:14:24 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:14:24 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:14:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:14:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:14:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:14:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:14:25 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:14:25 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:14:25 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:14:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:14:25 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:14:25 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:14:25 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:14:25 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:14:25 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:14:25 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:14:25 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:14:25 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:14:25 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:14:25 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:14:25 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:14:25 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:14:25 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:14:25 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:14:25 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:14:25 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:14:25 UTC] 📊 Database Info:
[18-Nov-2025 14:14:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:14:25 UTC]    Books columns count: 53
[18-Nov-2025 14:14:25 UTC]    Categories columns count: 7
[18-Nov-2025 14:14:25 UTC]    Language field in books: YES
[18-Nov-2025 14:14:25 UTC]    Format field in books: YES
[18-Nov-2025 14:14:25 UTC]    Description field in categories: YES
[18-Nov-2025 14:14:25 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:14:25 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:14:25 UTC]    Is_active field in books: YES
[18-Nov-2025 14:14:25 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:14:25 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:14:25 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:14:25 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:14:25 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:14:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:14:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:14:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:14:25 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:14:25 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:16:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:16:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:16:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:16:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:16:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:16:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:16:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:16:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:16:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:16:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:16:59 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:16:59 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:16:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:16:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:16:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:16:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:16:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:16:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:16:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:16:59 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:16:59 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:16:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:16:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:16:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:16:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:16:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:16:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:16:59 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:16:59 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:16:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:16:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:16:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:16:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:16:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:16:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:16:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:16:59 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:16:59 UTC] 📊 Database Info:
[18-Nov-2025 14:16:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:16:59 UTC]    Books columns count: 53
[18-Nov-2025 14:16:59 UTC]    Categories columns count: 7
[18-Nov-2025 14:16:59 UTC]    Language field in books: YES
[18-Nov-2025 14:16:59 UTC]    Format field in books: YES
[18-Nov-2025 14:16:59 UTC]    Description field in categories: YES
[18-Nov-2025 14:16:59 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:16:59 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:16:59 UTC]    Is_active field in books: YES
[18-Nov-2025 14:16:59 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:16:59 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:16:59 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:16:59 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:16:59 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:16:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:16:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:16:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:16:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:16:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:16:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:16:59 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:16:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:16:59 UTC] 📊 Database Info:
[18-Nov-2025 14:16:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:16:59 UTC]    Books columns count: 53
[18-Nov-2025 14:16:59 UTC]    Categories columns count: 7
[18-Nov-2025 14:16:59 UTC]    Language field in books: YES
[18-Nov-2025 14:16:59 UTC]    Format field in books: YES
[18-Nov-2025 14:16:59 UTC]    Description field in categories: YES
[18-Nov-2025 14:16:59 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:16:59 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:16:59 UTC]    Is_active field in books: YES
[18-Nov-2025 14:16:59 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:16:59 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:16:59 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:16:59 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:16:59 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:16:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:16:59 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:16:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:16:59 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:16:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:16:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:16:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:16:59 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:16:59 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:16:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:16:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:16:59 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:16:59 UTC] 📊 Database Info:
[18-Nov-2025 14:16:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:16:59 UTC]    Books columns count: 53
[18-Nov-2025 14:16:59 UTC]    Categories columns count: 7
[18-Nov-2025 14:16:59 UTC]    Language field in books: YES
[18-Nov-2025 14:16:59 UTC]    Format field in books: YES
[18-Nov-2025 14:16:59 UTC]    Description field in categories: YES
[18-Nov-2025 14:16:59 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:16:59 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:16:59 UTC]    Is_active field in books: YES
[18-Nov-2025 14:16:59 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:16:59 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:16:59 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:16:59 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:16:59 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:16:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:16:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:17:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:17:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:17:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:17:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:17:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:17:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:17:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:17:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:17:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:17:21 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:17:21 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:17:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:17:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:17:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:17:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:17:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:17:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:17:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:17:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:17:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:17:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:17:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:17:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:17:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:17:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:17:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:17:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:17:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:17:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:17:21 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:17:21 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:17:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:17:21 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:17:21 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:17:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:17:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:17:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:17:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:17:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:17:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:17:21 UTC] 📊 Database Info:
[18-Nov-2025 14:17:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:17:21 UTC]    Books columns count: 53
[18-Nov-2025 14:17:21 UTC]    Categories columns count: 7
[18-Nov-2025 14:17:21 UTC]    Language field in books: YES
[18-Nov-2025 14:17:21 UTC]    Format field in books: YES
[18-Nov-2025 14:17:21 UTC]    Description field in categories: YES
[18-Nov-2025 14:17:21 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:17:21 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:17:21 UTC]    Is_active field in books: YES
[18-Nov-2025 14:17:21 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:17:21 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:17:21 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:17:21 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:17:21 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:17:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:17:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:17:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:17:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:17:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:17:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:17:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:17:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:17:21 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:17:21 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:17:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:17:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:17:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:17:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:17:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:17:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:17:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:17:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:17:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:17:21 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:17:21 UTC] 📊 Database Info:
[18-Nov-2025 14:17:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:17:21 UTC]    Books columns count: 53
[18-Nov-2025 14:17:21 UTC]    Categories columns count: 7
[18-Nov-2025 14:17:21 UTC]    Language field in books: YES
[18-Nov-2025 14:17:21 UTC]    Format field in books: YES
[18-Nov-2025 14:17:21 UTC]    Description field in categories: YES
[18-Nov-2025 14:17:21 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:17:21 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:17:21 UTC]    Is_active field in books: YES
[18-Nov-2025 14:17:21 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:17:21 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:17:21 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:17:21 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:17:21 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:17:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:17:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:17:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:17:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:17:21 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:17:21 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:17:21 UTC] 📊 Database Info:
[18-Nov-2025 14:17:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:17:21 UTC]    Books columns count: 53
[18-Nov-2025 14:17:21 UTC]    Categories columns count: 7
[18-Nov-2025 14:17:21 UTC]    Language field in books: YES
[18-Nov-2025 14:17:21 UTC]    Format field in books: YES
[18-Nov-2025 14:17:21 UTC]    Description field in categories: YES
[18-Nov-2025 14:17:21 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:17:21 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:17:21 UTC]    Is_active field in books: YES
[18-Nov-2025 14:17:21 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:17:21 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:17:21 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:17:21 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:17:21 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:17:21 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:17:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:17:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:22:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:22:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:22:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:22:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:22:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:22:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:22:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:22:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:22:53 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:22:53 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:22:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:22:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:22:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:22:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:22:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:22:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:22:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:22:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:22:53 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:22:53 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:22:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:22:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:22:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:22:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:22:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:22:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:22:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:22:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:22:53 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:22:53 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:22:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:22:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:22:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:22:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:22:53 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:22:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:22:53 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:22:53 UTC] 📊 Database Info:
[18-Nov-2025 14:22:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:22:53 UTC]    Books columns count: 53
[18-Nov-2025 14:22:53 UTC]    Categories columns count: 7
[18-Nov-2025 14:22:53 UTC]    Language field in books: YES
[18-Nov-2025 14:22:53 UTC]    Format field in books: YES
[18-Nov-2025 14:22:53 UTC]    Description field in categories: YES
[18-Nov-2025 14:22:53 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:22:53 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:22:53 UTC]    Is_active field in books: YES
[18-Nov-2025 14:22:53 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:22:53 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:22:53 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:22:53 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:22:53 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:22:53 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:22:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:22:53 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:22:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:22:53 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:22:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:22:53 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:22:53 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:22:53 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:22:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:22:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:22:53 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:22:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:22:53 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:22:53 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:22:53 UTC] 📊 Database Info:
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:22:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:22:53 UTC]    Books columns count: 53
[18-Nov-2025 14:22:53 UTC]    Categories columns count: 7
[18-Nov-2025 14:22:53 UTC]    Language field in books: YES
[18-Nov-2025 14:22:53 UTC]    Format field in books: YES
[18-Nov-2025 14:22:53 UTC]    Description field in categories: YES
[18-Nov-2025 14:22:53 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:22:53 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:22:53 UTC]    Is_active field in books: YES
[18-Nov-2025 14:22:53 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:22:53 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:22:53 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:22:53 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:22:53 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:22:53 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:22:53 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:22:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:22:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:22:53 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:22:53 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:22:53 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:22:53 UTC] 📊 Database Info:
[18-Nov-2025 14:22:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:22:53 UTC]    Books columns count: 53
[18-Nov-2025 14:22:53 UTC]    Categories columns count: 7
[18-Nov-2025 14:22:53 UTC]    Language field in books: YES
[18-Nov-2025 14:22:53 UTC]    Format field in books: YES
[18-Nov-2025 14:22:53 UTC]    Description field in categories: YES
[18-Nov-2025 14:22:53 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:22:53 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:22:53 UTC]    Is_active field in books: YES
[18-Nov-2025 14:22:53 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:22:53 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:22:53 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:22:53 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:22:53 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:22:53 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:22:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:25:30 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:25:30 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:25:30 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:25:30 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:25:30 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:25:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:25:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:25:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:25:30 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:25:30 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:25:30 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:25:30 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:25:30 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:25:30 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:25:30 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:25:30 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:25:30 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:25:30 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:25:30 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:25:30 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:25:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:25:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:25:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:25:30 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:25:30 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:25:30 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:25:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:25:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:25:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:25:30 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:25:30 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:25:30 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:25:30 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:25:30 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:25:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:25:30 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:25:30 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:25:30 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:25:30 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:25:30 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:25:30 UTC] 📊 Database Info:
[18-Nov-2025 14:25:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:25:30 UTC]    Books columns count: 53
[18-Nov-2025 14:25:30 UTC]    Categories columns count: 7
[18-Nov-2025 14:25:30 UTC]    Language field in books: YES
[18-Nov-2025 14:25:30 UTC]    Format field in books: YES
[18-Nov-2025 14:25:30 UTC]    Description field in categories: YES
[18-Nov-2025 14:25:30 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:25:30 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:25:30 UTC]    Is_active field in books: YES
[18-Nov-2025 14:25:30 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:25:30 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:25:30 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:25:30 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:25:30 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:25:30 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:25:30 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:25:30 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:25:30 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:25:30 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:25:30 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:25:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:25:30 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:25:30 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:25:30 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:25:30 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:25:30 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:25:30 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:25:30 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:25:30 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:25:30 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:25:30 UTC] 📊 Database Info:
[18-Nov-2025 14:25:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:25:30 UTC]    Books columns count: 53
[18-Nov-2025 14:25:30 UTC]    Categories columns count: 7
[18-Nov-2025 14:25:30 UTC]    Language field in books: YES
[18-Nov-2025 14:25:30 UTC]    Format field in books: YES
[18-Nov-2025 14:25:30 UTC]    Description field in categories: YES
[18-Nov-2025 14:25:30 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:25:30 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:25:30 UTC]    Is_active field in books: YES
[18-Nov-2025 14:25:30 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:25:30 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:25:30 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:25:30 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:25:30 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:25:30 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:25:30 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:25:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:25:30 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:25:30 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:25:30 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:25:30 UTC] 📊 Database Info:
[18-Nov-2025 14:25:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:25:30 UTC]    Books columns count: 53
[18-Nov-2025 14:25:30 UTC]    Categories columns count: 7
[18-Nov-2025 14:25:30 UTC]    Language field in books: YES
[18-Nov-2025 14:25:30 UTC]    Format field in books: YES
[18-Nov-2025 14:25:30 UTC]    Description field in categories: YES
[18-Nov-2025 14:25:30 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:25:30 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:25:30 UTC]    Is_active field in books: YES
[18-Nov-2025 14:25:30 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:25:30 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:25:30 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:25:30 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:25:30 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:25:30 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:25:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:25:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:25:30 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:25:30 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:25:32 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:25:32 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:25:32 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:25:32 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:25:32 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:25:33 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:25:33 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:25:33 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:25:33 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:25:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:25:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:25:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:25:33 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:25:33 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:25:33 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:25:33 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:25:33 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:25:33 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:25:33 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:25:33 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:25:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:25:33 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:25:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:25:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:25:33 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:25:33 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:25:33 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:25:33 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:25:33 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:25:33 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:25:33 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:25:33 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:25:33 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:25:33 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:25:33 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:25:33 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:25:33 UTC] 📊 Database Info:
[18-Nov-2025 14:25:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:25:33 UTC]    Books columns count: 53
[18-Nov-2025 14:25:33 UTC]    Categories columns count: 7
[18-Nov-2025 14:25:33 UTC]    Language field in books: YES
[18-Nov-2025 14:25:33 UTC]    Format field in books: YES
[18-Nov-2025 14:25:33 UTC]    Description field in categories: YES
[18-Nov-2025 14:25:33 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:25:33 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:25:33 UTC]    Is_active field in books: YES
[18-Nov-2025 14:25:33 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:25:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:25:33 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:25:33 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:25:33 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:25:33 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:25:33 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:25:33 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:25:33 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:25:33 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:25:33 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:25:33 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:25:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:25:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:25:33 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:25:33 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:25:33 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:25:33 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:25:33 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:25:33 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:25:33 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:25:33 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:25:33 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:25:33 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:25:33 UTC] 📊 Database Info:
[18-Nov-2025 14:25:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:25:33 UTC]    Books columns count: 53
[18-Nov-2025 14:25:33 UTC]    Categories columns count: 7
[18-Nov-2025 14:25:33 UTC]    Language field in books: YES
[18-Nov-2025 14:25:33 UTC]    Format field in books: YES
[18-Nov-2025 14:25:33 UTC]    Description field in categories: YES
[18-Nov-2025 14:25:33 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:25:33 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:25:33 UTC]    Is_active field in books: YES
[18-Nov-2025 14:25:33 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:25:33 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:25:33 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:25:33 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:25:33 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:25:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:25:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:25:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:25:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:25:33 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:25:36 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:25:36 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:25:36 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:25:36 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:25:36 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:25:36 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:25:36 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:25:36 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:25:36 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:25:36 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:25:36 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:25:36 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:25:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:25:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:25:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:25:36 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:25:36 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:25:36 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:25:36 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:25:36 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:25:36 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:25:36 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:25:36 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:25:36 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:25:36 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:25:36 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:25:36 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:25:36 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:25:36 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:25:36 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:25:36 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:25:36 UTC] 📊 Database Info:
[18-Nov-2025 14:25:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:25:36 UTC]    Books columns count: 53
[18-Nov-2025 14:25:36 UTC]    Categories columns count: 7
[18-Nov-2025 14:25:36 UTC]    Language field in books: YES
[18-Nov-2025 14:25:36 UTC]    Format field in books: YES
[18-Nov-2025 14:25:36 UTC]    Description field in categories: YES
[18-Nov-2025 14:25:36 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:25:36 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:25:36 UTC]    Is_active field in books: YES
[18-Nov-2025 14:25:36 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:25:36 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:25:36 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:25:36 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:25:36 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:25:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:25:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:25:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:25:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:25:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:25:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:25:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:25:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:25:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:25:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:25:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:25:36 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:25:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:26:17 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:26:17 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:26:17 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:26:17 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:26:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:26:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:26:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:26:17 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:26:17 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:26:17 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:26:17 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:26:17 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:26:17 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:26:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:26:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:26:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:26:17 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:26:17 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:26:17 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:26:17 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:26:17 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:26:17 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:26:17 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:26:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:26:17 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:26:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:26:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:26:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:26:17 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:26:17 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:26:17 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:26:17 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:26:17 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:26:17 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:26:17 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:26:17 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:26:17 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:26:17 UTC] 📊 Database Info:
[18-Nov-2025 14:26:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:26:17 UTC]    Books columns count: 53
[18-Nov-2025 14:26:17 UTC]    Categories columns count: 7
[18-Nov-2025 14:26:17 UTC]    Language field in books: YES
[18-Nov-2025 14:26:17 UTC]    Format field in books: YES
[18-Nov-2025 14:26:17 UTC]    Description field in categories: YES
[18-Nov-2025 14:26:17 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:26:17 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:26:17 UTC]    Is_active field in books: YES
[18-Nov-2025 14:26:17 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:26:17 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:26:17 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:26:17 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:26:17 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:26:17 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:26:17 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:26:17 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:26:17 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:26:17 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:26:17 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:26:17 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:26:17 UTC] 📊 Database Info:
[18-Nov-2025 14:26:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:26:17 UTC]    Books columns count: 53
[18-Nov-2025 14:26:17 UTC]    Categories columns count: 7
[18-Nov-2025 14:26:17 UTC]    Language field in books: YES
[18-Nov-2025 14:26:17 UTC]    Format field in books: YES
[18-Nov-2025 14:26:17 UTC]    Description field in categories: YES
[18-Nov-2025 14:26:17 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:26:17 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:26:17 UTC]    Is_active field in books: YES
[18-Nov-2025 14:26:17 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:26:17 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:26:17 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:26:17 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:26:17 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:26:17 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:26:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:26:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:26:17 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:26:17 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:26:17 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:26:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:26:17 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:26:17 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:26:17 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:26:17 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:26:17 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:26:17 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:26:17 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:26:17 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:26:17 UTC] 📊 Database Info:
[18-Nov-2025 14:26:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:26:17 UTC]    Books columns count: 53
[18-Nov-2025 14:26:17 UTC]    Categories columns count: 7
[18-Nov-2025 14:26:17 UTC]    Language field in books: YES
[18-Nov-2025 14:26:17 UTC]    Format field in books: YES
[18-Nov-2025 14:26:17 UTC]    Description field in categories: YES
[18-Nov-2025 14:26:17 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:26:17 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:26:17 UTC]    Is_active field in books: YES
[18-Nov-2025 14:26:17 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:26:17 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:26:17 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:26:17 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:26:17 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:26:17 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:26:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:27:15 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:15 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:15 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:15 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:15 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:15 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:15 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:27:15 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:15 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:15 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:15 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:15 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:15 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:15 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:27:15 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:27:15 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:27:15 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:15 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:15 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:15 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:15 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:15 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:27:15 UTC] 📊 Database Info:
[18-Nov-2025 14:27:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:27:15 UTC]    Books columns count: 53
[18-Nov-2025 14:27:15 UTC]    Categories columns count: 7
[18-Nov-2025 14:27:15 UTC]    Language field in books: YES
[18-Nov-2025 14:27:15 UTC]    Format field in books: YES
[18-Nov-2025 14:27:15 UTC]    Description field in categories: YES
[18-Nov-2025 14:27:15 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:27:15 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:27:15 UTC]    Is_active field in books: YES
[18-Nov-2025 14:27:15 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:27:15 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:27:15 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:27:15 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:27:15 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:15 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:27:15 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:27:15 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:27:15 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:15 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:27:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:27:15 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:27:15 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:27:15 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:15 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:15 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:15 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:15 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:27:15 UTC] 📊 Database Info:
[18-Nov-2025 14:27:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:27:15 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:15 UTC]    Books columns count: 53
[18-Nov-2025 14:27:15 UTC]    Categories columns count: 7
[18-Nov-2025 14:27:15 UTC]    Language field in books: YES
[18-Nov-2025 14:27:15 UTC]    Format field in books: YES
[18-Nov-2025 14:27:15 UTC]    Description field in categories: YES
[18-Nov-2025 14:27:15 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:27:15 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:27:15 UTC]    Is_active field in books: YES
[18-Nov-2025 14:27:15 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:27:15 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:27:15 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:27:15 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:15 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:27:15 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:27:15 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:15 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:27:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:27:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:27:15 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:27:15 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:27:15 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:27:15 UTC] 📊 Database Info:
[18-Nov-2025 14:27:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:27:15 UTC]    Books columns count: 53
[18-Nov-2025 14:27:15 UTC]    Categories columns count: 7
[18-Nov-2025 14:27:15 UTC]    Language field in books: YES
[18-Nov-2025 14:27:15 UTC]    Format field in books: YES
[18-Nov-2025 14:27:15 UTC]    Description field in categories: YES
[18-Nov-2025 14:27:15 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:27:15 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:27:15 UTC]    Is_active field in books: YES
[18-Nov-2025 14:27:15 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:27:15 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:27:15 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:27:15 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:27:15 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:27:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:27:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:27:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:26 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:27:26 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:26 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:27:26 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:27:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:26 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:27:26 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:27:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:26 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:27:26 UTC] 📊 Database Info:
[18-Nov-2025 14:27:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:27:26 UTC]    Books columns count: 53
[18-Nov-2025 14:27:26 UTC]    Categories columns count: 7
[18-Nov-2025 14:27:26 UTC]    Language field in books: YES
[18-Nov-2025 14:27:26 UTC]    Format field in books: YES
[18-Nov-2025 14:27:26 UTC]    Description field in categories: YES
[18-Nov-2025 14:27:26 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:27:26 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:27:26 UTC]    Is_active field in books: YES
[18-Nov-2025 14:27:26 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:27:26 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:27:26 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:27:26 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:27:26 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:27:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:27:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:27:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:27:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:27:26 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:27:26 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:27:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:26 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:27:26 UTC] 📊 Database Info:
[18-Nov-2025 14:27:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:27:26 UTC]    Books columns count: 53
[18-Nov-2025 14:27:26 UTC]    Categories columns count: 7
[18-Nov-2025 14:27:26 UTC]    Language field in books: YES
[18-Nov-2025 14:27:26 UTC]    Format field in books: YES
[18-Nov-2025 14:27:26 UTC]    Description field in categories: YES
[18-Nov-2025 14:27:26 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:27:26 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:27:26 UTC]    Is_active field in books: YES
[18-Nov-2025 14:27:26 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:27:26 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:27:26 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:27:26 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:27:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:26 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:27:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:27:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:27:26 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:27:26 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:27:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:26 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:27:26 UTC] 📊 Database Info:
[18-Nov-2025 14:27:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:27:26 UTC]    Books columns count: 53
[18-Nov-2025 14:27:26 UTC]    Categories columns count: 7
[18-Nov-2025 14:27:26 UTC]    Language field in books: YES
[18-Nov-2025 14:27:26 UTC]    Format field in books: YES
[18-Nov-2025 14:27:26 UTC]    Description field in categories: YES
[18-Nov-2025 14:27:26 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:27:26 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:27:26 UTC]    Is_active field in books: YES
[18-Nov-2025 14:27:26 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:27:26 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:27:26 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:27:26 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:27:26 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:27:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:27:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:27:33 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:33 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:33 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:33 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:33 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:33 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:33 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:33 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:33 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:33 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:33 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:33 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:33 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:33 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:33 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:33 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:27:33 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:33 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:33 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:33 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:33 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:33 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:33 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:33 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:33 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:33 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:33 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:33 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:33 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:33 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:27:33 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:27:33 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:33 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:33 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:33 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:33 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:33 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:33 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:33 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:33 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:33 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:33 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:33 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:33 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:33 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:33 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:27:33 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:27:33 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:33 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:34 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:27:34 UTC] 📊 Database Info:
[18-Nov-2025 14:27:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:27:34 UTC]    Books columns count: 53
[18-Nov-2025 14:27:34 UTC]    Categories columns count: 7
[18-Nov-2025 14:27:34 UTC]    Language field in books: YES
[18-Nov-2025 14:27:34 UTC]    Format field in books: YES
[18-Nov-2025 14:27:34 UTC]    Description field in categories: YES
[18-Nov-2025 14:27:34 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:27:34 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:27:34 UTC]    Is_active field in books: YES
[18-Nov-2025 14:27:34 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:27:34 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:27:34 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:27:34 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:27:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:34 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:27:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:27:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:27:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:27:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:27:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:34 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:27:34 UTC] 📊 Database Info:
[18-Nov-2025 14:27:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:27:34 UTC]    Books columns count: 53
[18-Nov-2025 14:27:34 UTC]    Categories columns count: 7
[18-Nov-2025 14:27:34 UTC]    Language field in books: YES
[18-Nov-2025 14:27:34 UTC]    Format field in books: YES
[18-Nov-2025 14:27:34 UTC]    Description field in categories: YES
[18-Nov-2025 14:27:34 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:27:34 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:27:34 UTC]    Is_active field in books: YES
[18-Nov-2025 14:27:34 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:27:34 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:27:34 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:27:34 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:27:34 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:27:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:27:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:27:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:27:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:27:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:27:34 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:27:34 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:27:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:34 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:27:34 UTC] 📊 Database Info:
[18-Nov-2025 14:27:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:27:34 UTC]    Books columns count: 53
[18-Nov-2025 14:27:34 UTC]    Categories columns count: 7
[18-Nov-2025 14:27:34 UTC]    Language field in books: YES
[18-Nov-2025 14:27:34 UTC]    Format field in books: YES
[18-Nov-2025 14:27:34 UTC]    Description field in categories: YES
[18-Nov-2025 14:27:34 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:27:34 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:27:34 UTC]    Is_active field in books: YES
[18-Nov-2025 14:27:34 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:27:34 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:27:34 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:27:34 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:27:34 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:27:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:27:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:27:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:27:34 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:27:34 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:27:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:43 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:43 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:43 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:43 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:43 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:43 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:43 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:43 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:43 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:43 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:43 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:27:43 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:43 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:43 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:43 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:43 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:43 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:43 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:43 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:43 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:43 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:43 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:43 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:43 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:43 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:43 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:43 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:27:43 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:27:43 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:43 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:43 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:43 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:43 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:27:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:43 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:27:43 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:27:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:44 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:44 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:44 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:44 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:44 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:44 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:44 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:44 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:44 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:44 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:44 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:44 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:44 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:27:44 UTC] 📊 Database Info:
[18-Nov-2025 14:27:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:27:44 UTC]    Books columns count: 53
[18-Nov-2025 14:27:44 UTC]    Categories columns count: 7
[18-Nov-2025 14:27:44 UTC]    Language field in books: YES
[18-Nov-2025 14:27:44 UTC]    Format field in books: YES
[18-Nov-2025 14:27:44 UTC]    Description field in categories: YES
[18-Nov-2025 14:27:44 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:27:44 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:27:44 UTC]    Is_active field in books: YES
[18-Nov-2025 14:27:44 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:27:44 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:27:44 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:27:44 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:27:44 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:27:44 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:27:44 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:27:44 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:27:44 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:27:44 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:44 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:27:44 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:44 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:27:44 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:27:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:27:44 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:27:44 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:27:44 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:27:44 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:44 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:27:44 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:44 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:44 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:44 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:44 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:44 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:44 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:27:44 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:44 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:44 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:44 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:27:44 UTC] 📊 Database Info:
[18-Nov-2025 14:27:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:27:44 UTC]    Books columns count: 53
[18-Nov-2025 14:27:44 UTC]    Categories columns count: 7
[18-Nov-2025 14:27:44 UTC]    Language field in books: YES
[18-Nov-2025 14:27:44 UTC]    Format field in books: YES
[18-Nov-2025 14:27:44 UTC]    Description field in categories: YES
[18-Nov-2025 14:27:44 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:27:44 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:27:44 UTC]    Is_active field in books: YES
[18-Nov-2025 14:27:44 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:27:44 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:27:44 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:27:44 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:27:44 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:27:44 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:27:44 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:27:44 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:27:44 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:27:44 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:27:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:27:44 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:27:44 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:27:44 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:27:44 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:27:44 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:27:44 UTC] 📊 Database Info:
[18-Nov-2025 14:27:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:27:44 UTC]    Books columns count: 53
[18-Nov-2025 14:27:44 UTC]    Categories columns count: 7
[18-Nov-2025 14:27:44 UTC]    Language field in books: YES
[18-Nov-2025 14:27:44 UTC]    Format field in books: YES
[18-Nov-2025 14:27:44 UTC]    Description field in categories: YES
[18-Nov-2025 14:27:44 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:27:44 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:27:44 UTC]    Is_active field in books: YES
[18-Nov-2025 14:27:44 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:27:44 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:27:44 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:27:44 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:27:44 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:27:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:27:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:27:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:27:44 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:27:44 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:33:15 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:33:15 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:33:15 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:33:15 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:33:15 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:33:15 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:33:15 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:33:15 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:33:15 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:33:15 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:33:15 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:33:15 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:33:15 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:33:15 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:33:15 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:33:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:33:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:33:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:33:15 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:33:15 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:33:15 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:33:15 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:33:15 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:33:15 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:33:15 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:33:15 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:33:15 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:33:15 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:33:15 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:33:15 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:33:15 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:33:15 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:33:15 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:33:15 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:33:15 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:33:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:33:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:33:15 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:33:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:33:15 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:33:15 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:33:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:33:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:33:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:33:15 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:33:15 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:33:15 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:33:15 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:33:15 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:33:15 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:33:15 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:33:16 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:33:16 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:33:16 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:33:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:33:16 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:33:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:33:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:33:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:33:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:33:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:33:16 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:33:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:33:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:33:16 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:33:16 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:33:16 UTC] 📊 Database Info:
[18-Nov-2025 14:33:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:33:16 UTC]    Books columns count: 53
[18-Nov-2025 14:33:16 UTC]    Categories columns count: 7
[18-Nov-2025 14:33:16 UTC]    Language field in books: YES
[18-Nov-2025 14:33:16 UTC]    Format field in books: YES
[18-Nov-2025 14:33:16 UTC]    Description field in categories: YES
[18-Nov-2025 14:33:16 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:33:16 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:33:16 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:33:16 UTC]    Is_active field in books: YES
[18-Nov-2025 14:33:16 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:33:16 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:33:16 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:33:16 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:33:16 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:33:16 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:33:16 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:33:16 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:33:16 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:33:16 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:33:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:33:16 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:33:16 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:33:16 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:33:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:33:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:33:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:33:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:33:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:33:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:33:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:33:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:33:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:33:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:33:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:33:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:33:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:33:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:33:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:33:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:33:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:33:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:33:16 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:33:16 UTC] 📊 Database Info:
[18-Nov-2025 14:33:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:33:16 UTC]    Books columns count: 53
[18-Nov-2025 14:33:16 UTC]    Categories columns count: 7
[18-Nov-2025 14:33:16 UTC]    Language field in books: YES
[18-Nov-2025 14:33:16 UTC]    Format field in books: YES
[18-Nov-2025 14:33:16 UTC]    Description field in categories: YES
[18-Nov-2025 14:33:16 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:33:16 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:33:16 UTC]    Is_active field in books: YES
[18-Nov-2025 14:33:16 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:33:16 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:33:16 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:33:16 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:33:16 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:33:16 UTC] 📊 Database Info:
[18-Nov-2025 14:33:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:33:16 UTC]    Books columns count: 53
[18-Nov-2025 14:33:16 UTC]    Categories columns count: 7
[18-Nov-2025 14:33:16 UTC]    Language field in books: YES
[18-Nov-2025 14:33:16 UTC]    Format field in books: YES
[18-Nov-2025 14:33:16 UTC]    Description field in categories: YES
[18-Nov-2025 14:33:16 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:33:16 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:33:16 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:33:16 UTC]    Is_active field in books: YES
[18-Nov-2025 14:33:16 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:33:16 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:33:16 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:33:16 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:33:16 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:33:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:33:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:33:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:33:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:33:16 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:33:16 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:34:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:34:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:34:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:34:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:34:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:34:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:34:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:34:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:34:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:34:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:34:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:34:26 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:34:26 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:34:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:34:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:34:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:34:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:34:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:34:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:34:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:34:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:34:26 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:34:26 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:34:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:34:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:34:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:34:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:34:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:34:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:34:26 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:34:26 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:34:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:34:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:34:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:34:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:34:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:34:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:34:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:34:26 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:34:26 UTC] 📊 Database Info:
[18-Nov-2025 14:34:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:34:26 UTC]    Books columns count: 53
[18-Nov-2025 14:34:26 UTC]    Categories columns count: 7
[18-Nov-2025 14:34:26 UTC]    Language field in books: YES
[18-Nov-2025 14:34:26 UTC]    Format field in books: YES
[18-Nov-2025 14:34:26 UTC]    Description field in categories: YES
[18-Nov-2025 14:34:26 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:34:26 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:34:26 UTC]    Is_active field in books: YES
[18-Nov-2025 14:34:26 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:34:26 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:34:26 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:34:26 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:34:26 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:34:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:34:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:34:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:34:26 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:34:26 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:34:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:34:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:34:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:34:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:34:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:34:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:34:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:34:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:34:26 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:34:26 UTC] 📊 Database Info:
[18-Nov-2025 14:34:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:34:26 UTC]    Books columns count: 53
[18-Nov-2025 14:34:26 UTC]    Categories columns count: 7
[18-Nov-2025 14:34:26 UTC]    Language field in books: YES
[18-Nov-2025 14:34:26 UTC]    Format field in books: YES
[18-Nov-2025 14:34:26 UTC]    Description field in categories: YES
[18-Nov-2025 14:34:26 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:34:26 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:34:26 UTC]    Is_active field in books: YES
[18-Nov-2025 14:34:26 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:34:26 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:34:26 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:34:26 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:34:26 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:34:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:34:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:34:26 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:34:26 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:34:26 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:34:26 UTC] 📊 Database Info:
[18-Nov-2025 14:34:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:34:26 UTC]    Books columns count: 53
[18-Nov-2025 14:34:26 UTC]    Categories columns count: 7
[18-Nov-2025 14:34:26 UTC]    Language field in books: YES
[18-Nov-2025 14:34:26 UTC]    Format field in books: YES
[18-Nov-2025 14:34:26 UTC]    Description field in categories: YES
[18-Nov-2025 14:34:26 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:34:26 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:34:26 UTC]    Is_active field in books: YES
[18-Nov-2025 14:34:26 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:34:26 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:34:26 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:34:26 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:34:26 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:34:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:34:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:36:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:36:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:36:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:36:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:36:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:36:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:36:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:36:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:36:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:36:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:36:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:36:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:36:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:36:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:36:56 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:36:56 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:36:56 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:36:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:36:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:36:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:36:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:36:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:36:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:36:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:36:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:36:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:36:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:36:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:36:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:36:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:36:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:36:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:36:56 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:36:56 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:36:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:36:56 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:36:56 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:36:56 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:36:56 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:36:56 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:36:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:36:56 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:36:56 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:36:56 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:36:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:36:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:36:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:36:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:36:56 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:36:56 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:36:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:36:56 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:36:57 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:36:57 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:36:57 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:36:57 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:36:57 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:36:57 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:36:57 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:36:57 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:36:57 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:36:57 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:36:57 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:36:57 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:36:57 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:36:57 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:36:57 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:36:57 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:36:57 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:36:57 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:36:57 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:36:57 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:36:57 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:36:57 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:36:57 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:36:57 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:36:57 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:36:57 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:36:57 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:36:57 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:36:57 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:36:57 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:36:57 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:36:57 UTC] 📊 Database Info:
[18-Nov-2025 14:36:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:36:57 UTC]    Books columns count: 53
[18-Nov-2025 14:36:57 UTC]    Categories columns count: 7
[18-Nov-2025 14:36:57 UTC]    Language field in books: YES
[18-Nov-2025 14:36:57 UTC]    Format field in books: YES
[18-Nov-2025 14:36:57 UTC]    Description field in categories: YES
[18-Nov-2025 14:36:57 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:36:57 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:36:57 UTC]    Is_active field in books: YES
[18-Nov-2025 14:36:57 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:36:57 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:36:57 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:36:57 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:36:57 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:36:57 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:36:57 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:36:57 UTC] 📊 Database Info:
[18-Nov-2025 14:36:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:36:57 UTC]    Books columns count: 53
[18-Nov-2025 14:36:57 UTC]    Categories columns count: 7
[18-Nov-2025 14:36:57 UTC]    Language field in books: YES
[18-Nov-2025 14:36:57 UTC]    Format field in books: YES
[18-Nov-2025 14:36:57 UTC]    Description field in categories: YES
[18-Nov-2025 14:36:57 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:36:57 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:36:57 UTC]    Is_active field in books: YES
[18-Nov-2025 14:36:57 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:36:57 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:36:57 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:36:57 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:36:57 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:36:57 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:36:57 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:36:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:36:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:36:57 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:36:57 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:36:57 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:36:57 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:36:57 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:36:57 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:36:57 UTC] 📊 Database Info:
[18-Nov-2025 14:36:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:36:57 UTC]    Books columns count: 53
[18-Nov-2025 14:36:57 UTC]    Categories columns count: 7
[18-Nov-2025 14:36:57 UTC]    Language field in books: YES
[18-Nov-2025 14:36:57 UTC]    Format field in books: YES
[18-Nov-2025 14:36:57 UTC]    Description field in categories: YES
[18-Nov-2025 14:36:57 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:36:57 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:36:57 UTC]    Is_active field in books: YES
[18-Nov-2025 14:36:57 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:36:57 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:36:57 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:36:57 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:36:57 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:36:57 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:36:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:36:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:36:57 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:36:57 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:39:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:12 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:39:12 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:12 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:39:12 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:12 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:39:12 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:39:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:13 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:13 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:13 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:13 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:13 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:13 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:13 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:13 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:13 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:13 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:13 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:13 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:13 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:13 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:13 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:13 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:39:13 UTC] 📊 Database Info:
[18-Nov-2025 14:39:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:39:13 UTC]    Books columns count: 53
[18-Nov-2025 14:39:13 UTC]    Categories columns count: 7
[18-Nov-2025 14:39:13 UTC]    Language field in books: YES
[18-Nov-2025 14:39:13 UTC]    Format field in books: YES
[18-Nov-2025 14:39:13 UTC]    Description field in categories: YES
[18-Nov-2025 14:39:13 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:39:13 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:39:13 UTC]    Is_active field in books: YES
[18-Nov-2025 14:39:13 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:39:13 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:39:13 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:39:13 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:39:13 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:39:13 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:39:13 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:39:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:39:13 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:13 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:13 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:13 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:13 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:13 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:13 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:13 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:13 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:13 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:13 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:13 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:13 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:39:13 UTC] 📊 Database Info:
[18-Nov-2025 14:39:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:39:13 UTC]    Books columns count: 53
[18-Nov-2025 14:39:13 UTC]    Categories columns count: 7
[18-Nov-2025 14:39:13 UTC]    Language field in books: YES
[18-Nov-2025 14:39:13 UTC]    Format field in books: YES
[18-Nov-2025 14:39:13 UTC]    Description field in categories: YES
[18-Nov-2025 14:39:13 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:39:13 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:39:13 UTC]    Is_active field in books: YES
[18-Nov-2025 14:39:13 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:39:13 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:39:13 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:39:13 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:39:13 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:39:13 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:39:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:39:13 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:39:13 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:39:13 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:13 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:13 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:13 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:13 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:13 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:13 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:13 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:13 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:13 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:39:13 UTC] 📊 Database Info:
[18-Nov-2025 14:39:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:39:13 UTC]    Books columns count: 53
[18-Nov-2025 14:39:13 UTC]    Categories columns count: 7
[18-Nov-2025 14:39:13 UTC]    Language field in books: YES
[18-Nov-2025 14:39:13 UTC]    Format field in books: YES
[18-Nov-2025 14:39:13 UTC]    Description field in categories: YES
[18-Nov-2025 14:39:13 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:39:13 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:39:13 UTC]    Is_active field in books: YES
[18-Nov-2025 14:39:13 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:39:13 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:39:13 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:39:13 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:39:13 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:39:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:39:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:39:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:39:13 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:39:13 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:39:15 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:15 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:16 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:16 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:16 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:16 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:16 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:39:16 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:39:16 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:16 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:16 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:16 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:16 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:39:16 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:16 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:16 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:16 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:39:16 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:16 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:16 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:16 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:16 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:16 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:39:16 UTC] 📊 Database Info:
[18-Nov-2025 14:39:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:39:16 UTC]    Books columns count: 53
[18-Nov-2025 14:39:16 UTC]    Categories columns count: 7
[18-Nov-2025 14:39:16 UTC]    Language field in books: YES
[18-Nov-2025 14:39:16 UTC]    Format field in books: YES
[18-Nov-2025 14:39:16 UTC]    Description field in categories: YES
[18-Nov-2025 14:39:16 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:39:16 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:39:16 UTC]    Is_active field in books: YES
[18-Nov-2025 14:39:16 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:39:16 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:39:16 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:39:16 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:39:16 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:39:16 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:39:16 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:39:16 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:39:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:39:16 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:39:16 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:16 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:39:16 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:16 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:39:16 UTC] 📊 Database Info:
[18-Nov-2025 14:39:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:39:16 UTC]    Books columns count: 53
[18-Nov-2025 14:39:16 UTC]    Categories columns count: 7
[18-Nov-2025 14:39:16 UTC]    Language field in books: YES
[18-Nov-2025 14:39:16 UTC]    Format field in books: YES
[18-Nov-2025 14:39:16 UTC]    Description field in categories: YES
[18-Nov-2025 14:39:16 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:39:16 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:39:16 UTC]    Is_active field in books: YES
[18-Nov-2025 14:39:16 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:39:16 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:39:16 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:39:16 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:39:16 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:39:16 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:39:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:39:16 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:16 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:16 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:16 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:16 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:39:16 UTC] 📊 Database Info:
[18-Nov-2025 14:39:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:39:16 UTC]    Books columns count: 53
[18-Nov-2025 14:39:16 UTC]    Categories columns count: 7
[18-Nov-2025 14:39:16 UTC]    Language field in books: YES
[18-Nov-2025 14:39:16 UTC]    Format field in books: YES
[18-Nov-2025 14:39:16 UTC]    Description field in categories: YES
[18-Nov-2025 14:39:16 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:39:16 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:39:16 UTC]    Is_active field in books: YES
[18-Nov-2025 14:39:16 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:39:16 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:39:16 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:39:16 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:39:16 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:39:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:39:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:39:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:39:16 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:39:16 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:39:37 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:37 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:38 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:38 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:38 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:38 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:39:38 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:39:38 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:38 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:38 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:38 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:38 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:38 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:38 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:38 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:39:38 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:39:38 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:38 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:38 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:38 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:38 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:38 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:39:38 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:39:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:38 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:38 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:38 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:38 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:38 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:38 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:39:38 UTC] 📊 Database Info:
[18-Nov-2025 14:39:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:39:38 UTC]    Books columns count: 53
[18-Nov-2025 14:39:38 UTC]    Categories columns count: 7
[18-Nov-2025 14:39:38 UTC]    Language field in books: YES
[18-Nov-2025 14:39:38 UTC]    Format field in books: YES
[18-Nov-2025 14:39:38 UTC]    Description field in categories: YES
[18-Nov-2025 14:39:38 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:39:38 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:39:38 UTC]    Is_active field in books: YES
[18-Nov-2025 14:39:38 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:39:38 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:39:38 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:39:38 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:39:38 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:39:38 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:38 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:39:38 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:38 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:39:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:38 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:38 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:38 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:38 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:38 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:38 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:39:38 UTC] 📊 Database Info:
[18-Nov-2025 14:39:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:39:38 UTC]    Books columns count: 53
[18-Nov-2025 14:39:38 UTC]    Categories columns count: 7
[18-Nov-2025 14:39:38 UTC]    Language field in books: YES
[18-Nov-2025 14:39:38 UTC]    Format field in books: YES
[18-Nov-2025 14:39:38 UTC]    Description field in categories: YES
[18-Nov-2025 14:39:38 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:39:38 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:39:38 UTC]    Is_active field in books: YES
[18-Nov-2025 14:39:38 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:39:38 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:39:38 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:39:38 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:39:38 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:39:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:39:38 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:39:38 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:39:38 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:38 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:38 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:39:38 UTC] 📊 Database Info:
[18-Nov-2025 14:39:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:39:38 UTC]    Books columns count: 53
[18-Nov-2025 14:39:38 UTC]    Categories columns count: 7
[18-Nov-2025 14:39:38 UTC]    Language field in books: YES
[18-Nov-2025 14:39:38 UTC]    Format field in books: YES
[18-Nov-2025 14:39:38 UTC]    Description field in categories: YES
[18-Nov-2025 14:39:38 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:39:38 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:39:38 UTC]    Is_active field in books: YES
[18-Nov-2025 14:39:38 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:39:38 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:39:38 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:39:38 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:39:38 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:39:38 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:39:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:39:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:39:38 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:39:38 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:39:41 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:41 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:41 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:41 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:41 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:41 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:41 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:39:41 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:39:41 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:41 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:41 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:41 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:41 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:41 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:41 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:39:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:39:41 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:39:41 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:39:41 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:41 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:41 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:41 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:41 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:39:41 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:41 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:41 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:39:41 UTC] 📊 Database Info:
[18-Nov-2025 14:39:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:39:41 UTC]    Books columns count: 53
[18-Nov-2025 14:39:41 UTC]    Categories columns count: 7
[18-Nov-2025 14:39:41 UTC]    Language field in books: YES
[18-Nov-2025 14:39:41 UTC]    Format field in books: YES
[18-Nov-2025 14:39:41 UTC]    Description field in categories: YES
[18-Nov-2025 14:39:41 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:39:41 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:39:41 UTC]    Is_active field in books: YES
[18-Nov-2025 14:39:41 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:39:41 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:39:41 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:39:41 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:39:41 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:39:41 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:39:41 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:39:41 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:39:41 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:39:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:39:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:39:41 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:39:41 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:41 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:39:41 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:41 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:39:41 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:41 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:39:41 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:39:41 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:39:41 UTC] 📊 Database Info:
[18-Nov-2025 14:39:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:39:41 UTC]    Books columns count: 53
[18-Nov-2025 14:39:41 UTC]    Categories columns count: 7
[18-Nov-2025 14:39:41 UTC]    Language field in books: YES
[18-Nov-2025 14:39:41 UTC]    Format field in books: YES
[18-Nov-2025 14:39:41 UTC]    Description field in categories: YES
[18-Nov-2025 14:39:41 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:39:41 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:39:41 UTC]    Is_active field in books: YES
[18-Nov-2025 14:39:41 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:39:41 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:39:41 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:39:41 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:39:41 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:39:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:39:41 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:39:41 UTC] 📊 Database Info:
[18-Nov-2025 14:39:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:39:41 UTC]    Books columns count: 53
[18-Nov-2025 14:39:41 UTC]    Categories columns count: 7
[18-Nov-2025 14:39:41 UTC]    Language field in books: YES
[18-Nov-2025 14:39:41 UTC]    Format field in books: YES
[18-Nov-2025 14:39:41 UTC]    Description field in categories: YES
[18-Nov-2025 14:39:41 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:39:41 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:39:41 UTC]    Is_active field in books: YES
[18-Nov-2025 14:39:41 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:39:41 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:39:41 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:39:41 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:39:41 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:39:41 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:39:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:39:41 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:39:41 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:40:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:40:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:40:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:40:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:40:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:40:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:40:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:40:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:40:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:40:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:40:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:40:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:40:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:40:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:40:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:40:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:40:21 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:40:21 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:40:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:40:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:40:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:40:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:40:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:40:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:40:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:40:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:40:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:40:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:40:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:40:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:40:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:40:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:40:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:40:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:40:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:40:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:40:21 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:40:21 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:40:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:40:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:40:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:40:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:40:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:40:21 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:40:21 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:40:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:40:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:40:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:40:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:40:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:40:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:40:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:40:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:40:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:40:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:40:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:40:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:40:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:40:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:40:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:40:22 UTC] 📊 Database Info:
[18-Nov-2025 14:40:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:40:22 UTC]    Books columns count: 53
[18-Nov-2025 14:40:22 UTC]    Categories columns count: 7
[18-Nov-2025 14:40:22 UTC]    Language field in books: YES
[18-Nov-2025 14:40:22 UTC]    Format field in books: YES
[18-Nov-2025 14:40:22 UTC]    Description field in categories: YES
[18-Nov-2025 14:40:22 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:40:22 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:40:22 UTC]    Is_active field in books: YES
[18-Nov-2025 14:40:22 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:40:22 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:40:22 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:40:22 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:40:22 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:40:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:40:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:40:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:40:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:40:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:40:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:40:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:40:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:40:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:40:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:40:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:40:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:40:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:40:22 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:40:22 UTC] 📊 Database Info:
[18-Nov-2025 14:40:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:40:22 UTC]    Books columns count: 53
[18-Nov-2025 14:40:22 UTC]    Categories columns count: 7
[18-Nov-2025 14:40:22 UTC]    Language field in books: YES
[18-Nov-2025 14:40:22 UTC]    Format field in books: YES
[18-Nov-2025 14:40:22 UTC]    Description field in categories: YES
[18-Nov-2025 14:40:22 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:40:22 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:40:22 UTC]    Is_active field in books: YES
[18-Nov-2025 14:40:22 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:40:22 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:40:22 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:40:22 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:40:22 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:40:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:40:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:40:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:40:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:40:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:40:22 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:40:22 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:40:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:40:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:40:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:40:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:40:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:40:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:40:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:40:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:40:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:40:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:40:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:40:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:40:22 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:40:22 UTC] 📊 Database Info:
[18-Nov-2025 14:40:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:40:22 UTC]    Books columns count: 53
[18-Nov-2025 14:40:22 UTC]    Categories columns count: 7
[18-Nov-2025 14:40:22 UTC]    Language field in books: YES
[18-Nov-2025 14:40:22 UTC]    Format field in books: YES
[18-Nov-2025 14:40:22 UTC]    Description field in categories: YES
[18-Nov-2025 14:40:22 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:40:22 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:40:22 UTC]    Is_active field in books: YES
[18-Nov-2025 14:40:22 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:40:22 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:40:22 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:40:22 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:40:22 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:40:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:40:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:40:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:40:22 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:40:22 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:40:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:40:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:40:24 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:40:24 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:40:24 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:40:24 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:40:24 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:40:24 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:40:24 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:40:24 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:40:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:40:24 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:40:24 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:40:24 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:40:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:40:24 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:40:24 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:40:24 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:40:24 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:40:24 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:40:24 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:40:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:40:24 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:40:24 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:40:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:40:24 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:40:24 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:40:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:40:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:40:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:40:24 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:40:24 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:40:24 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:40:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:40:24 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:40:24 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:40:24 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:40:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:40:24 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:40:24 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:40:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:40:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:40:24 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:40:24 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:40:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:40:25 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:40:25 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:40:25 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:40:25 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:40:25 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:40:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:40:25 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:40:25 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:40:25 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:40:25 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:40:25 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:40:25 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:40:25 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:40:25 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:40:25 UTC] 📊 Database Info:
[18-Nov-2025 14:40:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:40:25 UTC]    Books columns count: 53
[18-Nov-2025 14:40:25 UTC]    Categories columns count: 7
[18-Nov-2025 14:40:25 UTC]    Language field in books: YES
[18-Nov-2025 14:40:25 UTC]    Format field in books: YES
[18-Nov-2025 14:40:25 UTC]    Description field in categories: YES
[18-Nov-2025 14:40:25 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:40:25 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:40:25 UTC]    Is_active field in books: YES
[18-Nov-2025 14:40:25 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:40:25 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:40:25 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:40:25 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:40:25 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:40:25 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:40:25 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:40:25 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:40:25 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:40:25 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:40:25 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:40:25 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:40:25 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:40:25 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:40:25 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:40:25 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:40:25 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:40:25 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:40:25 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:40:25 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:40:25 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:40:25 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:40:25 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:40:25 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:40:25 UTC] 📊 Database Info:
[18-Nov-2025 14:40:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:40:25 UTC]    Books columns count: 53
[18-Nov-2025 14:40:25 UTC]    Categories columns count: 7
[18-Nov-2025 14:40:25 UTC]    Language field in books: YES
[18-Nov-2025 14:40:25 UTC]    Format field in books: YES
[18-Nov-2025 14:40:25 UTC]    Description field in categories: YES
[18-Nov-2025 14:40:25 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:40:25 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:40:25 UTC]    Is_active field in books: YES
[18-Nov-2025 14:40:25 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:40:25 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:40:25 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:40:25 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:40:25 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:40:25 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:40:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:40:25 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:40:25 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:40:25 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:40:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:40:25 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:40:25 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:40:25 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:40:25 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:40:25 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:40:25 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:40:25 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:40:25 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:40:25 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:40:25 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:40:25 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:40:25 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:40:25 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:40:25 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:40:25 UTC] 📊 Database Info:
[18-Nov-2025 14:40:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:40:25 UTC]    Books columns count: 53
[18-Nov-2025 14:40:25 UTC]    Categories columns count: 7
[18-Nov-2025 14:40:25 UTC]    Language field in books: YES
[18-Nov-2025 14:40:25 UTC]    Format field in books: YES
[18-Nov-2025 14:40:25 UTC]    Description field in categories: YES
[18-Nov-2025 14:40:25 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:40:25 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:40:25 UTC]    Is_active field in books: YES
[18-Nov-2025 14:40:25 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:40:25 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:40:25 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:40:25 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:40:25 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:40:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:40:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:40:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:40:25 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:40:25 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:40:46 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:40:46 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:40:46 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:40:46 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:40:46 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:40:46 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:40:46 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:40:46 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:40:46 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:40:46 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:40:46 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:40:46 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:40:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:46 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:40:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:40:46 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:40:46 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:40:46 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:40:46 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:40:46 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:40:46 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:40:46 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:40:46 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:40:46 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:40:46 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:40:46 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:40:46 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:40:46 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:40:46 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:40:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:46 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:40:46 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:40:46 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:40:46 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:40:46 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:40:46 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:40:46 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:40:46 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:40:46 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:40:46 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:40:46 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:40:46 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:40:46 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:40:46 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:40:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:40:46 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:40:46 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:40:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:40:46 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:40:46 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:40:46 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:40:46 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:40:46 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:40:46 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:40:47 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:40:47 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:40:47 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:40:47 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:40:47 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:40:47 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:40:47 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:40:47 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:40:47 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:40:47 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:40:47 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:40:47 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:40:47 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:40:47 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:40:47 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:40:47 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:40:47 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:40:47 UTC] 📊 Database Info:
[18-Nov-2025 14:40:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:40:47 UTC]    Books columns count: 53
[18-Nov-2025 14:40:47 UTC]    Categories columns count: 7
[18-Nov-2025 14:40:47 UTC]    Language field in books: YES
[18-Nov-2025 14:40:47 UTC]    Format field in books: YES
[18-Nov-2025 14:40:47 UTC]    Description field in categories: YES
[18-Nov-2025 14:40:47 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:40:47 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:40:47 UTC]    Is_active field in books: YES
[18-Nov-2025 14:40:47 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:40:47 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:40:47 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:40:47 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:40:47 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:40:47 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:40:47 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:40:47 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:40:47 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:40:47 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:40:47 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:40:47 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:40:47 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:40:47 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:40:47 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:40:47 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:40:47 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:40:47 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:40:47 UTC] 📊 Database Info:
[18-Nov-2025 14:40:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:40:47 UTC]    Books columns count: 53
[18-Nov-2025 14:40:47 UTC]    Categories columns count: 7
[18-Nov-2025 14:40:47 UTC]    Language field in books: YES
[18-Nov-2025 14:40:47 UTC]    Format field in books: YES
[18-Nov-2025 14:40:47 UTC]    Description field in categories: YES
[18-Nov-2025 14:40:47 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:40:47 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:40:47 UTC]    Is_active field in books: YES
[18-Nov-2025 14:40:47 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:40:47 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:40:47 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:40:47 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:40:47 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:40:47 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:40:47 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:40:47 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:40:47 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:40:47 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:40:47 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:40:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:40:47 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:40:47 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:40:47 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:40:47 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:40:47 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:40:47 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:40:47 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:40:47 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:40:47 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:40:47 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:40:47 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:40:47 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:40:47 UTC] 📊 Database Info:
[18-Nov-2025 14:40:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:40:47 UTC]    Books columns count: 53
[18-Nov-2025 14:40:47 UTC]    Categories columns count: 7
[18-Nov-2025 14:40:47 UTC]    Language field in books: YES
[18-Nov-2025 14:40:47 UTC]    Format field in books: YES
[18-Nov-2025 14:40:47 UTC]    Description field in categories: YES
[18-Nov-2025 14:40:47 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:40:47 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:40:47 UTC]    Is_active field in books: YES
[18-Nov-2025 14:40:47 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:40:47 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:40:47 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:40:47 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:40:47 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:40:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:40:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:40:47 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:40:47 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:40:47 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:40:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:40:47 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:40:47 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:41:08 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:41:08 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:41:08 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:41:09 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:41:09 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:41:09 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:41:09 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:41:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:41:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:41:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:41:09 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:41:09 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:41:09 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:41:09 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:41:09 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:41:09 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:41:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:41:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:41:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:41:09 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:41:09 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:41:09 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:41:09 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:41:09 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:41:09 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:41:09 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:41:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:41:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:41:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:41:09 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:41:09 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:41:09 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:41:09 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:41:09 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:41:09 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:41:09 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:41:09 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:41:09 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:41:09 UTC] 📊 Database Info:
[18-Nov-2025 14:41:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:41:09 UTC]    Books columns count: 53
[18-Nov-2025 14:41:09 UTC]    Categories columns count: 7
[18-Nov-2025 14:41:09 UTC]    Language field in books: YES
[18-Nov-2025 14:41:09 UTC]    Format field in books: YES
[18-Nov-2025 14:41:09 UTC]    Description field in categories: YES
[18-Nov-2025 14:41:09 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:41:09 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:41:09 UTC]    Is_active field in books: YES
[18-Nov-2025 14:41:09 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:41:09 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:41:09 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:41:09 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:41:09 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:41:09 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:41:09 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:41:09 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:41:09 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:41:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:41:09 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:41:09 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:41:09 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:41:09 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:41:09 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:41:09 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:41:09 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:41:09 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:41:09 UTC] 📊 Database Info:
[18-Nov-2025 14:41:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:41:09 UTC]    Books columns count: 53
[18-Nov-2025 14:41:09 UTC]    Categories columns count: 7
[18-Nov-2025 14:41:09 UTC]    Language field in books: YES
[18-Nov-2025 14:41:09 UTC]    Format field in books: YES
[18-Nov-2025 14:41:09 UTC]    Description field in categories: YES
[18-Nov-2025 14:41:09 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:41:09 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:41:09 UTC]    Is_active field in books: YES
[18-Nov-2025 14:41:09 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:41:09 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:41:09 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:41:09 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:41:09 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:41:09 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:41:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:41:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:41:09 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:41:09 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:41:09 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:41:09 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:41:09 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:41:09 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:41:09 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:41:09 UTC] 📊 Database Info:
[18-Nov-2025 14:41:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:41:09 UTC]    Books columns count: 53
[18-Nov-2025 14:41:09 UTC]    Categories columns count: 7
[18-Nov-2025 14:41:09 UTC]    Language field in books: YES
[18-Nov-2025 14:41:09 UTC]    Format field in books: YES
[18-Nov-2025 14:41:09 UTC]    Description field in categories: YES
[18-Nov-2025 14:41:09 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:41:09 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:41:09 UTC]    Is_active field in books: YES
[18-Nov-2025 14:41:09 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:41:09 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:41:09 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:41:09 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:41:09 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:41:09 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:41:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:41:14 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:41:14 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:41:14 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:41:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:41:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:41:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:41:14 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:41:14 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:41:14 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:41:14 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:41:14 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:41:14 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:41:14 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:41:14 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:41:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:41:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:41:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:41:14 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:41:14 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:41:14 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:41:14 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:41:14 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:41:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:41:14 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:41:14 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:41:14 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:41:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:41:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:41:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:41:14 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:41:14 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:41:14 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:41:14 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:41:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:41:14 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:41:14 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:41:14 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:41:14 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:41:14 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:41:14 UTC] 📊 Database Info:
[18-Nov-2025 14:41:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:41:14 UTC]    Books columns count: 53
[18-Nov-2025 14:41:14 UTC]    Categories columns count: 7
[18-Nov-2025 14:41:14 UTC]    Language field in books: YES
[18-Nov-2025 14:41:14 UTC]    Format field in books: YES
[18-Nov-2025 14:41:14 UTC]    Description field in categories: YES
[18-Nov-2025 14:41:14 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:41:14 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:41:14 UTC]    Is_active field in books: YES
[18-Nov-2025 14:41:14 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:41:14 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:41:14 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:41:14 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:41:14 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:41:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:41:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:41:14 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:41:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:41:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:41:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:41:14 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:41:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:41:14 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:41:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:41:14 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:41:14 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:41:14 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:41:15 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:41:15 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:41:15 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:41:15 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:41:15 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:41:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:41:15 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:41:15 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:41:15 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:41:15 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:41:15 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:41:15 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:41:15 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:41:15 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:41:15 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:41:15 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:41:15 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:41:15 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:41:15 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:41:15 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:41:15 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:41:15 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:41:15 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:41:15 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:41:15 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:41:15 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:41:15 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:41:15 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:41:15 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:41:15 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:41:15 UTC] 📊 Database Info:
[18-Nov-2025 14:41:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:41:15 UTC]    Books columns count: 53
[18-Nov-2025 14:41:15 UTC]    Categories columns count: 7
[18-Nov-2025 14:41:15 UTC]    Language field in books: YES
[18-Nov-2025 14:41:15 UTC]    Format field in books: YES
[18-Nov-2025 14:41:15 UTC]    Description field in categories: YES
[18-Nov-2025 14:41:15 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:41:15 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:41:15 UTC]    Is_active field in books: YES
[18-Nov-2025 14:41:15 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:41:15 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:41:15 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:41:15 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:41:15 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:41:15 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:41:15 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:41:15 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:41:15 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:41:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:41:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:41:15 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:41:15 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:41:15 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:41:15 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:41:15 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:41:15 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:41:15 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:41:15 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:41:15 UTC] 📊 Database Info:
[18-Nov-2025 14:41:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:41:15 UTC]    Books columns count: 53
[18-Nov-2025 14:41:15 UTC]    Categories columns count: 7
[18-Nov-2025 14:41:15 UTC]    Language field in books: YES
[18-Nov-2025 14:41:15 UTC]    Format field in books: YES
[18-Nov-2025 14:41:15 UTC]    Description field in categories: YES
[18-Nov-2025 14:41:15 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:41:15 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:41:15 UTC]    Is_active field in books: YES
[18-Nov-2025 14:41:15 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:41:15 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:41:15 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:41:15 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:41:15 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:41:15 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:41:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:46:49 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:46:49 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:46:49 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:46:49 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:46:49 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:46:50 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:46:50 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:46:50 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:46:50 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:46:50 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:46:50 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:46:50 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:46:50 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:46:50 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:46:50 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:46:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:46:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:46:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:46:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:46:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:46:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:46:50 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:46:50 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:46:50 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:46:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:46:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:46:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 14:46:50 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:46:50 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:46:50 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:46:50 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:46:50 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 14:46:50 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column institution already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column language already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:46:50 UTC] ℹ️ Column format already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:46:50 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 14:46:50 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:46:50 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:46:50 UTC] 📊 Database Info:
[18-Nov-2025 14:46:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:46:50 UTC]    Books columns count: 53
[18-Nov-2025 14:46:50 UTC]    Categories columns count: 7
[18-Nov-2025 14:46:50 UTC]    Language field in books: YES
[18-Nov-2025 14:46:50 UTC]    Format field in books: YES
[18-Nov-2025 14:46:50 UTC]    Description field in categories: YES
[18-Nov-2025 14:46:50 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:46:50 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:46:50 UTC]    Is_active field in books: YES
[18-Nov-2025 14:46:50 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:46:50 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:46:50 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:46:50 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:46:50 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:46:50 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:46:50 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:46:50 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:46:50 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:46:50 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:46:50 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:46:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:46:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 14:46:50 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:46:50 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:46:50 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 14:46:50 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:46:50 UTC] 📊 Database Info:
[18-Nov-2025 14:46:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:46:50 UTC]    Books columns count: 53
[18-Nov-2025 14:46:50 UTC]    Categories columns count: 7
[18-Nov-2025 14:46:50 UTC]    Language field in books: YES
[18-Nov-2025 14:46:50 UTC]    Format field in books: YES
[18-Nov-2025 14:46:50 UTC]    Description field in categories: YES
[18-Nov-2025 14:46:50 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:46:50 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:46:50 UTC]    Is_active field in books: YES
[18-Nov-2025 14:46:50 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:46:50 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:46:50 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:46:50 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:46:50 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:46:50 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:46:50 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:46:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 14:46:50 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 14:46:50 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 14:46:50 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 14:46:50 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 14:46:50 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 14:46:50 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 14:46:50 UTC] 📊 Database Info:
[18-Nov-2025 14:46:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 14:46:50 UTC]    Books columns count: 53
[18-Nov-2025 14:46:50 UTC]    Categories columns count: 7
[18-Nov-2025 14:46:50 UTC]    Language field in books: YES
[18-Nov-2025 14:46:50 UTC]    Format field in books: YES
[18-Nov-2025 14:46:50 UTC]    Description field in categories: YES
[18-Nov-2025 14:46:50 UTC]    Display_order field in categories: YES
[18-Nov-2025 14:46:50 UTC]    Is_active field in categories: YES
[18-Nov-2025 14:46:50 UTC]    Is_active field in books: YES
[18-Nov-2025 14:46:50 UTC]    External_download_link field in books: YES
[18-Nov-2025 14:46:50 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 14:46:50 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 14:46:50 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 14:46:50 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 14:46:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 14:46:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:00:33 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:00:33 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:00:33 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:00:33 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:00:33 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:00:33 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:00:33 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:00:33 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:00:33 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:00:33 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:00:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:00:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:00:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:00:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:00:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:00:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:00:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:00:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:00:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:00:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:00:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:00:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:00:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:00:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:00:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:00:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:00:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:00:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:00:34 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:00:34 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:00:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:00:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:00:34 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:00:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:00:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:00:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:00:34 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:00:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:00:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:00:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:00:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:00:34 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:00:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:00:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:00:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:00:34 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:00:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:00:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:00:34 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:00:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:00:34 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:00:34 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:00:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:00:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:00:35 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:00:35 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:00:35 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:00:35 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:00:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:00:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:00:35 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:00:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:00:35 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:00:35 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:00:35 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:00:35 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:00:35 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:00:35 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:00:35 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:00:35 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:00:35 UTC] 📊 Database Info:
[18-Nov-2025 15:00:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:00:35 UTC]    Books columns count: 53
[18-Nov-2025 15:00:35 UTC]    Categories columns count: 7
[18-Nov-2025 15:00:35 UTC]    Language field in books: YES
[18-Nov-2025 15:00:35 UTC]    Format field in books: YES
[18-Nov-2025 15:00:35 UTC]    Description field in categories: YES
[18-Nov-2025 15:00:35 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:00:35 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:00:35 UTC]    Is_active field in books: YES
[18-Nov-2025 15:00:35 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:00:35 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:00:35 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:00:35 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:00:35 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:00:35 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:00:35 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:00:35 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:00:35 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:00:35 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:00:35 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:00:35 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:00:35 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:00:35 UTC] 📊 Database Info:
[18-Nov-2025 15:00:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:00:35 UTC]    Books columns count: 53
[18-Nov-2025 15:00:35 UTC]    Categories columns count: 7
[18-Nov-2025 15:00:35 UTC]    Language field in books: YES
[18-Nov-2025 15:00:35 UTC]    Format field in books: YES
[18-Nov-2025 15:00:35 UTC]    Description field in categories: YES
[18-Nov-2025 15:00:35 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:00:35 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:00:35 UTC]    Is_active field in books: YES
[18-Nov-2025 15:00:35 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:00:35 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:00:35 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:00:35 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:00:35 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:00:35 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:00:35 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:00:35 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:00:35 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:00:35 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:00:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:00:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:00:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 15:00:35 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 15:00:35 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:00:35 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 15:00:35 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:00:35 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:00:35 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:00:35 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:00:35 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:00:35 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:00:35 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:00:35 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:00:35 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:00:35 UTC] 📊 Database Info:
[18-Nov-2025 15:00:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:00:35 UTC]    Books columns count: 53
[18-Nov-2025 15:00:35 UTC]    Categories columns count: 7
[18-Nov-2025 15:00:35 UTC]    Language field in books: YES
[18-Nov-2025 15:00:35 UTC]    Format field in books: YES
[18-Nov-2025 15:00:35 UTC]    Description field in categories: YES
[18-Nov-2025 15:00:35 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:00:35 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:00:35 UTC]    Is_active field in books: YES
[18-Nov-2025 15:00:35 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:00:35 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:00:35 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:00:35 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:00:35 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:00:35 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:00:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:00:35 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 15:00:35 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 15:01:19 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:01:19 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:01:19 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:01:19 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:01:19 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:01:19 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:01:19 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:01:19 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:01:19 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:01:19 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:01:19 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:01:19 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:01:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:01:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:01:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:01:19 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:01:19 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:01:19 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:01:19 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:01:19 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:01:19 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:01:19 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:01:19 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:01:19 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:01:19 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:01:19 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:01:19 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:01:19 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:01:19 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:01:19 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:01:19 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:01:19 UTC] 📊 Database Info:
[18-Nov-2025 15:01:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:01:19 UTC]    Books columns count: 53
[18-Nov-2025 15:01:19 UTC]    Categories columns count: 7
[18-Nov-2025 15:01:19 UTC]    Language field in books: YES
[18-Nov-2025 15:01:19 UTC]    Format field in books: YES
[18-Nov-2025 15:01:19 UTC]    Description field in categories: YES
[18-Nov-2025 15:01:19 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:01:19 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:01:19 UTC]    Is_active field in books: YES
[18-Nov-2025 15:01:19 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:01:19 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:01:19 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:01:19 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:01:19 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:01:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:01:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:01:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:01:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:01:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:01:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:01:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:01:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:01:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:01:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:01:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:01:19 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:01:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:01:19 UTC] ➕ طلب معالجة تصنيف بروفايل - ID: , Name: ddddd, Active: 1
[18-Nov-2025 15:01:19 UTC] 🔍 Checking for duplicate profile category name: 'ddddd'
[18-Nov-2025 15:01:19 UTC] ✅ No duplicate profile category name found
[18-Nov-2025 15:01:19 UTC] ✅ Using default profile category image: uploads/no-imagee.jpg
[18-Nov-2025 15:01:19 UTC] 🆕 Adding new profile category with active status: 1
[18-Nov-2025 15:01:19 UTC] ✅ Profile category saved successfully: ddddd (ID: 27, Active: 1)
[18-Nov-2025 15:01:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:01:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:01:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:01:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:01:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:01:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:01:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:01:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:01:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:01:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:01:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:01:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:01:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:01:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:01:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:01:20 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:01:20 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:01:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:01:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:01:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:01:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:01:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:01:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:01:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:01:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:01:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:01:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:01:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:01:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:01:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:01:20 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:01:20 UTC] 📊 Database Info:
[18-Nov-2025 15:01:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:01:20 UTC]    Books columns count: 53
[18-Nov-2025 15:01:20 UTC]    Categories columns count: 7
[18-Nov-2025 15:01:20 UTC]    Language field in books: YES
[18-Nov-2025 15:01:20 UTC]    Format field in books: YES
[18-Nov-2025 15:01:20 UTC]    Description field in categories: YES
[18-Nov-2025 15:01:20 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:01:20 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:01:20 UTC]    Is_active field in books: YES
[18-Nov-2025 15:01:20 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:01:20 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:01:20 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:01:20 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:01:20 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:01:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:01:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:01:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:01:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:01:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:01:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:01:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:01:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:01:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:01:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:01:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:01:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:01:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:01:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 15:01:20 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 15:01:20 UTC] ✅ إرجاع 6 تصنيف بروفايل
[18-Nov-2025 15:01:27 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:01:27 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:01:27 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:01:27 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:01:27 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:01:27 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:01:27 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:01:27 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:01:27 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:01:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:01:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:01:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:01:27 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:01:27 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:01:27 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:01:27 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:01:27 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:01:27 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:01:27 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:01:27 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:01:27 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:01:27 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:01:27 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:01:27 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:01:27 UTC] 📊 Database Info:
[18-Nov-2025 15:01:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:01:27 UTC]    Books columns count: 53
[18-Nov-2025 15:01:27 UTC]    Categories columns count: 7
[18-Nov-2025 15:01:27 UTC]    Language field in books: YES
[18-Nov-2025 15:01:27 UTC]    Format field in books: YES
[18-Nov-2025 15:01:27 UTC]    Description field in categories: YES
[18-Nov-2025 15:01:27 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:01:27 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:01:27 UTC]    Is_active field in books: YES
[18-Nov-2025 15:01:27 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:01:27 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:01:27 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:01:27 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:01:27 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:01:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:01:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:01:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:01:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:01:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:01:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:01:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:01:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:01:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:01:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:01:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:01:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:01:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:01:27 UTC] ℹ️ Skipping default image deletion: uploads/no-imagee.jpg
[18-Nov-2025 15:01:27 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:01:27 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:01:28 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:01:28 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:01:28 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:01:28 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:01:28 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:01:28 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:01:28 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:01:28 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:01:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:01:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:01:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:01:28 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:01:28 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:01:28 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:01:28 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:01:28 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:01:28 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:01:28 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:01:28 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:01:28 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:01:28 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:01:28 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:01:28 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:01:28 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:01:28 UTC] 📊 Database Info:
[18-Nov-2025 15:01:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:01:28 UTC]    Books columns count: 53
[18-Nov-2025 15:01:28 UTC]    Categories columns count: 7
[18-Nov-2025 15:01:28 UTC]    Language field in books: YES
[18-Nov-2025 15:01:28 UTC]    Format field in books: YES
[18-Nov-2025 15:01:28 UTC]    Description field in categories: YES
[18-Nov-2025 15:01:28 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:01:28 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:01:28 UTC]    Is_active field in books: YES
[18-Nov-2025 15:01:28 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:01:28 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:01:28 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:01:28 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:01:28 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:01:28 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:01:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:01:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 15:01:28 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 15:01:28 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 15:01:39 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:01:39 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:01:39 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:01:39 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:01:39 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:01:39 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:01:39 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:01:39 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:01:39 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:01:39 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:01:39 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:01:39 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:01:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:01:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:01:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:01:39 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:01:39 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:01:39 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:01:39 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:01:40 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:01:40 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:01:40 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:01:40 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:01:40 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:01:40 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:01:40 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:01:40 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:01:40 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:01:40 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:01:40 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:01:40 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:01:40 UTC] 📊 Database Info:
[18-Nov-2025 15:01:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:01:40 UTC]    Books columns count: 53
[18-Nov-2025 15:01:40 UTC]    Categories columns count: 7
[18-Nov-2025 15:01:40 UTC]    Language field in books: YES
[18-Nov-2025 15:01:40 UTC]    Format field in books: YES
[18-Nov-2025 15:01:40 UTC]    Description field in categories: YES
[18-Nov-2025 15:01:40 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:01:40 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:01:40 UTC]    Is_active field in books: YES
[18-Nov-2025 15:01:40 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:01:40 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:01:40 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:01:40 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:01:40 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:01:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:01:40 UTC] 🔄 Processing category - ID: , Name: tt, Active: 1, Remove Image: NO
[18-Nov-2025 15:01:40 UTC] 🔍 Checking for duplicate category name: 'tt'
[18-Nov-2025 15:01:40 UTC] ✅ No duplicate category name found
[18-Nov-2025 15:01:40 UTC] ✅ Using default category image: uploads/no-imagee.jpg
[18-Nov-2025 15:01:40 UTC] 🆕 Adding new category with active status: 1
[18-Nov-2025 15:01:40 UTC] ✅ New category added with ID: 44 and active status: 1
[18-Nov-2025 15:01:40 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:01:40 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:01:40 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:01:40 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:01:40 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:01:40 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:01:40 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:01:40 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:01:40 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:01:40 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:01:40 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:01:40 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:01:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:01:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:01:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:01:40 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:01:40 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:01:40 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:01:40 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:01:40 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:01:40 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:01:40 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:01:40 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:01:40 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:01:40 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:01:40 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:01:40 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:01:40 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:01:40 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:01:40 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:01:40 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:01:40 UTC] 📊 Database Info:
[18-Nov-2025 15:01:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:01:40 UTC]    Books columns count: 53
[18-Nov-2025 15:01:40 UTC]    Categories columns count: 7
[18-Nov-2025 15:01:40 UTC]    Language field in books: YES
[18-Nov-2025 15:01:40 UTC]    Format field in books: YES
[18-Nov-2025 15:01:40 UTC]    Description field in categories: YES
[18-Nov-2025 15:01:40 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:01:40 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:01:40 UTC]    Is_active field in books: YES
[18-Nov-2025 15:01:40 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:01:40 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:01:40 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:01:40 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:01:40 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:01:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:01:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:01:40 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 15:01:40 UTC] ✅ إرجاع 6 تصنيف
[18-Nov-2025 15:02:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:02:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:02:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:02:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:02:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:02:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:02:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:02:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:02:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:02:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:02:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:02:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:02:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:02:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:02:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:02:00 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:02:00 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:02:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:02:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:02:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:02:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:02:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:02:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:02:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:02:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:02:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:02:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:02:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:02:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:02:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:02:00 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:02:00 UTC] 📊 Database Info:
[18-Nov-2025 15:02:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:02:00 UTC]    Books columns count: 53
[18-Nov-2025 15:02:00 UTC]    Categories columns count: 7
[18-Nov-2025 15:02:00 UTC]    Language field in books: YES
[18-Nov-2025 15:02:00 UTC]    Format field in books: YES
[18-Nov-2025 15:02:00 UTC]    Description field in categories: YES
[18-Nov-2025 15:02:00 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:02:00 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:02:00 UTC]    Is_active field in books: YES
[18-Nov-2025 15:02:00 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:02:00 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:02:00 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:02:00 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:02:00 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:02:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:02:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:02:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:02:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:02:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:02:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:02:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:02:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:02:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:02:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:02:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:02:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:02:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:02:00 UTC] 🔄 Processing category - ID: 44, Name: tt, Active: 0, Remove Image: NO
[18-Nov-2025 15:02:00 UTC] 🔍 Checking for duplicate category name: 'tt'
[18-Nov-2025 15:02:00 UTC] ✅ No duplicate category name found
[18-Nov-2025 15:02:00 UTC] 📁 Keeping existing category image: uploads/no-imagee.jpg
[18-Nov-2025 15:02:00 UTC] 🔄 Updating existing category ID: 44
[18-Nov-2025 15:02:00 UTC] ✅ Category updated with new image and active status: 0
[18-Nov-2025 15:02:01 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:02:01 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:02:01 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:02:01 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:02:01 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:02:01 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:02:01 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:02:01 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:02:01 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:02:01 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:02:01 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:02:01 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:02:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:02:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:02:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:02:01 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:02:01 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:02:01 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:02:01 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:02:01 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:02:01 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:02:01 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:02:01 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:02:01 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:02:01 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:02:01 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:02:01 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:02:01 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:02:01 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:02:01 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:02:01 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:02:01 UTC] 📊 Database Info:
[18-Nov-2025 15:02:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:02:01 UTC]    Books columns count: 53
[18-Nov-2025 15:02:01 UTC]    Categories columns count: 7
[18-Nov-2025 15:02:01 UTC]    Language field in books: YES
[18-Nov-2025 15:02:01 UTC]    Format field in books: YES
[18-Nov-2025 15:02:01 UTC]    Description field in categories: YES
[18-Nov-2025 15:02:01 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:02:01 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:02:01 UTC]    Is_active field in books: YES
[18-Nov-2025 15:02:01 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:02:01 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:02:01 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:02:01 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:02:01 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:02:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:02:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:02:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:02:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:02:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:02:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:02:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:02:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:02:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:02:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:02:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:02:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:02:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:02:01 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 15:02:01 UTC] ✅ إرجاع 6 تصنيف
[18-Nov-2025 15:02:06 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:02:06 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:02:06 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:02:06 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:02:06 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:02:06 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:02:06 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:02:06 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:02:06 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:02:06 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:02:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:02:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:02:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:02:06 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:02:06 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:02:06 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:02:06 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:02:06 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:02:06 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:02:06 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:02:06 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:02:06 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:02:06 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:02:06 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:02:06 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:02:06 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:02:06 UTC] 📊 Database Info:
[18-Nov-2025 15:02:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:02:06 UTC]    Books columns count: 53
[18-Nov-2025 15:02:06 UTC]    Categories columns count: 7
[18-Nov-2025 15:02:06 UTC]    Language field in books: YES
[18-Nov-2025 15:02:06 UTC]    Format field in books: YES
[18-Nov-2025 15:02:06 UTC]    Description field in categories: YES
[18-Nov-2025 15:02:06 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:02:06 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:02:06 UTC]    Is_active field in books: YES
[18-Nov-2025 15:02:06 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:02:06 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:02:06 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:02:06 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:02:06 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:02:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:02:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:02:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:02:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:02:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:02:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:02:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:02:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:02:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:02:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:02:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:02:06 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:02:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:02:06 UTC] 🔄 Processing category - ID: 44, Name: tt, Active: 1, Remove Image: NO
[18-Nov-2025 15:02:06 UTC] 🔍 Checking for duplicate category name: 'tt'
[18-Nov-2025 15:02:06 UTC] ✅ No duplicate category name found
[18-Nov-2025 15:02:06 UTC] 📁 Keeping existing category image: uploads/no-imagee.jpg
[18-Nov-2025 15:02:06 UTC] 🔄 Updating existing category ID: 44
[18-Nov-2025 15:02:06 UTC] ✅ Category updated with new image and active status: 1
[18-Nov-2025 15:02:06 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:02:06 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:02:06 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:02:06 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:02:06 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:02:06 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:02:06 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:02:06 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:02:06 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:02:06 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:02:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:02:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:02:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:02:06 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:02:06 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:02:06 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:02:06 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:02:07 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:02:07 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:02:07 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:02:07 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:02:07 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:02:07 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:02:07 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:02:07 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:02:07 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:02:07 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:02:07 UTC] 📊 Database Info:
[18-Nov-2025 15:02:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:02:07 UTC]    Books columns count: 53
[18-Nov-2025 15:02:07 UTC]    Categories columns count: 7
[18-Nov-2025 15:02:07 UTC]    Language field in books: YES
[18-Nov-2025 15:02:07 UTC]    Format field in books: YES
[18-Nov-2025 15:02:07 UTC]    Description field in categories: YES
[18-Nov-2025 15:02:07 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:02:07 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:02:07 UTC]    Is_active field in books: YES
[18-Nov-2025 15:02:07 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:02:07 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:02:07 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:02:07 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:02:07 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:02:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:02:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:02:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:02:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:02:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:02:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:02:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:02:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:02:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:02:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:02:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:02:07 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:02:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:02:07 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 15:02:07 UTC] ✅ إرجاع 6 تصنيف
[18-Nov-2025 15:02:11 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:02:11 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:02:11 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:02:11 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:02:11 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:02:11 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:02:11 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:02:11 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:02:11 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:02:11 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:02:11 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:02:11 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:02:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:02:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:02:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:02:11 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:02:11 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:02:11 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:02:11 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:02:11 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:02:11 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:02:11 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:02:11 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:02:11 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:02:11 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:02:11 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:02:11 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:02:11 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:02:11 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:02:11 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:02:11 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:02:11 UTC] 📊 Database Info:
[18-Nov-2025 15:02:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:02:11 UTC]    Books columns count: 53
[18-Nov-2025 15:02:11 UTC]    Categories columns count: 7
[18-Nov-2025 15:02:11 UTC]    Language field in books: YES
[18-Nov-2025 15:02:11 UTC]    Format field in books: YES
[18-Nov-2025 15:02:11 UTC]    Description field in categories: YES
[18-Nov-2025 15:02:11 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:02:11 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:02:11 UTC]    Is_active field in books: YES
[18-Nov-2025 15:02:11 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:02:11 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:02:11 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:02:11 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:02:11 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:02:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:02:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:02:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:02:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:02:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:02:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:02:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:02:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:02:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:02:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:02:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:02:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:02:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:02:11 UTC] ℹ️ Skipping default image deletion: uploads/no-imagee.jpg
[18-Nov-2025 15:02:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:02:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:02:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:02:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:02:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:02:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:02:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:02:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:02:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:02:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:02:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:02:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:02:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:02:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:02:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:02:12 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:02:12 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:02:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:02:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:02:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:02:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:02:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:02:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:02:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:02:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:02:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:02:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:02:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:02:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:02:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:02:12 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:02:12 UTC] 📊 Database Info:
[18-Nov-2025 15:02:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:02:12 UTC]    Books columns count: 53
[18-Nov-2025 15:02:12 UTC]    Categories columns count: 7
[18-Nov-2025 15:02:12 UTC]    Language field in books: YES
[18-Nov-2025 15:02:12 UTC]    Format field in books: YES
[18-Nov-2025 15:02:12 UTC]    Description field in categories: YES
[18-Nov-2025 15:02:12 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:02:12 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:02:12 UTC]    Is_active field in books: YES
[18-Nov-2025 15:02:12 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:02:12 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:02:12 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:02:12 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:02:12 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:02:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:02:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:02:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:02:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:02:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:02:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:02:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:02:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:02:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:02:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:02:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:02:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:02:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:02:12 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 15:02:12 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 15:33:58 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:33:58 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:33:58 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:33:58 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:33:58 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:33:58 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:33:58 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:33:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:33:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:33:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:33:58 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:33:58 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:33:58 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:33:58 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:33:58 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:33:58 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:33:58 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:33:58 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:33:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:33:58 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:33:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:33:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:33:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:33:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:33:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:33:58 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:33:58 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:33:58 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:33:58 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:33:58 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:33:58 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:33:58 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:33:58 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:33:58 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:33:58 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:33:58 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:33:58 UTC] 📊 Database Info:
[18-Nov-2025 15:33:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:33:58 UTC]    Books columns count: 53
[18-Nov-2025 15:33:58 UTC]    Categories columns count: 7
[18-Nov-2025 15:33:58 UTC]    Language field in books: YES
[18-Nov-2025 15:33:58 UTC]    Format field in books: YES
[18-Nov-2025 15:33:58 UTC]    Description field in categories: YES
[18-Nov-2025 15:33:58 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:33:58 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:33:58 UTC]    Is_active field in books: YES
[18-Nov-2025 15:33:58 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:33:58 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:33:58 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:33:58 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:33:58 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:33:58 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:33:58 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:33:58 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:33:58 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:33:58 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:33:58 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:33:58 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:33:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:33:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 15:33:58 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:33:58 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:33:58 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 15:33:58 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:33:58 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:33:58 UTC] 📊 Database Info:
[18-Nov-2025 15:33:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:33:58 UTC]    Books columns count: 53
[18-Nov-2025 15:33:58 UTC]    Categories columns count: 7
[18-Nov-2025 15:33:58 UTC]    Language field in books: YES
[18-Nov-2025 15:33:58 UTC]    Format field in books: YES
[18-Nov-2025 15:33:58 UTC]    Description field in categories: YES
[18-Nov-2025 15:33:58 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:33:58 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:33:58 UTC]    Is_active field in books: YES
[18-Nov-2025 15:33:58 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:33:58 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:33:58 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:33:58 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:33:58 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:33:58 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:33:58 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:33:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:33:58 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:33:58 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:33:58 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:33:58 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:33:58 UTC] 📊 Database Info:
[18-Nov-2025 15:33:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:33:58 UTC]    Books columns count: 53
[18-Nov-2025 15:33:58 UTC]    Categories columns count: 7
[18-Nov-2025 15:33:58 UTC]    Language field in books: YES
[18-Nov-2025 15:33:58 UTC]    Format field in books: YES
[18-Nov-2025 15:33:58 UTC]    Description field in categories: YES
[18-Nov-2025 15:33:58 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:33:58 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:33:58 UTC]    Is_active field in books: YES
[18-Nov-2025 15:33:58 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:33:58 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:33:58 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:33:58 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:33:58 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:33:58 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:33:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:33:58 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 15:33:58 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 15:34:16 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:34:16 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:34:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:34:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:34:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:34:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:34:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:34:16 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:34:16 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:34:16 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:34:16 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:34:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:34:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:34:16 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:34:16 UTC] 📊 Database Info:
[18-Nov-2025 15:34:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:34:16 UTC]    Books columns count: 53
[18-Nov-2025 15:34:16 UTC]    Categories columns count: 7
[18-Nov-2025 15:34:16 UTC]    Language field in books: YES
[18-Nov-2025 15:34:16 UTC]    Format field in books: YES
[18-Nov-2025 15:34:16 UTC]    Description field in categories: YES
[18-Nov-2025 15:34:16 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:34:16 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:34:16 UTC]    Is_active field in books: YES
[18-Nov-2025 15:34:16 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:34:16 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:34:16 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:34:16 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:34:16 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:34:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:34:16 UTC] ➕ طلب معالجة تصنيف بروفايل - ID: 26, Name: Electronique 2, Active: 0
[18-Nov-2025 15:34:16 UTC] 🔍 Checking for duplicate profile category name: 'Electronique 2'
[18-Nov-2025 15:34:16 UTC] ✅ No duplicate profile category name found
[18-Nov-2025 15:34:16 UTC] 📁 Keeping existing profile category image: uploads/no-imagee.jpg
[18-Nov-2025 15:34:16 UTC] 🔄 Updating existing profile category ID: 26 with active status: 0
[18-Nov-2025 15:34:16 UTC] ✅ Profile category saved successfully: Electronique 2 (ID: 26, Active: 0)
[18-Nov-2025 15:34:16 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:34:16 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:34:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:34:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:34:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:34:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:34:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:34:16 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:34:16 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:34:16 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:34:16 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:34:16 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:34:16 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:34:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:34:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:34:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:34:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:34:16 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:34:16 UTC] 📊 Database Info:
[18-Nov-2025 15:34:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:34:16 UTC]    Books columns count: 53
[18-Nov-2025 15:34:16 UTC]    Categories columns count: 7
[18-Nov-2025 15:34:16 UTC]    Language field in books: YES
[18-Nov-2025 15:34:16 UTC]    Format field in books: YES
[18-Nov-2025 15:34:16 UTC]    Description field in categories: YES
[18-Nov-2025 15:34:16 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:34:16 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:34:16 UTC]    Is_active field in books: YES
[18-Nov-2025 15:34:16 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:34:16 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:34:16 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:34:16 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:34:16 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:34:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:34:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:34:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 15:34:16 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 15:34:16 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 15:34:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:34:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:34:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:34:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:34:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:34:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:34:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:34:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:34:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:34:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:34:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:34:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:34:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:34:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:34:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:34:21 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:34:21 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:34:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:34:21 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:34:21 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:34:21 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:34:21 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:34:21 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:34:21 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:34:21 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:34:21 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:34:21 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:34:21 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:34:21 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:34:21 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:34:21 UTC] 📊 Database Info:
[18-Nov-2025 15:34:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:34:21 UTC]    Books columns count: 53
[18-Nov-2025 15:34:21 UTC]    Categories columns count: 7
[18-Nov-2025 15:34:21 UTC]    Language field in books: YES
[18-Nov-2025 15:34:21 UTC]    Format field in books: YES
[18-Nov-2025 15:34:21 UTC]    Description field in categories: YES
[18-Nov-2025 15:34:21 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:34:21 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:34:21 UTC]    Is_active field in books: YES
[18-Nov-2025 15:34:21 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:34:21 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:34:21 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:34:21 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:34:21 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:34:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:34:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:34:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:34:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:34:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:34:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:34:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:34:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:34:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:34:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:34:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:34:21 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:34:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:34:21 UTC] ➕ طلب معالجة تصنيف بروفايل - ID: 26, Name: Electronique 2, Active: 1
[18-Nov-2025 15:34:21 UTC] 🔍 Checking for duplicate profile category name: 'Electronique 2'
[18-Nov-2025 15:34:21 UTC] ✅ No duplicate profile category name found
[18-Nov-2025 15:34:21 UTC] 📁 Keeping existing profile category image: uploads/no-imagee.jpg
[18-Nov-2025 15:34:21 UTC] 🔄 Updating existing profile category ID: 26 with active status: 1
[18-Nov-2025 15:34:21 UTC] ✅ Profile category saved successfully: Electronique 2 (ID: 26, Active: 1)
[18-Nov-2025 15:34:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:34:21 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:34:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:34:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:34:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:34:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:34:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:34:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:34:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:34:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:34:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:34:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:34:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:34:22 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:34:22 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:34:22 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:34:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:34:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:34:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:34:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:34:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:34:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:34:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:34:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:34:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:34:22 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:34:22 UTC] 📊 Database Info:
[18-Nov-2025 15:34:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:34:22 UTC]    Books columns count: 53
[18-Nov-2025 15:34:22 UTC]    Categories columns count: 7
[18-Nov-2025 15:34:22 UTC]    Language field in books: YES
[18-Nov-2025 15:34:22 UTC]    Format field in books: YES
[18-Nov-2025 15:34:22 UTC]    Description field in categories: YES
[18-Nov-2025 15:34:22 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:34:22 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:34:22 UTC]    Is_active field in books: YES
[18-Nov-2025 15:34:22 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:34:22 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:34:22 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:34:22 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:34:22 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:34:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:34:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 15:34:22 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 15:34:22 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 15:37:04 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:37:04 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:37:04 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:37:04 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:37:04 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:37:04 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:37:04 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:37:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:37:04 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:37:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:37:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:37:04 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:37:04 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:37:04 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:37:04 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:37:04 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:37:04 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:37:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:37:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:37:04 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:37:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:37:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:37:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:37:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:37:04 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:37:04 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:37:04 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:37:04 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:37:04 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:37:04 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:37:04 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:37:04 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:37:04 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:37:04 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:37:04 UTC] 📊 Database Info:
[18-Nov-2025 15:37:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:37:04 UTC]    Books columns count: 53
[18-Nov-2025 15:37:04 UTC]    Categories columns count: 7
[18-Nov-2025 15:37:04 UTC]    Language field in books: YES
[18-Nov-2025 15:37:04 UTC]    Format field in books: YES
[18-Nov-2025 15:37:04 UTC]    Description field in categories: YES
[18-Nov-2025 15:37:04 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:37:04 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:37:04 UTC]    Is_active field in books: YES
[18-Nov-2025 15:37:04 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:37:04 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:37:04 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:37:04 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:37:04 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:37:04 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:37:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:37:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 15:37:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 15:37:04 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 15:37:04 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:37:04 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:37:04 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:37:04 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:37:04 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:37:04 UTC] 📊 Database Info:
[18-Nov-2025 15:37:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:37:04 UTC]    Books columns count: 53
[18-Nov-2025 15:37:04 UTC]    Categories columns count: 7
[18-Nov-2025 15:37:04 UTC]    Language field in books: YES
[18-Nov-2025 15:37:04 UTC]    Format field in books: YES
[18-Nov-2025 15:37:04 UTC]    Description field in categories: YES
[18-Nov-2025 15:37:04 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:37:04 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:37:04 UTC]    Is_active field in books: YES
[18-Nov-2025 15:37:04 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:37:04 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:37:04 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:37:04 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:37:04 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:37:04 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:37:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:37:04 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:37:04 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:37:04 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:37:04 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:37:04 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:37:04 UTC] 📊 Database Info:
[18-Nov-2025 15:37:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:37:04 UTC]    Books columns count: 53
[18-Nov-2025 15:37:04 UTC]    Categories columns count: 7
[18-Nov-2025 15:37:04 UTC]    Language field in books: YES
[18-Nov-2025 15:37:04 UTC]    Format field in books: YES
[18-Nov-2025 15:37:04 UTC]    Description field in categories: YES
[18-Nov-2025 15:37:04 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:37:04 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:37:04 UTC]    Is_active field in books: YES
[18-Nov-2025 15:37:04 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:37:04 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:37:04 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:37:04 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:37:04 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:37:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:37:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:37:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 15:37:04 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 15:39:04 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:39:04 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:39:04 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:39:04 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:39:04 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:39:04 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:39:04 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:39:04 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:39:04 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:39:04 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:39:04 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:39:04 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:39:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:39:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:39:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:39:04 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:39:04 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:39:04 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:39:04 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:39:04 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:39:04 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:39:04 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:39:04 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:39:04 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:39:04 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:39:04 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:39:04 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:39:04 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:39:04 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:39:04 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:39:04 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:39:04 UTC] 📊 Database Info:
[18-Nov-2025 15:39:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:39:04 UTC]    Books columns count: 53
[18-Nov-2025 15:39:04 UTC]    Categories columns count: 7
[18-Nov-2025 15:39:04 UTC]    Language field in books: YES
[18-Nov-2025 15:39:04 UTC]    Format field in books: YES
[18-Nov-2025 15:39:04 UTC]    Description field in categories: YES
[18-Nov-2025 15:39:04 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:39:04 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:39:04 UTC]    Is_active field in books: YES
[18-Nov-2025 15:39:04 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:39:04 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:39:04 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:39:04 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:39:04 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:39:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:39:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:39:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:39:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:39:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:39:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:39:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:39:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:39:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:39:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:39:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:39:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:39:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:39:04 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:39:05 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:39:05 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:39:05 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:39:05 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:39:05 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:39:05 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:39:05 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:39:05 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:39:05 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:39:05 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:39:05 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:39:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:39:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:39:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:39:05 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:39:05 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:39:05 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:39:05 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:39:05 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:39:05 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:39:05 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:39:05 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:39:05 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:39:05 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:39:05 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:39:05 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:39:05 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:39:05 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:39:05 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:39:05 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:39:05 UTC] 📊 Database Info:
[18-Nov-2025 15:39:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:39:05 UTC]    Books columns count: 53
[18-Nov-2025 15:39:05 UTC]    Categories columns count: 7
[18-Nov-2025 15:39:05 UTC]    Language field in books: YES
[18-Nov-2025 15:39:05 UTC]    Format field in books: YES
[18-Nov-2025 15:39:05 UTC]    Description field in categories: YES
[18-Nov-2025 15:39:05 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:39:05 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:39:05 UTC]    Is_active field in books: YES
[18-Nov-2025 15:39:05 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:39:05 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:39:05 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:39:05 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:39:05 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:39:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:39:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:39:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:39:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:39:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:39:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:39:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:39:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:39:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:39:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:39:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:39:05 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:39:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:39:32 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:39:32 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:39:32 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:39:32 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:39:32 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:39:32 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:39:32 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:39:32 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:39:32 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:39:32 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:39:32 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:39:32 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:39:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:39:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:39:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:39:32 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:39:32 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:39:32 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:39:32 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:39:32 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:39:32 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:39:32 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:39:32 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:39:32 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:39:32 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:39:32 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:39:32 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:39:32 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:39:32 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:39:32 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:39:32 UTC] 📊 Database Info:
[18-Nov-2025 15:39:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:39:32 UTC]    Books columns count: 53
[18-Nov-2025 15:39:32 UTC]    Categories columns count: 7
[18-Nov-2025 15:39:32 UTC]    Language field in books: YES
[18-Nov-2025 15:39:32 UTC]    Format field in books: YES
[18-Nov-2025 15:39:32 UTC]    Description field in categories: YES
[18-Nov-2025 15:39:32 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:39:32 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:39:32 UTC]    Is_active field in books: YES
[18-Nov-2025 15:39:32 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:39:32 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:39:32 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:39:32 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:39:32 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:39:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:39:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:39:32 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:39:32 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:39:32 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:39:32 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:39:32 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:39:33 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:39:33 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:39:33 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:39:33 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:39:33 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:39:33 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:39:33 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:39:33 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:39:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:39:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:39:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:39:33 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:39:33 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:39:33 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:39:33 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:39:33 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:39:33 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:39:33 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:39:33 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:39:33 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:39:33 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:39:33 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:39:33 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:39:33 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:39:33 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:39:33 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:39:33 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:39:33 UTC] 📊 Database Info:
[18-Nov-2025 15:39:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:39:33 UTC]    Books columns count: 53
[18-Nov-2025 15:39:33 UTC]    Categories columns count: 7
[18-Nov-2025 15:39:33 UTC]    Language field in books: YES
[18-Nov-2025 15:39:33 UTC]    Format field in books: YES
[18-Nov-2025 15:39:33 UTC]    Description field in categories: YES
[18-Nov-2025 15:39:33 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:39:33 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:39:33 UTC]    Is_active field in books: YES
[18-Nov-2025 15:39:33 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:39:33 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:39:33 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:39:33 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:39:33 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:39:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:39:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:39:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:39:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:39:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:39:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:39:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:39:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:39:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:39:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:39:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:39:33 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:39:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:40:02 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:40:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:40:03 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:40:03 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:40:03 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:40:03 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:40:03 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:40:03 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:40:03 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:40:03 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:40:03 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:40:03 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:40:03 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:40:03 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:40:03 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:40:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:40:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:40:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:40:03 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:40:03 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:40:03 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:40:03 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:40:03 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:40:03 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:40:03 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:40:03 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:40:03 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:40:03 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:40:03 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:40:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:40:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:40:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:40:03 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:40:03 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:40:03 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:40:03 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:40:03 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:40:03 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:40:03 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:40:03 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:40:03 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:40:03 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:40:03 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:40:03 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:40:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:40:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:40:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:40:03 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:40:03 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:40:03 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:40:03 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:40:03 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:40:04 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:40:04 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:40:04 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:40:04 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:40:04 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:40:04 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:40:04 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:40:04 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:40:04 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:40:04 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:40:04 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:40:04 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:40:04 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:40:04 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:40:04 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:40:04 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:40:04 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:40:04 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:40:04 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:40:04 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:40:04 UTC] 📊 Database Info:
[18-Nov-2025 15:40:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:40:04 UTC]    Books columns count: 53
[18-Nov-2025 15:40:04 UTC]    Categories columns count: 7
[18-Nov-2025 15:40:04 UTC]    Language field in books: YES
[18-Nov-2025 15:40:04 UTC]    Format field in books: YES
[18-Nov-2025 15:40:04 UTC]    Description field in categories: YES
[18-Nov-2025 15:40:04 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:40:04 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:40:04 UTC]    Is_active field in books: YES
[18-Nov-2025 15:40:04 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:40:04 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:40:04 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:40:04 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:40:04 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:40:04 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:40:04 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:40:04 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:40:04 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:40:04 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:40:04 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:40:04 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:40:04 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:40:04 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:40:04 UTC] 📊 Database Info:
[18-Nov-2025 15:40:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:40:04 UTC]    Books columns count: 53
[18-Nov-2025 15:40:04 UTC]    Categories columns count: 7
[18-Nov-2025 15:40:04 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:40:04 UTC]    Language field in books: YES
[18-Nov-2025 15:40:04 UTC]    Format field in books: YES
[18-Nov-2025 15:40:04 UTC]    Description field in categories: YES
[18-Nov-2025 15:40:04 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:40:04 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:40:04 UTC]    Is_active field in books: YES
[18-Nov-2025 15:40:04 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:40:04 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:40:04 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:40:04 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:40:04 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:40:04 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:40:04 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:40:04 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:40:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:40:04 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:40:04 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:40:04 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:40:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:40:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 15:40:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 15:40:04 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 15:40:04 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:40:04 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:40:04 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:40:04 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:40:04 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:40:04 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:40:04 UTC] 📊 Database Info:
[18-Nov-2025 15:40:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:40:04 UTC]    Books columns count: 53
[18-Nov-2025 15:40:04 UTC]    Categories columns count: 7
[18-Nov-2025 15:40:04 UTC]    Language field in books: YES
[18-Nov-2025 15:40:04 UTC]    Format field in books: YES
[18-Nov-2025 15:40:04 UTC]    Description field in categories: YES
[18-Nov-2025 15:40:04 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:40:04 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:40:04 UTC]    Is_active field in books: YES
[18-Nov-2025 15:40:04 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:40:04 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:40:04 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:40:04 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:40:04 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:40:04 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:40:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:40:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 15:40:04 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 15:40:49 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:40:49 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:40:50 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:40:50 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:40:50 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:40:50 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:40:50 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:40:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:40:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:40:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:40:50 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:40:50 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:40:50 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:40:50 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:40:50 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:40:50 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:40:50 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:40:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:40:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:40:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:40:50 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:40:50 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:40:50 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:40:50 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:40:50 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:40:50 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:40:50 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:40:50 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:40:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:40:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:40:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:40:50 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:40:50 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:40:50 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:40:50 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:40:50 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:40:50 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:40:50 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:40:50 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:40:50 UTC] 📊 Database Info:
[18-Nov-2025 15:40:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:40:50 UTC]    Books columns count: 53
[18-Nov-2025 15:40:50 UTC]    Categories columns count: 7
[18-Nov-2025 15:40:50 UTC]    Language field in books: YES
[18-Nov-2025 15:40:50 UTC]    Format field in books: YES
[18-Nov-2025 15:40:50 UTC]    Description field in categories: YES
[18-Nov-2025 15:40:50 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:40:50 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:40:50 UTC]    Is_active field in books: YES
[18-Nov-2025 15:40:50 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:40:50 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:40:50 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:40:50 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:40:50 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:40:50 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:40:50 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:40:50 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:40:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:40:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 15:40:50 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 15:40:50 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 15:40:50 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:40:50 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:40:50 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:40:50 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:40:50 UTC] 📊 Database Info:
[18-Nov-2025 15:40:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:40:50 UTC]    Books columns count: 53
[18-Nov-2025 15:40:50 UTC]    Categories columns count: 7
[18-Nov-2025 15:40:50 UTC]    Language field in books: YES
[18-Nov-2025 15:40:50 UTC]    Format field in books: YES
[18-Nov-2025 15:40:50 UTC]    Description field in categories: YES
[18-Nov-2025 15:40:50 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:40:50 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:40:50 UTC]    Is_active field in books: YES
[18-Nov-2025 15:40:50 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:40:50 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:40:50 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:40:50 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:40:50 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:40:50 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:40:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:40:50 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:40:50 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:40:50 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:40:50 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:40:50 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:40:50 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:40:50 UTC] 📊 Database Info:
[18-Nov-2025 15:40:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:40:50 UTC]    Books columns count: 53
[18-Nov-2025 15:40:50 UTC]    Categories columns count: 7
[18-Nov-2025 15:40:50 UTC]    Language field in books: YES
[18-Nov-2025 15:40:50 UTC]    Format field in books: YES
[18-Nov-2025 15:40:50 UTC]    Description field in categories: YES
[18-Nov-2025 15:40:50 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:40:50 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:40:50 UTC]    Is_active field in books: YES
[18-Nov-2025 15:40:50 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:40:50 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:40:50 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:40:50 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:40:50 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:40:50 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:40:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:40:50 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 15:40:50 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 15:41:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:41:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:41:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:41:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:41:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:41:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:41:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:41:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:41:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:41:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:41:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:41:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:41:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:41:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:41:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:41:00 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:41:00 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:41:00 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:41:00 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:41:00 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:41:00 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:41:00 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:41:00 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:41:00 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:41:00 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:41:00 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:41:00 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:41:00 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:41:00 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:41:00 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:41:00 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:41:00 UTC] 📊 Database Info:
[18-Nov-2025 15:41:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:41:00 UTC]    Books columns count: 53
[18-Nov-2025 15:41:00 UTC]    Categories columns count: 7
[18-Nov-2025 15:41:00 UTC]    Language field in books: YES
[18-Nov-2025 15:41:00 UTC]    Format field in books: YES
[18-Nov-2025 15:41:00 UTC]    Description field in categories: YES
[18-Nov-2025 15:41:00 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:41:00 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:41:00 UTC]    Is_active field in books: YES
[18-Nov-2025 15:41:00 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:41:00 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:41:00 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:41:00 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:41:00 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:41:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:41:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:41:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:41:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:41:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:41:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:41:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:41:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:41:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:41:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:41:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:41:00 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:41:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:41:01 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:41:01 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:41:01 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:41:01 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:41:01 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:41:01 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:41:01 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:41:01 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:41:01 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:41:01 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:41:01 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:41:01 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:41:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:41:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:41:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:41:01 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:41:01 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:41:01 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:41:01 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:41:01 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:41:01 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:41:01 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:41:01 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:41:01 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:41:01 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:41:01 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:41:01 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:41:01 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:41:01 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:41:01 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:41:01 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:41:01 UTC] 📊 Database Info:
[18-Nov-2025 15:41:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:41:01 UTC]    Books columns count: 53
[18-Nov-2025 15:41:01 UTC]    Categories columns count: 7
[18-Nov-2025 15:41:01 UTC]    Language field in books: YES
[18-Nov-2025 15:41:01 UTC]    Format field in books: YES
[18-Nov-2025 15:41:01 UTC]    Description field in categories: YES
[18-Nov-2025 15:41:01 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:41:01 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:41:01 UTC]    Is_active field in books: YES
[18-Nov-2025 15:41:01 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:41:01 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:41:01 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:41:01 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:41:01 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:41:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:41:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:41:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:41:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:41:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:41:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:41:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:41:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:41:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:41:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:41:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:41:01 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:41:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:41:40 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:41:40 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:41:40 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:41:40 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:41:40 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:41:40 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:41:40 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:41:40 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:41:40 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:41:40 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:41:40 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:41:40 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:41:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:41:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:41:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:41:40 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:41:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:41:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:41:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:41:40 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:41:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:41:40 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:41:40 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:41:40 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:41:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:41:40 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:41:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:41:40 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:41:40 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:41:40 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:41:40 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:41:40 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:41:40 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:41:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:41:40 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:41:40 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:41:40 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:41:40 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:41:40 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:41:40 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:41:40 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:41:40 UTC] 📊 Database Info:
[18-Nov-2025 15:41:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:41:40 UTC]    Books columns count: 53
[18-Nov-2025 15:41:40 UTC]    Categories columns count: 7
[18-Nov-2025 15:41:40 UTC]    Language field in books: YES
[18-Nov-2025 15:41:40 UTC]    Format field in books: YES
[18-Nov-2025 15:41:40 UTC]    Description field in categories: YES
[18-Nov-2025 15:41:40 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:41:40 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:41:40 UTC]    Is_active field in books: YES
[18-Nov-2025 15:41:40 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:41:40 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:41:40 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:41:40 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:41:40 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:41:40 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:41:40 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:41:40 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:41:40 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:41:40 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:41:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:41:40 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 15:41:40 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:41:40 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:41:40 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:41:40 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:41:40 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:41:40 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:41:40 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:41:40 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:41:40 UTC] 📊 Database Info:
[18-Nov-2025 15:41:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:41:40 UTC]    Books columns count: 53
[18-Nov-2025 15:41:40 UTC]    Categories columns count: 7
[18-Nov-2025 15:41:40 UTC]    Language field in books: YES
[18-Nov-2025 15:41:40 UTC]    Format field in books: YES
[18-Nov-2025 15:41:40 UTC]    Description field in categories: YES
[18-Nov-2025 15:41:40 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:41:40 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:41:40 UTC]    Is_active field in books: YES
[18-Nov-2025 15:41:40 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:41:40 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:41:40 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:41:40 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:41:40 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:41:40 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:41:40 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:41:40 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:41:40 UTC] 📊 Database Info:
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:41:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:41:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:41:40 UTC]    Books columns count: 53
[18-Nov-2025 15:41:40 UTC]    Categories columns count: 7
[18-Nov-2025 15:41:40 UTC]    Language field in books: YES
[18-Nov-2025 15:41:40 UTC]    Format field in books: YES
[18-Nov-2025 15:41:40 UTC]    Description field in categories: YES
[18-Nov-2025 15:41:40 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:41:40 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:41:40 UTC]    Is_active field in books: YES
[18-Nov-2025 15:41:40 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:41:40 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:41:40 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:41:40 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:41:40 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:41:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:41:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:41:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 15:41:40 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 15:41:40 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 15:43:11 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:43:11 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:43:11 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:43:11 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:43:11 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:43:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:43:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:43:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:43:11 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:43:11 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:43:11 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:43:11 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:43:11 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:43:11 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:43:11 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:43:11 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:43:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:43:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:43:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:43:11 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:43:11 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:43:11 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:43:11 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:43:11 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:43:11 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:43:11 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:43:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:43:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:43:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:43:11 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:43:11 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:43:11 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:43:11 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:43:11 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:43:11 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:43:11 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:43:11 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:43:11 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:43:11 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:43:11 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:43:11 UTC] 📊 Database Info:
[18-Nov-2025 15:43:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:43:11 UTC]    Books columns count: 53
[18-Nov-2025 15:43:11 UTC]    Categories columns count: 7
[18-Nov-2025 15:43:11 UTC]    Language field in books: YES
[18-Nov-2025 15:43:11 UTC]    Format field in books: YES
[18-Nov-2025 15:43:11 UTC]    Description field in categories: YES
[18-Nov-2025 15:43:11 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:43:11 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:43:11 UTC]    Is_active field in books: YES
[18-Nov-2025 15:43:11 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:43:11 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:43:11 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:43:11 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:43:11 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:43:11 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:43:11 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:43:11 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:43:11 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:43:11 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:43:11 UTC] 📊 Database Info:
[18-Nov-2025 15:43:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:43:11 UTC]    Books columns count: 53
[18-Nov-2025 15:43:11 UTC]    Categories columns count: 7
[18-Nov-2025 15:43:11 UTC]    Language field in books: YES
[18-Nov-2025 15:43:11 UTC]    Format field in books: YES
[18-Nov-2025 15:43:11 UTC]    Description field in categories: YES
[18-Nov-2025 15:43:11 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:43:11 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:43:11 UTC]    Is_active field in books: YES
[18-Nov-2025 15:43:11 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:43:11 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:43:11 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:43:11 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:43:11 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:43:11 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:43:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:43:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:43:11 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 15:43:11 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 15:43:11 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:43:11 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:43:11 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:43:11 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:43:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:43:11 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 15:43:11 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 15:43:11 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:43:11 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:43:11 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:43:11 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:43:11 UTC] 📊 Database Info:
[18-Nov-2025 15:43:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:43:11 UTC]    Books columns count: 53
[18-Nov-2025 15:43:11 UTC]    Categories columns count: 7
[18-Nov-2025 15:43:11 UTC]    Language field in books: YES
[18-Nov-2025 15:43:11 UTC]    Format field in books: YES
[18-Nov-2025 15:43:11 UTC]    Description field in categories: YES
[18-Nov-2025 15:43:11 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:43:11 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:43:11 UTC]    Is_active field in books: YES
[18-Nov-2025 15:43:11 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:43:11 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:43:11 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:43:11 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:43:11 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:43:11 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:43:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:43:22 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:43:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:43:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:43:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:43:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:43:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:43:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:43:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:43:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:43:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:43:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:43:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:43:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:43:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:43:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:43:22 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:43:22 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:43:22 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:43:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:43:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:43:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:43:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:43:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:43:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:43:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:43:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:43:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:43:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:43:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:43:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:43:22 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:43:22 UTC] 📊 Database Info:
[18-Nov-2025 15:43:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:43:22 UTC]    Books columns count: 53
[18-Nov-2025 15:43:22 UTC]    Categories columns count: 7
[18-Nov-2025 15:43:22 UTC]    Language field in books: YES
[18-Nov-2025 15:43:22 UTC]    Format field in books: YES
[18-Nov-2025 15:43:22 UTC]    Description field in categories: YES
[18-Nov-2025 15:43:22 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:43:22 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:43:22 UTC]    Is_active field in books: YES
[18-Nov-2025 15:43:22 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:43:22 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:43:22 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:43:22 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:43:22 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:43:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:43:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:48:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:48:43 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:48:43 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:48:43 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:48:43 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:48:43 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:48:43 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:48:43 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:48:43 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:48:43 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:48:43 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:48:43 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:48:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:48:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:48:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:48:43 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:48:43 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:48:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:48:43 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:48:43 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:48:43 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:48:43 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:48:43 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:48:43 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:48:43 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:48:43 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:48:43 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:48:43 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:48:43 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:48:43 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:48:43 UTC] 📊 Database Info:
[18-Nov-2025 15:48:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:48:43 UTC]    Books columns count: 53
[18-Nov-2025 15:48:43 UTC]    Categories columns count: 7
[18-Nov-2025 15:48:43 UTC]    Language field in books: YES
[18-Nov-2025 15:48:43 UTC]    Format field in books: YES
[18-Nov-2025 15:48:43 UTC]    Description field in categories: YES
[18-Nov-2025 15:48:43 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:48:43 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:48:43 UTC]    Is_active field in books: YES
[18-Nov-2025 15:48:43 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:48:43 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:48:43 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:48:43 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:48:43 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:48:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:48:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:48:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:48:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:48:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:48:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:48:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:48:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:48:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:48:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:48:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:48:43 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:48:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:48:43 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:48:43 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:48:43 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:48:43 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:48:43 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:48:43 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:48:43 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:48:43 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:48:43 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:48:43 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:48:43 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:48:43 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:48:43 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:48:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:48:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:48:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:48:44 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:48:44 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:48:44 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:48:44 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:48:44 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:48:44 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:48:44 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:48:44 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:48:44 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:48:44 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:48:44 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:48:44 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:48:44 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:48:44 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:48:44 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:48:44 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:48:44 UTC] 📊 Database Info:
[18-Nov-2025 15:48:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:48:44 UTC]    Books columns count: 53
[18-Nov-2025 15:48:44 UTC]    Categories columns count: 7
[18-Nov-2025 15:48:44 UTC]    Language field in books: YES
[18-Nov-2025 15:48:44 UTC]    Format field in books: YES
[18-Nov-2025 15:48:44 UTC]    Description field in categories: YES
[18-Nov-2025 15:48:44 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:48:44 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:48:44 UTC]    Is_active field in books: YES
[18-Nov-2025 15:48:44 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:48:44 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:48:44 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:48:44 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:48:44 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:48:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:48:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:48:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:48:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:48:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:48:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:48:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:48:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:48:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:48:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:48:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:48:44 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:48:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:50:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:50:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:50:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:50:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:50:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:50:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:50:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:50:20 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:50:20 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:50:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:50:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:50:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:50:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:50:20 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:50:20 UTC] 📊 Database Info:
[18-Nov-2025 15:50:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:50:20 UTC]    Books columns count: 53
[18-Nov-2025 15:50:20 UTC]    Categories columns count: 7
[18-Nov-2025 15:50:20 UTC]    Language field in books: YES
[18-Nov-2025 15:50:20 UTC]    Format field in books: YES
[18-Nov-2025 15:50:20 UTC]    Description field in categories: YES
[18-Nov-2025 15:50:20 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:50:20 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:50:20 UTC]    Is_active field in books: YES
[18-Nov-2025 15:50:20 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:50:20 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:50:20 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:50:20 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:50:20 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:50:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:50:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:50:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:50:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:50:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:50:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:50:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:50:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:50:20 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:50:20 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:50:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:50:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:50:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:50:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:50:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:50:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:50:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:50:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:50:20 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:50:20 UTC] 📊 Database Info:
[18-Nov-2025 15:50:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:50:20 UTC]    Books columns count: 53
[18-Nov-2025 15:50:20 UTC]    Categories columns count: 7
[18-Nov-2025 15:50:20 UTC]    Language field in books: YES
[18-Nov-2025 15:50:20 UTC]    Format field in books: YES
[18-Nov-2025 15:50:20 UTC]    Description field in categories: YES
[18-Nov-2025 15:50:20 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:50:20 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:50:20 UTC]    Is_active field in books: YES
[18-Nov-2025 15:50:20 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:50:20 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:50:20 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:50:20 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:50:20 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:50:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:50:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:50:31 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:50:31 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:50:31 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:50:31 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:50:31 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:50:31 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:50:31 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:50:31 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:50:31 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:50:31 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:50:31 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:50:31 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:50:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:50:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:50:31 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:50:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:50:31 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:50:31 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:50:31 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:50:31 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:50:31 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:50:31 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:50:31 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:50:31 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:50:31 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:50:31 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:50:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:50:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:50:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:50:31 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:50:31 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:50:31 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:50:31 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:50:31 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:50:31 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:50:31 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:50:31 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:50:31 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:50:31 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:50:31 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:50:31 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:50:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:50:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:50:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:50:31 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:50:31 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:50:31 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:50:31 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:50:31 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:50:31 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:50:32 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:50:32 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:50:32 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:50:32 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:50:32 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:50:32 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:50:32 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:50:32 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:50:32 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:50:32 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:50:32 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:50:32 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:50:32 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:50:32 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:50:32 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:50:32 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:50:32 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:50:32 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:50:32 UTC] 📊 Database Info:
[18-Nov-2025 15:50:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:50:32 UTC]    Books columns count: 53
[18-Nov-2025 15:50:32 UTC]    Categories columns count: 7
[18-Nov-2025 15:50:32 UTC]    Language field in books: YES
[18-Nov-2025 15:50:32 UTC]    Format field in books: YES
[18-Nov-2025 15:50:32 UTC]    Description field in categories: YES
[18-Nov-2025 15:50:32 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:50:32 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:50:32 UTC]    Is_active field in books: YES
[18-Nov-2025 15:50:32 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:50:32 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:50:32 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:50:32 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:50:32 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:50:32 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:50:32 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:50:32 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:50:32 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:50:32 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:50:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:50:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 15:50:32 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 15:50:32 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:50:32 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:50:32 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:50:32 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:50:32 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:50:32 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:50:32 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:50:32 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:50:32 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:50:32 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:50:32 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:50:32 UTC] 📊 Database Info:
[18-Nov-2025 15:50:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:50:32 UTC]    Books columns count: 53
[18-Nov-2025 15:50:32 UTC]    Categories columns count: 7
[18-Nov-2025 15:50:32 UTC]    Language field in books: YES
[18-Nov-2025 15:50:32 UTC]    Format field in books: YES
[18-Nov-2025 15:50:32 UTC]    Description field in categories: YES
[18-Nov-2025 15:50:32 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:50:32 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:50:32 UTC]    Is_active field in books: YES
[18-Nov-2025 15:50:32 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:50:32 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:50:32 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:50:32 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:50:32 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:50:32 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:50:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:50:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 15:50:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 15:50:32 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 15:50:32 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:50:32 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:50:32 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:50:32 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:50:32 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:50:32 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:50:32 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:50:32 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:50:32 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:50:32 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:50:32 UTC] 📊 Database Info:
[18-Nov-2025 15:50:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:50:32 UTC]    Books columns count: 53
[18-Nov-2025 15:50:32 UTC]    Categories columns count: 7
[18-Nov-2025 15:50:32 UTC]    Language field in books: YES
[18-Nov-2025 15:50:32 UTC]    Format field in books: YES
[18-Nov-2025 15:50:32 UTC]    Description field in categories: YES
[18-Nov-2025 15:50:32 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:50:32 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:50:32 UTC]    Is_active field in books: YES
[18-Nov-2025 15:50:32 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:50:32 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:50:32 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:50:32 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:50:32 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:50:32 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:50:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:51:19 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:51:19 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:51:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:51:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:51:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:51:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:51:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:51:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:51:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:51:20 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:51:20 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:51:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:51:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:51:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:51:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:51:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:51:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:51:20 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:51:20 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:51:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:51:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:51:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:51:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:51:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:51:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:51:20 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:51:20 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:51:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:51:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:51:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:51:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:51:20 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:51:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:51:20 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:51:20 UTC] 📊 Database Info:
[18-Nov-2025 15:51:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:51:20 UTC]    Books columns count: 53
[18-Nov-2025 15:51:20 UTC]    Categories columns count: 7
[18-Nov-2025 15:51:20 UTC]    Language field in books: YES
[18-Nov-2025 15:51:20 UTC]    Format field in books: YES
[18-Nov-2025 15:51:20 UTC]    Description field in categories: YES
[18-Nov-2025 15:51:20 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:51:20 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:51:20 UTC]    Is_active field in books: YES
[18-Nov-2025 15:51:20 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:51:20 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:51:20 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:51:20 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:51:20 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:51:20 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:51:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:51:20 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:51:20 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 15:51:20 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:51:20 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:51:20 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:51:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:51:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:51:20 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:51:20 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:51:20 UTC] 📊 Database Info:
[18-Nov-2025 15:51:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:51:20 UTC]    Books columns count: 53
[18-Nov-2025 15:51:20 UTC]    Categories columns count: 7
[18-Nov-2025 15:51:20 UTC]    Language field in books: YES
[18-Nov-2025 15:51:20 UTC]    Format field in books: YES
[18-Nov-2025 15:51:20 UTC]    Description field in categories: YES
[18-Nov-2025 15:51:20 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:51:20 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:51:20 UTC]    Is_active field in books: YES
[18-Nov-2025 15:51:20 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:51:20 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:51:20 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:51:20 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:51:20 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:51:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:51:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 15:51:20 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 15:51:20 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 15:51:20 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:51:20 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:51:20 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:51:20 UTC] 📊 Database Info:
[18-Nov-2025 15:51:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:51:20 UTC]    Books columns count: 53
[18-Nov-2025 15:51:20 UTC]    Categories columns count: 7
[18-Nov-2025 15:51:20 UTC]    Language field in books: YES
[18-Nov-2025 15:51:20 UTC]    Format field in books: YES
[18-Nov-2025 15:51:20 UTC]    Description field in categories: YES
[18-Nov-2025 15:51:20 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:51:20 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:51:20 UTC]    Is_active field in books: YES
[18-Nov-2025 15:51:20 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:51:20 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:51:20 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:51:20 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:51:20 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:51:20 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:51:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:58:15 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:58:15 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:58:15 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:58:15 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:58:15 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:58:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:58:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:58:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:58:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:58:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:58:16 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:58:16 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:58:16 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:58:16 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:58:16 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:58:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:58:16 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:58:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:58:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:58:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:58:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:58:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:58:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:58:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:58:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:58:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:58:16 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:58:16 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:58:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 15:58:16 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 15:58:16 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 15:58:16 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column institution already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column language already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column format already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:58:16 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:58:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:58:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:58:16 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:58:16 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:58:16 UTC] 📊 Database Info:
[18-Nov-2025 15:58:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:58:16 UTC]    Books columns count: 53
[18-Nov-2025 15:58:16 UTC]    Categories columns count: 7
[18-Nov-2025 15:58:16 UTC]    Language field in books: YES
[18-Nov-2025 15:58:16 UTC]    Format field in books: YES
[18-Nov-2025 15:58:16 UTC]    Description field in categories: YES
[18-Nov-2025 15:58:16 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:58:16 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:58:16 UTC]    Is_active field in books: YES
[18-Nov-2025 15:58:16 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:58:16 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:58:16 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:58:16 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:58:16 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:58:16 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:58:16 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 15:58:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:58:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:58:16 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:58:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:58:16 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 15:58:16 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 15:58:16 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 15:58:16 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:58:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:58:16 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 15:58:16 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 15:58:16 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:58:16 UTC] 📊 Database Info:
[18-Nov-2025 15:58:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:58:16 UTC]    Books columns count: 53
[18-Nov-2025 15:58:16 UTC]    Categories columns count: 7
[18-Nov-2025 15:58:16 UTC]    Language field in books: YES
[18-Nov-2025 15:58:16 UTC]    Format field in books: YES
[18-Nov-2025 15:58:16 UTC]    Description field in categories: YES
[18-Nov-2025 15:58:16 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:58:16 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:58:16 UTC]    Is_active field in books: YES
[18-Nov-2025 15:58:16 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:58:16 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:58:16 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:58:16 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:58:16 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:58:16 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 15:58:16 UTC] 📊 Database Info:
[18-Nov-2025 15:58:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 15:58:16 UTC]    Books columns count: 53
[18-Nov-2025 15:58:16 UTC]    Categories columns count: 7
[18-Nov-2025 15:58:16 UTC]    Language field in books: YES
[18-Nov-2025 15:58:16 UTC]    Format field in books: YES
[18-Nov-2025 15:58:16 UTC]    Description field in categories: YES
[18-Nov-2025 15:58:16 UTC]    Display_order field in categories: YES
[18-Nov-2025 15:58:16 UTC]    Is_active field in categories: YES
[18-Nov-2025 15:58:16 UTC]    Is_active field in books: YES
[18-Nov-2025 15:58:16 UTC]    External_download_link field in books: YES
[18-Nov-2025 15:58:16 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 15:58:16 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 15:58:16 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:58:16 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 15:58:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:58:16 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 15:58:16 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 15:58:16 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 15:58:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 15:58:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 15:58:16 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 15:58:16 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 16:09:33 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:09:33 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:09:33 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:09:33 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:09:33 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:09:33 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:09:33 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:09:33 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:09:33 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:09:33 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:09:33 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:09:33 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:09:33 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:09:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:09:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:09:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:09:33 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:09:33 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:09:33 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:09:33 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:09:33 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:09:33 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:09:33 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:09:33 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:09:33 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:09:33 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:09:33 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:09:33 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:09:33 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:09:33 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:09:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:09:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:09:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:09:33 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:09:33 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:09:33 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:09:33 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:09:33 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:09:33 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:09:33 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:09:33 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:09:33 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:09:33 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:09:33 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:09:33 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:09:33 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:09:33 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:09:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:09:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:09:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:09:33 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:09:33 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:09:33 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:09:33 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:09:33 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:09:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:09:34 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:09:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:09:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:09:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:09:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:09:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:09:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:09:34 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:09:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:09:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:09:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:09:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:09:34 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:09:34 UTC] 📊 Database Info:
[18-Nov-2025 16:09:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:09:34 UTC]    Books columns count: 53
[18-Nov-2025 16:09:34 UTC]    Categories columns count: 7
[18-Nov-2025 16:09:34 UTC]    Language field in books: YES
[18-Nov-2025 16:09:34 UTC]    Format field in books: YES
[18-Nov-2025 16:09:34 UTC]    Description field in categories: YES
[18-Nov-2025 16:09:34 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:09:34 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:09:34 UTC]    Is_active field in books: YES
[18-Nov-2025 16:09:34 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:09:34 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:09:34 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:09:34 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:09:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:09:34 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:09:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:09:34 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:09:34 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:09:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:09:34 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:09:34 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:09:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:09:34 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 16:09:34 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 16:09:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:09:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:09:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:09:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:09:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:09:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:09:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:09:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:09:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:09:34 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:09:34 UTC] 📊 Database Info:
[18-Nov-2025 16:09:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:09:34 UTC]    Books columns count: 53
[18-Nov-2025 16:09:34 UTC]    Categories columns count: 7
[18-Nov-2025 16:09:34 UTC]    Language field in books: YES
[18-Nov-2025 16:09:34 UTC]    Format field in books: YES
[18-Nov-2025 16:09:34 UTC]    Description field in categories: YES
[18-Nov-2025 16:09:34 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:09:34 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:09:34 UTC]    Is_active field in books: YES
[18-Nov-2025 16:09:34 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:09:34 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:09:34 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:09:34 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:09:34 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:09:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:09:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 16:09:34 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 16:09:34 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 16:09:34 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:09:34 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:09:34 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:09:34 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:09:34 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:09:34 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:09:34 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:09:34 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:09:34 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:09:34 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:09:34 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:09:34 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:09:34 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:09:34 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:09:34 UTC] 📊 Database Info:
[18-Nov-2025 16:09:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:09:34 UTC]    Books columns count: 53
[18-Nov-2025 16:09:34 UTC]    Categories columns count: 7
[18-Nov-2025 16:09:34 UTC]    Language field in books: YES
[18-Nov-2025 16:09:34 UTC]    Format field in books: YES
[18-Nov-2025 16:09:34 UTC]    Description field in categories: YES
[18-Nov-2025 16:09:34 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:09:34 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:09:34 UTC]    Is_active field in books: YES
[18-Nov-2025 16:09:34 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:09:34 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:09:34 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:09:34 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:09:34 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:09:34 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:09:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:10:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:10:24 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:10:24 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:10:24 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:10:24 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:10:24 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:10:24 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:10:24 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:10:24 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:10:24 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:10:24 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:10:24 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:10:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:10:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:10:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:10:24 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:10:24 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:10:24 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:10:24 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:10:24 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:10:24 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:10:24 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:10:24 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:10:24 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:10:24 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:10:24 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:10:24 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:10:24 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:10:24 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:10:24 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:10:24 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:10:24 UTC] 📊 Database Info:
[18-Nov-2025 16:10:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:10:24 UTC]    Books columns count: 53
[18-Nov-2025 16:10:24 UTC]    Categories columns count: 7
[18-Nov-2025 16:10:24 UTC]    Language field in books: YES
[18-Nov-2025 16:10:24 UTC]    Format field in books: YES
[18-Nov-2025 16:10:24 UTC]    Description field in categories: YES
[18-Nov-2025 16:10:24 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:10:24 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:10:24 UTC]    Is_active field in books: YES
[18-Nov-2025 16:10:24 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:10:24 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:10:24 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:10:24 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:10:24 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:10:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:10:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:10:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:10:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:10:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:10:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:10:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:10:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:10:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:10:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:10:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:10:24 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:10:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:10:25 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:10:25 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:10:25 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:10:25 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:10:25 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:10:25 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:10:25 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:10:25 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:10:25 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:10:25 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:10:25 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:10:25 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:10:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:10:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:10:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:10:25 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:10:25 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:10:25 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:10:25 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:10:25 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:10:25 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:10:25 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:10:25 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:10:25 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:10:25 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:10:25 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:10:25 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:10:25 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:10:25 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:10:25 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:10:25 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:10:25 UTC] 📊 Database Info:
[18-Nov-2025 16:10:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:10:25 UTC]    Books columns count: 53
[18-Nov-2025 16:10:25 UTC]    Categories columns count: 7
[18-Nov-2025 16:10:25 UTC]    Language field in books: YES
[18-Nov-2025 16:10:25 UTC]    Format field in books: YES
[18-Nov-2025 16:10:25 UTC]    Description field in categories: YES
[18-Nov-2025 16:10:25 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:10:25 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:10:25 UTC]    Is_active field in books: YES
[18-Nov-2025 16:10:25 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:10:25 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:10:25 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:10:25 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:10:25 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:10:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:10:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:10:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:10:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:10:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:10:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:10:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:10:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:10:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:10:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:10:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:10:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:10:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:21:08 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:08 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:08 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:08 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:08 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:08 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:08 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:08 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:08 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:08 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:08 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:08 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:08 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:21:08 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:21:08 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:08 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:08 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:08 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:08 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:08 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:08 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:08 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:08 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:08 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:08 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:08 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:08 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:08 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:21:08 UTC] 📊 Database Info:
[18-Nov-2025 16:21:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:21:08 UTC]    Books columns count: 53
[18-Nov-2025 16:21:08 UTC]    Categories columns count: 7
[18-Nov-2025 16:21:08 UTC]    Language field in books: YES
[18-Nov-2025 16:21:08 UTC]    Format field in books: YES
[18-Nov-2025 16:21:08 UTC]    Description field in categories: YES
[18-Nov-2025 16:21:08 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:21:08 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:21:08 UTC]    Is_active field in books: YES
[18-Nov-2025 16:21:08 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:21:08 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:21:08 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:21:08 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:21:08 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:21:08 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:21:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:21:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 16:21:08 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[18-Nov-2025 16:21:08 UTC] ✅ إرجاع 5 تصنيف بروفايل نشط
[18-Nov-2025 16:21:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:12 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:21:12 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:12 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:21:12 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:12 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:21:12 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:12 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:21:12 UTC] 📊 Database Info:
[18-Nov-2025 16:21:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:21:12 UTC]    Books columns count: 53
[18-Nov-2025 16:21:12 UTC]    Categories columns count: 7
[18-Nov-2025 16:21:12 UTC]    Language field in books: YES
[18-Nov-2025 16:21:12 UTC]    Format field in books: YES
[18-Nov-2025 16:21:12 UTC]    Description field in categories: YES
[18-Nov-2025 16:21:12 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:21:12 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:21:12 UTC]    Is_active field in books: YES
[18-Nov-2025 16:21:12 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:21:12 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:21:12 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:21:12 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:21:12 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:21:12 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:21:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:21:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:12 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:21:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:21:12 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:12 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:21:12 UTC] 📊 Database Info:
[18-Nov-2025 16:21:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:21:12 UTC]    Books columns count: 53
[18-Nov-2025 16:21:12 UTC]    Categories columns count: 7
[18-Nov-2025 16:21:12 UTC]    Language field in books: YES
[18-Nov-2025 16:21:12 UTC]    Format field in books: YES
[18-Nov-2025 16:21:12 UTC]    Description field in categories: YES
[18-Nov-2025 16:21:12 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:21:12 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:21:12 UTC]    Is_active field in books: YES
[18-Nov-2025 16:21:12 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:21:12 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:21:12 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:21:12 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:21:12 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:21:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:21:12 UTC] 📁 جلب التصنيفات النشطة فقط
[18-Nov-2025 16:21:12 UTC] ✅ إرجاع 5 تصنيف نشط
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:12 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:12 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:12 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:12 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:21:12 UTC] 📊 Database Info:
[18-Nov-2025 16:21:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:21:12 UTC]    Books columns count: 53
[18-Nov-2025 16:21:12 UTC]    Categories columns count: 7
[18-Nov-2025 16:21:12 UTC]    Language field in books: YES
[18-Nov-2025 16:21:12 UTC]    Format field in books: YES
[18-Nov-2025 16:21:12 UTC]    Description field in categories: YES
[18-Nov-2025 16:21:12 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:21:12 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:21:12 UTC]    Is_active field in books: YES
[18-Nov-2025 16:21:12 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:21:12 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:21:12 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:21:12 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:21:12 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:21:12 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:21:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:21:12 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:12 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:13 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:13 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:13 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:13 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:21:13 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:21:13 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:13 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:13 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:13 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:21:13 UTC] 📊 Database Info:
[18-Nov-2025 16:21:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:21:13 UTC]    Books columns count: 53
[18-Nov-2025 16:21:13 UTC]    Categories columns count: 7
[18-Nov-2025 16:21:13 UTC]    Language field in books: YES
[18-Nov-2025 16:21:13 UTC]    Format field in books: YES
[18-Nov-2025 16:21:13 UTC]    Description field in categories: YES
[18-Nov-2025 16:21:13 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:21:13 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:21:13 UTC]    Is_active field in books: YES
[18-Nov-2025 16:21:13 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:21:13 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:21:13 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:21:13 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:21:13 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:21:13 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:21:13 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:21:13 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:21:13 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:21:13 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:21:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:21:13 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:13 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:13 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:13 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:13 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:13 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:13 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:13 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:13 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:21:13 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:21:13 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:21:13 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:21:13 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:13 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:13 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:13 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:13 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:13 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:13 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:21:13 UTC] 📊 Database Info:
[18-Nov-2025 16:21:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:21:13 UTC]    Books columns count: 53
[18-Nov-2025 16:21:13 UTC]    Categories columns count: 7
[18-Nov-2025 16:21:13 UTC]    Language field in books: YES
[18-Nov-2025 16:21:13 UTC]    Format field in books: YES
[18-Nov-2025 16:21:13 UTC]    Description field in categories: YES
[18-Nov-2025 16:21:13 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:21:13 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:21:13 UTC]    Is_active field in books: YES
[18-Nov-2025 16:21:13 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:21:13 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:21:13 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:21:13 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:21:13 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:21:13 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:21:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:21:13 UTC] 📁 جلب التصنيفات النشطة فقط
[18-Nov-2025 16:21:13 UTC] ✅ إرجاع 5 تصنيف نشط
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:13 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:13 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:13 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:13 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:13 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:13 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:13 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:13 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:21:13 UTC] 📊 Database Info:
[18-Nov-2025 16:21:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:21:13 UTC]    Books columns count: 53
[18-Nov-2025 16:21:13 UTC]    Categories columns count: 7
[18-Nov-2025 16:21:13 UTC]    Language field in books: YES
[18-Nov-2025 16:21:13 UTC]    Format field in books: YES
[18-Nov-2025 16:21:13 UTC]    Description field in categories: YES
[18-Nov-2025 16:21:13 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:21:13 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:21:13 UTC]    Is_active field in books: YES
[18-Nov-2025 16:21:13 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:21:13 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:21:13 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:21:13 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:21:13 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:21:13 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:21:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:21:25 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:25 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:25 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:25 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:25 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:25 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:25 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:25 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:25 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:25 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:21:25 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:21:25 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:25 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:25 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:25 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:25 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:25 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:25 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:25 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:25 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:25 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:25 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:21:25 UTC] 📊 Database Info:
[18-Nov-2025 16:21:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:21:25 UTC]    Books columns count: 53
[18-Nov-2025 16:21:25 UTC]    Categories columns count: 7
[18-Nov-2025 16:21:25 UTC]    Language field in books: YES
[18-Nov-2025 16:21:25 UTC]    Format field in books: YES
[18-Nov-2025 16:21:25 UTC]    Description field in categories: YES
[18-Nov-2025 16:21:25 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:21:25 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:21:25 UTC]    Is_active field in books: YES
[18-Nov-2025 16:21:25 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:21:25 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:21:25 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:21:25 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:21:25 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:21:25 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:21:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:21:40 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:40 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:40 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:40 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:40 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:40 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:40 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:40 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:40 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:40 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:40 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:40 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:40 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:21:40 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:21:40 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:40 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:40 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:40 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:40 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:40 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:40 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:40 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:40 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:40 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:40 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:40 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:40 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:40 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:21:40 UTC] 📊 Database Info:
[18-Nov-2025 16:21:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:21:40 UTC]    Books columns count: 53
[18-Nov-2025 16:21:40 UTC]    Categories columns count: 7
[18-Nov-2025 16:21:40 UTC]    Language field in books: YES
[18-Nov-2025 16:21:40 UTC]    Format field in books: YES
[18-Nov-2025 16:21:40 UTC]    Description field in categories: YES
[18-Nov-2025 16:21:40 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:21:40 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:21:40 UTC]    Is_active field in books: YES
[18-Nov-2025 16:21:40 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:21:40 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:21:40 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:21:40 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:21:40 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:21:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:21:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:21:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:21:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:21:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:21:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:21:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:21:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:21:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:21:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:21:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:21:40 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:21:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:21:48 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:48 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:48 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:48 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:48 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:48 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:48 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:48 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:48 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:21:48 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:21:48 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:21:48 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:21:48 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:21:48 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:21:48 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:21:48 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:21:48 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:21:48 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:21:48 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:21:48 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:21:48 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:21:48 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:21:48 UTC] 📊 Database Info:
[18-Nov-2025 16:21:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:21:48 UTC]    Books columns count: 53
[18-Nov-2025 16:21:48 UTC]    Categories columns count: 7
[18-Nov-2025 16:21:48 UTC]    Language field in books: YES
[18-Nov-2025 16:21:48 UTC]    Format field in books: YES
[18-Nov-2025 16:21:48 UTC]    Description field in categories: YES
[18-Nov-2025 16:21:48 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:21:48 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:21:48 UTC]    Is_active field in books: YES
[18-Nov-2025 16:21:48 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:21:48 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:21:48 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:21:48 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:21:48 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:21:48 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:21:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:22:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:22:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:22:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:22:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:22:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:22:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:22:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:22:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:22:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:22:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:22:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:22:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:22:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:22:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:22:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:22:26 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:22:26 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:22:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:22:26 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:22:26 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:22:26 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:22:26 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:22:26 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:22:26 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:22:26 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:22:26 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:22:26 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:22:26 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:22:26 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:22:26 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:22:26 UTC] 📊 Database Info:
[18-Nov-2025 16:22:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:22:26 UTC]    Books columns count: 53
[18-Nov-2025 16:22:26 UTC]    Categories columns count: 7
[18-Nov-2025 16:22:26 UTC]    Language field in books: YES
[18-Nov-2025 16:22:26 UTC]    Format field in books: YES
[18-Nov-2025 16:22:26 UTC]    Description field in categories: YES
[18-Nov-2025 16:22:26 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:22:26 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:22:26 UTC]    Is_active field in books: YES
[18-Nov-2025 16:22:26 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:22:26 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:22:26 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:22:26 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:22:26 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:22:26 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:22:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:22:26 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:22:26 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:22:27 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:22:27 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:22:27 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:22:27 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:22:27 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:22:27 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:22:27 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:22:27 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:22:27 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:22:27 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:22:27 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:22:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:22:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:22:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:22:27 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:22:27 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:22:27 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:22:27 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:22:27 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:22:27 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:22:27 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:22:27 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:22:27 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:22:27 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:22:27 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:22:27 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:22:27 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:22:27 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:22:27 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:22:27 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:22:27 UTC] 📊 Database Info:
[18-Nov-2025 16:22:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:22:27 UTC]    Books columns count: 53
[18-Nov-2025 16:22:27 UTC]    Categories columns count: 7
[18-Nov-2025 16:22:27 UTC]    Language field in books: YES
[18-Nov-2025 16:22:27 UTC]    Format field in books: YES
[18-Nov-2025 16:22:27 UTC]    Description field in categories: YES
[18-Nov-2025 16:22:27 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:22:27 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:22:27 UTC]    Is_active field in books: YES
[18-Nov-2025 16:22:27 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:22:27 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:22:27 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:22:27 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:22:27 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:22:27 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:22:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:22:39 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:22:39 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:22:39 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:22:39 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:22:39 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:22:39 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:22:39 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:22:39 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:22:39 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:22:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:22:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:22:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:22:39 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:22:39 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:22:39 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:22:39 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:22:39 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:22:39 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:22:39 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:22:39 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:22:39 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:22:39 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:22:39 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:22:39 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:22:39 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:22:39 UTC] 📊 Database Info:
[18-Nov-2025 16:22:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:22:39 UTC]    Books columns count: 53
[18-Nov-2025 16:22:39 UTC]    Categories columns count: 7
[18-Nov-2025 16:22:39 UTC]    Language field in books: YES
[18-Nov-2025 16:22:39 UTC]    Format field in books: YES
[18-Nov-2025 16:22:39 UTC]    Description field in categories: YES
[18-Nov-2025 16:22:39 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:22:39 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:22:39 UTC]    Is_active field in books: YES
[18-Nov-2025 16:22:39 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:22:39 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:22:39 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:22:39 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:22:39 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:22:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:22:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:22:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:22:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:22:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:22:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:22:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:22:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:22:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:22:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:22:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:22:39 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:22:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:30:28 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:30:28 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:30:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:30:28 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:30:28 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:30:28 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:30:28 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:30:28 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:30:28 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:30:28 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:30:28 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:30:28 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:30:28 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:30:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:30:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:30:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:30:28 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:30:28 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:30:28 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:30:28 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:30:28 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:30:28 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:30:28 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:30:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:30:29 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:30:29 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:30:29 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:30:29 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:30:29 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:30:29 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:30:29 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:30:29 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:30:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:30:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:30:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:30:29 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:30:29 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:30:29 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:30:29 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:30:29 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:30:29 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:30:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:30:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:30:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:30:29 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:30:29 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:30:29 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:30:29 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:30:29 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:30:29 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:30:29 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:30:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:30:29 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:30:29 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:30:29 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:30:29 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:30:29 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:30:29 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:30:29 UTC] 📊 Database Info:
[18-Nov-2025 16:30:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:30:29 UTC]    Books columns count: 53
[18-Nov-2025 16:30:29 UTC]    Categories columns count: 7
[18-Nov-2025 16:30:29 UTC]    Language field in books: YES
[18-Nov-2025 16:30:29 UTC]    Format field in books: YES
[18-Nov-2025 16:30:29 UTC]    Description field in categories: YES
[18-Nov-2025 16:30:29 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:30:29 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:30:29 UTC]    Is_active field in books: YES
[18-Nov-2025 16:30:29 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:30:29 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:30:29 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:30:29 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:30:29 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:30:29 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:30:29 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:30:29 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:30:29 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:30:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:30:29 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:30:29 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:30:29 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:30:29 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:30:29 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:30:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:30:29 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 16:30:29 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:30:29 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 16:30:29 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:30:29 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:30:29 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:30:29 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:30:29 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:30:29 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:30:29 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:30:29 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:30:29 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:30:29 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:30:29 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:30:29 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:30:29 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:30:29 UTC] 📊 Database Info:
[18-Nov-2025 16:30:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:30:29 UTC]    Books columns count: 53
[18-Nov-2025 16:30:29 UTC]    Categories columns count: 7
[18-Nov-2025 16:30:29 UTC]    Language field in books: YES
[18-Nov-2025 16:30:29 UTC]    Format field in books: YES
[18-Nov-2025 16:30:29 UTC]    Description field in categories: YES
[18-Nov-2025 16:30:29 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:30:29 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:30:29 UTC]    Is_active field in books: YES
[18-Nov-2025 16:30:29 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:30:29 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:30:29 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:30:29 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:30:29 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:30:29 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:30:29 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:30:29 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:30:29 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:30:29 UTC] 📊 Database Info:
[18-Nov-2025 16:30:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:30:29 UTC]    Books columns count: 53
[18-Nov-2025 16:30:29 UTC]    Categories columns count: 7
[18-Nov-2025 16:30:29 UTC]    Language field in books: YES
[18-Nov-2025 16:30:29 UTC]    Format field in books: YES
[18-Nov-2025 16:30:29 UTC]    Description field in categories: YES
[18-Nov-2025 16:30:29 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:30:29 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:30:29 UTC]    Is_active field in books: YES
[18-Nov-2025 16:30:29 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:30:29 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:30:29 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:30:29 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:30:29 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:30:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:30:29 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:30:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:30:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 16:30:29 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 16:30:29 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 16:31:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:31:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:31:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:31:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:31:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:31:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:31:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:31:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:31:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:31:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:31:59 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:31:59 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:31:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:31:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:31:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:31:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:31:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:31:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:31:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:31:59 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:31:59 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:31:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:31:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:31:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:31:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:31:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:31:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:31:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:31:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:31:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:31:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:31:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:31:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:31:59 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:31:59 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:31:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:31:59 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:31:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:31:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:31:59 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:31:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:31:59 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:31:59 UTC] 📊 Database Info:
[18-Nov-2025 16:31:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:31:59 UTC]    Books columns count: 53
[18-Nov-2025 16:31:59 UTC]    Categories columns count: 7
[18-Nov-2025 16:31:59 UTC]    Language field in books: YES
[18-Nov-2025 16:31:59 UTC]    Format field in books: YES
[18-Nov-2025 16:31:59 UTC]    Description field in categories: YES
[18-Nov-2025 16:31:59 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:31:59 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:31:59 UTC]    Is_active field in books: YES
[18-Nov-2025 16:31:59 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:31:59 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:31:59 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:31:59 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:31:59 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:31:59 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:31:59 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:31:59 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:31:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:31:59 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:31:59 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:31:59 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:31:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:31:59 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 16:31:59 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 16:31:59 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:31:59 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:31:59 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:31:59 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:31:59 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:31:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:31:59 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:31:59 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:31:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:31:59 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:31:59 UTC] 📊 Database Info:
[18-Nov-2025 16:31:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:31:59 UTC]    Books columns count: 53
[18-Nov-2025 16:31:59 UTC]    Categories columns count: 7
[18-Nov-2025 16:31:59 UTC]    Language field in books: YES
[18-Nov-2025 16:31:59 UTC]    Format field in books: YES
[18-Nov-2025 16:31:59 UTC]    Description field in categories: YES
[18-Nov-2025 16:31:59 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:31:59 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:31:59 UTC]    Is_active field in books: YES
[18-Nov-2025 16:31:59 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:31:59 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:31:59 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:31:59 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:31:59 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:31:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:31:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 16:31:59 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 16:31:59 UTC] ✅ إرجاع 5 تصنيف بروفايل
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:31:59 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:31:59 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:31:59 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:31:59 UTC] 📊 Database Info:
[18-Nov-2025 16:31:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:31:59 UTC]    Books columns count: 53
[18-Nov-2025 16:31:59 UTC]    Categories columns count: 7
[18-Nov-2025 16:31:59 UTC]    Language field in books: YES
[18-Nov-2025 16:31:59 UTC]    Format field in books: YES
[18-Nov-2025 16:31:59 UTC]    Description field in categories: YES
[18-Nov-2025 16:31:59 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:31:59 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:31:59 UTC]    Is_active field in books: YES
[18-Nov-2025 16:31:59 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:31:59 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:31:59 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:31:59 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:31:59 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:31:59 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:31:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:34:21 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:34:21 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:34:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:34:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:34:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:34:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:34:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:34:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:34:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:34:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:34:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:34:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:34:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:34:22 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:34:22 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:34:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:34:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:34:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:34:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:34:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:34:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:34:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'takeqvnk_pdf_library.favorites' doesn't exist
[18-Nov-2025 16:34:22 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:34:22 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:34:22 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:34:22 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:34:22 UTC] ⚠️ Missing columns detected: description, display_order
[18-Nov-2025 16:34:22 UTC] 🔄 Attempting to add missing columns...
[18-Nov-2025 16:34:22 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column institution already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column publication_year already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column keywords already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column selected_pages_original already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_protected already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column protection_key already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_read_button already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column read_button_text already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_external_plus already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column custom_file_size already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_file_size already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column original_pdf_url already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column download_count already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column stockage already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column language already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column format already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:34:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:34:22 UTC] ℹ️ Column external_download_link already exists
[18-Nov-2025 16:34:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_external_download_button already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:34:22 UTC] 📊 Database Info:
[18-Nov-2025 16:34:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:34:22 UTC]    Books columns count: 53
[18-Nov-2025 16:34:22 UTC]    Categories columns count: 7
[18-Nov-2025 16:34:22 UTC]    Language field in books: YES
[18-Nov-2025 16:34:22 UTC]    Format field in books: YES
[18-Nov-2025 16:34:22 UTC]    Description field in categories: YES
[18-Nov-2025 16:34:22 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:34:22 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:34:22 UTC]    Is_active field in books: YES
[18-Nov-2025 16:34:22 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:34:22 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:34:22 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:34:22 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:34:22 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:34:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:34:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_active already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:34:22 UTC] ℹ️ Column description already exists in categories
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:34:22 UTC] ℹ️ Column display_order already exists in categories
[18-Nov-2025 16:34:22 UTC] ℹ️ Column is_active already exists in categories
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:34:22 UTC] ℹ️ Column show_welcome_section already exists
[18-Nov-2025 16:34:22 UTC] ℹ️ Column company_address already exists
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with original_pdf_url
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:34:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing categories with new fields
[18-Nov-2025 16:34:22 UTC] ✅ Default screen texts inserted successfully
[18-Nov-2025 16:34:22 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:34:22 UTC] 📊 Database Info:
[18-Nov-2025 16:34:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:34:22 UTC]    Books columns count: 53
[18-Nov-2025 16:34:22 UTC]    Categories columns count: 7
[18-Nov-2025 16:34:22 UTC]    Language field in books: YES
[18-Nov-2025 16:34:22 UTC]    Format field in books: YES
[18-Nov-2025 16:34:22 UTC]    Description field in categories: YES
[18-Nov-2025 16:34:22 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:34:22 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:34:22 UTC]    Is_active field in books: YES
[18-Nov-2025 16:34:22 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:34:22 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:34:22 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:34:22 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:34:22 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:34:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:34:22 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[18-Nov-2025 16:34:22 UTC] ✅ إرجاع 5 تصنيف
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with empty language field
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with empty format field
[18-Nov-2025 16:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[18-Nov-2025 16:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[18-Nov-2025 16:34:22 UTC] ℹ️ Favorites table not available for inspection
[18-Nov-2025 16:34:22 UTC] 📊 Database Info:
[18-Nov-2025 16:34:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts, system_logs
[18-Nov-2025 16:34:22 UTC]    Books columns count: 53
[18-Nov-2025 16:34:22 UTC]    Categories columns count: 7
[18-Nov-2025 16:34:22 UTC]    Language field in books: YES
[18-Nov-2025 16:34:22 UTC]    Format field in books: YES
[18-Nov-2025 16:34:22 UTC]    Description field in categories: YES
[18-Nov-2025 16:34:22 UTC]    Display_order field in categories: YES
[18-Nov-2025 16:34:22 UTC]    Is_active field in categories: YES
[18-Nov-2025 16:34:22 UTC]    Is_active field in books: YES
[18-Nov-2025 16:34:22 UTC]    External_download_link field in books: YES
[18-Nov-2025 16:34:22 UTC]    Show_external_download_button field in books: YES
[18-Nov-2025 16:34:22 UTC]    External_download_protection_key field in books: YES
[18-Nov-2025 16:34:22 UTC]    Is_external_download_protected field in books: YES
[18-Nov-2025 16:34:22 UTC] ℹ️ Database is already at version 23
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_title ON books(title)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_category ON books(category_id)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_language ON books(language)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_format ON books(format)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_download_count ON books(download_count)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_created_at ON books(created_at)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_active ON books(is_active)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_display_order ON categories(display_order)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_categories_active ON categories(is_active)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download ON books(show_external_download_button)
[18-Nov-2025 16:34:22 UTC] ✅ Created index: CREATE INDEX IF NOT EXISTS idx_books_external_download_protected ON books(is_external_download_protected)
[18-Nov-2025 16:34:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[18-Nov-2025 16:34:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[18-Nov-2025 16:34:22 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[18-Nov-2025 16:34:22 UTC] ✅ إرجاع 5 تصنيف بروفايل
[19-Nov-2025 00:27:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:27:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:27:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:27:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:27:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:27:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:27:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:27:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:27:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:27:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:27:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:27:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:27:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:27:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:27:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:27:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:27:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:27:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:27:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:27:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:27:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:27:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:27:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:27:25 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 00:27:25 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 00:27:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:27:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:27:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:27:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:27:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:27:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:27:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 00:27:25 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 00:27:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:27:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:27:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:27:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:27:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:27:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:27:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:27:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:27:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:27:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:27:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:27:25 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 00:27:25 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:27:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:27:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:27:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:27:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:27:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 00:27:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:27:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:27:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 00:27:25 UTC] 📊 Database Info:
[19-Nov-2025 00:27:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 00:27:25 UTC]    Books columns count: 44
[19-Nov-2025 00:27:25 UTC]    Categories columns count: 7
[19-Nov-2025 00:27:25 UTC]    Language field in books: YES
[19-Nov-2025 00:27:25 UTC]    Format field in books: YES
[19-Nov-2025 00:27:25 UTC]    Description field in categories: YES
[19-Nov-2025 00:27:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 00:27:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 00:27:25 UTC]    Is_active field in books: YES
[19-Nov-2025 00:27:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 00:27:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 00:27:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 00:27:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 00:27:25 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 00:27:25 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 00:27:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 00:27:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 00:27:25 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 00:27:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:27:25 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 00:27:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:27:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:27:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:27:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:27:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 00:27:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:27:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:27:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:27:25 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 00:27:25 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 00:27:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 00:27:25 UTC] 📊 Database Info:
[19-Nov-2025 00:27:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:27:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 00:27:25 UTC]    Books columns count: 44
[19-Nov-2025 00:27:25 UTC]    Categories columns count: 7
[19-Nov-2025 00:27:25 UTC]    Language field in books: YES
[19-Nov-2025 00:27:25 UTC]    Format field in books: YES
[19-Nov-2025 00:27:25 UTC]    Description field in categories: YES
[19-Nov-2025 00:27:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 00:27:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 00:27:25 UTC]    Is_active field in books: YES
[19-Nov-2025 00:27:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 00:27:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 00:27:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 00:27:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 00:27:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 00:27:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:27:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:27:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:27:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:27:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:27:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 00:27:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 00:27:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:27:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 00:27:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:27:25 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 00:27:25 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 00:27:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:27:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:27:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 00:27:25 UTC] 📊 Database Info:
[19-Nov-2025 00:27:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 00:27:25 UTC]    Books columns count: 44
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:27:25 UTC]    Categories columns count: 7
[19-Nov-2025 00:27:25 UTC]    Language field in books: YES
[19-Nov-2025 00:27:25 UTC]    Format field in books: YES
[19-Nov-2025 00:27:25 UTC]    Description field in categories: YES
[19-Nov-2025 00:27:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 00:27:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 00:27:25 UTC]    Is_active field in books: YES
[19-Nov-2025 00:27:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 00:27:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 00:27:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 00:27:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 00:27:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:27:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:27:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:27:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:27:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:27:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 00:27:25 UTC] 📊 Database Info:
[19-Nov-2025 00:27:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 00:27:25 UTC]    Books columns count: 44
[19-Nov-2025 00:27:25 UTC]    Categories columns count: 7
[19-Nov-2025 00:27:25 UTC]    Language field in books: YES
[19-Nov-2025 00:27:25 UTC]    Format field in books: YES
[19-Nov-2025 00:27:25 UTC]    Description field in categories: YES
[19-Nov-2025 00:27:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 00:27:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 00:27:25 UTC]    Is_active field in books: YES
[19-Nov-2025 00:27:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 00:27:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 00:27:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 00:27:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 00:27:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 00:27:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 00:27:25 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 00:27:25 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 00:27:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:27:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:27:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:27:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:27:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:27:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 00:27:25 UTC] 📊 Database Info:
[19-Nov-2025 00:27:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 00:27:25 UTC]    Books columns count: 44
[19-Nov-2025 00:27:25 UTC]    Categories columns count: 7
[19-Nov-2025 00:27:25 UTC]    Language field in books: YES
[19-Nov-2025 00:27:25 UTC]    Format field in books: YES
[19-Nov-2025 00:27:25 UTC]    Description field in categories: YES
[19-Nov-2025 00:27:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 00:27:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 00:27:25 UTC]    Is_active field in books: YES
[19-Nov-2025 00:27:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 00:27:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 00:27:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 00:27:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 00:27:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 00:27:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 00:27:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 00:27:25 UTC] 📊 Database Info:
[19-Nov-2025 00:27:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 00:27:25 UTC]    Books columns count: 44
[19-Nov-2025 00:27:25 UTC]    Categories columns count: 7
[19-Nov-2025 00:27:25 UTC]    Language field in books: YES
[19-Nov-2025 00:27:25 UTC]    Format field in books: YES
[19-Nov-2025 00:27:25 UTC]    Description field in categories: YES
[19-Nov-2025 00:27:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 00:27:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 00:27:25 UTC]    Is_active field in books: YES
[19-Nov-2025 00:27:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 00:27:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 00:27:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 00:27:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 00:27:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 00:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 00:27:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 00:27:26 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:27:26 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:27:26 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:27:26 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:27:26 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:27:26 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:27:26 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:27:26 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:27:26 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:27:26 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:27:26 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:27:26 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:27:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 00:27:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:27:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:27:26 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 00:27:26 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 00:27:26 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:27:26 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:27:26 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:27:26 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:27:26 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:27:26 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:27:26 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:27:26 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:27:26 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:27:26 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:27:26 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:27:26 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:27:26 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:27:26 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 00:27:26 UTC] 📊 Database Info:
[19-Nov-2025 00:27:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 00:27:26 UTC]    Books columns count: 44
[19-Nov-2025 00:27:26 UTC]    Categories columns count: 7
[19-Nov-2025 00:27:26 UTC]    Language field in books: YES
[19-Nov-2025 00:27:26 UTC]    Format field in books: YES
[19-Nov-2025 00:27:26 UTC]    Description field in categories: YES
[19-Nov-2025 00:27:26 UTC]    Display_order field in categories: YES
[19-Nov-2025 00:27:26 UTC]    Is_active field in categories: YES
[19-Nov-2025 00:27:26 UTC]    Is_active field in books: YES
[19-Nov-2025 00:27:26 UTC]    External_download_link field in books: YES
[19-Nov-2025 00:27:26 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 00:27:26 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 00:27:26 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 00:27:26 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 00:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 00:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 00:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 00:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 00:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 00:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 00:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 00:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 00:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 00:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 00:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 00:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 00:27:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 00:47:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:47:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:47:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:47:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:47:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 00:47:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:47:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:47:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 00:47:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 00:47:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:47:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:47:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:47:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 00:47:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:47:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:47:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 00:47:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 00:47:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:47:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:47:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:47:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 00:47:41 UTC] 📊 Database Info:
[19-Nov-2025 00:47:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 00:47:41 UTC]    Books columns count: 44
[19-Nov-2025 00:47:41 UTC]    Categories columns count: 7
[19-Nov-2025 00:47:41 UTC]    Language field in books: YES
[19-Nov-2025 00:47:41 UTC]    Format field in books: YES
[19-Nov-2025 00:47:41 UTC]    Description field in categories: YES
[19-Nov-2025 00:47:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 00:47:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 00:47:41 UTC]    Is_active field in books: YES
[19-Nov-2025 00:47:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 00:47:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 00:47:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 00:47:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 00:47:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 00:47:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 00:47:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:47:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:47:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 00:47:41 UTC] 📊 Database Info:
[19-Nov-2025 00:47:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 00:47:41 UTC]    Books columns count: 44
[19-Nov-2025 00:47:41 UTC]    Categories columns count: 7
[19-Nov-2025 00:47:41 UTC]    Language field in books: YES
[19-Nov-2025 00:47:41 UTC]    Format field in books: YES
[19-Nov-2025 00:47:41 UTC]    Description field in categories: YES
[19-Nov-2025 00:47:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 00:47:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 00:47:41 UTC]    Is_active field in books: YES
[19-Nov-2025 00:47:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 00:47:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 00:47:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 00:47:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 00:47:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 00:47:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 00:47:41 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 00:47:41 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 00:47:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:47:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:47:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:47:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 00:47:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:47:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:47:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 00:47:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 00:47:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:47:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:47:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:47:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 00:47:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:47:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:47:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 00:47:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 00:47:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:47:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:47:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:47:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:47:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:47:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:47:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:47:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:47:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:47:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:47:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 00:47:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 00:47:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:47:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:47:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:47:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:47:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:47:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 00:47:41 UTC] 📊 Database Info:
[19-Nov-2025 00:47:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 00:47:41 UTC]    Books columns count: 44
[19-Nov-2025 00:47:41 UTC]    Categories columns count: 7
[19-Nov-2025 00:47:41 UTC]    Language field in books: YES
[19-Nov-2025 00:47:41 UTC]    Format field in books: YES
[19-Nov-2025 00:47:41 UTC]    Description field in categories: YES
[19-Nov-2025 00:47:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 00:47:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 00:47:41 UTC]    Is_active field in books: YES
[19-Nov-2025 00:47:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 00:47:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 00:47:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 00:47:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 00:47:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 00:47:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 00:47:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:47:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:47:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:47:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:47:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:47:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 00:47:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 00:47:41 UTC] 📊 Database Info:
[19-Nov-2025 00:47:41 UTC] 📊 Database Info:
[19-Nov-2025 00:47:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 00:47:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 00:47:41 UTC]    Books columns count: 44
[19-Nov-2025 00:47:41 UTC]    Books columns count: 44
[19-Nov-2025 00:47:41 UTC]    Categories columns count: 7
[19-Nov-2025 00:47:41 UTC]    Categories columns count: 7
[19-Nov-2025 00:47:41 UTC]    Language field in books: YES
[19-Nov-2025 00:47:41 UTC]    Language field in books: YES
[19-Nov-2025 00:47:41 UTC]    Format field in books: YES
[19-Nov-2025 00:47:41 UTC]    Format field in books: YES
[19-Nov-2025 00:47:41 UTC]    Description field in categories: YES
[19-Nov-2025 00:47:41 UTC]    Description field in categories: YES
[19-Nov-2025 00:47:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 00:47:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 00:47:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 00:47:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 00:47:41 UTC]    Is_active field in books: YES
[19-Nov-2025 00:47:41 UTC]    Is_active field in books: YES
[19-Nov-2025 00:47:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 00:47:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 00:47:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 00:47:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 00:47:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 00:47:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 00:47:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 00:47:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 00:47:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 00:47:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 00:47:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 00:47:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 00:47:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 00:47:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:47:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:47:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:47:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:47:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:47:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:47:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:47:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:47:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:47:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 00:47:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:47:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:47:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 00:47:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 00:47:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:47:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:47:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:47:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:47:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:47:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:47:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:47:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:47:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:47:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:47:42 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 00:47:42 UTC] 📊 Database Info:
[19-Nov-2025 00:47:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 00:47:42 UTC]    Books columns count: 44
[19-Nov-2025 00:47:42 UTC]    Categories columns count: 7
[19-Nov-2025 00:47:42 UTC]    Language field in books: YES
[19-Nov-2025 00:47:42 UTC]    Format field in books: YES
[19-Nov-2025 00:47:42 UTC]    Description field in categories: YES
[19-Nov-2025 00:47:42 UTC]    Display_order field in categories: YES
[19-Nov-2025 00:47:42 UTC]    Is_active field in categories: YES
[19-Nov-2025 00:47:42 UTC]    Is_active field in books: YES
[19-Nov-2025 00:47:42 UTC]    External_download_link field in books: YES
[19-Nov-2025 00:47:42 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 00:47:42 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 00:47:42 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 00:47:42 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 00:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 00:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 00:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 00:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 00:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 00:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 00:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 00:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 00:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 00:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 00:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 00:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 00:47:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 00:47:42 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 00:47:42 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 00:47:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:47:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:47:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:47:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:47:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:47:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:47:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:47:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:47:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:47:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:47:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:47:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:47:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 00:47:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:47:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 00:47:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 00:47:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 00:47:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 00:47:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 00:47:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 00:47:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 00:47:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 00:47:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 00:47:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 00:47:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 00:47:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 00:47:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 00:47:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 00:47:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 00:47:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 00:47:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 00:47:43 UTC] 📊 Database Info:
[19-Nov-2025 00:47:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 00:47:43 UTC]    Books columns count: 44
[19-Nov-2025 00:47:43 UTC]    Categories columns count: 7
[19-Nov-2025 00:47:43 UTC]    Language field in books: YES
[19-Nov-2025 00:47:43 UTC]    Format field in books: YES
[19-Nov-2025 00:47:43 UTC]    Description field in categories: YES
[19-Nov-2025 00:47:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 00:47:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 00:47:43 UTC]    Is_active field in books: YES
[19-Nov-2025 00:47:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 00:47:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 00:47:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 00:47:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 00:47:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 00:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 00:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 00:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 00:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 00:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 00:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 00:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 00:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 00:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 00:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 00:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 00:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 00:47:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:21:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:21:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:21:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:21:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:21:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:21:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:21:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:21:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:21:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:21:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:21:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:21:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:21:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:21:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:21:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:21:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:21:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:21:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:21:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:21:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:21:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:21:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:21:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:21:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:21:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:21:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:21:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:21:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:21:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:21:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:21:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:21:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:21:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:21:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:21:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:21:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:21:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:21:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:21:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:21:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:21:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:21:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:21:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:21:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:21:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:21:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:21:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:21:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:21:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:21:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:21:48 UTC] 📊 Database Info:
[19-Nov-2025 02:21:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:21:48 UTC]    Books columns count: 44
[19-Nov-2025 02:21:48 UTC]    Categories columns count: 7
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:21:48 UTC]    Language field in books: YES
[19-Nov-2025 02:21:48 UTC]    Format field in books: YES
[19-Nov-2025 02:21:48 UTC]    Description field in categories: YES
[19-Nov-2025 02:21:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:21:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:21:48 UTC]    Is_active field in books: YES
[19-Nov-2025 02:21:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:21:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:21:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:21:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:21:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:21:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:21:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:21:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:21:48 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 02:21:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:21:48 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:21:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:21:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:21:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:21:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:21:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:21:48 UTC] 📊 Database Info:
[19-Nov-2025 02:21:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:21:48 UTC]    Books columns count: 44
[19-Nov-2025 02:21:48 UTC]    Categories columns count: 7
[19-Nov-2025 02:21:48 UTC]    Language field in books: YES
[19-Nov-2025 02:21:48 UTC]    Format field in books: YES
[19-Nov-2025 02:21:48 UTC]    Description field in categories: YES
[19-Nov-2025 02:21:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:21:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:21:48 UTC]    Is_active field in books: YES
[19-Nov-2025 02:21:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:21:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:21:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:21:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:21:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:21:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:21:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:21:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:21:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:21:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:21:48 UTC] 📊 Database Info:
[19-Nov-2025 02:21:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:21:48 UTC]    Books columns count: 44
[19-Nov-2025 02:21:48 UTC]    Categories columns count: 7
[19-Nov-2025 02:21:48 UTC]    Language field in books: YES
[19-Nov-2025 02:21:48 UTC]    Format field in books: YES
[19-Nov-2025 02:21:48 UTC]    Description field in categories: YES
[19-Nov-2025 02:21:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:21:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:21:48 UTC]    Is_active field in books: YES
[19-Nov-2025 02:21:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:21:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:21:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:21:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:21:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:21:48 UTC] 📊 Database Info:
[19-Nov-2025 02:21:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:21:48 UTC]    Books columns count: 44
[19-Nov-2025 02:21:48 UTC]    Categories columns count: 7
[19-Nov-2025 02:21:48 UTC]    Language field in books: YES
[19-Nov-2025 02:21:48 UTC]    Format field in books: YES
[19-Nov-2025 02:21:48 UTC]    Description field in categories: YES
[19-Nov-2025 02:21:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:21:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:21:48 UTC]    Is_active field in books: YES
[19-Nov-2025 02:21:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:21:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:21:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:21:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:21:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:21:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:21:48 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:21:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:21:48 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 02:21:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:21:48 UTC] 📊 Database Info:
[19-Nov-2025 02:21:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:21:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:21:48 UTC]    Books columns count: 44
[19-Nov-2025 02:21:48 UTC]    Categories columns count: 7
[19-Nov-2025 02:21:48 UTC]    Language field in books: YES
[19-Nov-2025 02:21:48 UTC]    Format field in books: YES
[19-Nov-2025 02:21:48 UTC]    Description field in categories: YES
[19-Nov-2025 02:21:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:21:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:21:48 UTC]    Is_active field in books: YES
[19-Nov-2025 02:21:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:21:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:21:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:21:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:21:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:21:48 UTC] 📊 Database Info:
[19-Nov-2025 02:21:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:21:48 UTC]    Books columns count: 44
[19-Nov-2025 02:21:48 UTC]    Categories columns count: 7
[19-Nov-2025 02:21:48 UTC]    Language field in books: YES
[19-Nov-2025 02:21:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:21:48 UTC]    Format field in books: YES
[19-Nov-2025 02:21:48 UTC]    Description field in categories: YES
[19-Nov-2025 02:21:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:21:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:21:48 UTC]    Is_active field in books: YES
[19-Nov-2025 02:21:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:21:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:21:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:21:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:21:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:21:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:21:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:21:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:21:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:21:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:21:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:21:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:21:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:21:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:21:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:21:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:21:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:21:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:21:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:21:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:21:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:21:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:21:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:21:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:21:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:21:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:21:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:21:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:21:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:21:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:21:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:21:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:21:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:21:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:21:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:21:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:21:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:21:51 UTC] 📊 Database Info:
[19-Nov-2025 02:21:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:21:51 UTC]    Books columns count: 44
[19-Nov-2025 02:21:51 UTC]    Categories columns count: 7
[19-Nov-2025 02:21:51 UTC]    Language field in books: YES
[19-Nov-2025 02:21:51 UTC]    Format field in books: YES
[19-Nov-2025 02:21:51 UTC]    Description field in categories: YES
[19-Nov-2025 02:21:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:21:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:21:51 UTC]    Is_active field in books: YES
[19-Nov-2025 02:21:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:21:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:21:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:21:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:21:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:21:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:22:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:22:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:22:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:22:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:22:07 UTC] 📊 Database Info:
[19-Nov-2025 02:22:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:22:07 UTC]    Books columns count: 44
[19-Nov-2025 02:22:07 UTC]    Categories columns count: 7
[19-Nov-2025 02:22:07 UTC]    Language field in books: YES
[19-Nov-2025 02:22:07 UTC]    Format field in books: YES
[19-Nov-2025 02:22:07 UTC]    Description field in categories: YES
[19-Nov-2025 02:22:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:22:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:22:07 UTC]    Is_active field in books: YES
[19-Nov-2025 02:22:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:22:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:22:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:22:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:22:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:22:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:22:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:22:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:22:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:22:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:22:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:22:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:22:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:22:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:22:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:22:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:22:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:22:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:22:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:22:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:22:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:22:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:22:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:22:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:22:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:22:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:22:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:22:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:22:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:22:11 UTC] 📊 Database Info:
[19-Nov-2025 02:22:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:22:11 UTC]    Books columns count: 44
[19-Nov-2025 02:22:11 UTC]    Categories columns count: 7
[19-Nov-2025 02:22:11 UTC]    Language field in books: YES
[19-Nov-2025 02:22:11 UTC]    Format field in books: YES
[19-Nov-2025 02:22:11 UTC]    Description field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Is_active field in books: YES
[19-Nov-2025 02:22:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:22:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:22:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:22:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:22:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:22:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:22:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:22:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:22:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:22:11 UTC] 📊 Database Info:
[19-Nov-2025 02:22:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:22:11 UTC]    Books columns count: 44
[19-Nov-2025 02:22:11 UTC]    Categories columns count: 7
[19-Nov-2025 02:22:11 UTC]    Language field in books: YES
[19-Nov-2025 02:22:11 UTC]    Format field in books: YES
[19-Nov-2025 02:22:11 UTC]    Description field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Is_active field in books: YES
[19-Nov-2025 02:22:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:22:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:22:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:22:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:22:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:22:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:22:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:22:11 UTC] 📊 Database Info:
[19-Nov-2025 02:22:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:22:11 UTC]    Books columns count: 44
[19-Nov-2025 02:22:11 UTC]    Categories columns count: 7
[19-Nov-2025 02:22:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:22:11 UTC]    Language field in books: YES
[19-Nov-2025 02:22:11 UTC] 📊 Database Info:
[19-Nov-2025 02:22:11 UTC]    Format field in books: YES
[19-Nov-2025 02:22:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:22:11 UTC]    Description field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Books columns count: 44
[19-Nov-2025 02:22:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Categories columns count: 7
[19-Nov-2025 02:22:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Is_active field in books: YES
[19-Nov-2025 02:22:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:22:11 UTC]    Language field in books: YES
[19-Nov-2025 02:22:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:22:11 UTC]    Format field in books: YES
[19-Nov-2025 02:22:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:22:11 UTC]    Description field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:22:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Is_active field in books: YES
[19-Nov-2025 02:22:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:22:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:22:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:22:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:22:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:22:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:22:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:22:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:22:11 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 02:22:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:22:11 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 02:22:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:22:11 UTC] 📊 Database Info:
[19-Nov-2025 02:22:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:22:11 UTC]    Books columns count: 44
[19-Nov-2025 02:22:11 UTC]    Categories columns count: 7
[19-Nov-2025 02:22:11 UTC]    Language field in books: YES
[19-Nov-2025 02:22:11 UTC]    Format field in books: YES
[19-Nov-2025 02:22:11 UTC]    Description field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Is_active field in books: YES
[19-Nov-2025 02:22:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:22:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:22:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:22:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:22:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:22:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:22:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:22:11 UTC] 📊 Database Info:
[19-Nov-2025 02:22:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:22:11 UTC]    Books columns count: 44
[19-Nov-2025 02:22:11 UTC]    Categories columns count: 7
[19-Nov-2025 02:22:11 UTC]    Language field in books: YES
[19-Nov-2025 02:22:11 UTC]    Format field in books: YES
[19-Nov-2025 02:22:11 UTC]    Description field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Is_active field in books: YES
[19-Nov-2025 02:22:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:22:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:22:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:22:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:22:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:22:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:22:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 02:22:11 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 02:22:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:22:11 UTC] 📊 Database Info:
[19-Nov-2025 02:22:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:22:11 UTC]    Books columns count: 44
[19-Nov-2025 02:22:11 UTC]    Categories columns count: 7
[19-Nov-2025 02:22:11 UTC]    Language field in books: YES
[19-Nov-2025 02:22:11 UTC]    Format field in books: YES
[19-Nov-2025 02:22:11 UTC]    Description field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:22:11 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 02:22:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:22:11 UTC]    Is_active field in books: YES
[19-Nov-2025 02:22:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:22:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:22:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:22:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:22:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:22:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:22:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:22:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 02:22:11 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 02:22:11 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 02:22:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:22:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:12 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:22:12 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:22:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:12 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:22:12 UTC] 📊 Database Info:
[19-Nov-2025 02:22:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:22:12 UTC]    Books columns count: 44
[19-Nov-2025 02:22:12 UTC]    Categories columns count: 7
[19-Nov-2025 02:22:12 UTC]    Language field in books: YES
[19-Nov-2025 02:22:12 UTC]    Format field in books: YES
[19-Nov-2025 02:22:12 UTC]    Description field in categories: YES
[19-Nov-2025 02:22:12 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:22:12 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:22:12 UTC]    Is_active field in books: YES
[19-Nov-2025 02:22:12 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:22:12 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:22:12 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:22:12 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:22:12 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:22:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:22:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 02:22:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 02:22:12 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 02:22:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:22:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:22:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:12 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:22:12 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:22:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:12 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:22:12 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:22:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:22:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:12 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:22:12 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:22:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:12 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:22:12 UTC] 📊 Database Info:
[19-Nov-2025 02:22:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:22:12 UTC]    Books columns count: 44
[19-Nov-2025 02:22:12 UTC]    Categories columns count: 7
[19-Nov-2025 02:22:12 UTC]    Language field in books: YES
[19-Nov-2025 02:22:12 UTC]    Format field in books: YES
[19-Nov-2025 02:22:12 UTC]    Description field in categories: YES
[19-Nov-2025 02:22:12 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:22:12 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:22:12 UTC]    Is_active field in books: YES
[19-Nov-2025 02:22:12 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:22:12 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:22:12 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:22:12 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:22:12 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:22:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:22:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 02:22:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 02:22:12 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 02:22:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:12 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:22:12 UTC] 📊 Database Info:
[19-Nov-2025 02:22:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:22:12 UTC]    Books columns count: 44
[19-Nov-2025 02:22:12 UTC]    Categories columns count: 7
[19-Nov-2025 02:22:12 UTC]    Language field in books: YES
[19-Nov-2025 02:22:12 UTC]    Format field in books: YES
[19-Nov-2025 02:22:12 UTC]    Description field in categories: YES
[19-Nov-2025 02:22:12 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:22:12 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:22:12 UTC]    Is_active field in books: YES
[19-Nov-2025 02:22:12 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:22:12 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:22:12 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:22:12 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:22:12 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:22:12 UTC] 📊 Database Info:
[19-Nov-2025 02:22:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:22:12 UTC]    Books columns count: 44
[19-Nov-2025 02:22:12 UTC]    Categories columns count: 7
[19-Nov-2025 02:22:12 UTC]    Language field in books: YES
[19-Nov-2025 02:22:12 UTC]    Format field in books: YES
[19-Nov-2025 02:22:12 UTC]    Description field in categories: YES
[19-Nov-2025 02:22:12 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:22:12 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:22:12 UTC]    Is_active field in books: YES
[19-Nov-2025 02:22:12 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:22:12 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:22:12 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:22:12 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:22:12 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:22:12 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:22:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:22:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 02:22:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 02:22:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:22:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:22:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 02:22:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 02:22:12 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 02:22:12 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 02:22:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:22:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:22:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:22:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:22:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:22:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:22:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:22:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:22:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:22:15 UTC] 📊 Database Info:
[19-Nov-2025 02:22:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:22:15 UTC]    Books columns count: 44
[19-Nov-2025 02:22:15 UTC]    Categories columns count: 7
[19-Nov-2025 02:22:15 UTC]    Language field in books: YES
[19-Nov-2025 02:22:15 UTC]    Format field in books: YES
[19-Nov-2025 02:22:15 UTC]    Description field in categories: YES
[19-Nov-2025 02:22:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:22:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:22:15 UTC]    Is_active field in books: YES
[19-Nov-2025 02:22:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:22:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:22:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:22:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:22:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:22:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:22:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:22:15 UTC] 📊 Database Info:
[19-Nov-2025 02:22:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:22:15 UTC]    Books columns count: 44
[19-Nov-2025 02:22:15 UTC]    Categories columns count: 7
[19-Nov-2025 02:22:15 UTC]    Language field in books: YES
[19-Nov-2025 02:22:15 UTC]    Format field in books: YES
[19-Nov-2025 02:22:15 UTC]    Description field in categories: YES
[19-Nov-2025 02:22:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:22:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:22:15 UTC]    Is_active field in books: YES
[19-Nov-2025 02:22:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:22:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:22:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:22:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:22:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:22:15 UTC] 📊 Database Info:
[19-Nov-2025 02:22:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:22:15 UTC]    Books columns count: 44
[19-Nov-2025 02:22:15 UTC]    Categories columns count: 7
[19-Nov-2025 02:22:15 UTC]    Language field in books: YES
[19-Nov-2025 02:22:15 UTC]    Format field in books: YES
[19-Nov-2025 02:22:15 UTC]    Description field in categories: YES
[19-Nov-2025 02:22:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:22:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:22:15 UTC]    Is_active field in books: YES
[19-Nov-2025 02:22:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:22:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:22:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:22:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:22:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:22:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:22:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:22:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 02:22:15 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:22:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:22:15 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 02:22:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:22:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:22:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:22:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 02:22:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 02:22:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 02:22:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 02:22:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 02:22:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 02:22:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 02:22:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:22:15 UTC] 📊 Database Info:
[19-Nov-2025 02:22:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:22:15 UTC]    Books columns count: 44
[19-Nov-2025 02:22:15 UTC]    Categories columns count: 7
[19-Nov-2025 02:22:15 UTC]    Language field in books: YES
[19-Nov-2025 02:22:15 UTC]    Format field in books: YES
[19-Nov-2025 02:22:15 UTC]    Description field in categories: YES
[19-Nov-2025 02:22:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:22:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:22:15 UTC]    Is_active field in books: YES
[19-Nov-2025 02:22:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:22:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:22:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:22:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:22:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:22:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:22:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 02:22:15 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 02:22:15 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 02:22:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 02:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 02:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 02:22:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 02:22:15 UTC] 📊 Database Info:
[19-Nov-2025 02:22:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 02:22:15 UTC]    Books columns count: 44
[19-Nov-2025 02:22:15 UTC]    Categories columns count: 7
[19-Nov-2025 02:22:15 UTC]    Language field in books: YES
[19-Nov-2025 02:22:15 UTC]    Format field in books: YES
[19-Nov-2025 02:22:15 UTC]    Description field in categories: YES
[19-Nov-2025 02:22:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 02:22:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 02:22:15 UTC]    Is_active field in books: YES
[19-Nov-2025 02:22:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 02:22:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 02:22:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 02:22:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 02:22:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 02:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 02:22:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 02:22:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 02:22:15 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 02:22:15 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 13:03:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:03:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:03:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:03:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:03:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:03:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:03:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:03:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:03:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:03:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:03:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:03:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:03:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:03:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:03:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:03:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:03:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:03:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:03:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:03:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:03:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:03:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:03:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:03:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:03:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:03:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:03:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:03:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:03:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:03:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:03:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:03:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:03:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:03:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:03:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:03:54 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:03:54 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:03:54 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:03:54 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:03:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:03:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:03:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:03:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:03:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:03:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:03:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:03:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:03:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:03:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:03:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:03:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:03:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:03:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:03:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:03:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:03:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:03:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:03:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:03:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:03:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:03:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:03:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:03:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:03:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:03:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:03:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:03:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:03:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:03:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:03:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:03:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:03:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:03:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:03:55 UTC] 📊 Database Info:
[19-Nov-2025 13:03:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:03:55 UTC]    Books columns count: 44
[19-Nov-2025 13:03:55 UTC]    Categories columns count: 7
[19-Nov-2025 13:03:55 UTC]    Language field in books: YES
[19-Nov-2025 13:03:55 UTC]    Format field in books: YES
[19-Nov-2025 13:03:55 UTC]    Description field in categories: YES
[19-Nov-2025 13:03:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:03:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:03:55 UTC]    Is_active field in books: YES
[19-Nov-2025 13:03:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:03:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:03:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:03:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:03:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:03:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:03:55 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:03:55 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 13:03:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:03:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:03:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:03:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:03:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:03:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:03:55 UTC] 📊 Database Info:
[19-Nov-2025 13:03:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:03:55 UTC]    Books columns count: 44
[19-Nov-2025 13:03:55 UTC]    Categories columns count: 7
[19-Nov-2025 13:03:55 UTC]    Language field in books: YES
[19-Nov-2025 13:03:55 UTC]    Format field in books: YES
[19-Nov-2025 13:03:55 UTC]    Description field in categories: YES
[19-Nov-2025 13:03:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:03:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:03:55 UTC]    Is_active field in books: YES
[19-Nov-2025 13:03:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:03:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:03:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:03:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:03:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:03:55 UTC] 📊 Database Info:
[19-Nov-2025 13:03:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:03:55 UTC]    Books columns count: 44
[19-Nov-2025 13:03:55 UTC]    Categories columns count: 7
[19-Nov-2025 13:03:55 UTC]    Language field in books: YES
[19-Nov-2025 13:03:55 UTC]    Format field in books: YES
[19-Nov-2025 13:03:55 UTC]    Description field in categories: YES
[19-Nov-2025 13:03:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:03:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:03:55 UTC]    Is_active field in books: YES
[19-Nov-2025 13:03:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:03:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:03:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:03:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:03:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:03:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:03:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:03:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:03:55 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:03:55 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:03:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:03:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:05:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:05:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:05:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:05:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:05:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:05:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:05:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:05:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:05:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:05:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:05:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:05:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:05:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:05:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:05:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:05:49 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:05:49 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:05:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:05:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:05:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:05:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:05:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:05:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:05:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:05:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:05:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:05:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:05:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:05:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:05:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:05:49 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:05:49 UTC] 📊 Database Info:
[19-Nov-2025 13:05:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:05:49 UTC]    Books columns count: 44
[19-Nov-2025 13:05:49 UTC]    Categories columns count: 7
[19-Nov-2025 13:05:49 UTC]    Language field in books: YES
[19-Nov-2025 13:05:49 UTC]    Format field in books: YES
[19-Nov-2025 13:05:49 UTC]    Description field in categories: YES
[19-Nov-2025 13:05:49 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:05:49 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:05:49 UTC]    Is_active field in books: YES
[19-Nov-2025 13:05:49 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:05:49 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:05:49 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:05:49 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:05:49 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:05:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:05:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:05:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:05:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:05:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:05:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:05:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:05:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:05:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:05:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:05:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:05:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:05:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:05:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:05:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:05:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:05:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:05:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:05:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:05:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:05:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:05:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:05:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:05:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:05:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:05:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:05:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:05:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:05:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:05:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:05:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:05:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:05:50 UTC] 📊 Database Info:
[19-Nov-2025 13:05:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:05:50 UTC]    Books columns count: 44
[19-Nov-2025 13:05:50 UTC]    Categories columns count: 7
[19-Nov-2025 13:05:50 UTC]    Language field in books: YES
[19-Nov-2025 13:05:50 UTC]    Format field in books: YES
[19-Nov-2025 13:05:50 UTC]    Description field in categories: YES
[19-Nov-2025 13:05:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:05:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:05:50 UTC]    Is_active field in books: YES
[19-Nov-2025 13:05:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:05:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:05:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:05:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:05:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:05:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:05:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:05:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:05:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:05:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:05:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:05:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:05:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:05:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:05:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:05:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:05:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:05:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:06:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:02 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:06:02 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:06:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:02 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:06:02 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:06:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:02 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:06:02 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:02 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:06:02 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:02 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:02 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:06:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:02 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:06:02 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:06:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:02 UTC] 📊 Database Info:
[19-Nov-2025 13:06:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:06:02 UTC]    Books columns count: 44
[19-Nov-2025 13:06:02 UTC]    Categories columns count: 7
[19-Nov-2025 13:06:02 UTC]    Language field in books: YES
[19-Nov-2025 13:06:02 UTC]    Format field in books: YES
[19-Nov-2025 13:06:02 UTC]    Description field in categories: YES
[19-Nov-2025 13:06:02 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:06:02 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:06:02 UTC]    Is_active field in books: YES
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:02 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:06:02 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:06:02 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:06:02 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:02 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:06:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:06:02 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 13:06:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:02 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:02 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:06:02 UTC] 📊 Database Info:
[19-Nov-2025 13:06:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:06:02 UTC]    Books columns count: 44
[19-Nov-2025 13:06:02 UTC]    Categories columns count: 7
[19-Nov-2025 13:06:02 UTC]    Language field in books: YES
[19-Nov-2025 13:06:02 UTC]    Format field in books: YES
[19-Nov-2025 13:06:02 UTC]    Description field in categories: YES
[19-Nov-2025 13:06:02 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:06:02 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:06:02 UTC]    Is_active field in books: YES
[19-Nov-2025 13:06:02 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:06:02 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:06:02 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:06:02 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:06:02 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:06:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:06:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:02 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:06:02 UTC] 📊 Database Info:
[19-Nov-2025 13:06:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:06:02 UTC]    Books columns count: 44
[19-Nov-2025 13:06:02 UTC]    Categories columns count: 7
[19-Nov-2025 13:06:02 UTC]    Language field in books: YES
[19-Nov-2025 13:06:02 UTC]    Format field in books: YES
[19-Nov-2025 13:06:02 UTC]    Description field in categories: YES
[19-Nov-2025 13:06:02 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:06:02 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:06:02 UTC]    Is_active field in books: YES
[19-Nov-2025 13:06:02 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:06:02 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:06:02 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:06:02 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:06:02 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:06:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:06:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:02 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:06:02 UTC] 📊 Database Info:
[19-Nov-2025 13:06:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:06:02 UTC]    Books columns count: 44
[19-Nov-2025 13:06:02 UTC]    Categories columns count: 7
[19-Nov-2025 13:06:02 UTC]    Language field in books: YES
[19-Nov-2025 13:06:02 UTC]    Format field in books: YES
[19-Nov-2025 13:06:02 UTC]    Description field in categories: YES
[19-Nov-2025 13:06:02 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:06:02 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:06:02 UTC]    Is_active field in books: YES
[19-Nov-2025 13:06:02 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:06:02 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:06:02 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:06:02 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:06:02 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:06:02 UTC] 📊 Database Info:
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:06:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:06:02 UTC]    Books columns count: 44
[19-Nov-2025 13:06:02 UTC]    Categories columns count: 7
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:06:02 UTC]    Language field in books: YES
[19-Nov-2025 13:06:02 UTC]    Format field in books: YES
[19-Nov-2025 13:06:02 UTC]    Description field in categories: YES
[19-Nov-2025 13:06:02 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:06:02 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:06:02 UTC]    Is_active field in books: YES
[19-Nov-2025 13:06:02 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:06:02 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:06:02 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:06:02 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:06:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:06:02 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 13:06:02 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 13:06:02 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:06:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:06:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:06:02 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:06:02 UTC] 📊 Database Info:
[19-Nov-2025 13:06:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:06:02 UTC]    Books columns count: 44
[19-Nov-2025 13:06:02 UTC]    Categories columns count: 7
[19-Nov-2025 13:06:02 UTC]    Language field in books: YES
[19-Nov-2025 13:06:02 UTC]    Format field in books: YES
[19-Nov-2025 13:06:02 UTC]    Description field in categories: YES
[19-Nov-2025 13:06:02 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:06:02 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:06:02 UTC]    Is_active field in books: YES
[19-Nov-2025 13:06:02 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:06:02 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:06:02 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:06:02 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:06:02 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:06:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:06:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:06:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:06:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:06:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:06:05 UTC] 📊 Database Info:
[19-Nov-2025 13:06:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:06:05 UTC]    Books columns count: 44
[19-Nov-2025 13:06:05 UTC]    Categories columns count: 7
[19-Nov-2025 13:06:05 UTC]    Language field in books: YES
[19-Nov-2025 13:06:05 UTC]    Format field in books: YES
[19-Nov-2025 13:06:05 UTC]    Description field in categories: YES
[19-Nov-2025 13:06:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:06:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:06:05 UTC]    Is_active field in books: YES
[19-Nov-2025 13:06:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:06:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:06:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:06:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:06:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:06:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:06:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:06:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:24 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:06:24 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:06:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:24 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:06:24 UTC] 📊 Database Info:
[19-Nov-2025 13:06:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:06:24 UTC]    Books columns count: 44
[19-Nov-2025 13:06:24 UTC]    Categories columns count: 7
[19-Nov-2025 13:06:24 UTC]    Language field in books: YES
[19-Nov-2025 13:06:24 UTC]    Format field in books: YES
[19-Nov-2025 13:06:24 UTC]    Description field in categories: YES
[19-Nov-2025 13:06:24 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:06:24 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:06:24 UTC]    Is_active field in books: YES
[19-Nov-2025 13:06:24 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:06:24 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:06:24 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:06:24 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:06:24 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:06:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:06:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:06:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:06:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:06:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:06:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:06:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:06:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:06:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:06:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:06:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:06:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:06:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:06:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:06:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:25 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:06:25 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:06:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:06:25 UTC] 📊 Database Info:
[19-Nov-2025 13:06:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:06:25 UTC]    Books columns count: 44
[19-Nov-2025 13:06:25 UTC]    Categories columns count: 7
[19-Nov-2025 13:06:25 UTC]    Language field in books: YES
[19-Nov-2025 13:06:25 UTC]    Format field in books: YES
[19-Nov-2025 13:06:25 UTC]    Description field in categories: YES
[19-Nov-2025 13:06:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:06:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:06:25 UTC]    Is_active field in books: YES
[19-Nov-2025 13:06:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:06:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:06:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:06:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:06:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:06:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:06:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:06:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:06:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:06:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:06:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:06:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:06:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:06:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:06:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:06:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:06:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:06:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:06:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:06:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:30 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:06:30 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:06:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:30 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:06:30 UTC] 📊 Database Info:
[19-Nov-2025 13:06:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:06:30 UTC]    Books columns count: 44
[19-Nov-2025 13:06:30 UTC]    Categories columns count: 7
[19-Nov-2025 13:06:30 UTC]    Language field in books: YES
[19-Nov-2025 13:06:30 UTC]    Format field in books: YES
[19-Nov-2025 13:06:30 UTC]    Description field in categories: YES
[19-Nov-2025 13:06:30 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:06:30 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:06:30 UTC]    Is_active field in books: YES
[19-Nov-2025 13:06:30 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:06:30 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:06:30 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:06:30 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:06:30 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:06:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:06:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:06:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:06:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:06:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:06:52 UTC] 📊 Database Info:
[19-Nov-2025 13:06:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:06:52 UTC]    Books columns count: 44
[19-Nov-2025 13:06:52 UTC]    Categories columns count: 7
[19-Nov-2025 13:06:52 UTC]    Language field in books: YES
[19-Nov-2025 13:06:52 UTC]    Format field in books: YES
[19-Nov-2025 13:06:52 UTC]    Description field in categories: YES
[19-Nov-2025 13:06:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:06:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:06:52 UTC]    Is_active field in books: YES
[19-Nov-2025 13:06:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:06:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:06:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:06:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:06:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:06:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:06:52 UTC] 🔄 Processing category - ID: , Name: test cat one, Active: 1, Remove Image: NO
[19-Nov-2025 13:06:52 UTC] 🔍 Checking for duplicate category name: 'test cat one'
[19-Nov-2025 13:06:52 UTC] ✅ No duplicate category name found
[19-Nov-2025 13:06:52 UTC] ✅ Using default category image: uploads/no-imagee.jpg
[19-Nov-2025 13:06:52 UTC] 🆕 Adding new category with active status: 1
[19-Nov-2025 13:06:52 UTC] ✅ New category added with ID: 3 and active status: 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:06:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:06:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:06:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:06:52 UTC] 📊 Database Info:
[19-Nov-2025 13:06:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:06:52 UTC]    Books columns count: 44
[19-Nov-2025 13:06:52 UTC]    Categories columns count: 7
[19-Nov-2025 13:06:52 UTC]    Language field in books: YES
[19-Nov-2025 13:06:52 UTC]    Format field in books: YES
[19-Nov-2025 13:06:52 UTC]    Description field in categories: YES
[19-Nov-2025 13:06:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:06:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:06:52 UTC]    Is_active field in books: YES
[19-Nov-2025 13:06:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:06:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:06:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:06:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:06:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:06:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:06:52 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:06:52 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:06:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:06:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:06:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:06:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:06:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:06:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:06:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:06:58 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:06:58 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:06:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:06:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:06:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:06:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:06:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:06:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:06:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:06:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:06:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:58 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:06:58 UTC] 📊 Database Info:
[19-Nov-2025 13:06:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:06:58 UTC]    Books columns count: 44
[19-Nov-2025 13:06:58 UTC]    Categories columns count: 7
[19-Nov-2025 13:06:58 UTC]    Language field in books: YES
[19-Nov-2025 13:06:58 UTC]    Format field in books: YES
[19-Nov-2025 13:06:58 UTC]    Description field in categories: YES
[19-Nov-2025 13:06:58 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:06:58 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:06:58 UTC]    Is_active field in books: YES
[19-Nov-2025 13:06:58 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:06:58 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:06:58 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:06:58 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:06:58 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:06:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:06:58 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 13:06:58 UTC] ✅ إرجاع 2 تصنيف نشط
[19-Nov-2025 13:06:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:58 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:06:58 UTC] 📊 Database Info:
[19-Nov-2025 13:06:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:06:58 UTC]    Books columns count: 44
[19-Nov-2025 13:06:58 UTC]    Categories columns count: 7
[19-Nov-2025 13:06:58 UTC]    Language field in books: YES
[19-Nov-2025 13:06:58 UTC]    Format field in books: YES
[19-Nov-2025 13:06:58 UTC]    Description field in categories: YES
[19-Nov-2025 13:06:58 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:06:58 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:06:58 UTC]    Is_active field in books: YES
[19-Nov-2025 13:06:58 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:06:58 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:06:58 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:06:58 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:06:58 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:06:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:06:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:06:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:06:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:06:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:06:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:06:58 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:06:58 UTC] 📊 Database Info:
[19-Nov-2025 13:06:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:06:58 UTC]    Books columns count: 44
[19-Nov-2025 13:06:58 UTC]    Categories columns count: 7
[19-Nov-2025 13:06:58 UTC]    Language field in books: YES
[19-Nov-2025 13:06:58 UTC]    Format field in books: YES
[19-Nov-2025 13:06:58 UTC]    Description field in categories: YES
[19-Nov-2025 13:06:58 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:06:58 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:06:58 UTC]    Is_active field in books: YES
[19-Nov-2025 13:06:58 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:06:58 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:06:58 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:06:58 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:06:58 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:06:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:07:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:07:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:06 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:07:06 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:07:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:06 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:07:06 UTC] 📊 Database Info:
[19-Nov-2025 13:07:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:07:06 UTC]    Books columns count: 44
[19-Nov-2025 13:07:06 UTC]    Categories columns count: 7
[19-Nov-2025 13:07:06 UTC]    Language field in books: YES
[19-Nov-2025 13:07:06 UTC]    Format field in books: YES
[19-Nov-2025 13:07:06 UTC]    Description field in categories: YES
[19-Nov-2025 13:07:06 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:07:06 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:07:06 UTC]    Is_active field in books: YES
[19-Nov-2025 13:07:06 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:07:06 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:07:06 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:07:06 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:07:06 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:07:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:07:06 UTC] 🔄 Processing category - ID: 1, Name: Agricultural science project topics, Active: 0, Remove Image: NO
[19-Nov-2025 13:07:06 UTC] 🔍 Checking for duplicate category name: 'Agricultural science project topics'
[19-Nov-2025 13:07:06 UTC] ✅ No duplicate category name found
[19-Nov-2025 13:07:06 UTC] 📁 Keeping existing category image: uploads/images/691cdc58cd0ad_1763499096.jpg
[19-Nov-2025 13:07:06 UTC] 🔄 Updating existing category ID: 1
[19-Nov-2025 13:07:06 UTC] ✅ Category updated with new image and active status: 0
[19-Nov-2025 13:07:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:07:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:06 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:07:06 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:07:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:06 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:07:06 UTC] 📊 Database Info:
[19-Nov-2025 13:07:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:07:06 UTC]    Books columns count: 44
[19-Nov-2025 13:07:06 UTC]    Categories columns count: 7
[19-Nov-2025 13:07:06 UTC]    Language field in books: YES
[19-Nov-2025 13:07:06 UTC]    Format field in books: YES
[19-Nov-2025 13:07:06 UTC]    Description field in categories: YES
[19-Nov-2025 13:07:06 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:07:06 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:07:06 UTC]    Is_active field in books: YES
[19-Nov-2025 13:07:06 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:07:06 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:07:06 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:07:06 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:07:06 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:07:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:07:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:07:06 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:07:06 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:07:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:07:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:07:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:07:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:07:09 UTC] 📊 Database Info:
[19-Nov-2025 13:07:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:07:09 UTC]    Books columns count: 44
[19-Nov-2025 13:07:09 UTC]    Categories columns count: 7
[19-Nov-2025 13:07:09 UTC]    Language field in books: YES
[19-Nov-2025 13:07:09 UTC]    Format field in books: YES
[19-Nov-2025 13:07:09 UTC]    Description field in categories: YES
[19-Nov-2025 13:07:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:07:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:07:09 UTC]    Is_active field in books: YES
[19-Nov-2025 13:07:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:07:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:07:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:07:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:07:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:07:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:07:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:07:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:07:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:07:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:07:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:07:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:07:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:07:09 UTC] 📊 Database Info:
[19-Nov-2025 13:07:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:07:09 UTC]    Books columns count: 44
[19-Nov-2025 13:07:09 UTC]    Categories columns count: 7
[19-Nov-2025 13:07:09 UTC]    Language field in books: YES
[19-Nov-2025 13:07:09 UTC]    Format field in books: YES
[19-Nov-2025 13:07:09 UTC]    Description field in categories: YES
[19-Nov-2025 13:07:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:07:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:07:09 UTC]    Is_active field in books: YES
[19-Nov-2025 13:07:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:07:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:07:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:07:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:07:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:07:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:07:09 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 13:07:09 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 13:07:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:07:09 UTC] 📊 Database Info:
[19-Nov-2025 13:07:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:07:09 UTC]    Books columns count: 44
[19-Nov-2025 13:07:09 UTC]    Categories columns count: 7
[19-Nov-2025 13:07:09 UTC]    Language field in books: YES
[19-Nov-2025 13:07:09 UTC]    Format field in books: YES
[19-Nov-2025 13:07:09 UTC]    Description field in categories: YES
[19-Nov-2025 13:07:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:07:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:07:09 UTC]    Is_active field in books: YES
[19-Nov-2025 13:07:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:07:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:07:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:07:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:07:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:07:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:07:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:07:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:07:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:07:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:07:11 UTC] 📊 Database Info:
[19-Nov-2025 13:07:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:07:11 UTC]    Books columns count: 44
[19-Nov-2025 13:07:11 UTC]    Categories columns count: 7
[19-Nov-2025 13:07:11 UTC]    Language field in books: YES
[19-Nov-2025 13:07:11 UTC]    Format field in books: YES
[19-Nov-2025 13:07:11 UTC]    Description field in categories: YES
[19-Nov-2025 13:07:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:07:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:07:11 UTC]    Is_active field in books: YES
[19-Nov-2025 13:07:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:07:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:07:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:07:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:07:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:07:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:07:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:07:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:07:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:07:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:07:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:07:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:07:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:07:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:07:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:07:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:07:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:07:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:07:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:07:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:07:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:07:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:07:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:07:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:07:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:07:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:07:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:07:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:07:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:07:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:07:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:07:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:07:22 UTC] 📊 Database Info:
[19-Nov-2025 13:07:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:07:22 UTC]    Books columns count: 44
[19-Nov-2025 13:07:22 UTC]    Categories columns count: 7
[19-Nov-2025 13:07:22 UTC]    Language field in books: YES
[19-Nov-2025 13:07:22 UTC]    Format field in books: YES
[19-Nov-2025 13:07:22 UTC]    Description field in categories: YES
[19-Nov-2025 13:07:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:07:22 UTC]    Is_active field in books: YES
[19-Nov-2025 13:07:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:07:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:07:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:07:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:07:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:07:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:07:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:07:22 UTC] 📊 Database Info:
[19-Nov-2025 13:07:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:07:22 UTC]    Books columns count: 44
[19-Nov-2025 13:07:22 UTC]    Categories columns count: 7
[19-Nov-2025 13:07:22 UTC]    Language field in books: YES
[19-Nov-2025 13:07:22 UTC]    Format field in books: YES
[19-Nov-2025 13:07:22 UTC]    Description field in categories: YES
[19-Nov-2025 13:07:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:07:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:07:22 UTC]    Is_active field in books: YES
[19-Nov-2025 13:07:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:07:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:07:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:07:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:07:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:07:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:07:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:07:22 UTC] 📊 Database Info:
[19-Nov-2025 13:07:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:07:22 UTC]    Books columns count: 44
[19-Nov-2025 13:07:22 UTC]    Categories columns count: 7
[19-Nov-2025 13:07:22 UTC]    Language field in books: YES
[19-Nov-2025 13:07:22 UTC]    Format field in books: YES
[19-Nov-2025 13:07:22 UTC]    Description field in categories: YES
[19-Nov-2025 13:07:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:07:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:07:22 UTC]    Is_active field in books: YES
[19-Nov-2025 13:07:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:07:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:07:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:07:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:07:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:07:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:07:22 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 13:07:22 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 13:07:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:07:22 UTC] 📊 Database Info:
[19-Nov-2025 13:07:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:07:22 UTC]    Books columns count: 44
[19-Nov-2025 13:07:22 UTC]    Categories columns count: 7
[19-Nov-2025 13:07:22 UTC]    Language field in books: YES
[19-Nov-2025 13:07:22 UTC]    Format field in books: YES
[19-Nov-2025 13:07:22 UTC]    Description field in categories: YES
[19-Nov-2025 13:07:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:07:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:07:22 UTC]    Is_active field in books: YES
[19-Nov-2025 13:07:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:07:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:07:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:07:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:07:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:07:22 UTC] 📊 Database Info:
[19-Nov-2025 13:07:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:07:22 UTC]    Books columns count: 44
[19-Nov-2025 13:07:22 UTC]    Categories columns count: 7
[19-Nov-2025 13:07:22 UTC]    Language field in books: YES
[19-Nov-2025 13:07:22 UTC]    Format field in books: YES
[19-Nov-2025 13:07:22 UTC]    Description field in categories: YES
[19-Nov-2025 13:07:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:07:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:07:22 UTC]    Is_active field in books: YES
[19-Nov-2025 13:07:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:07:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:07:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:07:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:07:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:07:22 UTC] 📊 Database Info:
[19-Nov-2025 13:07:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:07:22 UTC]    Books columns count: 44
[19-Nov-2025 13:07:22 UTC]    Categories columns count: 7
[19-Nov-2025 13:07:22 UTC]    Language field in books: YES
[19-Nov-2025 13:07:22 UTC]    Format field in books: YES
[19-Nov-2025 13:07:22 UTC]    Description field in categories: YES
[19-Nov-2025 13:07:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:07:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:07:22 UTC]    Is_active field in books: YES
[19-Nov-2025 13:07:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:07:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:07:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:07:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:07:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:07:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:07:22 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 13:07:22 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 13:07:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:07:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:07:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:07:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:07:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:07:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:07:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:07:41 UTC] 📊 Database Info:
[19-Nov-2025 13:07:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:07:41 UTC]    Books columns count: 44
[19-Nov-2025 13:07:41 UTC]    Categories columns count: 7
[19-Nov-2025 13:07:41 UTC]    Language field in books: YES
[19-Nov-2025 13:07:41 UTC]    Format field in books: YES
[19-Nov-2025 13:07:41 UTC]    Description field in categories: YES
[19-Nov-2025 13:07:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:07:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:07:41 UTC]    Is_active field in books: YES
[19-Nov-2025 13:07:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:07:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:07:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:07:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:07:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:07:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:07:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:07:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:07:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:07:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:07:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:07:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:07:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:07:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:07:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:07:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:07:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:07:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:07:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:07:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:07:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:07:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:07:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:07:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:07:51 UTC] 📊 Database Info:
[19-Nov-2025 13:07:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:07:51 UTC]    Books columns count: 44
[19-Nov-2025 13:07:51 UTC]    Categories columns count: 7
[19-Nov-2025 13:07:51 UTC]    Language field in books: YES
[19-Nov-2025 13:07:51 UTC]    Format field in books: YES
[19-Nov-2025 13:07:51 UTC]    Description field in categories: YES
[19-Nov-2025 13:07:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:07:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:07:51 UTC]    Is_active field in books: YES
[19-Nov-2025 13:07:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:07:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:07:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:07:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:07:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:07:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:07:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:07:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:07:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:07:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:07:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:07:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:07:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:07:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:07:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:07:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:07:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:07:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:08:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:08:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:08:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:08:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:08:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:08:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:08:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:08:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:08:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:08:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:08:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:08:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:08:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:08:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:08:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:08:02 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:08:02 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:08:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:08:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:08:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:08:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:08:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:08:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:08:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:08:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:08:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:08:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:08:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:08:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:08:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:08:02 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:08:02 UTC] 📊 Database Info:
[19-Nov-2025 13:08:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:08:02 UTC]    Books columns count: 44
[19-Nov-2025 13:08:02 UTC]    Categories columns count: 7
[19-Nov-2025 13:08:02 UTC]    Language field in books: YES
[19-Nov-2025 13:08:02 UTC]    Format field in books: YES
[19-Nov-2025 13:08:02 UTC]    Description field in categories: YES
[19-Nov-2025 13:08:02 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:08:02 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:08:02 UTC]    Is_active field in books: YES
[19-Nov-2025 13:08:02 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:08:02 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:08:02 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:08:02 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:08:02 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:08:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:08:14 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:08:14 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:08:14 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:08:14 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:08:14 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:08:14 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:08:14 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:08:14 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:08:14 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:08:14 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:08:14 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:08:14 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:08:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:08:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:08:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:08:14 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:08:14 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:08:14 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:08:14 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:08:14 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:08:14 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:08:14 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:08:14 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:08:14 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:08:14 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:08:14 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:08:14 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:08:14 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:08:14 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:08:14 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:08:14 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:08:14 UTC] 📊 Database Info:
[19-Nov-2025 13:08:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:08:14 UTC]    Books columns count: 44
[19-Nov-2025 13:08:14 UTC]    Categories columns count: 7
[19-Nov-2025 13:08:14 UTC]    Language field in books: YES
[19-Nov-2025 13:08:14 UTC]    Format field in books: YES
[19-Nov-2025 13:08:14 UTC]    Description field in categories: YES
[19-Nov-2025 13:08:14 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:08:14 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:08:14 UTC]    Is_active field in books: YES
[19-Nov-2025 13:08:14 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:08:14 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:08:14 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:08:14 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:08:14 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:08:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:08:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:08:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:08:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:08:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:08:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:08:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:08:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:08:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:08:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:08:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:08:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:08:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:08:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:08:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:08:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:08:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:08:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:08:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:08:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:08:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:08:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:08:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:08:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:08:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:08:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:08:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:08:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:08:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:08:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:08:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:08:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:08:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:08:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:08:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:08:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:08:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:08:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:08:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:08:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:08:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:08:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:08:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:08:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:08:41 UTC] 📊 Database Info:
[19-Nov-2025 13:08:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:08:41 UTC]    Books columns count: 44
[19-Nov-2025 13:08:41 UTC]    Categories columns count: 7
[19-Nov-2025 13:08:41 UTC]    Language field in books: YES
[19-Nov-2025 13:08:41 UTC]    Format field in books: YES
[19-Nov-2025 13:08:41 UTC]    Description field in categories: YES
[19-Nov-2025 13:08:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:08:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:08:41 UTC]    Is_active field in books: YES
[19-Nov-2025 13:08:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:08:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:08:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:08:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:08:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:08:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:09:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:09:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:09:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:09:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:09:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:09:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:09:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:09:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:09:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:09:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:09:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:09:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:09:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:09:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:09:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:09:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:09:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:09:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:09:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:09:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:09:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:09:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:09:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:09:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:09:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:09:05 UTC] 📊 Database Info:
[19-Nov-2025 13:09:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:09:05 UTC]    Books columns count: 44
[19-Nov-2025 13:09:05 UTC]    Categories columns count: 7
[19-Nov-2025 13:09:05 UTC]    Language field in books: YES
[19-Nov-2025 13:09:05 UTC]    Format field in books: YES
[19-Nov-2025 13:09:05 UTC]    Description field in categories: YES
[19-Nov-2025 13:09:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:09:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:09:05 UTC]    Is_active field in books: YES
[19-Nov-2025 13:09:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:09:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:09:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:09:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:09:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:09:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:09:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:09:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:09:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:09:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:09:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:09:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:09:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:09:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:09:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:09:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:09:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:09:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:09:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:09:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:09:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:09:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:09:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:09:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:09:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:09:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:09:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:09:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:09:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:09:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:09:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:09:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:09:17 UTC] 📊 Database Info:
[19-Nov-2025 13:09:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:09:17 UTC]    Books columns count: 44
[19-Nov-2025 13:09:17 UTC]    Categories columns count: 7
[19-Nov-2025 13:09:17 UTC]    Language field in books: YES
[19-Nov-2025 13:09:17 UTC]    Format field in books: YES
[19-Nov-2025 13:09:17 UTC]    Description field in categories: YES
[19-Nov-2025 13:09:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:09:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:09:17 UTC]    Is_active field in books: YES
[19-Nov-2025 13:09:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:09:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:09:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:09:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:09:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:09:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:09:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:09:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:09:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:09:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:09:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:09:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:09:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:09:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:09:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:09:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:09:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:09:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:09:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:09:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:09:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:09:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:09:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:09:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:09:17 UTC] 📊 Database Info:
[19-Nov-2025 13:09:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:09:17 UTC]    Books columns count: 44
[19-Nov-2025 13:09:17 UTC]    Categories columns count: 7
[19-Nov-2025 13:09:17 UTC]    Language field in books: YES
[19-Nov-2025 13:09:17 UTC]    Format field in books: YES
[19-Nov-2025 13:09:17 UTC]    Description field in categories: YES
[19-Nov-2025 13:09:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:09:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:09:17 UTC]    Is_active field in books: YES
[19-Nov-2025 13:09:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:09:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:09:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:09:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:09:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:09:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:10:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:10:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:10:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:10:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:10:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:10:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:10:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:10:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:10:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:10:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:10:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:10:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:10:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:10:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:10:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:10:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:10:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:10:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:10:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:10:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:10:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:10:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:10:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:10:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:10:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:10:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:10:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:10:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:10:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:10:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:10:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:10:16 UTC] 📊 Database Info:
[19-Nov-2025 13:10:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:10:16 UTC]    Books columns count: 44
[19-Nov-2025 13:10:16 UTC]    Categories columns count: 7
[19-Nov-2025 13:10:16 UTC]    Language field in books: YES
[19-Nov-2025 13:10:16 UTC]    Format field in books: YES
[19-Nov-2025 13:10:16 UTC]    Description field in categories: YES
[19-Nov-2025 13:10:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:10:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:10:16 UTC]    Is_active field in books: YES
[19-Nov-2025 13:10:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:10:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:10:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:10:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:10:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:10:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:10:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:10:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:10:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:10:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:10:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:10:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:10:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:10:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:10:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:10:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:10:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:10:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:10:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:10:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:10:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:10:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:10:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:10:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:10:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:10:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:10:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:10:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:10:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:10:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:10:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:10:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:10:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:10:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:10:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:10:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:10:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:10:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:10:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:10:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:10:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:10:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:10:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:10:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:10:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:10:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:10:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:10:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:10:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:10:17 UTC] 📊 Database Info:
[19-Nov-2025 13:10:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:10:17 UTC]    Books columns count: 44
[19-Nov-2025 13:10:17 UTC]    Categories columns count: 7
[19-Nov-2025 13:10:17 UTC]    Language field in books: YES
[19-Nov-2025 13:10:17 UTC]    Format field in books: YES
[19-Nov-2025 13:10:17 UTC]    Description field in categories: YES
[19-Nov-2025 13:10:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:10:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:10:17 UTC]    Is_active field in books: YES
[19-Nov-2025 13:10:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:10:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:10:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:10:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:10:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:10:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:10:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:10:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:10:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:10:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:10:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:10:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:10:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:10:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:10:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:10:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:10:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:10:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:10:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:10:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:10:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:10:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:10:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:10:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:10:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:10:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:10:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:10:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:10:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:10:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:10:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:10:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:10:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:10:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:10:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:10:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:10:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:10:21 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:10:21 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:10:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:10:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:10:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:10:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:10:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:10:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:10:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:10:21 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:10:21 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:10:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:10:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:10:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:10:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:10:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:10:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:10:21 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:10:21 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:10:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:10:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:10:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:10:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:10:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:10:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:10:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:10:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:10:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:10:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:10:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:10:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:10:21 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:10:21 UTC] 📊 Database Info:
[19-Nov-2025 13:10:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:10:21 UTC]    Books columns count: 44
[19-Nov-2025 13:10:21 UTC]    Categories columns count: 7
[19-Nov-2025 13:10:21 UTC]    Language field in books: YES
[19-Nov-2025 13:10:21 UTC]    Format field in books: YES
[19-Nov-2025 13:10:21 UTC]    Description field in categories: YES
[19-Nov-2025 13:10:21 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:10:21 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:10:21 UTC]    Is_active field in books: YES
[19-Nov-2025 13:10:21 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:10:21 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:10:21 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:10:21 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:10:21 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:10:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:10:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:10:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:10:21 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:10:21 UTC] 📊 Database Info:
[19-Nov-2025 13:10:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:10:21 UTC]    Books columns count: 44
[19-Nov-2025 13:10:21 UTC]    Categories columns count: 7
[19-Nov-2025 13:10:21 UTC]    Language field in books: YES
[19-Nov-2025 13:10:21 UTC]    Format field in books: YES
[19-Nov-2025 13:10:21 UTC]    Description field in categories: YES
[19-Nov-2025 13:10:21 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:10:21 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:10:21 UTC]    Is_active field in books: YES
[19-Nov-2025 13:10:21 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:10:21 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:10:21 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:10:21 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:10:21 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:10:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:10:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:10:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:10:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:10:21 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:10:21 UTC] 📊 Database Info:
[19-Nov-2025 13:10:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:10:21 UTC]    Books columns count: 44
[19-Nov-2025 13:10:21 UTC]    Categories columns count: 7
[19-Nov-2025 13:10:21 UTC]    Language field in books: YES
[19-Nov-2025 13:10:21 UTC]    Format field in books: YES
[19-Nov-2025 13:10:21 UTC]    Description field in categories: YES
[19-Nov-2025 13:10:21 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:10:21 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:10:21 UTC]    Is_active field in books: YES
[19-Nov-2025 13:10:21 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:10:21 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:10:21 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:10:21 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:10:21 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:10:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:10:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:10:21 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 13:10:21 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 13:10:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:10:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:10:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:10:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:10:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:10:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:10:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:10:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:10:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:10:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:10:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:10:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:10:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:10:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:10:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:10:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:10:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:10:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:10:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:10:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:10:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:10:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:10:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:10:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:10:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:10:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:10:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:10:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:10:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:10:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:10:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:10:22 UTC] 📊 Database Info:
[19-Nov-2025 13:10:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:10:22 UTC]    Books columns count: 44
[19-Nov-2025 13:10:22 UTC]    Categories columns count: 7
[19-Nov-2025 13:10:22 UTC]    Language field in books: YES
[19-Nov-2025 13:10:22 UTC]    Format field in books: YES
[19-Nov-2025 13:10:22 UTC]    Description field in categories: YES
[19-Nov-2025 13:10:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:10:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:10:22 UTC]    Is_active field in books: YES
[19-Nov-2025 13:10:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:10:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:10:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:10:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:10:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:10:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:17 UTC] 📊 Database Info:
[19-Nov-2025 13:11:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:17 UTC]    Books columns count: 44
[19-Nov-2025 13:11:17 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:17 UTC]    Language field in books: YES
[19-Nov-2025 13:11:17 UTC]    Format field in books: YES
[19-Nov-2025 13:11:17 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:17 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:17 UTC] 📊 Database Info:
[19-Nov-2025 13:11:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:17 UTC]    Books columns count: 44
[19-Nov-2025 13:11:17 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:17 UTC]    Language field in books: YES
[19-Nov-2025 13:11:17 UTC]    Format field in books: YES
[19-Nov-2025 13:11:17 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:17 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:24 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:24 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:24 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:24 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:24 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:24 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:24 UTC] 📊 Database Info:
[19-Nov-2025 13:11:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:24 UTC]    Books columns count: 44
[19-Nov-2025 13:11:24 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:24 UTC]    Language field in books: YES
[19-Nov-2025 13:11:24 UTC]    Format field in books: YES
[19-Nov-2025 13:11:24 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:24 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:24 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:24 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:24 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:24 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:24 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:24 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:24 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:24 UTC] 📊 Database Info:
[19-Nov-2025 13:11:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:24 UTC]    Books columns count: 44
[19-Nov-2025 13:11:24 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:24 UTC]    Language field in books: YES
[19-Nov-2025 13:11:24 UTC]    Format field in books: YES
[19-Nov-2025 13:11:24 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:24 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:24 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:24 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:24 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:24 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:24 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:24 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:24 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:24 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 13:11:24 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 13:11:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:24 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:24 UTC] 📊 Database Info:
[19-Nov-2025 13:11:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:24 UTC]    Books columns count: 44
[19-Nov-2025 13:11:24 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:24 UTC]    Language field in books: YES
[19-Nov-2025 13:11:24 UTC]    Format field in books: YES
[19-Nov-2025 13:11:24 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:24 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:24 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:24 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:24 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:24 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:24 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:24 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:24 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:26 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:26 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:26 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:26 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:26 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:26 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:26 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:26 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:26 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:26 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:26 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:27 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:27 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:27 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:27 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:27 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:27 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:27 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:27 UTC] 📊 Database Info:
[19-Nov-2025 13:11:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:27 UTC]    Books columns count: 44
[19-Nov-2025 13:11:27 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:27 UTC]    Language field in books: YES
[19-Nov-2025 13:11:27 UTC]    Format field in books: YES
[19-Nov-2025 13:11:27 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:27 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:27 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:27 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:27 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:27 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:27 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:27 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:27 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:27 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:27 UTC] 📊 Database Info:
[19-Nov-2025 13:11:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:27 UTC]    Books columns count: 44
[19-Nov-2025 13:11:27 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:27 UTC]    Language field in books: YES
[19-Nov-2025 13:11:27 UTC]    Format field in books: YES
[19-Nov-2025 13:11:27 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:27 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:27 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:27 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:27 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:27 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:27 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:27 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:27 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:27 UTC] 📊 Database Info:
[19-Nov-2025 13:11:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:27 UTC]    Books columns count: 44
[19-Nov-2025 13:11:27 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:27 UTC]    Language field in books: YES
[19-Nov-2025 13:11:27 UTC]    Format field in books: YES
[19-Nov-2025 13:11:27 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:27 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:27 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:27 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:27 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:27 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:27 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:27 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:27 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:27 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:27 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 13:11:27 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 13:11:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:28 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:28 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:28 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:28 UTC] 📊 Database Info:
[19-Nov-2025 13:11:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:28 UTC]    Books columns count: 44
[19-Nov-2025 13:11:28 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:28 UTC]    Language field in books: YES
[19-Nov-2025 13:11:28 UTC]    Format field in books: YES
[19-Nov-2025 13:11:28 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:28 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:28 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:28 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:28 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:28 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:28 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:28 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:28 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:40 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:40 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:40 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:40 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:40 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:40 UTC] 📊 Database Info:
[19-Nov-2025 13:11:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:40 UTC]    Books columns count: 44
[19-Nov-2025 13:11:40 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:40 UTC]    Language field in books: YES
[19-Nov-2025 13:11:40 UTC]    Format field in books: YES
[19-Nov-2025 13:11:40 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:40 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:40 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:40 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:40 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:40 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:40 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:40 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:40 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:40 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:40 UTC] 📊 Database Info:
[19-Nov-2025 13:11:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:40 UTC]    Books columns count: 44
[19-Nov-2025 13:11:40 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:40 UTC]    Language field in books: YES
[19-Nov-2025 13:11:40 UTC]    Format field in books: YES
[19-Nov-2025 13:11:40 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:40 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:40 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:40 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:40 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:40 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:40 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:40 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:40 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:46 UTC] 📊 Database Info:
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:46 UTC]    Books columns count: 44
[19-Nov-2025 13:11:46 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:46 UTC]    Language field in books: YES
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:46 UTC]    Format field in books: YES
[19-Nov-2025 13:11:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:46 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:46 UTC] 📊 Database Info:
[19-Nov-2025 13:11:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:46 UTC]    Books columns count: 44
[19-Nov-2025 13:11:46 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:46 UTC]    Language field in books: YES
[19-Nov-2025 13:11:46 UTC]    Format field in books: YES
[19-Nov-2025 13:11:46 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:46 UTC] 📊 Database Info:
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:46 UTC]    Books columns count: 44
[19-Nov-2025 13:11:46 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:46 UTC]    Language field in books: YES
[19-Nov-2025 13:11:46 UTC]    Format field in books: YES
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:46 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:46 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 13:11:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:46 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 13:11:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:46 UTC] 📊 Database Info:
[19-Nov-2025 13:11:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:46 UTC]    Books columns count: 44
[19-Nov-2025 13:11:46 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:46 UTC]    Language field in books: YES
[19-Nov-2025 13:11:46 UTC]    Format field in books: YES
[19-Nov-2025 13:11:46 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:46 UTC] 📊 Database Info:
[19-Nov-2025 13:11:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:46 UTC]    Books columns count: 44
[19-Nov-2025 13:11:46 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:46 UTC]    Language field in books: YES
[19-Nov-2025 13:11:46 UTC]    Format field in books: YES
[19-Nov-2025 13:11:46 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:46 UTC] 📊 Database Info:
[19-Nov-2025 13:11:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:46 UTC]    Books columns count: 44
[19-Nov-2025 13:11:46 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:46 UTC]    Language field in books: YES
[19-Nov-2025 13:11:46 UTC]    Format field in books: YES
[19-Nov-2025 13:11:46 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:46 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:46 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:46 UTC] 📊 Database Info:
[19-Nov-2025 13:11:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:46 UTC]    Books columns count: 44
[19-Nov-2025 13:11:46 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:46 UTC]    Language field in books: YES
[19-Nov-2025 13:11:46 UTC]    Format field in books: YES
[19-Nov-2025 13:11:46 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:46 UTC] 📊 Database Info:
[19-Nov-2025 13:11:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:46 UTC]    Books columns count: 44
[19-Nov-2025 13:11:46 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:46 UTC]    Language field in books: YES
[19-Nov-2025 13:11:46 UTC]    Format field in books: YES
[19-Nov-2025 13:11:46 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:46 UTC] 📊 Database Info:
[19-Nov-2025 13:11:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:46 UTC]    Books columns count: 44
[19-Nov-2025 13:11:46 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:46 UTC]    Language field in books: YES
[19-Nov-2025 13:11:46 UTC]    Format field in books: YES
[19-Nov-2025 13:11:46 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:46 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:11:46 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 13:11:46 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 13:11:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:11:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:11:47 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:11:47 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:11:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:11:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:11:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:11:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:11:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:11:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:11:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:11:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:11:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:11:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:11:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:11:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:11:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:11:47 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:11:47 UTC] 📊 Database Info:
[19-Nov-2025 13:11:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:11:47 UTC]    Books columns count: 44
[19-Nov-2025 13:11:47 UTC]    Categories columns count: 7
[19-Nov-2025 13:11:47 UTC]    Language field in books: YES
[19-Nov-2025 13:11:47 UTC]    Format field in books: YES
[19-Nov-2025 13:11:47 UTC]    Description field in categories: YES
[19-Nov-2025 13:11:47 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:11:47 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:11:47 UTC]    Is_active field in books: YES
[19-Nov-2025 13:11:47 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:11:47 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:11:47 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:11:47 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:11:47 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:11:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:12:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:12:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:12:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:12:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:12:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:12:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:12:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:12:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:12:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:12:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:12:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:12:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:12:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:12:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:12:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:12:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:12:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:12:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:12:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:12:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:12:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:12:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:12:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:12:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:12:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:12:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:12:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:12:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:12:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:12:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:12:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:12:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:12:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:12:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:12:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:12:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:12:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:12:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:12:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:12:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:12:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:12:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:12:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:12:17 UTC] 📊 Database Info:
[19-Nov-2025 13:12:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:12:17 UTC]    Books columns count: 44
[19-Nov-2025 13:12:17 UTC]    Categories columns count: 7
[19-Nov-2025 13:12:17 UTC]    Language field in books: YES
[19-Nov-2025 13:12:17 UTC]    Format field in books: YES
[19-Nov-2025 13:12:17 UTC]    Description field in categories: YES
[19-Nov-2025 13:12:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:12:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:12:17 UTC]    Is_active field in books: YES
[19-Nov-2025 13:12:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:12:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:12:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:12:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:12:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:12:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:12:17 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:12:17 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:12:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:12:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:12:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:12:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:12:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:12:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:12:17 UTC] 📊 Database Info:
[19-Nov-2025 13:12:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:12:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:12:17 UTC] 📊 Database Info:
[19-Nov-2025 13:12:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:12:17 UTC]    Books columns count: 44
[19-Nov-2025 13:12:17 UTC]    Books columns count: 44
[19-Nov-2025 13:12:17 UTC]    Categories columns count: 7
[19-Nov-2025 13:12:17 UTC]    Categories columns count: 7
[19-Nov-2025 13:12:17 UTC]    Language field in books: YES
[19-Nov-2025 13:12:17 UTC]    Language field in books: YES
[19-Nov-2025 13:12:17 UTC]    Format field in books: YES
[19-Nov-2025 13:12:17 UTC]    Format field in books: YES
[19-Nov-2025 13:12:17 UTC]    Description field in categories: YES
[19-Nov-2025 13:12:17 UTC]    Description field in categories: YES
[19-Nov-2025 13:12:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:12:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:12:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:12:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:12:17 UTC]    Is_active field in books: YES
[19-Nov-2025 13:12:17 UTC]    Is_active field in books: YES
[19-Nov-2025 13:12:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:12:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:12:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:12:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:12:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:12:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:12:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:12:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:12:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:12:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:12:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:12:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:12:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:12:17 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:12:17 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:12:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:12:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:12:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:12:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:12:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:12:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:12:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:12:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:12:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:12:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:12:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:12:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:12:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:12:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:12:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:12:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:12:29 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:12:29 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:12:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:12:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:12:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:12:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:12:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:12:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:12:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:12:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:12:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:12:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:12:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:12:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:12:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:12:29 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:12:29 UTC] 📊 Database Info:
[19-Nov-2025 13:12:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:12:29 UTC]    Books columns count: 44
[19-Nov-2025 13:12:29 UTC]    Categories columns count: 7
[19-Nov-2025 13:12:29 UTC]    Language field in books: YES
[19-Nov-2025 13:12:29 UTC]    Format field in books: YES
[19-Nov-2025 13:12:29 UTC]    Description field in categories: YES
[19-Nov-2025 13:12:29 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:12:29 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:12:29 UTC]    Is_active field in books: YES
[19-Nov-2025 13:12:29 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:12:29 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:12:29 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:12:29 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:12:29 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:12:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:12:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:12:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:12:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:12:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:12:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:12:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:12:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:12:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:12:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:12:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:12:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:12:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:12:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:12:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:12:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:12:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:12:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:12:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:12:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:12:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:12:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:12:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:12:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:12:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:12:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:12:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:12:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:12:48 UTC] 📊 Database Info:
[19-Nov-2025 13:12:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:12:48 UTC]    Books columns count: 44
[19-Nov-2025 13:12:48 UTC]    Categories columns count: 7
[19-Nov-2025 13:12:48 UTC]    Language field in books: YES
[19-Nov-2025 13:12:48 UTC]    Format field in books: YES
[19-Nov-2025 13:12:48 UTC]    Description field in categories: YES
[19-Nov-2025 13:12:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:12:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:12:48 UTC]    Is_active field in books: YES
[19-Nov-2025 13:12:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:12:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:12:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:12:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:12:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:12:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:12:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:12:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:12:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:12:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:12:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:12:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:12:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:12:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:12:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:12:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:12:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:12:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:12:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:12:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:12:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:12:53 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:12:53 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:12:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:12:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:12:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:12:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:12:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:12:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:12:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:12:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:12:53 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:12:53 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:12:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:12:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:12:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:12:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:12:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:12:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:12:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:12:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:12:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:12:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:12:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:12:53 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:12:53 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:12:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:12:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:12:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:12:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:12:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:12:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:12:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:12:53 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:12:53 UTC] 📊 Database Info:
[19-Nov-2025 13:12:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:12:53 UTC]    Books columns count: 44
[19-Nov-2025 13:12:53 UTC]    Categories columns count: 7
[19-Nov-2025 13:12:53 UTC]    Language field in books: YES
[19-Nov-2025 13:12:53 UTC]    Format field in books: YES
[19-Nov-2025 13:12:53 UTC]    Description field in categories: YES
[19-Nov-2025 13:12:53 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:12:53 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:12:53 UTC]    Is_active field in books: YES
[19-Nov-2025 13:12:53 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:12:53 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:12:53 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:12:53 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:12:53 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:12:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:12:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:12:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:12:53 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:12:53 UTC] 📊 Database Info:
[19-Nov-2025 13:12:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:12:53 UTC]    Books columns count: 44
[19-Nov-2025 13:12:53 UTC]    Categories columns count: 7
[19-Nov-2025 13:12:53 UTC]    Language field in books: YES
[19-Nov-2025 13:12:53 UTC]    Format field in books: YES
[19-Nov-2025 13:12:53 UTC]    Description field in categories: YES
[19-Nov-2025 13:12:53 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:12:53 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:12:53 UTC]    Is_active field in books: YES
[19-Nov-2025 13:12:53 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:12:53 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:12:53 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:12:53 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:12:53 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:12:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:12:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:12:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:12:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:12:53 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:12:53 UTC] 📊 Database Info:
[19-Nov-2025 13:12:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:12:53 UTC]    Books columns count: 44
[19-Nov-2025 13:12:53 UTC]    Categories columns count: 7
[19-Nov-2025 13:12:53 UTC]    Language field in books: YES
[19-Nov-2025 13:12:53 UTC]    Format field in books: YES
[19-Nov-2025 13:12:53 UTC]    Description field in categories: YES
[19-Nov-2025 13:12:53 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:12:53 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:12:53 UTC]    Is_active field in books: YES
[19-Nov-2025 13:12:53 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:12:53 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:12:53 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:12:53 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:12:53 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:12:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:12:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:12:53 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 13:12:53 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 13:12:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:12:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:12:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:12:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:12:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:12:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:12:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:12:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:12:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:12:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:12:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:12:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:12:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:12:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:12:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:12:59 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:12:59 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:12:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:12:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:12:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:12:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:12:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:12:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:12:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:12:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:12:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:12:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:12:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:12:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:12:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:12:59 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:12:59 UTC] 📊 Database Info:
[19-Nov-2025 13:12:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:12:59 UTC]    Books columns count: 44
[19-Nov-2025 13:12:59 UTC]    Categories columns count: 7
[19-Nov-2025 13:12:59 UTC]    Language field in books: YES
[19-Nov-2025 13:12:59 UTC]    Format field in books: YES
[19-Nov-2025 13:12:59 UTC]    Description field in categories: YES
[19-Nov-2025 13:12:59 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:12:59 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:12:59 UTC]    Is_active field in books: YES
[19-Nov-2025 13:12:59 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:12:59 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:12:59 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:12:59 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:12:59 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:12:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:13:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:13:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:13:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:13:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:13:07 UTC] 📊 Database Info:
[19-Nov-2025 13:13:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:13:07 UTC]    Books columns count: 44
[19-Nov-2025 13:13:07 UTC]    Categories columns count: 7
[19-Nov-2025 13:13:07 UTC]    Language field in books: YES
[19-Nov-2025 13:13:07 UTC]    Format field in books: YES
[19-Nov-2025 13:13:07 UTC]    Description field in categories: YES
[19-Nov-2025 13:13:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:13:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:13:07 UTC]    Is_active field in books: YES
[19-Nov-2025 13:13:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:13:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:13:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:13:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:13:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:13:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:13:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:13:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:24 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:13:24 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:13:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:24 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:13:24 UTC] 📊 Database Info:
[19-Nov-2025 13:13:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:13:24 UTC]    Books columns count: 44
[19-Nov-2025 13:13:24 UTC]    Categories columns count: 7
[19-Nov-2025 13:13:24 UTC]    Language field in books: YES
[19-Nov-2025 13:13:24 UTC]    Format field in books: YES
[19-Nov-2025 13:13:24 UTC]    Description field in categories: YES
[19-Nov-2025 13:13:24 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:13:24 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:13:24 UTC]    Is_active field in books: YES
[19-Nov-2025 13:13:24 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:13:24 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:13:24 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:13:24 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:13:24 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:13:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:13:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:13:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:27 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:13:27 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:13:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:27 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:13:27 UTC] 📊 Database Info:
[19-Nov-2025 13:13:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:13:27 UTC]    Books columns count: 44
[19-Nov-2025 13:13:27 UTC]    Categories columns count: 7
[19-Nov-2025 13:13:27 UTC]    Language field in books: YES
[19-Nov-2025 13:13:27 UTC]    Format field in books: YES
[19-Nov-2025 13:13:27 UTC]    Description field in categories: YES
[19-Nov-2025 13:13:27 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:13:27 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:13:27 UTC]    Is_active field in books: YES
[19-Nov-2025 13:13:27 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:13:27 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:13:27 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:13:27 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:13:27 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:13:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:13:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:13:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:13:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:13:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:13:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:13:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:13:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:13:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:13:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:13:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:13:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:13:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:13:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:13:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:13:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:13:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:13:32 UTC] 📊 Database Info:
[19-Nov-2025 13:13:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:13:32 UTC]    Books columns count: 44
[19-Nov-2025 13:13:32 UTC]    Categories columns count: 7
[19-Nov-2025 13:13:32 UTC]    Language field in books: YES
[19-Nov-2025 13:13:32 UTC]    Format field in books: YES
[19-Nov-2025 13:13:32 UTC]    Description field in categories: YES
[19-Nov-2025 13:13:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:13:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:13:32 UTC]    Is_active field in books: YES
[19-Nov-2025 13:13:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:13:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:13:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:13:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:13:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:13:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:13:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:13:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:13:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:13:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:13:32 UTC] 📊 Database Info:
[19-Nov-2025 13:13:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:13:32 UTC]    Books columns count: 44
[19-Nov-2025 13:13:32 UTC]    Categories columns count: 7
[19-Nov-2025 13:13:32 UTC]    Language field in books: YES
[19-Nov-2025 13:13:32 UTC]    Format field in books: YES
[19-Nov-2025 13:13:32 UTC]    Description field in categories: YES
[19-Nov-2025 13:13:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:13:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:13:32 UTC]    Is_active field in books: YES
[19-Nov-2025 13:13:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:13:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:13:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:13:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:13:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:13:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:13:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:13:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:13:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:35 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:13:35 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:13:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:13:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:35 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:13:35 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:13:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:13:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:13:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:13:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:35 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:13:35 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:13:35 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:13:35 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:13:35 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:13:35 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:13:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:13:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:35 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:13:35 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:13:35 UTC] 📊 Database Info:
[19-Nov-2025 13:13:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:13:35 UTC]    Books columns count: 44
[19-Nov-2025 13:13:35 UTC]    Categories columns count: 7
[19-Nov-2025 13:13:35 UTC]    Language field in books: YES
[19-Nov-2025 13:13:35 UTC]    Format field in books: YES
[19-Nov-2025 13:13:35 UTC]    Description field in categories: YES
[19-Nov-2025 13:13:35 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:13:35 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:13:35 UTC]    Is_active field in books: YES
[19-Nov-2025 13:13:35 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:13:35 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:13:35 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:13:35 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:13:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:13:35 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:35 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:13:36 UTC] 📊 Database Info:
[19-Nov-2025 13:13:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:13:36 UTC]    Books columns count: 44
[19-Nov-2025 13:13:36 UTC]    Categories columns count: 7
[19-Nov-2025 13:13:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:36 UTC]    Language field in books: YES
[19-Nov-2025 13:13:36 UTC]    Format field in books: YES
[19-Nov-2025 13:13:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:36 UTC]    Description field in categories: YES
[19-Nov-2025 13:13:36 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:13:36 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:13:36 UTC]    Is_active field in books: YES
[19-Nov-2025 13:13:36 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:13:36 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:13:36 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:13:36 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:13:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:13:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:13:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:36 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:13:36 UTC] 📊 Database Info:
[19-Nov-2025 13:13:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:13:36 UTC]    Books columns count: 44
[19-Nov-2025 13:13:36 UTC]    Categories columns count: 7
[19-Nov-2025 13:13:36 UTC]    Language field in books: YES
[19-Nov-2025 13:13:36 UTC]    Format field in books: YES
[19-Nov-2025 13:13:36 UTC]    Description field in categories: YES
[19-Nov-2025 13:13:36 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:13:36 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:13:36 UTC]    Is_active field in books: YES
[19-Nov-2025 13:13:36 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:13:36 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:13:36 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:13:36 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:13:36 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:13:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:13:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:36 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:13:36 UTC] 📊 Database Info:
[19-Nov-2025 13:13:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:13:36 UTC]    Books columns count: 44
[19-Nov-2025 13:13:36 UTC]    Categories columns count: 7
[19-Nov-2025 13:13:36 UTC]    Language field in books: YES
[19-Nov-2025 13:13:36 UTC]    Format field in books: YES
[19-Nov-2025 13:13:36 UTC]    Description field in categories: YES
[19-Nov-2025 13:13:36 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:13:36 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:13:36 UTC]    Is_active field in books: YES
[19-Nov-2025 13:13:36 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:13:36 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:13:36 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:13:36 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:13:36 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:13:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:13:36 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:13:36 UTC] 📊 Database Info:
[19-Nov-2025 13:13:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:13:36 UTC]    Books columns count: 44
[19-Nov-2025 13:13:36 UTC]    Categories columns count: 7
[19-Nov-2025 13:13:36 UTC]    Language field in books: YES
[19-Nov-2025 13:13:36 UTC]    Format field in books: YES
[19-Nov-2025 13:13:36 UTC]    Description field in categories: YES
[19-Nov-2025 13:13:36 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:13:36 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:13:36 UTC]    Is_active field in books: YES
[19-Nov-2025 13:13:36 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:13:36 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:13:36 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:13:36 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:13:36 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:13:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:13:36 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 13:13:36 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 13:13:36 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:13:36 UTC] 📊 Database Info:
[19-Nov-2025 13:13:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:13:36 UTC]    Books columns count: 44
[19-Nov-2025 13:13:36 UTC]    Categories columns count: 7
[19-Nov-2025 13:13:36 UTC]    Language field in books: YES
[19-Nov-2025 13:13:36 UTC]    Format field in books: YES
[19-Nov-2025 13:13:36 UTC]    Description field in categories: YES
[19-Nov-2025 13:13:36 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:13:36 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:13:36 UTC]    Is_active field in books: YES
[19-Nov-2025 13:13:36 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:13:36 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:13:36 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:13:36 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:13:36 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:13:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:13:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:13:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:13:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:13:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:13:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:13:41 UTC] 📊 Database Info:
[19-Nov-2025 13:13:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:13:41 UTC]    Books columns count: 44
[19-Nov-2025 13:13:41 UTC]    Categories columns count: 7
[19-Nov-2025 13:13:41 UTC]    Language field in books: YES
[19-Nov-2025 13:13:41 UTC]    Format field in books: YES
[19-Nov-2025 13:13:41 UTC]    Description field in categories: YES
[19-Nov-2025 13:13:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:13:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:13:41 UTC]    Is_active field in books: YES
[19-Nov-2025 13:13:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:13:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:13:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:13:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:13:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:13:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:13:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:13:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:13:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:13:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:13:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:13:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:13:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:13:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:13:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:13:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:13:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:13:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:13:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:13:41 UTC] 📊 Database Info:
[19-Nov-2025 13:13:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:13:41 UTC]    Books columns count: 44
[19-Nov-2025 13:13:41 UTC]    Categories columns count: 7
[19-Nov-2025 13:13:41 UTC]    Language field in books: YES
[19-Nov-2025 13:13:41 UTC]    Format field in books: YES
[19-Nov-2025 13:13:41 UTC]    Description field in categories: YES
[19-Nov-2025 13:13:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:13:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:13:41 UTC]    Is_active field in books: YES
[19-Nov-2025 13:13:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:13:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:13:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:13:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:13:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:13:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:16:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:16:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:16:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:16:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:16:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:16:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:16:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:16:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:16:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:16:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:16:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:16:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:16:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:16:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:16:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:16:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:16:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:16:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:16:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:16:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:16:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:16:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:16:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:16:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:16:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:16:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:16:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:16:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:16:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:16:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:16:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:16:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:16:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:16:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:16:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:16:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:16:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:16:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:16:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:16:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:16:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:16:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:16:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:16:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:16:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:16:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:16:16 UTC] 📊 Database Info:
[19-Nov-2025 13:16:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:16:16 UTC]    Books columns count: 44
[19-Nov-2025 13:16:16 UTC]    Categories columns count: 7
[19-Nov-2025 13:16:16 UTC]    Language field in books: YES
[19-Nov-2025 13:16:16 UTC]    Format field in books: YES
[19-Nov-2025 13:16:16 UTC]    Description field in categories: YES
[19-Nov-2025 13:16:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:16:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:16:16 UTC]    Is_active field in books: YES
[19-Nov-2025 13:16:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:16:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:16:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:16:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:16:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:16:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:16:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:16:16 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:16:16 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:16:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:16:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:16:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:16:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:16:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:16:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:16:16 UTC] 📊 Database Info:
[19-Nov-2025 13:16:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:16:16 UTC]    Books columns count: 44
[19-Nov-2025 13:16:16 UTC]    Categories columns count: 7
[19-Nov-2025 13:16:16 UTC]    Language field in books: YES
[19-Nov-2025 13:16:16 UTC]    Format field in books: YES
[19-Nov-2025 13:16:16 UTC]    Description field in categories: YES
[19-Nov-2025 13:16:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:16:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:16:16 UTC]    Is_active field in books: YES
[19-Nov-2025 13:16:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:16:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:16:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:16:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:16:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:16:16 UTC] 📊 Database Info:
[19-Nov-2025 13:16:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:16:16 UTC]    Books columns count: 44
[19-Nov-2025 13:16:16 UTC]    Categories columns count: 7
[19-Nov-2025 13:16:16 UTC]    Language field in books: YES
[19-Nov-2025 13:16:16 UTC]    Format field in books: YES
[19-Nov-2025 13:16:16 UTC]    Description field in categories: YES
[19-Nov-2025 13:16:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:16:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:16:16 UTC]    Is_active field in books: YES
[19-Nov-2025 13:16:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:16:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:16:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:16:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:16:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:16:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:16:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:16:16 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:16:16 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:16:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:16:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:16:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:16:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:16:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:16:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:16:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:16:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:16:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:16:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:16:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:16:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:16:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:16:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:16:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:16:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:16:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:16:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:16:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:16:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:16:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:16:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:16:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:16:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:16:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:16:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:16:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:16:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:16:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:16:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:16:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:16:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:16:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:16:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:16:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:16:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:16:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:16:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:16:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:16:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:16:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:16:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:16:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:16:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:16:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:16:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:16:33 UTC] 📊 Database Info:
[19-Nov-2025 13:16:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:16:33 UTC]    Books columns count: 44
[19-Nov-2025 13:16:33 UTC]    Categories columns count: 7
[19-Nov-2025 13:16:33 UTC]    Language field in books: YES
[19-Nov-2025 13:16:33 UTC]    Format field in books: YES
[19-Nov-2025 13:16:33 UTC]    Description field in categories: YES
[19-Nov-2025 13:16:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:16:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:16:33 UTC]    Is_active field in books: YES
[19-Nov-2025 13:16:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:16:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:16:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:16:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:16:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:16:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:16:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:16:33 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:16:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:16:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:16:33 UTC] 📊 Database Info:
[19-Nov-2025 13:16:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:16:33 UTC]    Books columns count: 44
[19-Nov-2025 13:16:33 UTC]    Categories columns count: 7
[19-Nov-2025 13:16:33 UTC]    Language field in books: YES
[19-Nov-2025 13:16:33 UTC]    Format field in books: YES
[19-Nov-2025 13:16:33 UTC]    Description field in categories: YES
[19-Nov-2025 13:16:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:16:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:16:33 UTC]    Is_active field in books: YES
[19-Nov-2025 13:16:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:16:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:16:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:16:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:16:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:16:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:16:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:16:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:16:33 UTC] 📊 Database Info:
[19-Nov-2025 13:16:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:16:33 UTC]    Books columns count: 44
[19-Nov-2025 13:16:33 UTC]    Categories columns count: 7
[19-Nov-2025 13:16:33 UTC]    Language field in books: YES
[19-Nov-2025 13:16:33 UTC]    Format field in books: YES
[19-Nov-2025 13:16:33 UTC]    Description field in categories: YES
[19-Nov-2025 13:16:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:16:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:16:33 UTC]    Is_active field in books: YES
[19-Nov-2025 13:16:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:16:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:16:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:16:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:16:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:16:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:16:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:16:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:16:33 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:18:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:18:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:18:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:18:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:18:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:18:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:18:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:18:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:18:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:18:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:18:21 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:18:21 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:18:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:18:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:18:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:18:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:18:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:18:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:18:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:18:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:18:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:18:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:18:21 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:18:21 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:18:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:18:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:18:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:18:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:18:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:18:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:18:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:18:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:18:21 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:18:21 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:18:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:18:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:18:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:18:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:18:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:18:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:18:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:18:21 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:18:21 UTC] 📊 Database Info:
[19-Nov-2025 13:18:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:18:21 UTC]    Books columns count: 44
[19-Nov-2025 13:18:21 UTC]    Categories columns count: 7
[19-Nov-2025 13:18:21 UTC]    Language field in books: YES
[19-Nov-2025 13:18:21 UTC]    Format field in books: YES
[19-Nov-2025 13:18:21 UTC]    Description field in categories: YES
[19-Nov-2025 13:18:21 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:18:21 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:18:21 UTC]    Is_active field in books: YES
[19-Nov-2025 13:18:21 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:18:21 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:18:21 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:18:21 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:18:21 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:18:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:18:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:18:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:18:21 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:18:21 UTC] 📊 Database Info:
[19-Nov-2025 13:18:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:18:21 UTC]    Books columns count: 44
[19-Nov-2025 13:18:21 UTC]    Categories columns count: 7
[19-Nov-2025 13:18:21 UTC]    Language field in books: YES
[19-Nov-2025 13:18:21 UTC]    Format field in books: YES
[19-Nov-2025 13:18:21 UTC]    Description field in categories: YES
[19-Nov-2025 13:18:21 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:18:21 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:18:21 UTC]    Is_active field in books: YES
[19-Nov-2025 13:18:21 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:18:21 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:18:21 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:18:21 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:18:21 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:18:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:18:21 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 13:18:21 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 13:18:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:18:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:18:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:18:21 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:18:21 UTC] 📊 Database Info:
[19-Nov-2025 13:18:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:18:21 UTC]    Books columns count: 44
[19-Nov-2025 13:18:21 UTC]    Categories columns count: 7
[19-Nov-2025 13:18:21 UTC]    Language field in books: YES
[19-Nov-2025 13:18:21 UTC]    Format field in books: YES
[19-Nov-2025 13:18:21 UTC]    Description field in categories: YES
[19-Nov-2025 13:18:21 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:18:21 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:18:21 UTC]    Is_active field in books: YES
[19-Nov-2025 13:18:21 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:18:21 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:18:21 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:18:21 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:18:21 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:18:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:29:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:29:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:29:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:29:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:29:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:29:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:29:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:29:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:29:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:29:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:29:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:29:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:29:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:29:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:29:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:29:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:29:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:29:01 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:29:01 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:29:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:29:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:29:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:29:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:29:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:29:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:29:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:29:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:29:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:29:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:29:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:29:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:29:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:29:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:29:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:29:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:29:01 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:29:01 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:29:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:29:01 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:29:01 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:29:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:29:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:29:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:29:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:29:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:29:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:29:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:29:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:29:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:29:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:29:01 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:29:01 UTC] 📊 Database Info:
[19-Nov-2025 13:29:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:29:01 UTC]    Books columns count: 44
[19-Nov-2025 13:29:01 UTC]    Categories columns count: 7
[19-Nov-2025 13:29:01 UTC]    Language field in books: YES
[19-Nov-2025 13:29:01 UTC]    Format field in books: YES
[19-Nov-2025 13:29:01 UTC]    Description field in categories: YES
[19-Nov-2025 13:29:01 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:29:01 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:29:01 UTC]    Is_active field in books: YES
[19-Nov-2025 13:29:01 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:29:01 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:29:01 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:29:01 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:29:01 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:29:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:29:01 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:29:01 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:29:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:29:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:29:01 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:29:01 UTC] 📊 Database Info:
[19-Nov-2025 13:29:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:29:01 UTC]    Books columns count: 44
[19-Nov-2025 13:29:01 UTC]    Categories columns count: 7
[19-Nov-2025 13:29:01 UTC]    Language field in books: YES
[19-Nov-2025 13:29:01 UTC]    Format field in books: YES
[19-Nov-2025 13:29:01 UTC]    Description field in categories: YES
[19-Nov-2025 13:29:01 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:29:01 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:29:01 UTC]    Is_active field in books: YES
[19-Nov-2025 13:29:01 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:29:01 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:29:01 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:29:01 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:29:01 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:29:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:29:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:29:01 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:29:01 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:29:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:29:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:29:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:29:01 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:29:01 UTC] 📊 Database Info:
[19-Nov-2025 13:29:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:29:01 UTC]    Books columns count: 44
[19-Nov-2025 13:29:01 UTC]    Categories columns count: 7
[19-Nov-2025 13:29:01 UTC]    Language field in books: YES
[19-Nov-2025 13:29:01 UTC]    Format field in books: YES
[19-Nov-2025 13:29:01 UTC]    Description field in categories: YES
[19-Nov-2025 13:29:01 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:29:01 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:29:01 UTC]    Is_active field in books: YES
[19-Nov-2025 13:29:01 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:29:01 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:29:01 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:29:01 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:29:01 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:29:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:29:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:33:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:33:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:33:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:33:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:33:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:33:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:33:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:33:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:33:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:33:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:33:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:33:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:33:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:33:23 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:33:23 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:33:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:33:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:33:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:33:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:33:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:33:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:33:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:33:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:33:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:33:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:33:23 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:33:23 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:33:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:33:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:33:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:33:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:33:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:33:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:33:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:33:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:33:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:33:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:33:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:33:23 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:33:23 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:33:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:33:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:33:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:33:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:33:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:33:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:33:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:33:23 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:33:23 UTC] 📊 Database Info:
[19-Nov-2025 13:33:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:33:23 UTC]    Books columns count: 44
[19-Nov-2025 13:33:23 UTC]    Categories columns count: 7
[19-Nov-2025 13:33:23 UTC]    Language field in books: YES
[19-Nov-2025 13:33:23 UTC]    Format field in books: YES
[19-Nov-2025 13:33:23 UTC]    Description field in categories: YES
[19-Nov-2025 13:33:23 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:33:23 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:33:23 UTC]    Is_active field in books: YES
[19-Nov-2025 13:33:23 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:33:23 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:33:23 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:33:23 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:33:23 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:33:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:33:23 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:33:23 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:33:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:33:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:33:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:33:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:33:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:33:23 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:33:23 UTC] 📊 Database Info:
[19-Nov-2025 13:33:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:33:23 UTC]    Books columns count: 44
[19-Nov-2025 13:33:23 UTC]    Categories columns count: 7
[19-Nov-2025 13:33:23 UTC]    Language field in books: YES
[19-Nov-2025 13:33:23 UTC]    Format field in books: YES
[19-Nov-2025 13:33:23 UTC]    Description field in categories: YES
[19-Nov-2025 13:33:23 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:33:23 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:33:23 UTC]    Is_active field in books: YES
[19-Nov-2025 13:33:23 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:33:23 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:33:23 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:33:23 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:33:23 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:33:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:33:23 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:33:23 UTC] 📊 Database Info:
[19-Nov-2025 13:33:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:33:23 UTC]    Books columns count: 44
[19-Nov-2025 13:33:23 UTC]    Categories columns count: 7
[19-Nov-2025 13:33:23 UTC]    Language field in books: YES
[19-Nov-2025 13:33:23 UTC]    Format field in books: YES
[19-Nov-2025 13:33:23 UTC]    Description field in categories: YES
[19-Nov-2025 13:33:23 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:33:23 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:33:23 UTC]    Is_active field in books: YES
[19-Nov-2025 13:33:23 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:33:23 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:33:23 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:33:23 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:33:23 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:33:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:33:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:33:23 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:33:23 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:33:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:33:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:33:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:33:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:33:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:33:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:33:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:33:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:33:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:33:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:33:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:33:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:33:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:33:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:33:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:33:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:33:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:33:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:33:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:33:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:33:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:33:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:33:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:33:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:33:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:33:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:33:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:33:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:33:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:33:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:33:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:33:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:33:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:33:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:33:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:33:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:33:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:33:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:33:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:33:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:33:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:33:48 UTC] 📊 Database Info:
[19-Nov-2025 13:33:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:33:48 UTC]    Books columns count: 44
[19-Nov-2025 13:33:48 UTC]    Categories columns count: 7
[19-Nov-2025 13:33:48 UTC]    Language field in books: YES
[19-Nov-2025 13:33:48 UTC]    Format field in books: YES
[19-Nov-2025 13:33:48 UTC]    Description field in categories: YES
[19-Nov-2025 13:33:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:33:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:33:48 UTC]    Is_active field in books: YES
[19-Nov-2025 13:33:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:33:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:33:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:33:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:33:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:33:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:33:48 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:33:48 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:33:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:33:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:33:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:33:48 UTC] 📊 Database Info:
[19-Nov-2025 13:33:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:33:48 UTC]    Books columns count: 44
[19-Nov-2025 13:33:48 UTC]    Categories columns count: 7
[19-Nov-2025 13:33:48 UTC]    Language field in books: YES
[19-Nov-2025 13:33:48 UTC]    Format field in books: YES
[19-Nov-2025 13:33:48 UTC]    Description field in categories: YES
[19-Nov-2025 13:33:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:33:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:33:48 UTC]    Is_active field in books: YES
[19-Nov-2025 13:33:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:33:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:33:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:33:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:33:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:33:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:33:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:33:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:33:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:33:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:33:48 UTC] 📊 Database Info:
[19-Nov-2025 13:33:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:33:48 UTC]    Books columns count: 44
[19-Nov-2025 13:33:48 UTC]    Categories columns count: 7
[19-Nov-2025 13:33:48 UTC]    Language field in books: YES
[19-Nov-2025 13:33:48 UTC]    Format field in books: YES
[19-Nov-2025 13:33:48 UTC]    Description field in categories: YES
[19-Nov-2025 13:33:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:33:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:33:48 UTC]    Is_active field in books: YES
[19-Nov-2025 13:33:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:33:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:33:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:33:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:33:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:33:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:33:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:33:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:33:48 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:33:48 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:38:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:38:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:38:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:38:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:38:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:38:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:38:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:38:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:38:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:38:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:38:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:38:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:38:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:38:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:38:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:38:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:38:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:38:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:38:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:38:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:38:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:38:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:38:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:38:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:38:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:38:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:38:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:38:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:38:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:38:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:38:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:38:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:38:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:38:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:38:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:38:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:38:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:38:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:38:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:38:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:38:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:38:42 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:38:42 UTC] 📊 Database Info:
[19-Nov-2025 13:38:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:38:42 UTC]    Books columns count: 44
[19-Nov-2025 13:38:42 UTC]    Categories columns count: 7
[19-Nov-2025 13:38:42 UTC]    Language field in books: YES
[19-Nov-2025 13:38:42 UTC]    Format field in books: YES
[19-Nov-2025 13:38:42 UTC]    Description field in categories: YES
[19-Nov-2025 13:38:42 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:38:42 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:38:42 UTC]    Is_active field in books: YES
[19-Nov-2025 13:38:42 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:38:42 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:38:42 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:38:42 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:38:42 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:38:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:38:42 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:38:42 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:38:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:38:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:38:42 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:38:42 UTC] 📊 Database Info:
[19-Nov-2025 13:38:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:38:42 UTC]    Books columns count: 44
[19-Nov-2025 13:38:42 UTC]    Categories columns count: 7
[19-Nov-2025 13:38:42 UTC]    Language field in books: YES
[19-Nov-2025 13:38:42 UTC]    Format field in books: YES
[19-Nov-2025 13:38:42 UTC]    Description field in categories: YES
[19-Nov-2025 13:38:42 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:38:42 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:38:42 UTC]    Is_active field in books: YES
[19-Nov-2025 13:38:42 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:38:42 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:38:42 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:38:42 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:38:42 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:38:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:38:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:38:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:38:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:38:42 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:38:42 UTC] 📊 Database Info:
[19-Nov-2025 13:38:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:38:42 UTC]    Books columns count: 44
[19-Nov-2025 13:38:42 UTC]    Categories columns count: 7
[19-Nov-2025 13:38:42 UTC]    Language field in books: YES
[19-Nov-2025 13:38:42 UTC]    Format field in books: YES
[19-Nov-2025 13:38:42 UTC]    Description field in categories: YES
[19-Nov-2025 13:38:42 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:38:42 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:38:42 UTC]    Is_active field in books: YES
[19-Nov-2025 13:38:42 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:38:42 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:38:42 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:38:42 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:38:42 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:38:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:38:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:38:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:38:42 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:38:42 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:39:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:39:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:39:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:39:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:39:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:39:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:39:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:39:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:39:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:39:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:39:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:39:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:39:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:39:21 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:39:21 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:39:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:39:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:39:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:39:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:39:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:39:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:39:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:39:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:39:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:39:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:39:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:39:21 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:39:21 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:39:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:39:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:39:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:39:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:39:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:39:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:39:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:39:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:39:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:39:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:39:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:39:21 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:39:21 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:39:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:39:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:39:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:39:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:39:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:39:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:39:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:39:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:39:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:39:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:39:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:39:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:39:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:39:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:39:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:39:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:39:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:39:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:39:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:39:22 UTC] 📊 Database Info:
[19-Nov-2025 13:39:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:39:22 UTC]    Books columns count: 44
[19-Nov-2025 13:39:22 UTC]    Categories columns count: 7
[19-Nov-2025 13:39:22 UTC]    Language field in books: YES
[19-Nov-2025 13:39:22 UTC]    Format field in books: YES
[19-Nov-2025 13:39:22 UTC]    Description field in categories: YES
[19-Nov-2025 13:39:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:39:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:39:22 UTC]    Is_active field in books: YES
[19-Nov-2025 13:39:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:39:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:39:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:39:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:39:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:39:22 UTC] 📊 Database Info:
[19-Nov-2025 13:39:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:39:22 UTC]    Books columns count: 44
[19-Nov-2025 13:39:22 UTC]    Categories columns count: 7
[19-Nov-2025 13:39:22 UTC]    Language field in books: YES
[19-Nov-2025 13:39:22 UTC]    Format field in books: YES
[19-Nov-2025 13:39:22 UTC]    Description field in categories: YES
[19-Nov-2025 13:39:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:39:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:39:22 UTC]    Is_active field in books: YES
[19-Nov-2025 13:39:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:39:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:39:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:39:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:39:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:39:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:39:22 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:39:22 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:39:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:39:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:39:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:39:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:39:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:39:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:39:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:39:22 UTC] 📊 Database Info:
[19-Nov-2025 13:39:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:39:22 UTC]    Books columns count: 44
[19-Nov-2025 13:39:22 UTC]    Categories columns count: 7
[19-Nov-2025 13:39:22 UTC]    Language field in books: YES
[19-Nov-2025 13:39:22 UTC]    Format field in books: YES
[19-Nov-2025 13:39:22 UTC]    Description field in categories: YES
[19-Nov-2025 13:39:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:39:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:39:22 UTC]    Is_active field in books: YES
[19-Nov-2025 13:39:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:39:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:39:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:39:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:39:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:39:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:39:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:39:22 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:39:22 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:39:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:39:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:39:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:39:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:39:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:39:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:39:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:39:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:39:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:39:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:39:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:39:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:39:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:39:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:39:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:39:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:39:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:39:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:39:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:39:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:39:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:39:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:39:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:39:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:39:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:39:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:39:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:39:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:39:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:39:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:39:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:39:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:39:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:39:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:39:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:39:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:39:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:39:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:39:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:39:51 UTC] 📊 Database Info:
[19-Nov-2025 13:39:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:39:51 UTC]    Books columns count: 44
[19-Nov-2025 13:39:51 UTC]    Categories columns count: 7
[19-Nov-2025 13:39:51 UTC]    Language field in books: YES
[19-Nov-2025 13:39:51 UTC]    Format field in books: YES
[19-Nov-2025 13:39:51 UTC]    Description field in categories: YES
[19-Nov-2025 13:39:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:39:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:39:51 UTC]    Is_active field in books: YES
[19-Nov-2025 13:39:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:39:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:39:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:39:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:39:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:39:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:39:51 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:39:51 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:39:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:39:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:39:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:39:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:39:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:39:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:39:51 UTC] 📊 Database Info:
[19-Nov-2025 13:39:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:39:51 UTC]    Books columns count: 44
[19-Nov-2025 13:39:51 UTC]    Categories columns count: 7
[19-Nov-2025 13:39:51 UTC]    Language field in books: YES
[19-Nov-2025 13:39:51 UTC]    Format field in books: YES
[19-Nov-2025 13:39:51 UTC]    Description field in categories: YES
[19-Nov-2025 13:39:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:39:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:39:51 UTC]    Is_active field in books: YES
[19-Nov-2025 13:39:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:39:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:39:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:39:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:39:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:39:51 UTC] 📊 Database Info:
[19-Nov-2025 13:39:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:39:51 UTC]    Books columns count: 44
[19-Nov-2025 13:39:51 UTC]    Categories columns count: 7
[19-Nov-2025 13:39:51 UTC]    Language field in books: YES
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:39:51 UTC]    Format field in books: YES
[19-Nov-2025 13:39:51 UTC]    Description field in categories: YES
[19-Nov-2025 13:39:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:39:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:39:51 UTC]    Is_active field in books: YES
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:39:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:39:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:39:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:39:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:39:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:39:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:39:51 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:39:51 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:39:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:39:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:39:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:41:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:41:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:41:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:41:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:41:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:41:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:41:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:41:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:41:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:41:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:41:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:41:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:41:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:41:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:41:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:41:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:41:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:41:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:41:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:41:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:41:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:41:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:41:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:41:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:41:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:41:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:41:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:41:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:41:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:41:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:41:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:41:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:41:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:41:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:41:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:41:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:41:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:41:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:41:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:41:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:41:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:41:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:41:09 UTC] 📊 Database Info:
[19-Nov-2025 13:41:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:41:09 UTC]    Books columns count: 44
[19-Nov-2025 13:41:09 UTC]    Categories columns count: 7
[19-Nov-2025 13:41:09 UTC]    Language field in books: YES
[19-Nov-2025 13:41:09 UTC]    Format field in books: YES
[19-Nov-2025 13:41:09 UTC]    Description field in categories: YES
[19-Nov-2025 13:41:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:41:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:41:09 UTC]    Is_active field in books: YES
[19-Nov-2025 13:41:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:41:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:41:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:41:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:41:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:41:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:41:09 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:41:09 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:41:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:41:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:41:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:41:09 UTC] 📊 Database Info:
[19-Nov-2025 13:41:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:41:09 UTC]    Books columns count: 44
[19-Nov-2025 13:41:09 UTC]    Categories columns count: 7
[19-Nov-2025 13:41:09 UTC]    Language field in books: YES
[19-Nov-2025 13:41:09 UTC]    Format field in books: YES
[19-Nov-2025 13:41:09 UTC]    Description field in categories: YES
[19-Nov-2025 13:41:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:41:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:41:09 UTC]    Is_active field in books: YES
[19-Nov-2025 13:41:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:41:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:41:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:41:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:41:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:41:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:41:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:41:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:41:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:41:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:41:09 UTC] 📊 Database Info:
[19-Nov-2025 13:41:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:41:09 UTC]    Books columns count: 44
[19-Nov-2025 13:41:09 UTC]    Categories columns count: 7
[19-Nov-2025 13:41:09 UTC]    Language field in books: YES
[19-Nov-2025 13:41:09 UTC]    Format field in books: YES
[19-Nov-2025 13:41:09 UTC]    Description field in categories: YES
[19-Nov-2025 13:41:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:41:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:41:09 UTC]    Is_active field in books: YES
[19-Nov-2025 13:41:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:41:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:41:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:41:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:41:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:41:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:41:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:41:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:41:09 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:41:09 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:41:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:41:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:41:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:41:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:41:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:41:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:41:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:41:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:41:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:41:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:41:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:41:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:41:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:41:49 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:41:49 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:41:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:41:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:41:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:41:49 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:41:49 UTC] 📊 Database Info:
[19-Nov-2025 13:41:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:41:49 UTC]    Books columns count: 44
[19-Nov-2025 13:41:49 UTC]    Categories columns count: 7
[19-Nov-2025 13:41:49 UTC]    Language field in books: YES
[19-Nov-2025 13:41:49 UTC]    Format field in books: YES
[19-Nov-2025 13:41:49 UTC]    Description field in categories: YES
[19-Nov-2025 13:41:49 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:41:49 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:41:49 UTC]    Is_active field in books: YES
[19-Nov-2025 13:41:49 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:41:49 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:41:49 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:41:49 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:41:49 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:41:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:41:49 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:41:49 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:41:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:41:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:41:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:41:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:41:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:41:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:41:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:41:49 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:41:49 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:41:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:41:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:41:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:41:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:41:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:41:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:41:49 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:41:49 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:41:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:41:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:41:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:41:49 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:41:49 UTC] 📊 Database Info:
[19-Nov-2025 13:41:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:41:49 UTC]    Books columns count: 44
[19-Nov-2025 13:41:49 UTC]    Categories columns count: 7
[19-Nov-2025 13:41:49 UTC]    Language field in books: YES
[19-Nov-2025 13:41:49 UTC]    Format field in books: YES
[19-Nov-2025 13:41:49 UTC]    Description field in categories: YES
[19-Nov-2025 13:41:49 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:41:49 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:41:49 UTC]    Is_active field in books: YES
[19-Nov-2025 13:41:49 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:41:49 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:41:49 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:41:49 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:41:49 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:41:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:41:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:41:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:41:49 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:41:49 UTC] 📊 Database Info:
[19-Nov-2025 13:41:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:41:49 UTC]    Books columns count: 44
[19-Nov-2025 13:41:49 UTC]    Categories columns count: 7
[19-Nov-2025 13:41:49 UTC]    Language field in books: YES
[19-Nov-2025 13:41:49 UTC]    Format field in books: YES
[19-Nov-2025 13:41:49 UTC]    Description field in categories: YES
[19-Nov-2025 13:41:49 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:41:49 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:41:49 UTC]    Is_active field in books: YES
[19-Nov-2025 13:41:49 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:41:49 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:41:49 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:41:49 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:41:49 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:41:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:41:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:41:49 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:41:49 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:41:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:41:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:41:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:41:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:41:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:41:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:41:49 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:41:49 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:41:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:41:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:41:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:41:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:41:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:41:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:41:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:41:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:41:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:41:49 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:41:49 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:41:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:41:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:41:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:41:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:41:49 UTC] 📊 Database Info:
[19-Nov-2025 13:41:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:41:49 UTC]    Books columns count: 44
[19-Nov-2025 13:41:49 UTC]    Categories columns count: 7
[19-Nov-2025 13:41:49 UTC]    Language field in books: YES
[19-Nov-2025 13:41:49 UTC]    Format field in books: YES
[19-Nov-2025 13:41:49 UTC]    Description field in categories: YES
[19-Nov-2025 13:41:49 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:41:49 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:41:49 UTC]    Is_active field in books: YES
[19-Nov-2025 13:41:49 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:41:49 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:41:49 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:41:49 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:41:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:41:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:41:49 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:41:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:41:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:41:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:41:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:41:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:41:49 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:41:49 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:41:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:41:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:41:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:41:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:41:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:41:49 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:41:49 UTC] 📊 Database Info:
[19-Nov-2025 13:41:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:41:49 UTC]    Books columns count: 44
[19-Nov-2025 13:41:49 UTC]    Categories columns count: 7
[19-Nov-2025 13:41:49 UTC]    Language field in books: YES
[19-Nov-2025 13:41:49 UTC]    Format field in books: YES
[19-Nov-2025 13:41:49 UTC]    Description field in categories: YES
[19-Nov-2025 13:41:49 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:41:49 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:41:49 UTC]    Is_active field in books: YES
[19-Nov-2025 13:41:49 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:41:49 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:41:49 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:41:49 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:41:49 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:41:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:41:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:41:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:41:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:41:49 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:41:49 UTC] 📊 Database Info:
[19-Nov-2025 13:41:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:41:49 UTC]    Books columns count: 44
[19-Nov-2025 13:41:49 UTC]    Categories columns count: 7
[19-Nov-2025 13:41:49 UTC]    Language field in books: YES
[19-Nov-2025 13:41:49 UTC]    Format field in books: YES
[19-Nov-2025 13:41:49 UTC]    Description field in categories: YES
[19-Nov-2025 13:41:49 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:41:49 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:41:49 UTC]    Is_active field in books: YES
[19-Nov-2025 13:41:49 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:41:49 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:41:49 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:41:49 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:41:49 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:41:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:41:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:41:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:41:49 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:41:49 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:42:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:42:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:42:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:42:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:42:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:42:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:42:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:42:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:42:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:42:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:42:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:42:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:42:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:42:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:42:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:42:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:42:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:42:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:42:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:42:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:42:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:42:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:42:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:42:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:42:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:42:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:42:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:42:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:42:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:42:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:42:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:42:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:42:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:42:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:42:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:42:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:42:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:42:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:42:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:42:56 UTC] 📊 Database Info:
[19-Nov-2025 13:42:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:42:56 UTC]    Books columns count: 44
[19-Nov-2025 13:42:56 UTC]    Categories columns count: 7
[19-Nov-2025 13:42:56 UTC]    Language field in books: YES
[19-Nov-2025 13:42:56 UTC]    Format field in books: YES
[19-Nov-2025 13:42:56 UTC]    Description field in categories: YES
[19-Nov-2025 13:42:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:42:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:42:56 UTC]    Is_active field in books: YES
[19-Nov-2025 13:42:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:42:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:42:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:42:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:42:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:42:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:42:56 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:42:56 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:42:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:42:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:42:56 UTC] 📊 Database Info:
[19-Nov-2025 13:42:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:42:56 UTC]    Books columns count: 44
[19-Nov-2025 13:42:56 UTC]    Categories columns count: 7
[19-Nov-2025 13:42:56 UTC]    Language field in books: YES
[19-Nov-2025 13:42:56 UTC]    Format field in books: YES
[19-Nov-2025 13:42:56 UTC]    Description field in categories: YES
[19-Nov-2025 13:42:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:42:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:42:56 UTC]    Is_active field in books: YES
[19-Nov-2025 13:42:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:42:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:42:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:42:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:42:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:42:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:42:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:42:56 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:42:56 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:42:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:42:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:42:56 UTC] 📊 Database Info:
[19-Nov-2025 13:42:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:42:56 UTC]    Books columns count: 44
[19-Nov-2025 13:42:56 UTC]    Categories columns count: 7
[19-Nov-2025 13:42:56 UTC]    Language field in books: YES
[19-Nov-2025 13:42:56 UTC]    Format field in books: YES
[19-Nov-2025 13:42:56 UTC]    Description field in categories: YES
[19-Nov-2025 13:42:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:42:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:42:56 UTC]    Is_active field in books: YES
[19-Nov-2025 13:42:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:42:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:42:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:42:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:42:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:42:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:43:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:43:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:43:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:43:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:43:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:43:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:43:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:43:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:43:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:43:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:43:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:43:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:43:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:43:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:43:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:43:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:43:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:43:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:43:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:43:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:43:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:43:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:43:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:43:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:43:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:43:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:43:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:43:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:43:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:43:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:43:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:43:53 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:43:53 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:43:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:43:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:43:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:43:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:43:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:43:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:43:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:43:53 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:43:53 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:43:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:43:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:43:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:43:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:43:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:43:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:43:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:43:53 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:43:53 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:43:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:43:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:43:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:43:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:43:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:43:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:43:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:43:53 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:43:53 UTC] 📊 Database Info:
[19-Nov-2025 13:43:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:43:53 UTC]    Books columns count: 44
[19-Nov-2025 13:43:53 UTC]    Categories columns count: 7
[19-Nov-2025 13:43:53 UTC]    Language field in books: YES
[19-Nov-2025 13:43:53 UTC]    Format field in books: YES
[19-Nov-2025 13:43:53 UTC]    Description field in categories: YES
[19-Nov-2025 13:43:53 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:43:53 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:43:53 UTC]    Is_active field in books: YES
[19-Nov-2025 13:43:53 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:43:53 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:43:53 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:43:53 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:43:53 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:43:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:43:53 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:43:53 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:43:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:43:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:43:53 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:43:53 UTC] 📊 Database Info:
[19-Nov-2025 13:43:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:43:53 UTC]    Books columns count: 44
[19-Nov-2025 13:43:53 UTC]    Categories columns count: 7
[19-Nov-2025 13:43:53 UTC]    Language field in books: YES
[19-Nov-2025 13:43:53 UTC]    Format field in books: YES
[19-Nov-2025 13:43:53 UTC]    Description field in categories: YES
[19-Nov-2025 13:43:53 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:43:53 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:43:53 UTC]    Is_active field in books: YES
[19-Nov-2025 13:43:53 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:43:53 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:43:53 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:43:53 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:43:53 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:43:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:43:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:43:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:43:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:43:53 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:43:53 UTC] 📊 Database Info:
[19-Nov-2025 13:43:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:43:53 UTC]    Books columns count: 44
[19-Nov-2025 13:43:53 UTC]    Categories columns count: 7
[19-Nov-2025 13:43:53 UTC]    Language field in books: YES
[19-Nov-2025 13:43:53 UTC]    Format field in books: YES
[19-Nov-2025 13:43:53 UTC]    Description field in categories: YES
[19-Nov-2025 13:43:53 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:43:53 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:43:53 UTC]    Is_active field in books: YES
[19-Nov-2025 13:43:53 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:43:53 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:43:53 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:43:53 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:43:53 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:43:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:43:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:43:53 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:43:53 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:45:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:45:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:45:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:45:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:45:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:45:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:45:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:45:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:45:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:45:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:45:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:45:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:45:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:45:39 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:45:39 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:45:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:45:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:45:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:45:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:45:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:45:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:45:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:45:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:45:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:45:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:45:39 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:45:39 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:45:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:45:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:45:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:45:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:45:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:45:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:45:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:45:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:45:39 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:45:39 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:45:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:45:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:45:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:45:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:45:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:45:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:45:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:45:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:45:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:45:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:45:39 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:45:39 UTC] 📊 Database Info:
[19-Nov-2025 13:45:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:45:39 UTC]    Books columns count: 44
[19-Nov-2025 13:45:39 UTC]    Categories columns count: 7
[19-Nov-2025 13:45:39 UTC]    Language field in books: YES
[19-Nov-2025 13:45:39 UTC]    Format field in books: YES
[19-Nov-2025 13:45:39 UTC]    Description field in categories: YES
[19-Nov-2025 13:45:39 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:45:39 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:45:39 UTC]    Is_active field in books: YES
[19-Nov-2025 13:45:39 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:45:39 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:45:39 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:45:39 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:45:39 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:45:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:45:39 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:45:39 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:45:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:45:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:45:39 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:45:39 UTC] 📊 Database Info:
[19-Nov-2025 13:45:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:45:39 UTC]    Books columns count: 44
[19-Nov-2025 13:45:39 UTC]    Categories columns count: 7
[19-Nov-2025 13:45:39 UTC]    Language field in books: YES
[19-Nov-2025 13:45:39 UTC]    Format field in books: YES
[19-Nov-2025 13:45:39 UTC]    Description field in categories: YES
[19-Nov-2025 13:45:39 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:45:39 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:45:39 UTC]    Is_active field in books: YES
[19-Nov-2025 13:45:39 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:45:39 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:45:39 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:45:39 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:45:39 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:45:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:45:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:45:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:45:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:45:39 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:45:39 UTC] 📊 Database Info:
[19-Nov-2025 13:45:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:45:39 UTC]    Books columns count: 44
[19-Nov-2025 13:45:39 UTC]    Categories columns count: 7
[19-Nov-2025 13:45:39 UTC]    Language field in books: YES
[19-Nov-2025 13:45:39 UTC]    Format field in books: YES
[19-Nov-2025 13:45:39 UTC]    Description field in categories: YES
[19-Nov-2025 13:45:39 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:45:39 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:45:39 UTC]    Is_active field in books: YES
[19-Nov-2025 13:45:39 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:45:39 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:45:39 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:45:39 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:45:39 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:45:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:45:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:45:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:45:39 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:45:39 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:46:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:46:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:46:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:46:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:46:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:46:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:46:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:46:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:46:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:46:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:46:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:46:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:46:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:46:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:46:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:46:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:46:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:46:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:46:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:46:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:46:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:46:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:46:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:46:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:46:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:46:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:46:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:46:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:46:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:46:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:46:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:46:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:46:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:46:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:46:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:46:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:46:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:46:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:46:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:46:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:46:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:46:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:46:31 UTC] 📊 Database Info:
[19-Nov-2025 13:46:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:46:31 UTC]    Books columns count: 44
[19-Nov-2025 13:46:31 UTC]    Categories columns count: 7
[19-Nov-2025 13:46:31 UTC]    Language field in books: YES
[19-Nov-2025 13:46:31 UTC]    Format field in books: YES
[19-Nov-2025 13:46:31 UTC]    Description field in categories: YES
[19-Nov-2025 13:46:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:46:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:46:31 UTC]    Is_active field in books: YES
[19-Nov-2025 13:46:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:46:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:46:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:46:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:46:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:46:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:46:31 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:46:31 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:46:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:46:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:46:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:46:31 UTC] 📊 Database Info:
[19-Nov-2025 13:46:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:46:31 UTC]    Books columns count: 44
[19-Nov-2025 13:46:31 UTC]    Categories columns count: 7
[19-Nov-2025 13:46:31 UTC]    Language field in books: YES
[19-Nov-2025 13:46:31 UTC]    Format field in books: YES
[19-Nov-2025 13:46:31 UTC]    Description field in categories: YES
[19-Nov-2025 13:46:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:46:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:46:31 UTC]    Is_active field in books: YES
[19-Nov-2025 13:46:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:46:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:46:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:46:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:46:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:46:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:46:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:46:31 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:46:31 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:46:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:46:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:46:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:46:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:46:31 UTC] 📊 Database Info:
[19-Nov-2025 13:46:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:46:31 UTC]    Books columns count: 44
[19-Nov-2025 13:46:31 UTC]    Categories columns count: 7
[19-Nov-2025 13:46:31 UTC]    Language field in books: YES
[19-Nov-2025 13:46:31 UTC]    Format field in books: YES
[19-Nov-2025 13:46:31 UTC]    Description field in categories: YES
[19-Nov-2025 13:46:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:46:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:46:31 UTC]    Is_active field in books: YES
[19-Nov-2025 13:46:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:46:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:46:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:46:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:46:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:46:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:46:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:46:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:46:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:46:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:46:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:46:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:46:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:46:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:46:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:46:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:46:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:46:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:46:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:46:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:46:36 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:46:36 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:46:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:46:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:46:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:46:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:46:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:46:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:46:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:46:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:46:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:46:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:46:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:46:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:46:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:46:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:46:36 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:46:36 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:46:36 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:46:36 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:46:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:46:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:46:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:46:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:46:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:46:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:46:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:46:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:46:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:46:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:46:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:46:36 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:46:36 UTC] 📊 Database Info:
[19-Nov-2025 13:46:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:46:36 UTC]    Books columns count: 44
[19-Nov-2025 13:46:36 UTC]    Categories columns count: 7
[19-Nov-2025 13:46:36 UTC]    Language field in books: YES
[19-Nov-2025 13:46:36 UTC]    Format field in books: YES
[19-Nov-2025 13:46:36 UTC]    Description field in categories: YES
[19-Nov-2025 13:46:36 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:46:36 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:46:36 UTC]    Is_active field in books: YES
[19-Nov-2025 13:46:36 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:46:36 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:46:36 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:46:36 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:46:36 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:46:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:46:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:46:36 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:46:36 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:46:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:46:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:46:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:46:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:46:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:46:36 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:46:36 UTC] 📊 Database Info:
[19-Nov-2025 13:46:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:46:36 UTC]    Books columns count: 44
[19-Nov-2025 13:46:36 UTC]    Categories columns count: 7
[19-Nov-2025 13:46:36 UTC]    Language field in books: YES
[19-Nov-2025 13:46:36 UTC]    Format field in books: YES
[19-Nov-2025 13:46:36 UTC]    Description field in categories: YES
[19-Nov-2025 13:46:36 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:46:36 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:46:36 UTC]    Is_active field in books: YES
[19-Nov-2025 13:46:36 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:46:36 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:46:36 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:46:36 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:46:36 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:46:36 UTC] 📊 Database Info:
[19-Nov-2025 13:46:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:46:36 UTC]    Books columns count: 44
[19-Nov-2025 13:46:36 UTC]    Categories columns count: 7
[19-Nov-2025 13:46:36 UTC]    Language field in books: YES
[19-Nov-2025 13:46:36 UTC]    Format field in books: YES
[19-Nov-2025 13:46:36 UTC]    Description field in categories: YES
[19-Nov-2025 13:46:36 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:46:36 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:46:36 UTC]    Is_active field in books: YES
[19-Nov-2025 13:46:36 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:46:36 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:46:36 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:46:36 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:46:36 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:46:36 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:46:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:46:36 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:46:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:46:36 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:52:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:52:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:52:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:52:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:52:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:52:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:52:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:52:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:52:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:52:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:52:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:52:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:52:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:52:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:52:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:52:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:52:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:52:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:52:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:52:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:52:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:52:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:52:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:52:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:52:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:52:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:52:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:52:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:52:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:52:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:52:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:52:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:52:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:52:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:52:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:52:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:52:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:52:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:52:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:52:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:52:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:52:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:52:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:52:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:52:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:52:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:52:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:52:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:52:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:52:10 UTC] 📊 Database Info:
[19-Nov-2025 13:52:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:52:10 UTC]    Books columns count: 44
[19-Nov-2025 13:52:10 UTC]    Categories columns count: 7
[19-Nov-2025 13:52:10 UTC]    Language field in books: YES
[19-Nov-2025 13:52:10 UTC]    Format field in books: YES
[19-Nov-2025 13:52:10 UTC]    Description field in categories: YES
[19-Nov-2025 13:52:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:52:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:52:10 UTC]    Is_active field in books: YES
[19-Nov-2025 13:52:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:52:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:52:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:52:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:52:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:52:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:52:10 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 13:52:10 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 13:52:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:52:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:52:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:52:10 UTC] 📊 Database Info:
[19-Nov-2025 13:52:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:52:10 UTC]    Books columns count: 44
[19-Nov-2025 13:52:10 UTC]    Categories columns count: 7
[19-Nov-2025 13:52:10 UTC]    Language field in books: YES
[19-Nov-2025 13:52:10 UTC]    Format field in books: YES
[19-Nov-2025 13:52:10 UTC]    Description field in categories: YES
[19-Nov-2025 13:52:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:52:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:52:10 UTC]    Is_active field in books: YES
[19-Nov-2025 13:52:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:52:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:52:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:52:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:52:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:52:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:52:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 13:52:10 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 13:52:10 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 13:52:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:52:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:52:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:52:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:52:10 UTC] 📊 Database Info:
[19-Nov-2025 13:52:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:52:10 UTC]    Books columns count: 44
[19-Nov-2025 13:52:10 UTC]    Categories columns count: 7
[19-Nov-2025 13:52:10 UTC]    Language field in books: YES
[19-Nov-2025 13:52:10 UTC]    Format field in books: YES
[19-Nov-2025 13:52:10 UTC]    Description field in categories: YES
[19-Nov-2025 13:52:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:52:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:52:10 UTC]    Is_active field in books: YES
[19-Nov-2025 13:52:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:52:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:52:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:52:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:52:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:52:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:52:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:52:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:52:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:52:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:52:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:52:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:52:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:52:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:52:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:52:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:52:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:52:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:52:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:52:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:52:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:52:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:52:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:52:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:52:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:52:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:52:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:52:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:52:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:52:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:52:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:52:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:52:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:52:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:52:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:52:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:52:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:52:34 UTC] 📊 Database Info:
[19-Nov-2025 13:52:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:52:34 UTC]    Books columns count: 44
[19-Nov-2025 13:52:34 UTC]    Categories columns count: 7
[19-Nov-2025 13:52:34 UTC]    Language field in books: YES
[19-Nov-2025 13:52:34 UTC]    Format field in books: YES
[19-Nov-2025 13:52:34 UTC]    Description field in categories: YES
[19-Nov-2025 13:52:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:52:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:52:34 UTC]    Is_active field in books: YES
[19-Nov-2025 13:52:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:52:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:52:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:52:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:52:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:52:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:52:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:52:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:52:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:52:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:52:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:52:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:52:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:52:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:52:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:52:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:52:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:52:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:52:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:52:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:52:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:52:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:52:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:52:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:52:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:52:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:52:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:52:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:52:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:52:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:52:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:52:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:52:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:52:35 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:52:35 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:52:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:52:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:52:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:52:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:52:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:52:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:52:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:52:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:52:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:52:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:52:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:52:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:52:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:52:35 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:52:35 UTC] 📊 Database Info:
[19-Nov-2025 13:52:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:52:35 UTC]    Books columns count: 44
[19-Nov-2025 13:52:35 UTC]    Categories columns count: 7
[19-Nov-2025 13:52:35 UTC]    Language field in books: YES
[19-Nov-2025 13:52:35 UTC]    Format field in books: YES
[19-Nov-2025 13:52:35 UTC]    Description field in categories: YES
[19-Nov-2025 13:52:35 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:52:35 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:52:35 UTC]    Is_active field in books: YES
[19-Nov-2025 13:52:35 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:52:35 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:52:35 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:52:35 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:52:35 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:52:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:52:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:52:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:52:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:52:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:52:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:52:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:52:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:52:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:52:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:52:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:52:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:52:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:52:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:52:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:52:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:52:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:52:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:52:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:52:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:52:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:52:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:52:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:52:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:52:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:52:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:52:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:52:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:52:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:52:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:52:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:52:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:52:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:52:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:52:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:52:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:52:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:52:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:52:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:52:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:52:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:52:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:52:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:52:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:52:43 UTC] 📊 Database Info:
[19-Nov-2025 13:52:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:52:43 UTC]    Books columns count: 44
[19-Nov-2025 13:52:43 UTC]    Categories columns count: 7
[19-Nov-2025 13:52:43 UTC]    Language field in books: YES
[19-Nov-2025 13:52:43 UTC]    Format field in books: YES
[19-Nov-2025 13:52:43 UTC]    Description field in categories: YES
[19-Nov-2025 13:52:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:52:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:52:43 UTC]    Is_active field in books: YES
[19-Nov-2025 13:52:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:52:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:52:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:52:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:52:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:52:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:53:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:53:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:53:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:53:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:53:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:53:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:53:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:53:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:53:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:53:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:53:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:53:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:53:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:53:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:53:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:53:49 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:53:49 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:53:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:53:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:53:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:53:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:53:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:53:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:53:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:53:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:53:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:53:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:53:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:53:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:53:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:53:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:53:50 UTC] 📊 Database Info:
[19-Nov-2025 13:53:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:53:50 UTC]    Books columns count: 44
[19-Nov-2025 13:53:50 UTC]    Categories columns count: 7
[19-Nov-2025 13:53:50 UTC]    Language field in books: YES
[19-Nov-2025 13:53:50 UTC]    Format field in books: YES
[19-Nov-2025 13:53:50 UTC]    Description field in categories: YES
[19-Nov-2025 13:53:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:53:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:53:50 UTC]    Is_active field in books: YES
[19-Nov-2025 13:53:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:53:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:53:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:53:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:53:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:53:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:54:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:54:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:54:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:54:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:54:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:54:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:54:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:54:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:54:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:54:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:54:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:54:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:54:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:54:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:54:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:54:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:54:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:54:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:54:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:54:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:54:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:54:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:54:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:54:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:54:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:54:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:54:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:54:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:54:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:54:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:54:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:54:08 UTC] 📊 Database Info:
[19-Nov-2025 13:54:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:54:08 UTC]    Books columns count: 44
[19-Nov-2025 13:54:08 UTC]    Categories columns count: 7
[19-Nov-2025 13:54:08 UTC]    Language field in books: YES
[19-Nov-2025 13:54:08 UTC]    Format field in books: YES
[19-Nov-2025 13:54:08 UTC]    Description field in categories: YES
[19-Nov-2025 13:54:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:54:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:54:08 UTC]    Is_active field in books: YES
[19-Nov-2025 13:54:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:54:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:54:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:54:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:54:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:54:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:54:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:54:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:54:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:54:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:54:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:54:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:54:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:54:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:54:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:54:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:54:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:54:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:54:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:54:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:54:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:54:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:54:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:54:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:54:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:54:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:54:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:54:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:54:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:54:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:54:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:54:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:54:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:54:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:54:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:54:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:54:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:54:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:54:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:54:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:54:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:54:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:54:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:54:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:54:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:54:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:54:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:54:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:54:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:54:15 UTC] 📊 Database Info:
[19-Nov-2025 13:54:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:54:15 UTC]    Books columns count: 44
[19-Nov-2025 13:54:15 UTC]    Categories columns count: 7
[19-Nov-2025 13:54:15 UTC]    Language field in books: YES
[19-Nov-2025 13:54:15 UTC]    Format field in books: YES
[19-Nov-2025 13:54:15 UTC]    Description field in categories: YES
[19-Nov-2025 13:54:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:54:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:54:15 UTC]    Is_active field in books: YES
[19-Nov-2025 13:54:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:54:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:54:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:54:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:54:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:54:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:55:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:55:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:55:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:55:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:55:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:55:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:55:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:55:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:55:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:55:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:55:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:55:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:55:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:55:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:55:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:55:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:55:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:55:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:55:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:55:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:55:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:55:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:55:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:55:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:55:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:55:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:55:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:55:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:55:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:55:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:55:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:55:32 UTC] 📊 Database Info:
[19-Nov-2025 13:55:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:55:32 UTC]    Books columns count: 44
[19-Nov-2025 13:55:32 UTC]    Categories columns count: 7
[19-Nov-2025 13:55:32 UTC]    Language field in books: YES
[19-Nov-2025 13:55:32 UTC]    Format field in books: YES
[19-Nov-2025 13:55:32 UTC]    Description field in categories: YES
[19-Nov-2025 13:55:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:55:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:55:32 UTC]    Is_active field in books: YES
[19-Nov-2025 13:55:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:55:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:55:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:55:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:55:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:55:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:55:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:55:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:55:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:55:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:55:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:55:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:55:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:55:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:55:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:55:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:55:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:55:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:55:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:55:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:55:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:55:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:55:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:55:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:55:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:55:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:55:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:55:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:55:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:55:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:55:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:55:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:55:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:55:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:55:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:55:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:55:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:55:41 UTC] 📊 Database Info:
[19-Nov-2025 13:55:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:55:41 UTC]    Books columns count: 44
[19-Nov-2025 13:55:41 UTC]    Categories columns count: 7
[19-Nov-2025 13:55:41 UTC]    Language field in books: YES
[19-Nov-2025 13:55:41 UTC]    Format field in books: YES
[19-Nov-2025 13:55:41 UTC]    Description field in categories: YES
[19-Nov-2025 13:55:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:55:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:55:41 UTC]    Is_active field in books: YES
[19-Nov-2025 13:55:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:55:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:55:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:55:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:55:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:55:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:55:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:55:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:55:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:55:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:55:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:55:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:55:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:55:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:55:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:55:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:55:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:55:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:55:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:55:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:55:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:55:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:55:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:55:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:55:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:55:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:55:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:55:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:55:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:55:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:55:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:55:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:55:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:55:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:55:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:55:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:55:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:55:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:55:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:55:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:55:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:55:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:55:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:55:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:55:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:55:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:55:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:55:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:55:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:55:48 UTC] 📊 Database Info:
[19-Nov-2025 13:55:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:55:48 UTC]    Books columns count: 44
[19-Nov-2025 13:55:48 UTC]    Categories columns count: 7
[19-Nov-2025 13:55:48 UTC]    Language field in books: YES
[19-Nov-2025 13:55:48 UTC]    Format field in books: YES
[19-Nov-2025 13:55:48 UTC]    Description field in categories: YES
[19-Nov-2025 13:55:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:55:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:55:48 UTC]    Is_active field in books: YES
[19-Nov-2025 13:55:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:55:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:55:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:55:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:55:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:55:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:55:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:55:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:55:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:55:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:55:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:55:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:55:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:55:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:55:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:55:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:55:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:55:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:55:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:55:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:55:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:55:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:55:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:55:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:55:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:55:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:55:57 UTC] 📊 Database Info:
[19-Nov-2025 13:55:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:55:57 UTC]    Books columns count: 44
[19-Nov-2025 13:55:57 UTC]    Categories columns count: 7
[19-Nov-2025 13:55:57 UTC]    Language field in books: YES
[19-Nov-2025 13:55:57 UTC]    Format field in books: YES
[19-Nov-2025 13:55:57 UTC]    Description field in categories: YES
[19-Nov-2025 13:55:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:55:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:55:57 UTC]    Is_active field in books: YES
[19-Nov-2025 13:55:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:55:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:55:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:55:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:55:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:55:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:56:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:56:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:56:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:56:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:56:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:56:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:56:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:56:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:56:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:56:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:56:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:56:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:56:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:56:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:56:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:56:02 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:56:02 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:56:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:56:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:56:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:56:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:56:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:56:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:56:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:56:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:56:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:56:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:56:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:56:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:56:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:56:02 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:56:02 UTC] 📊 Database Info:
[19-Nov-2025 13:56:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:56:02 UTC]    Books columns count: 44
[19-Nov-2025 13:56:02 UTC]    Categories columns count: 7
[19-Nov-2025 13:56:02 UTC]    Language field in books: YES
[19-Nov-2025 13:56:02 UTC]    Format field in books: YES
[19-Nov-2025 13:56:02 UTC]    Description field in categories: YES
[19-Nov-2025 13:56:02 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:56:02 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:56:02 UTC]    Is_active field in books: YES
[19-Nov-2025 13:56:02 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:56:02 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:56:02 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:56:02 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:56:02 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:56:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:56:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:56:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:56:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:56:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:56:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:56:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:56:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:56:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:56:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:56:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:56:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:56:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:56:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:56:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:56:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:56:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:56:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:56:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:56:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:56:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:56:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:56:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:56:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:56:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:56:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:56:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:56:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:56:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:56:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:56:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:56:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:56:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:56:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:56:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:56:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:56:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:56:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:56:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:56:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:56:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:56:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:56:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:56:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:56:09 UTC] 📊 Database Info:
[19-Nov-2025 13:56:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:56:09 UTC]    Books columns count: 44
[19-Nov-2025 13:56:09 UTC]    Categories columns count: 7
[19-Nov-2025 13:56:09 UTC]    Language field in books: YES
[19-Nov-2025 13:56:09 UTC]    Format field in books: YES
[19-Nov-2025 13:56:09 UTC]    Description field in categories: YES
[19-Nov-2025 13:56:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:56:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:56:09 UTC]    Is_active field in books: YES
[19-Nov-2025 13:56:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:56:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:56:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:56:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:56:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:56:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:56:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:56:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:56:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:56:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:56:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:56:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:56:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:56:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:56:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:56:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:56:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:56:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 13:56:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:56:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:56:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:56:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:56:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:56:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:56:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:56:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:56:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:56:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:56:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:56:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:56:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:56:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 13:56:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:56:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 13:56:28 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 13:56:28 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 13:56:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 13:56:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 13:56:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 13:56:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 13:56:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 13:56:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 13:56:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 13:56:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 13:56:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 13:56:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 13:56:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 13:56:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 13:56:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 13:56:28 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 13:56:28 UTC] 📊 Database Info:
[19-Nov-2025 13:56:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 13:56:28 UTC]    Books columns count: 44
[19-Nov-2025 13:56:28 UTC]    Categories columns count: 7
[19-Nov-2025 13:56:28 UTC]    Language field in books: YES
[19-Nov-2025 13:56:28 UTC]    Format field in books: YES
[19-Nov-2025 13:56:28 UTC]    Description field in categories: YES
[19-Nov-2025 13:56:28 UTC]    Display_order field in categories: YES
[19-Nov-2025 13:56:28 UTC]    Is_active field in categories: YES
[19-Nov-2025 13:56:28 UTC]    Is_active field in books: YES
[19-Nov-2025 13:56:28 UTC]    External_download_link field in books: YES
[19-Nov-2025 13:56:28 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 13:56:28 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 13:56:28 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 13:56:28 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 13:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 13:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 13:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 13:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 13:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 13:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 13:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 13:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 13:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 13:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 13:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 13:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 13:56:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:29:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:29:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:30 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:29:30 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:29:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:29:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:29:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:30 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:29:30 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:29:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:30 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:29:30 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:29:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:30 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:29:30 UTC] 📊 Database Info:
[19-Nov-2025 14:29:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:29:30 UTC]    Books columns count: 44
[19-Nov-2025 14:29:30 UTC]    Categories columns count: 7
[19-Nov-2025 14:29:30 UTC]    Language field in books: YES
[19-Nov-2025 14:29:30 UTC]    Format field in books: YES
[19-Nov-2025 14:29:30 UTC]    Description field in categories: YES
[19-Nov-2025 14:29:30 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:29:30 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:29:30 UTC]    Is_active field in books: YES
[19-Nov-2025 14:29:30 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:29:30 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:29:30 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:29:30 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:29:30 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:29:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:29:30 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 14:29:30 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 14:29:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:30 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:29:30 UTC] 📊 Database Info:
[19-Nov-2025 14:29:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:29:30 UTC]    Books columns count: 44
[19-Nov-2025 14:29:30 UTC]    Categories columns count: 7
[19-Nov-2025 14:29:30 UTC]    Language field in books: YES
[19-Nov-2025 14:29:30 UTC]    Format field in books: YES
[19-Nov-2025 14:29:30 UTC]    Description field in categories: YES
[19-Nov-2025 14:29:30 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:29:30 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:29:30 UTC]    Is_active field in books: YES
[19-Nov-2025 14:29:30 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:29:30 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:29:30 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:29:30 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:29:30 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:29:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:29:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:30 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:29:30 UTC] 📊 Database Info:
[19-Nov-2025 14:29:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:29:30 UTC]    Books columns count: 44
[19-Nov-2025 14:29:30 UTC]    Categories columns count: 7
[19-Nov-2025 14:29:30 UTC]    Language field in books: YES
[19-Nov-2025 14:29:30 UTC]    Format field in books: YES
[19-Nov-2025 14:29:30 UTC]    Description field in categories: YES
[19-Nov-2025 14:29:30 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:29:30 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:29:30 UTC]    Is_active field in books: YES
[19-Nov-2025 14:29:30 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:29:30 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:29:30 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:29:30 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:29:30 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:29:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:29:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 14:29:30 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 14:29:30 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 14:29:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:29:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:29:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:29:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:29:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:29:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:29:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:29:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:29:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:29:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:29:34 UTC] 📊 Database Info:
[19-Nov-2025 14:29:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:29:34 UTC]    Books columns count: 44
[19-Nov-2025 14:29:34 UTC]    Categories columns count: 7
[19-Nov-2025 14:29:34 UTC]    Language field in books: YES
[19-Nov-2025 14:29:34 UTC]    Format field in books: YES
[19-Nov-2025 14:29:34 UTC]    Description field in categories: YES
[19-Nov-2025 14:29:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:29:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:29:34 UTC]    Is_active field in books: YES
[19-Nov-2025 14:29:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:29:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:29:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:29:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:29:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:29:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:29:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:29:34 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:34 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:29:34 UTC] 📊 Database Info:
[19-Nov-2025 14:29:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:29:34 UTC]    Books columns count: 44
[19-Nov-2025 14:29:34 UTC]    Categories columns count: 7
[19-Nov-2025 14:29:34 UTC]    Language field in books: YES
[19-Nov-2025 14:29:34 UTC]    Format field in books: YES
[19-Nov-2025 14:29:34 UTC]    Description field in categories: YES
[19-Nov-2025 14:29:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:29:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:29:34 UTC]    Is_active field in books: YES
[19-Nov-2025 14:29:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:29:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:29:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:29:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:29:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:29:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:29:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 14:29:34 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 14:29:34 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 14:29:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:29:34 UTC] 📊 Database Info:
[19-Nov-2025 14:29:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:29:34 UTC]    Books columns count: 44
[19-Nov-2025 14:29:34 UTC]    Categories columns count: 7
[19-Nov-2025 14:29:34 UTC]    Language field in books: YES
[19-Nov-2025 14:29:34 UTC]    Format field in books: YES
[19-Nov-2025 14:29:34 UTC]    Description field in categories: YES
[19-Nov-2025 14:29:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:29:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:29:34 UTC]    Is_active field in books: YES
[19-Nov-2025 14:29:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:29:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:29:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:29:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:29:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:29:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:29:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:29:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:29:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:29:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:29:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:29:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:29:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:29:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:29:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:29:41 UTC] 📊 Database Info:
[19-Nov-2025 14:29:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:29:41 UTC]    Books columns count: 44
[19-Nov-2025 14:29:41 UTC]    Categories columns count: 7
[19-Nov-2025 14:29:41 UTC]    Language field in books: YES
[19-Nov-2025 14:29:41 UTC]    Format field in books: YES
[19-Nov-2025 14:29:41 UTC]    Description field in categories: YES
[19-Nov-2025 14:29:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:29:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:29:41 UTC]    Is_active field in books: YES
[19-Nov-2025 14:29:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:29:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:29:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:29:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:29:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:29:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:29:41 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 14:29:41 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 14:29:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:29:41 UTC] 📊 Database Info:
[19-Nov-2025 14:29:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:29:41 UTC]    Books columns count: 44
[19-Nov-2025 14:29:41 UTC]    Categories columns count: 7
[19-Nov-2025 14:29:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:29:41 UTC]    Language field in books: YES
[19-Nov-2025 14:29:41 UTC] 📊 Database Info:
[19-Nov-2025 14:29:41 UTC]    Format field in books: YES
[19-Nov-2025 14:29:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:29:41 UTC]    Description field in categories: YES
[19-Nov-2025 14:29:41 UTC]    Books columns count: 44
[19-Nov-2025 14:29:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:29:41 UTC]    Categories columns count: 7
[19-Nov-2025 14:29:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:29:41 UTC]    Language field in books: YES
[19-Nov-2025 14:29:41 UTC]    Is_active field in books: YES
[19-Nov-2025 14:29:41 UTC]    Format field in books: YES
[19-Nov-2025 14:29:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:29:41 UTC]    Description field in categories: YES
[19-Nov-2025 14:29:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:29:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:29:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:29:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:29:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:29:41 UTC]    Is_active field in books: YES
[19-Nov-2025 14:29:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:29:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:29:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:29:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:29:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:29:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:29:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:29:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:29:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 14:29:41 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 14:29:41 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 14:29:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:29:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:29:49 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:29:49 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:29:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:29:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:29:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:29:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:29:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:29:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:29:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:29:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:29:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:29:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:29:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:29:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:29:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:29:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:29:50 UTC] 📊 Database Info:
[19-Nov-2025 14:29:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:29:50 UTC]    Books columns count: 44
[19-Nov-2025 14:29:50 UTC]    Categories columns count: 7
[19-Nov-2025 14:29:50 UTC]    Language field in books: YES
[19-Nov-2025 14:29:50 UTC]    Format field in books: YES
[19-Nov-2025 14:29:50 UTC]    Description field in categories: YES
[19-Nov-2025 14:29:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:29:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:29:50 UTC]    Is_active field in books: YES
[19-Nov-2025 14:29:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:29:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:29:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:29:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:29:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:29:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:29:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:29:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:29:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:29:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:29:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:29:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:29:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:29:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:29:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:29:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:29:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:29:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:30:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:30:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:30:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:30:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:30:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:30:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:30:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:30:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:30:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:30:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:30:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:30:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:30:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:30:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:30:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:30:40 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:30:40 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:30:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:30:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:30:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:30:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:30:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:30:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:30:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:30:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:30:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:30:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:30:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:30:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:30:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:30:40 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:30:40 UTC] 📊 Database Info:
[19-Nov-2025 14:30:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:30:40 UTC]    Books columns count: 44
[19-Nov-2025 14:30:40 UTC]    Categories columns count: 7
[19-Nov-2025 14:30:40 UTC]    Language field in books: YES
[19-Nov-2025 14:30:40 UTC]    Format field in books: YES
[19-Nov-2025 14:30:40 UTC]    Description field in categories: YES
[19-Nov-2025 14:30:40 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:30:40 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:30:40 UTC]    Is_active field in books: YES
[19-Nov-2025 14:30:40 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:30:40 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:30:40 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:30:40 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:30:40 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:30:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:30:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:30:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:30:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:30:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:30:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:30:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:30:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:30:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:30:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:30:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:30:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:30:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:30:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:30:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:30:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:30:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:30:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:30:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:30:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:30:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:30:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:30:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:30:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:30:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:30:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:30:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:30:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:30:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:30:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:30:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:30:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:30:41 UTC] 📊 Database Info:
[19-Nov-2025 14:30:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:30:41 UTC]    Books columns count: 44
[19-Nov-2025 14:30:41 UTC]    Categories columns count: 7
[19-Nov-2025 14:30:41 UTC]    Language field in books: YES
[19-Nov-2025 14:30:41 UTC]    Format field in books: YES
[19-Nov-2025 14:30:41 UTC]    Description field in categories: YES
[19-Nov-2025 14:30:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:30:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:30:41 UTC]    Is_active field in books: YES
[19-Nov-2025 14:30:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:30:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:30:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:30:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:30:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:30:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:30:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:30:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:30:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:30:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:30:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:30:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:30:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:30:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:30:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:30:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:30:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:30:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:30:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:30:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:30:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:30:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:30:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:30:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:30:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:30:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:30:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:30:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:30:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:30:50 UTC] 📊 Database Info:
[19-Nov-2025 14:30:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:30:50 UTC]    Books columns count: 44
[19-Nov-2025 14:30:50 UTC]    Categories columns count: 7
[19-Nov-2025 14:30:50 UTC]    Language field in books: YES
[19-Nov-2025 14:30:50 UTC]    Format field in books: YES
[19-Nov-2025 14:30:50 UTC]    Description field in categories: YES
[19-Nov-2025 14:30:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:30:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:30:50 UTC]    Is_active field in books: YES
[19-Nov-2025 14:30:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:30:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:30:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:30:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:30:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:30:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:30:50 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 14:30:50 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 14:30:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:30:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:30:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:30:50 UTC] 📊 Database Info:
[19-Nov-2025 14:30:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:30:50 UTC]    Books columns count: 44
[19-Nov-2025 14:30:50 UTC]    Categories columns count: 7
[19-Nov-2025 14:30:50 UTC]    Language field in books: YES
[19-Nov-2025 14:30:50 UTC]    Format field in books: YES
[19-Nov-2025 14:30:50 UTC]    Description field in categories: YES
[19-Nov-2025 14:30:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:30:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:30:50 UTC]    Is_active field in books: YES
[19-Nov-2025 14:30:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:30:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:30:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:30:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:30:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:30:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:30:50 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 14:30:50 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 14:30:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:30:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:30:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:30:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:30:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:30:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:30:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:30:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:30:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:30:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:30:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:30:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:30:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:30:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:30:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:30:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:30:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:30:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:30:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:30:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:30:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:30:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:30:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:30:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:30:50 UTC] 📊 Database Info:
[19-Nov-2025 14:30:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:30:50 UTC]    Books columns count: 44
[19-Nov-2025 14:30:50 UTC]    Categories columns count: 7
[19-Nov-2025 14:30:50 UTC]    Language field in books: YES
[19-Nov-2025 14:30:50 UTC]    Format field in books: YES
[19-Nov-2025 14:30:50 UTC]    Description field in categories: YES
[19-Nov-2025 14:30:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:30:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:30:50 UTC]    Is_active field in books: YES
[19-Nov-2025 14:30:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:30:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:30:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:30:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:30:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:30:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:30:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:30:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:30:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:30:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:30:50 UTC] 📊 Database Info:
[19-Nov-2025 14:30:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:30:50 UTC]    Books columns count: 44
[19-Nov-2025 14:30:50 UTC]    Categories columns count: 7
[19-Nov-2025 14:30:50 UTC]    Language field in books: YES
[19-Nov-2025 14:30:50 UTC]    Format field in books: YES
[19-Nov-2025 14:30:50 UTC]    Description field in categories: YES
[19-Nov-2025 14:30:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:30:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:30:50 UTC]    Is_active field in books: YES
[19-Nov-2025 14:30:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:30:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:30:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:30:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:30:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:30:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:30:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:30:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:30:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:30:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:30:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:30:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:30:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:30:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:30:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:30:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:30:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:30:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:30:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:30:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:30:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:30:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:30:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:30:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:30:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:30:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:30:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:30:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:30:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:30:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:30:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:30:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:30:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:30:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:30:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:30:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:30:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:30:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:30:51 UTC] 📊 Database Info:
[19-Nov-2025 14:30:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:30:51 UTC]    Books columns count: 44
[19-Nov-2025 14:30:51 UTC]    Categories columns count: 7
[19-Nov-2025 14:30:51 UTC]    Language field in books: YES
[19-Nov-2025 14:30:51 UTC]    Format field in books: YES
[19-Nov-2025 14:30:51 UTC]    Description field in categories: YES
[19-Nov-2025 14:30:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:30:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:30:51 UTC]    Is_active field in books: YES
[19-Nov-2025 14:30:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:30:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:30:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:30:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:30:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:30:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:30:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:30:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:30:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:30:51 UTC] 📊 Database Info:
[19-Nov-2025 14:30:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:30:51 UTC]    Books columns count: 44
[19-Nov-2025 14:30:51 UTC]    Categories columns count: 7
[19-Nov-2025 14:30:51 UTC]    Language field in books: YES
[19-Nov-2025 14:30:51 UTC]    Format field in books: YES
[19-Nov-2025 14:30:51 UTC]    Description field in categories: YES
[19-Nov-2025 14:30:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:30:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:30:51 UTC]    Is_active field in books: YES
[19-Nov-2025 14:30:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:30:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:30:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:30:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:30:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:30:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:30:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:30:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:30:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:30:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:30:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:30:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:30:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:30:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:30:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:30:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:30:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:30:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:30:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:30:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:30:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:30:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:30:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:30:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:30:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:30:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:30:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:30:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:30:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:30:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:30:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:30:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:30:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:30:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:30:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:30:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:30:52 UTC] 📊 Database Info:
[19-Nov-2025 14:30:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:30:52 UTC]    Books columns count: 44
[19-Nov-2025 14:30:52 UTC]    Categories columns count: 7
[19-Nov-2025 14:30:52 UTC]    Language field in books: YES
[19-Nov-2025 14:30:52 UTC]    Format field in books: YES
[19-Nov-2025 14:30:52 UTC]    Description field in categories: YES
[19-Nov-2025 14:30:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:30:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:30:52 UTC]    Is_active field in books: YES
[19-Nov-2025 14:30:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:30:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:30:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:30:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:30:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:30:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:30:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:30:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:30:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:30:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:30:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:30:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:30:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:30:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:30:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:30:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:30:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:30:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:31:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:31:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:31:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:31:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:31:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:31:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:31:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:31:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:31:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:31:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:31:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:31:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:31:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:31:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:31:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:31:01 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:31:01 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:31:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:31:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:31:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:31:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:31:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:31:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:31:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:31:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:31:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:31:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:31:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:31:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:31:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:31:01 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:31:01 UTC] 📊 Database Info:
[19-Nov-2025 14:31:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:31:01 UTC]    Books columns count: 44
[19-Nov-2025 14:31:01 UTC]    Categories columns count: 7
[19-Nov-2025 14:31:01 UTC]    Language field in books: YES
[19-Nov-2025 14:31:01 UTC]    Format field in books: YES
[19-Nov-2025 14:31:01 UTC]    Description field in categories: YES
[19-Nov-2025 14:31:01 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:31:01 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:31:01 UTC]    Is_active field in books: YES
[19-Nov-2025 14:31:01 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:31:01 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:31:01 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:31:01 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:31:01 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:31:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:31:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:31:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:31:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:31:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:31:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:31:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:31:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:31:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:31:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:31:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:31:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:31:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:47:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:47:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:47:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:47:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:47:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:47:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:47:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:47:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:47:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:47:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:47:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:47:27 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:47:27 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:47:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:47:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:47:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:47:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:47:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:47:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:47:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:47:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:47:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:47:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:47:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:47:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:47:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:47:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:47:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:47:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:47:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:47:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:47:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:47:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:47:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:47:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:47:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:47:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:47:27 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:47:27 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:47:27 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:47:27 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:47:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:47:27 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:47:27 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:47:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:47:27 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:47:27 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:47:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:47:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:47:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:47:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:47:27 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:47:27 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:47:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:47:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:47:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:47:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:47:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:47:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:47:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:47:27 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:47:27 UTC] 📊 Database Info:
[19-Nov-2025 14:47:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:47:27 UTC]    Books columns count: 44
[19-Nov-2025 14:47:27 UTC]    Categories columns count: 7
[19-Nov-2025 14:47:27 UTC]    Language field in books: YES
[19-Nov-2025 14:47:27 UTC]    Format field in books: YES
[19-Nov-2025 14:47:27 UTC]    Description field in categories: YES
[19-Nov-2025 14:47:27 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:47:27 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:47:27 UTC]    Is_active field in books: YES
[19-Nov-2025 14:47:27 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:47:27 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:47:27 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:47:27 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:47:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:47:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:47:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:47:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:47:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:47:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:47:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:47:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:47:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:47:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:47:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:47:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:47:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:47:27 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 14:47:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:47:27 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 14:47:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:47:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:47:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:47:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:47:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:47:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:47:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:47:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:47:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:47:28 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:47:28 UTC] 📊 Database Info:
[19-Nov-2025 14:47:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:47:28 UTC]    Books columns count: 44
[19-Nov-2025 14:47:28 UTC]    Categories columns count: 7
[19-Nov-2025 14:47:28 UTC]    Language field in books: YES
[19-Nov-2025 14:47:28 UTC]    Format field in books: YES
[19-Nov-2025 14:47:28 UTC]    Description field in categories: YES
[19-Nov-2025 14:47:28 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:47:28 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:47:28 UTC]    Is_active field in books: YES
[19-Nov-2025 14:47:28 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:47:28 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:47:28 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:47:28 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:47:28 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:47:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:47:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:47:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:47:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:47:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:47:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:47:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:47:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:47:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:47:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:47:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:47:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:47:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:47:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:47:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:47:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:47:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:47:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:47:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:47:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:47:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:47:28 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:47:28 UTC] 📊 Database Info:
[19-Nov-2025 14:47:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:47:28 UTC]    Books columns count: 44
[19-Nov-2025 14:47:28 UTC]    Categories columns count: 7
[19-Nov-2025 14:47:28 UTC]    Language field in books: YES
[19-Nov-2025 14:47:28 UTC]    Format field in books: YES
[19-Nov-2025 14:47:28 UTC]    Description field in categories: YES
[19-Nov-2025 14:47:28 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:47:28 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:47:28 UTC]    Is_active field in books: YES
[19-Nov-2025 14:47:28 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:47:28 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:47:28 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:47:28 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:47:28 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:47:28 UTC] 📊 Database Info:
[19-Nov-2025 14:47:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:47:28 UTC]    Books columns count: 44
[19-Nov-2025 14:47:28 UTC]    Categories columns count: 7
[19-Nov-2025 14:47:28 UTC]    Language field in books: YES
[19-Nov-2025 14:47:28 UTC]    Format field in books: YES
[19-Nov-2025 14:47:28 UTC]    Description field in categories: YES
[19-Nov-2025 14:47:28 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:47:28 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:47:28 UTC]    Is_active field in books: YES
[19-Nov-2025 14:47:28 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:47:28 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:47:28 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:47:28 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:47:28 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:47:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:47:28 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:47:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:47:28 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 14:47:28 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:47:28 UTC] 📊 Database Info:
[19-Nov-2025 14:47:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:47:28 UTC]    Books columns count: 44
[19-Nov-2025 14:47:28 UTC]    Categories columns count: 7
[19-Nov-2025 14:47:28 UTC]    Language field in books: YES
[19-Nov-2025 14:47:28 UTC]    Format field in books: YES
[19-Nov-2025 14:47:28 UTC]    Description field in categories: YES
[19-Nov-2025 14:47:28 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:47:28 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:47:28 UTC]    Is_active field in books: YES
[19-Nov-2025 14:47:28 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:47:28 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:47:28 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:47:28 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:47:28 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:47:28 UTC] 📊 Database Info:
[19-Nov-2025 14:47:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:47:28 UTC]    Books columns count: 44
[19-Nov-2025 14:47:28 UTC]    Categories columns count: 7
[19-Nov-2025 14:47:28 UTC]    Language field in books: YES
[19-Nov-2025 14:47:28 UTC]    Format field in books: YES
[19-Nov-2025 14:47:28 UTC]    Description field in categories: YES
[19-Nov-2025 14:47:28 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:47:28 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:47:28 UTC]    Is_active field in books: YES
[19-Nov-2025 14:47:28 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:47:28 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:47:28 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:47:28 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:47:28 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:47:28 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:47:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:47:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:47:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:47:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:47:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:47:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:47:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:47:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:47:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:47:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:47:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:47:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:47:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:47:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:47:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:47:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:47:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:47:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:47:29 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:47:29 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:47:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:47:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:47:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:47:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:47:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:47:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:47:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:47:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:47:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:47:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:47:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:47:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:47:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:47:29 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:47:29 UTC] 📊 Database Info:
[19-Nov-2025 14:47:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:47:29 UTC]    Books columns count: 44
[19-Nov-2025 14:47:29 UTC]    Categories columns count: 7
[19-Nov-2025 14:47:29 UTC]    Language field in books: YES
[19-Nov-2025 14:47:29 UTC]    Format field in books: YES
[19-Nov-2025 14:47:29 UTC]    Description field in categories: YES
[19-Nov-2025 14:47:29 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:47:29 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:47:29 UTC]    Is_active field in books: YES
[19-Nov-2025 14:47:29 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:47:29 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:47:29 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:47:29 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:47:29 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:47:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:48:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:48:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:48:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:48:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:48:08 UTC] 📊 Database Info:
[19-Nov-2025 14:48:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:48:08 UTC]    Books columns count: 44
[19-Nov-2025 14:48:08 UTC]    Categories columns count: 7
[19-Nov-2025 14:48:08 UTC]    Language field in books: YES
[19-Nov-2025 14:48:08 UTC]    Format field in books: YES
[19-Nov-2025 14:48:08 UTC]    Description field in categories: YES
[19-Nov-2025 14:48:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:48:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:48:08 UTC]    Is_active field in books: YES
[19-Nov-2025 14:48:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:48:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:48:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:48:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:48:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:48:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:48:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:48:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:30 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:48:30 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:48:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:30 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:48:30 UTC] 📊 Database Info:
[19-Nov-2025 14:48:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:48:30 UTC]    Books columns count: 44
[19-Nov-2025 14:48:30 UTC]    Categories columns count: 7
[19-Nov-2025 14:48:30 UTC]    Language field in books: YES
[19-Nov-2025 14:48:30 UTC]    Format field in books: YES
[19-Nov-2025 14:48:30 UTC]    Description field in categories: YES
[19-Nov-2025 14:48:30 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:48:30 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:48:30 UTC]    Is_active field in books: YES
[19-Nov-2025 14:48:30 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:48:30 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:48:30 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:48:30 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:48:30 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:48:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:48:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:48:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:48:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:48:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:48:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:48:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:48:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:48:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:48:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:48:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:48:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:48:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:48:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:48:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:48:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:48:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:48:33 UTC] 📊 Database Info:
[19-Nov-2025 14:48:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:48:33 UTC]    Books columns count: 44
[19-Nov-2025 14:48:33 UTC]    Categories columns count: 7
[19-Nov-2025 14:48:33 UTC]    Language field in books: YES
[19-Nov-2025 14:48:33 UTC]    Format field in books: YES
[19-Nov-2025 14:48:33 UTC]    Description field in categories: YES
[19-Nov-2025 14:48:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:48:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:48:33 UTC]    Is_active field in books: YES
[19-Nov-2025 14:48:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:48:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:48:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:48:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:48:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:48:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:48:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:48:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:48:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:48:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:48:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:48:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:48:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:48:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:48:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:48:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:48:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:48:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:48:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:48:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:53 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:48:53 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:48:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:48:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:48:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:48:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:53 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:48:53 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:53 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:48:53 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:48:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:53 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:48:53 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:48:53 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:48:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:48:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:53 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:48:53 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:48:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:53 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:48:53 UTC] 📊 Database Info:
[19-Nov-2025 14:48:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:48:53 UTC]    Books columns count: 44
[19-Nov-2025 14:48:53 UTC]    Categories columns count: 7
[19-Nov-2025 14:48:53 UTC]    Language field in books: YES
[19-Nov-2025 14:48:53 UTC]    Format field in books: YES
[19-Nov-2025 14:48:53 UTC]    Description field in categories: YES
[19-Nov-2025 14:48:53 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:48:53 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:48:53 UTC]    Is_active field in books: YES
[19-Nov-2025 14:48:53 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:48:53 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:48:53 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:48:53 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:48:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:53 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:48:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:48:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:53 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:48:53 UTC] 📊 Database Info:
[19-Nov-2025 14:48:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:48:53 UTC]    Books columns count: 44
[19-Nov-2025 14:48:53 UTC]    Categories columns count: 7
[19-Nov-2025 14:48:53 UTC]    Language field in books: YES
[19-Nov-2025 14:48:53 UTC]    Format field in books: YES
[19-Nov-2025 14:48:53 UTC]    Description field in categories: YES
[19-Nov-2025 14:48:53 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:48:53 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:48:53 UTC]    Is_active field in books: YES
[19-Nov-2025 14:48:53 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:48:53 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:48:53 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:48:53 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:48:53 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:48:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:48:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:53 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:48:53 UTC] 📊 Database Info:
[19-Nov-2025 14:48:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:48:53 UTC]    Books columns count: 44
[19-Nov-2025 14:48:53 UTC]    Categories columns count: 7
[19-Nov-2025 14:48:53 UTC]    Language field in books: YES
[19-Nov-2025 14:48:53 UTC]    Format field in books: YES
[19-Nov-2025 14:48:53 UTC]    Description field in categories: YES
[19-Nov-2025 14:48:53 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:48:53 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:48:53 UTC]    Is_active field in books: YES
[19-Nov-2025 14:48:53 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:48:53 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:48:53 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:48:53 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:48:53 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:48:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:48:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:53 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:48:53 UTC] 📊 Database Info:
[19-Nov-2025 14:48:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:48:53 UTC]    Books columns count: 44
[19-Nov-2025 14:48:53 UTC]    Categories columns count: 7
[19-Nov-2025 14:48:53 UTC]    Language field in books: YES
[19-Nov-2025 14:48:53 UTC]    Format field in books: YES
[19-Nov-2025 14:48:53 UTC]    Description field in categories: YES
[19-Nov-2025 14:48:53 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:48:53 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:48:53 UTC]    Is_active field in books: YES
[19-Nov-2025 14:48:53 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:48:53 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:48:53 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:48:53 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:48:53 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:48:53 UTC] 📊 Database Info:
[19-Nov-2025 14:48:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:48:53 UTC]    Books columns count: 44
[19-Nov-2025 14:48:53 UTC]    Categories columns count: 7
[19-Nov-2025 14:48:53 UTC]    Language field in books: YES
[19-Nov-2025 14:48:53 UTC]    Format field in books: YES
[19-Nov-2025 14:48:53 UTC]    Description field in categories: YES
[19-Nov-2025 14:48:53 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:48:53 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:48:53 UTC]    Is_active field in books: YES
[19-Nov-2025 14:48:53 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:48:53 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:48:53 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:48:53 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:48:53 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:48:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:48:53 UTC] 📊 Database Info:
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:48:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:48:53 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 14:48:53 UTC]    Books columns count: 44
[19-Nov-2025 14:48:53 UTC]    Categories columns count: 7
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:48:53 UTC]    Language field in books: YES
[19-Nov-2025 14:48:53 UTC]    Format field in books: YES
[19-Nov-2025 14:48:53 UTC]    Description field in categories: YES
[19-Nov-2025 14:48:53 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:48:53 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:48:53 UTC]    Is_active field in books: YES
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:48:53 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:48:53 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:48:53 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:48:53 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:48:53 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:48:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:48:53 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 14:48:53 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:48:53 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:48:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:48:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:48:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:48:54 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:48:54 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:48:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:48:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:48:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:48:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:48:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:48:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:48:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:48:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:48:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:48:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:48:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:48:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:48:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:48:54 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:48:54 UTC] 📊 Database Info:
[19-Nov-2025 14:48:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:48:54 UTC]    Books columns count: 44
[19-Nov-2025 14:48:54 UTC]    Categories columns count: 7
[19-Nov-2025 14:48:54 UTC]    Language field in books: YES
[19-Nov-2025 14:48:54 UTC]    Format field in books: YES
[19-Nov-2025 14:48:54 UTC]    Description field in categories: YES
[19-Nov-2025 14:48:54 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:48:54 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:48:54 UTC]    Is_active field in books: YES
[19-Nov-2025 14:48:54 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:48:54 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:48:54 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:48:54 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:48:54 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:48:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:49:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:49:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:49:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:49:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:49:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:49:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:49:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:49:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:49:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:49:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:49:15 UTC] 📊 Database Info:
[19-Nov-2025 14:49:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:49:15 UTC]    Books columns count: 44
[19-Nov-2025 14:49:15 UTC]    Categories columns count: 7
[19-Nov-2025 14:49:15 UTC]    Language field in books: YES
[19-Nov-2025 14:49:15 UTC]    Format field in books: YES
[19-Nov-2025 14:49:15 UTC]    Description field in categories: YES
[19-Nov-2025 14:49:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:49:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:49:15 UTC]    Is_active field in books: YES
[19-Nov-2025 14:49:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:49:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:49:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:49:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:49:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:49:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:49:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:49:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:49:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:49:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:49:16 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 14:49:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:16 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 14:49:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:49:16 UTC] 📊 Database Info:
[19-Nov-2025 14:49:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:49:16 UTC]    Books columns count: 44
[19-Nov-2025 14:49:16 UTC]    Categories columns count: 7
[19-Nov-2025 14:49:16 UTC]    Language field in books: YES
[19-Nov-2025 14:49:16 UTC]    Format field in books: YES
[19-Nov-2025 14:49:16 UTC]    Description field in categories: YES
[19-Nov-2025 14:49:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:49:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:49:16 UTC]    Is_active field in books: YES
[19-Nov-2025 14:49:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:49:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:49:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:49:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:49:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:49:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:49:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:49:16 UTC] 📊 Database Info:
[19-Nov-2025 14:49:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:49:16 UTC]    Books columns count: 44
[19-Nov-2025 14:49:16 UTC]    Categories columns count: 7
[19-Nov-2025 14:49:16 UTC]    Language field in books: YES
[19-Nov-2025 14:49:16 UTC]    Format field in books: YES
[19-Nov-2025 14:49:16 UTC]    Description field in categories: YES
[19-Nov-2025 14:49:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:49:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:49:16 UTC]    Is_active field in books: YES
[19-Nov-2025 14:49:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:49:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:49:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:49:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:49:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:49:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:49:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:49:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:49:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:49:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:49:18 UTC] 📊 Database Info:
[19-Nov-2025 14:49:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:49:18 UTC]    Books columns count: 44
[19-Nov-2025 14:49:18 UTC]    Categories columns count: 7
[19-Nov-2025 14:49:18 UTC]    Language field in books: YES
[19-Nov-2025 14:49:18 UTC]    Format field in books: YES
[19-Nov-2025 14:49:18 UTC]    Description field in categories: YES
[19-Nov-2025 14:49:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:49:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:49:18 UTC]    Is_active field in books: YES
[19-Nov-2025 14:49:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:49:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:49:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:49:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:49:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:49:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:49:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:49:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:21 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:49:21 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:49:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:49:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:21 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:49:21 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:49:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:21 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:49:21 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:49:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:21 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:49:21 UTC] 📊 Database Info:
[19-Nov-2025 14:49:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:49:21 UTC]    Books columns count: 44
[19-Nov-2025 14:49:21 UTC]    Categories columns count: 7
[19-Nov-2025 14:49:21 UTC]    Language field in books: YES
[19-Nov-2025 14:49:21 UTC]    Format field in books: YES
[19-Nov-2025 14:49:21 UTC]    Description field in categories: YES
[19-Nov-2025 14:49:21 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:49:21 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:49:21 UTC]    Is_active field in books: YES
[19-Nov-2025 14:49:21 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:49:21 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:49:21 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:49:21 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:49:21 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:49:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:49:21 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 14:49:21 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 14:49:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:21 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:49:21 UTC] 📊 Database Info:
[19-Nov-2025 14:49:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:49:21 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:49:21 UTC]    Books columns count: 44
[19-Nov-2025 14:49:21 UTC] 📊 Database Info:
[19-Nov-2025 14:49:21 UTC]    Categories columns count: 7
[19-Nov-2025 14:49:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:49:21 UTC]    Books columns count: 44
[19-Nov-2025 14:49:21 UTC]    Categories columns count: 7
[19-Nov-2025 14:49:21 UTC]    Language field in books: YES
[19-Nov-2025 14:49:21 UTC]    Language field in books: YES
[19-Nov-2025 14:49:21 UTC]    Format field in books: YES
[19-Nov-2025 14:49:21 UTC]    Format field in books: YES
[19-Nov-2025 14:49:21 UTC]    Description field in categories: YES
[19-Nov-2025 14:49:21 UTC]    Description field in categories: YES
[19-Nov-2025 14:49:21 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:49:21 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:49:21 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:49:21 UTC]    Is_active field in books: YES
[19-Nov-2025 14:49:21 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:49:21 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:49:21 UTC]    Is_active field in books: YES
[19-Nov-2025 14:49:21 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:49:21 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:49:21 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:49:21 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:49:21 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:49:21 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:49:21 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:49:21 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:49:21 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:49:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:49:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:49:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:49:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:49:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:49:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:49:22 UTC] 📊 Database Info:
[19-Nov-2025 14:49:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:49:22 UTC]    Books columns count: 44
[19-Nov-2025 14:49:22 UTC]    Categories columns count: 7
[19-Nov-2025 14:49:22 UTC]    Language field in books: YES
[19-Nov-2025 14:49:22 UTC]    Format field in books: YES
[19-Nov-2025 14:49:22 UTC]    Description field in categories: YES
[19-Nov-2025 14:49:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:49:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:49:22 UTC]    Is_active field in books: YES
[19-Nov-2025 14:49:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:49:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:49:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:49:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:49:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:49:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:49:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:49:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:27 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:49:27 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:49:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:27 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:49:27 UTC] 📊 Database Info:
[19-Nov-2025 14:49:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:49:27 UTC]    Books columns count: 44
[19-Nov-2025 14:49:27 UTC]    Categories columns count: 7
[19-Nov-2025 14:49:27 UTC]    Language field in books: YES
[19-Nov-2025 14:49:27 UTC]    Format field in books: YES
[19-Nov-2025 14:49:27 UTC]    Description field in categories: YES
[19-Nov-2025 14:49:27 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:49:27 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:49:27 UTC]    Is_active field in books: YES
[19-Nov-2025 14:49:27 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:49:27 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:49:27 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:49:27 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:49:27 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:49:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:49:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:49:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:49:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:49:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:49:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:49:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:49:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:49:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:49:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:49:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:49:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:49:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:49:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:49:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:49:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:49:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:49:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:49:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:49:34 UTC] 📊 Database Info:
[19-Nov-2025 14:49:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:49:34 UTC]    Books columns count: 44
[19-Nov-2025 14:49:34 UTC]    Categories columns count: 7
[19-Nov-2025 14:49:34 UTC]    Language field in books: YES
[19-Nov-2025 14:49:34 UTC]    Format field in books: YES
[19-Nov-2025 14:49:34 UTC]    Description field in categories: YES
[19-Nov-2025 14:49:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:49:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:49:34 UTC]    Is_active field in books: YES
[19-Nov-2025 14:49:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:49:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:49:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:49:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:49:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:49:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:49:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:49:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:49:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:49:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:49:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:49:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:49:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:49:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:49:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:49:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:49:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:49:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:50:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:50:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:50:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:50:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:50:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:50:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:50:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:50:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:50:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:50:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:50:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:50:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:50:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:50:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:50:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:50:03 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:50:03 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:50:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:50:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:50:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:50:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:50:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:50:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:50:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:50:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:50:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:50:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:50:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:50:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:50:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:50:03 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:50:03 UTC] 📊 Database Info:
[19-Nov-2025 14:50:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:50:03 UTC]    Books columns count: 44
[19-Nov-2025 14:50:03 UTC]    Categories columns count: 7
[19-Nov-2025 14:50:03 UTC]    Language field in books: YES
[19-Nov-2025 14:50:03 UTC]    Format field in books: YES
[19-Nov-2025 14:50:03 UTC]    Description field in categories: YES
[19-Nov-2025 14:50:03 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:50:03 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:50:03 UTC]    Is_active field in books: YES
[19-Nov-2025 14:50:03 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:50:03 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:50:03 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:50:03 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:50:03 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:50:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:50:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:50:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:50:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:50:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:50:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:50:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:50:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:50:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:50:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:50:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:50:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:50:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:50:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:50:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:50:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:50:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:50:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:50:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:50:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:50:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:50:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:50:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:50:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:50:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:50:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:50:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:50:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:50:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:50:11 UTC] 📊 Database Info:
[19-Nov-2025 14:50:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:50:11 UTC]    Books columns count: 44
[19-Nov-2025 14:50:11 UTC]    Categories columns count: 7
[19-Nov-2025 14:50:11 UTC]    Language field in books: YES
[19-Nov-2025 14:50:11 UTC]    Format field in books: YES
[19-Nov-2025 14:50:11 UTC]    Description field in categories: YES
[19-Nov-2025 14:50:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:50:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:50:11 UTC]    Is_active field in books: YES
[19-Nov-2025 14:50:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:50:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:50:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:50:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:50:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:50:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:50:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:50:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:50:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:50:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:50:11 UTC] 📊 Database Info:
[19-Nov-2025 14:50:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:50:11 UTC]    Books columns count: 44
[19-Nov-2025 14:50:11 UTC]    Categories columns count: 7
[19-Nov-2025 14:50:11 UTC]    Language field in books: YES
[19-Nov-2025 14:50:11 UTC]    Format field in books: YES
[19-Nov-2025 14:50:11 UTC]    Description field in categories: YES
[19-Nov-2025 14:50:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:50:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:50:11 UTC]    Is_active field in books: YES
[19-Nov-2025 14:50:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:50:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:50:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:50:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:50:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:50:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:50:13 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:50:14 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:50:14 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:50:14 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:50:14 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:50:14 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:50:14 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:50:14 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:50:14 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:50:14 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:50:14 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:50:14 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:50:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:50:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:50:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:50:14 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:50:14 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:50:14 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:50:14 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:50:14 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:50:14 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:50:14 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:50:14 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:50:14 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:50:14 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:50:14 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:50:14 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:50:14 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:50:14 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:50:14 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:50:14 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:50:14 UTC] 📊 Database Info:
[19-Nov-2025 14:50:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:50:14 UTC]    Books columns count: 44
[19-Nov-2025 14:50:14 UTC]    Categories columns count: 7
[19-Nov-2025 14:50:14 UTC]    Language field in books: YES
[19-Nov-2025 14:50:14 UTC]    Format field in books: YES
[19-Nov-2025 14:50:14 UTC]    Description field in categories: YES
[19-Nov-2025 14:50:14 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:50:14 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:50:14 UTC]    Is_active field in books: YES
[19-Nov-2025 14:50:14 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:50:14 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:50:14 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:50:14 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:50:14 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:50:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:50:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:50:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:50:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:50:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:50:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:50:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:50:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:50:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:50:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:50:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:50:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:50:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:51:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:51:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:51:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:51:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:51:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:51:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:51:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:51:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:51:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:51:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:51:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:51:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:51:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:51:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:51:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:51:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:51:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:51:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:51:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:51:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:51:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:51:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:51:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:51:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:51:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:51:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:51:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:51:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:51:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:51:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:51:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:51:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:51:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:51:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:51:18 UTC] 📊 Database Info:
[19-Nov-2025 14:51:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:51:18 UTC]    Books columns count: 44
[19-Nov-2025 14:51:18 UTC]    Categories columns count: 7
[19-Nov-2025 14:51:18 UTC]    Language field in books: YES
[19-Nov-2025 14:51:18 UTC]    Format field in books: YES
[19-Nov-2025 14:51:18 UTC]    Description field in categories: YES
[19-Nov-2025 14:51:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:51:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:51:18 UTC]    Is_active field in books: YES
[19-Nov-2025 14:51:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:51:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:51:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:51:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:51:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:51:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:51:18 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 14:51:18 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 14:51:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:51:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:51:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:51:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:51:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:51:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:51:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:51:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:51:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:51:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:51:18 UTC] 📊 Database Info:
[19-Nov-2025 14:51:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:51:18 UTC]    Books columns count: 44
[19-Nov-2025 14:51:18 UTC]    Categories columns count: 7
[19-Nov-2025 14:51:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:51:18 UTC]    Language field in books: YES
[19-Nov-2025 14:51:18 UTC]    Format field in books: YES
[19-Nov-2025 14:51:18 UTC]    Description field in categories: YES
[19-Nov-2025 14:51:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:51:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:51:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:51:18 UTC]    Is_active field in books: YES
[19-Nov-2025 14:51:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:51:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:51:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:51:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:51:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:51:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:51:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:51:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:51:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:51:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:51:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:51:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:51:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:51:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:51:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:51:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:51:18 UTC] 📊 Database Info:
[19-Nov-2025 14:51:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:51:18 UTC]    Books columns count: 44
[19-Nov-2025 14:51:18 UTC]    Categories columns count: 7
[19-Nov-2025 14:51:18 UTC]    Language field in books: YES
[19-Nov-2025 14:51:18 UTC]    Format field in books: YES
[19-Nov-2025 14:51:18 UTC]    Description field in categories: YES
[19-Nov-2025 14:51:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:51:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:51:18 UTC]    Is_active field in books: YES
[19-Nov-2025 14:51:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:51:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:51:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:51:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:51:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:51:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:51:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:51:19 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:51:19 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:51:19 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:51:19 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:51:19 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:51:19 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:51:19 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:51:19 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:51:19 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:51:19 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:51:19 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:51:19 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:51:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:51:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:51:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:51:19 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:51:19 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:51:19 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:51:19 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:51:19 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:51:19 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:51:19 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:51:19 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:51:19 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:51:19 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:51:19 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:51:19 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:51:19 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:51:19 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:51:19 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:51:19 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:51:19 UTC] 📊 Database Info:
[19-Nov-2025 14:51:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:51:19 UTC]    Books columns count: 44
[19-Nov-2025 14:51:19 UTC]    Categories columns count: 7
[19-Nov-2025 14:51:19 UTC]    Language field in books: YES
[19-Nov-2025 14:51:19 UTC]    Format field in books: YES
[19-Nov-2025 14:51:19 UTC]    Description field in categories: YES
[19-Nov-2025 14:51:19 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:51:19 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:51:19 UTC]    Is_active field in books: YES
[19-Nov-2025 14:51:19 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:51:19 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:51:19 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:51:19 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:51:19 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:51:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:15 UTC] 📊 Database Info:
[19-Nov-2025 14:52:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:15 UTC]    Books columns count: 44
[19-Nov-2025 14:52:15 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:15 UTC]    Language field in books: YES
[19-Nov-2025 14:52:15 UTC]    Format field in books: YES
[19-Nov-2025 14:52:15 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:15 UTC] 📊 Database Info:
[19-Nov-2025 14:52:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:15 UTC]    Books columns count: 44
[19-Nov-2025 14:52:15 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:15 UTC]    Language field in books: YES
[19-Nov-2025 14:52:15 UTC]    Format field in books: YES
[19-Nov-2025 14:52:15 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:15 UTC] 📊 Database Info:
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:15 UTC]    Books columns count: 44
[19-Nov-2025 14:52:15 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:15 UTC]    Language field in books: YES
[19-Nov-2025 14:52:15 UTC]    Format field in books: YES
[19-Nov-2025 14:52:15 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:15 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 14:52:15 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 14:52:15 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:15 UTC] 📊 Database Info:
[19-Nov-2025 14:52:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:15 UTC]    Books columns count: 44
[19-Nov-2025 14:52:15 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:15 UTC]    Language field in books: YES
[19-Nov-2025 14:52:15 UTC]    Format field in books: YES
[19-Nov-2025 14:52:15 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:15 UTC] 📊 Database Info:
[19-Nov-2025 14:52:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:15 UTC]    Books columns count: 44
[19-Nov-2025 14:52:15 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:15 UTC]    Language field in books: YES
[19-Nov-2025 14:52:15 UTC]    Format field in books: YES
[19-Nov-2025 14:52:15 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:15 UTC] 📊 Database Info:
[19-Nov-2025 14:52:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:15 UTC]    Books columns count: 44
[19-Nov-2025 14:52:15 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:15 UTC]    Language field in books: YES
[19-Nov-2025 14:52:15 UTC]    Format field in books: YES
[19-Nov-2025 14:52:15 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:15 UTC] 📊 Database Info:
[19-Nov-2025 14:52:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:15 UTC]    Books columns count: 44
[19-Nov-2025 14:52:15 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:15 UTC]    Language field in books: YES
[19-Nov-2025 14:52:15 UTC]    Format field in books: YES
[19-Nov-2025 14:52:15 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 14:52:15 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 14:52:15 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 14:52:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 14:52:15 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 14:52:15 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:15 UTC] 📊 Database Info:
[19-Nov-2025 14:52:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:15 UTC]    Books columns count: 44
[19-Nov-2025 14:52:15 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:15 UTC]    Language field in books: YES
[19-Nov-2025 14:52:15 UTC]    Format field in books: YES
[19-Nov-2025 14:52:15 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 14:52:15 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 14:52:15 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:15 UTC] 📊 Database Info:
[19-Nov-2025 14:52:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:15 UTC] 📊 Database Info:
[19-Nov-2025 14:52:15 UTC]    Books columns count: 44
[19-Nov-2025 14:52:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:15 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:15 UTC]    Books columns count: 44
[19-Nov-2025 14:52:15 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:15 UTC]    Language field in books: YES
[19-Nov-2025 14:52:15 UTC]    Language field in books: YES
[19-Nov-2025 14:52:15 UTC]    Format field in books: YES
[19-Nov-2025 14:52:15 UTC]    Format field in books: YES
[19-Nov-2025 14:52:15 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] 📊 Database Info:
[19-Nov-2025 14:52:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:15 UTC]    Books columns count: 44
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:15 UTC]    Language field in books: YES
[19-Nov-2025 14:52:15 UTC]    Format field in books: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:15 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:15 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 14:52:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 14:52:15 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 14:52:15 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 14:52:15 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 14:52:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:15 UTC] 📊 Database Info:
[19-Nov-2025 14:52:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:15 UTC]    Books columns count: 44
[19-Nov-2025 14:52:15 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:15 UTC]    Language field in books: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:15 UTC]    Format field in books: YES
[19-Nov-2025 14:52:15 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:15 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 14:52:15 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:15 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 14:52:15 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 14:52:15 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 14:52:19 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:19 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:19 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:19 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:19 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:19 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:19 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:19 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:19 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:19 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:19 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:19 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:19 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:19 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:19 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:19 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:19 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:19 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:19 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:19 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:19 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:19 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:19 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:19 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:19 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:19 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:19 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:19 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:19 UTC] 📊 Database Info:
[19-Nov-2025 14:52:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:19 UTC]    Books columns count: 44
[19-Nov-2025 14:52:19 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:19 UTC]    Language field in books: YES
[19-Nov-2025 14:52:19 UTC]    Format field in books: YES
[19-Nov-2025 14:52:19 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:19 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:19 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:19 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:19 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:19 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:19 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:19 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:19 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:22 UTC] 📊 Database Info:
[19-Nov-2025 14:52:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:22 UTC]    Books columns count: 44
[19-Nov-2025 14:52:22 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:22 UTC]    Language field in books: YES
[19-Nov-2025 14:52:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:22 UTC]    Format field in books: YES
[19-Nov-2025 14:52:22 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:22 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:22 UTC] 📊 Database Info:
[19-Nov-2025 14:52:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:22 UTC]    Books columns count: 44
[19-Nov-2025 14:52:22 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:22 UTC]    Language field in books: YES
[19-Nov-2025 14:52:22 UTC]    Format field in books: YES
[19-Nov-2025 14:52:22 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:22 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:22 UTC] 📊 Database Info:
[19-Nov-2025 14:52:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:22 UTC]    Books columns count: 44
[19-Nov-2025 14:52:22 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:22 UTC]    Language field in books: YES
[19-Nov-2025 14:52:22 UTC]    Format field in books: YES
[19-Nov-2025 14:52:22 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:22 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:22 UTC] 📊 Database Info:
[19-Nov-2025 14:52:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:22 UTC]    Books columns count: 44
[19-Nov-2025 14:52:22 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:22 UTC]    Language field in books: YES
[19-Nov-2025 14:52:22 UTC]    Format field in books: YES
[19-Nov-2025 14:52:22 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:22 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:22 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 14:52:22 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 14:52:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:22 UTC] 📊 Database Info:
[19-Nov-2025 14:52:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:22 UTC]    Books columns count: 44
[19-Nov-2025 14:52:22 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:22 UTC]    Language field in books: YES
[19-Nov-2025 14:52:22 UTC]    Format field in books: YES
[19-Nov-2025 14:52:22 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:22 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:22 UTC] 📊 Database Info:
[19-Nov-2025 14:52:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:22 UTC]    Books columns count: 44
[19-Nov-2025 14:52:22 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:22 UTC]    Language field in books: YES
[19-Nov-2025 14:52:22 UTC]    Format field in books: YES
[19-Nov-2025 14:52:22 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:22 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:22 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 14:52:22 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 14:52:26 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:26 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:26 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:26 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:26 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:26 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:26 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:26 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:26 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:26 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:26 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:26 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:26 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:26 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:26 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:26 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:26 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:26 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:26 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:26 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:26 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:26 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:26 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:26 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:26 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:26 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:26 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:26 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:26 UTC] 📊 Database Info:
[19-Nov-2025 14:52:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:26 UTC]    Books columns count: 44
[19-Nov-2025 14:52:26 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:26 UTC]    Language field in books: YES
[19-Nov-2025 14:52:26 UTC]    Format field in books: YES
[19-Nov-2025 14:52:26 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:26 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:26 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:26 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:26 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:26 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:26 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:26 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:26 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:39 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:39 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:39 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:39 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:39 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:39 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:39 UTC] 📊 Database Info:
[19-Nov-2025 14:52:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:39 UTC]    Books columns count: 44
[19-Nov-2025 14:52:39 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:39 UTC]    Language field in books: YES
[19-Nov-2025 14:52:39 UTC]    Format field in books: YES
[19-Nov-2025 14:52:39 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:39 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:39 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:39 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:39 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:39 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:39 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:39 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:39 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:39 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:39 UTC] 📊 Database Info:
[19-Nov-2025 14:52:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:39 UTC]    Books columns count: 44
[19-Nov-2025 14:52:39 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:39 UTC]    Language field in books: YES
[19-Nov-2025 14:52:39 UTC]    Format field in books: YES
[19-Nov-2025 14:52:39 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:39 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:39 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:39 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:39 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:39 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:39 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:39 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:39 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:39 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:39 UTC] 📊 Database Info:
[19-Nov-2025 14:52:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:39 UTC]    Books columns count: 44
[19-Nov-2025 14:52:39 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:39 UTC]    Language field in books: YES
[19-Nov-2025 14:52:39 UTC]    Format field in books: YES
[19-Nov-2025 14:52:39 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:39 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:39 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:39 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:39 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:39 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:39 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:39 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:39 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:39 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 14:52:39 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 14:52:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:40 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:40 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:40 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:40 UTC] 📊 Database Info:
[19-Nov-2025 14:52:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:40 UTC]    Books columns count: 44
[19-Nov-2025 14:52:40 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:40 UTC]    Language field in books: YES
[19-Nov-2025 14:52:40 UTC]    Format field in books: YES
[19-Nov-2025 14:52:40 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:40 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:40 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:40 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:40 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:40 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:40 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:40 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:40 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:50 UTC] 📊 Database Info:
[19-Nov-2025 14:52:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:50 UTC]    Books columns count: 44
[19-Nov-2025 14:52:50 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:50 UTC]    Language field in books: YES
[19-Nov-2025 14:52:50 UTC]    Format field in books: YES
[19-Nov-2025 14:52:50 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:50 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:50 UTC] 📊 Database Info:
[19-Nov-2025 14:52:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:50 UTC]    Books columns count: 44
[19-Nov-2025 14:52:50 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:50 UTC]    Language field in books: YES
[19-Nov-2025 14:52:50 UTC]    Format field in books: YES
[19-Nov-2025 14:52:50 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:50 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:52 UTC] 📊 Database Info:
[19-Nov-2025 14:52:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:52 UTC]    Books columns count: 44
[19-Nov-2025 14:52:52 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:52 UTC]    Language field in books: YES
[19-Nov-2025 14:52:52 UTC]    Format field in books: YES
[19-Nov-2025 14:52:52 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:52 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:52 UTC] 📊 Database Info:
[19-Nov-2025 14:52:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:52 UTC]    Books columns count: 44
[19-Nov-2025 14:52:52 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:52 UTC]    Language field in books: YES
[19-Nov-2025 14:52:52 UTC]    Format field in books: YES
[19-Nov-2025 14:52:52 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:52 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:52 UTC] 📊 Database Info:
[19-Nov-2025 14:52:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:52 UTC]    Books columns count: 44
[19-Nov-2025 14:52:52 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:52 UTC]    Language field in books: YES
[19-Nov-2025 14:52:52 UTC]    Format field in books: YES
[19-Nov-2025 14:52:52 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:52 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:52 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 14:52:52 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 14:52:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:53 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:53 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:53 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:53 UTC] 📊 Database Info:
[19-Nov-2025 14:52:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:53 UTC]    Books columns count: 44
[19-Nov-2025 14:52:53 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:53 UTC]    Language field in books: YES
[19-Nov-2025 14:52:53 UTC]    Format field in books: YES
[19-Nov-2025 14:52:53 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:53 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:53 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:53 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:53 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:53 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:53 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:53 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:53 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:55 UTC] 📊 Database Info:
[19-Nov-2025 14:52:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:55 UTC]    Books columns count: 44
[19-Nov-2025 14:52:55 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:55 UTC]    Language field in books: YES
[19-Nov-2025 14:52:55 UTC]    Format field in books: YES
[19-Nov-2025 14:52:55 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:55 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:55 UTC] 📊 Database Info:
[19-Nov-2025 14:52:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:55 UTC]    Books columns count: 44
[19-Nov-2025 14:52:55 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:55 UTC]    Language field in books: YES
[19-Nov-2025 14:52:55 UTC]    Format field in books: YES
[19-Nov-2025 14:52:55 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:55 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:58 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:58 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:52:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:58 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:52:58 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:52:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:52:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:52:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:52:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:52:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:52:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:58 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:58 UTC] 📊 Database Info:
[19-Nov-2025 14:52:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:58 UTC]    Books columns count: 44
[19-Nov-2025 14:52:58 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:58 UTC]    Language field in books: YES
[19-Nov-2025 14:52:58 UTC]    Format field in books: YES
[19-Nov-2025 14:52:58 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:58 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:58 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:58 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:58 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:58 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:58 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:58 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:58 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:52:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:52:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:52:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:52:58 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:52:58 UTC] 📊 Database Info:
[19-Nov-2025 14:52:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:52:58 UTC]    Books columns count: 44
[19-Nov-2025 14:52:58 UTC]    Categories columns count: 7
[19-Nov-2025 14:52:58 UTC]    Language field in books: YES
[19-Nov-2025 14:52:58 UTC]    Format field in books: YES
[19-Nov-2025 14:52:58 UTC]    Description field in categories: YES
[19-Nov-2025 14:52:58 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:52:58 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:52:58 UTC]    Is_active field in books: YES
[19-Nov-2025 14:52:58 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:52:58 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:52:58 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:52:58 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:52:58 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:52:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:52:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:57:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:57:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:57:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:57:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:57:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:57:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:57:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:57:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:57:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:57:28 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:57:28 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:57:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:57:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:57:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:57:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:57:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:57:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:57:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:57:28 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:57:28 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:57:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:57:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:57:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:57:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:57:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:57:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:57:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:57:28 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:57:28 UTC] 📊 Database Info:
[19-Nov-2025 14:57:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:57:28 UTC]    Books columns count: 44
[19-Nov-2025 14:57:28 UTC]    Categories columns count: 7
[19-Nov-2025 14:57:28 UTC]    Language field in books: YES
[19-Nov-2025 14:57:28 UTC]    Format field in books: YES
[19-Nov-2025 14:57:28 UTC]    Description field in categories: YES
[19-Nov-2025 14:57:28 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:57:28 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:57:28 UTC]    Is_active field in books: YES
[19-Nov-2025 14:57:28 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:57:28 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:57:28 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:57:28 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:57:28 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:57:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:57:28 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 14:57:28 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 14:57:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:57:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:57:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:57:28 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:57:28 UTC] 📊 Database Info:
[19-Nov-2025 14:57:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:57:28 UTC]    Books columns count: 44
[19-Nov-2025 14:57:28 UTC]    Categories columns count: 7
[19-Nov-2025 14:57:28 UTC]    Language field in books: YES
[19-Nov-2025 14:57:28 UTC]    Format field in books: YES
[19-Nov-2025 14:57:28 UTC]    Description field in categories: YES
[19-Nov-2025 14:57:28 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:57:28 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:57:28 UTC]    Is_active field in books: YES
[19-Nov-2025 14:57:28 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:57:28 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:57:28 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:57:28 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:57:28 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:57:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:57:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 14:57:28 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 14:57:28 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 14:59:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:59:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:59:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:59:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:59:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:59:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:59:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:59:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:59:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:59:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:59:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:59:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:59:10 UTC] 📊 Database Info:
[19-Nov-2025 14:59:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:59:10 UTC]    Books columns count: 44
[19-Nov-2025 14:59:10 UTC]    Categories columns count: 7
[19-Nov-2025 14:59:10 UTC]    Language field in books: YES
[19-Nov-2025 14:59:10 UTC]    Format field in books: YES
[19-Nov-2025 14:59:10 UTC]    Description field in categories: YES
[19-Nov-2025 14:59:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:59:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:59:10 UTC]    Is_active field in books: YES
[19-Nov-2025 14:59:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:59:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:59:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:59:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:59:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:59:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:59:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:59:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:59:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:59:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:59:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:59:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:59:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:59:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:59:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:59:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:59:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:59:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:59:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:59:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:59:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:59:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:59:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:59:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:59:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:59:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:59:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:59:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:59:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:59:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:59:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:59:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:59:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 14:59:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:59:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 14:59:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:59:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:59:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:59:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:59:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 14:59:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 14:59:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:59:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:59:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 14:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 14:59:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 14:59:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 14:59:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 14:59:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 14:59:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 14:59:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 14:59:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 14:59:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:59:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:59:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:59:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:59:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:59:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:59:11 UTC] 📊 Database Info:
[19-Nov-2025 14:59:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:59:11 UTC]    Books columns count: 44
[19-Nov-2025 14:59:11 UTC]    Categories columns count: 7
[19-Nov-2025 14:59:11 UTC]    Language field in books: YES
[19-Nov-2025 14:59:11 UTC]    Format field in books: YES
[19-Nov-2025 14:59:11 UTC]    Description field in categories: YES
[19-Nov-2025 14:59:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:59:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:59:11 UTC]    Is_active field in books: YES
[19-Nov-2025 14:59:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:59:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:59:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:59:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:59:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:59:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 14:59:11 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 14:59:11 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 14:59:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 14:59:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 14:59:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 14:59:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 14:59:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 14:59:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 14:59:11 UTC] 📊 Database Info:
[19-Nov-2025 14:59:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 14:59:11 UTC]    Books columns count: 44
[19-Nov-2025 14:59:11 UTC]    Categories columns count: 7
[19-Nov-2025 14:59:11 UTC]    Language field in books: YES
[19-Nov-2025 14:59:11 UTC]    Format field in books: YES
[19-Nov-2025 14:59:11 UTC]    Description field in categories: YES
[19-Nov-2025 14:59:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 14:59:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 14:59:11 UTC]    Is_active field in books: YES
[19-Nov-2025 14:59:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 14:59:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 14:59:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 14:59:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 14:59:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 14:59:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 14:59:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:11 UTC] 📊 Database Info:
[19-Nov-2025 15:38:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:11 UTC]    Books columns count: 44
[19-Nov-2025 15:38:11 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:11 UTC]    Language field in books: YES
[19-Nov-2025 15:38:11 UTC]    Format field in books: YES
[19-Nov-2025 15:38:11 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:11 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:11 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 15:38:11 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 15:38:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:11 UTC] 📊 Database Info:
[19-Nov-2025 15:38:11 UTC] 📊 Database Info:
[19-Nov-2025 15:38:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:11 UTC]    Books columns count: 44
[19-Nov-2025 15:38:11 UTC]    Books columns count: 44
[19-Nov-2025 15:38:11 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:11 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:11 UTC]    Language field in books: YES
[19-Nov-2025 15:38:11 UTC]    Language field in books: YES
[19-Nov-2025 15:38:11 UTC]    Format field in books: YES
[19-Nov-2025 15:38:11 UTC]    Format field in books: YES
[19-Nov-2025 15:38:11 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:11 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:11 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:11 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 15:38:11 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:11 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 15:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:22 UTC] 📊 Database Info:
[19-Nov-2025 15:38:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:22 UTC]    Books columns count: 44
[19-Nov-2025 15:38:22 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:22 UTC]    Language field in books: YES
[19-Nov-2025 15:38:22 UTC]    Format field in books: YES
[19-Nov-2025 15:38:22 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:22 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:22 UTC] 📊 Database Info:
[19-Nov-2025 15:38:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:22 UTC]    Books columns count: 44
[19-Nov-2025 15:38:22 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:22 UTC]    Language field in books: YES
[19-Nov-2025 15:38:22 UTC]    Format field in books: YES
[19-Nov-2025 15:38:22 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:22 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:32 UTC] 📊 Database Info:
[19-Nov-2025 15:38:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:32 UTC]    Books columns count: 44
[19-Nov-2025 15:38:32 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:32 UTC]    Language field in books: YES
[19-Nov-2025 15:38:32 UTC]    Format field in books: YES
[19-Nov-2025 15:38:32 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:32 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:32 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 15:38:32 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 15:38:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:32 UTC] 📊 Database Info:
[19-Nov-2025 15:38:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:32 UTC]    Books columns count: 44
[19-Nov-2025 15:38:32 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:32 UTC]    Language field in books: YES
[19-Nov-2025 15:38:32 UTC]    Format field in books: YES
[19-Nov-2025 15:38:32 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:32 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:32 UTC] 📊 Database Info:
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:32 UTC]    Books columns count: 44
[19-Nov-2025 15:38:32 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:32 UTC]    Language field in books: YES
[19-Nov-2025 15:38:32 UTC]    Format field in books: YES
[19-Nov-2025 15:38:32 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:32 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:32 UTC] 📊 Database Info:
[19-Nov-2025 15:38:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:32 UTC]    Books columns count: 44
[19-Nov-2025 15:38:32 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:32 UTC]    Language field in books: YES
[19-Nov-2025 15:38:32 UTC]    Format field in books: YES
[19-Nov-2025 15:38:32 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:32 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:32 UTC] 📊 Database Info:
[19-Nov-2025 15:38:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:32 UTC]    Books columns count: 44
[19-Nov-2025 15:38:32 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:32 UTC]    Language field in books: YES
[19-Nov-2025 15:38:32 UTC]    Format field in books: YES
[19-Nov-2025 15:38:32 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:32 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:32 UTC] 📊 Database Info:
[19-Nov-2025 15:38:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:32 UTC]    Books columns count: 44
[19-Nov-2025 15:38:32 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:32 UTC]    Language field in books: YES
[19-Nov-2025 15:38:32 UTC]    Format field in books: YES
[19-Nov-2025 15:38:32 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:32 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:32 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 15:38:32 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 15:38:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:34 UTC] 📊 Database Info:
[19-Nov-2025 15:38:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:34 UTC]    Books columns count: 44
[19-Nov-2025 15:38:34 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:34 UTC]    Language field in books: YES
[19-Nov-2025 15:38:34 UTC]    Format field in books: YES
[19-Nov-2025 15:38:34 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:34 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:54 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:54 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:54 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:54 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:54 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:54 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:54 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:54 UTC] 📊 Database Info:
[19-Nov-2025 15:38:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:54 UTC]    Books columns count: 44
[19-Nov-2025 15:38:54 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:54 UTC]    Language field in books: YES
[19-Nov-2025 15:38:54 UTC]    Format field in books: YES
[19-Nov-2025 15:38:54 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:54 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:54 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:54 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:54 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:54 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:54 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:54 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:54 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:54 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 15:38:54 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 15:38:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:54 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:54 UTC] 📊 Database Info:
[19-Nov-2025 15:38:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:54 UTC]    Books columns count: 44
[19-Nov-2025 15:38:54 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:54 UTC]    Language field in books: YES
[19-Nov-2025 15:38:54 UTC]    Format field in books: YES
[19-Nov-2025 15:38:54 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:54 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:54 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:54 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:54 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:54 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:54 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:54 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:54 UTC] 📊 Database Info:
[19-Nov-2025 15:38:54 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:54 UTC]    Books columns count: 44
[19-Nov-2025 15:38:54 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:54 UTC]    Language field in books: YES
[19-Nov-2025 15:38:54 UTC]    Format field in books: YES
[19-Nov-2025 15:38:54 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:54 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:54 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:54 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:54 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:54 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:54 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:54 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:54 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:54 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:57 UTC] 📊 Database Info:
[19-Nov-2025 15:38:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:57 UTC]    Books columns count: 44
[19-Nov-2025 15:38:57 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:57 UTC]    Language field in books: YES
[19-Nov-2025 15:38:57 UTC]    Format field in books: YES
[19-Nov-2025 15:38:57 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:57 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:57 UTC] 📊 Database Info:
[19-Nov-2025 15:38:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:57 UTC]    Books columns count: 44
[19-Nov-2025 15:38:57 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:57 UTC]    Language field in books: YES
[19-Nov-2025 15:38:57 UTC]    Format field in books: YES
[19-Nov-2025 15:38:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:57 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:57 UTC] 📊 Database Info:
[19-Nov-2025 15:38:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:57 UTC]    Books columns count: 44
[19-Nov-2025 15:38:57 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:57 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:57 UTC]    Language field in books: YES
[19-Nov-2025 15:38:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:57 UTC]    Format field in books: YES
[19-Nov-2025 15:38:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:57 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:57 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:38:57 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 15:38:57 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 15:38:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:38:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:38:58 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:38:58 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:38:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:38:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:38:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:38:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:38:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:38:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:38:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:38:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:38:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:38:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:38:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:38:58 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:38:58 UTC] 📊 Database Info:
[19-Nov-2025 15:38:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:38:58 UTC]    Books columns count: 44
[19-Nov-2025 15:38:58 UTC]    Categories columns count: 7
[19-Nov-2025 15:38:58 UTC]    Language field in books: YES
[19-Nov-2025 15:38:58 UTC]    Format field in books: YES
[19-Nov-2025 15:38:58 UTC]    Description field in categories: YES
[19-Nov-2025 15:38:58 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:38:58 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:38:58 UTC]    Is_active field in books: YES
[19-Nov-2025 15:38:58 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:38:58 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:38:58 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:38:58 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:38:58 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:38:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:39:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:39:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:39:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:39:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:39:08 UTC] 📊 Database Info:
[19-Nov-2025 15:39:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:39:08 UTC]    Books columns count: 44
[19-Nov-2025 15:39:08 UTC]    Categories columns count: 7
[19-Nov-2025 15:39:08 UTC]    Language field in books: YES
[19-Nov-2025 15:39:08 UTC]    Format field in books: YES
[19-Nov-2025 15:39:08 UTC]    Description field in categories: YES
[19-Nov-2025 15:39:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:39:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:39:08 UTC]    Is_active field in books: YES
[19-Nov-2025 15:39:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:39:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:39:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:39:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:39:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:39:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:39:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:39:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:39:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:39:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:39:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:39:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:39:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:39:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:39:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:39:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:39:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:39:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:39:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:39:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:39:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:39:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:39:09 UTC] 📊 Database Info:
[19-Nov-2025 15:39:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:39:09 UTC]    Books columns count: 44
[19-Nov-2025 15:39:09 UTC]    Categories columns count: 7
[19-Nov-2025 15:39:09 UTC]    Language field in books: YES
[19-Nov-2025 15:39:09 UTC]    Format field in books: YES
[19-Nov-2025 15:39:09 UTC]    Description field in categories: YES
[19-Nov-2025 15:39:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:39:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:39:09 UTC]    Is_active field in books: YES
[19-Nov-2025 15:39:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:39:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:39:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:39:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:39:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:39:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:39:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:39:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:39:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:39:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:39:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:39:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:39:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:39:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:39:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:39:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:39:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:39:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:39:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:39:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:39:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:39:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:39:15 UTC] 📊 Database Info:
[19-Nov-2025 15:39:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:39:15 UTC]    Books columns count: 44
[19-Nov-2025 15:39:15 UTC]    Categories columns count: 7
[19-Nov-2025 15:39:15 UTC]    Language field in books: YES
[19-Nov-2025 15:39:15 UTC]    Format field in books: YES
[19-Nov-2025 15:39:15 UTC]    Description field in categories: YES
[19-Nov-2025 15:39:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:39:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:39:15 UTC]    Is_active field in books: YES
[19-Nov-2025 15:39:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:39:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:39:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:39:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:39:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:39:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:39:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:39:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:20 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:39:20 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:39:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:39:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:39:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:20 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:39:20 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:39:20 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:39:20 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:39:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:20 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:39:20 UTC] 📊 Database Info:
[19-Nov-2025 15:39:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:39:20 UTC]    Books columns count: 44
[19-Nov-2025 15:39:20 UTC]    Categories columns count: 7
[19-Nov-2025 15:39:20 UTC]    Language field in books: YES
[19-Nov-2025 15:39:20 UTC]    Format field in books: YES
[19-Nov-2025 15:39:20 UTC]    Description field in categories: YES
[19-Nov-2025 15:39:20 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:39:20 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:39:20 UTC]    Is_active field in books: YES
[19-Nov-2025 15:39:20 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:39:20 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:39:20 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:39:20 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:39:20 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:39:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:39:20 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 15:39:20 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 15:39:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:20 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:39:20 UTC] 📊 Database Info:
[19-Nov-2025 15:39:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:39:20 UTC]    Books columns count: 44
[19-Nov-2025 15:39:20 UTC]    Categories columns count: 7
[19-Nov-2025 15:39:20 UTC]    Language field in books: YES
[19-Nov-2025 15:39:20 UTC]    Format field in books: YES
[19-Nov-2025 15:39:20 UTC]    Description field in categories: YES
[19-Nov-2025 15:39:20 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:39:20 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:39:20 UTC]    Is_active field in books: YES
[19-Nov-2025 15:39:20 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:39:20 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:39:20 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:39:20 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:39:20 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:39:20 UTC] 📊 Database Info:
[19-Nov-2025 15:39:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:39:20 UTC]    Books columns count: 44
[19-Nov-2025 15:39:20 UTC]    Categories columns count: 7
[19-Nov-2025 15:39:20 UTC]    Language field in books: YES
[19-Nov-2025 15:39:20 UTC]    Format field in books: YES
[19-Nov-2025 15:39:20 UTC]    Description field in categories: YES
[19-Nov-2025 15:39:20 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:39:20 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:39:20 UTC]    Is_active field in books: YES
[19-Nov-2025 15:39:20 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:39:20 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:39:20 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:39:20 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:39:20 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:39:20 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:39:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:39:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:39:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:39:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:39:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:21 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:39:21 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:39:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:21 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:39:21 UTC] 📊 Database Info:
[19-Nov-2025 15:39:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:39:21 UTC]    Books columns count: 44
[19-Nov-2025 15:39:21 UTC]    Categories columns count: 7
[19-Nov-2025 15:39:21 UTC]    Language field in books: YES
[19-Nov-2025 15:39:21 UTC]    Format field in books: YES
[19-Nov-2025 15:39:21 UTC]    Description field in categories: YES
[19-Nov-2025 15:39:21 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:39:21 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:39:21 UTC]    Is_active field in books: YES
[19-Nov-2025 15:39:21 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:39:21 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:39:21 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:39:21 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:39:21 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:39:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:39:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:39:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:39:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:39:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:39:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:39:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:39:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:39:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:39:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:39:33 UTC] 📊 Database Info:
[19-Nov-2025 15:39:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:39:33 UTC]    Books columns count: 44
[19-Nov-2025 15:39:33 UTC]    Categories columns count: 7
[19-Nov-2025 15:39:33 UTC]    Language field in books: YES
[19-Nov-2025 15:39:33 UTC]    Format field in books: YES
[19-Nov-2025 15:39:33 UTC]    Description field in categories: YES
[19-Nov-2025 15:39:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:39:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:39:33 UTC]    Is_active field in books: YES
[19-Nov-2025 15:39:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:39:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:39:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:39:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:39:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:39:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:39:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:39:33 UTC] 📊 Database Info:
[19-Nov-2025 15:39:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:39:33 UTC]    Books columns count: 44
[19-Nov-2025 15:39:33 UTC]    Categories columns count: 7
[19-Nov-2025 15:39:33 UTC]    Language field in books: YES
[19-Nov-2025 15:39:33 UTC]    Format field in books: YES
[19-Nov-2025 15:39:33 UTC]    Description field in categories: YES
[19-Nov-2025 15:39:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:39:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:39:33 UTC]    Is_active field in books: YES
[19-Nov-2025 15:39:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:39:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:39:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:39:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:39:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:39:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:39:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:39:33 UTC] 📊 Database Info:
[19-Nov-2025 15:39:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:39:33 UTC]    Books columns count: 44
[19-Nov-2025 15:39:33 UTC]    Categories columns count: 7
[19-Nov-2025 15:39:33 UTC]    Language field in books: YES
[19-Nov-2025 15:39:33 UTC]    Format field in books: YES
[19-Nov-2025 15:39:33 UTC]    Description field in categories: YES
[19-Nov-2025 15:39:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:39:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:39:33 UTC]    Is_active field in books: YES
[19-Nov-2025 15:39:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:39:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:39:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:39:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:39:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:39:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:39:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:39:33 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 15:39:33 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 15:39:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:39:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:39:35 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:39:35 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:39:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:39:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:39:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:39:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:39:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:39:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:39:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:39:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:39:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:39:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:39:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:39:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:39:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:39:35 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:39:35 UTC] 📊 Database Info:
[19-Nov-2025 15:39:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:39:35 UTC]    Books columns count: 44
[19-Nov-2025 15:39:35 UTC]    Categories columns count: 7
[19-Nov-2025 15:39:35 UTC]    Language field in books: YES
[19-Nov-2025 15:39:35 UTC]    Format field in books: YES
[19-Nov-2025 15:39:35 UTC]    Description field in categories: YES
[19-Nov-2025 15:39:35 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:39:35 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:39:35 UTC]    Is_active field in books: YES
[19-Nov-2025 15:39:35 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:39:35 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:39:35 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:39:35 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:39:35 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:39:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:39:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:39:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:39:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:39:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:39:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:39:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:39:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:39:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:39:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:39:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:39:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:39:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:40:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:40:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:40:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:40:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:40:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:40:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:40:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:40:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:40:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:40:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:40:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:40:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:40:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:40:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:40:17 UTC] 📊 Database Info:
[19-Nov-2025 15:40:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:40:17 UTC]    Books columns count: 44
[19-Nov-2025 15:40:17 UTC]    Categories columns count: 7
[19-Nov-2025 15:40:17 UTC]    Language field in books: YES
[19-Nov-2025 15:40:17 UTC]    Format field in books: YES
[19-Nov-2025 15:40:17 UTC]    Description field in categories: YES
[19-Nov-2025 15:40:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:40:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:40:17 UTC]    Is_active field in books: YES
[19-Nov-2025 15:40:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:40:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:40:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:40:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:40:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:40:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:40:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:40:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:40:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:40:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:40:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:40:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:40:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:40:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:40:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:40:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:40:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:40:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:40:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:40:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:40:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:40:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:40:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:40:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:40:17 UTC] 📊 Database Info:
[19-Nov-2025 15:40:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:40:17 UTC]    Books columns count: 44
[19-Nov-2025 15:40:17 UTC]    Categories columns count: 7
[19-Nov-2025 15:40:17 UTC]    Language field in books: YES
[19-Nov-2025 15:40:17 UTC]    Format field in books: YES
[19-Nov-2025 15:40:17 UTC]    Description field in categories: YES
[19-Nov-2025 15:40:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:40:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:40:17 UTC]    Is_active field in books: YES
[19-Nov-2025 15:40:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:40:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:40:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:40:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:40:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:40:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:40:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:40:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:40:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:40:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:40:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:40:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:40:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:40:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:40:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:40:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:40:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:40:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:40:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:40:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:40:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:40:24 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:40:24 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:40:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:40:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:40:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:40:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:40:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:40:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:40:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:40:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:40:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:40:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:40:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:40:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:40:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:40:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:40:25 UTC] 📊 Database Info:
[19-Nov-2025 15:40:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:40:25 UTC]    Books columns count: 44
[19-Nov-2025 15:40:25 UTC]    Categories columns count: 7
[19-Nov-2025 15:40:25 UTC]    Language field in books: YES
[19-Nov-2025 15:40:25 UTC]    Format field in books: YES
[19-Nov-2025 15:40:25 UTC]    Description field in categories: YES
[19-Nov-2025 15:40:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:40:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:40:25 UTC]    Is_active field in books: YES
[19-Nov-2025 15:40:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:40:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:40:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:40:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:40:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:40:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:40:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:40:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:40:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:40:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:40:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:40:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:40:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:40:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:40:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:40:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:40:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:40:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:42:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:42:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:42:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:42:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:42:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:42:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:42:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:42:49 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:42:49 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:42:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:42:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:42:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:42:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:42:49 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:42:49 UTC] 📊 Database Info:
[19-Nov-2025 15:42:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:42:49 UTC]    Books columns count: 44
[19-Nov-2025 15:42:49 UTC]    Categories columns count: 7
[19-Nov-2025 15:42:49 UTC]    Language field in books: YES
[19-Nov-2025 15:42:49 UTC]    Format field in books: YES
[19-Nov-2025 15:42:49 UTC]    Description field in categories: YES
[19-Nov-2025 15:42:49 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:42:49 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:42:49 UTC]    Is_active field in books: YES
[19-Nov-2025 15:42:49 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:42:49 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:42:49 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:42:49 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:42:49 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:42:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:42:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:42:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:42:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:42:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:42:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:42:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:42:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:42:49 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:42:49 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:42:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:42:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:42:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:42:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:42:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:42:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:42:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:42:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:42:49 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:42:49 UTC] 📊 Database Info:
[19-Nov-2025 15:42:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:42:49 UTC]    Books columns count: 44
[19-Nov-2025 15:42:49 UTC]    Categories columns count: 7
[19-Nov-2025 15:42:49 UTC]    Language field in books: YES
[19-Nov-2025 15:42:49 UTC]    Format field in books: YES
[19-Nov-2025 15:42:49 UTC]    Description field in categories: YES
[19-Nov-2025 15:42:49 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:42:49 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:42:49 UTC]    Is_active field in books: YES
[19-Nov-2025 15:42:49 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:42:49 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:42:49 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:42:49 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:42:49 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:42:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:42:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:54:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:54:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:54:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:54:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:54:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:54:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:54:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:54:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:54:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:54:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:54:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:54:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:54:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:54:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:54:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:54:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:54:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:54:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:54:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:54:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:54:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:54:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:54:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:54:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:54:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:54:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:54:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:54:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:54:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:54:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:54:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:54:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:54:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:54:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:54:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:54:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:54:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:54:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:54:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:54:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:54:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:54:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:54:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:54:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:54:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:54:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:54:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:54:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:54:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:54:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:54:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:54:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:54:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:54:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:54:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:54:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:54:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:54:48 UTC] 📊 Database Info:
[19-Nov-2025 15:54:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:54:48 UTC]    Books columns count: 44
[19-Nov-2025 15:54:48 UTC]    Categories columns count: 7
[19-Nov-2025 15:54:48 UTC]    Language field in books: YES
[19-Nov-2025 15:54:48 UTC]    Format field in books: YES
[19-Nov-2025 15:54:48 UTC]    Description field in categories: YES
[19-Nov-2025 15:54:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:54:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:54:48 UTC]    Is_active field in books: YES
[19-Nov-2025 15:54:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:54:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:54:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:54:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:54:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:54:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:54:48 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 15:54:48 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 15:54:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:54:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:54:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:54:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:54:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:54:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:54:48 UTC] 📊 Database Info:
[19-Nov-2025 15:54:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:54:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:54:48 UTC]    Books columns count: 44
[19-Nov-2025 15:54:48 UTC] 📊 Database Info:
[19-Nov-2025 15:54:48 UTC]    Categories columns count: 7
[19-Nov-2025 15:54:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:54:48 UTC]    Books columns count: 44
[19-Nov-2025 15:54:48 UTC]    Categories columns count: 7
[19-Nov-2025 15:54:48 UTC]    Language field in books: YES
[19-Nov-2025 15:54:48 UTC]    Format field in books: YES
[19-Nov-2025 15:54:48 UTC]    Language field in books: YES
[19-Nov-2025 15:54:48 UTC]    Description field in categories: YES
[19-Nov-2025 15:54:48 UTC]    Format field in books: YES
[19-Nov-2025 15:54:48 UTC]    Description field in categories: YES
[19-Nov-2025 15:54:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:54:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:54:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:54:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:54:48 UTC]    Is_active field in books: YES
[19-Nov-2025 15:54:48 UTC]    Is_active field in books: YES
[19-Nov-2025 15:54:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:54:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:54:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:54:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:54:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:54:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:54:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:54:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:54:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:54:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:54:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:54:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:54:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 15:54:48 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 15:54:48 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 15:55:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:55:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:55:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:55:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:55:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:55:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:55:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:55:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:55:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:55:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:55:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:55:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:55:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:55:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:55:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:55:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:55:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:55:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:55:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:55:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:55:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:55:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:55:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:55:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:55:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 15:55:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:55:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:55:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:55:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:55:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:55:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:55:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:55:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:55:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:55:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 15:55:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 15:55:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:55:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 15:55:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:55:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 15:55:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:55:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 15:55:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:55:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:55:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:55:17 UTC] 📊 Database Info:
[19-Nov-2025 15:55:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:55:17 UTC]    Books columns count: 44
[19-Nov-2025 15:55:17 UTC]    Categories columns count: 7
[19-Nov-2025 15:55:17 UTC]    Language field in books: YES
[19-Nov-2025 15:55:17 UTC]    Format field in books: YES
[19-Nov-2025 15:55:17 UTC]    Description field in categories: YES
[19-Nov-2025 15:55:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:55:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:55:17 UTC]    Is_active field in books: YES
[19-Nov-2025 15:55:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:55:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:55:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:55:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:55:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:55:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:55:17 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 15:55:17 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 15:55:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:55:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:55:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 15:55:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:55:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 15:55:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:55:17 UTC] 📊 Database Info:
[19-Nov-2025 15:55:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:55:17 UTC]    Books columns count: 44
[19-Nov-2025 15:55:17 UTC]    Categories columns count: 7
[19-Nov-2025 15:55:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 15:55:17 UTC] 📊 Database Info:
[19-Nov-2025 15:55:17 UTC]    Language field in books: YES
[19-Nov-2025 15:55:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 15:55:17 UTC]    Format field in books: YES
[19-Nov-2025 15:55:17 UTC]    Books columns count: 44
[19-Nov-2025 15:55:17 UTC]    Description field in categories: YES
[19-Nov-2025 15:55:17 UTC]    Categories columns count: 7
[19-Nov-2025 15:55:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:55:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:55:17 UTC]    Language field in books: YES
[19-Nov-2025 15:55:17 UTC]    Is_active field in books: YES
[19-Nov-2025 15:55:17 UTC]    Format field in books: YES
[19-Nov-2025 15:55:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:55:17 UTC]    Description field in categories: YES
[19-Nov-2025 15:55:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:55:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:55:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:55:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 15:55:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 15:55:17 UTC]    Is_active field in books: YES
[19-Nov-2025 15:55:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 15:55:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 15:55:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 15:55:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 15:55:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:55:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:55:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 15:55:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:55:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 15:55:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 15:55:17 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 15:55:17 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 16:03:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:03:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:03:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:03:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:03:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:03:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:03:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:03:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:03:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:03:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:03:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:03:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:03:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:03:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:03:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:03:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:03:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:03:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:03:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:03:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:03:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:03:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:03:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:03:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:03:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:03:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:03:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:03:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:03:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:03:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:03:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:03:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:03:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:03:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:03:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:03:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:03:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:03:46 UTC] 📊 Database Info:
[19-Nov-2025 16:03:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:03:46 UTC]    Books columns count: 44
[19-Nov-2025 16:03:46 UTC]    Categories columns count: 7
[19-Nov-2025 16:03:46 UTC]    Language field in books: YES
[19-Nov-2025 16:03:46 UTC]    Format field in books: YES
[19-Nov-2025 16:03:46 UTC]    Description field in categories: YES
[19-Nov-2025 16:03:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:03:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:03:46 UTC]    Is_active field in books: YES
[19-Nov-2025 16:03:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:03:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:03:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:03:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:03:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:03:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:03:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:03:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:03:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:03:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:03:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:03:47 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:03:47 UTC] 📊 Database Info:
[19-Nov-2025 16:03:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:03:47 UTC]    Books columns count: 44
[19-Nov-2025 16:03:47 UTC]    Categories columns count: 7
[19-Nov-2025 16:03:47 UTC]    Language field in books: YES
[19-Nov-2025 16:03:47 UTC]    Format field in books: YES
[19-Nov-2025 16:03:47 UTC]    Description field in categories: YES
[19-Nov-2025 16:03:47 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:03:47 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:03:47 UTC]    Is_active field in books: YES
[19-Nov-2025 16:03:47 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:03:47 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:03:47 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:03:47 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:03:47 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:03:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:03:47 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 16:03:47 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 16:03:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:03:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:03:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:03:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:03:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:03:47 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:03:47 UTC] 📊 Database Info:
[19-Nov-2025 16:03:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:03:47 UTC]    Books columns count: 44
[19-Nov-2025 16:03:47 UTC]    Categories columns count: 7
[19-Nov-2025 16:03:47 UTC]    Language field in books: YES
[19-Nov-2025 16:03:47 UTC]    Format field in books: YES
[19-Nov-2025 16:03:47 UTC]    Description field in categories: YES
[19-Nov-2025 16:03:47 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:03:47 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:03:47 UTC]    Is_active field in books: YES
[19-Nov-2025 16:03:47 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:03:47 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:03:47 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:03:47 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:03:47 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:03:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:03:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:03:47 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 16:03:47 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 16:03:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:03:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:03:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:03:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:03:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:03:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:03:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:03:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:03:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:03:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:03:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:03:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:03:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:03:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:03:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:03:58 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:03:58 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:03:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:03:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:03:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:03:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:03:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:03:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:03:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:03:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:03:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:03:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:03:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:03:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:03:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:03:58 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:03:58 UTC] 📊 Database Info:
[19-Nov-2025 16:03:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:03:58 UTC]    Books columns count: 44
[19-Nov-2025 16:03:58 UTC]    Categories columns count: 7
[19-Nov-2025 16:03:58 UTC]    Language field in books: YES
[19-Nov-2025 16:03:58 UTC]    Format field in books: YES
[19-Nov-2025 16:03:58 UTC]    Description field in categories: YES
[19-Nov-2025 16:03:58 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:03:58 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:03:58 UTC]    Is_active field in books: YES
[19-Nov-2025 16:03:58 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:03:58 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:03:58 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:03:58 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:03:58 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:03:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:03:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:03:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:03:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:03:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:03:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:03:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:03:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:03:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:03:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:03:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:03:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:03:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:04:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:04:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:00 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:04:00 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:04:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:00 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:04:00 UTC] 📊 Database Info:
[19-Nov-2025 16:04:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:04:00 UTC]    Books columns count: 44
[19-Nov-2025 16:04:00 UTC]    Categories columns count: 7
[19-Nov-2025 16:04:00 UTC]    Language field in books: YES
[19-Nov-2025 16:04:00 UTC]    Format field in books: YES
[19-Nov-2025 16:04:00 UTC]    Description field in categories: YES
[19-Nov-2025 16:04:00 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:04:00 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:04:00 UTC]    Is_active field in books: YES
[19-Nov-2025 16:04:00 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:04:00 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:04:00 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:04:00 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:04:00 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:04:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:04:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:04:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:04:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:04:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:04:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:04:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:04:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:04:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:04:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:04:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:04:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:04:08 UTC] 📊 Database Info:
[19-Nov-2025 16:04:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:04:08 UTC]    Books columns count: 44
[19-Nov-2025 16:04:08 UTC]    Categories columns count: 7
[19-Nov-2025 16:04:08 UTC]    Language field in books: YES
[19-Nov-2025 16:04:08 UTC]    Format field in books: YES
[19-Nov-2025 16:04:08 UTC]    Description field in categories: YES
[19-Nov-2025 16:04:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:04:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:04:08 UTC]    Is_active field in books: YES
[19-Nov-2025 16:04:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:04:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:04:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:04:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:04:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:04:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:04:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:04:08 UTC] 📊 Database Info:
[19-Nov-2025 16:04:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:04:08 UTC]    Books columns count: 44
[19-Nov-2025 16:04:08 UTC]    Categories columns count: 7
[19-Nov-2025 16:04:08 UTC]    Language field in books: YES
[19-Nov-2025 16:04:08 UTC]    Format field in books: YES
[19-Nov-2025 16:04:08 UTC]    Description field in categories: YES
[19-Nov-2025 16:04:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:04:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:04:08 UTC]    Is_active field in books: YES
[19-Nov-2025 16:04:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:04:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:04:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:04:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:04:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:04:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:04:08 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:04:08 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:04:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:04:08 UTC] 📊 Database Info:
[19-Nov-2025 16:04:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:04:08 UTC]    Books columns count: 44
[19-Nov-2025 16:04:08 UTC]    Categories columns count: 7
[19-Nov-2025 16:04:08 UTC]    Language field in books: YES
[19-Nov-2025 16:04:08 UTC]    Format field in books: YES
[19-Nov-2025 16:04:08 UTC]    Description field in categories: YES
[19-Nov-2025 16:04:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:04:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:04:08 UTC]    Is_active field in books: YES
[19-Nov-2025 16:04:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:04:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:04:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:04:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:04:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:04:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:04:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:04:08 UTC] 📊 Database Info:
[19-Nov-2025 16:04:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:04:08 UTC]    Books columns count: 44
[19-Nov-2025 16:04:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:08 UTC]    Categories columns count: 7
[19-Nov-2025 16:04:08 UTC]    Language field in books: YES
[19-Nov-2025 16:04:08 UTC]    Format field in books: YES
[19-Nov-2025 16:04:08 UTC]    Description field in categories: YES
[19-Nov-2025 16:04:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:04:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:04:08 UTC]    Is_active field in books: YES
[19-Nov-2025 16:04:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:04:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:04:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:04:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:04:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:04:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:04:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:04:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:04:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:04:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:04:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:04:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:04:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:04:08 UTC] 📊 Database Info:
[19-Nov-2025 16:04:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:04:08 UTC]    Books columns count: 44
[19-Nov-2025 16:04:08 UTC]    Categories columns count: 7
[19-Nov-2025 16:04:08 UTC]    Language field in books: YES
[19-Nov-2025 16:04:08 UTC]    Format field in books: YES
[19-Nov-2025 16:04:08 UTC]    Description field in categories: YES
[19-Nov-2025 16:04:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:04:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:04:08 UTC]    Is_active field in books: YES
[19-Nov-2025 16:04:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:04:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:04:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:04:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:04:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:04:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:04:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:04:08 UTC] 📊 Database Info:
[19-Nov-2025 16:04:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:04:08 UTC]    Books columns count: 44
[19-Nov-2025 16:04:08 UTC]    Categories columns count: 7
[19-Nov-2025 16:04:08 UTC]    Language field in books: YES
[19-Nov-2025 16:04:08 UTC]    Format field in books: YES
[19-Nov-2025 16:04:08 UTC]    Description field in categories: YES
[19-Nov-2025 16:04:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:04:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:04:08 UTC]    Is_active field in books: YES
[19-Nov-2025 16:04:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:04:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:04:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:04:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:04:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:04:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:04:08 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:04:08 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:04:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:04:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:04:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:04:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:04:09 UTC] 📊 Database Info:
[19-Nov-2025 16:04:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:04:09 UTC]    Books columns count: 44
[19-Nov-2025 16:04:09 UTC]    Categories columns count: 7
[19-Nov-2025 16:04:09 UTC]    Language field in books: YES
[19-Nov-2025 16:04:09 UTC]    Format field in books: YES
[19-Nov-2025 16:04:09 UTC]    Description field in categories: YES
[19-Nov-2025 16:04:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:04:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:04:09 UTC]    Is_active field in books: YES
[19-Nov-2025 16:04:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:04:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:04:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:04:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:04:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:04:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:04:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:04:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:04:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:04:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:04:11 UTC] 📊 Database Info:
[19-Nov-2025 16:04:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:04:11 UTC]    Books columns count: 44
[19-Nov-2025 16:04:11 UTC]    Categories columns count: 7
[19-Nov-2025 16:04:11 UTC]    Language field in books: YES
[19-Nov-2025 16:04:11 UTC]    Format field in books: YES
[19-Nov-2025 16:04:11 UTC]    Description field in categories: YES
[19-Nov-2025 16:04:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:04:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:04:11 UTC]    Is_active field in books: YES
[19-Nov-2025 16:04:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:04:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:04:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:04:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:04:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:04:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:04:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:04:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:04:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:04:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:04:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:04:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:04:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:04:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:04:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:04:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:04:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:04:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:04:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:04:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:35 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:04:35 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:04:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:35 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:04:35 UTC] 📊 Database Info:
[19-Nov-2025 16:04:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:04:35 UTC]    Books columns count: 44
[19-Nov-2025 16:04:35 UTC]    Categories columns count: 7
[19-Nov-2025 16:04:35 UTC]    Language field in books: YES
[19-Nov-2025 16:04:35 UTC]    Format field in books: YES
[19-Nov-2025 16:04:35 UTC]    Description field in categories: YES
[19-Nov-2025 16:04:35 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:04:35 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:04:35 UTC]    Is_active field in books: YES
[19-Nov-2025 16:04:35 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:04:35 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:04:35 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:04:35 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:04:35 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:04:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:04:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:04:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:04:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:04:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:04:38 UTC] 📊 Database Info:
[19-Nov-2025 16:04:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:04:38 UTC]    Books columns count: 44
[19-Nov-2025 16:04:38 UTC]    Categories columns count: 7
[19-Nov-2025 16:04:38 UTC]    Language field in books: YES
[19-Nov-2025 16:04:38 UTC]    Format field in books: YES
[19-Nov-2025 16:04:38 UTC]    Description field in categories: YES
[19-Nov-2025 16:04:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:04:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:04:38 UTC]    Is_active field in books: YES
[19-Nov-2025 16:04:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:04:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:04:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:04:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:04:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:04:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:04:44 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:44 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:44 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:44 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:44 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:44 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:44 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:44 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:44 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:44 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:44 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:44 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:04:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:04:44 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:04:44 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:04:44 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:04:44 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:04:44 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:04:44 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:04:44 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:04:44 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:04:44 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:04:44 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:04:44 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:04:44 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:04:44 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:04:44 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:04:44 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:04:44 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:04:44 UTC] 📊 Database Info:
[19-Nov-2025 16:04:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:04:44 UTC]    Books columns count: 44
[19-Nov-2025 16:04:44 UTC]    Categories columns count: 7
[19-Nov-2025 16:04:44 UTC]    Language field in books: YES
[19-Nov-2025 16:04:44 UTC]    Format field in books: YES
[19-Nov-2025 16:04:44 UTC]    Description field in categories: YES
[19-Nov-2025 16:04:44 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:04:44 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:04:44 UTC]    Is_active field in books: YES
[19-Nov-2025 16:04:44 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:04:44 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:04:44 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:04:44 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:04:45 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:04:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:05:19 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:05:19 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:05:19 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:05:19 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:05:19 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:05:19 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:05:19 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:05:19 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:05:19 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:05:19 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:05:19 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:05:19 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:05:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:05:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:05:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:05:19 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:05:19 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:05:19 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:05:19 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:05:19 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:05:19 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:05:19 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:05:19 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:05:19 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:05:19 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:05:19 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:05:19 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:05:19 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:05:19 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:05:19 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:05:19 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:05:19 UTC] 📊 Database Info:
[19-Nov-2025 16:05:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:05:19 UTC]    Books columns count: 44
[19-Nov-2025 16:05:19 UTC]    Categories columns count: 7
[19-Nov-2025 16:05:19 UTC]    Language field in books: YES
[19-Nov-2025 16:05:19 UTC]    Format field in books: YES
[19-Nov-2025 16:05:19 UTC]    Description field in categories: YES
[19-Nov-2025 16:05:19 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:05:19 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:05:19 UTC]    Is_active field in books: YES
[19-Nov-2025 16:05:19 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:05:19 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:05:19 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:05:19 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:05:19 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:05:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:05:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:05:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:05:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:05:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:05:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:05:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:05:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:05:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:05:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:05:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:05:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:05:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:05:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:05:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:05:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:05:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:05:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:05:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:05:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:05:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:05:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:05:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:05:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:05:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:05:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:05:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:05:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:05:21 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:05:21 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:05:21 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:05:21 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:05:21 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:05:21 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:05:21 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:05:21 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:05:21 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:05:21 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:05:21 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:05:21 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:05:21 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:05:21 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:05:21 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:05:21 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:05:21 UTC] 📊 Database Info:
[19-Nov-2025 16:05:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:05:21 UTC]    Books columns count: 44
[19-Nov-2025 16:05:21 UTC]    Categories columns count: 7
[19-Nov-2025 16:05:21 UTC]    Language field in books: YES
[19-Nov-2025 16:05:21 UTC]    Format field in books: YES
[19-Nov-2025 16:05:21 UTC]    Description field in categories: YES
[19-Nov-2025 16:05:21 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:05:21 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:05:21 UTC]    Is_active field in books: YES
[19-Nov-2025 16:05:21 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:05:21 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:05:21 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:05:21 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:05:21 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:05:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:05:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:05:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:05:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:05:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:05:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:05:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:05:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:05:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:05:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:05:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:05:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:05:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:05:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:05:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:05:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:05:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:05:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:05:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:05:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:05:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:05:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:05:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:05:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:05:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:05:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:05:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:05:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:05:30 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:05:30 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:05:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:05:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:05:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:05:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:05:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:05:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:05:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:05:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:05:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:05:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:05:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:05:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:05:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:05:30 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:05:30 UTC] 📊 Database Info:
[19-Nov-2025 16:05:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:05:30 UTC]    Books columns count: 44
[19-Nov-2025 16:05:30 UTC]    Categories columns count: 7
[19-Nov-2025 16:05:30 UTC]    Language field in books: YES
[19-Nov-2025 16:05:30 UTC]    Format field in books: YES
[19-Nov-2025 16:05:30 UTC]    Description field in categories: YES
[19-Nov-2025 16:05:30 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:05:30 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:05:30 UTC]    Is_active field in books: YES
[19-Nov-2025 16:05:30 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:05:30 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:05:30 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:05:30 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:05:30 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:05:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:05:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:05:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:05:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:05:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:05:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:05:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:05:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:05:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:05:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:05:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:05:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:05:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:05:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:05:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:05:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:05:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:05:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:05:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:05:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:05:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:05:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:05:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:05:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:05:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:05:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:05:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:05:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:05:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:05:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:05:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:05:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:05:32 UTC] 📊 Database Info:
[19-Nov-2025 16:05:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:05:32 UTC]    Books columns count: 44
[19-Nov-2025 16:05:32 UTC]    Categories columns count: 7
[19-Nov-2025 16:05:32 UTC]    Language field in books: YES
[19-Nov-2025 16:05:32 UTC]    Format field in books: YES
[19-Nov-2025 16:05:32 UTC]    Description field in categories: YES
[19-Nov-2025 16:05:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:05:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:05:32 UTC]    Is_active field in books: YES
[19-Nov-2025 16:05:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:05:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:05:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:05:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:05:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:05:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:05:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:05:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:05:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:05:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:05:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:05:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:05:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:05:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:05:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:05:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:05:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:05:35 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:05:35 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:05:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:05:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:05:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:05:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:05:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:05:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:05:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:05:35 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:05:35 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:05:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:05:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:05:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:05:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:05:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:05:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:05:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:05:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:05:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:05:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:05:35 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:05:35 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:05:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:05:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:05:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:05:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:05:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:05:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:05:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:05:35 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:05:35 UTC] 📊 Database Info:
[19-Nov-2025 16:05:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:05:35 UTC]    Books columns count: 44
[19-Nov-2025 16:05:35 UTC]    Categories columns count: 7
[19-Nov-2025 16:05:35 UTC]    Language field in books: YES
[19-Nov-2025 16:05:35 UTC]    Format field in books: YES
[19-Nov-2025 16:05:35 UTC]    Description field in categories: YES
[19-Nov-2025 16:05:35 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:05:35 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:05:35 UTC]    Is_active field in books: YES
[19-Nov-2025 16:05:35 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:05:35 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:05:35 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:05:35 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:05:35 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:05:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:05:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:05:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:05:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:05:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:05:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:05:35 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:05:35 UTC] 📊 Database Info:
[19-Nov-2025 16:05:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:05:35 UTC]    Books columns count: 44
[19-Nov-2025 16:05:35 UTC]    Categories columns count: 7
[19-Nov-2025 16:05:35 UTC]    Language field in books: YES
[19-Nov-2025 16:05:35 UTC]    Format field in books: YES
[19-Nov-2025 16:05:35 UTC]    Description field in categories: YES
[19-Nov-2025 16:05:35 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:05:35 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:05:35 UTC]    Is_active field in books: YES
[19-Nov-2025 16:05:35 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:05:35 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:05:35 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:05:35 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:05:35 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:05:35 UTC] 📊 Database Info:
[19-Nov-2025 16:05:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:05:35 UTC]    Books columns count: 44
[19-Nov-2025 16:05:35 UTC]    Categories columns count: 7
[19-Nov-2025 16:05:35 UTC]    Language field in books: YES
[19-Nov-2025 16:05:35 UTC]    Format field in books: YES
[19-Nov-2025 16:05:35 UTC]    Description field in categories: YES
[19-Nov-2025 16:05:35 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:05:35 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:05:35 UTC]    Is_active field in books: YES
[19-Nov-2025 16:05:35 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:05:35 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:05:35 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:05:35 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:05:35 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:05:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:05:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:05:35 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:05:35 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:05:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:05:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:05:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:05:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:05:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:05:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:05:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:05:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:05:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:05:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:05:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:05:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:05:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:05:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:05:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:05:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:05:37 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:05:37 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:05:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:05:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:05:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:05:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:05:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:05:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:05:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:05:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:05:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:05:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:05:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:05:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:05:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:05:37 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:05:37 UTC] 📊 Database Info:
[19-Nov-2025 16:05:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:05:37 UTC]    Books columns count: 44
[19-Nov-2025 16:05:37 UTC]    Categories columns count: 7
[19-Nov-2025 16:05:37 UTC]    Language field in books: YES
[19-Nov-2025 16:05:37 UTC]    Format field in books: YES
[19-Nov-2025 16:05:37 UTC]    Description field in categories: YES
[19-Nov-2025 16:05:37 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:05:37 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:05:37 UTC]    Is_active field in books: YES
[19-Nov-2025 16:05:37 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:05:37 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:05:37 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:05:37 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:05:37 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:05:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:05:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:05:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:05:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:05:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:05:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:05:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:05:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:05:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:05:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:05:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:05:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:05:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:06:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:06:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:06:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:06:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:06:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:06:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:06:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:06:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:06:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:06:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:06:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:06:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:06:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:06:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:06:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:06:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:06:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:06:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:06:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:06:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:06:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:06:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:06:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:06:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:06:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:06:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:06:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:06:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:06:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:06:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:06:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:06:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:06:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:06:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:06:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:06:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:06:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:06:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:06:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:06:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:06:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:06:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:06:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:06:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:06:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:06:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:06:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:06:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:06:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:06:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:06:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:06:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:06:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:06:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:06:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:06:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:06:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:06:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:06:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:06:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:06:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:06:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:06:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:06:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:06:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:06:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:06:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:06:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:06:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:06:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:06:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:06:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:06:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:06:17 UTC] 📊 Database Info:
[19-Nov-2025 16:06:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:06:17 UTC]    Books columns count: 44
[19-Nov-2025 16:06:17 UTC]    Categories columns count: 7
[19-Nov-2025 16:06:17 UTC]    Language field in books: YES
[19-Nov-2025 16:06:17 UTC]    Format field in books: YES
[19-Nov-2025 16:06:17 UTC]    Description field in categories: YES
[19-Nov-2025 16:06:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:06:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:06:17 UTC]    Is_active field in books: YES
[19-Nov-2025 16:06:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:06:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:06:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:06:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:06:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:06:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:06:17 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:06:17 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:06:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:06:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:06:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:06:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:06:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:06:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:06:17 UTC] 📊 Database Info:
[19-Nov-2025 16:06:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:06:17 UTC]    Books columns count: 44
[19-Nov-2025 16:06:17 UTC]    Categories columns count: 7
[19-Nov-2025 16:06:17 UTC]    Language field in books: YES
[19-Nov-2025 16:06:17 UTC]    Format field in books: YES
[19-Nov-2025 16:06:17 UTC]    Description field in categories: YES
[19-Nov-2025 16:06:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:06:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:06:17 UTC]    Is_active field in books: YES
[19-Nov-2025 16:06:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:06:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:06:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:06:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:06:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:06:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:06:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:06:17 UTC] 📊 Database Info:
[19-Nov-2025 16:06:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:06:17 UTC]    Books columns count: 44
[19-Nov-2025 16:06:17 UTC]    Categories columns count: 7
[19-Nov-2025 16:06:17 UTC]    Language field in books: YES
[19-Nov-2025 16:06:17 UTC]    Format field in books: YES
[19-Nov-2025 16:06:17 UTC]    Description field in categories: YES
[19-Nov-2025 16:06:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:06:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:06:17 UTC]    Is_active field in books: YES
[19-Nov-2025 16:06:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:06:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:06:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:06:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:06:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:06:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:06:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:06:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:06:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:06:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:06:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:06:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:06:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:06:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:06:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:06:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:06:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:06:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:06:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:06:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:06:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:06:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:06:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:06:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:06:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:06:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:06:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:06:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:06:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:06:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:06:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:06:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:06:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:06:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:06:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:06:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:06:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:06:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:06:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:06:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:06:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:06:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:06:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:06:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:06:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:06:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:06:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:06:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:06:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:06:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:06:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:06:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:06:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:06:31 UTC] 📊 Database Info:
[19-Nov-2025 16:06:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:06:31 UTC]    Books columns count: 44
[19-Nov-2025 16:06:31 UTC]    Categories columns count: 7
[19-Nov-2025 16:06:31 UTC]    Language field in books: YES
[19-Nov-2025 16:06:31 UTC]    Format field in books: YES
[19-Nov-2025 16:06:31 UTC]    Description field in categories: YES
[19-Nov-2025 16:06:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:06:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:06:31 UTC]    Is_active field in books: YES
[19-Nov-2025 16:06:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:06:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:06:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:06:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:06:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:06:31 UTC] 📊 Database Info:
[19-Nov-2025 16:06:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:06:31 UTC]    Books columns count: 44
[19-Nov-2025 16:06:31 UTC]    Categories columns count: 7
[19-Nov-2025 16:06:31 UTC]    Language field in books: YES
[19-Nov-2025 16:06:31 UTC]    Format field in books: YES
[19-Nov-2025 16:06:31 UTC]    Description field in categories: YES
[19-Nov-2025 16:06:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:06:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:06:31 UTC]    Is_active field in books: YES
[19-Nov-2025 16:06:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:06:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:06:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:06:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:06:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:06:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:06:31 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:06:31 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:06:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:06:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:06:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:06:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:06:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:06:31 UTC] 📊 Database Info:
[19-Nov-2025 16:06:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:06:31 UTC]    Books columns count: 44
[19-Nov-2025 16:06:31 UTC]    Categories columns count: 7
[19-Nov-2025 16:06:31 UTC]    Language field in books: YES
[19-Nov-2025 16:06:31 UTC]    Format field in books: YES
[19-Nov-2025 16:06:31 UTC]    Description field in categories: YES
[19-Nov-2025 16:06:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:06:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:06:31 UTC]    Is_active field in books: YES
[19-Nov-2025 16:06:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:06:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:06:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:06:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:06:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:06:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:08:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:08:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:08:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:08:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:08:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:08:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:08:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:08:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:08:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:08:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:08:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:08:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:08:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:08:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:08:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:08:20 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:08:20 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:08:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:08:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:08:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:08:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:08:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:08:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:08:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:08:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:08:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:08:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:08:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:08:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:08:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:08:20 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:08:20 UTC] 📊 Database Info:
[19-Nov-2025 16:08:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:08:20 UTC]    Books columns count: 44
[19-Nov-2025 16:08:20 UTC]    Categories columns count: 7
[19-Nov-2025 16:08:20 UTC]    Language field in books: YES
[19-Nov-2025 16:08:20 UTC]    Format field in books: YES
[19-Nov-2025 16:08:20 UTC]    Description field in categories: YES
[19-Nov-2025 16:08:20 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:08:20 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:08:20 UTC]    Is_active field in books: YES
[19-Nov-2025 16:08:20 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:08:20 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:08:20 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:08:20 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:08:20 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:08:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:08:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:08:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:08:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:08:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:08:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:08:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:08:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:08:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:08:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:08:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:08:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:08:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:08:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:08:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:08:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:08:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:08:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:08:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:08:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:08:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:08:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:08:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:08:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:08:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:08:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:08:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:08:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:08:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:08:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:08:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:08:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:08:22 UTC] 📊 Database Info:
[19-Nov-2025 16:08:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:08:22 UTC]    Books columns count: 44
[19-Nov-2025 16:08:22 UTC]    Categories columns count: 7
[19-Nov-2025 16:08:22 UTC]    Language field in books: YES
[19-Nov-2025 16:08:22 UTC]    Format field in books: YES
[19-Nov-2025 16:08:22 UTC]    Description field in categories: YES
[19-Nov-2025 16:08:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:08:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:08:22 UTC]    Is_active field in books: YES
[19-Nov-2025 16:08:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:08:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:08:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:08:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:08:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:08:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:08:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:08:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:08:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:08:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:08:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:08:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:08:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:08:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:08:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:08:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:08:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:08:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:08:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:08:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:08:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:08:24 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:08:24 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:08:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:08:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:08:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:08:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:08:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:08:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:08:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:08:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:08:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:08:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:08:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:08:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:08:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:08:24 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:08:24 UTC] 📊 Database Info:
[19-Nov-2025 16:08:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:08:24 UTC]    Books columns count: 44
[19-Nov-2025 16:08:24 UTC]    Categories columns count: 7
[19-Nov-2025 16:08:24 UTC]    Language field in books: YES
[19-Nov-2025 16:08:24 UTC]    Format field in books: YES
[19-Nov-2025 16:08:24 UTC]    Description field in categories: YES
[19-Nov-2025 16:08:24 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:08:24 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:08:24 UTC]    Is_active field in books: YES
[19-Nov-2025 16:08:24 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:08:24 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:08:24 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:08:24 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:08:24 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:08:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:08:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:08:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:08:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:08:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:08:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:08:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:08:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:08:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:08:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:08:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:08:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:08:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:08:26 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:08:26 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:08:26 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:08:26 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:08:26 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:08:26 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:08:26 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:08:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:08:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:08:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:08:26 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:08:26 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:08:26 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:08:26 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:08:26 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:08:26 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:08:26 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:08:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:08:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:08:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:08:26 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:08:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:08:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:08:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:08:26 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:08:26 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:08:26 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:08:26 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:08:26 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:08:26 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:08:26 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:08:26 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:08:26 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:08:26 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:08:26 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:08:26 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:08:26 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:08:26 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:08:26 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:08:26 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:08:26 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:08:26 UTC] 📊 Database Info:
[19-Nov-2025 16:08:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:08:26 UTC]    Books columns count: 44
[19-Nov-2025 16:08:26 UTC]    Categories columns count: 7
[19-Nov-2025 16:08:26 UTC]    Language field in books: YES
[19-Nov-2025 16:08:26 UTC]    Format field in books: YES
[19-Nov-2025 16:08:26 UTC]    Description field in categories: YES
[19-Nov-2025 16:08:26 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:08:26 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:08:26 UTC]    Is_active field in books: YES
[19-Nov-2025 16:08:26 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:08:26 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:08:26 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:08:26 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:08:26 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:08:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:08:26 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:08:26 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:08:26 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:08:26 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:08:26 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:08:26 UTC] 📊 Database Info:
[19-Nov-2025 16:08:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:08:26 UTC]    Books columns count: 44
[19-Nov-2025 16:08:26 UTC]    Categories columns count: 7
[19-Nov-2025 16:08:26 UTC]    Language field in books: YES
[19-Nov-2025 16:08:26 UTC]    Format field in books: YES
[19-Nov-2025 16:08:26 UTC]    Description field in categories: YES
[19-Nov-2025 16:08:26 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:08:26 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:08:26 UTC]    Is_active field in books: YES
[19-Nov-2025 16:08:26 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:08:26 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:08:26 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:08:26 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:08:26 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:08:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:08:26 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:08:26 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:08:26 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:08:26 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:08:26 UTC] 📊 Database Info:
[19-Nov-2025 16:08:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:08:26 UTC]    Books columns count: 44
[19-Nov-2025 16:08:26 UTC]    Categories columns count: 7
[19-Nov-2025 16:08:26 UTC]    Language field in books: YES
[19-Nov-2025 16:08:26 UTC]    Format field in books: YES
[19-Nov-2025 16:08:26 UTC]    Description field in categories: YES
[19-Nov-2025 16:08:26 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:08:26 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:08:26 UTC]    Is_active field in books: YES
[19-Nov-2025 16:08:26 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:08:26 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:08:26 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:08:26 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:08:26 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:08:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:08:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:08:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:08:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:08:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:08:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:08:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:08:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:08:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:08:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:08:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:08:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:08:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:08:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:08:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:08:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:08:27 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:08:27 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:08:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:08:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:08:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:08:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:08:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:08:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:08:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:08:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:08:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:08:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:08:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:08:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:08:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:08:27 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:08:27 UTC] 📊 Database Info:
[19-Nov-2025 16:08:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:08:27 UTC]    Books columns count: 44
[19-Nov-2025 16:08:27 UTC]    Categories columns count: 7
[19-Nov-2025 16:08:27 UTC]    Language field in books: YES
[19-Nov-2025 16:08:27 UTC]    Format field in books: YES
[19-Nov-2025 16:08:27 UTC]    Description field in categories: YES
[19-Nov-2025 16:08:27 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:08:27 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:08:27 UTC]    Is_active field in books: YES
[19-Nov-2025 16:08:27 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:08:27 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:08:27 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:08:27 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:08:27 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:08:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:08:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:08:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:08:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:08:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:08:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:08:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:08:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:08:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:08:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:08:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:08:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:08:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:09:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:09:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:09:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:09:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:09:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:09:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:09:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:09:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:09:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:09:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:09:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:09:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:09:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:09:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:09:07 UTC] 📊 Database Info:
[19-Nov-2025 16:09:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:09:07 UTC]    Books columns count: 44
[19-Nov-2025 16:09:07 UTC]    Categories columns count: 7
[19-Nov-2025 16:09:07 UTC]    Language field in books: YES
[19-Nov-2025 16:09:07 UTC]    Format field in books: YES
[19-Nov-2025 16:09:07 UTC]    Description field in categories: YES
[19-Nov-2025 16:09:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:09:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:09:07 UTC]    Is_active field in books: YES
[19-Nov-2025 16:09:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:09:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:09:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:09:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:09:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:09:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:09:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:09:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:09:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:09:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:09:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:09:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:09:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:09:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:09:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:09:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:09:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:09:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:09:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:09:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:09:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:09:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:09:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:09:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:09:07 UTC] 📊 Database Info:
[19-Nov-2025 16:09:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:09:07 UTC]    Books columns count: 44
[19-Nov-2025 16:09:07 UTC]    Categories columns count: 7
[19-Nov-2025 16:09:07 UTC]    Language field in books: YES
[19-Nov-2025 16:09:07 UTC]    Format field in books: YES
[19-Nov-2025 16:09:07 UTC]    Description field in categories: YES
[19-Nov-2025 16:09:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:09:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:09:07 UTC]    Is_active field in books: YES
[19-Nov-2025 16:09:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:09:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:09:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:09:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:09:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:09:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:09:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:09:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:09:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:09:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:09:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:09:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:09:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:09:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:09:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:09:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:09:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:09:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:09:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:09:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:09:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:09:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:09:54 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:09:54 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:09:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:09:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:09:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:09:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:09:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:09:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:09:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:09:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:09:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:09:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:09:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:09:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:09:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:09:54 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:09:54 UTC] 📊 Database Info:
[19-Nov-2025 16:09:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:09:54 UTC]    Books columns count: 44
[19-Nov-2025 16:09:54 UTC]    Categories columns count: 7
[19-Nov-2025 16:09:54 UTC]    Language field in books: YES
[19-Nov-2025 16:09:54 UTC]    Format field in books: YES
[19-Nov-2025 16:09:54 UTC]    Description field in categories: YES
[19-Nov-2025 16:09:54 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:09:54 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:09:54 UTC]    Is_active field in books: YES
[19-Nov-2025 16:09:54 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:09:54 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:09:54 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:09:54 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:09:54 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:09:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:09:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:09:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:09:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:09:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:09:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:09:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:09:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:09:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:09:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:09:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:09:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:09:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:09:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:09:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:09:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:09:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:09:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:09:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:09:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:09:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:09:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:09:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:09:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:09:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:09:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:09:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:09:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:09:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:09:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:09:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:09:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:09:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:09:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:09:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:09:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:09:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:09:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:09:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:09:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:09:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:09:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:09:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:09:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:09:56 UTC] 📊 Database Info:
[19-Nov-2025 16:09:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:09:56 UTC]    Books columns count: 44
[19-Nov-2025 16:09:56 UTC]    Categories columns count: 7
[19-Nov-2025 16:09:56 UTC]    Language field in books: YES
[19-Nov-2025 16:09:56 UTC]    Format field in books: YES
[19-Nov-2025 16:09:56 UTC]    Description field in categories: YES
[19-Nov-2025 16:09:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:09:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:09:56 UTC]    Is_active field in books: YES
[19-Nov-2025 16:09:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:09:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:09:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:09:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:09:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:09:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:09:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:09:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:09:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:09:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:09:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:09:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:09:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:09:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:09:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:09:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:09:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:09:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:09:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:09:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:09:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:09:58 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:09:58 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:09:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:09:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:09:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:09:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:09:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:09:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:09:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:09:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:09:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:09:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:09:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:09:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:09:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:09:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:09:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:09:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:09:58 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:09:58 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:09:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:09:58 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:09:58 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:09:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:09:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:09:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:09:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:09:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:09:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:09:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:09:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:09:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:09:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:09:58 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:09:58 UTC] 📊 Database Info:
[19-Nov-2025 16:09:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:09:58 UTC]    Books columns count: 44
[19-Nov-2025 16:09:58 UTC]    Categories columns count: 7
[19-Nov-2025 16:09:58 UTC]    Language field in books: YES
[19-Nov-2025 16:09:58 UTC]    Format field in books: YES
[19-Nov-2025 16:09:58 UTC]    Description field in categories: YES
[19-Nov-2025 16:09:58 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:09:58 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:09:58 UTC]    Is_active field in books: YES
[19-Nov-2025 16:09:58 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:09:58 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:09:58 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:09:58 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:09:58 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:09:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:09:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:09:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:09:58 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:09:58 UTC] 📊 Database Info:
[19-Nov-2025 16:09:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:09:58 UTC]    Books columns count: 44
[19-Nov-2025 16:09:58 UTC]    Categories columns count: 7
[19-Nov-2025 16:09:58 UTC]    Language field in books: YES
[19-Nov-2025 16:09:58 UTC]    Format field in books: YES
[19-Nov-2025 16:09:58 UTC]    Description field in categories: YES
[19-Nov-2025 16:09:58 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:09:58 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:09:58 UTC]    Is_active field in books: YES
[19-Nov-2025 16:09:58 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:09:58 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:09:58 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:09:58 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:09:58 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:09:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:09:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:09:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:09:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:09:58 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:09:58 UTC] 📊 Database Info:
[19-Nov-2025 16:09:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:09:58 UTC]    Books columns count: 44
[19-Nov-2025 16:09:58 UTC]    Categories columns count: 7
[19-Nov-2025 16:09:58 UTC]    Language field in books: YES
[19-Nov-2025 16:09:58 UTC]    Format field in books: YES
[19-Nov-2025 16:09:58 UTC]    Description field in categories: YES
[19-Nov-2025 16:09:58 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:09:58 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:09:58 UTC]    Is_active field in books: YES
[19-Nov-2025 16:09:58 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:09:58 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:09:58 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:09:58 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:09:58 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:09:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:09:58 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:09:58 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:09:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:09:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:09:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:09:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:09:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:09:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:09:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:09:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:09:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:09:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:09:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:09:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:09:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:09:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:09:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:09:59 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:09:59 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:09:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:09:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:09:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:09:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:09:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:09:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:09:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:09:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:09:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:09:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:09:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:09:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:09:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:09:59 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:09:59 UTC] 📊 Database Info:
[19-Nov-2025 16:09:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:09:59 UTC]    Books columns count: 44
[19-Nov-2025 16:09:59 UTC]    Categories columns count: 7
[19-Nov-2025 16:09:59 UTC]    Language field in books: YES
[19-Nov-2025 16:09:59 UTC]    Format field in books: YES
[19-Nov-2025 16:09:59 UTC]    Description field in categories: YES
[19-Nov-2025 16:09:59 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:09:59 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:09:59 UTC]    Is_active field in books: YES
[19-Nov-2025 16:09:59 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:09:59 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:09:59 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:09:59 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:09:59 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:09:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:10:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:10:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:10:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:10:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:10:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:10:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:10:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:10:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:10:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:10:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:10:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:10:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:10:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:10:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:10:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:10:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:10:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:10:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:10:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:10:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:10:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:10:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:10:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:10:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:10:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:10:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:10:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:10:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:10:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:10:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:10:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:10:33 UTC] 📊 Database Info:
[19-Nov-2025 16:10:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:10:33 UTC]    Books columns count: 44
[19-Nov-2025 16:10:33 UTC]    Categories columns count: 7
[19-Nov-2025 16:10:33 UTC]    Language field in books: YES
[19-Nov-2025 16:10:33 UTC]    Format field in books: YES
[19-Nov-2025 16:10:33 UTC]    Description field in categories: YES
[19-Nov-2025 16:10:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:10:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:10:33 UTC]    Is_active field in books: YES
[19-Nov-2025 16:10:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:10:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:10:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:10:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:10:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:10:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:10:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:10:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:10:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:10:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:10:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:10:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:10:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:10:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:10:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:10:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:10:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:10:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:10:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:10:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:10:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:10:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:10:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:10:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:10:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:10:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:10:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:10:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:10:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:10:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:10:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:10:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:10:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:10:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:10:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:10:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:10:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:10:34 UTC] 📊 Database Info:
[19-Nov-2025 16:10:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:10:34 UTC]    Books columns count: 44
[19-Nov-2025 16:10:34 UTC]    Categories columns count: 7
[19-Nov-2025 16:10:34 UTC]    Language field in books: YES
[19-Nov-2025 16:10:34 UTC]    Format field in books: YES
[19-Nov-2025 16:10:34 UTC]    Description field in categories: YES
[19-Nov-2025 16:10:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:10:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:10:34 UTC]    Is_active field in books: YES
[19-Nov-2025 16:10:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:10:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:10:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:10:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:10:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:10:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:10:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:10:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:10:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:10:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:10:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:10:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:10:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:10:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:10:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:10:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:10:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:10:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:10:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:10:37 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:10:37 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:10:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:10:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:10:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:10:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:10:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:10:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:10:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:10:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:10:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:10:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:10:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:10:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:10:37 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:10:37 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:10:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:10:37 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:10:37 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:10:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:10:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:10:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:10:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:10:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:10:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:10:37 UTC] 📊 Database Info:
[19-Nov-2025 16:10:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:10:37 UTC]    Books columns count: 44
[19-Nov-2025 16:10:37 UTC]    Categories columns count: 7
[19-Nov-2025 16:10:37 UTC]    Language field in books: YES
[19-Nov-2025 16:10:37 UTC]    Format field in books: YES
[19-Nov-2025 16:10:37 UTC]    Description field in categories: YES
[19-Nov-2025 16:10:37 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:10:37 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:10:37 UTC]    Is_active field in books: YES
[19-Nov-2025 16:10:37 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:10:37 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:10:37 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:10:37 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:10:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:10:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:10:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:10:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:10:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:10:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:10:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:10:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:10:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:10:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:10:37 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:10:37 UTC] 📊 Database Info:
[19-Nov-2025 16:10:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:10:37 UTC]    Books columns count: 44
[19-Nov-2025 16:10:37 UTC]    Categories columns count: 7
[19-Nov-2025 16:10:37 UTC]    Language field in books: YES
[19-Nov-2025 16:10:37 UTC]    Format field in books: YES
[19-Nov-2025 16:10:37 UTC]    Description field in categories: YES
[19-Nov-2025 16:10:37 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:10:37 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:10:37 UTC]    Is_active field in books: YES
[19-Nov-2025 16:10:37 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:10:37 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:10:37 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:10:37 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:10:37 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:10:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:10:37 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:10:37 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:10:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:10:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:10:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:10:37 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:10:37 UTC] 📊 Database Info:
[19-Nov-2025 16:10:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:10:37 UTC]    Books columns count: 44
[19-Nov-2025 16:10:37 UTC]    Categories columns count: 7
[19-Nov-2025 16:10:37 UTC]    Language field in books: YES
[19-Nov-2025 16:10:37 UTC]    Format field in books: YES
[19-Nov-2025 16:10:37 UTC]    Description field in categories: YES
[19-Nov-2025 16:10:37 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:10:37 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:10:37 UTC]    Is_active field in books: YES
[19-Nov-2025 16:10:37 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:10:37 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:10:37 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:10:37 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:10:37 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:10:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:10:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:10:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:10:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:10:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:10:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:10:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:10:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:10:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:10:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:10:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:10:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:10:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:10:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:10:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:10:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:10:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:10:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:10:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:10:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:10:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:10:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:10:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:10:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:10:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:10:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:10:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:10:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:10:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:10:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:10:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:10:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:10:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:10:38 UTC] 📊 Database Info:
[19-Nov-2025 16:10:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:10:38 UTC]    Books columns count: 44
[19-Nov-2025 16:10:38 UTC]    Categories columns count: 7
[19-Nov-2025 16:10:38 UTC]    Language field in books: YES
[19-Nov-2025 16:10:38 UTC]    Format field in books: YES
[19-Nov-2025 16:10:38 UTC]    Description field in categories: YES
[19-Nov-2025 16:10:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:10:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:10:38 UTC]    Is_active field in books: YES
[19-Nov-2025 16:10:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:10:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:10:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:10:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:10:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:10:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:04 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:04 UTC] 📊 Database Info:
[19-Nov-2025 16:11:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:04 UTC]    Books columns count: 44
[19-Nov-2025 16:11:04 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:04 UTC]    Language field in books: YES
[19-Nov-2025 16:11:04 UTC]    Format field in books: YES
[19-Nov-2025 16:11:04 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:04 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:04 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:04 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:04 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:04 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:04 UTC] 📊 Database Info:
[19-Nov-2025 16:11:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:04 UTC]    Books columns count: 44
[19-Nov-2025 16:11:04 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:04 UTC]    Language field in books: YES
[19-Nov-2025 16:11:04 UTC]    Format field in books: YES
[19-Nov-2025 16:11:04 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:04 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:04 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:04 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:04 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:04 UTC] 📊 Database Info:
[19-Nov-2025 16:11:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:04 UTC]    Books columns count: 44
[19-Nov-2025 16:11:04 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:04 UTC]    Language field in books: YES
[19-Nov-2025 16:11:04 UTC]    Format field in books: YES
[19-Nov-2025 16:11:04 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:04 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:04 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:04 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:04 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:11:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:04 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:04 UTC] 📊 Database Info:
[19-Nov-2025 16:11:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:04 UTC]    Books columns count: 44
[19-Nov-2025 16:11:04 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:04 UTC]    Language field in books: YES
[19-Nov-2025 16:11:04 UTC]    Format field in books: YES
[19-Nov-2025 16:11:04 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:04 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:04 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:04 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:04 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:04 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:04 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:11:04 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:11:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:04 UTC] 📊 Database Info:
[19-Nov-2025 16:11:04 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:04 UTC] 📊 Database Info:
[19-Nov-2025 16:11:04 UTC]    Books columns count: 44
[19-Nov-2025 16:11:04 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:04 UTC]    Books columns count: 44
[19-Nov-2025 16:11:04 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:04 UTC]    Language field in books: YES
[19-Nov-2025 16:11:04 UTC]    Format field in books: YES
[19-Nov-2025 16:11:04 UTC]    Language field in books: YES
[19-Nov-2025 16:11:04 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Format field in books: YES
[19-Nov-2025 16:11:04 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:04 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:04 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:04 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:04 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:04 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:04 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:04 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:04 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:04 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:04 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:04 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:04 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:04 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:04 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:04 UTC] 📊 Database Info:
[19-Nov-2025 16:11:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:04 UTC]    Books columns count: 44
[19-Nov-2025 16:11:04 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:04 UTC]    Language field in books: YES
[19-Nov-2025 16:11:04 UTC]    Format field in books: YES
[19-Nov-2025 16:11:04 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:04 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:04 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:04 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:04 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:04 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:04 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:04 UTC] 📊 Database Info:
[19-Nov-2025 16:11:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:04 UTC]    Books columns count: 44
[19-Nov-2025 16:11:04 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:04 UTC]    Language field in books: YES
[19-Nov-2025 16:11:04 UTC]    Format field in books: YES
[19-Nov-2025 16:11:04 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:04 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:04 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:04 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:04 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:04 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:04 UTC] 📊 Database Info:
[19-Nov-2025 16:11:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:04 UTC]    Books columns count: 44
[19-Nov-2025 16:11:04 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:04 UTC]    Language field in books: YES
[19-Nov-2025 16:11:04 UTC]    Format field in books: YES
[19-Nov-2025 16:11:04 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:04 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:04 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:04 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:04 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:04 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:04 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:04 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:12 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:12 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:12 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:12 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:12 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:12 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:12 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:12 UTC] 📊 Database Info:
[19-Nov-2025 16:11:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:12 UTC]    Books columns count: 44
[19-Nov-2025 16:11:12 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:12 UTC]    Language field in books: YES
[19-Nov-2025 16:11:12 UTC]    Format field in books: YES
[19-Nov-2025 16:11:12 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:12 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:12 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:12 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:12 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:12 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:12 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:12 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:12 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:12 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:12 UTC] 📊 Database Info:
[19-Nov-2025 16:11:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:12 UTC]    Books columns count: 44
[19-Nov-2025 16:11:12 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:12 UTC]    Language field in books: YES
[19-Nov-2025 16:11:12 UTC]    Format field in books: YES
[19-Nov-2025 16:11:12 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:12 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:12 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:12 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:12 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:12 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:12 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:12 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:12 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:12 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:12 UTC] 📊 Database Info:
[19-Nov-2025 16:11:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:12 UTC]    Books columns count: 44
[19-Nov-2025 16:11:12 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:12 UTC]    Language field in books: YES
[19-Nov-2025 16:11:12 UTC]    Format field in books: YES
[19-Nov-2025 16:11:12 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:12 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:12 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:12 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:12 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:12 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:12 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:12 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:12 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:12 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:11:12 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:11:14 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:14 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:14 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:14 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:14 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:14 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:14 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:14 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:14 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:14 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:14 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:14 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:14 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:14 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:14 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:14 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:14 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:14 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:14 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:14 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:14 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:14 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:14 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:14 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:14 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:14 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:14 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:14 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:14 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:14 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:14 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:14 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:14 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:14 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:14 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:14 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:14 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:14 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:14 UTC] 📊 Database Info:
[19-Nov-2025 16:11:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:14 UTC]    Books columns count: 44
[19-Nov-2025 16:11:14 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:14 UTC]    Language field in books: YES
[19-Nov-2025 16:11:14 UTC]    Format field in books: YES
[19-Nov-2025 16:11:14 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:14 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:14 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:14 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:14 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:14 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:14 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:14 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:14 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:14 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:11:14 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:11:14 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:14 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:14 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:14 UTC] 📊 Database Info:
[19-Nov-2025 16:11:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:14 UTC]    Books columns count: 44
[19-Nov-2025 16:11:14 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:14 UTC]    Language field in books: YES
[19-Nov-2025 16:11:14 UTC]    Format field in books: YES
[19-Nov-2025 16:11:14 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:14 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:14 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:14 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:14 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:14 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:14 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:14 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:14 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:14 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:14 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:14 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:14 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:14 UTC] 📊 Database Info:
[19-Nov-2025 16:11:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:14 UTC]    Books columns count: 44
[19-Nov-2025 16:11:14 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:14 UTC]    Language field in books: YES
[19-Nov-2025 16:11:14 UTC]    Format field in books: YES
[19-Nov-2025 16:11:14 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:14 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:14 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:14 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:14 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:14 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:14 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:14 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:14 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:15 UTC] 📊 Database Info:
[19-Nov-2025 16:11:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:15 UTC]    Books columns count: 44
[19-Nov-2025 16:11:15 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:15 UTC]    Language field in books: YES
[19-Nov-2025 16:11:15 UTC]    Format field in books: YES
[19-Nov-2025 16:11:15 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:15 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:18 UTC] 📊 Database Info:
[19-Nov-2025 16:11:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:18 UTC]    Books columns count: 44
[19-Nov-2025 16:11:18 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:18 UTC]    Language field in books: YES
[19-Nov-2025 16:11:18 UTC]    Format field in books: YES
[19-Nov-2025 16:11:18 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:18 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:18 UTC] 📊 Database Info:
[19-Nov-2025 16:11:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:18 UTC]    Books columns count: 44
[19-Nov-2025 16:11:18 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:18 UTC]    Language field in books: YES
[19-Nov-2025 16:11:18 UTC]    Format field in books: YES
[19-Nov-2025 16:11:18 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:18 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:25 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:25 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:25 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:25 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:25 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:25 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:25 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:25 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:25 UTC] 📊 Database Info:
[19-Nov-2025 16:11:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:25 UTC]    Books columns count: 44
[19-Nov-2025 16:11:25 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:25 UTC]    Language field in books: YES
[19-Nov-2025 16:11:25 UTC]    Format field in books: YES
[19-Nov-2025 16:11:25 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:25 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:25 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:25 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:11:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:25 UTC] 📊 Database Info:
[19-Nov-2025 16:11:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:25 UTC]    Books columns count: 44
[19-Nov-2025 16:11:25 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:25 UTC]    Language field in books: YES
[19-Nov-2025 16:11:25 UTC]    Format field in books: YES
[19-Nov-2025 16:11:25 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:25 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:11:25 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:25 UTC] 📊 Database Info:
[19-Nov-2025 16:11:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:25 UTC]    Books columns count: 44
[19-Nov-2025 16:11:25 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:25 UTC]    Language field in books: YES
[19-Nov-2025 16:11:25 UTC]    Format field in books: YES
[19-Nov-2025 16:11:25 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:25 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:25 UTC] 📊 Database Info:
[19-Nov-2025 16:11:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:25 UTC]    Books columns count: 44
[19-Nov-2025 16:11:25 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:25 UTC]    Language field in books: YES
[19-Nov-2025 16:11:25 UTC]    Format field in books: YES
[19-Nov-2025 16:11:25 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:25 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:25 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:25 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:25 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:25 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:25 UTC] 📊 Database Info:
[19-Nov-2025 16:11:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:25 UTC]    Books columns count: 44
[19-Nov-2025 16:11:25 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:25 UTC]    Language field in books: YES
[19-Nov-2025 16:11:25 UTC]    Format field in books: YES
[19-Nov-2025 16:11:25 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:25 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:25 UTC] 📊 Database Info:
[19-Nov-2025 16:11:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:25 UTC]    Books columns count: 44
[19-Nov-2025 16:11:25 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:25 UTC]    Language field in books: YES
[19-Nov-2025 16:11:25 UTC]    Format field in books: YES
[19-Nov-2025 16:11:25 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:25 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:29 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:29 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:29 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:29 UTC] 📊 Database Info:
[19-Nov-2025 16:11:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:29 UTC]    Books columns count: 44
[19-Nov-2025 16:11:29 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:29 UTC]    Language field in books: YES
[19-Nov-2025 16:11:29 UTC]    Format field in books: YES
[19-Nov-2025 16:11:29 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:29 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:29 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:29 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:29 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:29 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:29 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:29 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:29 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:29 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:29 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:29 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:29 UTC] 📊 Database Info:
[19-Nov-2025 16:11:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:29 UTC]    Books columns count: 44
[19-Nov-2025 16:11:29 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:29 UTC]    Language field in books: YES
[19-Nov-2025 16:11:29 UTC]    Format field in books: YES
[19-Nov-2025 16:11:29 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:29 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:29 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:29 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:29 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:29 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:29 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:29 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:29 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:32 UTC] 📊 Database Info:
[19-Nov-2025 16:11:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:32 UTC]    Books columns count: 44
[19-Nov-2025 16:11:32 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:32 UTC]    Language field in books: YES
[19-Nov-2025 16:11:32 UTC]    Format field in books: YES
[19-Nov-2025 16:11:32 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:32 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:33 UTC] 📊 Database Info:
[19-Nov-2025 16:11:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:33 UTC]    Books columns count: 44
[19-Nov-2025 16:11:33 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:33 UTC]    Language field in books: YES
[19-Nov-2025 16:11:33 UTC]    Format field in books: YES
[19-Nov-2025 16:11:33 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:33 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:39 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:39 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:39 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:39 UTC] 📊 Database Info:
[19-Nov-2025 16:11:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:39 UTC]    Books columns count: 44
[19-Nov-2025 16:11:39 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:39 UTC]    Language field in books: YES
[19-Nov-2025 16:11:39 UTC]    Format field in books: YES
[19-Nov-2025 16:11:39 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:39 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:39 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:39 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:39 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:39 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:39 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:39 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:39 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:39 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:39 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:39 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:39 UTC] 📊 Database Info:
[19-Nov-2025 16:11:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:39 UTC]    Books columns count: 44
[19-Nov-2025 16:11:39 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:39 UTC]    Language field in books: YES
[19-Nov-2025 16:11:39 UTC]    Format field in books: YES
[19-Nov-2025 16:11:39 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:39 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:39 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:39 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:39 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:39 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:39 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:39 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:39 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:50 UTC] 📊 Database Info:
[19-Nov-2025 16:11:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:50 UTC]    Books columns count: 44
[19-Nov-2025 16:11:50 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:50 UTC]    Language field in books: YES
[19-Nov-2025 16:11:50 UTC]    Format field in books: YES
[19-Nov-2025 16:11:50 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:50 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:11:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:11:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:11:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:11:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:11:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:11:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:11:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:11:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:11:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:11:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:11:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:11:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:11:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:11:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:11:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:11:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:11:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:11:51 UTC] 📊 Database Info:
[19-Nov-2025 16:11:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:11:51 UTC]    Books columns count: 44
[19-Nov-2025 16:11:51 UTC]    Categories columns count: 7
[19-Nov-2025 16:11:51 UTC]    Language field in books: YES
[19-Nov-2025 16:11:51 UTC]    Format field in books: YES
[19-Nov-2025 16:11:51 UTC]    Description field in categories: YES
[19-Nov-2025 16:11:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:11:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:11:51 UTC]    Is_active field in books: YES
[19-Nov-2025 16:11:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:11:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:11:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:11:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:11:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:11:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:11:51 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 16:11:51 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 16:12:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:06 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:06 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:06 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:06 UTC] 📊 Database Info:
[19-Nov-2025 16:12:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:06 UTC]    Books columns count: 44
[19-Nov-2025 16:12:06 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:06 UTC]    Language field in books: YES
[19-Nov-2025 16:12:06 UTC]    Format field in books: YES
[19-Nov-2025 16:12:06 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:06 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:06 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:06 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:06 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:06 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:06 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:06 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:06 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:06 UTC] ℹ️ Skipping default image deletion: uploads/no-imagee.jpg
[19-Nov-2025 16:12:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:07 UTC] 📊 Database Info:
[19-Nov-2025 16:12:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:07 UTC]    Books columns count: 44
[19-Nov-2025 16:12:07 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:07 UTC]    Language field in books: YES
[19-Nov-2025 16:12:07 UTC]    Format field in books: YES
[19-Nov-2025 16:12:07 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:07 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:07 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 16:12:07 UTC] ✅ إرجاع 0 تصنيف
[19-Nov-2025 16:12:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:12 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:12 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:12 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:12 UTC] 📊 Database Info:
[19-Nov-2025 16:12:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:12 UTC]    Books columns count: 44
[19-Nov-2025 16:12:12 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:12 UTC]    Language field in books: YES
[19-Nov-2025 16:12:12 UTC]    Format field in books: YES
[19-Nov-2025 16:12:12 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:12 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:12 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:12 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:12 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:12 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:12 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:12 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:12 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:18 UTC] 📊 Database Info:
[19-Nov-2025 16:12:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:18 UTC]    Books columns count: 44
[19-Nov-2025 16:12:18 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:18 UTC]    Language field in books: YES
[19-Nov-2025 16:12:18 UTC]    Format field in books: YES
[19-Nov-2025 16:12:18 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:18 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:23 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:23 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:23 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:23 UTC] 📊 Database Info:
[19-Nov-2025 16:12:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:23 UTC]    Books columns count: 44
[19-Nov-2025 16:12:23 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:23 UTC]    Language field in books: YES
[19-Nov-2025 16:12:23 UTC]    Format field in books: YES
[19-Nov-2025 16:12:23 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:23 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:23 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:23 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:23 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:23 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:23 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:23 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:23 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:27 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:27 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:27 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:27 UTC] 📊 Database Info:
[19-Nov-2025 16:12:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:27 UTC]    Books columns count: 44
[19-Nov-2025 16:12:27 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:27 UTC]    Language field in books: YES
[19-Nov-2025 16:12:27 UTC]    Format field in books: YES
[19-Nov-2025 16:12:27 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:27 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:27 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:27 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:27 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:27 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:27 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:27 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:27 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:27 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:27 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:27 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:27 UTC] 📊 Database Info:
[19-Nov-2025 16:12:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:27 UTC]    Books columns count: 44
[19-Nov-2025 16:12:27 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:27 UTC]    Language field in books: YES
[19-Nov-2025 16:12:27 UTC]    Format field in books: YES
[19-Nov-2025 16:12:27 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:27 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:27 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:27 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:27 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:27 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:27 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:27 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:27 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:31 UTC] 📊 Database Info:
[19-Nov-2025 16:12:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:31 UTC]    Books columns count: 44
[19-Nov-2025 16:12:31 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:31 UTC]    Language field in books: YES
[19-Nov-2025 16:12:31 UTC]    Format field in books: YES
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:31 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:31 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:31 UTC] ✅ إرجاع 0 تصنيف نشط
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:31 UTC] 📊 Database Info:
[19-Nov-2025 16:12:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:31 UTC]    Books columns count: 44
[19-Nov-2025 16:12:31 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:31 UTC]    Language field in books: YES
[19-Nov-2025 16:12:31 UTC]    Format field in books: YES
[19-Nov-2025 16:12:31 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:31 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:31 UTC] 📊 Database Info:
[19-Nov-2025 16:12:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:31 UTC]    Books columns count: 44
[19-Nov-2025 16:12:31 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:31 UTC]    Language field in books: YES
[19-Nov-2025 16:12:31 UTC]    Format field in books: YES
[19-Nov-2025 16:12:31 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:31 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:31 UTC] 📊 Database Info:
[19-Nov-2025 16:12:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:31 UTC]    Books columns count: 44
[19-Nov-2025 16:12:31 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:31 UTC]    Language field in books: YES
[19-Nov-2025 16:12:31 UTC]    Format field in books: YES
[19-Nov-2025 16:12:31 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:31 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:31 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:12:31 UTC] ✅ إرجاع 0 تصنيف نشط
[19-Nov-2025 16:12:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:31 UTC] 📊 Database Info:
[19-Nov-2025 16:12:31 UTC] 📊 Database Info:
[19-Nov-2025 16:12:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:31 UTC]    Books columns count: 44
[19-Nov-2025 16:12:31 UTC]    Books columns count: 44
[19-Nov-2025 16:12:31 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:31 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:31 UTC]    Language field in books: YES
[19-Nov-2025 16:12:31 UTC]    Language field in books: YES
[19-Nov-2025 16:12:31 UTC]    Format field in books: YES
[19-Nov-2025 16:12:31 UTC]    Format field in books: YES
[19-Nov-2025 16:12:31 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:31 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:31 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:31 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:39 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:39 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:39 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:39 UTC] 📊 Database Info:
[19-Nov-2025 16:12:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:39 UTC]    Books columns count: 44
[19-Nov-2025 16:12:39 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:39 UTC]    Language field in books: YES
[19-Nov-2025 16:12:39 UTC]    Format field in books: YES
[19-Nov-2025 16:12:39 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:39 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:39 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:39 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:39 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:39 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:39 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:39 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:39 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:39 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:39 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:39 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:39 UTC] 📊 Database Info:
[19-Nov-2025 16:12:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:39 UTC]    Books columns count: 44
[19-Nov-2025 16:12:39 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:39 UTC]    Language field in books: YES
[19-Nov-2025 16:12:39 UTC]    Format field in books: YES
[19-Nov-2025 16:12:39 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:39 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:39 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:39 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:39 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:39 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:39 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:39 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:39 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:42 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:42 UTC] 📊 Database Info:
[19-Nov-2025 16:12:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:42 UTC]    Books columns count: 44
[19-Nov-2025 16:12:42 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:42 UTC]    Language field in books: YES
[19-Nov-2025 16:12:42 UTC]    Format field in books: YES
[19-Nov-2025 16:12:42 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:42 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:42 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:42 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:42 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:42 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:42 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:42 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:42 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:42 UTC] 📊 Database Info:
[19-Nov-2025 16:12:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:42 UTC]    Books columns count: 44
[19-Nov-2025 16:12:42 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:42 UTC]    Language field in books: YES
[19-Nov-2025 16:12:42 UTC]    Format field in books: YES
[19-Nov-2025 16:12:42 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:42 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:42 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:42 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:42 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:42 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:42 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:42 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:42 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:42 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:42 UTC] 📊 Database Info:
[19-Nov-2025 16:12:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:42 UTC]    Books columns count: 44
[19-Nov-2025 16:12:42 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:42 UTC]    Language field in books: YES
[19-Nov-2025 16:12:42 UTC]    Format field in books: YES
[19-Nov-2025 16:12:42 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:42 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:42 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:42 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:42 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:42 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:42 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:42 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:42 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:12:42 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:42 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:43 UTC] 📊 Database Info:
[19-Nov-2025 16:12:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:43 UTC]    Books columns count: 44
[19-Nov-2025 16:12:43 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:43 UTC]    Language field in books: YES
[19-Nov-2025 16:12:43 UTC]    Format field in books: YES
[19-Nov-2025 16:12:43 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:12:43 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 16:12:43 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 16:12:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:43 UTC] 📊 Database Info:
[19-Nov-2025 16:12:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:43 UTC]    Books columns count: 44
[19-Nov-2025 16:12:43 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:43 UTC]    Language field in books: YES
[19-Nov-2025 16:12:43 UTC]    Format field in books: YES
[19-Nov-2025 16:12:43 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:43 UTC] 📊 Database Info:
[19-Nov-2025 16:12:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:43 UTC]    Books columns count: 44
[19-Nov-2025 16:12:43 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:43 UTC]    Language field in books: YES
[19-Nov-2025 16:12:43 UTC]    Format field in books: YES
[19-Nov-2025 16:12:43 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:43 UTC] 📊 Database Info:
[19-Nov-2025 16:12:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:43 UTC]    Books columns count: 44
[19-Nov-2025 16:12:43 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:43 UTC]    Language field in books: YES
[19-Nov-2025 16:12:43 UTC]    Format field in books: YES
[19-Nov-2025 16:12:43 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:12:43 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 16:12:43 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 16:12:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:43 UTC] 📊 Database Info:
[19-Nov-2025 16:12:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:43 UTC]    Books columns count: 44
[19-Nov-2025 16:12:43 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:43 UTC]    Language field in books: YES
[19-Nov-2025 16:12:43 UTC]    Format field in books: YES
[19-Nov-2025 16:12:43 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:12:43 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 16:12:43 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 16:12:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:43 UTC] 📊 Database Info:
[19-Nov-2025 16:12:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:43 UTC]    Books columns count: 44
[19-Nov-2025 16:12:43 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:43 UTC]    Language field in books: YES
[19-Nov-2025 16:12:43 UTC]    Format field in books: YES
[19-Nov-2025 16:12:43 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:12:43 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 16:12:43 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 16:12:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:43 UTC] 📊 Database Info:
[19-Nov-2025 16:12:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:43 UTC]    Books columns count: 44
[19-Nov-2025 16:12:43 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:43 UTC]    Language field in books: YES
[19-Nov-2025 16:12:43 UTC]    Format field in books: YES
[19-Nov-2025 16:12:43 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:43 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:12:43 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 16:12:43 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 16:12:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:46 UTC] 📊 Database Info:
[19-Nov-2025 16:12:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:46 UTC]    Books columns count: 44
[19-Nov-2025 16:12:46 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:46 UTC]    Language field in books: YES
[19-Nov-2025 16:12:46 UTC]    Format field in books: YES
[19-Nov-2025 16:12:46 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:46 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:46 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:12:46 UTC] ✅ إرجاع 0 تصنيف نشط
[19-Nov-2025 16:12:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:46 UTC] 📊 Database Info:
[19-Nov-2025 16:12:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:46 UTC]    Books columns count: 44
[19-Nov-2025 16:12:46 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:46 UTC]    Language field in books: YES
[19-Nov-2025 16:12:46 UTC]    Format field in books: YES
[19-Nov-2025 16:12:46 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:46 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:46 UTC] 📊 Database Info:
[19-Nov-2025 16:12:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:46 UTC]    Books columns count: 44
[19-Nov-2025 16:12:46 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:46 UTC]    Language field in books: YES
[19-Nov-2025 16:12:46 UTC]    Format field in books: YES
[19-Nov-2025 16:12:46 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:46 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:46 UTC] 📊 Database Info:
[19-Nov-2025 16:12:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:46 UTC]    Books columns count: 44
[19-Nov-2025 16:12:46 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:46 UTC]    Language field in books: YES
[19-Nov-2025 16:12:46 UTC]    Format field in books: YES
[19-Nov-2025 16:12:46 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:46 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:46 UTC] 📊 Database Info:
[19-Nov-2025 16:12:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:46 UTC]    Books columns count: 44
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:46 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:46 UTC]    Language field in books: YES
[19-Nov-2025 16:12:46 UTC]    Format field in books: YES
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:46 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:46 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:46 UTC] 📊 Database Info:
[19-Nov-2025 16:12:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:46 UTC]    Books columns count: 44
[19-Nov-2025 16:12:46 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:46 UTC]    Language field in books: YES
[19-Nov-2025 16:12:46 UTC]    Format field in books: YES
[19-Nov-2025 16:12:46 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:46 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:46 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:12:46 UTC] ✅ إرجاع 0 تصنيف نشط
[19-Nov-2025 16:12:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:52 UTC] 📊 Database Info:
[19-Nov-2025 16:12:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:52 UTC]    Books columns count: 44
[19-Nov-2025 16:12:52 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:52 UTC]    Language field in books: YES
[19-Nov-2025 16:12:52 UTC]    Format field in books: YES
[19-Nov-2025 16:12:52 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:52 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:55 UTC] 📊 Database Info:
[19-Nov-2025 16:12:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:55 UTC]    Books columns count: 44
[19-Nov-2025 16:12:55 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:55 UTC]    Language field in books: YES
[19-Nov-2025 16:12:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:55 UTC]    Format field in books: YES
[19-Nov-2025 16:12:55 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:55 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:12:55 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:55 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 16:12:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:55 UTC] 📊 Database Info:
[19-Nov-2025 16:12:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:55 UTC]    Books columns count: 44
[19-Nov-2025 16:12:55 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:55 UTC]    Language field in books: YES
[19-Nov-2025 16:12:55 UTC]    Format field in books: YES
[19-Nov-2025 16:12:55 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:55 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:55 UTC] 📊 Database Info:
[19-Nov-2025 16:12:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:55 UTC]    Books columns count: 44
[19-Nov-2025 16:12:55 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:55 UTC] 📊 Database Info:
[19-Nov-2025 16:12:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:55 UTC]    Books columns count: 44
[19-Nov-2025 16:12:55 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:55 UTC]    Language field in books: YES
[19-Nov-2025 16:12:55 UTC]    Format field in books: YES
[19-Nov-2025 16:12:55 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:55 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:55 UTC]    Language field in books: YES
[19-Nov-2025 16:12:55 UTC]    Format field in books: YES
[19-Nov-2025 16:12:55 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:55 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:12:55 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 16:12:55 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 16:12:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:56 UTC] 📊 Database Info:
[19-Nov-2025 16:12:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:56 UTC]    Books columns count: 44
[19-Nov-2025 16:12:56 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:56 UTC]    Language field in books: YES
[19-Nov-2025 16:12:56 UTC]    Format field in books: YES
[19-Nov-2025 16:12:56 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:56 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:56 UTC] 📊 Database Info:
[19-Nov-2025 16:12:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:56 UTC]    Books columns count: 44
[19-Nov-2025 16:12:56 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:56 UTC]    Language field in books: YES
[19-Nov-2025 16:12:56 UTC]    Format field in books: YES
[19-Nov-2025 16:12:56 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:56 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:12:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 16:12:56 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 16:12:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:56 UTC] 📊 Database Info:
[19-Nov-2025 16:12:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:56 UTC]    Books columns count: 44
[19-Nov-2025 16:12:56 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:56 UTC]    Language field in books: YES
[19-Nov-2025 16:12:56 UTC]    Format field in books: YES
[19-Nov-2025 16:12:56 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:56 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:56 UTC] 📊 Database Info:
[19-Nov-2025 16:12:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:56 UTC]    Books columns count: 44
[19-Nov-2025 16:12:56 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:56 UTC]    Language field in books: YES
[19-Nov-2025 16:12:56 UTC]    Format field in books: YES
[19-Nov-2025 16:12:56 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:56 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:12:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 16:12:56 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 16:12:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:56 UTC] 📊 Database Info:
[19-Nov-2025 16:12:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:56 UTC]    Books columns count: 44
[19-Nov-2025 16:12:56 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:56 UTC]    Language field in books: YES
[19-Nov-2025 16:12:56 UTC]    Format field in books: YES
[19-Nov-2025 16:12:56 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:56 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:12:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 16:12:56 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 16:12:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:56 UTC] 📊 Database Info:
[19-Nov-2025 16:12:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:56 UTC]    Books columns count: 44
[19-Nov-2025 16:12:56 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:56 UTC]    Language field in books: YES
[19-Nov-2025 16:12:56 UTC]    Format field in books: YES
[19-Nov-2025 16:12:56 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:56 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:12:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 16:12:56 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[19-Nov-2025 16:12:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:58 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:58 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:58 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:58 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:58 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:58 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:58 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:58 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:58 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:12:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:12:58 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:58 UTC] 📊 Database Info:
[19-Nov-2025 16:12:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:58 UTC]    Books columns count: 44
[19-Nov-2025 16:12:58 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:58 UTC]    Language field in books: YES
[19-Nov-2025 16:12:58 UTC]    Format field in books: YES
[19-Nov-2025 16:12:58 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:58 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:58 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:58 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:58 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:58 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:58 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:58 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:58 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:58 UTC] 📊 Database Info:
[19-Nov-2025 16:12:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:58 UTC]    Books columns count: 44
[19-Nov-2025 16:12:58 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:58 UTC]    Language field in books: YES
[19-Nov-2025 16:12:58 UTC]    Format field in books: YES
[19-Nov-2025 16:12:58 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:58 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:58 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:58 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:58 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:58 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:58 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:58 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:58 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:58 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:12:58 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:58 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:12:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:12:58 UTC] ✅ إرجاع 0 تصنيف نشط
[19-Nov-2025 16:12:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:12:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:12:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:12:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:58 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:58 UTC] 📊 Database Info:
[19-Nov-2025 16:12:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:58 UTC]    Books columns count: 44
[19-Nov-2025 16:12:58 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:58 UTC]    Language field in books: YES
[19-Nov-2025 16:12:58 UTC]    Format field in books: YES
[19-Nov-2025 16:12:58 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:58 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:58 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:58 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:58 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:58 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:58 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:58 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:58 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:58 UTC] 📊 Database Info:
[19-Nov-2025 16:12:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:58 UTC]    Books columns count: 44
[19-Nov-2025 16:12:58 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:58 UTC]    Language field in books: YES
[19-Nov-2025 16:12:58 UTC]    Format field in books: YES
[19-Nov-2025 16:12:58 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:58 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:58 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:58 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:58 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:58 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:58 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:58 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:58 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:58 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:12:58 UTC] ✅ إرجاع 0 تصنيف نشط
[19-Nov-2025 16:12:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:58 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:58 UTC] 📊 Database Info:
[19-Nov-2025 16:12:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:58 UTC]    Books columns count: 44
[19-Nov-2025 16:12:58 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:58 UTC]    Language field in books: YES
[19-Nov-2025 16:12:58 UTC]    Format field in books: YES
[19-Nov-2025 16:12:58 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:58 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:58 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:58 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:58 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:58 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:58 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:58 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:58 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:12:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:12:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:12:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:12:58 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:12:58 UTC] 📊 Database Info:
[19-Nov-2025 16:12:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:12:58 UTC]    Books columns count: 44
[19-Nov-2025 16:12:58 UTC]    Categories columns count: 7
[19-Nov-2025 16:12:58 UTC]    Language field in books: YES
[19-Nov-2025 16:12:58 UTC]    Format field in books: YES
[19-Nov-2025 16:12:58 UTC]    Description field in categories: YES
[19-Nov-2025 16:12:58 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:12:58 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:12:58 UTC]    Is_active field in books: YES
[19-Nov-2025 16:12:58 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:12:58 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:12:58 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:12:58 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:12:58 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:12:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:13:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:13:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:13:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:13:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:13:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:13:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:13:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:13:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:13:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:13:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:13:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:13:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:13:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:13:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:13:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:13:06 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:13:06 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:13:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:13:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:13:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:13:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:13:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:13:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:13:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:13:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:13:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:13:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:13:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:13:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:13:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:13:06 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:13:06 UTC] 📊 Database Info:
[19-Nov-2025 16:13:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:13:06 UTC]    Books columns count: 44
[19-Nov-2025 16:13:06 UTC]    Categories columns count: 7
[19-Nov-2025 16:13:06 UTC]    Language field in books: YES
[19-Nov-2025 16:13:06 UTC]    Format field in books: YES
[19-Nov-2025 16:13:06 UTC]    Description field in categories: YES
[19-Nov-2025 16:13:06 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:13:06 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:13:06 UTC]    Is_active field in books: YES
[19-Nov-2025 16:13:06 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:13:06 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:13:06 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:13:06 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:13:06 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:13:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:13:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:13:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:13:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:13:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:13:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:13:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:13:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:13:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:13:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:13:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:13:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:13:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:13:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:13:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:13:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:13:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:13:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:13:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:13:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:13:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:13:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:13:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:13:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:13:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:13:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:13:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:13:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:13:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:13:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:13:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:13:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:13:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:13:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:13:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:13:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:13:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:13:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:13:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:13:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:13:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:13:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:13:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:13:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:13:07 UTC] 📊 Database Info:
[19-Nov-2025 16:13:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:13:07 UTC]    Books columns count: 44
[19-Nov-2025 16:13:07 UTC]    Categories columns count: 7
[19-Nov-2025 16:13:07 UTC]    Language field in books: YES
[19-Nov-2025 16:13:07 UTC]    Format field in books: YES
[19-Nov-2025 16:13:07 UTC]    Description field in categories: YES
[19-Nov-2025 16:13:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:13:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:13:07 UTC]    Is_active field in books: YES
[19-Nov-2025 16:13:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:13:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:13:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:13:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:13:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:13:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:13:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:13:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:13:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:13:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:13:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:13:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:13:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:13:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:13:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:13:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:13:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:13:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:13:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:13:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:13:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:13:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:13:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:13:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:13:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:13:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:13:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:13:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:13:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:13:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:13:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:13:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:13:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:13:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:13:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:13:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:13:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:13:11 UTC] 📊 Database Info:
[19-Nov-2025 16:13:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:13:11 UTC]    Books columns count: 44
[19-Nov-2025 16:13:11 UTC]    Categories columns count: 7
[19-Nov-2025 16:13:11 UTC]    Language field in books: YES
[19-Nov-2025 16:13:11 UTC]    Format field in books: YES
[19-Nov-2025 16:13:11 UTC]    Description field in categories: YES
[19-Nov-2025 16:13:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:13:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:13:11 UTC]    Is_active field in books: YES
[19-Nov-2025 16:13:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:13:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:13:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:13:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:13:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:13:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:13:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:13:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:13:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:13:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:13:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:13:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:13:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:13:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:13:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:13:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:13:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:13:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:01 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:01 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:01 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:01 UTC] 📊 Database Info:
[19-Nov-2025 16:14:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:01 UTC]    Books columns count: 44
[19-Nov-2025 16:14:01 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:01 UTC]    Language field in books: YES
[19-Nov-2025 16:14:01 UTC]    Format field in books: YES
[19-Nov-2025 16:14:01 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:01 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:01 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:01 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:01 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:01 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:01 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:01 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:01 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:01 UTC] 🔄 Processing category - ID: , Name: test, Active: 1, Remove Image: NO
[19-Nov-2025 16:14:01 UTC] 🔍 Checking for duplicate category name: 'test'
[19-Nov-2025 16:14:01 UTC] ✅ No duplicate category name found
[19-Nov-2025 16:14:01 UTC] ✅ Using default category image: uploads/no-imagee.jpg
[19-Nov-2025 16:14:01 UTC] 🆕 Adding new category with active status: 1
[19-Nov-2025 16:14:01 UTC] ✅ New category added with ID: 4 and active status: 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:01 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:01 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:01 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:01 UTC] 📊 Database Info:
[19-Nov-2025 16:14:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:01 UTC]    Books columns count: 44
[19-Nov-2025 16:14:01 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:01 UTC]    Language field in books: YES
[19-Nov-2025 16:14:01 UTC]    Format field in books: YES
[19-Nov-2025 16:14:01 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:01 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:01 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:01 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:01 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:01 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:01 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:01 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:01 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:01 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 16:14:01 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 16:14:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:05 UTC] 📊 Database Info:
[19-Nov-2025 16:14:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:05 UTC]    Books columns count: 44
[19-Nov-2025 16:14:05 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:05 UTC]    Language field in books: YES
[19-Nov-2025 16:14:05 UTC]    Format field in books: YES
[19-Nov-2025 16:14:05 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:05 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:05 UTC] 📊 Database Info:
[19-Nov-2025 16:14:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:05 UTC]    Books columns count: 44
[19-Nov-2025 16:14:05 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:05 UTC]    Language field in books: YES
[19-Nov-2025 16:14:05 UTC]    Format field in books: YES
[19-Nov-2025 16:14:05 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:05 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:05 UTC] 📊 Database Info:
[19-Nov-2025 16:14:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:05 UTC]    Books columns count: 44
[19-Nov-2025 16:14:05 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:05 UTC]    Language field in books: YES
[19-Nov-2025 16:14:05 UTC]    Format field in books: YES
[19-Nov-2025 16:14:05 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:05 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:05 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:14:05 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:14:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:10 UTC] 📊 Database Info:
[19-Nov-2025 16:14:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:10 UTC]    Books columns count: 44
[19-Nov-2025 16:14:10 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:10 UTC]    Language field in books: YES
[19-Nov-2025 16:14:10 UTC]    Format field in books: YES
[19-Nov-2025 16:14:10 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:10 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:10 UTC] 🔄 Processing category - ID: 4, Name: test, Active: 0, Remove Image: NO
[19-Nov-2025 16:14:10 UTC] 🔍 Checking for duplicate category name: 'test'
[19-Nov-2025 16:14:10 UTC] ✅ No duplicate category name found
[19-Nov-2025 16:14:10 UTC] 📁 Keeping existing category image: uploads/no-imagee.jpg
[19-Nov-2025 16:14:10 UTC] 🔄 Updating existing category ID: 4
[19-Nov-2025 16:14:10 UTC] ✅ Category updated with new image and active status: 0
[19-Nov-2025 16:14:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:10 UTC] 📊 Database Info:
[19-Nov-2025 16:14:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:10 UTC]    Books columns count: 44
[19-Nov-2025 16:14:10 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:10 UTC]    Language field in books: YES
[19-Nov-2025 16:14:10 UTC]    Format field in books: YES
[19-Nov-2025 16:14:10 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:10 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:10 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 16:14:10 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 16:14:13 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:13 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:13 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:13 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:13 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:13 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:13 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:13 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:13 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:13 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:13 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:13 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:13 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:13 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:13 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:13 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:13 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:13 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:13 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:13 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:13 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:13 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:13 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:13 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:13 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:13 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:13 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:13 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:13 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:13 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:13 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:13 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:13 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:13 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:13 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:13 UTC] 📊 Database Info:
[19-Nov-2025 16:14:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:13 UTC]    Books columns count: 44
[19-Nov-2025 16:14:13 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:13 UTC]    Language field in books: YES
[19-Nov-2025 16:14:13 UTC]    Format field in books: YES
[19-Nov-2025 16:14:13 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:13 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:13 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:13 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:13 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:13 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:13 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:13 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:13 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:13 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:14:13 UTC] ✅ إرجاع 0 تصنيف نشط
[19-Nov-2025 16:14:13 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:13 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:13 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:13 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:13 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:13 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:13 UTC] 📊 Database Info:
[19-Nov-2025 16:14:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:13 UTC]    Books columns count: 44
[19-Nov-2025 16:14:13 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:13 UTC]    Language field in books: YES
[19-Nov-2025 16:14:13 UTC]    Format field in books: YES
[19-Nov-2025 16:14:13 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:13 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:13 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:13 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:13 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:13 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:13 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:13 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:13 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:13 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:13 UTC] 📊 Database Info:
[19-Nov-2025 16:14:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:13 UTC]    Books columns count: 44
[19-Nov-2025 16:14:13 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:13 UTC]    Language field in books: YES
[19-Nov-2025 16:14:13 UTC]    Format field in books: YES
[19-Nov-2025 16:14:13 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:13 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:13 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:13 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:13 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:13 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:13 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:13 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:13 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:17 UTC] 📊 Database Info:
[19-Nov-2025 16:14:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:17 UTC]    Books columns count: 44
[19-Nov-2025 16:14:17 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:17 UTC]    Language field in books: YES
[19-Nov-2025 16:14:17 UTC]    Format field in books: YES
[19-Nov-2025 16:14:17 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:17 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:17 UTC] 🔄 Processing category - ID: 4, Name: test, Active: 1, Remove Image: NO
[19-Nov-2025 16:14:17 UTC] 🔍 Checking for duplicate category name: 'test'
[19-Nov-2025 16:14:17 UTC] ✅ No duplicate category name found
[19-Nov-2025 16:14:17 UTC] 📁 Keeping existing category image: uploads/no-imagee.jpg
[19-Nov-2025 16:14:17 UTC] 🔄 Updating existing category ID: 4
[19-Nov-2025 16:14:17 UTC] ✅ Category updated with new image and active status: 1
[19-Nov-2025 16:14:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:18 UTC] 📊 Database Info:
[19-Nov-2025 16:14:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:18 UTC]    Books columns count: 44
[19-Nov-2025 16:14:18 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:18 UTC]    Language field in books: YES
[19-Nov-2025 16:14:18 UTC]    Format field in books: YES
[19-Nov-2025 16:14:18 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:18 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:18 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 16:14:18 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 16:14:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:42 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:42 UTC] 📊 Database Info:
[19-Nov-2025 16:14:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:42 UTC]    Books columns count: 44
[19-Nov-2025 16:14:42 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:42 UTC]    Language field in books: YES
[19-Nov-2025 16:14:42 UTC]    Format field in books: YES
[19-Nov-2025 16:14:42 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:42 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:42 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:42 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:42 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:42 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:42 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:42 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:42 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:45 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:45 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:45 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:45 UTC] 📊 Database Info:
[19-Nov-2025 16:14:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:45 UTC]    Books columns count: 44
[19-Nov-2025 16:14:45 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:45 UTC]    Language field in books: YES
[19-Nov-2025 16:14:45 UTC]    Format field in books: YES
[19-Nov-2025 16:14:45 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:45 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:45 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:45 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:45 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:45 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:45 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:45 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:45 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:49 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:49 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:49 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:49 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:49 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:49 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:49 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:49 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:49 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:49 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:49 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:49 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:49 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:49 UTC] 📊 Database Info:
[19-Nov-2025 16:14:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:49 UTC]    Books columns count: 44
[19-Nov-2025 16:14:49 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:49 UTC]    Language field in books: YES
[19-Nov-2025 16:14:49 UTC]    Format field in books: YES
[19-Nov-2025 16:14:49 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:49 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:49 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:49 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:49 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:49 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:49 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:49 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:49 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:49 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:14:49 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:14:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:49 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:49 UTC] 📊 Database Info:
[19-Nov-2025 16:14:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:49 UTC]    Books columns count: 44
[19-Nov-2025 16:14:49 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:49 UTC]    Language field in books: YES
[19-Nov-2025 16:14:49 UTC]    Format field in books: YES
[19-Nov-2025 16:14:49 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:49 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:49 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:49 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:49 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:49 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:49 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:49 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:49 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:49 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:49 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:49 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:49 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:49 UTC] 📊 Database Info:
[19-Nov-2025 16:14:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:49 UTC]    Books columns count: 44
[19-Nov-2025 16:14:49 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:49 UTC]    Language field in books: YES
[19-Nov-2025 16:14:49 UTC]    Format field in books: YES
[19-Nov-2025 16:14:49 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:49 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:49 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:49 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:49 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:49 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:49 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:49 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:49 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:50 UTC] 📊 Database Info:
[19-Nov-2025 16:14:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:50 UTC]    Books columns count: 44
[19-Nov-2025 16:14:50 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:50 UTC]    Language field in books: YES
[19-Nov-2025 16:14:50 UTC]    Format field in books: YES
[19-Nov-2025 16:14:50 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:50 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:56 UTC] 📊 Database Info:
[19-Nov-2025 16:14:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:56 UTC]    Books columns count: 44
[19-Nov-2025 16:14:56 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:56 UTC]    Language field in books: YES
[19-Nov-2025 16:14:56 UTC]    Format field in books: YES
[19-Nov-2025 16:14:56 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:56 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:57 UTC] 📊 Database Info:
[19-Nov-2025 16:14:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:57 UTC]    Books columns count: 44
[19-Nov-2025 16:14:57 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:57 UTC]    Language field in books: YES
[19-Nov-2025 16:14:57 UTC]    Format field in books: YES
[19-Nov-2025 16:14:57 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:57 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:59 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:59 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:59 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:59 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:59 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:14:59 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:59 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:59 UTC] 📊 Database Info:
[19-Nov-2025 16:14:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:59 UTC]    Books columns count: 44
[19-Nov-2025 16:14:59 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:59 UTC]    Language field in books: YES
[19-Nov-2025 16:14:59 UTC]    Format field in books: YES
[19-Nov-2025 16:14:59 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:59 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:59 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:59 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:59 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:59 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:59 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:59 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:59 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:59 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:59 UTC] 📊 Database Info:
[19-Nov-2025 16:14:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:59 UTC]    Books columns count: 44
[19-Nov-2025 16:14:59 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:59 UTC]    Language field in books: YES
[19-Nov-2025 16:14:59 UTC]    Format field in books: YES
[19-Nov-2025 16:14:59 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:59 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:59 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:59 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:59 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:59 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:59 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:59 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:59 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:14:59 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:14:59 UTC] 📊 Database Info:
[19-Nov-2025 16:14:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:14:59 UTC]    Books columns count: 44
[19-Nov-2025 16:14:59 UTC]    Categories columns count: 7
[19-Nov-2025 16:14:59 UTC]    Language field in books: YES
[19-Nov-2025 16:14:59 UTC]    Format field in books: YES
[19-Nov-2025 16:14:59 UTC]    Description field in categories: YES
[19-Nov-2025 16:14:59 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:14:59 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:14:59 UTC]    Is_active field in books: YES
[19-Nov-2025 16:14:59 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:14:59 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:14:59 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:14:59 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:14:59 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:14:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:14:59 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:14:59 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:15:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:15:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:15:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:15:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:15:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:15:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:15:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:15:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:15:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:15:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:15:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:15:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:15:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:15:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:15:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:15:00 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:15:00 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:15:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:15:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:15:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:15:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:15:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:15:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:15:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:15:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:15:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:15:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:15:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:15:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:15:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:15:00 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:15:00 UTC] 📊 Database Info:
[19-Nov-2025 16:15:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:15:00 UTC]    Books columns count: 44
[19-Nov-2025 16:15:00 UTC]    Categories columns count: 7
[19-Nov-2025 16:15:00 UTC]    Language field in books: YES
[19-Nov-2025 16:15:00 UTC]    Format field in books: YES
[19-Nov-2025 16:15:00 UTC]    Description field in categories: YES
[19-Nov-2025 16:15:00 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:15:00 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:15:00 UTC]    Is_active field in books: YES
[19-Nov-2025 16:15:00 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:15:00 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:15:00 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:15:00 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:15:00 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:15:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:15:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:15:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:15:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:15:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:15:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:15:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:15:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:15:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:15:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:15:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:15:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:15:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:15:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:15:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:15:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:15:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:15:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:15:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:15:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:15:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:15:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:15:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:15:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:15:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:15:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:15:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:15:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:15:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:15:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:15:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:15:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:15:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:15:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:15:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:15:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:15:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:15:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:15:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:15:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:15:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:15:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:15:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:15:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:15:11 UTC] 📊 Database Info:
[19-Nov-2025 16:15:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:15:11 UTC]    Books columns count: 44
[19-Nov-2025 16:15:11 UTC]    Categories columns count: 7
[19-Nov-2025 16:15:11 UTC]    Language field in books: YES
[19-Nov-2025 16:15:11 UTC]    Format field in books: YES
[19-Nov-2025 16:15:11 UTC]    Description field in categories: YES
[19-Nov-2025 16:15:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:15:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:15:11 UTC]    Is_active field in books: YES
[19-Nov-2025 16:15:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:15:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:15:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:15:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:15:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:15:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:15:13 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:15:13 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:15:13 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:15:13 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:15:13 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:15:13 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:15:13 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:15:13 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:15:13 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:15:13 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:15:13 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:15:13 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:15:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:15:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:15:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:15:13 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:15:13 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:15:13 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:15:13 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:15:13 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:15:13 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:15:13 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:15:13 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:15:13 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:15:13 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:15:13 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:15:13 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:15:13 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:15:13 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:15:13 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:15:13 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:15:13 UTC] 📊 Database Info:
[19-Nov-2025 16:15:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:15:13 UTC]    Books columns count: 44
[19-Nov-2025 16:15:13 UTC]    Categories columns count: 7
[19-Nov-2025 16:15:13 UTC]    Language field in books: YES
[19-Nov-2025 16:15:13 UTC]    Format field in books: YES
[19-Nov-2025 16:15:13 UTC]    Description field in categories: YES
[19-Nov-2025 16:15:13 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:15:13 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:15:13 UTC]    Is_active field in books: YES
[19-Nov-2025 16:15:13 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:15:13 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:15:13 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:15:13 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:15:13 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:15:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:15:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:15:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:15:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:15:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:15:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:15:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:15:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:15:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:15:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:15:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:15:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:15:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:15:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:15:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:15:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:15:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:15:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:15:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:15:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:15:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:15:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:15:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:15:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:15:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:15:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:15:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:15:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:15:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:15:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:15:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:15:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:15:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:15:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:15:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:15:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:15:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:15:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:15:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:15:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:15:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:15:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:15:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:15:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:15:50 UTC] 📊 Database Info:
[19-Nov-2025 16:15:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:15:50 UTC]    Books columns count: 44
[19-Nov-2025 16:15:50 UTC]    Categories columns count: 7
[19-Nov-2025 16:15:50 UTC]    Language field in books: YES
[19-Nov-2025 16:15:50 UTC]    Format field in books: YES
[19-Nov-2025 16:15:50 UTC]    Description field in categories: YES
[19-Nov-2025 16:15:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:15:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:15:50 UTC]    Is_active field in books: YES
[19-Nov-2025 16:15:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:15:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:15:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:15:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:15:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:15:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:15:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:15:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:15:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:15:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:15:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:15:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:15:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:15:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:15:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:15:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:15:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:15:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:15:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:15:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:15:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:15:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:15:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:15:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:15:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:15:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:15:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:15:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:15:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:15:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:15:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:15:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:15:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:15:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:15:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:15:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:15:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:15:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:15:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:15:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:15:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:15:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:15:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:15:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:15:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:15:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:15:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:15:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:15:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:15:51 UTC] 📊 Database Info:
[19-Nov-2025 16:15:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:15:51 UTC]    Books columns count: 44
[19-Nov-2025 16:15:51 UTC]    Categories columns count: 7
[19-Nov-2025 16:15:51 UTC]    Language field in books: YES
[19-Nov-2025 16:15:51 UTC]    Format field in books: YES
[19-Nov-2025 16:15:51 UTC]    Description field in categories: YES
[19-Nov-2025 16:15:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:15:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:15:51 UTC]    Is_active field in books: YES
[19-Nov-2025 16:15:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:15:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:15:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:15:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:15:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:15:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:15:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:15:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:15:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:15:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:15:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:15:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:15:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:15:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:15:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:15:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:15:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:15:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:15:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:15:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:15:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:15:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:15:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:15:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:15:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:15:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:15:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:15:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:15:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:15:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:15:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:15:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:15:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:15:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:15:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:15:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:15:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:15:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:15:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:15:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:15:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:15:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:15:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:15:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:15:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:15:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:15:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:15:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:15:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:15:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:15:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:15:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:15:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:15:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:15:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:15:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:15:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:15:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:15:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:15:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:15:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:15:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:15:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:15:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:15:56 UTC] 📊 Database Info:
[19-Nov-2025 16:15:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:15:56 UTC]    Books columns count: 44
[19-Nov-2025 16:15:56 UTC]    Categories columns count: 7
[19-Nov-2025 16:15:56 UTC]    Language field in books: YES
[19-Nov-2025 16:15:56 UTC]    Format field in books: YES
[19-Nov-2025 16:15:56 UTC]    Description field in categories: YES
[19-Nov-2025 16:15:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:15:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:15:56 UTC]    Is_active field in books: YES
[19-Nov-2025 16:15:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:15:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:15:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:15:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:15:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:15:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:15:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:15:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:15:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:15:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:15:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:15:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:15:56 UTC] 📊 Database Info:
[19-Nov-2025 16:15:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:15:56 UTC]    Books columns count: 44
[19-Nov-2025 16:15:56 UTC]    Categories columns count: 7
[19-Nov-2025 16:15:56 UTC]    Language field in books: YES
[19-Nov-2025 16:15:56 UTC]    Format field in books: YES
[19-Nov-2025 16:15:56 UTC]    Description field in categories: YES
[19-Nov-2025 16:15:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:15:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:15:56 UTC]    Is_active field in books: YES
[19-Nov-2025 16:15:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:15:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:15:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:15:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:15:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:15:56 UTC] 📊 Database Info:
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:15:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:15:56 UTC]    Books columns count: 44
[19-Nov-2025 16:15:56 UTC]    Categories columns count: 7
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:15:56 UTC]    Language field in books: YES
[19-Nov-2025 16:15:56 UTC]    Format field in books: YES
[19-Nov-2025 16:15:56 UTC]    Description field in categories: YES
[19-Nov-2025 16:15:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:15:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:15:56 UTC]    Is_active field in books: YES
[19-Nov-2025 16:15:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:15:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:15:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:15:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:15:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:15:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:15:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:15:56 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:15:56 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:15:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:15:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:15:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:15:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:15:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:15:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:15:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:15:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:15:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:15:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:15:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:15:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:15:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:15:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:15:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:15:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:15:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:15:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:15:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:15:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:15:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:15:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:15:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:15:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:15:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:15:57 UTC] 📊 Database Info:
[19-Nov-2025 16:15:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:15:57 UTC]    Books columns count: 44
[19-Nov-2025 16:15:57 UTC]    Categories columns count: 7
[19-Nov-2025 16:15:57 UTC]    Language field in books: YES
[19-Nov-2025 16:15:57 UTC]    Format field in books: YES
[19-Nov-2025 16:15:57 UTC]    Description field in categories: YES
[19-Nov-2025 16:15:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:15:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:15:57 UTC]    Is_active field in books: YES
[19-Nov-2025 16:15:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:15:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:15:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:15:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:15:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:15:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:16:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:16:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:16:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:16:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:16:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:16:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:16:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:16:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:16:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:16:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:16:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:16:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:16:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:16:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:16:05 UTC] 📊 Database Info:
[19-Nov-2025 16:16:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:16:05 UTC]    Books columns count: 44
[19-Nov-2025 16:16:05 UTC]    Categories columns count: 7
[19-Nov-2025 16:16:05 UTC]    Language field in books: YES
[19-Nov-2025 16:16:05 UTC]    Format field in books: YES
[19-Nov-2025 16:16:05 UTC]    Description field in categories: YES
[19-Nov-2025 16:16:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:16:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:16:05 UTC]    Is_active field in books: YES
[19-Nov-2025 16:16:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:16:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:16:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:16:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:16:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:16:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:16:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:16:05 UTC] 📊 Database Info:
[19-Nov-2025 16:16:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:16:05 UTC]    Books columns count: 44
[19-Nov-2025 16:16:05 UTC]    Categories columns count: 7
[19-Nov-2025 16:16:05 UTC]    Language field in books: YES
[19-Nov-2025 16:16:05 UTC]    Format field in books: YES
[19-Nov-2025 16:16:05 UTC]    Description field in categories: YES
[19-Nov-2025 16:16:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:16:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:16:05 UTC]    Is_active field in books: YES
[19-Nov-2025 16:16:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:16:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:16:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:16:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:16:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:16:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:16:05 UTC] 📊 Database Info:
[19-Nov-2025 16:16:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:16:05 UTC]    Books columns count: 44
[19-Nov-2025 16:16:05 UTC]    Categories columns count: 7
[19-Nov-2025 16:16:05 UTC]    Language field in books: YES
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:16:05 UTC]    Format field in books: YES
[19-Nov-2025 16:16:05 UTC]    Description field in categories: YES
[19-Nov-2025 16:16:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:16:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:16:05 UTC]    Is_active field in books: YES
[19-Nov-2025 16:16:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:16:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:16:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:16:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:16:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:16:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:16:05 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:16:05 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:16:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:16:05 UTC] 📊 Database Info:
[19-Nov-2025 16:16:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:16:05 UTC]    Books columns count: 44
[19-Nov-2025 16:16:05 UTC]    Categories columns count: 7
[19-Nov-2025 16:16:05 UTC]    Language field in books: YES
[19-Nov-2025 16:16:05 UTC]    Format field in books: YES
[19-Nov-2025 16:16:05 UTC]    Description field in categories: YES
[19-Nov-2025 16:16:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:16:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:16:05 UTC]    Is_active field in books: YES
[19-Nov-2025 16:16:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:16:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:16:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:16:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:16:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:16:05 UTC] 📊 Database Info:
[19-Nov-2025 16:16:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:16:05 UTC]    Books columns count: 44
[19-Nov-2025 16:16:05 UTC]    Categories columns count: 7
[19-Nov-2025 16:16:05 UTC]    Language field in books: YES
[19-Nov-2025 16:16:05 UTC]    Format field in books: YES
[19-Nov-2025 16:16:05 UTC]    Description field in categories: YES
[19-Nov-2025 16:16:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:16:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:16:05 UTC]    Is_active field in books: YES
[19-Nov-2025 16:16:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:16:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:16:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:16:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:16:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:16:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:16:05 UTC] 📊 Database Info:
[19-Nov-2025 16:16:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:16:05 UTC]    Books columns count: 44
[19-Nov-2025 16:16:05 UTC]    Categories columns count: 7
[19-Nov-2025 16:16:05 UTC]    Language field in books: YES
[19-Nov-2025 16:16:05 UTC]    Format field in books: YES
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:16:05 UTC]    Description field in categories: YES
[19-Nov-2025 16:16:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:16:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:16:05 UTC]    Is_active field in books: YES
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:16:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:16:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:16:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:16:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:16:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:16:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:16:05 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:16:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:16:05 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:16:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:16:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:16:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:16:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:16:22 UTC] 📊 Database Info:
[19-Nov-2025 16:16:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:16:22 UTC]    Books columns count: 44
[19-Nov-2025 16:16:22 UTC]    Categories columns count: 7
[19-Nov-2025 16:16:22 UTC]    Language field in books: YES
[19-Nov-2025 16:16:22 UTC]    Format field in books: YES
[19-Nov-2025 16:16:22 UTC]    Description field in categories: YES
[19-Nov-2025 16:16:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:16:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:16:22 UTC]    Is_active field in books: YES
[19-Nov-2025 16:16:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:16:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:16:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:16:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:16:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:16:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:16:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:16:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:23 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:16:23 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:16:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:23 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:16:23 UTC] 📊 Database Info:
[19-Nov-2025 16:16:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:16:23 UTC]    Books columns count: 44
[19-Nov-2025 16:16:23 UTC]    Categories columns count: 7
[19-Nov-2025 16:16:23 UTC]    Language field in books: YES
[19-Nov-2025 16:16:23 UTC]    Format field in books: YES
[19-Nov-2025 16:16:23 UTC]    Description field in categories: YES
[19-Nov-2025 16:16:23 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:16:23 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:16:23 UTC]    Is_active field in books: YES
[19-Nov-2025 16:16:23 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:16:23 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:16:23 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:16:23 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:16:23 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:16:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:16:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:16:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:16:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:16:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:16:38 UTC] 📊 Database Info:
[19-Nov-2025 16:16:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:16:38 UTC]    Books columns count: 44
[19-Nov-2025 16:16:38 UTC]    Categories columns count: 7
[19-Nov-2025 16:16:38 UTC]    Language field in books: YES
[19-Nov-2025 16:16:38 UTC]    Format field in books: YES
[19-Nov-2025 16:16:38 UTC]    Description field in categories: YES
[19-Nov-2025 16:16:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:16:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:16:38 UTC]    Is_active field in books: YES
[19-Nov-2025 16:16:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:16:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:16:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:16:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:16:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:16:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:16:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:16:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:39 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:16:39 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:16:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:39 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:16:39 UTC] 📊 Database Info:
[19-Nov-2025 16:16:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:16:39 UTC]    Books columns count: 44
[19-Nov-2025 16:16:39 UTC]    Categories columns count: 7
[19-Nov-2025 16:16:39 UTC]    Language field in books: YES
[19-Nov-2025 16:16:39 UTC]    Format field in books: YES
[19-Nov-2025 16:16:39 UTC]    Description field in categories: YES
[19-Nov-2025 16:16:39 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:16:39 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:16:39 UTC]    Is_active field in books: YES
[19-Nov-2025 16:16:39 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:16:39 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:16:39 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:16:39 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:16:39 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:16:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:16:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:16:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:16:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:16:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:16:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:16:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:16:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:16:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:16:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:16:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:16:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:16:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:16:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:16:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:16:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:16:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:16:51 UTC] 📊 Database Info:
[19-Nov-2025 16:16:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:16:51 UTC]    Books columns count: 44
[19-Nov-2025 16:16:51 UTC]    Categories columns count: 7
[19-Nov-2025 16:16:51 UTC]    Language field in books: YES
[19-Nov-2025 16:16:51 UTC]    Format field in books: YES
[19-Nov-2025 16:16:51 UTC]    Description field in categories: YES
[19-Nov-2025 16:16:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:16:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:16:51 UTC]    Is_active field in books: YES
[19-Nov-2025 16:16:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:16:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:16:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:16:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:16:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:16:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:16:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:16:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:16:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:16:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:16:52 UTC] 📊 Database Info:
[19-Nov-2025 16:16:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:16:52 UTC]    Books columns count: 44
[19-Nov-2025 16:16:52 UTC]    Categories columns count: 7
[19-Nov-2025 16:16:52 UTC]    Language field in books: YES
[19-Nov-2025 16:16:52 UTC]    Format field in books: YES
[19-Nov-2025 16:16:52 UTC]    Description field in categories: YES
[19-Nov-2025 16:16:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:16:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:16:52 UTC]    Is_active field in books: YES
[19-Nov-2025 16:16:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:16:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:16:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:16:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:16:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:16:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:16:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:16:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:16:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:16:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:16:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:16:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:16:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:16:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:16:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:16:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:16:55 UTC] 📊 Database Info:
[19-Nov-2025 16:16:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:16:55 UTC]    Books columns count: 44
[19-Nov-2025 16:16:55 UTC]    Categories columns count: 7
[19-Nov-2025 16:16:55 UTC]    Language field in books: YES
[19-Nov-2025 16:16:55 UTC]    Format field in books: YES
[19-Nov-2025 16:16:55 UTC]    Description field in categories: YES
[19-Nov-2025 16:16:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:16:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:16:55 UTC]    Is_active field in books: YES
[19-Nov-2025 16:16:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:16:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:16:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:16:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:16:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:16:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:16:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:16:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:16:55 UTC] 📊 Database Info:
[19-Nov-2025 16:16:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:16:55 UTC]    Books columns count: 44
[19-Nov-2025 16:16:55 UTC]    Categories columns count: 7
[19-Nov-2025 16:16:55 UTC]    Language field in books: YES
[19-Nov-2025 16:16:55 UTC]    Format field in books: YES
[19-Nov-2025 16:16:55 UTC]    Description field in categories: YES
[19-Nov-2025 16:16:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:16:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:16:55 UTC]    Is_active field in books: YES
[19-Nov-2025 16:16:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:16:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:16:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:16:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:16:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:16:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:16:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:16:55 UTC] 📊 Database Info:
[19-Nov-2025 16:16:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:16:55 UTC]    Books columns count: 44
[19-Nov-2025 16:16:55 UTC]    Categories columns count: 7
[19-Nov-2025 16:16:55 UTC]    Language field in books: YES
[19-Nov-2025 16:16:55 UTC]    Format field in books: YES
[19-Nov-2025 16:16:55 UTC]    Description field in categories: YES
[19-Nov-2025 16:16:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:16:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:16:55 UTC]    Is_active field in books: YES
[19-Nov-2025 16:16:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:16:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:16:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:16:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:16:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:16:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:16:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:16:55 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:16:55 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:16:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:16:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:16:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:16:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:16:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:16:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:16:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:16:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:16:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:16:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:16:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:16:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:16:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:16:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:16:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:16:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:16:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:16:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:16:56 UTC] 📊 Database Info:
[19-Nov-2025 16:16:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:16:56 UTC]    Books columns count: 44
[19-Nov-2025 16:16:56 UTC]    Categories columns count: 7
[19-Nov-2025 16:16:56 UTC]    Language field in books: YES
[19-Nov-2025 16:16:56 UTC]    Format field in books: YES
[19-Nov-2025 16:16:56 UTC]    Description field in categories: YES
[19-Nov-2025 16:16:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:16:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:16:56 UTC]    Is_active field in books: YES
[19-Nov-2025 16:16:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:16:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:16:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:16:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:16:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:16:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:17:13 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:13 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:13 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:13 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:13 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:13 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:13 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:13 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:13 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:13 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:13 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:13 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:17:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:13 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:17:13 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:17:13 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:13 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:13 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:13 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:13 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:13 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:13 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:13 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:13 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:13 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:13 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:13 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:13 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:13 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:17:13 UTC] 📊 Database Info:
[19-Nov-2025 16:17:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:17:13 UTC]    Books columns count: 44
[19-Nov-2025 16:17:13 UTC]    Categories columns count: 7
[19-Nov-2025 16:17:13 UTC]    Language field in books: YES
[19-Nov-2025 16:17:13 UTC]    Format field in books: YES
[19-Nov-2025 16:17:13 UTC]    Description field in categories: YES
[19-Nov-2025 16:17:13 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:17:13 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:17:13 UTC]    Is_active field in books: YES
[19-Nov-2025 16:17:13 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:17:13 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:17:13 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:17:13 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:17:13 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:17:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:17:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:17:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:17:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:17:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:17:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:17:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:17:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:17:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:17:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:17:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:17:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:17:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:17:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:17:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:17:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:17:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:17:31 UTC] 📊 Database Info:
[19-Nov-2025 16:17:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:17:31 UTC]    Books columns count: 44
[19-Nov-2025 16:17:31 UTC]    Categories columns count: 7
[19-Nov-2025 16:17:31 UTC]    Language field in books: YES
[19-Nov-2025 16:17:31 UTC]    Format field in books: YES
[19-Nov-2025 16:17:31 UTC]    Description field in categories: YES
[19-Nov-2025 16:17:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:17:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:17:31 UTC]    Is_active field in books: YES
[19-Nov-2025 16:17:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:17:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:17:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:17:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:17:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:17:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:17:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:17:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:17:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:17:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:17:32 UTC] 📊 Database Info:
[19-Nov-2025 16:17:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:17:32 UTC]    Books columns count: 44
[19-Nov-2025 16:17:32 UTC]    Categories columns count: 7
[19-Nov-2025 16:17:32 UTC]    Language field in books: YES
[19-Nov-2025 16:17:32 UTC]    Format field in books: YES
[19-Nov-2025 16:17:32 UTC]    Description field in categories: YES
[19-Nov-2025 16:17:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:17:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:17:32 UTC]    Is_active field in books: YES
[19-Nov-2025 16:17:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:17:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:17:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:17:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:17:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:17:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:17:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:17:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:17:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:17:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:17:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:17:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:17:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:17:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:17:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:17:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:17:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:17:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:17:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:17:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:36 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:17:36 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:17:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:37 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:17:37 UTC] 📊 Database Info:
[19-Nov-2025 16:17:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:17:37 UTC]    Books columns count: 44
[19-Nov-2025 16:17:37 UTC]    Categories columns count: 7
[19-Nov-2025 16:17:37 UTC]    Language field in books: YES
[19-Nov-2025 16:17:37 UTC]    Format field in books: YES
[19-Nov-2025 16:17:37 UTC]    Description field in categories: YES
[19-Nov-2025 16:17:37 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:17:37 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:17:37 UTC]    Is_active field in books: YES
[19-Nov-2025 16:17:37 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:17:37 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:17:37 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:17:37 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:17:37 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:17:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:17:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:17:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:17:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:17:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:17:51 UTC] 📊 Database Info:
[19-Nov-2025 16:17:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:17:51 UTC]    Books columns count: 44
[19-Nov-2025 16:17:51 UTC]    Categories columns count: 7
[19-Nov-2025 16:17:51 UTC]    Language field in books: YES
[19-Nov-2025 16:17:51 UTC]    Format field in books: YES
[19-Nov-2025 16:17:51 UTC]    Description field in categories: YES
[19-Nov-2025 16:17:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:17:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:17:51 UTC]    Is_active field in books: YES
[19-Nov-2025 16:17:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:17:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:17:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:17:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:17:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:17:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:17:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:17:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:53 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:17:53 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:17:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:53 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:17:53 UTC] 📊 Database Info:
[19-Nov-2025 16:17:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:17:53 UTC]    Books columns count: 44
[19-Nov-2025 16:17:53 UTC]    Categories columns count: 7
[19-Nov-2025 16:17:53 UTC]    Language field in books: YES
[19-Nov-2025 16:17:53 UTC]    Format field in books: YES
[19-Nov-2025 16:17:53 UTC]    Description field in categories: YES
[19-Nov-2025 16:17:53 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:17:53 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:17:53 UTC]    Is_active field in books: YES
[19-Nov-2025 16:17:53 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:17:53 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:17:53 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:17:53 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:17:53 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:17:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:17:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:17:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:17:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:17:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:17:55 UTC] 📊 Database Info:
[19-Nov-2025 16:17:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:17:55 UTC]    Books columns count: 44
[19-Nov-2025 16:17:55 UTC]    Categories columns count: 7
[19-Nov-2025 16:17:55 UTC]    Language field in books: YES
[19-Nov-2025 16:17:55 UTC]    Format field in books: YES
[19-Nov-2025 16:17:55 UTC]    Description field in categories: YES
[19-Nov-2025 16:17:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:17:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:17:55 UTC]    Is_active field in books: YES
[19-Nov-2025 16:17:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:17:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:17:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:17:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:17:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:17:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:17:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:17:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:17:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:17:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:17:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:17:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:17:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:17:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:17:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:17:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:17:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:17:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:17:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:17:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:17:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:17:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:17:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:17:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:17:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:17:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:17:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:17:57 UTC] 📊 Database Info:
[19-Nov-2025 16:17:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:17:57 UTC]    Books columns count: 44
[19-Nov-2025 16:17:57 UTC]    Categories columns count: 7
[19-Nov-2025 16:17:57 UTC]    Language field in books: YES
[19-Nov-2025 16:17:57 UTC]    Format field in books: YES
[19-Nov-2025 16:17:57 UTC]    Description field in categories: YES
[19-Nov-2025 16:17:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:17:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:17:57 UTC]    Is_active field in books: YES
[19-Nov-2025 16:17:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:17:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:17:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:17:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:17:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:17:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:17:57 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:17:57 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:17:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:17:57 UTC] 📊 Database Info:
[19-Nov-2025 16:17:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:17:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:17:57 UTC] 📊 Database Info:
[19-Nov-2025 16:17:57 UTC]    Books columns count: 44
[19-Nov-2025 16:17:57 UTC]    Categories columns count: 7
[19-Nov-2025 16:17:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:17:57 UTC]    Language field in books: YES
[19-Nov-2025 16:17:57 UTC]    Books columns count: 44
[19-Nov-2025 16:17:57 UTC]    Format field in books: YES
[19-Nov-2025 16:17:57 UTC]    Categories columns count: 7
[19-Nov-2025 16:17:57 UTC]    Description field in categories: YES
[19-Nov-2025 16:17:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:17:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:17:57 UTC]    Language field in books: YES
[19-Nov-2025 16:17:57 UTC]    Is_active field in books: YES
[19-Nov-2025 16:17:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:17:57 UTC]    Format field in books: YES
[19-Nov-2025 16:17:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:17:57 UTC]    Description field in categories: YES
[19-Nov-2025 16:17:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:17:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:17:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:17:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:17:57 UTC]    Is_active field in books: YES
[19-Nov-2025 16:17:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:17:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:17:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:17:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:17:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:17:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:17:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:17:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:17:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:17:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:17:58 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:17:58 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:17:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:17:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:17:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:17:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:17:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:17:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:17:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:17:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:17:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:17:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:17:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:17:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:17:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:17:58 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:17:58 UTC] 📊 Database Info:
[19-Nov-2025 16:17:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:17:58 UTC]    Books columns count: 44
[19-Nov-2025 16:17:58 UTC]    Categories columns count: 7
[19-Nov-2025 16:17:58 UTC]    Language field in books: YES
[19-Nov-2025 16:17:58 UTC]    Format field in books: YES
[19-Nov-2025 16:17:58 UTC]    Description field in categories: YES
[19-Nov-2025 16:17:58 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:17:58 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:17:58 UTC]    Is_active field in books: YES
[19-Nov-2025 16:17:58 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:17:58 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:17:58 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:17:58 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:17:58 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:17:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:18:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:18:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:18:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:18:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:18:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:18:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:18:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:18:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:18:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:18:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:18:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:18:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:18:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:18:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:18:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:18:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:18:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:18:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:18:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:18:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:18:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:18:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:18:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:18:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:18:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:18:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:18:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:18:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:18:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:18:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:18:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:18:08 UTC] 📊 Database Info:
[19-Nov-2025 16:18:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:18:08 UTC]    Books columns count: 44
[19-Nov-2025 16:18:08 UTC]    Categories columns count: 7
[19-Nov-2025 16:18:08 UTC]    Language field in books: YES
[19-Nov-2025 16:18:08 UTC]    Format field in books: YES
[19-Nov-2025 16:18:08 UTC]    Description field in categories: YES
[19-Nov-2025 16:18:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:18:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:18:08 UTC]    Is_active field in books: YES
[19-Nov-2025 16:18:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:18:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:18:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:18:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:18:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:18:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:18:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:18:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:18:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:18:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:18:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:18:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:18:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:18:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:18:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:18:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:18:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:18:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:18:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:18:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:18:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:18:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:18:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:18:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:18:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:18:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:18:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:18:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:18:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:18:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:18:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:18:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:18:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:18:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:18:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:18:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:18:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:18:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:18:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:18:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:18:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:18:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:18:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:18:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:18:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:18:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:18:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:18:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:18:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:18:10 UTC] 📊 Database Info:
[19-Nov-2025 16:18:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:18:10 UTC]    Books columns count: 44
[19-Nov-2025 16:18:10 UTC]    Categories columns count: 7
[19-Nov-2025 16:18:10 UTC]    Language field in books: YES
[19-Nov-2025 16:18:10 UTC]    Format field in books: YES
[19-Nov-2025 16:18:10 UTC]    Description field in categories: YES
[19-Nov-2025 16:18:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:18:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:18:10 UTC]    Is_active field in books: YES
[19-Nov-2025 16:18:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:18:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:18:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:18:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:18:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:18:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:18:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:18:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:18:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:18:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:18:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:18:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:18:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:18:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:18:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:18:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:18:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:18:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:18:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:18:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:18:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:18:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:18:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:18:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:18:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:18:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:18:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:18:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:18:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:18:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:18:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:18:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:18:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:18:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:18:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:18:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:18:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:18:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:18:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:18:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:18:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:18:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:18:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:18:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:18:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:18:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:18:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:18:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:18:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:18:15 UTC] 📊 Database Info:
[19-Nov-2025 16:18:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:18:15 UTC]    Books columns count: 44
[19-Nov-2025 16:18:15 UTC]    Categories columns count: 7
[19-Nov-2025 16:18:15 UTC]    Language field in books: YES
[19-Nov-2025 16:18:15 UTC]    Format field in books: YES
[19-Nov-2025 16:18:15 UTC]    Description field in categories: YES
[19-Nov-2025 16:18:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:18:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:18:15 UTC]    Is_active field in books: YES
[19-Nov-2025 16:18:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:18:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:18:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:18:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:18:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:18:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:18:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:18:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:18:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:18:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:18:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:18:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:18:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:18:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:18:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:18:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:18:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:18:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:18:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:18:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:18:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:18:25 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:18:25 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:18:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:18:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:18:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:18:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:18:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:18:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:18:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:18:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:18:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:18:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:18:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:18:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:18:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:18:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:18:25 UTC] 📊 Database Info:
[19-Nov-2025 16:18:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:18:25 UTC]    Books columns count: 44
[19-Nov-2025 16:18:25 UTC]    Categories columns count: 7
[19-Nov-2025 16:18:25 UTC]    Language field in books: YES
[19-Nov-2025 16:18:25 UTC]    Format field in books: YES
[19-Nov-2025 16:18:25 UTC]    Description field in categories: YES
[19-Nov-2025 16:18:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:18:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:18:25 UTC]    Is_active field in books: YES
[19-Nov-2025 16:18:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:18:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:18:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:18:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:18:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:18:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:18:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:18:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:18:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:18:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:18:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:18:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:18:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:18:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:18:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:18:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:18:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:18:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:18:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:18:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:18:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:18:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:18:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:18:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:18:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:18:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:18:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:18:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:18:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:18:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:18:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:18:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:18:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:18:27 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:18:27 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:18:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:18:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:18:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:18:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:18:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:18:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:18:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:18:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:18:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:18:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:18:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:18:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:18:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:18:27 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:18:27 UTC] 📊 Database Info:
[19-Nov-2025 16:18:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:18:27 UTC]    Books columns count: 44
[19-Nov-2025 16:18:27 UTC]    Categories columns count: 7
[19-Nov-2025 16:18:27 UTC]    Language field in books: YES
[19-Nov-2025 16:18:27 UTC]    Format field in books: YES
[19-Nov-2025 16:18:27 UTC]    Description field in categories: YES
[19-Nov-2025 16:18:27 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:18:27 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:18:27 UTC]    Is_active field in books: YES
[19-Nov-2025 16:18:27 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:18:27 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:18:27 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:18:27 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:18:27 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:18:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:18:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:18:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:18:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:18:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:18:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:18:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:18:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:18:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:18:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:18:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:18:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:18:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:18:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:18:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:18:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:18:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:18:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:18:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:18:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:18:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:18:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:18:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:18:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:18:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:18:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:18:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:18:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:18:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:18:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:18:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:18:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:18:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:18:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:18:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:18:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:18:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:18:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:18:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:18:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:18:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:18:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:18:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:18:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:18:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:18:32 UTC] 📊 Database Info:
[19-Nov-2025 16:18:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:18:32 UTC]    Books columns count: 44
[19-Nov-2025 16:18:32 UTC]    Categories columns count: 7
[19-Nov-2025 16:18:32 UTC]    Language field in books: YES
[19-Nov-2025 16:18:32 UTC]    Format field in books: YES
[19-Nov-2025 16:18:32 UTC]    Description field in categories: YES
[19-Nov-2025 16:18:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:18:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:18:32 UTC]    Is_active field in books: YES
[19-Nov-2025 16:18:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:18:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:18:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:18:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:18:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:18:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:18:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:18:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:18:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:18:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:18:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:18:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:18:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:18:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:18:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:18:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:18:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:18:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:19:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:19:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:19:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:19:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:19:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:19:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:19:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:19:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:19:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:19:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:19:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:19:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:19:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:19:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:19:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:19:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:19:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:19:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:19:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:19:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:19:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:19:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:19:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:19:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:19:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:19:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:19:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:19:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:19:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:19:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:19:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:19:34 UTC] 📊 Database Info:
[19-Nov-2025 16:19:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:19:34 UTC]    Books columns count: 44
[19-Nov-2025 16:19:34 UTC]    Categories columns count: 7
[19-Nov-2025 16:19:34 UTC]    Language field in books: YES
[19-Nov-2025 16:19:34 UTC]    Format field in books: YES
[19-Nov-2025 16:19:34 UTC]    Description field in categories: YES
[19-Nov-2025 16:19:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:19:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:19:34 UTC]    Is_active field in books: YES
[19-Nov-2025 16:19:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:19:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:19:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:19:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:19:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:19:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:20:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:20:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:20:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:20:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:20:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:20:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:20:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:20:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:20:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:20:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:20:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:20:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:20:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:20:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:20:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:20:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:20:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:20:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:20:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:20:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:20:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:20:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:20:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:20:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:20:04 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:20:04 UTC] 📊 Database Info:
[19-Nov-2025 16:20:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:20:04 UTC]    Books columns count: 44
[19-Nov-2025 16:20:04 UTC]    Categories columns count: 7
[19-Nov-2025 16:20:04 UTC]    Language field in books: YES
[19-Nov-2025 16:20:04 UTC]    Format field in books: YES
[19-Nov-2025 16:20:04 UTC]    Description field in categories: YES
[19-Nov-2025 16:20:04 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:20:04 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:20:04 UTC]    Is_active field in books: YES
[19-Nov-2025 16:20:04 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:20:04 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:20:04 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:20:04 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:20:04 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:20:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:20:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:20:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:20:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:20:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:20:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:20:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:20:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:20:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:20:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:20:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:20:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:20:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:20:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:20:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:20:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:20:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:20:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:20:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:20:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:20:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:20:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:20:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:20:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:20:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:20:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:20:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:20:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:20:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:20:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:20:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:20:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:20:05 UTC] 📊 Database Info:
[19-Nov-2025 16:20:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:20:05 UTC]    Books columns count: 44
[19-Nov-2025 16:20:05 UTC]    Categories columns count: 7
[19-Nov-2025 16:20:05 UTC]    Language field in books: YES
[19-Nov-2025 16:20:05 UTC]    Format field in books: YES
[19-Nov-2025 16:20:05 UTC]    Description field in categories: YES
[19-Nov-2025 16:20:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:20:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:20:05 UTC]    Is_active field in books: YES
[19-Nov-2025 16:20:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:20:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:20:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:20:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:20:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:20:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:20:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:20:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:20:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:20:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:20:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:20:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:20:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:20:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:20:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:20:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:20:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:20:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:20:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:20:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:20:09 UTC] 📊 Database Info:
[19-Nov-2025 16:20:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:20:09 UTC]    Books columns count: 44
[19-Nov-2025 16:20:09 UTC]    Categories columns count: 7
[19-Nov-2025 16:20:09 UTC]    Language field in books: YES
[19-Nov-2025 16:20:09 UTC]    Format field in books: YES
[19-Nov-2025 16:20:09 UTC]    Description field in categories: YES
[19-Nov-2025 16:20:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:20:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:20:09 UTC]    Is_active field in books: YES
[19-Nov-2025 16:20:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:20:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:20:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:20:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:20:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:20:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:20:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:20:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:20:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:20:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:20:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:20:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:20:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:20:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:20:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:20:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:20:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:20:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:20:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:20:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:20:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:20:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:20:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:20:09 UTC] 📊 Database Info:
[19-Nov-2025 16:20:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:20:09 UTC]    Books columns count: 44
[19-Nov-2025 16:20:09 UTC]    Categories columns count: 7
[19-Nov-2025 16:20:09 UTC]    Language field in books: YES
[19-Nov-2025 16:20:09 UTC]    Format field in books: YES
[19-Nov-2025 16:20:09 UTC]    Description field in categories: YES
[19-Nov-2025 16:20:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:20:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:20:09 UTC]    Is_active field in books: YES
[19-Nov-2025 16:20:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:20:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:20:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:20:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:20:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:20:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:24:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:24:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:24:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:24:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:24:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:24:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:24:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:24:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:24:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:24:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:24:18 UTC] 📊 Database Info:
[19-Nov-2025 16:24:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:24:18 UTC]    Books columns count: 44
[19-Nov-2025 16:24:18 UTC]    Categories columns count: 7
[19-Nov-2025 16:24:18 UTC]    Language field in books: YES
[19-Nov-2025 16:24:18 UTC]    Format field in books: YES
[19-Nov-2025 16:24:18 UTC]    Description field in categories: YES
[19-Nov-2025 16:24:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:24:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:24:18 UTC]    Is_active field in books: YES
[19-Nov-2025 16:24:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:24:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:24:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:24:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:24:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:24:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:24:18 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 16:24:18 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 16:24:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:24:18 UTC] 📊 Database Info:
[19-Nov-2025 16:24:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:24:18 UTC]    Books columns count: 44
[19-Nov-2025 16:24:18 UTC]    Categories columns count: 7
[19-Nov-2025 16:24:18 UTC]    Language field in books: YES
[19-Nov-2025 16:24:18 UTC]    Format field in books: YES
[19-Nov-2025 16:24:18 UTC]    Description field in categories: YES
[19-Nov-2025 16:24:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:24:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:24:18 UTC]    Is_active field in books: YES
[19-Nov-2025 16:24:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:24:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:24:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:24:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:24:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:24:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:24:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:24:18 UTC] 📊 Database Info:
[19-Nov-2025 16:24:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:24:18 UTC]    Books columns count: 44
[19-Nov-2025 16:24:18 UTC]    Categories columns count: 7
[19-Nov-2025 16:24:18 UTC]    Language field in books: YES
[19-Nov-2025 16:24:18 UTC]    Format field in books: YES
[19-Nov-2025 16:24:18 UTC]    Description field in categories: YES
[19-Nov-2025 16:24:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:24:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:24:18 UTC]    Is_active field in books: YES
[19-Nov-2025 16:24:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:24:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:24:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:24:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:24:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:24:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:24:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:24:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:24:18 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 16:24:18 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 16:24:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:24:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:24:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:24:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:24:41 UTC] 📊 Database Info:
[19-Nov-2025 16:24:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:24:41 UTC]    Books columns count: 44
[19-Nov-2025 16:24:41 UTC]    Categories columns count: 7
[19-Nov-2025 16:24:41 UTC]    Language field in books: YES
[19-Nov-2025 16:24:41 UTC]    Format field in books: YES
[19-Nov-2025 16:24:41 UTC]    Description field in categories: YES
[19-Nov-2025 16:24:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:24:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:24:41 UTC]    Is_active field in books: YES
[19-Nov-2025 16:24:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:24:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:24:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:24:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:24:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:24:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:24:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:24:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:24:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:24:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:24:41 UTC] 📊 Database Info:
[19-Nov-2025 16:24:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:24:41 UTC]    Books columns count: 44
[19-Nov-2025 16:24:41 UTC]    Categories columns count: 7
[19-Nov-2025 16:24:41 UTC]    Language field in books: YES
[19-Nov-2025 16:24:41 UTC]    Format field in books: YES
[19-Nov-2025 16:24:41 UTC]    Description field in categories: YES
[19-Nov-2025 16:24:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:24:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:24:41 UTC]    Is_active field in books: YES
[19-Nov-2025 16:24:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:24:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:24:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:24:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:24:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:24:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:24:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:24:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:24:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:24:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:24:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:24:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:24:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:24:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:24:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:24:48 UTC] 📊 Database Info:
[19-Nov-2025 16:24:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:24:48 UTC]    Books columns count: 44
[19-Nov-2025 16:24:48 UTC]    Categories columns count: 7
[19-Nov-2025 16:24:48 UTC]    Language field in books: YES
[19-Nov-2025 16:24:48 UTC]    Format field in books: YES
[19-Nov-2025 16:24:48 UTC]    Description field in categories: YES
[19-Nov-2025 16:24:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:24:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:24:48 UTC]    Is_active field in books: YES
[19-Nov-2025 16:24:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:24:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:24:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:24:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:24:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:24:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:24:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:24:48 UTC] 📊 Database Info:
[19-Nov-2025 16:24:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:24:48 UTC]    Books columns count: 44
[19-Nov-2025 16:24:48 UTC]    Categories columns count: 7
[19-Nov-2025 16:24:48 UTC]    Language field in books: YES
[19-Nov-2025 16:24:48 UTC]    Format field in books: YES
[19-Nov-2025 16:24:48 UTC]    Description field in categories: YES
[19-Nov-2025 16:24:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:24:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:24:48 UTC]    Is_active field in books: YES
[19-Nov-2025 16:24:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:24:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:24:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:24:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:24:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:24:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:24:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:24:48 UTC] 📊 Database Info:
[19-Nov-2025 16:24:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:24:48 UTC]    Books columns count: 44
[19-Nov-2025 16:24:48 UTC]    Categories columns count: 7
[19-Nov-2025 16:24:48 UTC]    Language field in books: YES
[19-Nov-2025 16:24:48 UTC]    Format field in books: YES
[19-Nov-2025 16:24:48 UTC]    Description field in categories: YES
[19-Nov-2025 16:24:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:24:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:24:48 UTC]    Is_active field in books: YES
[19-Nov-2025 16:24:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:24:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:24:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:24:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:24:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:24:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:24:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:24:48 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:24:48 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:24:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:24:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:24:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:24:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:24:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:24:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:24:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:24:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:24:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:24:50 UTC] 📊 Database Info:
[19-Nov-2025 16:24:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:24:50 UTC]    Books columns count: 44
[19-Nov-2025 16:24:50 UTC]    Categories columns count: 7
[19-Nov-2025 16:24:50 UTC]    Language field in books: YES
[19-Nov-2025 16:24:50 UTC]    Format field in books: YES
[19-Nov-2025 16:24:50 UTC]    Description field in categories: YES
[19-Nov-2025 16:24:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:24:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:24:50 UTC]    Is_active field in books: YES
[19-Nov-2025 16:24:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:24:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:24:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:24:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:24:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:24:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:24:50 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:24:50 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:24:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:24:50 UTC] 📊 Database Info:
[19-Nov-2025 16:24:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:24:50 UTC]    Books columns count: 44
[19-Nov-2025 16:24:50 UTC]    Categories columns count: 7
[19-Nov-2025 16:24:50 UTC]    Language field in books: YES
[19-Nov-2025 16:24:50 UTC]    Format field in books: YES
[19-Nov-2025 16:24:50 UTC]    Description field in categories: YES
[19-Nov-2025 16:24:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:24:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:24:50 UTC]    Is_active field in books: YES
[19-Nov-2025 16:24:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:24:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:24:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:24:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:24:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:24:50 UTC] 📊 Database Info:
[19-Nov-2025 16:24:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:24:50 UTC]    Books columns count: 44
[19-Nov-2025 16:24:50 UTC]    Categories columns count: 7
[19-Nov-2025 16:24:50 UTC]    Language field in books: YES
[19-Nov-2025 16:24:50 UTC]    Format field in books: YES
[19-Nov-2025 16:24:50 UTC]    Description field in categories: YES
[19-Nov-2025 16:24:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:24:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:24:50 UTC]    Is_active field in books: YES
[19-Nov-2025 16:24:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:24:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:24:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:24:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:24:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:24:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:24:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:24:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:24:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:24:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:24:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:24:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:24:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:24:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:24:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:24:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:24:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:24:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:24:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:24:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:24:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:24:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:24:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:24:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:24:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:24:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:24:51 UTC] 📊 Database Info:
[19-Nov-2025 16:24:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:24:51 UTC]    Books columns count: 44
[19-Nov-2025 16:24:51 UTC]    Categories columns count: 7
[19-Nov-2025 16:24:51 UTC]    Language field in books: YES
[19-Nov-2025 16:24:51 UTC]    Format field in books: YES
[19-Nov-2025 16:24:51 UTC]    Description field in categories: YES
[19-Nov-2025 16:24:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:24:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:24:51 UTC]    Is_active field in books: YES
[19-Nov-2025 16:24:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:24:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:24:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:24:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:24:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:24:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:24:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:24:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:24:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:24:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:24:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:24:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:24:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:24:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:24:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:24:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:24:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:24:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:25:19 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:25:19 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:25:19 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:25:19 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:25:19 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:25:19 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:25:19 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:25:19 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:25:19 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:25:19 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:25:19 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:25:19 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:25:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:25:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:25:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:25:19 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:25:19 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:25:19 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:25:19 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:25:19 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:25:19 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:25:19 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:25:19 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:25:19 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:25:19 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:25:19 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:25:19 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:25:19 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:25:19 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:25:19 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:25:19 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:25:19 UTC] 📊 Database Info:
[19-Nov-2025 16:25:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:25:19 UTC]    Books columns count: 44
[19-Nov-2025 16:25:19 UTC]    Categories columns count: 7
[19-Nov-2025 16:25:19 UTC]    Language field in books: YES
[19-Nov-2025 16:25:19 UTC]    Format field in books: YES
[19-Nov-2025 16:25:19 UTC]    Description field in categories: YES
[19-Nov-2025 16:25:19 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:25:19 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:25:19 UTC]    Is_active field in books: YES
[19-Nov-2025 16:25:19 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:25:19 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:25:19 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:25:19 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:25:19 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:25:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:25:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:25:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:25:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:25:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:25:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:25:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:25:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:25:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:25:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:25:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:25:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:25:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:25:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:25:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:25:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:25:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:25:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:25:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:25:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:25:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:25:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:25:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:25:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:25:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:25:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:25:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:25:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:25:27 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:25:27 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:25:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:25:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:25:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:25:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:25:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:25:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:25:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:25:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:25:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:25:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:25:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:25:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:25:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:25:28 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:25:28 UTC] 📊 Database Info:
[19-Nov-2025 16:25:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:25:28 UTC]    Books columns count: 44
[19-Nov-2025 16:25:28 UTC]    Categories columns count: 7
[19-Nov-2025 16:25:28 UTC]    Language field in books: YES
[19-Nov-2025 16:25:28 UTC]    Format field in books: YES
[19-Nov-2025 16:25:28 UTC]    Description field in categories: YES
[19-Nov-2025 16:25:28 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:25:28 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:25:28 UTC]    Is_active field in books: YES
[19-Nov-2025 16:25:28 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:25:28 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:25:28 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:25:28 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:25:28 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:25:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:25:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:25:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:25:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:25:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:25:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:25:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:25:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:25:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:25:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:25:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:25:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:25:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:27:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:27:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:27:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:27:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:27:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:27:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:27:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:27:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:27:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:27:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:27:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:27:30 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:27:30 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:27:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:27:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:27:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:27:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:27:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:27:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:27:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:27:30 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:27:30 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:27:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:27:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:27:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:27:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:27:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:27:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:27:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:27:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:27:30 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:27:30 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:27:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:27:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:27:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:27:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:27:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:27:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:27:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:27:30 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:27:30 UTC] 📊 Database Info:
[19-Nov-2025 16:27:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:27:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:27:30 UTC]    Books columns count: 44
[19-Nov-2025 16:27:30 UTC]    Categories columns count: 7
[19-Nov-2025 16:27:30 UTC]    Language field in books: YES
[19-Nov-2025 16:27:30 UTC]    Format field in books: YES
[19-Nov-2025 16:27:30 UTC]    Description field in categories: YES
[19-Nov-2025 16:27:30 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:27:30 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:27:30 UTC]    Is_active field in books: YES
[19-Nov-2025 16:27:30 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:27:30 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:27:30 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:27:30 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:27:30 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:27:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:27:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:27:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:27:30 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:27:30 UTC] 📊 Database Info:
[19-Nov-2025 16:27:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:27:30 UTC]    Books columns count: 44
[19-Nov-2025 16:27:30 UTC]    Categories columns count: 7
[19-Nov-2025 16:27:30 UTC]    Language field in books: YES
[19-Nov-2025 16:27:30 UTC]    Format field in books: YES
[19-Nov-2025 16:27:30 UTC]    Description field in categories: YES
[19-Nov-2025 16:27:30 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:27:30 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:27:30 UTC]    Is_active field in books: YES
[19-Nov-2025 16:27:30 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:27:30 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:27:30 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:27:30 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:27:30 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:27:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:27:30 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 16:27:30 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 16:27:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:27:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:27:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:27:30 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:27:30 UTC] 📊 Database Info:
[19-Nov-2025 16:27:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:27:30 UTC]    Books columns count: 44
[19-Nov-2025 16:27:30 UTC]    Categories columns count: 7
[19-Nov-2025 16:27:30 UTC]    Language field in books: YES
[19-Nov-2025 16:27:30 UTC]    Format field in books: YES
[19-Nov-2025 16:27:30 UTC]    Description field in categories: YES
[19-Nov-2025 16:27:30 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:27:30 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:27:30 UTC]    Is_active field in books: YES
[19-Nov-2025 16:27:30 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:27:30 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:27:30 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:27:30 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:27:30 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:27:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:27:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:27:30 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 16:27:30 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 16:28:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:28:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:28:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:28:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:28:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:28:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:28:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:28:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:28:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:28:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:28:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:28:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:28:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:28:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:28:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:28:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:28:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:28:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:28:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:28:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:28:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:28:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:28:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:28:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:28:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:28:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:28:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:28:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:28:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:28:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:28:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:28:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:28:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:28:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:28:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:28:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:28:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:28:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:28:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:28:09 UTC] 📊 Database Info:
[19-Nov-2025 16:28:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:28:09 UTC]    Books columns count: 44
[19-Nov-2025 16:28:09 UTC]    Categories columns count: 7
[19-Nov-2025 16:28:09 UTC]    Language field in books: YES
[19-Nov-2025 16:28:09 UTC]    Format field in books: YES
[19-Nov-2025 16:28:09 UTC]    Description field in categories: YES
[19-Nov-2025 16:28:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:28:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:28:09 UTC]    Is_active field in books: YES
[19-Nov-2025 16:28:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:28:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:28:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:28:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:28:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:28:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:28:09 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 16:28:09 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 16:28:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:28:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:28:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:28:09 UTC] 📊 Database Info:
[19-Nov-2025 16:28:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:28:09 UTC]    Books columns count: 44
[19-Nov-2025 16:28:09 UTC]    Categories columns count: 7
[19-Nov-2025 16:28:09 UTC]    Language field in books: YES
[19-Nov-2025 16:28:09 UTC]    Format field in books: YES
[19-Nov-2025 16:28:09 UTC]    Description field in categories: YES
[19-Nov-2025 16:28:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:28:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:28:09 UTC]    Is_active field in books: YES
[19-Nov-2025 16:28:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:28:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:28:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:28:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:28:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:28:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:28:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:28:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:28:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:28:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:28:09 UTC] 📊 Database Info:
[19-Nov-2025 16:28:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:28:09 UTC]    Books columns count: 44
[19-Nov-2025 16:28:09 UTC]    Categories columns count: 7
[19-Nov-2025 16:28:09 UTC]    Language field in books: YES
[19-Nov-2025 16:28:09 UTC]    Format field in books: YES
[19-Nov-2025 16:28:09 UTC]    Description field in categories: YES
[19-Nov-2025 16:28:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:28:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:28:09 UTC]    Is_active field in books: YES
[19-Nov-2025 16:28:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:28:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:28:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:28:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:28:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:28:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:28:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:28:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:28:09 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 16:28:09 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 16:32:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:32:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:32:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:32:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:32:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:32:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:32:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:32:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:32:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:32:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:32:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:32:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:32:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:32:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:32:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:32:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:32:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:32:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:32:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:32:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:32:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:32:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:32:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:32:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:32:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:32:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:32:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:32:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:32:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:32:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:32:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:32:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:32:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:32:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:32:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:32:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:32:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:32:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:32:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:32:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:32:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:32:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:32:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:32:11 UTC] 📊 Database Info:
[19-Nov-2025 16:32:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:32:11 UTC]    Books columns count: 44
[19-Nov-2025 16:32:11 UTC]    Categories columns count: 7
[19-Nov-2025 16:32:11 UTC]    Language field in books: YES
[19-Nov-2025 16:32:11 UTC]    Format field in books: YES
[19-Nov-2025 16:32:11 UTC]    Description field in categories: YES
[19-Nov-2025 16:32:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:32:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:32:11 UTC]    Is_active field in books: YES
[19-Nov-2025 16:32:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:32:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:32:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:32:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:32:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:32:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:32:11 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 16:32:11 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 16:32:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:32:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:32:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:32:11 UTC] 📊 Database Info:
[19-Nov-2025 16:32:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:32:11 UTC]    Books columns count: 44
[19-Nov-2025 16:32:11 UTC]    Categories columns count: 7
[19-Nov-2025 16:32:11 UTC]    Language field in books: YES
[19-Nov-2025 16:32:11 UTC]    Format field in books: YES
[19-Nov-2025 16:32:11 UTC]    Description field in categories: YES
[19-Nov-2025 16:32:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:32:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:32:11 UTC]    Is_active field in books: YES
[19-Nov-2025 16:32:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:32:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:32:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:32:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:32:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:32:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:32:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:32:11 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 16:32:11 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 16:32:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:32:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:32:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:32:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:32:11 UTC] 📊 Database Info:
[19-Nov-2025 16:32:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:32:11 UTC]    Books columns count: 44
[19-Nov-2025 16:32:11 UTC]    Categories columns count: 7
[19-Nov-2025 16:32:11 UTC]    Language field in books: YES
[19-Nov-2025 16:32:11 UTC]    Format field in books: YES
[19-Nov-2025 16:32:11 UTC]    Description field in categories: YES
[19-Nov-2025 16:32:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:32:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:32:11 UTC]    Is_active field in books: YES
[19-Nov-2025 16:32:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:32:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:32:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:32:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:32:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:32:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:32:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:32:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:32:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:32:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:32:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:32:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:32:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:32:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:32:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:32:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:32:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:32:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:32:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:32:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:32:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:32:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:32:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:32:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:32:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:32:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:32:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:32:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:32:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:32:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:32:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:32:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:32:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:32:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:32:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:32:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:32:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:32:33 UTC] 📊 Database Info:
[19-Nov-2025 16:32:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:32:33 UTC]    Books columns count: 44
[19-Nov-2025 16:32:33 UTC]    Categories columns count: 7
[19-Nov-2025 16:32:33 UTC]    Language field in books: YES
[19-Nov-2025 16:32:33 UTC]    Format field in books: YES
[19-Nov-2025 16:32:33 UTC]    Description field in categories: YES
[19-Nov-2025 16:32:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:32:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:32:33 UTC]    Is_active field in books: YES
[19-Nov-2025 16:32:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:32:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:32:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:32:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:32:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:32:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:32:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:32:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:32:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:32:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:32:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:32:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:32:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:32:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:32:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:32:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:32:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:32:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:32:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:32:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:32:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:32:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:32:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:32:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:32:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:32:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:32:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:32:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:32:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:32:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:32:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:32:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:32:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:32:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:32:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:32:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:32:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:32:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:32:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:32:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:32:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:32:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:32:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:32:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:32:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:32:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:32:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:32:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:32:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:32:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:32:34 UTC] 📊 Database Info:
[19-Nov-2025 16:32:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:32:34 UTC]    Books columns count: 44
[19-Nov-2025 16:32:34 UTC]    Categories columns count: 7
[19-Nov-2025 16:32:34 UTC]    Language field in books: YES
[19-Nov-2025 16:32:34 UTC]    Format field in books: YES
[19-Nov-2025 16:32:34 UTC]    Description field in categories: YES
[19-Nov-2025 16:32:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:32:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:32:34 UTC]    Is_active field in books: YES
[19-Nov-2025 16:32:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:32:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:32:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:32:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:32:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:32:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:32:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:32:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:32:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:32:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:32:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:32:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:32:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:32:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:32:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:32:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:32:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:32:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:33:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:33:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:33:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:33:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:33:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:33:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:33:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:33:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:33:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:33:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:33:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:33:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:33:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:33:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:33:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:33:24 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:33:24 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:33:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:33:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:33:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:33:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:33:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:33:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:33:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:33:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:33:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:33:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:33:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:33:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:33:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:33:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:33:25 UTC] 📊 Database Info:
[19-Nov-2025 16:33:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:33:25 UTC]    Books columns count: 44
[19-Nov-2025 16:33:25 UTC]    Categories columns count: 7
[19-Nov-2025 16:33:25 UTC]    Language field in books: YES
[19-Nov-2025 16:33:25 UTC]    Format field in books: YES
[19-Nov-2025 16:33:25 UTC]    Description field in categories: YES
[19-Nov-2025 16:33:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:33:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:33:25 UTC]    Is_active field in books: YES
[19-Nov-2025 16:33:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:33:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:33:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:33:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:33:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:33:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:33:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:33:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:33:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:33:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:33:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:33:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:33:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:33:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:33:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:33:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:33:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:33:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:33:25 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:33:25 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:33:25 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:33:25 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:33:25 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:33:25 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:33:25 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:33:25 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:33:26 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:33:26 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:33:26 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:33:26 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:33:26 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:33:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:33:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:33:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:33:26 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:33:26 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:33:26 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:33:26 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:33:26 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:33:26 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:33:26 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:33:26 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:33:26 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:33:26 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:33:26 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:33:26 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:33:26 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:33:26 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:33:26 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:33:26 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:33:26 UTC] 📊 Database Info:
[19-Nov-2025 16:33:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:33:26 UTC]    Books columns count: 44
[19-Nov-2025 16:33:26 UTC]    Categories columns count: 7
[19-Nov-2025 16:33:26 UTC]    Language field in books: YES
[19-Nov-2025 16:33:26 UTC]    Format field in books: YES
[19-Nov-2025 16:33:26 UTC]    Description field in categories: YES
[19-Nov-2025 16:33:26 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:33:26 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:33:26 UTC]    Is_active field in books: YES
[19-Nov-2025 16:33:26 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:33:26 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:33:26 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:33:26 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:33:26 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:33:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:33:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:33:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:33:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:33:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:33:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:33:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:33:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:33:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:33:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:33:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:33:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:33:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:33:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:33:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:33:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:33:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:33:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:33:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:33:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:33:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:33:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:33:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:33:29 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:33:29 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:33:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:33:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:33:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:33:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:33:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:33:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:33:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:33:29 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:33:29 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:33:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:33:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:33:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:33:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:33:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:33:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:33:29 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:33:29 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:33:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:33:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:33:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:33:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:33:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:33:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:33:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:33:29 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:33:29 UTC] 📊 Database Info:
[19-Nov-2025 16:33:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:33:29 UTC]    Books columns count: 44
[19-Nov-2025 16:33:29 UTC]    Categories columns count: 7
[19-Nov-2025 16:33:29 UTC]    Language field in books: YES
[19-Nov-2025 16:33:29 UTC]    Format field in books: YES
[19-Nov-2025 16:33:29 UTC]    Description field in categories: YES
[19-Nov-2025 16:33:29 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:33:29 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:33:29 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:33:29 UTC] 📊 Database Info:
[19-Nov-2025 16:33:29 UTC]    Is_active field in books: YES
[19-Nov-2025 16:33:29 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:33:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:33:29 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:33:29 UTC]    Books columns count: 44
[19-Nov-2025 16:33:29 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:33:29 UTC]    Categories columns count: 7
[19-Nov-2025 16:33:29 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:33:29 UTC]    Language field in books: YES
[19-Nov-2025 16:33:29 UTC]    Format field in books: YES
[19-Nov-2025 16:33:29 UTC]    Description field in categories: YES
[19-Nov-2025 16:33:29 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:33:29 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:33:29 UTC]    Is_active field in books: YES
[19-Nov-2025 16:33:29 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:33:29 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:33:29 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:33:29 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:33:29 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:33:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:33:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:33:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:33:29 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:33:29 UTC] 📊 Database Info:
[19-Nov-2025 16:33:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:33:29 UTC]    Books columns count: 44
[19-Nov-2025 16:33:29 UTC]    Categories columns count: 7
[19-Nov-2025 16:33:29 UTC]    Language field in books: YES
[19-Nov-2025 16:33:29 UTC]    Format field in books: YES
[19-Nov-2025 16:33:29 UTC]    Description field in categories: YES
[19-Nov-2025 16:33:29 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:33:29 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:33:29 UTC]    Is_active field in books: YES
[19-Nov-2025 16:33:29 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:33:29 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:33:29 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:33:29 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:33:29 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:33:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:33:29 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:33:29 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:33:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:33:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:33:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:33:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:33:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:33:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:33:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:33:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:33:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:33:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:33:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:33:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:33:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:33:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:33:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:33:30 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:33:30 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:33:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:33:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:33:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:33:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:33:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:33:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:33:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:33:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:33:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:33:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:33:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:33:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:33:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:33:30 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:33:30 UTC] 📊 Database Info:
[19-Nov-2025 16:33:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:33:30 UTC]    Books columns count: 44
[19-Nov-2025 16:33:30 UTC]    Categories columns count: 7
[19-Nov-2025 16:33:30 UTC]    Language field in books: YES
[19-Nov-2025 16:33:30 UTC]    Format field in books: YES
[19-Nov-2025 16:33:30 UTC]    Description field in categories: YES
[19-Nov-2025 16:33:30 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:33:30 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:33:30 UTC]    Is_active field in books: YES
[19-Nov-2025 16:33:30 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:33:30 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:33:30 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:33:30 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:33:30 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:33:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:34:14 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:34:14 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:34:14 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:34:14 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:34:14 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:34:14 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:34:14 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:34:14 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:34:14 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:34:14 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:34:14 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:34:14 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:34:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:34:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:34:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:34:14 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:34:14 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:34:14 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:34:14 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:34:14 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:34:14 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:34:14 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:34:14 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:34:14 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:34:14 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:34:14 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:34:14 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:34:14 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:34:14 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:34:14 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:34:14 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:34:14 UTC] 📊 Database Info:
[19-Nov-2025 16:34:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:34:14 UTC]    Books columns count: 44
[19-Nov-2025 16:34:14 UTC]    Categories columns count: 7
[19-Nov-2025 16:34:14 UTC]    Language field in books: YES
[19-Nov-2025 16:34:14 UTC]    Format field in books: YES
[19-Nov-2025 16:34:14 UTC]    Description field in categories: YES
[19-Nov-2025 16:34:14 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:34:14 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:34:14 UTC]    Is_active field in books: YES
[19-Nov-2025 16:34:14 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:34:14 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:34:14 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:34:14 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:34:14 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:34:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:34:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:34:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:34:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:34:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:34:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:34:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:34:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:34:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:34:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:34:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:34:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:34:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:34:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:34:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:34:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:34:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:34:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:34:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:34:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:34:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:34:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:34:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:34:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:34:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:34:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:34:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:34:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:34:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:34:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:34:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:34:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:34:15 UTC] 📊 Database Info:
[19-Nov-2025 16:34:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:34:15 UTC]    Books columns count: 44
[19-Nov-2025 16:34:15 UTC]    Categories columns count: 7
[19-Nov-2025 16:34:15 UTC]    Language field in books: YES
[19-Nov-2025 16:34:15 UTC]    Format field in books: YES
[19-Nov-2025 16:34:15 UTC]    Description field in categories: YES
[19-Nov-2025 16:34:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:34:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:34:15 UTC]    Is_active field in books: YES
[19-Nov-2025 16:34:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:34:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:34:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:34:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:34:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:34:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:34:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:34:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:34:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:34:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:34:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:34:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:34:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:34:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:34:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:34:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:34:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:34:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:34:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:34:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:34:18 UTC] 📊 Database Info:
[19-Nov-2025 16:34:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:34:18 UTC]    Books columns count: 44
[19-Nov-2025 16:34:18 UTC]    Categories columns count: 7
[19-Nov-2025 16:34:18 UTC]    Language field in books: YES
[19-Nov-2025 16:34:18 UTC]    Format field in books: YES
[19-Nov-2025 16:34:18 UTC]    Description field in categories: YES
[19-Nov-2025 16:34:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:34:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:34:18 UTC]    Is_active field in books: YES
[19-Nov-2025 16:34:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:34:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:34:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:34:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:34:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:34:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:34:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:34:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:34:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:34:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:34:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:34:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:34:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:34:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:34:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:34:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:34:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:34:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:34:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:34:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:34:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:34:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:34:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:34:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:34:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:34:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:34:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:34:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:34:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:34:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:34:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:34:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:34:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:34:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:34:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:34:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:34:18 UTC] 📊 Database Info:
[19-Nov-2025 16:34:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:34:18 UTC]    Books columns count: 44
[19-Nov-2025 16:34:18 UTC]    Categories columns count: 7
[19-Nov-2025 16:34:18 UTC]    Language field in books: YES
[19-Nov-2025 16:34:18 UTC]    Format field in books: YES
[19-Nov-2025 16:34:18 UTC]    Description field in categories: YES
[19-Nov-2025 16:34:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:34:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:34:18 UTC]    Is_active field in books: YES
[19-Nov-2025 16:34:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:34:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:34:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:34:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:34:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:34:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:34:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:34:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:34:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:34:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:34:18 UTC] 📊 Database Info:
[19-Nov-2025 16:34:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:34:18 UTC]    Books columns count: 44
[19-Nov-2025 16:34:18 UTC]    Categories columns count: 7
[19-Nov-2025 16:34:18 UTC]    Language field in books: YES
[19-Nov-2025 16:34:18 UTC]    Format field in books: YES
[19-Nov-2025 16:34:18 UTC]    Description field in categories: YES
[19-Nov-2025 16:34:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:34:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:34:18 UTC]    Is_active field in books: YES
[19-Nov-2025 16:34:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:34:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:34:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:34:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:34:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:34:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:34:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:34:18 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:34:18 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:34:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:34:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:34:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:34:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:34:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:34:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:34:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:34:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:34:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:34:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:34:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:34:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:34:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:34:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:34:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:34:20 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:34:20 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:34:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:34:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:34:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:34:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:34:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:34:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:34:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:34:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:34:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:34:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:34:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:34:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:34:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:34:20 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:34:20 UTC] 📊 Database Info:
[19-Nov-2025 16:34:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:34:20 UTC]    Books columns count: 44
[19-Nov-2025 16:34:20 UTC]    Categories columns count: 7
[19-Nov-2025 16:34:20 UTC]    Language field in books: YES
[19-Nov-2025 16:34:20 UTC]    Format field in books: YES
[19-Nov-2025 16:34:20 UTC]    Description field in categories: YES
[19-Nov-2025 16:34:20 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:34:20 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:34:20 UTC]    Is_active field in books: YES
[19-Nov-2025 16:34:20 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:34:20 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:34:20 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:34:20 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:34:20 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:34:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:34:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:34:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:34:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:34:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:34:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:34:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:34:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:34:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:34:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:34:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:34:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:34:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:34:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:34:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:34:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:34:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:34:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:34:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:34:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:34:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:34:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:34:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:34:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:34:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:34:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:34:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:34:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:34:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:34:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:34:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:34:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:34:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:34:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:34:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:34:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:34:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:34:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:34:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:34:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:34:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:34:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:34:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:34:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:34:41 UTC] 📊 Database Info:
[19-Nov-2025 16:34:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:34:41 UTC]    Books columns count: 44
[19-Nov-2025 16:34:41 UTC]    Categories columns count: 7
[19-Nov-2025 16:34:41 UTC]    Language field in books: YES
[19-Nov-2025 16:34:41 UTC]    Format field in books: YES
[19-Nov-2025 16:34:41 UTC]    Description field in categories: YES
[19-Nov-2025 16:34:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:34:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:34:41 UTC]    Is_active field in books: YES
[19-Nov-2025 16:34:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:34:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:34:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:34:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:34:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:34:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:34:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:34:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:34:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:34:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:34:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:34:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:34:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:34:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:34:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:34:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:34:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:34:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:35:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:35:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:35:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:35:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:35:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:35:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:35:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:35:01 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:35:01 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:35:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:35:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:35:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:35:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:35:01 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:35:01 UTC] 📊 Database Info:
[19-Nov-2025 16:35:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:35:01 UTC]    Books columns count: 44
[19-Nov-2025 16:35:01 UTC]    Categories columns count: 7
[19-Nov-2025 16:35:01 UTC]    Language field in books: YES
[19-Nov-2025 16:35:01 UTC]    Format field in books: YES
[19-Nov-2025 16:35:01 UTC]    Description field in categories: YES
[19-Nov-2025 16:35:01 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:35:01 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:35:01 UTC]    Is_active field in books: YES
[19-Nov-2025 16:35:01 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:35:01 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:35:01 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:35:01 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:35:01 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:35:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:35:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:35:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:35:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:35:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:35:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:35:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:35:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:35:01 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:35:01 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:35:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:35:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:35:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:35:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:35:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:35:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:35:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:35:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:35:01 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:35:01 UTC] 📊 Database Info:
[19-Nov-2025 16:35:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:35:01 UTC]    Books columns count: 44
[19-Nov-2025 16:35:01 UTC]    Categories columns count: 7
[19-Nov-2025 16:35:01 UTC]    Language field in books: YES
[19-Nov-2025 16:35:01 UTC]    Format field in books: YES
[19-Nov-2025 16:35:01 UTC]    Description field in categories: YES
[19-Nov-2025 16:35:01 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:35:01 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:35:01 UTC]    Is_active field in books: YES
[19-Nov-2025 16:35:01 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:35:01 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:35:01 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:35:01 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:35:01 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:35:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:35:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:35:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:35:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:35:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:35:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:35:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:35:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:35:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:35:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:35:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:35:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:35:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:35:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:35:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:35:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:35:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:35:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:35:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:35:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:35:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:35:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:35:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:35:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:35:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:35:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:35:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:35:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:35:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:35:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:35:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:35:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:35:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:35:06 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:35:06 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:35:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:35:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:35:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:35:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:35:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:35:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:35:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:35:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:35:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:35:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:35:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:35:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:35:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:35:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:35:06 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:35:06 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:35:06 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:35:06 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:35:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:35:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:35:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:35:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:35:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:35:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:35:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:35:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:35:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:35:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:35:06 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:35:06 UTC] 📊 Database Info:
[19-Nov-2025 16:35:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:35:06 UTC]    Books columns count: 44
[19-Nov-2025 16:35:06 UTC]    Categories columns count: 7
[19-Nov-2025 16:35:06 UTC]    Language field in books: YES
[19-Nov-2025 16:35:06 UTC]    Format field in books: YES
[19-Nov-2025 16:35:06 UTC]    Description field in categories: YES
[19-Nov-2025 16:35:06 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:35:06 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:35:06 UTC]    Is_active field in books: YES
[19-Nov-2025 16:35:06 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:35:06 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:35:06 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:35:06 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:35:06 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:35:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:35:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:35:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:35:06 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:35:06 UTC] 📊 Database Info:
[19-Nov-2025 16:35:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:35:06 UTC]    Books columns count: 44
[19-Nov-2025 16:35:06 UTC]    Categories columns count: 7
[19-Nov-2025 16:35:06 UTC]    Language field in books: YES
[19-Nov-2025 16:35:06 UTC]    Format field in books: YES
[19-Nov-2025 16:35:06 UTC]    Description field in categories: YES
[19-Nov-2025 16:35:06 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:35:06 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:35:06 UTC]    Is_active field in books: YES
[19-Nov-2025 16:35:06 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:35:06 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:35:06 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:35:06 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:35:06 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:35:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:35:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:35:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:35:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:35:06 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:35:06 UTC] 📊 Database Info:
[19-Nov-2025 16:35:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:35:06 UTC]    Books columns count: 44
[19-Nov-2025 16:35:06 UTC]    Categories columns count: 7
[19-Nov-2025 16:35:06 UTC]    Language field in books: YES
[19-Nov-2025 16:35:06 UTC]    Format field in books: YES
[19-Nov-2025 16:35:06 UTC]    Description field in categories: YES
[19-Nov-2025 16:35:06 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:35:06 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:35:06 UTC]    Is_active field in books: YES
[19-Nov-2025 16:35:06 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:35:06 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:35:06 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:35:06 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:35:06 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:35:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:35:06 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:35:06 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:35:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:35:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:35:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:35:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:35:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:35:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:35:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:35:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:35:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:35:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:35:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:35:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:35:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:35:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:35:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:35:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:35:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:35:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:35:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:35:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:35:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:35:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:35:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:35:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:35:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:35:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:35:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:35:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:35:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:35:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:35:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:35:08 UTC] 📊 Database Info:
[19-Nov-2025 16:35:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:35:08 UTC]    Books columns count: 44
[19-Nov-2025 16:35:08 UTC]    Categories columns count: 7
[19-Nov-2025 16:35:08 UTC]    Language field in books: YES
[19-Nov-2025 16:35:08 UTC]    Format field in books: YES
[19-Nov-2025 16:35:08 UTC]    Description field in categories: YES
[19-Nov-2025 16:35:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:35:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:35:08 UTC]    Is_active field in books: YES
[19-Nov-2025 16:35:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:35:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:35:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:35:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:35:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:35:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:35:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:35:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:35:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:35:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:35:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:35:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:35:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:35:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:35:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:35:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:35:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:35:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:35:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:35:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:35:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:35:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:35:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:35:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:35:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:35:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:35:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:35:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:35:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:35:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:35:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:35:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:35:38 UTC] 📊 Database Info:
[19-Nov-2025 16:35:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:35:38 UTC]    Books columns count: 44
[19-Nov-2025 16:35:38 UTC]    Categories columns count: 7
[19-Nov-2025 16:35:38 UTC]    Language field in books: YES
[19-Nov-2025 16:35:38 UTC]    Format field in books: YES
[19-Nov-2025 16:35:38 UTC]    Description field in categories: YES
[19-Nov-2025 16:35:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:35:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:35:38 UTC]    Is_active field in books: YES
[19-Nov-2025 16:35:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:35:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:35:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:35:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:35:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:35:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:35:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:35:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:35:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:35:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:35:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:35:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:35:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:35:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:35:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:35:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:35:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:35:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:35:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:35:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:35:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:35:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:35:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:35:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:35:38 UTC] 📊 Database Info:
[19-Nov-2025 16:35:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:35:38 UTC]    Books columns count: 44
[19-Nov-2025 16:35:38 UTC]    Categories columns count: 7
[19-Nov-2025 16:35:38 UTC]    Language field in books: YES
[19-Nov-2025 16:35:38 UTC]    Format field in books: YES
[19-Nov-2025 16:35:38 UTC]    Description field in categories: YES
[19-Nov-2025 16:35:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:35:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:35:38 UTC]    Is_active field in books: YES
[19-Nov-2025 16:35:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:35:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:35:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:35:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:35:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:35:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:35:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:35:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:35:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:35:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:35:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:35:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:35:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:35:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:35:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:35:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:35:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:35:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:35:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:35:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:35:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:35:47 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:35:47 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:35:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:35:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:35:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:35:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:35:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:35:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:35:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:35:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:35:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:35:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:35:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:35:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:35:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:35:47 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:35:47 UTC] 📊 Database Info:
[19-Nov-2025 16:35:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:35:47 UTC]    Books columns count: 44
[19-Nov-2025 16:35:47 UTC]    Categories columns count: 7
[19-Nov-2025 16:35:47 UTC]    Language field in books: YES
[19-Nov-2025 16:35:47 UTC]    Format field in books: YES
[19-Nov-2025 16:35:47 UTC]    Description field in categories: YES
[19-Nov-2025 16:35:47 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:35:47 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:35:47 UTC]    Is_active field in books: YES
[19-Nov-2025 16:35:47 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:35:47 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:35:47 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:35:47 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:35:47 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:35:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:35:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:35:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:35:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:35:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:35:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:35:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:35:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:35:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:35:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:35:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:35:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:35:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:37:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:37:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:37:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:37:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:37:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:37:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:37:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:37:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:37:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:37:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:37:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:37:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:37:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:37:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:37:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:37:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:37:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:37:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:37:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:37:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:37:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:37:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:37:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:37:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:37:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:37:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:37:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:37:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:37:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:37:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:37:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:37:16 UTC] 📊 Database Info:
[19-Nov-2025 16:37:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:37:16 UTC]    Books columns count: 44
[19-Nov-2025 16:37:16 UTC]    Categories columns count: 7
[19-Nov-2025 16:37:16 UTC]    Language field in books: YES
[19-Nov-2025 16:37:16 UTC]    Format field in books: YES
[19-Nov-2025 16:37:16 UTC]    Description field in categories: YES
[19-Nov-2025 16:37:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:37:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:37:16 UTC]    Is_active field in books: YES
[19-Nov-2025 16:37:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:37:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:37:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:37:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:37:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:37:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:37:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:37:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:37:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:37:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:37:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:37:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:37:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:37:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:37:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:37:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:37:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:37:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:45:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:45:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:45:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:45:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:45:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:45:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:45:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:45:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:45:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:45:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:45:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:45:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:45:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:45:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:45:02 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:45:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:45:02 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:45:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:45:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:45:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:45:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:45:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:45:02 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:45:02 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:45:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:45:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:45:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:45:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:45:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:45:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:45:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:45:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:45:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:45:02 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:45:02 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:45:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:45:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:45:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:45:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:45:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:45:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:45:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:45:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:45:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:45:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:45:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:45:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:45:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:45:02 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:45:02 UTC] 📊 Database Info:
[19-Nov-2025 16:45:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:45:02 UTC]    Books columns count: 44
[19-Nov-2025 16:45:02 UTC]    Categories columns count: 7
[19-Nov-2025 16:45:02 UTC]    Language field in books: YES
[19-Nov-2025 16:45:02 UTC]    Format field in books: YES
[19-Nov-2025 16:45:02 UTC]    Description field in categories: YES
[19-Nov-2025 16:45:02 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:45:02 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:45:02 UTC]    Is_active field in books: YES
[19-Nov-2025 16:45:02 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:45:02 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:45:02 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:45:02 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:45:02 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:45:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:45:02 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 16:45:02 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 16:45:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:45:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:45:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:45:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:45:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:45:02 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:45:02 UTC] 📊 Database Info:
[19-Nov-2025 16:45:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:45:02 UTC]    Books columns count: 44
[19-Nov-2025 16:45:02 UTC]    Categories columns count: 7
[19-Nov-2025 16:45:02 UTC]    Language field in books: YES
[19-Nov-2025 16:45:02 UTC]    Format field in books: YES
[19-Nov-2025 16:45:02 UTC]    Description field in categories: YES
[19-Nov-2025 16:45:02 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:45:02 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:45:02 UTC]    Is_active field in books: YES
[19-Nov-2025 16:45:02 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:45:02 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:45:02 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:45:02 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:45:02 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:45:02 UTC] 📊 Database Info:
[19-Nov-2025 16:45:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:45:02 UTC]    Books columns count: 44
[19-Nov-2025 16:45:02 UTC]    Categories columns count: 7
[19-Nov-2025 16:45:02 UTC]    Language field in books: YES
[19-Nov-2025 16:45:02 UTC]    Format field in books: YES
[19-Nov-2025 16:45:02 UTC]    Description field in categories: YES
[19-Nov-2025 16:45:02 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:45:02 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:45:02 UTC]    Is_active field in books: YES
[19-Nov-2025 16:45:02 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:45:02 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:45:02 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:45:02 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:45:02 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:45:02 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:45:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:45:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:45:02 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 16:45:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:45:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:45:02 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 16:45:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:45:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:45:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:45:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:45:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:45:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:45:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:45:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:45:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:45:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:45:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:45:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:45:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:45:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:45:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:45:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:45:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:45:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:45:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:45:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:45:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:45:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:45:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:45:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:45:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:45:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:45:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:45:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:45:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:45:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:45:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:45:17 UTC] 📊 Database Info:
[19-Nov-2025 16:45:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:45:17 UTC]    Books columns count: 44
[19-Nov-2025 16:45:17 UTC]    Categories columns count: 7
[19-Nov-2025 16:45:17 UTC]    Language field in books: YES
[19-Nov-2025 16:45:17 UTC]    Format field in books: YES
[19-Nov-2025 16:45:17 UTC]    Description field in categories: YES
[19-Nov-2025 16:45:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:45:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:45:17 UTC]    Is_active field in books: YES
[19-Nov-2025 16:45:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:45:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:45:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:45:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:45:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:45:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:45:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:45:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:45:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:45:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:45:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:45:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:45:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:45:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:45:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:45:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:45:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:45:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:45:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:45:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:45:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:45:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:45:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:45:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:45:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:45:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:45:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:45:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:45:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:45:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:45:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:45:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:45:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:45:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:45:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:45:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:45:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:45:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:45:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:45:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:45:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:45:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:45:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:45:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:45:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:45:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:45:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:45:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:45:34 UTC] 📊 Database Info:
[19-Nov-2025 16:45:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:45:34 UTC]    Books columns count: 44
[19-Nov-2025 16:45:34 UTC]    Categories columns count: 7
[19-Nov-2025 16:45:34 UTC]    Language field in books: YES
[19-Nov-2025 16:45:34 UTC]    Format field in books: YES
[19-Nov-2025 16:45:34 UTC]    Description field in categories: YES
[19-Nov-2025 16:45:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:45:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:45:34 UTC]    Is_active field in books: YES
[19-Nov-2025 16:45:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:45:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:45:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:45:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:45:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:45:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:45:34 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 16:45:34 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 16:45:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:45:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:45:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:45:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:45:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:45:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:45:34 UTC] 📊 Database Info:
[19-Nov-2025 16:45:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:45:34 UTC]    Books columns count: 44
[19-Nov-2025 16:45:34 UTC]    Categories columns count: 7
[19-Nov-2025 16:45:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:45:34 UTC]    Language field in books: YES
[19-Nov-2025 16:45:34 UTC] 📊 Database Info:
[19-Nov-2025 16:45:34 UTC]    Format field in books: YES
[19-Nov-2025 16:45:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:45:34 UTC]    Books columns count: 44
[19-Nov-2025 16:45:34 UTC]    Description field in categories: YES
[19-Nov-2025 16:45:34 UTC]    Categories columns count: 7
[19-Nov-2025 16:45:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:45:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:45:34 UTC]    Language field in books: YES
[19-Nov-2025 16:45:34 UTC]    Format field in books: YES
[19-Nov-2025 16:45:34 UTC]    Is_active field in books: YES
[19-Nov-2025 16:45:34 UTC]    Description field in categories: YES
[19-Nov-2025 16:45:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:45:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:45:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:45:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:45:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:45:34 UTC]    Is_active field in books: YES
[19-Nov-2025 16:45:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:45:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:45:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:45:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:45:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:45:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:45:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:45:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:45:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:45:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:48:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:48:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:48:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:48:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:48:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:48:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:48:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:48:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:48:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:48:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:48:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:48:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:48:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:48:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:48:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:48:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:48:46 UTC] 📊 Database Info:
[19-Nov-2025 16:48:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:48:46 UTC]    Books columns count: 44
[19-Nov-2025 16:48:46 UTC]    Categories columns count: 7
[19-Nov-2025 16:48:46 UTC]    Language field in books: YES
[19-Nov-2025 16:48:46 UTC]    Format field in books: YES
[19-Nov-2025 16:48:46 UTC]    Description field in categories: YES
[19-Nov-2025 16:48:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:48:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:48:46 UTC]    Is_active field in books: YES
[19-Nov-2025 16:48:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:48:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:48:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:48:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:48:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:48:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:48:46 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 16:48:46 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 16:48:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:48:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:48:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:48:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:48:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:48:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:48:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:48:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:48:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:48:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:48:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:48:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:48:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:48:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:48:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:48:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:48:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:48:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:48:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:48:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:48:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 16:48:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 16:48:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 16:48:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 16:48:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 16:48:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 16:48:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 16:48:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 16:48:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:48:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:48:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:48:46 UTC] 📊 Database Info:
[19-Nov-2025 16:48:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:48:46 UTC]    Books columns count: 44
[19-Nov-2025 16:48:46 UTC]    Categories columns count: 7
[19-Nov-2025 16:48:46 UTC]    Language field in books: YES
[19-Nov-2025 16:48:46 UTC]    Format field in books: YES
[19-Nov-2025 16:48:46 UTC]    Description field in categories: YES
[19-Nov-2025 16:48:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:48:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:48:46 UTC]    Is_active field in books: YES
[19-Nov-2025 16:48:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:48:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:48:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:48:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:48:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:48:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:48:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 16:48:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 16:48:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 16:48:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 16:48:46 UTC] 📊 Database Info:
[19-Nov-2025 16:48:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 16:48:46 UTC]    Books columns count: 44
[19-Nov-2025 16:48:46 UTC]    Categories columns count: 7
[19-Nov-2025 16:48:46 UTC]    Language field in books: YES
[19-Nov-2025 16:48:46 UTC]    Format field in books: YES
[19-Nov-2025 16:48:46 UTC]    Description field in categories: YES
[19-Nov-2025 16:48:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 16:48:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 16:48:46 UTC]    Is_active field in books: YES
[19-Nov-2025 16:48:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 16:48:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 16:48:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 16:48:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 16:48:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 16:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 16:48:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 16:48:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 16:48:46 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 16:48:46 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 17:01:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:01:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:01:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:01:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:01:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:01:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:01:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:01:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:01:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:01:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:01:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:01:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:01:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:01:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:01:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:01:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:01:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:01:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:01:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:01:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:01:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:01:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:01:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:01:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:01:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:01:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:01:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:01:16 UTC] 📊 Database Info:
[19-Nov-2025 17:01:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:01:16 UTC]    Books columns count: 44
[19-Nov-2025 17:01:16 UTC]    Categories columns count: 7
[19-Nov-2025 17:01:16 UTC]    Language field in books: YES
[19-Nov-2025 17:01:16 UTC]    Format field in books: YES
[19-Nov-2025 17:01:16 UTC]    Description field in categories: YES
[19-Nov-2025 17:01:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:01:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:01:16 UTC]    Is_active field in books: YES
[19-Nov-2025 17:01:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:01:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:01:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:01:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:01:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:01:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:01:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:01:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:01:16 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:01:16 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:01:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:01:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:01:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:01:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:01:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:01:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:01:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:01:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:01:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:01:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:01:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:01:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:01:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:01:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:01:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:01:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:01:16 UTC] 📊 Database Info:
[19-Nov-2025 17:01:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:01:16 UTC]    Books columns count: 44
[19-Nov-2025 17:01:16 UTC]    Categories columns count: 7
[19-Nov-2025 17:01:16 UTC]    Language field in books: YES
[19-Nov-2025 17:01:16 UTC]    Format field in books: YES
[19-Nov-2025 17:01:16 UTC]    Description field in categories: YES
[19-Nov-2025 17:01:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:01:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:01:16 UTC]    Is_active field in books: YES
[19-Nov-2025 17:01:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:01:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:01:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:01:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:01:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:01:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:01:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:01:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:01:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:01:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:01:16 UTC] 📊 Database Info:
[19-Nov-2025 17:01:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:01:16 UTC]    Books columns count: 44
[19-Nov-2025 17:01:16 UTC]    Categories columns count: 7
[19-Nov-2025 17:01:16 UTC]    Language field in books: YES
[19-Nov-2025 17:01:16 UTC]    Format field in books: YES
[19-Nov-2025 17:01:16 UTC]    Description field in categories: YES
[19-Nov-2025 17:01:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:01:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:01:16 UTC]    Is_active field in books: YES
[19-Nov-2025 17:01:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:01:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:01:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:01:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:01:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:01:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:01:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 17:01:16 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 17:01:16 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 17:01:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:01:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:01:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:01:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:01:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:01:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:01:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:01:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:01:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:01:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:01:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:01:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:01:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:01:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:01:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:01:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:01:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:01:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:01:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:01:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:01:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:01:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:01:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:01:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:01:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:01:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:01:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:01:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:01:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:01:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:01:32 UTC] 📊 Database Info:
[19-Nov-2025 17:01:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:01:32 UTC]    Books columns count: 44
[19-Nov-2025 17:01:32 UTC]    Categories columns count: 7
[19-Nov-2025 17:01:32 UTC]    Language field in books: YES
[19-Nov-2025 17:01:32 UTC]    Format field in books: YES
[19-Nov-2025 17:01:32 UTC]    Description field in categories: YES
[19-Nov-2025 17:01:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:01:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:01:32 UTC]    Is_active field in books: YES
[19-Nov-2025 17:01:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:01:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:01:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:01:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:01:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:01:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:01:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:01:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:01:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:01:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:01:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:01:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:01:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:01:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:01:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:01:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:01:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:01:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:01:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:01:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:01:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:01:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:01:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:01:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:01:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:01:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:01:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:01:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:01:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:01:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:01:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:01:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:01:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:01:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:01:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:01:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:01:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:01:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:01:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:01:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:01:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:01:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:01:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:01:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:01:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:01:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:01:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:01:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:01:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:01:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:01:33 UTC] 📊 Database Info:
[19-Nov-2025 17:01:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:01:33 UTC]    Books columns count: 44
[19-Nov-2025 17:01:33 UTC]    Categories columns count: 7
[19-Nov-2025 17:01:33 UTC]    Language field in books: YES
[19-Nov-2025 17:01:33 UTC]    Format field in books: YES
[19-Nov-2025 17:01:33 UTC]    Description field in categories: YES
[19-Nov-2025 17:01:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:01:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:01:33 UTC]    Is_active field in books: YES
[19-Nov-2025 17:01:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:01:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:01:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:01:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:01:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:01:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:01:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:01:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:01:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:01:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:01:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:01:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:01:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:01:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:01:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:01:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:01:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:01:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:01:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:01:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:01:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:01:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:01:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:01:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:01:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:01:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:01:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:01:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:01:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:01:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:01:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:01:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:01:46 UTC] 📊 Database Info:
[19-Nov-2025 17:01:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:01:46 UTC]    Books columns count: 44
[19-Nov-2025 17:01:46 UTC]    Categories columns count: 7
[19-Nov-2025 17:01:46 UTC]    Language field in books: YES
[19-Nov-2025 17:01:46 UTC]    Format field in books: YES
[19-Nov-2025 17:01:46 UTC]    Description field in categories: YES
[19-Nov-2025 17:01:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:01:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:01:46 UTC]    Is_active field in books: YES
[19-Nov-2025 17:01:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:01:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:01:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:01:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:01:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:01:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:01:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:01:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:01:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:01:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:01:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:01:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:01:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:01:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:01:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:01:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:01:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:01:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:01:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:01:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:01:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:01:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:01:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:01:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:01:46 UTC] 📊 Database Info:
[19-Nov-2025 17:01:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:01:46 UTC]    Books columns count: 44
[19-Nov-2025 17:01:46 UTC]    Categories columns count: 7
[19-Nov-2025 17:01:46 UTC]    Language field in books: YES
[19-Nov-2025 17:01:46 UTC]    Format field in books: YES
[19-Nov-2025 17:01:46 UTC]    Description field in categories: YES
[19-Nov-2025 17:01:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:01:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:01:46 UTC]    Is_active field in books: YES
[19-Nov-2025 17:01:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:01:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:01:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:01:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:01:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:01:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:01:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:26:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:26:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:26:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:26:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:26:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:26:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:26:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:26:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:26:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:26:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:26:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:26:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:26:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:26:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:26:24 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:26:24 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:26:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:26:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:26:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:26:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:26:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:26:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:26:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:26:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:26:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:26:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:26:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:26:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:26:24 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:26:24 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:26:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:26:24 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:26:24 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:26:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:26:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:26:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:26:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:26:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:26:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:26:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:26:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:26:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:26:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:26:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:26:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:26:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:26:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:26:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:26:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:26:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:26:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:26:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:26:25 UTC] 📊 Database Info:
[19-Nov-2025 17:26:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:26:25 UTC]    Books columns count: 44
[19-Nov-2025 17:26:25 UTC]    Categories columns count: 7
[19-Nov-2025 17:26:25 UTC]    Language field in books: YES
[19-Nov-2025 17:26:25 UTC]    Format field in books: YES
[19-Nov-2025 17:26:25 UTC]    Description field in categories: YES
[19-Nov-2025 17:26:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:26:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:26:25 UTC]    Is_active field in books: YES
[19-Nov-2025 17:26:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:26:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:26:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:26:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:26:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:26:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:26:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 17:26:25 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 17:26:25 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 17:26:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:26:25 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:26:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:26:25 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:26:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:26:25 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:26:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:26:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:26:25 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:26:25 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:26:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:26:25 UTC] 📊 Database Info:
[19-Nov-2025 17:26:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:26:25 UTC]    Books columns count: 44
[19-Nov-2025 17:26:25 UTC]    Categories columns count: 7
[19-Nov-2025 17:26:25 UTC]    Language field in books: YES
[19-Nov-2025 17:26:25 UTC]    Format field in books: YES
[19-Nov-2025 17:26:25 UTC]    Description field in categories: YES
[19-Nov-2025 17:26:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:26:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:26:25 UTC]    Is_active field in books: YES
[19-Nov-2025 17:26:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:26:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:26:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:26:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:26:25 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:26:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:26:25 UTC] 📊 Database Info:
[19-Nov-2025 17:26:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:26:25 UTC]    Books columns count: 44
[19-Nov-2025 17:26:25 UTC]    Categories columns count: 7
[19-Nov-2025 17:26:25 UTC]    Language field in books: YES
[19-Nov-2025 17:26:25 UTC]    Format field in books: YES
[19-Nov-2025 17:26:25 UTC]    Description field in categories: YES
[19-Nov-2025 17:26:25 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:26:25 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:26:25 UTC]    Is_active field in books: YES
[19-Nov-2025 17:26:25 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:26:25 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:26:25 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:26:25 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:26:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:26:25 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 17:26:25 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 17:26:25 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:26:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:26:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:26:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:26:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:26:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:26:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:26:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:26:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:26:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:26:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:26:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:26:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:26:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:26:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:26:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:26:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:26:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:26:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:26:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:26:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:26:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:26:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:26:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:26:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:26:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:26:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:26:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:26:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:26:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:26:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:26:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:26:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:26:42 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:26:42 UTC] 📊 Database Info:
[19-Nov-2025 17:26:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:26:42 UTC]    Books columns count: 44
[19-Nov-2025 17:26:42 UTC]    Categories columns count: 7
[19-Nov-2025 17:26:42 UTC]    Language field in books: YES
[19-Nov-2025 17:26:42 UTC]    Format field in books: YES
[19-Nov-2025 17:26:42 UTC]    Description field in categories: YES
[19-Nov-2025 17:26:42 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:26:42 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:26:42 UTC]    Is_active field in books: YES
[19-Nov-2025 17:26:42 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:26:42 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:26:42 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:26:42 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:26:42 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:26:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:26:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:26:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:26:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:26:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:26:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:26:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:26:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:26:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:26:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:26:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:26:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:26:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:26:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:26:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:26:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:26:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:26:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:26:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:26:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:26:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:26:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:26:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:26:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:26:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:26:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:26:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:26:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:26:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:26:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:26:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:26:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:26:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:26:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:26:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:26:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:26:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:26:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:26:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:26:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:26:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:26:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:26:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:26:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:26:43 UTC] 📊 Database Info:
[19-Nov-2025 17:26:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:26:43 UTC]    Books columns count: 44
[19-Nov-2025 17:26:43 UTC]    Categories columns count: 7
[19-Nov-2025 17:26:43 UTC]    Language field in books: YES
[19-Nov-2025 17:26:43 UTC]    Format field in books: YES
[19-Nov-2025 17:26:43 UTC]    Description field in categories: YES
[19-Nov-2025 17:26:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:26:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:26:43 UTC]    Is_active field in books: YES
[19-Nov-2025 17:26:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:26:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:26:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:26:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:26:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:26:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:29:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:29:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:29:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:29:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:29:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:29:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:29:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:29:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:29:45 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 10
[19-Nov-2025 17:29:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:29:45 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 11
[19-Nov-2025 17:29:45 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 12
[19-Nov-2025 17:29:45 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 13
[19-Nov-2025 17:29:45 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 14
[19-Nov-2025 17:29:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:29:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:29:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:29:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:29:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:29:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:29:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:29:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:29:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:29:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:29:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:29:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:29:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:29:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:29:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:29:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:29:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:29:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:29:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:29:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:29:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:29:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:29:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:29:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:29:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:29:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:29:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:29:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:29:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:29:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:29:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:29:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:29:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:29:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:29:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:29:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:29:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:29:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:29:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:29:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:29:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:29:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:29:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:29:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:29:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:29:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:29:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:29:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:29:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:29:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:29:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:29:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:29:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:29:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:29:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:29:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:29:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:29:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:29:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:29:46 UTC] 📊 Database Info:
[19-Nov-2025 17:29:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:29:46 UTC]    Books columns count: 44
[19-Nov-2025 17:29:46 UTC]    Categories columns count: 7
[19-Nov-2025 17:29:46 UTC]    Language field in books: YES
[19-Nov-2025 17:29:46 UTC]    Format field in books: YES
[19-Nov-2025 17:29:46 UTC]    Description field in categories: YES
[19-Nov-2025 17:29:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:29:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:29:46 UTC]    Is_active field in books: YES
[19-Nov-2025 17:29:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:29:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:29:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:29:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:29:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:29:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:29:46 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 17:29:46 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 17:29:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:29:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:29:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:29:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:29:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:29:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:29:46 UTC] 📊 Database Info:
[19-Nov-2025 17:29:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:29:46 UTC]    Books columns count: 44
[19-Nov-2025 17:29:46 UTC]    Categories columns count: 7
[19-Nov-2025 17:29:46 UTC]    Language field in books: YES
[19-Nov-2025 17:29:46 UTC]    Format field in books: YES
[19-Nov-2025 17:29:46 UTC]    Description field in categories: YES
[19-Nov-2025 17:29:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:29:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:29:46 UTC]    Is_active field in books: YES
[19-Nov-2025 17:29:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:29:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:29:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:29:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:29:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:29:46 UTC] 📊 Database Info:
[19-Nov-2025 17:29:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:29:46 UTC]    Books columns count: 44
[19-Nov-2025 17:29:46 UTC]    Categories columns count: 7
[19-Nov-2025 17:29:46 UTC]    Language field in books: YES
[19-Nov-2025 17:29:46 UTC]    Format field in books: YES
[19-Nov-2025 17:29:46 UTC]    Description field in categories: YES
[19-Nov-2025 17:29:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:29:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:29:46 UTC]    Is_active field in books: YES
[19-Nov-2025 17:29:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:29:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:29:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:29:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:29:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:29:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:29:46 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/books.php on line 6
[19-Nov-2025 17:29:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:29:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:29:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 17:29:46 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 17:29:46 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 17:29:56 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 10
[19-Nov-2025 17:29:56 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 11
[19-Nov-2025 17:29:56 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 12
[19-Nov-2025 17:29:56 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 13
[19-Nov-2025 17:29:56 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 14
[19-Nov-2025 17:29:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:29:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:29:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:29:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:29:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:29:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:29:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:29:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:29:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:29:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:29:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:29:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:29:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:29:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:29:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:29:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:29:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:29:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:29:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:29:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:29:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:29:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:29:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:29:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:29:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:29:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:29:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:29:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:29:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:29:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:29:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:29:56 UTC] 📊 Database Info:
[19-Nov-2025 17:29:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:29:56 UTC]    Books columns count: 44
[19-Nov-2025 17:29:56 UTC]    Categories columns count: 7
[19-Nov-2025 17:29:56 UTC]    Language field in books: YES
[19-Nov-2025 17:29:56 UTC]    Format field in books: YES
[19-Nov-2025 17:29:56 UTC]    Description field in categories: YES
[19-Nov-2025 17:29:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:29:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:29:56 UTC]    Is_active field in books: YES
[19-Nov-2025 17:29:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:29:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:29:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:29:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:29:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:29:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:29:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:29:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:29:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:29:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:29:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:29:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:29:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:29:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:29:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:29:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:29:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:29:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:29:56 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/books.php on line 6
[19-Nov-2025 17:30:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:30:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:30:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:30:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:30:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:30:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:30:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:30:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:30:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:30:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:30:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:30:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:30:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:30:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:30:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:30:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:30:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:30:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:30:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:30:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:30:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:30:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:30:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:30:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:30:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:30:08 UTC] 📊 Database Info:
[19-Nov-2025 17:30:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:30:08 UTC]    Books columns count: 44
[19-Nov-2025 17:30:08 UTC]    Categories columns count: 7
[19-Nov-2025 17:30:08 UTC]    Language field in books: YES
[19-Nov-2025 17:30:08 UTC]    Format field in books: YES
[19-Nov-2025 17:30:08 UTC]    Description field in categories: YES
[19-Nov-2025 17:30:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:30:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:30:08 UTC]    Is_active field in books: YES
[19-Nov-2025 17:30:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:30:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:30:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:30:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:30:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:30:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:30:08 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 17:30:08 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 17:30:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:30:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:30:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:30:08 UTC] 📊 Database Info:
[19-Nov-2025 17:30:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:30:08 UTC]    Books columns count: 44
[19-Nov-2025 17:30:08 UTC]    Categories columns count: 7
[19-Nov-2025 17:30:08 UTC]    Language field in books: YES
[19-Nov-2025 17:30:08 UTC]    Format field in books: YES
[19-Nov-2025 17:30:08 UTC]    Description field in categories: YES
[19-Nov-2025 17:30:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:30:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:30:08 UTC]    Is_active field in books: YES
[19-Nov-2025 17:30:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:30:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:30:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:30:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:30:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:30:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:30:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:30:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:30:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:30:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:30:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:30:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:30:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:30:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:30:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:30:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:30:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:30:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:30:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:30:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:30:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:30:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:30:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:30:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:30:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:30:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:30:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:30:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:30:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:30:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:30:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:30:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:30:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:30:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:30:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:30:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:30:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:30:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:30:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:30:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:30:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:30:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:30:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:30:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:30:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:30:08 UTC] 📊 Database Info:
[19-Nov-2025 17:30:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:30:08 UTC]    Books columns count: 44
[19-Nov-2025 17:30:08 UTC]    Categories columns count: 7
[19-Nov-2025 17:30:08 UTC]    Language field in books: YES
[19-Nov-2025 17:30:08 UTC]    Format field in books: YES
[19-Nov-2025 17:30:08 UTC]    Description field in categories: YES
[19-Nov-2025 17:30:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:30:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:30:08 UTC]    Is_active field in books: YES
[19-Nov-2025 17:30:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:30:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:30:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:30:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:30:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:30:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:30:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:30:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:30:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:30:08 UTC] 📊 Database Info:
[19-Nov-2025 17:30:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:30:08 UTC]    Books columns count: 44
[19-Nov-2025 17:30:08 UTC]    Categories columns count: 7
[19-Nov-2025 17:30:08 UTC]    Language field in books: YES
[19-Nov-2025 17:30:08 UTC]    Format field in books: YES
[19-Nov-2025 17:30:08 UTC]    Description field in categories: YES
[19-Nov-2025 17:30:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:30:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:30:08 UTC]    Is_active field in books: YES
[19-Nov-2025 17:30:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:30:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:30:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:30:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:30:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:30:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:30:08 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 17:30:08 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 17:30:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:30:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:30:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:30:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:30:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:30:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:30:08 UTC] 📊 Database Info:
[19-Nov-2025 17:30:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:30:08 UTC]    Books columns count: 44
[19-Nov-2025 17:30:08 UTC]    Categories columns count: 7
[19-Nov-2025 17:30:08 UTC]    Language field in books: YES
[19-Nov-2025 17:30:08 UTC]    Format field in books: YES
[19-Nov-2025 17:30:08 UTC]    Description field in categories: YES
[19-Nov-2025 17:30:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:30:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:30:08 UTC]    Is_active field in books: YES
[19-Nov-2025 17:30:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:30:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:30:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:30:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:30:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:30:08 UTC] 📊 Database Info:
[19-Nov-2025 17:30:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:30:08 UTC]    Books columns count: 44
[19-Nov-2025 17:30:08 UTC]    Categories columns count: 7
[19-Nov-2025 17:30:08 UTC]    Language field in books: YES
[19-Nov-2025 17:30:08 UTC]    Format field in books: YES
[19-Nov-2025 17:30:08 UTC]    Description field in categories: YES
[19-Nov-2025 17:30:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:30:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:30:08 UTC]    Is_active field in books: YES
[19-Nov-2025 17:30:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:30:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:30:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:30:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:30:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:30:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:30:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:30:09 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 10
[19-Nov-2025 17:30:09 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 11
[19-Nov-2025 17:30:09 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 12
[19-Nov-2025 17:30:09 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 13
[19-Nov-2025 17:30:09 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 14
[19-Nov-2025 17:30:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:30:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:30:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:30:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:30:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:30:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:30:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:30:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:30:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:30:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:30:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:30:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:30:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:30:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:30:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:30:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:30:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:30:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:30:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:30:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:30:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:30:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:30:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:30:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:30:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:30:09 UTC] 📊 Database Info:
[19-Nov-2025 17:30:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:30:09 UTC]    Books columns count: 44
[19-Nov-2025 17:30:09 UTC]    Categories columns count: 7
[19-Nov-2025 17:30:09 UTC]    Language field in books: YES
[19-Nov-2025 17:30:09 UTC]    Format field in books: YES
[19-Nov-2025 17:30:09 UTC]    Description field in categories: YES
[19-Nov-2025 17:30:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:30:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:30:09 UTC]    Is_active field in books: YES
[19-Nov-2025 17:30:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:30:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:30:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:30:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:30:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:30:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:30:09 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/books.php on line 6
[19-Nov-2025 17:30:33 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 10
[19-Nov-2025 17:30:33 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 11
[19-Nov-2025 17:30:33 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 12
[19-Nov-2025 17:30:33 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 13
[19-Nov-2025 17:30:33 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 14
[19-Nov-2025 17:30:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:30:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:30:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:30:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:30:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:30:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:30:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:30:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:30:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:30:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:30:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:30:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:30:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:30:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:30:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:30:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:30:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:30:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:30:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:30:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:30:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:30:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:30:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:30:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:30:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:30:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:30:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:30:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:30:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:30:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:30:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:30:34 UTC] 📊 Database Info:
[19-Nov-2025 17:30:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:30:34 UTC]    Books columns count: 44
[19-Nov-2025 17:30:34 UTC]    Categories columns count: 7
[19-Nov-2025 17:30:34 UTC]    Language field in books: YES
[19-Nov-2025 17:30:34 UTC]    Format field in books: YES
[19-Nov-2025 17:30:34 UTC]    Description field in categories: YES
[19-Nov-2025 17:30:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:30:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:30:34 UTC]    Is_active field in books: YES
[19-Nov-2025 17:30:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:30:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:30:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:30:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:30:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:30:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:30:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:30:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:30:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:30:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:30:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:30:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:30:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:30:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:30:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:30:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:30:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:30:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:30:34 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/admin/public_html/acadlib.com/app-panel/api/books.php:1) in /home/admin/public_html/acadlib.com/app-panel/api/books.php on line 6
[19-Nov-2025 17:54:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:54:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:54:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:54:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:54:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:54:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:54:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:54:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:54:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:54:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:54:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:54:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:04 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:54:04 UTC] 📊 Database Info:
[19-Nov-2025 17:54:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:54:04 UTC]    Books columns count: 44
[19-Nov-2025 17:54:04 UTC]    Categories columns count: 7
[19-Nov-2025 17:54:04 UTC]    Language field in books: YES
[19-Nov-2025 17:54:04 UTC]    Format field in books: YES
[19-Nov-2025 17:54:04 UTC]    Description field in categories: YES
[19-Nov-2025 17:54:04 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:54:04 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:54:04 UTC]    Is_active field in books: YES
[19-Nov-2025 17:54:04 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:54:04 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:54:04 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:54:04 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:54:04 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:54:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:54:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:04 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:54:04 UTC] 📊 Database Info:
[19-Nov-2025 17:54:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:54:04 UTC]    Books columns count: 44
[19-Nov-2025 17:54:04 UTC]    Categories columns count: 7
[19-Nov-2025 17:54:04 UTC]    Language field in books: YES
[19-Nov-2025 17:54:04 UTC]    Format field in books: YES
[19-Nov-2025 17:54:04 UTC]    Description field in categories: YES
[19-Nov-2025 17:54:04 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:54:04 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:54:04 UTC]    Is_active field in books: YES
[19-Nov-2025 17:54:04 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:54:04 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:54:04 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:54:04 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:54:04 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:54:04 UTC] 📊 Database Info:
[19-Nov-2025 17:54:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:54:04 UTC]    Books columns count: 44
[19-Nov-2025 17:54:04 UTC]    Categories columns count: 7
[19-Nov-2025 17:54:04 UTC]    Language field in books: YES
[19-Nov-2025 17:54:04 UTC]    Format field in books: YES
[19-Nov-2025 17:54:04 UTC]    Description field in categories: YES
[19-Nov-2025 17:54:04 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:54:04 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:54:04 UTC]    Is_active field in books: YES
[19-Nov-2025 17:54:04 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:54:04 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:54:04 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:54:04 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:54:04 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:54:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:54:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:54:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:54:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:54:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 17:54:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 17:54:04 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 17:54:04 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 17:54:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:54:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:54:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:54:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:54:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:54:16 UTC] 📊 Database Info:
[19-Nov-2025 17:54:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:54:16 UTC]    Books columns count: 44
[19-Nov-2025 17:54:16 UTC]    Categories columns count: 7
[19-Nov-2025 17:54:16 UTC]    Language field in books: YES
[19-Nov-2025 17:54:16 UTC]    Format field in books: YES
[19-Nov-2025 17:54:16 UTC]    Description field in categories: YES
[19-Nov-2025 17:54:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:54:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:54:16 UTC]    Is_active field in books: YES
[19-Nov-2025 17:54:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:54:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:54:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:54:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:54:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:54:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:54:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:54:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:54:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:54:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:54:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:54:16 UTC] 📊 Database Info:
[19-Nov-2025 17:54:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:54:16 UTC]    Books columns count: 44
[19-Nov-2025 17:54:16 UTC]    Categories columns count: 7
[19-Nov-2025 17:54:16 UTC]    Language field in books: YES
[19-Nov-2025 17:54:16 UTC]    Format field in books: YES
[19-Nov-2025 17:54:16 UTC]    Description field in categories: YES
[19-Nov-2025 17:54:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:54:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:54:16 UTC]    Is_active field in books: YES
[19-Nov-2025 17:54:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:54:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:54:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:54:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:54:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:54:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:54:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:54:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:54:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:54:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:54:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:54:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:54:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:54:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:54:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:54:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:54:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:54:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:54:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:54:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:54:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:54:43 UTC] 📊 Database Info:
[19-Nov-2025 17:54:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:54:43 UTC]    Books columns count: 44
[19-Nov-2025 17:54:43 UTC]    Categories columns count: 7
[19-Nov-2025 17:54:43 UTC]    Language field in books: YES
[19-Nov-2025 17:54:43 UTC]    Format field in books: YES
[19-Nov-2025 17:54:43 UTC]    Description field in categories: YES
[19-Nov-2025 17:54:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:54:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:54:43 UTC]    Is_active field in books: YES
[19-Nov-2025 17:54:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:54:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:54:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:54:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:54:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:54:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:54:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:54:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:54:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:54:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:54:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:54:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:54:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:54:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:54:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:54:43 UTC] 📊 Database Info:
[19-Nov-2025 17:54:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:54:43 UTC]    Books columns count: 44
[19-Nov-2025 17:54:43 UTC]    Categories columns count: 7
[19-Nov-2025 17:54:43 UTC]    Language field in books: YES
[19-Nov-2025 17:54:43 UTC]    Format field in books: YES
[19-Nov-2025 17:54:43 UTC]    Description field in categories: YES
[19-Nov-2025 17:54:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:54:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:54:43 UTC]    Is_active field in books: YES
[19-Nov-2025 17:54:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:54:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:54:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:54:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:54:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:54:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:54:43 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 17:54:43 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 17:54:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:54:43 UTC] 📊 Database Info:
[19-Nov-2025 17:54:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:54:43 UTC]    Books columns count: 44
[19-Nov-2025 17:54:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:54:43 UTC]    Categories columns count: 7
[19-Nov-2025 17:54:43 UTC] 📊 Database Info:
[19-Nov-2025 17:54:43 UTC]    Language field in books: YES
[19-Nov-2025 17:54:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:54:43 UTC]    Format field in books: YES
[19-Nov-2025 17:54:43 UTC]    Books columns count: 44
[19-Nov-2025 17:54:43 UTC]    Description field in categories: YES
[19-Nov-2025 17:54:43 UTC]    Categories columns count: 7
[19-Nov-2025 17:54:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:54:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:54:43 UTC]    Language field in books: YES
[19-Nov-2025 17:54:43 UTC]    Is_active field in books: YES
[19-Nov-2025 17:54:43 UTC]    Format field in books: YES
[19-Nov-2025 17:54:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:54:43 UTC]    Description field in categories: YES
[19-Nov-2025 17:54:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:54:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:54:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:54:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:54:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:54:43 UTC]    Is_active field in books: YES
[19-Nov-2025 17:54:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:54:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:54:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:54:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:54:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:54:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:54:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:54:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:54:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:54:43 UTC] 📊 Database Info:
[19-Nov-2025 17:54:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:54:43 UTC]    Books columns count: 44
[19-Nov-2025 17:54:43 UTC]    Categories columns count: 7
[19-Nov-2025 17:54:43 UTC]    Language field in books: YES
[19-Nov-2025 17:54:43 UTC]    Format field in books: YES
[19-Nov-2025 17:54:43 UTC]    Description field in categories: YES
[19-Nov-2025 17:54:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:54:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:54:43 UTC]    Is_active field in books: YES
[19-Nov-2025 17:54:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:54:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:54:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:54:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:54:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:54:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:54:43 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 17:54:43 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 17:54:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:54:43 UTC] 📊 Database Info:
[19-Nov-2025 17:54:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:54:43 UTC]    Books columns count: 44
[19-Nov-2025 17:54:43 UTC]    Categories columns count: 7
[19-Nov-2025 17:54:43 UTC]    Language field in books: YES
[19-Nov-2025 17:54:43 UTC]    Format field in books: YES
[19-Nov-2025 17:54:43 UTC]    Description field in categories: YES
[19-Nov-2025 17:54:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:54:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:54:43 UTC]    Is_active field in books: YES
[19-Nov-2025 17:54:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:54:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:54:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:54:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:54:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:54:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:54:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:54:44 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:44 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:44 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:44 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:44 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:44 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:44 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:44 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:44 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:44 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:44 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:44 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:54:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:44 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:54:44 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:54:44 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:44 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:44 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:44 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:44 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:44 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:44 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:44 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:44 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:44 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:44 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:44 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:44 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:44 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:54:44 UTC] 📊 Database Info:
[19-Nov-2025 17:54:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:54:44 UTC]    Books columns count: 44
[19-Nov-2025 17:54:44 UTC]    Categories columns count: 7
[19-Nov-2025 17:54:44 UTC]    Language field in books: YES
[19-Nov-2025 17:54:44 UTC]    Format field in books: YES
[19-Nov-2025 17:54:44 UTC]    Description field in categories: YES
[19-Nov-2025 17:54:44 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:54:44 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:54:44 UTC]    Is_active field in books: YES
[19-Nov-2025 17:54:44 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:54:44 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:54:44 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:54:44 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:54:44 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:54:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:54:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:54:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:54:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:54:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:54:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:54:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:54:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:54:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:54:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:54:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:54:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:54:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:54:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:54:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:54:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:54:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:54:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:54:57 UTC] 📊 Database Info:
[19-Nov-2025 17:54:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:54:57 UTC]    Books columns count: 44
[19-Nov-2025 17:54:57 UTC]    Categories columns count: 7
[19-Nov-2025 17:54:57 UTC]    Language field in books: YES
[19-Nov-2025 17:54:57 UTC]    Format field in books: YES
[19-Nov-2025 17:54:57 UTC]    Description field in categories: YES
[19-Nov-2025 17:54:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:54:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:54:57 UTC]    Is_active field in books: YES
[19-Nov-2025 17:54:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:54:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:54:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:54:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:54:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:54:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:54:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:54:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:54:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:54:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:54:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:54:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:54:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:54:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:54:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:54:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:54:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:54:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:54:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:54:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:54:57 UTC] 📊 Database Info:
[19-Nov-2025 17:54:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:54:57 UTC]    Books columns count: 44
[19-Nov-2025 17:54:57 UTC]    Categories columns count: 7
[19-Nov-2025 17:54:57 UTC]    Language field in books: YES
[19-Nov-2025 17:54:57 UTC]    Format field in books: YES
[19-Nov-2025 17:54:57 UTC]    Description field in categories: YES
[19-Nov-2025 17:54:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:54:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:54:57 UTC]    Is_active field in books: YES
[19-Nov-2025 17:54:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:54:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:54:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:54:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:54:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:54:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:54:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:56:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:56:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:56:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:56:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:56:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:56:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:56:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:56:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:56:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:56:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:56:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:56:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:56:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:56:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:56:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:56:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:56:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:56:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:56:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:56:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:56:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:56:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:56:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:56:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:56:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:56:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:56:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:56:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:56:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:56:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:56:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:56:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:56:07 UTC] 📊 Database Info:
[19-Nov-2025 17:56:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:56:07 UTC]    Books columns count: 44
[19-Nov-2025 17:56:07 UTC]    Categories columns count: 7
[19-Nov-2025 17:56:07 UTC]    Language field in books: YES
[19-Nov-2025 17:56:07 UTC]    Format field in books: YES
[19-Nov-2025 17:56:07 UTC]    Description field in categories: YES
[19-Nov-2025 17:56:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:56:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:56:07 UTC]    Is_active field in books: YES
[19-Nov-2025 17:56:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:56:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:56:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:56:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:56:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:56:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:56:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:56:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:56:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:56:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:56:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:56:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:56:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:56:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:56:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:56:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:56:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:56:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:56:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:56:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:56:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:56:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:56:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:56:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:56:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:56:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:56:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:56:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:56:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:56:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:56:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:56:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:56:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:56:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:56:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:56:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:56:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:56:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:56:08 UTC] 📊 Database Info:
[19-Nov-2025 17:56:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:56:08 UTC]    Books columns count: 44
[19-Nov-2025 17:56:08 UTC]    Categories columns count: 7
[19-Nov-2025 17:56:08 UTC]    Language field in books: YES
[19-Nov-2025 17:56:08 UTC]    Format field in books: YES
[19-Nov-2025 17:56:08 UTC]    Description field in categories: YES
[19-Nov-2025 17:56:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:56:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:56:08 UTC]    Is_active field in books: YES
[19-Nov-2025 17:56:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:56:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:56:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:56:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:56:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:56:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:56:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:56:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:56:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:56:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:56:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:56:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:56:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:56:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:56:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:56:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:56:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:56:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:56:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:56:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:56:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:56:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:56:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:56:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:56:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:56:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:56:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:56:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:56:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:56:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:56:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:56:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:56:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:56:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:56:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:56:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:56:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:56:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:56:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:56:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:56:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:56:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:56:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:56:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:56:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:56:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:56:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:56:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:56:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:56:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:56:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:56:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:56:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:56:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:56:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:56:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:56:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:56:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:56:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:56:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:56:16 UTC] 📊 Database Info:
[19-Nov-2025 17:56:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:56:16 UTC]    Books columns count: 44
[19-Nov-2025 17:56:16 UTC]    Categories columns count: 7
[19-Nov-2025 17:56:16 UTC]    Language field in books: YES
[19-Nov-2025 17:56:16 UTC]    Format field in books: YES
[19-Nov-2025 17:56:16 UTC]    Description field in categories: YES
[19-Nov-2025 17:56:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:56:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:56:16 UTC]    Is_active field in books: YES
[19-Nov-2025 17:56:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:56:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:56:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:56:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:56:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:56:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:56:16 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 17:56:16 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 17:56:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:56:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:56:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:56:16 UTC] 📊 Database Info:
[19-Nov-2025 17:56:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:56:16 UTC]    Books columns count: 44
[19-Nov-2025 17:56:16 UTC]    Categories columns count: 7
[19-Nov-2025 17:56:16 UTC]    Language field in books: YES
[19-Nov-2025 17:56:16 UTC]    Format field in books: YES
[19-Nov-2025 17:56:16 UTC]    Description field in categories: YES
[19-Nov-2025 17:56:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:56:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:56:16 UTC]    Is_active field in books: YES
[19-Nov-2025 17:56:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:56:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:56:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:56:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:56:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:56:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:56:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:56:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:56:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:56:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:56:16 UTC] 📊 Database Info:
[19-Nov-2025 17:56:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:56:16 UTC]    Books columns count: 44
[19-Nov-2025 17:56:16 UTC]    Categories columns count: 7
[19-Nov-2025 17:56:16 UTC]    Language field in books: YES
[19-Nov-2025 17:56:16 UTC]    Format field in books: YES
[19-Nov-2025 17:56:16 UTC]    Description field in categories: YES
[19-Nov-2025 17:56:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:56:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:56:16 UTC]    Is_active field in books: YES
[19-Nov-2025 17:56:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:56:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:56:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:56:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:56:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:56:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:56:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 17:56:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 17:56:19 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:56:19 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:56:19 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:56:19 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:56:19 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:56:19 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:56:19 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:56:19 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:56:19 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:56:19 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:56:19 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:56:19 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:56:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 17:56:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:56:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 17:56:19 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 17:56:19 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 17:56:19 UTC] ℹ️ Column institution already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column language already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column format already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 17:56:19 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 17:56:19 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 17:56:19 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 17:56:19 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 17:56:19 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 17:56:19 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 17:56:19 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 17:56:19 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 17:56:19 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 17:56:19 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 17:56:19 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 17:56:19 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 17:56:19 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 17:56:19 UTC] 📊 Database Info:
[19-Nov-2025 17:56:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 17:56:19 UTC]    Books columns count: 44
[19-Nov-2025 17:56:19 UTC]    Categories columns count: 7
[19-Nov-2025 17:56:19 UTC]    Language field in books: YES
[19-Nov-2025 17:56:19 UTC]    Format field in books: YES
[19-Nov-2025 17:56:19 UTC]    Description field in categories: YES
[19-Nov-2025 17:56:19 UTC]    Display_order field in categories: YES
[19-Nov-2025 17:56:19 UTC]    Is_active field in categories: YES
[19-Nov-2025 17:56:19 UTC]    Is_active field in books: YES
[19-Nov-2025 17:56:19 UTC]    External_download_link field in books: YES
[19-Nov-2025 17:56:19 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 17:56:19 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 17:56:19 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 17:56:19 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 17:56:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 17:56:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 17:56:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 17:56:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 17:56:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 17:56:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 17:56:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 17:56:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 17:56:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 17:56:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 17:56:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 17:56:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 17:56:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:00:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:00:55 UTC] PHP Parse error:  syntax error, unexpected 'elseif' (T_ELSEIF) in /home/admin/public_html/acadlib.com/app-panel/api/books.php on line 1438
[19-Nov-2025 18:00:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:00:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:00:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:00:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:00:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:00:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:00:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:00:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:00:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:00:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:00:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:00:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:00:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:00:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:00:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:00:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:00:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:00:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:00:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:00:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:00:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:00:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:00:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:00:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:00:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:00:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:00:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:00:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:00:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:00:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:00:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:00:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:00:55 UTC] 📊 Database Info:
[19-Nov-2025 18:00:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:00:55 UTC]    Books columns count: 44
[19-Nov-2025 18:00:55 UTC]    Categories columns count: 7
[19-Nov-2025 18:00:55 UTC]    Language field in books: YES
[19-Nov-2025 18:00:55 UTC]    Format field in books: YES
[19-Nov-2025 18:00:55 UTC]    Description field in categories: YES
[19-Nov-2025 18:00:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:00:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:00:55 UTC]    Is_active field in books: YES
[19-Nov-2025 18:00:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:00:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:00:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:00:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:00:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:00:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:00:55 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 18:00:55 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 18:00:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:00:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:00:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:00:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:00:55 UTC] 📊 Database Info:
[19-Nov-2025 18:00:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:00:55 UTC]    Books columns count: 44
[19-Nov-2025 18:00:55 UTC]    Categories columns count: 7
[19-Nov-2025 18:00:55 UTC]    Language field in books: YES
[19-Nov-2025 18:00:55 UTC]    Format field in books: YES
[19-Nov-2025 18:00:55 UTC]    Description field in categories: YES
[19-Nov-2025 18:00:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:00:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:00:55 UTC]    Is_active field in books: YES
[19-Nov-2025 18:00:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:00:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:00:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:00:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:00:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:00:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:00:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 18:00:55 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 18:00:55 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 18:00:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:00:59 UTC] PHP Parse error:  syntax error, unexpected 'elseif' (T_ELSEIF) in /home/admin/public_html/acadlib.com/app-panel/api/books.php on line 1438
[19-Nov-2025 18:00:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:00:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:00:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:00:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:00:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:00:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:00:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:00:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:00:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:00:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:00:59 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:00:59 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:00:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:00:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:00:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:00:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:00:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:00:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:00:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:00:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:00:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:00:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:00:59 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:00:59 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:00:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:00:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:00:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:00:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:00:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:00:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:00:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:00:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:00:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:00:59 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:00:59 UTC] 📊 Database Info:
[19-Nov-2025 18:00:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:00:59 UTC]    Books columns count: 44
[19-Nov-2025 18:00:59 UTC]    Categories columns count: 7
[19-Nov-2025 18:00:59 UTC]    Language field in books: YES
[19-Nov-2025 18:00:59 UTC]    Format field in books: YES
[19-Nov-2025 18:00:59 UTC]    Description field in categories: YES
[19-Nov-2025 18:00:59 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:00:59 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:00:59 UTC]    Is_active field in books: YES
[19-Nov-2025 18:00:59 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:00:59 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:00:59 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:00:59 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:00:59 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:00:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:00:59 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 18:00:59 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 18:00:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:00:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:00:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:00:59 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:00:59 UTC] 📊 Database Info:
[19-Nov-2025 18:00:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:00:59 UTC]    Books columns count: 44
[19-Nov-2025 18:00:59 UTC]    Categories columns count: 7
[19-Nov-2025 18:00:59 UTC]    Language field in books: YES
[19-Nov-2025 18:00:59 UTC]    Format field in books: YES
[19-Nov-2025 18:00:59 UTC]    Description field in categories: YES
[19-Nov-2025 18:00:59 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:00:59 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:00:59 UTC]    Is_active field in books: YES
[19-Nov-2025 18:00:59 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:00:59 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:00:59 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:00:59 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:00:59 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:00:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:00:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 18:00:59 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 18:00:59 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 18:02:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:02:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:02:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:02:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:02:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:02:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:02:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:02:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:02:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:02:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:02:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:02:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:02:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:02:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:02:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:02:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:02:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:02:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:02:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:02:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:02:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:02:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:02:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:02:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:02:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:02:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:02:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:02:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:02:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:02:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:02:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:02:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:02:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:02:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:02:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:02:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:02:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:02:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:02:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:02:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:02:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:02:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:02:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:02:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:02:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:02:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:02:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:02:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:02:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:02:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:02:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:02:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:02:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:02:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:02:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:02:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:02:38 UTC] 📊 Database Info:
[19-Nov-2025 18:02:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:02:38 UTC]    Books columns count: 44
[19-Nov-2025 18:02:38 UTC]    Categories columns count: 7
[19-Nov-2025 18:02:38 UTC]    Language field in books: YES
[19-Nov-2025 18:02:38 UTC]    Format field in books: YES
[19-Nov-2025 18:02:38 UTC]    Description field in categories: YES
[19-Nov-2025 18:02:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:02:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:02:38 UTC]    Is_active field in books: YES
[19-Nov-2025 18:02:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:02:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:02:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:02:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:02:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:02:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:02:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:02:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:02:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:02:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:02:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:02:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:02:38 UTC] 📊 Database Info:
[19-Nov-2025 18:02:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:02:38 UTC]    Books columns count: 44
[19-Nov-2025 18:02:38 UTC]    Categories columns count: 7
[19-Nov-2025 18:02:38 UTC]    Language field in books: YES
[19-Nov-2025 18:02:38 UTC]    Format field in books: YES
[19-Nov-2025 18:02:38 UTC]    Description field in categories: YES
[19-Nov-2025 18:02:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:02:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:02:38 UTC]    Is_active field in books: YES
[19-Nov-2025 18:02:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:02:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:02:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:02:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:02:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:02:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:02:38 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 18:02:38 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 18:02:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:02:38 UTC] 📊 Database Info:
[19-Nov-2025 18:02:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:02:38 UTC]    Books columns count: 44
[19-Nov-2025 18:02:38 UTC]    Categories columns count: 7
[19-Nov-2025 18:02:38 UTC]    Language field in books: YES
[19-Nov-2025 18:02:38 UTC]    Format field in books: YES
[19-Nov-2025 18:02:38 UTC]    Description field in categories: YES
[19-Nov-2025 18:02:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:02:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:02:38 UTC]    Is_active field in books: YES
[19-Nov-2025 18:02:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:02:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:02:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:02:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:02:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:02:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:02:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 18:02:38 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 18:02:38 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 18:17:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:17:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:17:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:17:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:17:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:17:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:17:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:17:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:17:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:17:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:17:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:17:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:17:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:17:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:17:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:17:47 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:17:47 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:17:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:17:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:17:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:17:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:17:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:17:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:17:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:17:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:17:47 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:17:47 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:17:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:17:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:17:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:17:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:17:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:17:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:17:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:17:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:17:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:17:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:17:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:17:47 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:17:47 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:17:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:17:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:17:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:17:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:17:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:17:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:17:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:17:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:17:47 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:17:47 UTC] 📊 Database Info:
[19-Nov-2025 18:17:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:17:47 UTC]    Books columns count: 44
[19-Nov-2025 18:17:47 UTC]    Categories columns count: 7
[19-Nov-2025 18:17:47 UTC]    Language field in books: YES
[19-Nov-2025 18:17:47 UTC]    Format field in books: YES
[19-Nov-2025 18:17:47 UTC]    Description field in categories: YES
[19-Nov-2025 18:17:47 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:17:47 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:17:47 UTC]    Is_active field in books: YES
[19-Nov-2025 18:17:47 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:17:47 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:17:47 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:17:47 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:17:47 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:17:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:17:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 18:17:47 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 18:17:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:17:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:17:47 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:17:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:17:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:17:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:17:47 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:17:47 UTC] 📊 Database Info:
[19-Nov-2025 18:17:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:17:47 UTC]    Books columns count: 44
[19-Nov-2025 18:17:47 UTC]    Categories columns count: 7
[19-Nov-2025 18:17:47 UTC]    Language field in books: YES
[19-Nov-2025 18:17:47 UTC]    Format field in books: YES
[19-Nov-2025 18:17:47 UTC]    Description field in categories: YES
[19-Nov-2025 18:17:47 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:17:47 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:17:47 UTC]    Is_active field in books: YES
[19-Nov-2025 18:17:47 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:17:47 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:17:47 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:17:47 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:17:47 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:17:47 UTC] 📊 Database Info:
[19-Nov-2025 18:17:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:17:47 UTC]    Books columns count: 44
[19-Nov-2025 18:17:47 UTC]    Categories columns count: 7
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:17:47 UTC]    Language field in books: YES
[19-Nov-2025 18:17:47 UTC]    Format field in books: YES
[19-Nov-2025 18:17:47 UTC]    Description field in categories: YES
[19-Nov-2025 18:17:47 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:17:47 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:17:47 UTC]    Is_active field in books: YES
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:17:47 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:17:47 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:17:47 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:17:47 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:17:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:17:47 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 18:17:47 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:17:47 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:17:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:17:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:17:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:17:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:17:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:17:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:17:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:17:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:17:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:17:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:17:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:17:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:17:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:17:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:17:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:17:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:17:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:17:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:17:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:17:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:17:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:17:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:17:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:17:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:17:57 UTC] 📊 Database Info:
[19-Nov-2025 18:17:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:17:57 UTC]    Books columns count: 44
[19-Nov-2025 18:17:57 UTC]    Categories columns count: 7
[19-Nov-2025 18:17:57 UTC]    Language field in books: YES
[19-Nov-2025 18:17:57 UTC]    Format field in books: YES
[19-Nov-2025 18:17:57 UTC]    Description field in categories: YES
[19-Nov-2025 18:17:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:17:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:17:57 UTC]    Is_active field in books: YES
[19-Nov-2025 18:17:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:17:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:17:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:17:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:17:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:17:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:17:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:17:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:17:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:17:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:17:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:17:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:17:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:17:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:17:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:17:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:17:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:17:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:17:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:17:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:17:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:17:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:17:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:17:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:17:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:17:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:17:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:17:57 UTC] 📊 Database Info:
[19-Nov-2025 18:17:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:17:57 UTC]    Books columns count: 44
[19-Nov-2025 18:17:57 UTC]    Categories columns count: 7
[19-Nov-2025 18:17:57 UTC]    Language field in books: YES
[19-Nov-2025 18:17:57 UTC]    Format field in books: YES
[19-Nov-2025 18:17:57 UTC]    Description field in categories: YES
[19-Nov-2025 18:17:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:17:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:17:57 UTC]    Is_active field in books: YES
[19-Nov-2025 18:17:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:17:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:17:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:17:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:17:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:17:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:17:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:18:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:18:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:18:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:18:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:18:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:18:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:18:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:18:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:18:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:18:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:18:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:18:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:18:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:18:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:18:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:18:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:18:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:18:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:18:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:18:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:18:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:18:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:18:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:18:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:18:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:18:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:18:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:18:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:18:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:18:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:18:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:18:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:18:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:18:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:18:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:18:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:18:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:18:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:18:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:18:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:18:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:18:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:18:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:18:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:18:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:18:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:18:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:18:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:18:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:18:38 UTC] 📊 Database Info:
[19-Nov-2025 18:18:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:18:38 UTC]    Books columns count: 44
[19-Nov-2025 18:18:38 UTC]    Categories columns count: 7
[19-Nov-2025 18:18:38 UTC]    Language field in books: YES
[19-Nov-2025 18:18:38 UTC]    Format field in books: YES
[19-Nov-2025 18:18:38 UTC]    Description field in categories: YES
[19-Nov-2025 18:18:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:18:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:18:38 UTC]    Is_active field in books: YES
[19-Nov-2025 18:18:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:18:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:18:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:18:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:18:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:18:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:18:38 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 18:18:38 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 18:18:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:18:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:18:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:18:38 UTC] 📊 Database Info:
[19-Nov-2025 18:18:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:18:38 UTC]    Books columns count: 44
[19-Nov-2025 18:18:38 UTC]    Categories columns count: 7
[19-Nov-2025 18:18:38 UTC]    Language field in books: YES
[19-Nov-2025 18:18:38 UTC]    Format field in books: YES
[19-Nov-2025 18:18:38 UTC]    Description field in categories: YES
[19-Nov-2025 18:18:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:18:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:18:38 UTC]    Is_active field in books: YES
[19-Nov-2025 18:18:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:18:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:18:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:18:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:18:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:18:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:18:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:18:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:18:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:18:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:18:38 UTC] 📊 Database Info:
[19-Nov-2025 18:18:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:18:38 UTC]    Books columns count: 44
[19-Nov-2025 18:18:38 UTC]    Categories columns count: 7
[19-Nov-2025 18:18:38 UTC]    Language field in books: YES
[19-Nov-2025 18:18:38 UTC]    Format field in books: YES
[19-Nov-2025 18:18:38 UTC]    Description field in categories: YES
[19-Nov-2025 18:18:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:18:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:18:38 UTC]    Is_active field in books: YES
[19-Nov-2025 18:18:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:18:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:18:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:18:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:18:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:18:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:18:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:18:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 18:18:38 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 18:18:38 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 18:18:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:18:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:18:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:18:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:18:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:18:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:18:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:18:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:18:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:18:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:18:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:18:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:18:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:18:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:18:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:18:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:18:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:18:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:18:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:18:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:18:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:18:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:18:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:18:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:18:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:18:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:18:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:18:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:18:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:18:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:18:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:18:47 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:18:47 UTC] 📊 Database Info:
[19-Nov-2025 18:18:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:18:47 UTC]    Books columns count: 44
[19-Nov-2025 18:18:47 UTC]    Categories columns count: 7
[19-Nov-2025 18:18:47 UTC]    Language field in books: YES
[19-Nov-2025 18:18:47 UTC]    Format field in books: YES
[19-Nov-2025 18:18:47 UTC]    Description field in categories: YES
[19-Nov-2025 18:18:47 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:18:47 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:18:47 UTC]    Is_active field in books: YES
[19-Nov-2025 18:18:47 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:18:47 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:18:47 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:18:47 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:18:47 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:18:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:18:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:18:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:18:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:18:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:18:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:18:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:18:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:18:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:18:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:18:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:18:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:18:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:18:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:18:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:18:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:18:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:18:47 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:18:47 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:18:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:18:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:18:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:18:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:18:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:18:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:18:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:18:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:18:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:18:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:18:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:18:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:18:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:18:47 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:18:47 UTC] 📊 Database Info:
[19-Nov-2025 18:18:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:18:47 UTC]    Books columns count: 44
[19-Nov-2025 18:18:47 UTC]    Categories columns count: 7
[19-Nov-2025 18:18:47 UTC]    Language field in books: YES
[19-Nov-2025 18:18:47 UTC]    Format field in books: YES
[19-Nov-2025 18:18:47 UTC]    Description field in categories: YES
[19-Nov-2025 18:18:47 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:18:47 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:18:47 UTC]    Is_active field in books: YES
[19-Nov-2025 18:18:47 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:18:47 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:18:47 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:18:47 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:18:47 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:18:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:18:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:19:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:19:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:19:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:19:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:19:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:19:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:19:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:19:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:19:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:19:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:19:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:19:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:19:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:19:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:19:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:19:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:19:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:19:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:19:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:19:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:19:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:19:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:19:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:19:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:19:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:19:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:19:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:19:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:19:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:19:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:19:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:19:09 UTC] 📊 Database Info:
[19-Nov-2025 18:19:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:19:09 UTC]    Books columns count: 44
[19-Nov-2025 18:19:09 UTC]    Categories columns count: 7
[19-Nov-2025 18:19:09 UTC]    Language field in books: YES
[19-Nov-2025 18:19:09 UTC]    Format field in books: YES
[19-Nov-2025 18:19:09 UTC]    Description field in categories: YES
[19-Nov-2025 18:19:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:19:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:19:09 UTC]    Is_active field in books: YES
[19-Nov-2025 18:19:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:19:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:19:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:19:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:19:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:19:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:19:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:19:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:19:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:19:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:19:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:19:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:19:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:19:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:19:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:19:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:19:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:19:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:19:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:19:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:19:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:19:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:19:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:19:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:19:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:19:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:19:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:19:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:19:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:19:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:19:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:19:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:19:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:19:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:19:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:19:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:19:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:19:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:19:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:19:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:19:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:19:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:19:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:19:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:19:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:19:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:19:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:19:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:19:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:19:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:19:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:19:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:19:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:19:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:19:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:19:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:19:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:19:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:19:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:19:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:19:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:19:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:19:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:19:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:19:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:19:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:19:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:19:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:19:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:19:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:19:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:19:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:19:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:19:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:19:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:19:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:19:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:19:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:19:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:19:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:19:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:19:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:19:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:19:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:19:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:19:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:19:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:19:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:19:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:19:10 UTC] 📊 Database Info:
[19-Nov-2025 18:19:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:19:10 UTC]    Books columns count: 44
[19-Nov-2025 18:19:10 UTC]    Categories columns count: 7
[19-Nov-2025 18:19:10 UTC]    Language field in books: YES
[19-Nov-2025 18:19:10 UTC]    Format field in books: YES
[19-Nov-2025 18:19:10 UTC]    Description field in categories: YES
[19-Nov-2025 18:19:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:19:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:19:10 UTC]    Is_active field in books: YES
[19-Nov-2025 18:19:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:19:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:19:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:19:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:19:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:19:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:19:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:19:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:19:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:19:10 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 18:19:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:19:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:19:10 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:19:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:19:10 UTC] 📊 Database Info:
[19-Nov-2025 18:19:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:19:10 UTC]    Books columns count: 44
[19-Nov-2025 18:19:10 UTC]    Categories columns count: 7
[19-Nov-2025 18:19:10 UTC]    Language field in books: YES
[19-Nov-2025 18:19:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:19:10 UTC]    Format field in books: YES
[19-Nov-2025 18:19:10 UTC] 📊 Database Info:
[19-Nov-2025 18:19:10 UTC]    Description field in categories: YES
[19-Nov-2025 18:19:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:19:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:19:10 UTC]    Books columns count: 44
[19-Nov-2025 18:19:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:19:10 UTC]    Categories columns count: 7
[19-Nov-2025 18:19:10 UTC]    Is_active field in books: YES
[19-Nov-2025 18:19:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:19:10 UTC]    Language field in books: YES
[19-Nov-2025 18:19:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:19:10 UTC]    Format field in books: YES
[19-Nov-2025 18:19:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:19:10 UTC]    Description field in categories: YES
[19-Nov-2025 18:19:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:19:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:19:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:19:10 UTC]    Is_active field in books: YES
[19-Nov-2025 18:19:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:19:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:19:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:19:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:19:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:19:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:19:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:19:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:19:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:19:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:19:10 UTC] 📊 Database Info:
[19-Nov-2025 18:19:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:19:10 UTC]    Books columns count: 44
[19-Nov-2025 18:19:10 UTC]    Categories columns count: 7
[19-Nov-2025 18:19:10 UTC]    Language field in books: YES
[19-Nov-2025 18:19:10 UTC]    Format field in books: YES
[19-Nov-2025 18:19:10 UTC]    Description field in categories: YES
[19-Nov-2025 18:19:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:19:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:19:10 UTC]    Is_active field in books: YES
[19-Nov-2025 18:19:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:19:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:19:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:19:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:19:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:19:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:19:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:19:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:19:10 UTC] 📊 Database Info:
[19-Nov-2025 18:19:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:19:10 UTC]    Books columns count: 44
[19-Nov-2025 18:19:10 UTC]    Categories columns count: 7
[19-Nov-2025 18:19:10 UTC]    Language field in books: YES
[19-Nov-2025 18:19:10 UTC]    Format field in books: YES
[19-Nov-2025 18:19:10 UTC]    Description field in categories: YES
[19-Nov-2025 18:19:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:19:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:19:10 UTC]    Is_active field in books: YES
[19-Nov-2025 18:19:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:19:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:19:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:19:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:19:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:19:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:19:10 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 18:19:10 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 18:19:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:19:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:19:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:19:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:19:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:19:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:19:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:19:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:19:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:19:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:19:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:19:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:19:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:19:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:19:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:19:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:19:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:19:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:19:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:19:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:19:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:19:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:19:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:19:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:19:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:19:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:19:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:19:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:19:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:19:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:19:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:19:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:19:11 UTC] 📊 Database Info:
[19-Nov-2025 18:19:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:19:11 UTC]    Books columns count: 44
[19-Nov-2025 18:19:11 UTC]    Categories columns count: 7
[19-Nov-2025 18:19:11 UTC]    Language field in books: YES
[19-Nov-2025 18:19:11 UTC]    Format field in books: YES
[19-Nov-2025 18:19:11 UTC]    Description field in categories: YES
[19-Nov-2025 18:19:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:19:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:19:11 UTC]    Is_active field in books: YES
[19-Nov-2025 18:19:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:19:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:19:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:19:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:19:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:19:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:19:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:19:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:19:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:19:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:19:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:19:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:19:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:19:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:19:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:19:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:19:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:19:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:24:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:24:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:24:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:24:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:24:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:03 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:24:03 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:24:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:24:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:24:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:03 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:24:03 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:24:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:03 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:24:03 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:03 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:24:03 UTC] 📊 Database Info:
[19-Nov-2025 18:24:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:24:03 UTC]    Books columns count: 44
[19-Nov-2025 18:24:03 UTC]    Categories columns count: 7
[19-Nov-2025 18:24:03 UTC]    Language field in books: YES
[19-Nov-2025 18:24:03 UTC]    Format field in books: YES
[19-Nov-2025 18:24:03 UTC]    Description field in categories: YES
[19-Nov-2025 18:24:03 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:24:03 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:24:03 UTC]    Is_active field in books: YES
[19-Nov-2025 18:24:03 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:24:03 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:24:03 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:24:03 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:24:03 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:24:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:24:03 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 18:24:03 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 18:24:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:03 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:24:03 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:24:03 UTC] 📊 Database Info:
[19-Nov-2025 18:24:03 UTC] 📊 Database Info:
[19-Nov-2025 18:24:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:24:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:24:03 UTC]    Books columns count: 44
[19-Nov-2025 18:24:03 UTC]    Books columns count: 44
[19-Nov-2025 18:24:03 UTC]    Categories columns count: 7
[19-Nov-2025 18:24:03 UTC]    Categories columns count: 7
[19-Nov-2025 18:24:03 UTC]    Language field in books: YES
[19-Nov-2025 18:24:03 UTC]    Format field in books: YES
[19-Nov-2025 18:24:03 UTC]    Language field in books: YES
[19-Nov-2025 18:24:03 UTC]    Description field in categories: YES
[19-Nov-2025 18:24:03 UTC]    Format field in books: YES
[19-Nov-2025 18:24:03 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:24:03 UTC]    Description field in categories: YES
[19-Nov-2025 18:24:03 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:24:03 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:24:03 UTC]    Is_active field in books: YES
[19-Nov-2025 18:24:03 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:24:03 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:24:03 UTC]    Is_active field in books: YES
[19-Nov-2025 18:24:03 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:24:03 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:24:03 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:24:03 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:24:03 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:24:03 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:24:03 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:24:03 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:24:03 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:24:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:24:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:24:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 18:24:03 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 18:24:03 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 18:24:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:24:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:24:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:24:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:24:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:24:09 UTC] 📊 Database Info:
[19-Nov-2025 18:24:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:24:09 UTC]    Books columns count: 44
[19-Nov-2025 18:24:09 UTC]    Categories columns count: 7
[19-Nov-2025 18:24:09 UTC]    Language field in books: YES
[19-Nov-2025 18:24:09 UTC]    Format field in books: YES
[19-Nov-2025 18:24:09 UTC]    Description field in categories: YES
[19-Nov-2025 18:24:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:24:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:24:09 UTC]    Is_active field in books: YES
[19-Nov-2025 18:24:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:24:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:24:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:24:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:24:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:24:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:24:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:24:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:24:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:24:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:24:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:24:09 UTC] 📊 Database Info:
[19-Nov-2025 18:24:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:24:09 UTC]    Books columns count: 44
[19-Nov-2025 18:24:09 UTC]    Categories columns count: 7
[19-Nov-2025 18:24:09 UTC]    Language field in books: YES
[19-Nov-2025 18:24:09 UTC]    Format field in books: YES
[19-Nov-2025 18:24:09 UTC]    Description field in categories: YES
[19-Nov-2025 18:24:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:24:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:24:09 UTC]    Is_active field in books: YES
[19-Nov-2025 18:24:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:24:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:24:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:24:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:24:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:24:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:24:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:24:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:24:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:24:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:24:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:24:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:24:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:24:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:24:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:24:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:24:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:24:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:24:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:24:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:24:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:24:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:24:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:24:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:24:22 UTC] 📊 Database Info:
[19-Nov-2025 18:24:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:24:22 UTC]    Books columns count: 44
[19-Nov-2025 18:24:22 UTC]    Categories columns count: 7
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:22 UTC]    Language field in books: YES
[19-Nov-2025 18:24:22 UTC]    Format field in books: YES
[19-Nov-2025 18:24:22 UTC]    Description field in categories: YES
[19-Nov-2025 18:24:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:24:22 UTC]    Is_active field in books: YES
[19-Nov-2025 18:24:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:24:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:24:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:24:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:24:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:24:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:24:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:24:22 UTC] 📊 Database Info:
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:24:22 UTC]    Books columns count: 44
[19-Nov-2025 18:24:22 UTC]    Categories columns count: 7
[19-Nov-2025 18:24:22 UTC]    Language field in books: YES
[19-Nov-2025 18:24:22 UTC]    Format field in books: YES
[19-Nov-2025 18:24:22 UTC]    Description field in categories: YES
[19-Nov-2025 18:24:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:24:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:24:22 UTC]    Is_active field in books: YES
[19-Nov-2025 18:24:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:24:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:24:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:24:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:24:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:24:22 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:22 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 18:24:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:24:22 UTC] 📊 Database Info:
[19-Nov-2025 18:24:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:24:22 UTC]    Books columns count: 44
[19-Nov-2025 18:24:22 UTC]    Categories columns count: 7
[19-Nov-2025 18:24:22 UTC]    Language field in books: YES
[19-Nov-2025 18:24:22 UTC]    Format field in books: YES
[19-Nov-2025 18:24:22 UTC]    Description field in categories: YES
[19-Nov-2025 18:24:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:24:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:24:22 UTC]    Is_active field in books: YES
[19-Nov-2025 18:24:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:24:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:24:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:24:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:24:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:24:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:24:22 UTC] 📊 Database Info:
[19-Nov-2025 18:24:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:24:22 UTC]    Books columns count: 44
[19-Nov-2025 18:24:22 UTC]    Categories columns count: 7
[19-Nov-2025 18:24:22 UTC]    Language field in books: YES
[19-Nov-2025 18:24:22 UTC]    Format field in books: YES
[19-Nov-2025 18:24:22 UTC]    Description field in categories: YES
[19-Nov-2025 18:24:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:24:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:24:22 UTC]    Is_active field in books: YES
[19-Nov-2025 18:24:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:24:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:24:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:24:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:24:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:24:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:24:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:24:22 UTC] 📊 Database Info:
[19-Nov-2025 18:24:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:24:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:24:22 UTC] 📊 Database Info:
[19-Nov-2025 18:24:22 UTC]    Books columns count: 44
[19-Nov-2025 18:24:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:24:22 UTC]    Categories columns count: 7
[19-Nov-2025 18:24:22 UTC]    Books columns count: 44
[19-Nov-2025 18:24:22 UTC]    Categories columns count: 7
[19-Nov-2025 18:24:22 UTC]    Language field in books: YES
[19-Nov-2025 18:24:22 UTC]    Format field in books: YES
[19-Nov-2025 18:24:22 UTC]    Language field in books: YES
[19-Nov-2025 18:24:22 UTC]    Description field in categories: YES
[19-Nov-2025 18:24:22 UTC]    Format field in books: YES
[19-Nov-2025 18:24:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:24:22 UTC]    Description field in categories: YES
[19-Nov-2025 18:24:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:24:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:24:22 UTC]    Is_active field in books: YES
[19-Nov-2025 18:24:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:24:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:24:22 UTC]    Is_active field in books: YES
[19-Nov-2025 18:24:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:24:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:24:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:24:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:24:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:24:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:24:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:24:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:24:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:24:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:24:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:24:22 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 18:24:22 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 18:24:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:24:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:24:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:24:23 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:24:23 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:24:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:24:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:24:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:24:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:24:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:24:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:24:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:24:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:24:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:24:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:24:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:24:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:24:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:24:23 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:24:23 UTC] 📊 Database Info:
[19-Nov-2025 18:24:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:24:23 UTC]    Books columns count: 44
[19-Nov-2025 18:24:23 UTC]    Categories columns count: 7
[19-Nov-2025 18:24:23 UTC]    Language field in books: YES
[19-Nov-2025 18:24:23 UTC]    Format field in books: YES
[19-Nov-2025 18:24:23 UTC]    Description field in categories: YES
[19-Nov-2025 18:24:23 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:24:23 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:24:23 UTC]    Is_active field in books: YES
[19-Nov-2025 18:24:23 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:24:23 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:24:23 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:24:23 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:24:23 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:24:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:24:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:24:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:24:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:24:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:24:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:24:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:24:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:24:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:24:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:24:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:24:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:24:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:25:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:25:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:25:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:25:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:25:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:25:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:25:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:25:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:25:00 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:25:00 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:25:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:25:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:25:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:25:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:25:00 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:25:00 UTC] 📊 Database Info:
[19-Nov-2025 18:25:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:25:00 UTC]    Books columns count: 44
[19-Nov-2025 18:25:00 UTC]    Categories columns count: 7
[19-Nov-2025 18:25:00 UTC]    Language field in books: YES
[19-Nov-2025 18:25:00 UTC]    Format field in books: YES
[19-Nov-2025 18:25:00 UTC]    Description field in categories: YES
[19-Nov-2025 18:25:00 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:25:00 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:25:00 UTC]    Is_active field in books: YES
[19-Nov-2025 18:25:00 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:25:00 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:25:00 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:25:00 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:25:00 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:25:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:25:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:25:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:25:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:25:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:25:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:25:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:25:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:25:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:25:00 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:25:00 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:25:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:25:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:25:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:25:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:25:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:25:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:25:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:25:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:25:00 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:25:00 UTC] 📊 Database Info:
[19-Nov-2025 18:25:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:25:00 UTC]    Books columns count: 44
[19-Nov-2025 18:25:00 UTC]    Categories columns count: 7
[19-Nov-2025 18:25:00 UTC]    Language field in books: YES
[19-Nov-2025 18:25:00 UTC]    Format field in books: YES
[19-Nov-2025 18:25:00 UTC]    Description field in categories: YES
[19-Nov-2025 18:25:00 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:25:00 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:25:00 UTC]    Is_active field in books: YES
[19-Nov-2025 18:25:00 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:25:00 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:25:00 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:25:00 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:25:00 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:25:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:25:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:25:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:25:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:25:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:25:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:25:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:25:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:25:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:25:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:25:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:25:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:25:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:25:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:25:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:25:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:25:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:25:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:25:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:25:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:25:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:25:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:25:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:25:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:25:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:25:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:25:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:25:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:25:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:25:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:25:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:25:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:25:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:25:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:25:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:25:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:25:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:25:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:25:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:25:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:25:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:25:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:25:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:25:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:25:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:25:05 UTC] 📊 Database Info:
[19-Nov-2025 18:25:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:25:05 UTC]    Books columns count: 44
[19-Nov-2025 18:25:05 UTC]    Categories columns count: 7
[19-Nov-2025 18:25:05 UTC]    Language field in books: YES
[19-Nov-2025 18:25:05 UTC]    Format field in books: YES
[19-Nov-2025 18:25:05 UTC]    Description field in categories: YES
[19-Nov-2025 18:25:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:25:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:25:05 UTC]    Is_active field in books: YES
[19-Nov-2025 18:25:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:25:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:25:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:25:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:25:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:25:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:25:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:25:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:25:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:25:05 UTC] 📊 Database Info:
[19-Nov-2025 18:25:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:25:05 UTC]    Books columns count: 44
[19-Nov-2025 18:25:05 UTC]    Categories columns count: 7
[19-Nov-2025 18:25:05 UTC]    Language field in books: YES
[19-Nov-2025 18:25:05 UTC]    Format field in books: YES
[19-Nov-2025 18:25:05 UTC]    Description field in categories: YES
[19-Nov-2025 18:25:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:25:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:25:05 UTC]    Is_active field in books: YES
[19-Nov-2025 18:25:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:25:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:25:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:25:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:25:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:25:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:25:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:25:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:25:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:25:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:25:05 UTC] 📊 Database Info:
[19-Nov-2025 18:25:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:25:05 UTC]    Books columns count: 44
[19-Nov-2025 18:25:05 UTC]    Categories columns count: 7
[19-Nov-2025 18:25:05 UTC]    Language field in books: YES
[19-Nov-2025 18:25:05 UTC]    Format field in books: YES
[19-Nov-2025 18:25:05 UTC]    Description field in categories: YES
[19-Nov-2025 18:25:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:25:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:25:05 UTC]    Is_active field in books: YES
[19-Nov-2025 18:25:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:25:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:25:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:25:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:25:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:25:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:25:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:25:05 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 18:25:05 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 18:25:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:25:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:25:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:25:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:25:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:25:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:25:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:25:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:25:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:25:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:25:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:25:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:25:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:25:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:25:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:25:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:25:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:25:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:25:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:25:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:25:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:25:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:25:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:25:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:25:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:25:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:25:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:25:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:25:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:25:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:25:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:25:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:25:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:25:07 UTC] 📊 Database Info:
[19-Nov-2025 18:25:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:25:07 UTC]    Books columns count: 44
[19-Nov-2025 18:25:07 UTC]    Categories columns count: 7
[19-Nov-2025 18:25:07 UTC]    Language field in books: YES
[19-Nov-2025 18:25:07 UTC]    Format field in books: YES
[19-Nov-2025 18:25:07 UTC]    Description field in categories: YES
[19-Nov-2025 18:25:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:25:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:25:07 UTC]    Is_active field in books: YES
[19-Nov-2025 18:25:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:25:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:25:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:25:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:25:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:25:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:25:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:25:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:25:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:25:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:25:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:25:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:25:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:25:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:25:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:25:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:25:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:25:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:25:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:25:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:25:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:25:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:25:36 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:25:36 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:25:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:25:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:25:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:25:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:25:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:25:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:25:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:25:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:25:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:25:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:25:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:25:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:25:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:25:36 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:25:36 UTC] 📊 Database Info:
[19-Nov-2025 18:25:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:25:36 UTC]    Books columns count: 44
[19-Nov-2025 18:25:36 UTC]    Categories columns count: 7
[19-Nov-2025 18:25:36 UTC]    Language field in books: YES
[19-Nov-2025 18:25:36 UTC]    Format field in books: YES
[19-Nov-2025 18:25:36 UTC]    Description field in categories: YES
[19-Nov-2025 18:25:36 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:25:36 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:25:36 UTC]    Is_active field in books: YES
[19-Nov-2025 18:25:36 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:25:36 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:25:36 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:25:36 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:25:36 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:25:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:25:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:25:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:25:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:25:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:25:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:25:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:25:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:25:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:25:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:25:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:25:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:25:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:25:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:25:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:25:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:25:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:25:37 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:25:37 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:25:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:25:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:25:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:25:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:25:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:25:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:25:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:25:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:25:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:25:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:25:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:25:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:25:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:25:37 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:25:37 UTC] 📊 Database Info:
[19-Nov-2025 18:25:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:25:37 UTC]    Books columns count: 44
[19-Nov-2025 18:25:37 UTC]    Categories columns count: 7
[19-Nov-2025 18:25:37 UTC]    Language field in books: YES
[19-Nov-2025 18:25:37 UTC]    Format field in books: YES
[19-Nov-2025 18:25:37 UTC]    Description field in categories: YES
[19-Nov-2025 18:25:37 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:25:37 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:25:37 UTC]    Is_active field in books: YES
[19-Nov-2025 18:25:37 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:25:37 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:25:37 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:25:37 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:25:37 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:25:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:26:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:26:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:26:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:26:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:26:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:26:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:26:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:26:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:26:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:26:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:26:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:26:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:26:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:26:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:26:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:26:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:26:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:26:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:26:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:26:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:26:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:26:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:26:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:26:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:26:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:26:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:26:08 UTC] 📊 Database Info:
[19-Nov-2025 18:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:26:08 UTC]    Books columns count: 44
[19-Nov-2025 18:26:08 UTC]    Categories columns count: 7
[19-Nov-2025 18:26:08 UTC]    Language field in books: YES
[19-Nov-2025 18:26:08 UTC]    Format field in books: YES
[19-Nov-2025 18:26:08 UTC]    Description field in categories: YES
[19-Nov-2025 18:26:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:26:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:26:08 UTC]    Is_active field in books: YES
[19-Nov-2025 18:26:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:26:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:26:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:26:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:26:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:26:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:26:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:26:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:26:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:26:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:26:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:26:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:26:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:26:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:26:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:26:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:26:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:26:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:26:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:26:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:26:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:26:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:26:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:26:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:26:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:26:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:26:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:26:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:26:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:26:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:26:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:26:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:26:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:26:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:26:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:26:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:26:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:26:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:26:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:26:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:26:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:26:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:26:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:26:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:26:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:26:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:26:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:26:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:26:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:26:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:26:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:26:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:26:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:26:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:26:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:26:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:26:38 UTC] 📊 Database Info:
[19-Nov-2025 18:26:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:26:38 UTC]    Books columns count: 44
[19-Nov-2025 18:26:38 UTC]    Categories columns count: 7
[19-Nov-2025 18:26:38 UTC]    Language field in books: YES
[19-Nov-2025 18:26:38 UTC]    Format field in books: YES
[19-Nov-2025 18:26:38 UTC]    Description field in categories: YES
[19-Nov-2025 18:26:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:26:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:26:38 UTC]    Is_active field in books: YES
[19-Nov-2025 18:26:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:26:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:26:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:26:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:26:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:26:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:26:38 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 18:26:38 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 18:26:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:26:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:26:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:26:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:26:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:26:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:26:38 UTC] 📊 Database Info:
[19-Nov-2025 18:26:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:26:38 UTC]    Books columns count: 44
[19-Nov-2025 18:26:38 UTC]    Categories columns count: 7
[19-Nov-2025 18:26:38 UTC]    Language field in books: YES
[19-Nov-2025 18:26:38 UTC]    Format field in books: YES
[19-Nov-2025 18:26:38 UTC]    Description field in categories: YES
[19-Nov-2025 18:26:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:26:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:26:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:26:38 UTC]    Is_active field in books: YES
[19-Nov-2025 18:26:38 UTC] 📊 Database Info:
[19-Nov-2025 18:26:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:26:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:26:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:26:38 UTC]    Books columns count: 44
[19-Nov-2025 18:26:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:26:38 UTC]    Categories columns count: 7
[19-Nov-2025 18:26:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:26:38 UTC]    Language field in books: YES
[19-Nov-2025 18:26:38 UTC]    Format field in books: YES
[19-Nov-2025 18:26:38 UTC]    Description field in categories: YES
[19-Nov-2025 18:26:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:26:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:26:38 UTC]    Is_active field in books: YES
[19-Nov-2025 18:26:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:26:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:26:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:26:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:26:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:26:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:26:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:26:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:26:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:26:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:26:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:26:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:26:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:26:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:26:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:26:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:26:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:26:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:26:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:26:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:26:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:26:39 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:26:39 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:26:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:26:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:26:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:26:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:26:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:26:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:26:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:26:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:26:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:26:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:26:39 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:26:39 UTC] 📊 Database Info:
[19-Nov-2025 18:26:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:26:39 UTC]    Books columns count: 44
[19-Nov-2025 18:26:39 UTC]    Categories columns count: 7
[19-Nov-2025 18:26:39 UTC]    Language field in books: YES
[19-Nov-2025 18:26:39 UTC]    Format field in books: YES
[19-Nov-2025 18:26:39 UTC]    Description field in categories: YES
[19-Nov-2025 18:26:39 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:26:39 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:26:39 UTC]    Is_active field in books: YES
[19-Nov-2025 18:26:39 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:26:39 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:26:39 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:26:39 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:26:39 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:26:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:27:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:27:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:27:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:27:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:27:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:27:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:27:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:27:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:27:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:27:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:27:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:27:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:27:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:27:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:27:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:27:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:27:02 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:27:02 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:27:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:27:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:27:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:27:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:27:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:27:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:27:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:27:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:27:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:27:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:27:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:27:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:27:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:27:02 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:27:02 UTC] 📊 Database Info:
[19-Nov-2025 18:27:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:27:02 UTC]    Books columns count: 44
[19-Nov-2025 18:27:02 UTC]    Categories columns count: 7
[19-Nov-2025 18:27:02 UTC]    Language field in books: YES
[19-Nov-2025 18:27:02 UTC]    Format field in books: YES
[19-Nov-2025 18:27:02 UTC]    Description field in categories: YES
[19-Nov-2025 18:27:02 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:27:02 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:27:02 UTC]    Is_active field in books: YES
[19-Nov-2025 18:27:02 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:27:02 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:27:02 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:27:02 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:27:02 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:27:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:27:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:27:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:27:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:27:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:27:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:27:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:27:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:27:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:27:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:27:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:27:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:27:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:27:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:27:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:27:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:27:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:27:03 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:27:03 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:27:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:27:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:27:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:27:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:27:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:27:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:27:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:27:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:27:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:27:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:27:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:27:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:27:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:27:03 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:27:03 UTC] 📊 Database Info:
[19-Nov-2025 18:27:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:27:03 UTC]    Books columns count: 44
[19-Nov-2025 18:27:03 UTC]    Categories columns count: 7
[19-Nov-2025 18:27:03 UTC]    Language field in books: YES
[19-Nov-2025 18:27:03 UTC]    Format field in books: YES
[19-Nov-2025 18:27:03 UTC]    Description field in categories: YES
[19-Nov-2025 18:27:03 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:27:03 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:27:03 UTC]    Is_active field in books: YES
[19-Nov-2025 18:27:03 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:27:03 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:27:03 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:27:03 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:27:03 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:27:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:27:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:27:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:27:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:27:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:27:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:27:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:27:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:27:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:27:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:27:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:27:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:27:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:27:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:27:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:27:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:27:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:27:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:27:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:27:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:27:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:27:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:27:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:27:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:27:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:27:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:27:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:27:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:27:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:27:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:27:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:27:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:27:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:27:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:27:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:27:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:27:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:27:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:27:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:27:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:27:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:27:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:27:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:27:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:27:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:27:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:27:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:27:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:27:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:27:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:27:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:27:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:27:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:27:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:27:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:27:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:27:08 UTC] 📊 Database Info:
[19-Nov-2025 18:27:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:27:08 UTC]    Books columns count: 44
[19-Nov-2025 18:27:08 UTC]    Categories columns count: 7
[19-Nov-2025 18:27:08 UTC]    Language field in books: YES
[19-Nov-2025 18:27:08 UTC]    Format field in books: YES
[19-Nov-2025 18:27:08 UTC]    Description field in categories: YES
[19-Nov-2025 18:27:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:27:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:27:08 UTC]    Is_active field in books: YES
[19-Nov-2025 18:27:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:27:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:27:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:27:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:27:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:27:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:27:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:27:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:27:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:27:08 UTC] 📊 Database Info:
[19-Nov-2025 18:27:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:27:08 UTC]    Books columns count: 44
[19-Nov-2025 18:27:08 UTC]    Categories columns count: 7
[19-Nov-2025 18:27:08 UTC]    Language field in books: YES
[19-Nov-2025 18:27:08 UTC]    Format field in books: YES
[19-Nov-2025 18:27:08 UTC]    Description field in categories: YES
[19-Nov-2025 18:27:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:27:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:27:08 UTC]    Is_active field in books: YES
[19-Nov-2025 18:27:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:27:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:27:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:27:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:27:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:27:08 UTC] 📊 Database Info:
[19-Nov-2025 18:27:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:27:08 UTC]    Books columns count: 44
[19-Nov-2025 18:27:08 UTC]    Categories columns count: 7
[19-Nov-2025 18:27:08 UTC]    Language field in books: YES
[19-Nov-2025 18:27:08 UTC]    Format field in books: YES
[19-Nov-2025 18:27:08 UTC]    Description field in categories: YES
[19-Nov-2025 18:27:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:27:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:27:08 UTC]    Is_active field in books: YES
[19-Nov-2025 18:27:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:27:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:27:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:27:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:27:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:27:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:27:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:27:08 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 18:27:08 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 18:27:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:27:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:27:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:27:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:27:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:27:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:27:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:27:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:27:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:27:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:27:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:27:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:27:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:27:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:27:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:27:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:27:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:27:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:27:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:27:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:27:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:27:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:27:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:27:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:27:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:27:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:27:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:27:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:27:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:27:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:27:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:27:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:27:09 UTC] 📊 Database Info:
[19-Nov-2025 18:27:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:27:09 UTC]    Books columns count: 44
[19-Nov-2025 18:27:09 UTC]    Categories columns count: 7
[19-Nov-2025 18:27:09 UTC]    Language field in books: YES
[19-Nov-2025 18:27:09 UTC]    Format field in books: YES
[19-Nov-2025 18:27:09 UTC]    Description field in categories: YES
[19-Nov-2025 18:27:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:27:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:27:09 UTC]    Is_active field in books: YES
[19-Nov-2025 18:27:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:27:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:27:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:27:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:27:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:27:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:28:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:28:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:28:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:28:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:28:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:28:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:28:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:28:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:28:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:28:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:28:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:28:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:28:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:28:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:28:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:28:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:28:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:28:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:28:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:28:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:28:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:28:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:28:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:28:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:28:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:28:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:28:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:28:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:28:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:28:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:28:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:28:04 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:28:04 UTC] 📊 Database Info:
[19-Nov-2025 18:28:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:28:04 UTC]    Books columns count: 44
[19-Nov-2025 18:28:04 UTC]    Categories columns count: 7
[19-Nov-2025 18:28:04 UTC]    Language field in books: YES
[19-Nov-2025 18:28:04 UTC]    Format field in books: YES
[19-Nov-2025 18:28:04 UTC]    Description field in categories: YES
[19-Nov-2025 18:28:04 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:28:04 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:28:04 UTC]    Is_active field in books: YES
[19-Nov-2025 18:28:04 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:28:04 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:28:04 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:28:04 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:28:04 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:28:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:28:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:28:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:28:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:28:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:28:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:28:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:28:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:28:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:28:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:28:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:28:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:28:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:28:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:28:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:28:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:28:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:28:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:28:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:28:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:28:16 UTC] 📊 Database Info:
[19-Nov-2025 18:28:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:28:16 UTC]    Books columns count: 44
[19-Nov-2025 18:28:16 UTC]    Categories columns count: 7
[19-Nov-2025 18:28:16 UTC]    Language field in books: YES
[19-Nov-2025 18:28:16 UTC]    Format field in books: YES
[19-Nov-2025 18:28:16 UTC]    Description field in categories: YES
[19-Nov-2025 18:28:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:28:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:28:16 UTC]    Is_active field in books: YES
[19-Nov-2025 18:28:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:28:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:28:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:28:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:28:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:28:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:28:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:28:16 UTC] 📊 Database Info:
[19-Nov-2025 18:28:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:28:16 UTC]    Books columns count: 44
[19-Nov-2025 18:28:16 UTC]    Categories columns count: 7
[19-Nov-2025 18:28:16 UTC]    Language field in books: YES
[19-Nov-2025 18:28:16 UTC]    Format field in books: YES
[19-Nov-2025 18:28:16 UTC]    Description field in categories: YES
[19-Nov-2025 18:28:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:28:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:28:16 UTC]    Is_active field in books: YES
[19-Nov-2025 18:28:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:28:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:28:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:28:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:28:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:28:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:28:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:28:16 UTC] 📊 Database Info:
[19-Nov-2025 18:28:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:28:16 UTC]    Books columns count: 44
[19-Nov-2025 18:28:16 UTC]    Categories columns count: 7
[19-Nov-2025 18:28:16 UTC]    Language field in books: YES
[19-Nov-2025 18:28:16 UTC]    Format field in books: YES
[19-Nov-2025 18:28:16 UTC]    Description field in categories: YES
[19-Nov-2025 18:28:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:28:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:28:16 UTC]    Is_active field in books: YES
[19-Nov-2025 18:28:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:28:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:28:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:28:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:28:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:28:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:28:16 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 18:28:16 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 18:28:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:28:19 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:28:19 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:28:19 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:28:19 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:28:19 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:28:19 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:28:19 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:28:19 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:28:19 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:28:19 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:28:19 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:28:19 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:28:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:28:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:28:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:28:19 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:28:19 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:28:19 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:28:19 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:28:19 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:28:19 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:28:19 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:28:19 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:28:19 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:28:19 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:28:19 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:28:19 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:28:19 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:28:19 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:28:19 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:28:19 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:28:19 UTC] 📊 Database Info:
[19-Nov-2025 18:28:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:28:19 UTC]    Books columns count: 44
[19-Nov-2025 18:28:19 UTC]    Categories columns count: 7
[19-Nov-2025 18:28:19 UTC]    Language field in books: YES
[19-Nov-2025 18:28:19 UTC]    Format field in books: YES
[19-Nov-2025 18:28:19 UTC]    Description field in categories: YES
[19-Nov-2025 18:28:19 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:28:19 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:28:19 UTC]    Is_active field in books: YES
[19-Nov-2025 18:28:19 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:28:19 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:28:19 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:28:19 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:28:19 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:28:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:28:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:28:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:28:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:28:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:28:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:28:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:28:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:28:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:28:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:28:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:28:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:28:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:28:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:28:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:28:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:28:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:28:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:28:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:28:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:28:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:28:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:28:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:28:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:28:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:28:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:28:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:28:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:28:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:28:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:28:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:28:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:28:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:28:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:28:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:28:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:28:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:28:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:28:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:28:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:28:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:28:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:28:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:28:22 UTC] 📊 Database Info:
[19-Nov-2025 18:28:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:28:22 UTC]    Books columns count: 44
[19-Nov-2025 18:28:22 UTC]    Categories columns count: 7
[19-Nov-2025 18:28:22 UTC]    Language field in books: YES
[19-Nov-2025 18:28:22 UTC]    Format field in books: YES
[19-Nov-2025 18:28:22 UTC]    Description field in categories: YES
[19-Nov-2025 18:28:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:28:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:28:22 UTC]    Is_active field in books: YES
[19-Nov-2025 18:28:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:28:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:28:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:28:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:28:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:28:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:28:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:28:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:28:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:28:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:28:22 UTC] 📊 Database Info:
[19-Nov-2025 18:28:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:28:22 UTC]    Books columns count: 44
[19-Nov-2025 18:28:22 UTC]    Categories columns count: 7
[19-Nov-2025 18:28:22 UTC]    Language field in books: YES
[19-Nov-2025 18:28:22 UTC]    Format field in books: YES
[19-Nov-2025 18:28:22 UTC]    Description field in categories: YES
[19-Nov-2025 18:28:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:28:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:28:22 UTC]    Is_active field in books: YES
[19-Nov-2025 18:28:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:28:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:28:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:28:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:28:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:28:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:28:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:30:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:30:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:30:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:30:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:30:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:30:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:30:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:30:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:30:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:30:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:30:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:30:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:30:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:30:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:30:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:30:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:30:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:30:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:30:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:30:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:30:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:30:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:30:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:30:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:30:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:30:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:30:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:30:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:30:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:30:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:30:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:30:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:30:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:30:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:30:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:30:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:30:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:30:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:30:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:30:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:30:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:30:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:30:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:30:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:30:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:30:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:30:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:30:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:30:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:30:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:30:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:30:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:30:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:30:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:30:10 UTC] 📊 Database Info:
[19-Nov-2025 18:30:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:30:10 UTC]    Books columns count: 44
[19-Nov-2025 18:30:10 UTC]    Categories columns count: 7
[19-Nov-2025 18:30:10 UTC]    Language field in books: YES
[19-Nov-2025 18:30:10 UTC]    Format field in books: YES
[19-Nov-2025 18:30:10 UTC]    Description field in categories: YES
[19-Nov-2025 18:30:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:30:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:30:10 UTC]    Is_active field in books: YES
[19-Nov-2025 18:30:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:30:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:30:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:30:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:30:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:30:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:30:10 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 18:30:10 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 18:30:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:30:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:30:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:30:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:30:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:30:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:30:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:30:10 UTC] 📊 Database Info:
[19-Nov-2025 18:30:10 UTC] 📊 Database Info:
[19-Nov-2025 18:30:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:30:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:30:10 UTC]    Books columns count: 44
[19-Nov-2025 18:30:10 UTC]    Categories columns count: 7
[19-Nov-2025 18:30:10 UTC]    Books columns count: 44
[19-Nov-2025 18:30:10 UTC]    Categories columns count: 7
[19-Nov-2025 18:30:10 UTC]    Language field in books: YES
[19-Nov-2025 18:30:10 UTC]    Format field in books: YES
[19-Nov-2025 18:30:10 UTC]    Description field in categories: YES
[19-Nov-2025 18:30:10 UTC]    Language field in books: YES
[19-Nov-2025 18:30:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:30:10 UTC]    Format field in books: YES
[19-Nov-2025 18:30:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:30:10 UTC]    Description field in categories: YES
[19-Nov-2025 18:30:10 UTC]    Is_active field in books: YES
[19-Nov-2025 18:30:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:30:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:30:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:30:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:30:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:30:10 UTC]    Is_active field in books: YES
[19-Nov-2025 18:30:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:30:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:30:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:30:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:30:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:30:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:30:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:30:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:30:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:30:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:30:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:30:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:30:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:30:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:30:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:30:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:30:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:30:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:30:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:30:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:30:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:30:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:30:20 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:30:20 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:30:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:30:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:30:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:30:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:30:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:30:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:30:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:30:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:30:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:30:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:30:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:30:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:30:20 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:30:20 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:30:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:30:20 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:30:20 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:30:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:30:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:30:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:30:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:30:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:30:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:30:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:30:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:30:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:30:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:30:20 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:30:20 UTC] 📊 Database Info:
[19-Nov-2025 18:30:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:30:20 UTC]    Books columns count: 44
[19-Nov-2025 18:30:20 UTC]    Categories columns count: 7
[19-Nov-2025 18:30:20 UTC]    Language field in books: YES
[19-Nov-2025 18:30:20 UTC]    Format field in books: YES
[19-Nov-2025 18:30:20 UTC]    Description field in categories: YES
[19-Nov-2025 18:30:20 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:30:20 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:30:20 UTC]    Is_active field in books: YES
[19-Nov-2025 18:30:20 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:30:20 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:30:20 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:30:20 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:30:20 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:30:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:30:20 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 18:30:20 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 18:30:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:30:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:30:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:30:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:30:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:30:20 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:30:20 UTC] 📊 Database Info:
[19-Nov-2025 18:30:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:30:20 UTC]    Books columns count: 44
[19-Nov-2025 18:30:20 UTC]    Categories columns count: 7
[19-Nov-2025 18:30:20 UTC]    Language field in books: YES
[19-Nov-2025 18:30:20 UTC]    Format field in books: YES
[19-Nov-2025 18:30:20 UTC]    Description field in categories: YES
[19-Nov-2025 18:30:20 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:30:20 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:30:20 UTC]    Is_active field in books: YES
[19-Nov-2025 18:30:20 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:30:20 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:30:20 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:30:20 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:30:20 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:30:20 UTC] 📊 Database Info:
[19-Nov-2025 18:30:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:30:20 UTC]    Books columns count: 44
[19-Nov-2025 18:30:20 UTC]    Categories columns count: 7
[19-Nov-2025 18:30:20 UTC]    Language field in books: YES
[19-Nov-2025 18:30:20 UTC]    Format field in books: YES
[19-Nov-2025 18:30:20 UTC]    Description field in categories: YES
[19-Nov-2025 18:30:20 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:30:20 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:30:20 UTC]    Is_active field in books: YES
[19-Nov-2025 18:30:20 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:30:20 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:30:20 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:30:20 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:30:20 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:30:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:30:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:30:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:30:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:30:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:30:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:30:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:30:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:30:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:30:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:30:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:30:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:30:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:30:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:30:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:30:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:30:24 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:30:24 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:30:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:30:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:30:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:30:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:30:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:30:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:30:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:30:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:30:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:30:24 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:30:24 UTC] 📊 Database Info:
[19-Nov-2025 18:30:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:30:24 UTC]    Books columns count: 44
[19-Nov-2025 18:30:24 UTC]    Categories columns count: 7
[19-Nov-2025 18:30:24 UTC]    Language field in books: YES
[19-Nov-2025 18:30:24 UTC]    Format field in books: YES
[19-Nov-2025 18:30:24 UTC]    Description field in categories: YES
[19-Nov-2025 18:30:24 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:30:24 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:30:24 UTC]    Is_active field in books: YES
[19-Nov-2025 18:30:24 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:30:24 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:30:24 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:30:24 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:30:24 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:30:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:30:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:30:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:30:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:30:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:30:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:30:24 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:30:24 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:30:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:30:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:30:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:30:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:30:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:30:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:30:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:30:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:30:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:30:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:30:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:30:24 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:30:24 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:30:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:30:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:30:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:30:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:30:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:30:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:30:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:30:24 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:30:24 UTC] 📊 Database Info:
[19-Nov-2025 18:30:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:30:24 UTC]    Books columns count: 44
[19-Nov-2025 18:30:24 UTC]    Categories columns count: 7
[19-Nov-2025 18:30:24 UTC]    Language field in books: YES
[19-Nov-2025 18:30:24 UTC]    Format field in books: YES
[19-Nov-2025 18:30:24 UTC]    Description field in categories: YES
[19-Nov-2025 18:30:24 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:30:24 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:30:24 UTC]    Is_active field in books: YES
[19-Nov-2025 18:30:24 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:30:24 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:30:24 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:30:24 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:30:24 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:30:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:30:24 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 18:30:24 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 18:30:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:30:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:30:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:30:24 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:30:24 UTC] 📊 Database Info:
[19-Nov-2025 18:30:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:30:24 UTC]    Books columns count: 44
[19-Nov-2025 18:30:24 UTC]    Categories columns count: 7
[19-Nov-2025 18:30:24 UTC]    Language field in books: YES
[19-Nov-2025 18:30:24 UTC]    Format field in books: YES
[19-Nov-2025 18:30:24 UTC]    Description field in categories: YES
[19-Nov-2025 18:30:24 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:30:24 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:30:24 UTC]    Is_active field in books: YES
[19-Nov-2025 18:30:24 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:30:24 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:30:24 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:30:24 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:30:24 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:30:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:31:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:31:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:31:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:31:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 18:31:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:31:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:31:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:31:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:31:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:31:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:31:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:31:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:31:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:31:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:31:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:31:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:31:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:31:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:31:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:31:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:31:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:31:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:31:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:31:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:31:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:31:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:31:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:31:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:31:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:31:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:31:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:31:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:31:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:31:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:31:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:31:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:31:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:31:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 18:31:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:31:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 18:31:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 18:31:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 18:31:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 18:31:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 18:31:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 18:31:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 18:31:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:31:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:31:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:31:43 UTC] 📊 Database Info:
[19-Nov-2025 18:31:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:31:43 UTC]    Books columns count: 44
[19-Nov-2025 18:31:43 UTC]    Categories columns count: 7
[19-Nov-2025 18:31:43 UTC]    Language field in books: YES
[19-Nov-2025 18:31:43 UTC]    Format field in books: YES
[19-Nov-2025 18:31:43 UTC]    Description field in categories: YES
[19-Nov-2025 18:31:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:31:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:31:43 UTC]    Is_active field in books: YES
[19-Nov-2025 18:31:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:31:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:31:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:31:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:31:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:31:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:31:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:31:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:31:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:31:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 18:31:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 18:31:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:31:43 UTC] 📊 Database Info:
[19-Nov-2025 18:31:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:31:43 UTC]    Books columns count: 44
[19-Nov-2025 18:31:43 UTC]    Categories columns count: 7
[19-Nov-2025 18:31:43 UTC]    Language field in books: YES
[19-Nov-2025 18:31:43 UTC]    Format field in books: YES
[19-Nov-2025 18:31:43 UTC]    Description field in categories: YES
[19-Nov-2025 18:31:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:31:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:31:43 UTC]    Is_active field in books: YES
[19-Nov-2025 18:31:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:31:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:31:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:31:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:31:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 18:31:43 UTC] 📊 Database Info:
[19-Nov-2025 18:31:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 18:31:43 UTC]    Books columns count: 44
[19-Nov-2025 18:31:43 UTC]    Categories columns count: 7
[19-Nov-2025 18:31:43 UTC]    Language field in books: YES
[19-Nov-2025 18:31:43 UTC]    Format field in books: YES
[19-Nov-2025 18:31:43 UTC]    Description field in categories: YES
[19-Nov-2025 18:31:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 18:31:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 18:31:43 UTC]    Is_active field in books: YES
[19-Nov-2025 18:31:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 18:31:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 18:31:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 18:31:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 18:31:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:31:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 18:31:43 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 18:31:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 18:31:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 18:31:43 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 19:29:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:29:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:29:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:29:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:29:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:29:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:29:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:29:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:29:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:29:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:29:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:29:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:29:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:29:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:29:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:29:55 UTC] 📊 Database Info:
[19-Nov-2025 19:29:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:29:55 UTC]    Books columns count: 44
[19-Nov-2025 19:29:55 UTC]    Categories columns count: 7
[19-Nov-2025 19:29:55 UTC]    Language field in books: YES
[19-Nov-2025 19:29:55 UTC]    Format field in books: YES
[19-Nov-2025 19:29:55 UTC]    Description field in categories: YES
[19-Nov-2025 19:29:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:29:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:29:55 UTC]    Is_active field in books: YES
[19-Nov-2025 19:29:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:29:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:29:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:29:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:29:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:29:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:29:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:29:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:29:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:29:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:29:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:29:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:29:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:29:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:29:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:29:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:29:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:29:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:29:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:29:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:29:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:29:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:29:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:29:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:29:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:29:55 UTC] 📊 Database Info:
[19-Nov-2025 19:29:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:29:55 UTC]    Books columns count: 44
[19-Nov-2025 19:29:55 UTC]    Categories columns count: 7
[19-Nov-2025 19:29:55 UTC]    Language field in books: YES
[19-Nov-2025 19:29:55 UTC]    Format field in books: YES
[19-Nov-2025 19:29:55 UTC]    Description field in categories: YES
[19-Nov-2025 19:29:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:29:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:29:55 UTC]    Is_active field in books: YES
[19-Nov-2025 19:29:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:29:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:29:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:29:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:29:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:29:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:29:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:30:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:30:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:30:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:30:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:30:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:30:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:30:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:30:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:30:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:30:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:30:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:30:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:30:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:30:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:30:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:30:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:30:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:30:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:30:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:30:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:30:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:30:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:30:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:30:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:30:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:30:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:30:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:30:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:30:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:30:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:30:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:30:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:30:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:30:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:30:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:30:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:30:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:30:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:30:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:30:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:30:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:30:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:30:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:30:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:30:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:30:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:30:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:30:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:30:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:30:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:30:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:30:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:30:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:30:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:30:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:30:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:30:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:30:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:30:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:30:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:30:07 UTC] 📊 Database Info:
[19-Nov-2025 19:30:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:30:07 UTC]    Books columns count: 44
[19-Nov-2025 19:30:07 UTC]    Categories columns count: 7
[19-Nov-2025 19:30:07 UTC]    Language field in books: YES
[19-Nov-2025 19:30:07 UTC]    Format field in books: YES
[19-Nov-2025 19:30:07 UTC]    Description field in categories: YES
[19-Nov-2025 19:30:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:30:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:30:07 UTC]    Is_active field in books: YES
[19-Nov-2025 19:30:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:30:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:30:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:30:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:30:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:30:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:30:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:30:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:30:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:30:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:30:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:30:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:30:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:30:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:30:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:30:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:30:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:30:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:30:07 UTC] 📊 Database Info:
[19-Nov-2025 19:30:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:30:07 UTC]    Books columns count: 44
[19-Nov-2025 19:30:07 UTC]    Categories columns count: 7
[19-Nov-2025 19:30:07 UTC]    Language field in books: YES
[19-Nov-2025 19:30:07 UTC]    Format field in books: YES
[19-Nov-2025 19:30:07 UTC]    Description field in categories: YES
[19-Nov-2025 19:30:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:30:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:30:07 UTC]    Is_active field in books: YES
[19-Nov-2025 19:30:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:30:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:30:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:30:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:30:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:30:07 UTC] 📊 Database Info:
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:30:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:30:07 UTC]    Books columns count: 44
[19-Nov-2025 19:30:07 UTC]    Categories columns count: 7
[19-Nov-2025 19:30:07 UTC]    Language field in books: YES
[19-Nov-2025 19:30:07 UTC]    Format field in books: YES
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:30:07 UTC]    Description field in categories: YES
[19-Nov-2025 19:30:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:30:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:30:07 UTC]    Is_active field in books: YES
[19-Nov-2025 19:30:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:30:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:30:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:30:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:30:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:30:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:30:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:30:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:30:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:30:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:30:07 UTC] 📊 Database Info:
[19-Nov-2025 19:30:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:30:07 UTC]    Books columns count: 44
[19-Nov-2025 19:30:07 UTC]    Categories columns count: 7
[19-Nov-2025 19:30:07 UTC]    Language field in books: YES
[19-Nov-2025 19:30:07 UTC]    Format field in books: YES
[19-Nov-2025 19:30:07 UTC]    Description field in categories: YES
[19-Nov-2025 19:30:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:30:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:30:07 UTC]    Is_active field in books: YES
[19-Nov-2025 19:30:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:30:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:30:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:30:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:30:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:30:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:30:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:30:07 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 19:30:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:30:07 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:30:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:30:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:30:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:30:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:30:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:30:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:30:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:30:07 UTC] 📊 Database Info:
[19-Nov-2025 19:30:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:30:07 UTC]    Books columns count: 44
[19-Nov-2025 19:30:07 UTC]    Categories columns count: 7
[19-Nov-2025 19:30:07 UTC]    Language field in books: YES
[19-Nov-2025 19:30:07 UTC]    Format field in books: YES
[19-Nov-2025 19:30:07 UTC]    Description field in categories: YES
[19-Nov-2025 19:30:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:30:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:30:07 UTC]    Is_active field in books: YES
[19-Nov-2025 19:30:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:30:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:30:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:30:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:30:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:30:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:30:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:30:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:30:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:30:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:30:07 UTC] 📊 Database Info:
[19-Nov-2025 19:30:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:30:07 UTC]    Books columns count: 44
[19-Nov-2025 19:30:07 UTC]    Categories columns count: 7
[19-Nov-2025 19:30:07 UTC]    Language field in books: YES
[19-Nov-2025 19:30:07 UTC]    Format field in books: YES
[19-Nov-2025 19:30:07 UTC]    Description field in categories: YES
[19-Nov-2025 19:30:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:30:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:30:07 UTC]    Is_active field in books: YES
[19-Nov-2025 19:30:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:30:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:30:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:30:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:30:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:30:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:30:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:30:07 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 19:30:07 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 19:30:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:30:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:30:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:30:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:30:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:30:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:30:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:30:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:30:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:30:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:30:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:30:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:30:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:30:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:30:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:30:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:30:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:30:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:30:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:30:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:30:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:30:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:30:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:30:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:30:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:30:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:30:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:30:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:30:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:30:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:30:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:30:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:30:41 UTC] 📊 Database Info:
[19-Nov-2025 19:30:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:30:41 UTC]    Books columns count: 44
[19-Nov-2025 19:30:41 UTC]    Categories columns count: 7
[19-Nov-2025 19:30:41 UTC]    Language field in books: YES
[19-Nov-2025 19:30:41 UTC]    Format field in books: YES
[19-Nov-2025 19:30:41 UTC]    Description field in categories: YES
[19-Nov-2025 19:30:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:30:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:30:41 UTC]    Is_active field in books: YES
[19-Nov-2025 19:30:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:30:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:30:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:30:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:30:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:30:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:30:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:32:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:32:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:32:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:32:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:32:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:32:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:32:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:32:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:32:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:32:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:32:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:32:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:32:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:32:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:32:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:32:07 UTC] 📊 Database Info:
[19-Nov-2025 19:32:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:32:07 UTC]    Books columns count: 44
[19-Nov-2025 19:32:07 UTC]    Categories columns count: 7
[19-Nov-2025 19:32:07 UTC]    Language field in books: YES
[19-Nov-2025 19:32:07 UTC]    Format field in books: YES
[19-Nov-2025 19:32:07 UTC]    Description field in categories: YES
[19-Nov-2025 19:32:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:32:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:32:07 UTC]    Is_active field in books: YES
[19-Nov-2025 19:32:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:32:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:32:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:32:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:32:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:32:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:32:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:32:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:32:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:32:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:32:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:32:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:32:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:32:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:32:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:32:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:32:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:32:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:32:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:32:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:32:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:32:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:32:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:32:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:32:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:32:07 UTC] 📊 Database Info:
[19-Nov-2025 19:32:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:32:07 UTC]    Books columns count: 44
[19-Nov-2025 19:32:07 UTC]    Categories columns count: 7
[19-Nov-2025 19:32:07 UTC]    Language field in books: YES
[19-Nov-2025 19:32:07 UTC]    Format field in books: YES
[19-Nov-2025 19:32:07 UTC]    Description field in categories: YES
[19-Nov-2025 19:32:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:32:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:32:07 UTC]    Is_active field in books: YES
[19-Nov-2025 19:32:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:32:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:32:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:32:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:32:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:32:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:32:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:32:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:32:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:32:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:32:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:32:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:32:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:32:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:32:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:32:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:32:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:32:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:32:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:32:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:32:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:32:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:32:35 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:32:35 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:32:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:32:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:32:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:32:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:32:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:32:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:32:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:32:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:32:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:32:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:32:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:32:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:32:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:32:35 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:32:35 UTC] 📊 Database Info:
[19-Nov-2025 19:32:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:32:35 UTC]    Books columns count: 44
[19-Nov-2025 19:32:35 UTC]    Categories columns count: 7
[19-Nov-2025 19:32:35 UTC]    Language field in books: YES
[19-Nov-2025 19:32:35 UTC]    Format field in books: YES
[19-Nov-2025 19:32:35 UTC]    Description field in categories: YES
[19-Nov-2025 19:32:35 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:32:35 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:32:35 UTC]    Is_active field in books: YES
[19-Nov-2025 19:32:35 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:32:35 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:32:35 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:32:35 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:32:35 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:32:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:32:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:32:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:32:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:32:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:32:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:32:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:32:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:32:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:32:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:32:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:32:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:32:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:32:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:32:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:32:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:32:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:32:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:32:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:32:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:32:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:32:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:32:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:32:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:32:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:32:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:32:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:32:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:32:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:32:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:32:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:32:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:32:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:32:57 UTC] 📊 Database Info:
[19-Nov-2025 19:32:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:32:57 UTC]    Books columns count: 44
[19-Nov-2025 19:32:57 UTC]    Categories columns count: 7
[19-Nov-2025 19:32:57 UTC]    Language field in books: YES
[19-Nov-2025 19:32:57 UTC]    Format field in books: YES
[19-Nov-2025 19:32:57 UTC]    Description field in categories: YES
[19-Nov-2025 19:32:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:32:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:32:57 UTC]    Is_active field in books: YES
[19-Nov-2025 19:32:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:32:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:32:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:32:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:32:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:32:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:33:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:33:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:33:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:33:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:33:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:33:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:33:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:33:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:33:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:33:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:33:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:33:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:33:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:33:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:33:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:33:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:33:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:33:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:33:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:33:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:33:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:33:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:33:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:33:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:33:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:33:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:33:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:33:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:33:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:33:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:33:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:33:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:33:11 UTC] 📊 Database Info:
[19-Nov-2025 19:33:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:33:11 UTC]    Books columns count: 44
[19-Nov-2025 19:33:11 UTC]    Categories columns count: 7
[19-Nov-2025 19:33:11 UTC]    Language field in books: YES
[19-Nov-2025 19:33:11 UTC]    Format field in books: YES
[19-Nov-2025 19:33:11 UTC]    Description field in categories: YES
[19-Nov-2025 19:33:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:33:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:33:11 UTC]    Is_active field in books: YES
[19-Nov-2025 19:33:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:33:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:33:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:33:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:33:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:33:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:33:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:33:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:33:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:33:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:33:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:33:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:33:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:33:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:33:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:33:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:33:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:33:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:33:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:33:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:33:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:33:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:33:12 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:33:12 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:33:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:33:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:33:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:33:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:33:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:33:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:33:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:33:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:33:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:33:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:33:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:33:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:33:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:33:12 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:33:12 UTC] 📊 Database Info:
[19-Nov-2025 19:33:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:33:12 UTC]    Books columns count: 44
[19-Nov-2025 19:33:12 UTC]    Categories columns count: 7
[19-Nov-2025 19:33:12 UTC]    Language field in books: YES
[19-Nov-2025 19:33:12 UTC]    Format field in books: YES
[19-Nov-2025 19:33:12 UTC]    Description field in categories: YES
[19-Nov-2025 19:33:12 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:33:12 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:33:12 UTC]    Is_active field in books: YES
[19-Nov-2025 19:33:12 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:33:12 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:33:12 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:33:12 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:33:12 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:33:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:33:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:33:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:33:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:33:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:33:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:33:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:33:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:33:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:33:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:33:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:33:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:33:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:33:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:33:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:33:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:33:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:33:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:33:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:33:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:33:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:33:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:33:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:33:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:33:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:33:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:33:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:33:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:33:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:33:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:33:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:33:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:33:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:33:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:33:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:33:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:33:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:33:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:33:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:33:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:33:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:33:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:33:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:33:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:33:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:33:34 UTC] 📊 Database Info:
[19-Nov-2025 19:33:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:33:34 UTC]    Books columns count: 44
[19-Nov-2025 19:33:34 UTC]    Categories columns count: 7
[19-Nov-2025 19:33:34 UTC]    Language field in books: YES
[19-Nov-2025 19:33:34 UTC]    Format field in books: YES
[19-Nov-2025 19:33:34 UTC]    Description field in categories: YES
[19-Nov-2025 19:33:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:33:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:33:34 UTC]    Is_active field in books: YES
[19-Nov-2025 19:33:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:33:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:33:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:33:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:33:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:33:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:33:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:33:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:33:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:33:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:33:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:33:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:33:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:33:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:33:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:33:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:33:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:33:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:33:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:33:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:33:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:33:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:33:35 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:33:35 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:33:35 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:33:35 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:33:35 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:33:35 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:33:35 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:33:35 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:33:35 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:33:35 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:33:35 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:33:35 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:33:35 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:33:35 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:33:35 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:33:35 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:33:35 UTC] 📊 Database Info:
[19-Nov-2025 19:33:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:33:35 UTC]    Books columns count: 44
[19-Nov-2025 19:33:35 UTC]    Categories columns count: 7
[19-Nov-2025 19:33:35 UTC]    Language field in books: YES
[19-Nov-2025 19:33:35 UTC]    Format field in books: YES
[19-Nov-2025 19:33:35 UTC]    Description field in categories: YES
[19-Nov-2025 19:33:35 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:33:35 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:33:35 UTC]    Is_active field in books: YES
[19-Nov-2025 19:33:35 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:33:35 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:33:35 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:33:35 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:33:35 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:33:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:34:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:34:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:34:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:34:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:34:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:34:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:34:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:34:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:34:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:34:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:34:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:34:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:34:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:34:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:34:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:34:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:34:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:34:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:34:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:34:01 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:34:01 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:34:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:34:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:34:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:34:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:34:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:34:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:34:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:34:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:34:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:34:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:34:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:34:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:34:01 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:34:01 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:34:01 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:34:01 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:34:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:34:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:34:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:34:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:34:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:34:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:34:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:34:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:34:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:34:01 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:34:01 UTC] 📊 Database Info:
[19-Nov-2025 19:34:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:34:01 UTC]    Books columns count: 44
[19-Nov-2025 19:34:01 UTC]    Categories columns count: 7
[19-Nov-2025 19:34:01 UTC]    Language field in books: YES
[19-Nov-2025 19:34:01 UTC]    Format field in books: YES
[19-Nov-2025 19:34:01 UTC]    Description field in categories: YES
[19-Nov-2025 19:34:01 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:34:01 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:34:01 UTC]    Is_active field in books: YES
[19-Nov-2025 19:34:01 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:34:01 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:34:01 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:34:01 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:34:01 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:34:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:34:01 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 19:34:01 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 19:34:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:34:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:34:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:34:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:34:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:34:01 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:34:01 UTC] 📊 Database Info:
[19-Nov-2025 19:34:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:34:01 UTC]    Books columns count: 44
[19-Nov-2025 19:34:01 UTC]    Categories columns count: 7
[19-Nov-2025 19:34:01 UTC]    Language field in books: YES
[19-Nov-2025 19:34:01 UTC]    Format field in books: YES
[19-Nov-2025 19:34:01 UTC]    Description field in categories: YES
[19-Nov-2025 19:34:01 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:34:01 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:34:01 UTC]    Is_active field in books: YES
[19-Nov-2025 19:34:01 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:34:01 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:34:01 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:34:01 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:34:01 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:34:01 UTC] 📊 Database Info:
[19-Nov-2025 19:34:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:34:01 UTC]    Books columns count: 44
[19-Nov-2025 19:34:01 UTC]    Categories columns count: 7
[19-Nov-2025 19:34:01 UTC]    Language field in books: YES
[19-Nov-2025 19:34:01 UTC]    Format field in books: YES
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:34:01 UTC]    Description field in categories: YES
[19-Nov-2025 19:34:01 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:34:01 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:34:01 UTC]    Is_active field in books: YES
[19-Nov-2025 19:34:01 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:34:01 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:34:01 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:34:01 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:34:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:34:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:34:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:34:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:34:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:34:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:34:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:34:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:34:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:34:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:34:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:34:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:34:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:34:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:34:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:34:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:34:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:34:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:34:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:34:02 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:34:02 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:34:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:34:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:34:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:34:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:34:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:34:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:34:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:34:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:34:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:34:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:34:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:34:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:34:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:34:02 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:34:02 UTC] 📊 Database Info:
[19-Nov-2025 19:34:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:34:02 UTC]    Books columns count: 44
[19-Nov-2025 19:34:02 UTC]    Categories columns count: 7
[19-Nov-2025 19:34:02 UTC]    Language field in books: YES
[19-Nov-2025 19:34:02 UTC]    Format field in books: YES
[19-Nov-2025 19:34:02 UTC]    Description field in categories: YES
[19-Nov-2025 19:34:02 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:34:02 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:34:02 UTC]    Is_active field in books: YES
[19-Nov-2025 19:34:02 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:34:02 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:34:02 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:34:02 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:34:02 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:34:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:34:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:34:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:34:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:34:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:34:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:34:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:34:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:34:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:34:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:34:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:34:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:34:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:35:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:35:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:35:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:35:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:35:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:35:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:35:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:35:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:35:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:35:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:35:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:35:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:35:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:35:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:35:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:35:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:35:02 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:35:02 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:35:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:35:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:35:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:35:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:35:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:35:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:35:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:35:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:35:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:35:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:35:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:35:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:35:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:35:02 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:35:02 UTC] 📊 Database Info:
[19-Nov-2025 19:35:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:35:02 UTC]    Books columns count: 44
[19-Nov-2025 19:35:02 UTC]    Categories columns count: 7
[19-Nov-2025 19:35:02 UTC]    Language field in books: YES
[19-Nov-2025 19:35:02 UTC]    Format field in books: YES
[19-Nov-2025 19:35:02 UTC]    Description field in categories: YES
[19-Nov-2025 19:35:02 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:35:02 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:35:02 UTC]    Is_active field in books: YES
[19-Nov-2025 19:35:02 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:35:02 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:35:02 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:35:02 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:35:02 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:35:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:35:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:35:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:35:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:35:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:35:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:35:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:35:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:35:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:35:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:35:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:35:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:35:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:35:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:35:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:35:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:35:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:35:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:35:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:35:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:35:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:35:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:35:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:35:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:35:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:35:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:35:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:35:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:35:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:35:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:35:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:35:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:35:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:35:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:35:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:35:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:35:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:35:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:35:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:35:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:35:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:35:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:35:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:35:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:35:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:35:05 UTC] 📊 Database Info:
[19-Nov-2025 19:35:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:35:05 UTC]    Books columns count: 44
[19-Nov-2025 19:35:05 UTC]    Categories columns count: 7
[19-Nov-2025 19:35:05 UTC]    Language field in books: YES
[19-Nov-2025 19:35:05 UTC]    Format field in books: YES
[19-Nov-2025 19:35:05 UTC]    Description field in categories: YES
[19-Nov-2025 19:35:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:35:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:35:05 UTC]    Is_active field in books: YES
[19-Nov-2025 19:35:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:35:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:35:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:35:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:35:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:35:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:35:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:35:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:35:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:35:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:35:05 UTC] 📊 Database Info:
[19-Nov-2025 19:35:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:35:05 UTC]    Books columns count: 44
[19-Nov-2025 19:35:05 UTC]    Categories columns count: 7
[19-Nov-2025 19:35:05 UTC]    Language field in books: YES
[19-Nov-2025 19:35:05 UTC]    Format field in books: YES
[19-Nov-2025 19:35:05 UTC]    Description field in categories: YES
[19-Nov-2025 19:35:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:35:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:35:05 UTC]    Is_active field in books: YES
[19-Nov-2025 19:35:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:35:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:35:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:35:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:35:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:35:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:35:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:44:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:44:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:44:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:44:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:44:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:44:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:44:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:44:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:44:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:44:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:44:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:44:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:44:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:44:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:44:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:44:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:44:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:44:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:44:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:44:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:44:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:44:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:44:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:44:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:44:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:44:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:44:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:44:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:44:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:44:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:44:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:44:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:44:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:44:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:44:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:44:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:44:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:44:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:44:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:44:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:44:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:44:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:44:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:44:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:44:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:44:31 UTC] 📊 Database Info:
[19-Nov-2025 19:44:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:44:31 UTC]    Books columns count: 44
[19-Nov-2025 19:44:31 UTC]    Categories columns count: 7
[19-Nov-2025 19:44:31 UTC]    Language field in books: YES
[19-Nov-2025 19:44:31 UTC]    Format field in books: YES
[19-Nov-2025 19:44:31 UTC]    Description field in categories: YES
[19-Nov-2025 19:44:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:44:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:44:31 UTC]    Is_active field in books: YES
[19-Nov-2025 19:44:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:44:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:44:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:44:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:44:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:44:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:44:31 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 19:44:31 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 19:44:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:44:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:44:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:44:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:44:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:44:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:44:31 UTC] 📊 Database Info:
[19-Nov-2025 19:44:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:44:31 UTC]    Books columns count: 44
[19-Nov-2025 19:44:31 UTC]    Categories columns count: 7
[19-Nov-2025 19:44:31 UTC]    Language field in books: YES
[19-Nov-2025 19:44:31 UTC]    Format field in books: YES
[19-Nov-2025 19:44:31 UTC]    Description field in categories: YES
[19-Nov-2025 19:44:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:44:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:44:31 UTC]    Is_active field in books: YES
[19-Nov-2025 19:44:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:44:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:44:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:44:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:44:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:44:31 UTC] 📊 Database Info:
[19-Nov-2025 19:44:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:44:31 UTC]    Books columns count: 44
[19-Nov-2025 19:44:31 UTC]    Categories columns count: 7
[19-Nov-2025 19:44:31 UTC]    Language field in books: YES
[19-Nov-2025 19:44:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:44:31 UTC]    Format field in books: YES
[19-Nov-2025 19:44:31 UTC]    Description field in categories: YES
[19-Nov-2025 19:44:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:44:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:44:31 UTC]    Is_active field in books: YES
[19-Nov-2025 19:44:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:44:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:44:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:44:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:44:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:44:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 19:44:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 19:44:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:44:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:44:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:44:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:44:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:44:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:44:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:44:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:44:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:44:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:44:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:44:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:44:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 19:44:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:44:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 19:44:37 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 19:44:37 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 19:44:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 19:44:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 19:44:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 19:44:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 19:44:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 19:44:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 19:44:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 19:44:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 19:44:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 19:44:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 19:44:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 19:44:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 19:44:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 19:44:37 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 19:44:37 UTC] 📊 Database Info:
[19-Nov-2025 19:44:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 19:44:37 UTC]    Books columns count: 44
[19-Nov-2025 19:44:37 UTC]    Categories columns count: 7
[19-Nov-2025 19:44:37 UTC]    Language field in books: YES
[19-Nov-2025 19:44:37 UTC]    Format field in books: YES
[19-Nov-2025 19:44:37 UTC]    Description field in categories: YES
[19-Nov-2025 19:44:37 UTC]    Display_order field in categories: YES
[19-Nov-2025 19:44:37 UTC]    Is_active field in categories: YES
[19-Nov-2025 19:44:37 UTC]    Is_active field in books: YES
[19-Nov-2025 19:44:37 UTC]    External_download_link field in books: YES
[19-Nov-2025 19:44:37 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 19:44:37 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 19:44:37 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 19:44:37 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 19:44:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 19:44:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 19:44:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 19:44:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 19:44:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 19:44:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 19:44:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 19:44:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 19:44:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 19:44:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 19:44:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 19:44:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 19:44:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 20:56:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 20:56:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 20:56:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 20:56:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 20:56:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 20:56:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 20:56:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 20:56:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 20:56:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 20:56:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 20:56:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 20:56:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 20:56:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 20:56:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 20:56:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 20:56:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 20:56:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 20:56:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 20:56:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 20:56:36 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 20:56:36 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 20:56:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 20:56:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 20:56:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 20:56:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 20:56:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 20:56:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 20:56:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 20:56:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 20:56:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 20:56:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 20:56:36 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 20:56:36 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 20:56:36 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 20:56:36 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 20:56:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 20:56:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 20:56:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 20:56:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 20:56:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 20:56:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 20:56:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 20:56:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 20:56:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 20:56:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 20:56:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 20:56:36 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 20:56:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 20:56:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 20:56:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 20:56:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 20:56:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 20:56:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 20:56:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 20:56:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 20:56:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 20:56:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 20:56:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 20:56:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 20:56:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 20:56:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 20:56:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 20:56:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 20:56:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 20:56:36 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 20:56:36 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 20:56:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 20:56:36 UTC] 📊 Database Info:
[19-Nov-2025 20:56:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 20:56:36 UTC]    Books columns count: 44
[19-Nov-2025 20:56:36 UTC]    Categories columns count: 7
[19-Nov-2025 20:56:36 UTC]    Language field in books: YES
[19-Nov-2025 20:56:36 UTC]    Format field in books: YES
[19-Nov-2025 20:56:36 UTC]    Description field in categories: YES
[19-Nov-2025 20:56:36 UTC]    Display_order field in categories: YES
[19-Nov-2025 20:56:36 UTC]    Is_active field in categories: YES
[19-Nov-2025 20:56:36 UTC]    Is_active field in books: YES
[19-Nov-2025 20:56:36 UTC]    External_download_link field in books: YES
[19-Nov-2025 20:56:36 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 20:56:36 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 20:56:36 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 20:56:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 20:56:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 20:56:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 20:56:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 20:56:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 20:56:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 20:56:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 20:56:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 20:56:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 20:56:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 20:56:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 20:56:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 20:56:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 20:56:36 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 20:56:36 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 20:56:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 20:56:36 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 20:56:36 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 20:56:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 20:56:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 20:56:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 20:56:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 20:56:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 20:56:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 20:56:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 20:56:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 20:56:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 20:56:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 20:56:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 20:56:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 20:56:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 20:56:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 20:56:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 20:56:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 20:56:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 20:56:37 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 20:56:37 UTC] 📊 Database Info:
[19-Nov-2025 20:56:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 20:56:37 UTC]    Books columns count: 44
[19-Nov-2025 20:56:37 UTC]    Categories columns count: 7
[19-Nov-2025 20:56:37 UTC]    Language field in books: YES
[19-Nov-2025 20:56:37 UTC]    Format field in books: YES
[19-Nov-2025 20:56:37 UTC]    Description field in categories: YES
[19-Nov-2025 20:56:37 UTC]    Display_order field in categories: YES
[19-Nov-2025 20:56:37 UTC]    Is_active field in categories: YES
[19-Nov-2025 20:56:37 UTC]    Is_active field in books: YES
[19-Nov-2025 20:56:37 UTC]    External_download_link field in books: YES
[19-Nov-2025 20:56:37 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 20:56:37 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 20:56:37 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 20:56:37 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 20:56:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 20:56:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 20:56:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 20:56:37 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 20:56:37 UTC] 📊 Database Info:
[19-Nov-2025 20:56:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 20:56:37 UTC]    Books columns count: 44
[19-Nov-2025 20:56:37 UTC]    Categories columns count: 7
[19-Nov-2025 20:56:37 UTC]    Language field in books: YES
[19-Nov-2025 20:56:37 UTC]    Format field in books: YES
[19-Nov-2025 20:56:37 UTC]    Description field in categories: YES
[19-Nov-2025 20:56:37 UTC]    Display_order field in categories: YES
[19-Nov-2025 20:56:37 UTC]    Is_active field in categories: YES
[19-Nov-2025 20:56:37 UTC]    Is_active field in books: YES
[19-Nov-2025 20:56:37 UTC]    External_download_link field in books: YES
[19-Nov-2025 20:56:37 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 20:56:37 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 20:56:37 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 20:56:37 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 20:56:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 20:56:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 20:56:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 20:56:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 20:56:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 20:56:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 20:56:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 20:56:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 20:56:37 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 20:56:37 UTC] 📊 Database Info:
[19-Nov-2025 20:56:37 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 20:56:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 20:56:37 UTC] 📊 Database Info:
[19-Nov-2025 20:56:37 UTC]    Books columns count: 44
[19-Nov-2025 20:56:37 UTC]    Categories columns count: 7
[19-Nov-2025 20:56:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 20:56:37 UTC]    Books columns count: 44
[19-Nov-2025 20:56:37 UTC]    Language field in books: YES
[19-Nov-2025 20:56:37 UTC]    Categories columns count: 7
[19-Nov-2025 20:56:37 UTC]    Format field in books: YES
[19-Nov-2025 20:56:37 UTC]    Description field in categories: YES
[19-Nov-2025 20:56:37 UTC]    Language field in books: YES
[19-Nov-2025 20:56:37 UTC]    Display_order field in categories: YES
[19-Nov-2025 20:56:37 UTC]    Format field in books: YES
[19-Nov-2025 20:56:37 UTC]    Is_active field in categories: YES
[19-Nov-2025 20:56:37 UTC]    Description field in categories: YES
[19-Nov-2025 20:56:37 UTC]    Is_active field in books: YES
[19-Nov-2025 20:56:37 UTC]    Display_order field in categories: YES
[19-Nov-2025 20:56:37 UTC]    External_download_link field in books: YES
[19-Nov-2025 20:56:37 UTC]    Is_active field in categories: YES
[19-Nov-2025 20:56:37 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 20:56:37 UTC]    Is_active field in books: YES
[19-Nov-2025 20:56:37 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 20:56:37 UTC]    External_download_link field in books: YES
[19-Nov-2025 20:56:37 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 20:56:37 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 20:56:37 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 20:56:37 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 20:56:37 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 20:56:37 UTC] 📊 Database Info:
[19-Nov-2025 20:56:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 20:56:37 UTC]    Books columns count: 44
[19-Nov-2025 20:56:37 UTC]    Categories columns count: 7
[19-Nov-2025 20:56:37 UTC]    Language field in books: YES
[19-Nov-2025 20:56:37 UTC]    Format field in books: YES
[19-Nov-2025 20:56:37 UTC]    Description field in categories: YES
[19-Nov-2025 20:56:37 UTC]    Display_order field in categories: YES
[19-Nov-2025 20:56:37 UTC]    Is_active field in categories: YES
[19-Nov-2025 20:56:37 UTC]    Is_active field in books: YES
[19-Nov-2025 20:56:37 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 20:56:37 UTC]    External_download_link field in books: YES
[19-Nov-2025 20:56:37 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 20:56:37 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 20:56:37 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 20:56:37 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 20:56:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 20:56:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 20:56:37 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 20:56:37 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 20:56:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 20:56:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 20:56:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 20:56:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 20:56:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 20:56:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 20:56:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 20:56:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 20:56:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 20:56:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 20:56:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 20:56:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 20:56:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 20:56:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 20:56:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 20:56:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 20:56:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 20:56:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 20:56:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 20:56:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 20:56:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 20:56:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 20:56:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 20:56:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 20:56:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 20:56:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 20:56:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 20:56:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 20:56:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 20:56:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 20:56:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 20:56:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 20:56:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 20:56:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 20:56:38 UTC] 📊 Database Info:
[19-Nov-2025 20:56:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 20:56:38 UTC]    Books columns count: 44
[19-Nov-2025 20:56:38 UTC]    Categories columns count: 7
[19-Nov-2025 20:56:38 UTC]    Language field in books: YES
[19-Nov-2025 20:56:38 UTC]    Format field in books: YES
[19-Nov-2025 20:56:38 UTC]    Description field in categories: YES
[19-Nov-2025 20:56:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 20:56:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 20:56:38 UTC]    Is_active field in books: YES
[19-Nov-2025 20:56:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 20:56:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 20:56:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 20:56:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 20:56:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 20:56:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 20:56:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 20:56:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 20:56:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 20:56:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 20:56:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 20:56:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 20:56:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 20:56:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 20:56:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 20:56:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 20:56:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 20:56:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:06:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:06:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:06:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:06:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:06:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:12 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:06:12 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:06:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:06:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:06:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:12 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:06:12 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:06:12 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:06:12 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:06:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:06:12 UTC] 📊 Database Info:
[19-Nov-2025 21:06:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:06:12 UTC]    Books columns count: 44
[19-Nov-2025 21:06:12 UTC]    Categories columns count: 7
[19-Nov-2025 21:06:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:12 UTC]    Language field in books: YES
[19-Nov-2025 21:06:12 UTC]    Format field in books: YES
[19-Nov-2025 21:06:12 UTC]    Description field in categories: YES
[19-Nov-2025 21:06:12 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:06:12 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:06:12 UTC]    Is_active field in books: YES
[19-Nov-2025 21:06:12 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:06:12 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:06:12 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:06:12 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:06:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:06:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:12 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:06:12 UTC] 📊 Database Info:
[19-Nov-2025 21:06:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:06:12 UTC]    Books columns count: 44
[19-Nov-2025 21:06:12 UTC]    Categories columns count: 7
[19-Nov-2025 21:06:12 UTC]    Language field in books: YES
[19-Nov-2025 21:06:12 UTC]    Format field in books: YES
[19-Nov-2025 21:06:12 UTC]    Description field in categories: YES
[19-Nov-2025 21:06:12 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:06:12 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:06:12 UTC]    Is_active field in books: YES
[19-Nov-2025 21:06:12 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:06:12 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:06:12 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:06:12 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:06:12 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:06:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:06:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:12 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:06:12 UTC] 📊 Database Info:
[19-Nov-2025 21:06:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:06:12 UTC]    Books columns count: 44
[19-Nov-2025 21:06:12 UTC]    Categories columns count: 7
[19-Nov-2025 21:06:12 UTC]    Language field in books: YES
[19-Nov-2025 21:06:12 UTC]    Format field in books: YES
[19-Nov-2025 21:06:12 UTC]    Description field in categories: YES
[19-Nov-2025 21:06:12 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:06:12 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:06:12 UTC]    Is_active field in books: YES
[19-Nov-2025 21:06:12 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:06:12 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:06:12 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:06:12 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:06:12 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:06:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:06:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:06:12 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:06:12 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:06:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:06:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:06:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:06:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:06:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:37 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:06:37 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:06:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:06:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:06:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:37 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:06:37 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:06:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:37 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:06:37 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:06:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:06:38 UTC] 📊 Database Info:
[19-Nov-2025 21:06:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:06:38 UTC]    Books columns count: 44
[19-Nov-2025 21:06:38 UTC]    Categories columns count: 7
[19-Nov-2025 21:06:38 UTC]    Language field in books: YES
[19-Nov-2025 21:06:38 UTC]    Format field in books: YES
[19-Nov-2025 21:06:38 UTC]    Description field in categories: YES
[19-Nov-2025 21:06:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:06:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:06:38 UTC]    Is_active field in books: YES
[19-Nov-2025 21:06:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:06:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:06:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:06:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:06:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:06:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:06:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:06:38 UTC] 📊 Database Info:
[19-Nov-2025 21:06:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:06:38 UTC]    Books columns count: 44
[19-Nov-2025 21:06:38 UTC]    Categories columns count: 7
[19-Nov-2025 21:06:38 UTC]    Language field in books: YES
[19-Nov-2025 21:06:38 UTC]    Format field in books: YES
[19-Nov-2025 21:06:38 UTC]    Description field in categories: YES
[19-Nov-2025 21:06:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:06:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:06:38 UTC]    Is_active field in books: YES
[19-Nov-2025 21:06:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:06:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:06:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:06:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:06:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:06:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:06:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:06:38 UTC] 📊 Database Info:
[19-Nov-2025 21:06:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:06:38 UTC]    Books columns count: 44
[19-Nov-2025 21:06:38 UTC]    Categories columns count: 7
[19-Nov-2025 21:06:38 UTC]    Language field in books: YES
[19-Nov-2025 21:06:38 UTC]    Format field in books: YES
[19-Nov-2025 21:06:38 UTC]    Description field in categories: YES
[19-Nov-2025 21:06:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:06:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:06:38 UTC]    Is_active field in books: YES
[19-Nov-2025 21:06:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:06:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:06:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:06:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:06:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:06:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:06:38 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:06:38 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:06:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:06:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:06:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:06:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:06:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:40 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:06:40 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:06:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:06:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:06:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:40 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:06:40 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:06:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:40 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:06:40 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:06:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:40 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:06:40 UTC] 📊 Database Info:
[19-Nov-2025 21:06:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:06:40 UTC]    Books columns count: 44
[19-Nov-2025 21:06:40 UTC]    Categories columns count: 7
[19-Nov-2025 21:06:40 UTC]    Language field in books: YES
[19-Nov-2025 21:06:40 UTC]    Format field in books: YES
[19-Nov-2025 21:06:40 UTC]    Description field in categories: YES
[19-Nov-2025 21:06:40 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:06:40 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:06:40 UTC]    Is_active field in books: YES
[19-Nov-2025 21:06:40 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:06:40 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:06:40 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:06:40 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:06:40 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:06:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:06:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:40 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:06:40 UTC] 📊 Database Info:
[19-Nov-2025 21:06:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:06:40 UTC]    Books columns count: 44
[19-Nov-2025 21:06:40 UTC]    Categories columns count: 7
[19-Nov-2025 21:06:40 UTC]    Language field in books: YES
[19-Nov-2025 21:06:40 UTC]    Format field in books: YES
[19-Nov-2025 21:06:40 UTC]    Description field in categories: YES
[19-Nov-2025 21:06:40 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:06:40 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:06:40 UTC]    Is_active field in books: YES
[19-Nov-2025 21:06:40 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:06:40 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:06:40 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:06:40 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:06:40 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:06:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:06:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:40 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:06:40 UTC] 📊 Database Info:
[19-Nov-2025 21:06:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:06:40 UTC]    Books columns count: 44
[19-Nov-2025 21:06:40 UTC]    Categories columns count: 7
[19-Nov-2025 21:06:40 UTC]    Language field in books: YES
[19-Nov-2025 21:06:40 UTC]    Format field in books: YES
[19-Nov-2025 21:06:40 UTC]    Description field in categories: YES
[19-Nov-2025 21:06:40 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:06:40 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:06:40 UTC]    Is_active field in books: YES
[19-Nov-2025 21:06:40 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:06:40 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:06:40 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:06:40 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:06:40 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:06:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:06:40 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:06:40 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:06:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:06:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:06:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:06:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:06:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:06:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:06:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:06:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:06:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:06:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:06:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:06:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:06:43 UTC] 📊 Database Info:
[19-Nov-2025 21:06:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:06:43 UTC]    Books columns count: 44
[19-Nov-2025 21:06:43 UTC]    Categories columns count: 7
[19-Nov-2025 21:06:43 UTC]    Language field in books: YES
[19-Nov-2025 21:06:43 UTC]    Format field in books: YES
[19-Nov-2025 21:06:43 UTC]    Description field in categories: YES
[19-Nov-2025 21:06:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:06:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:06:43 UTC]    Is_active field in books: YES
[19-Nov-2025 21:06:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:06:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:06:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:06:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:06:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:06:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:06:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:06:43 UTC] 📊 Database Info:
[19-Nov-2025 21:06:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:06:43 UTC]    Books columns count: 44
[19-Nov-2025 21:06:43 UTC]    Categories columns count: 7
[19-Nov-2025 21:06:43 UTC]    Language field in books: YES
[19-Nov-2025 21:06:43 UTC]    Format field in books: YES
[19-Nov-2025 21:06:43 UTC]    Description field in categories: YES
[19-Nov-2025 21:06:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:06:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:06:43 UTC]    Is_active field in books: YES
[19-Nov-2025 21:06:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:06:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:06:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:06:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:06:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:06:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:06:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:06:43 UTC] 📊 Database Info:
[19-Nov-2025 21:06:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:06:43 UTC]    Books columns count: 44
[19-Nov-2025 21:06:43 UTC]    Categories columns count: 7
[19-Nov-2025 21:06:43 UTC]    Language field in books: YES
[19-Nov-2025 21:06:43 UTC]    Format field in books: YES
[19-Nov-2025 21:06:43 UTC]    Description field in categories: YES
[19-Nov-2025 21:06:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:06:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:06:43 UTC]    Is_active field in books: YES
[19-Nov-2025 21:06:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:06:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:06:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:06:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:06:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:06:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:06:43 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:06:43 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:06:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:06:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:06:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:47 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:06:47 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:06:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:06:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:06:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:06:47 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:06:47 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:06:47 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:06:47 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:06:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:06:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:06:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:06:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:47 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:06:47 UTC] 📊 Database Info:
[19-Nov-2025 21:06:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:06:47 UTC]    Books columns count: 44
[19-Nov-2025 21:06:47 UTC]    Categories columns count: 7
[19-Nov-2025 21:06:47 UTC]    Language field in books: YES
[19-Nov-2025 21:06:47 UTC]    Format field in books: YES
[19-Nov-2025 21:06:47 UTC]    Description field in categories: YES
[19-Nov-2025 21:06:47 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:06:47 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:06:47 UTC]    Is_active field in books: YES
[19-Nov-2025 21:06:47 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:06:47 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:06:47 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:06:47 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:06:47 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:06:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:06:47 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:06:47 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:06:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:06:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:06:47 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:06:47 UTC] 📊 Database Info:
[19-Nov-2025 21:06:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:06:47 UTC]    Books columns count: 44
[19-Nov-2025 21:06:47 UTC]    Categories columns count: 7
[19-Nov-2025 21:06:47 UTC]    Language field in books: YES
[19-Nov-2025 21:06:47 UTC]    Format field in books: YES
[19-Nov-2025 21:06:47 UTC]    Description field in categories: YES
[19-Nov-2025 21:06:47 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:06:47 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:06:47 UTC]    Is_active field in books: YES
[19-Nov-2025 21:06:47 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:06:47 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:06:47 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:06:47 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:06:47 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:06:47 UTC] 📊 Database Info:
[19-Nov-2025 21:06:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:06:47 UTC]    Books columns count: 44
[19-Nov-2025 21:06:47 UTC]    Categories columns count: 7
[19-Nov-2025 21:06:47 UTC]    Language field in books: YES
[19-Nov-2025 21:06:47 UTC]    Format field in books: YES
[19-Nov-2025 21:06:47 UTC]    Description field in categories: YES
[19-Nov-2025 21:06:47 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:06:47 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:06:47 UTC]    Is_active field in books: YES
[19-Nov-2025 21:06:47 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:06:47 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:06:47 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:06:47 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:06:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:06:47 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:06:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:06:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:08:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:08:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:08:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:08:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:08:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:08:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:08:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:08:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:08:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:08:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:08:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:08:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:08:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:08:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:08:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:08:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:08:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:08:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:08:02 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:08:02 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:08:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:08:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:08:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:08:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:08:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:08:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:08:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:08:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:08:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:08:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:08:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:08:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:08:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:08:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:08:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:08:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:08:02 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:08:02 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:08:02 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:08:02 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:08:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:08:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:08:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:08:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:08:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:08:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:08:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:08:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:08:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:08:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:08:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:08:02 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:08:02 UTC] 📊 Database Info:
[19-Nov-2025 21:08:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:08:02 UTC]    Books columns count: 44
[19-Nov-2025 21:08:02 UTC]    Categories columns count: 7
[19-Nov-2025 21:08:02 UTC]    Language field in books: YES
[19-Nov-2025 21:08:02 UTC]    Format field in books: YES
[19-Nov-2025 21:08:02 UTC]    Description field in categories: YES
[19-Nov-2025 21:08:02 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:08:02 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:08:02 UTC]    Is_active field in books: YES
[19-Nov-2025 21:08:02 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:08:02 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:08:02 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:08:02 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:08:02 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:08:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:08:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:08:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:08:02 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:08:02 UTC] 📊 Database Info:
[19-Nov-2025 21:08:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:08:02 UTC]    Books columns count: 44
[19-Nov-2025 21:08:02 UTC]    Categories columns count: 7
[19-Nov-2025 21:08:02 UTC]    Language field in books: YES
[19-Nov-2025 21:08:02 UTC]    Format field in books: YES
[19-Nov-2025 21:08:02 UTC]    Description field in categories: YES
[19-Nov-2025 21:08:02 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:08:02 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:08:02 UTC]    Is_active field in books: YES
[19-Nov-2025 21:08:02 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:08:02 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:08:02 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:08:02 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:08:02 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:08:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:08:02 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:08:02 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:08:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:08:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:08:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:08:02 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:08:02 UTC] 📊 Database Info:
[19-Nov-2025 21:08:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:08:02 UTC]    Books columns count: 44
[19-Nov-2025 21:08:02 UTC]    Categories columns count: 7
[19-Nov-2025 21:08:02 UTC]    Language field in books: YES
[19-Nov-2025 21:08:02 UTC]    Format field in books: YES
[19-Nov-2025 21:08:02 UTC]    Description field in categories: YES
[19-Nov-2025 21:08:02 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:08:02 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:08:02 UTC]    Is_active field in books: YES
[19-Nov-2025 21:08:02 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:08:02 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:08:02 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:08:02 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:08:02 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:08:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:08:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:08:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:08:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:08:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:08:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:08:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:08:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:08:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:08:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:08:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:08:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:08:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:08:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:08:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:08:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:08:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:08:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:08:06 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:08:06 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:08:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:08:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:08:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:08:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:08:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:08:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:08:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:08:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:08:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:08:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:08:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:08:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:08:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:08:06 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:08:06 UTC] 📊 Database Info:
[19-Nov-2025 21:08:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:08:06 UTC]    Books columns count: 44
[19-Nov-2025 21:08:06 UTC]    Categories columns count: 7
[19-Nov-2025 21:08:06 UTC]    Language field in books: YES
[19-Nov-2025 21:08:06 UTC]    Format field in books: YES
[19-Nov-2025 21:08:06 UTC]    Description field in categories: YES
[19-Nov-2025 21:08:06 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:08:06 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:08:06 UTC]    Is_active field in books: YES
[19-Nov-2025 21:08:06 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:08:06 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:08:06 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:08:06 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:08:06 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:08:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:09:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:09:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:09:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:23 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:09:23 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:09:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:23 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:09:23 UTC] 📊 Database Info:
[19-Nov-2025 21:09:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:09:23 UTC]    Books columns count: 44
[19-Nov-2025 21:09:23 UTC]    Categories columns count: 7
[19-Nov-2025 21:09:23 UTC]    Language field in books: YES
[19-Nov-2025 21:09:23 UTC]    Format field in books: YES
[19-Nov-2025 21:09:23 UTC]    Description field in categories: YES
[19-Nov-2025 21:09:23 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:09:23 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:09:23 UTC]    Is_active field in books: YES
[19-Nov-2025 21:09:23 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:09:23 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:09:23 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:09:23 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:09:23 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:09:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:09:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:09:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:09:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:39 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:09:39 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:09:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:39 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:09:39 UTC] 📊 Database Info:
[19-Nov-2025 21:09:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:09:39 UTC]    Books columns count: 44
[19-Nov-2025 21:09:39 UTC]    Categories columns count: 7
[19-Nov-2025 21:09:39 UTC]    Language field in books: YES
[19-Nov-2025 21:09:39 UTC]    Format field in books: YES
[19-Nov-2025 21:09:39 UTC]    Description field in categories: YES
[19-Nov-2025 21:09:39 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:09:39 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:09:39 UTC]    Is_active field in books: YES
[19-Nov-2025 21:09:39 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:09:39 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:09:39 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:09:39 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:09:39 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:09:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:09:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:09:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:09:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:09:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:09:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:09:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:09:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:09:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:09:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:09:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:09:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:09:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:09:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:09:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:09:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:40 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:09:40 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:09:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:40 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:09:40 UTC] 📊 Database Info:
[19-Nov-2025 21:09:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:09:40 UTC]    Books columns count: 44
[19-Nov-2025 21:09:40 UTC]    Categories columns count: 7
[19-Nov-2025 21:09:40 UTC]    Language field in books: YES
[19-Nov-2025 21:09:40 UTC]    Format field in books: YES
[19-Nov-2025 21:09:40 UTC]    Description field in categories: YES
[19-Nov-2025 21:09:40 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:09:40 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:09:40 UTC]    Is_active field in books: YES
[19-Nov-2025 21:09:40 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:09:40 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:09:40 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:09:40 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:09:40 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:09:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:09:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:09:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:09:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:09:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:09:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:09:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:09:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:09:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:09:43 UTC] 📊 Database Info:
[19-Nov-2025 21:09:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:09:43 UTC]    Books columns count: 44
[19-Nov-2025 21:09:43 UTC]    Categories columns count: 7
[19-Nov-2025 21:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:43 UTC]    Language field in books: YES
[19-Nov-2025 21:09:43 UTC]    Format field in books: YES
[19-Nov-2025 21:09:43 UTC]    Description field in categories: YES
[19-Nov-2025 21:09:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:09:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:09:43 UTC]    Is_active field in books: YES
[19-Nov-2025 21:09:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:09:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:09:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:09:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:09:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:09:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:09:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:09:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:09:43 UTC] 📊 Database Info:
[19-Nov-2025 21:09:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:09:43 UTC]    Books columns count: 44
[19-Nov-2025 21:09:43 UTC]    Categories columns count: 7
[19-Nov-2025 21:09:43 UTC]    Language field in books: YES
[19-Nov-2025 21:09:43 UTC]    Format field in books: YES
[19-Nov-2025 21:09:43 UTC]    Description field in categories: YES
[19-Nov-2025 21:09:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:09:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:09:43 UTC]    Is_active field in books: YES
[19-Nov-2025 21:09:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:09:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:09:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:09:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:09:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:09:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:09:43 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:09:43 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:09:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:09:43 UTC] 📊 Database Info:
[19-Nov-2025 21:09:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:09:43 UTC]    Books columns count: 44
[19-Nov-2025 21:09:43 UTC]    Categories columns count: 7
[19-Nov-2025 21:09:43 UTC]    Language field in books: YES
[19-Nov-2025 21:09:43 UTC]    Format field in books: YES
[19-Nov-2025 21:09:43 UTC]    Description field in categories: YES
[19-Nov-2025 21:09:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:09:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:09:43 UTC]    Is_active field in books: YES
[19-Nov-2025 21:09:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:09:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:09:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:09:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:09:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:09:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:09:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:09:44 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:44 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:44 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:44 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:44 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:44 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:44 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:44 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:44 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:44 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:44 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:44 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:09:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:44 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:09:44 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:09:44 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:44 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:44 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:44 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:44 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:44 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:44 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:44 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:44 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:44 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:44 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:44 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:44 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:44 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:09:44 UTC] 📊 Database Info:
[19-Nov-2025 21:09:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:09:44 UTC]    Books columns count: 44
[19-Nov-2025 21:09:44 UTC]    Categories columns count: 7
[19-Nov-2025 21:09:44 UTC]    Language field in books: YES
[19-Nov-2025 21:09:44 UTC]    Format field in books: YES
[19-Nov-2025 21:09:44 UTC]    Description field in categories: YES
[19-Nov-2025 21:09:44 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:09:44 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:09:44 UTC]    Is_active field in books: YES
[19-Nov-2025 21:09:44 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:09:44 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:09:44 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:09:44 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:09:44 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:09:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:09:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:09:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:09:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:09:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:09:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:09:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:09:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:09:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:09:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:09:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:09:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:09:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:09:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:09:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:09:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:09:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:09:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:09:46 UTC] 📊 Database Info:
[19-Nov-2025 21:09:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:09:46 UTC]    Books columns count: 44
[19-Nov-2025 21:09:46 UTC]    Categories columns count: 7
[19-Nov-2025 21:09:46 UTC]    Language field in books: YES
[19-Nov-2025 21:09:46 UTC]    Format field in books: YES
[19-Nov-2025 21:09:46 UTC]    Description field in categories: YES
[19-Nov-2025 21:09:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:09:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:09:46 UTC]    Is_active field in books: YES
[19-Nov-2025 21:09:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:09:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:09:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:09:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:09:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:09:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:09:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:09:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:09:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:09:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:09:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:09:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:09:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:09:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:09:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:09:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:09:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:09:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:09:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:09:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:09:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:09:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:09:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:09:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:09:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:09:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:09:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:09:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:09:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:09:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:09:51 UTC] 📊 Database Info:
[19-Nov-2025 21:09:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:09:51 UTC]    Books columns count: 44
[19-Nov-2025 21:09:51 UTC]    Categories columns count: 7
[19-Nov-2025 21:09:51 UTC]    Language field in books: YES
[19-Nov-2025 21:09:51 UTC]    Format field in books: YES
[19-Nov-2025 21:09:51 UTC]    Description field in categories: YES
[19-Nov-2025 21:09:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:09:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:09:51 UTC]    Is_active field in books: YES
[19-Nov-2025 21:09:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:09:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:09:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:09:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:09:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:09:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:09:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:09:51 UTC] 📊 Database Info:
[19-Nov-2025 21:09:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:09:51 UTC]    Books columns count: 44
[19-Nov-2025 21:09:51 UTC]    Categories columns count: 7
[19-Nov-2025 21:09:51 UTC]    Language field in books: YES
[19-Nov-2025 21:09:51 UTC]    Format field in books: YES
[19-Nov-2025 21:09:51 UTC]    Description field in categories: YES
[19-Nov-2025 21:09:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:09:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:09:51 UTC]    Is_active field in books: YES
[19-Nov-2025 21:09:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:09:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:09:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:09:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:09:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:09:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:09:51 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:09:51 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:09:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:09:51 UTC] 📊 Database Info:
[19-Nov-2025 21:09:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:09:51 UTC]    Books columns count: 44
[19-Nov-2025 21:09:51 UTC]    Categories columns count: 7
[19-Nov-2025 21:09:51 UTC]    Language field in books: YES
[19-Nov-2025 21:09:51 UTC]    Format field in books: YES
[19-Nov-2025 21:09:51 UTC]    Description field in categories: YES
[19-Nov-2025 21:09:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:09:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:09:51 UTC]    Is_active field in books: YES
[19-Nov-2025 21:09:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:09:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:09:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:09:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:09:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:09:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:09:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:09:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:09:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:09:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:09:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:09:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:09:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:09:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:09:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:09:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:09:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:09:56 UTC] 📊 Database Info:
[19-Nov-2025 21:09:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:09:56 UTC]    Books columns count: 44
[19-Nov-2025 21:09:56 UTC]    Categories columns count: 7
[19-Nov-2025 21:09:56 UTC]    Language field in books: YES
[19-Nov-2025 21:09:56 UTC]    Format field in books: YES
[19-Nov-2025 21:09:56 UTC]    Description field in categories: YES
[19-Nov-2025 21:09:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:09:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:09:56 UTC]    Is_active field in books: YES
[19-Nov-2025 21:09:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:09:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:09:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:09:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:09:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:09:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:09:56 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:09:56 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:09:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:09:56 UTC] 📊 Database Info:
[19-Nov-2025 21:09:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:09:56 UTC]    Books columns count: 44
[19-Nov-2025 21:09:56 UTC]    Categories columns count: 7
[19-Nov-2025 21:09:56 UTC]    Language field in books: YES
[19-Nov-2025 21:09:56 UTC]    Format field in books: YES
[19-Nov-2025 21:09:56 UTC]    Description field in categories: YES
[19-Nov-2025 21:09:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:09:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:09:56 UTC]    Is_active field in books: YES
[19-Nov-2025 21:09:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:09:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:09:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:09:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:09:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:09:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:09:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:09:56 UTC] 📊 Database Info:
[19-Nov-2025 21:09:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:09:56 UTC]    Books columns count: 44
[19-Nov-2025 21:09:56 UTC]    Categories columns count: 7
[19-Nov-2025 21:09:56 UTC]    Language field in books: YES
[19-Nov-2025 21:09:56 UTC]    Format field in books: YES
[19-Nov-2025 21:09:56 UTC]    Description field in categories: YES
[19-Nov-2025 21:09:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:09:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:09:56 UTC]    Is_active field in books: YES
[19-Nov-2025 21:09:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:09:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:09:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:09:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:09:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:09:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:09:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:09:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:09:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:09:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:09:58 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:09:58 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:09:58 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:09:58 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:09:58 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:09:58 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:09:58 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:09:58 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:09:58 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:09:58 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:09:58 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:09:58 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:09:58 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:09:58 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:09:58 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:09:58 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:09:58 UTC] 📊 Database Info:
[19-Nov-2025 21:09:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:09:58 UTC]    Books columns count: 44
[19-Nov-2025 21:09:58 UTC]    Categories columns count: 7
[19-Nov-2025 21:09:58 UTC]    Language field in books: YES
[19-Nov-2025 21:09:58 UTC]    Format field in books: YES
[19-Nov-2025 21:09:58 UTC]    Description field in categories: YES
[19-Nov-2025 21:09:58 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:09:58 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:09:58 UTC]    Is_active field in books: YES
[19-Nov-2025 21:09:58 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:09:58 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:09:58 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:09:58 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:09:58 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:09:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:10:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:10:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:10:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:10:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:10:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:10:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:10:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:10:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:10:23 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:10:23 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:10:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:10:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:10:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:10:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:10:23 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:10:23 UTC] 📊 Database Info:
[19-Nov-2025 21:10:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:10:23 UTC]    Books columns count: 44
[19-Nov-2025 21:10:23 UTC]    Categories columns count: 7
[19-Nov-2025 21:10:23 UTC]    Language field in books: YES
[19-Nov-2025 21:10:23 UTC]    Format field in books: YES
[19-Nov-2025 21:10:23 UTC]    Description field in categories: YES
[19-Nov-2025 21:10:23 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:10:23 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:10:23 UTC]    Is_active field in books: YES
[19-Nov-2025 21:10:23 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:10:23 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:10:23 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:10:23 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:10:23 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:10:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:10:23 UTC] 🔄 Processing category - ID: , Name: Tt, Active: 1, Remove Image: NO
[19-Nov-2025 21:10:23 UTC] 🔍 Checking for duplicate category name: 'Tt'
[19-Nov-2025 21:10:23 UTC] ✅ No duplicate category name found
[19-Nov-2025 21:10:23 UTC] ✅ Using default category image: uploads/no-imagee.jpg
[19-Nov-2025 21:10:23 UTC] 🆕 Adding new category with active status: 1
[19-Nov-2025 21:10:23 UTC] ✅ New category added with ID: 5 and active status: 1
[19-Nov-2025 21:10:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:10:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:10:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:10:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:10:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:10:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:10:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:10:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:10:23 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:10:23 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:10:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:10:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:10:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:10:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:10:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:10:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:10:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:10:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:10:23 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:10:23 UTC] 📊 Database Info:
[19-Nov-2025 21:10:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:10:23 UTC]    Books columns count: 44
[19-Nov-2025 21:10:23 UTC]    Categories columns count: 7
[19-Nov-2025 21:10:23 UTC]    Language field in books: YES
[19-Nov-2025 21:10:23 UTC]    Format field in books: YES
[19-Nov-2025 21:10:23 UTC]    Description field in categories: YES
[19-Nov-2025 21:10:23 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:10:23 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:10:23 UTC]    Is_active field in books: YES
[19-Nov-2025 21:10:23 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:10:23 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:10:23 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:10:23 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:10:23 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:10:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:10:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:10:23 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 21:10:23 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 21:10:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:10:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:10:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:10:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:10:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:10:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:10:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:10:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:10:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:10:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:10:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:10:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:10:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:10:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:10:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:10:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:10:29 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:10:29 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:10:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:10:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:10:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:10:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:10:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:10:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:10:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:10:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:10:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:10:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:10:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:10:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:10:29 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:10:29 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:10:29 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:10:29 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:10:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:10:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:10:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:10:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:10:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:10:29 UTC] 📊 Database Info:
[19-Nov-2025 21:10:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:10:29 UTC]    Books columns count: 44
[19-Nov-2025 21:10:29 UTC]    Categories columns count: 7
[19-Nov-2025 21:10:29 UTC]    Language field in books: YES
[19-Nov-2025 21:10:29 UTC]    Format field in books: YES
[19-Nov-2025 21:10:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:10:29 UTC]    Description field in categories: YES
[19-Nov-2025 21:10:29 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:10:29 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:10:29 UTC]    Is_active field in books: YES
[19-Nov-2025 21:10:29 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:10:29 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:10:29 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:10:29 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:10:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:10:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:10:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:10:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:10:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:10:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:10:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:10:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:10:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:10:29 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:10:29 UTC] 📊 Database Info:
[19-Nov-2025 21:10:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:10:29 UTC]    Books columns count: 44
[19-Nov-2025 21:10:29 UTC]    Categories columns count: 7
[19-Nov-2025 21:10:29 UTC]    Language field in books: YES
[19-Nov-2025 21:10:29 UTC]    Format field in books: YES
[19-Nov-2025 21:10:29 UTC]    Description field in categories: YES
[19-Nov-2025 21:10:29 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:10:29 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:10:29 UTC]    Is_active field in books: YES
[19-Nov-2025 21:10:29 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:10:29 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:10:29 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:10:29 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:10:29 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:10:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:10:29 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:10:29 UTC] ✅ إرجاع 2 تصنيف نشط
[19-Nov-2025 21:10:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:10:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:10:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:10:29 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:10:29 UTC] 📊 Database Info:
[19-Nov-2025 21:10:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:10:29 UTC]    Books columns count: 44
[19-Nov-2025 21:10:29 UTC]    Categories columns count: 7
[19-Nov-2025 21:10:29 UTC]    Language field in books: YES
[19-Nov-2025 21:10:29 UTC]    Format field in books: YES
[19-Nov-2025 21:10:29 UTC]    Description field in categories: YES
[19-Nov-2025 21:10:29 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:10:29 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:10:29 UTC]    Is_active field in books: YES
[19-Nov-2025 21:10:29 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:10:29 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:10:29 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:10:29 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:10:29 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:10:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:10:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:13:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:13:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:13:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:13:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:13:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:13:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:13:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:13:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:13:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:13:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:13:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:13:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:13:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:13:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:13:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:13:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:13:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:13:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:13:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:13:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:13:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:13:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:13:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:13:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:13:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:13:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:13:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:13:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:13:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:13:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:13:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:13:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:13:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:13:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:13:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:13:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:13:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:13:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:13:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:13:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:13:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:13:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:13:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:13:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:13:22 UTC] 📊 Database Info:
[19-Nov-2025 21:13:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:13:22 UTC]    Books columns count: 44
[19-Nov-2025 21:13:22 UTC]    Categories columns count: 7
[19-Nov-2025 21:13:22 UTC]    Language field in books: YES
[19-Nov-2025 21:13:22 UTC]    Format field in books: YES
[19-Nov-2025 21:13:22 UTC]    Description field in categories: YES
[19-Nov-2025 21:13:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:13:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:13:22 UTC]    Is_active field in books: YES
[19-Nov-2025 21:13:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:13:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:13:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:13:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:13:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:13:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:13:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:13:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:13:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:13:22 UTC] 📊 Database Info:
[19-Nov-2025 21:13:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:13:22 UTC]    Books columns count: 44
[19-Nov-2025 21:13:22 UTC]    Categories columns count: 7
[19-Nov-2025 21:13:22 UTC]    Language field in books: YES
[19-Nov-2025 21:13:22 UTC]    Format field in books: YES
[19-Nov-2025 21:13:22 UTC]    Description field in categories: YES
[19-Nov-2025 21:13:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:13:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:13:22 UTC]    Is_active field in books: YES
[19-Nov-2025 21:13:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:13:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:13:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:13:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:13:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:13:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:13:22 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:13:22 UTC] ✅ إرجاع 2 تصنيف نشط
[19-Nov-2025 21:13:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:13:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:13:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:13:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:13:22 UTC] 📊 Database Info:
[19-Nov-2025 21:13:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:13:22 UTC]    Books columns count: 44
[19-Nov-2025 21:13:22 UTC]    Categories columns count: 7
[19-Nov-2025 21:13:22 UTC]    Language field in books: YES
[19-Nov-2025 21:13:22 UTC]    Format field in books: YES
[19-Nov-2025 21:13:22 UTC]    Description field in categories: YES
[19-Nov-2025 21:13:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:13:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:13:22 UTC]    Is_active field in books: YES
[19-Nov-2025 21:13:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:13:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:13:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:13:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:13:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:13:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:13:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:14:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:14:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:14:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:14:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:14:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:14:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:14:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:14:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:14:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:14:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:14:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:14:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:14:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:14:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:14:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:14:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:14:00 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:14:00 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:14:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:14:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:14:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:14:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:14:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:14:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:14:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:14:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:14:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:14:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:14:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:14:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:14:00 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:14:00 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:14:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:14:00 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:14:00 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:14:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:14:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:14:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:14:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:14:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:14:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:14:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:14:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:14:00 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:14:00 UTC] 📊 Database Info:
[19-Nov-2025 21:14:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:14:00 UTC]    Books columns count: 44
[19-Nov-2025 21:14:00 UTC]    Categories columns count: 7
[19-Nov-2025 21:14:00 UTC]    Language field in books: YES
[19-Nov-2025 21:14:00 UTC]    Format field in books: YES
[19-Nov-2025 21:14:00 UTC]    Description field in categories: YES
[19-Nov-2025 21:14:00 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:14:00 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:14:00 UTC]    Is_active field in books: YES
[19-Nov-2025 21:14:00 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:14:00 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:14:00 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:14:00 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:14:00 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:14:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:14:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:14:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:14:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:14:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:14:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:14:00 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:14:00 UTC] 📊 Database Info:
[19-Nov-2025 21:14:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:14:00 UTC]    Books columns count: 44
[19-Nov-2025 21:14:00 UTC]    Categories columns count: 7
[19-Nov-2025 21:14:00 UTC]    Language field in books: YES
[19-Nov-2025 21:14:00 UTC]    Format field in books: YES
[19-Nov-2025 21:14:00 UTC]    Description field in categories: YES
[19-Nov-2025 21:14:00 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:14:00 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:14:00 UTC]    Is_active field in books: YES
[19-Nov-2025 21:14:00 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:14:00 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:14:00 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:14:00 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:14:00 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:14:00 UTC] 📊 Database Info:
[19-Nov-2025 21:14:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:14:00 UTC]    Books columns count: 44
[19-Nov-2025 21:14:00 UTC]    Categories columns count: 7
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:14:00 UTC]    Language field in books: YES
[19-Nov-2025 21:14:00 UTC]    Format field in books: YES
[19-Nov-2025 21:14:00 UTC]    Description field in categories: YES
[19-Nov-2025 21:14:00 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:14:00 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:14:00 UTC]    Is_active field in books: YES
[19-Nov-2025 21:14:00 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:14:00 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:14:00 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:14:00 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:14:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:14:00 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:14:00 UTC] ✅ إرجاع 2 تصنيف نشط
[19-Nov-2025 21:14:00 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:14:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:14:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:16:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:16:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:16:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:16:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:16:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:16:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:16:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:16:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:16:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:16:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:16:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:16:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:16:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:16:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:16:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:16:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:16:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:16:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:16:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:16:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:16:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:16:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:16:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:16:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:16:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:16:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:16:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:16:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:16:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:16:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:16:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:16:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:16:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:16:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:16:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:16:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:16:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:16:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:16:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:16:32 UTC] 📊 Database Info:
[19-Nov-2025 21:16:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:16:32 UTC]    Books columns count: 44
[19-Nov-2025 21:16:32 UTC]    Categories columns count: 7
[19-Nov-2025 21:16:32 UTC]    Language field in books: YES
[19-Nov-2025 21:16:32 UTC]    Format field in books: YES
[19-Nov-2025 21:16:32 UTC]    Description field in categories: YES
[19-Nov-2025 21:16:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:16:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:16:32 UTC]    Is_active field in books: YES
[19-Nov-2025 21:16:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:16:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:16:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:16:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:16:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:16:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:16:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:16:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:16:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:16:32 UTC] 📊 Database Info:
[19-Nov-2025 21:16:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:16:32 UTC]    Books columns count: 44
[19-Nov-2025 21:16:32 UTC]    Categories columns count: 7
[19-Nov-2025 21:16:32 UTC]    Language field in books: YES
[19-Nov-2025 21:16:32 UTC]    Format field in books: YES
[19-Nov-2025 21:16:32 UTC]    Description field in categories: YES
[19-Nov-2025 21:16:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:16:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:16:32 UTC]    Is_active field in books: YES
[19-Nov-2025 21:16:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:16:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:16:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:16:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:16:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:16:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:16:32 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:16:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:16:32 UTC] ✅ إرجاع 2 تصنيف نشط
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:16:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:16:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:16:32 UTC] 📊 Database Info:
[19-Nov-2025 21:16:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:16:32 UTC]    Books columns count: 44
[19-Nov-2025 21:16:32 UTC]    Categories columns count: 7
[19-Nov-2025 21:16:32 UTC]    Language field in books: YES
[19-Nov-2025 21:16:32 UTC]    Format field in books: YES
[19-Nov-2025 21:16:32 UTC]    Description field in categories: YES
[19-Nov-2025 21:16:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:16:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:16:32 UTC]    Is_active field in books: YES
[19-Nov-2025 21:16:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:16:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:16:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:16:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:16:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:16:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:16:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:16:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:16:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:16:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:16:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:16:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:16:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:16:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:16:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:16:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:16:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:16:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:16:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:16:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:16:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:16:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:16:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:16:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:16:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:16:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:16:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:16:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:16:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:16:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:16:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:16:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:16:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:16:33 UTC] 📊 Database Info:
[19-Nov-2025 21:16:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:16:33 UTC]    Books columns count: 44
[19-Nov-2025 21:16:33 UTC]    Categories columns count: 7
[19-Nov-2025 21:16:33 UTC]    Language field in books: YES
[19-Nov-2025 21:16:33 UTC]    Format field in books: YES
[19-Nov-2025 21:16:33 UTC]    Description field in categories: YES
[19-Nov-2025 21:16:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:16:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:16:33 UTC]    Is_active field in books: YES
[19-Nov-2025 21:16:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:16:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:16:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:16:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:16:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:16:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:16:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:16:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:16:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:16:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:16:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:16:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:16:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:16:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:16:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:16:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:16:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:16:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:16:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:16:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:16:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:16:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:16:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:16:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:16:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:16:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:16:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:16:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:16:33 UTC] 📊 Database Info:
[19-Nov-2025 21:16:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:16:33 UTC]    Books columns count: 44
[19-Nov-2025 21:16:33 UTC]    Categories columns count: 7
[19-Nov-2025 21:16:33 UTC]    Language field in books: YES
[19-Nov-2025 21:16:33 UTC]    Format field in books: YES
[19-Nov-2025 21:16:33 UTC]    Description field in categories: YES
[19-Nov-2025 21:16:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:16:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:16:33 UTC]    Is_active field in books: YES
[19-Nov-2025 21:16:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:16:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:16:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:16:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:16:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:16:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:16:33 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:16:33 UTC] ✅ إرجاع 2 تصنيف نشط
[19-Nov-2025 21:16:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:16:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:16:33 UTC] 📊 Database Info:
[19-Nov-2025 21:16:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:16:33 UTC]    Books columns count: 44
[19-Nov-2025 21:16:33 UTC]    Categories columns count: 7
[19-Nov-2025 21:16:33 UTC]    Language field in books: YES
[19-Nov-2025 21:16:33 UTC]    Format field in books: YES
[19-Nov-2025 21:16:33 UTC]    Description field in categories: YES
[19-Nov-2025 21:16:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:16:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:16:33 UTC]    Is_active field in books: YES
[19-Nov-2025 21:16:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:16:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:16:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:16:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:16:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:16:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:17:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:17:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:17:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:17:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:17:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:17:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:17:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:17:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:17:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:17:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:17:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:17:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:17:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:17:31 UTC] 📊 Database Info:
[19-Nov-2025 21:17:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:17:31 UTC]    Books columns count: 44
[19-Nov-2025 21:17:31 UTC]    Categories columns count: 7
[19-Nov-2025 21:17:31 UTC]    Language field in books: YES
[19-Nov-2025 21:17:31 UTC]    Format field in books: YES
[19-Nov-2025 21:17:31 UTC]    Description field in categories: YES
[19-Nov-2025 21:17:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:17:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:17:31 UTC]    Is_active field in books: YES
[19-Nov-2025 21:17:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:17:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:17:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:17:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:17:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:17:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:17:31 UTC] 🔄 Processing category - ID: 4, Name: test, Active: 1, Remove Image: NO
[19-Nov-2025 21:17:31 UTC] 🔍 Checking for duplicate category name: 'test'
[19-Nov-2025 21:17:31 UTC] ✅ No duplicate category name found
[19-Nov-2025 21:17:31 UTC] ✅ New image uploaded: uploads/images/691e33eb87c5d_1763587051.jpg
[19-Nov-2025 21:17:31 UTC] 🔄 Updating existing category ID: 4
[19-Nov-2025 21:17:31 UTC] ✅ Category updated with new image and active status: 1
[19-Nov-2025 21:17:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:17:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:17:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:17:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:17:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:17:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:17:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:17:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:17:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:17:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:17:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:17:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:17:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:17:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:17:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:17:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:17:31 UTC] 📊 Database Info:
[19-Nov-2025 21:17:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:17:31 UTC]    Books columns count: 44
[19-Nov-2025 21:17:31 UTC]    Categories columns count: 7
[19-Nov-2025 21:17:31 UTC]    Language field in books: YES
[19-Nov-2025 21:17:31 UTC]    Format field in books: YES
[19-Nov-2025 21:17:31 UTC]    Description field in categories: YES
[19-Nov-2025 21:17:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:17:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:17:31 UTC]    Is_active field in books: YES
[19-Nov-2025 21:17:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:17:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:17:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:17:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:17:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:17:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:17:31 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 21:17:31 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 21:17:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:17:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:17:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:17:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:17:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:17:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:17:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:17:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:17:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:17:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:17:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:17:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:17:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:17:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:17:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:17:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:17:47 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:17:47 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:17:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:17:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:17:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:17:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:17:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:17:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:17:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:17:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:17:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:17:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:17:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:17:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:17:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:17:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:17:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:17:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:17:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:17:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:17:47 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:17:47 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:17:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:17:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:17:47 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:17:47 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:17:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:17:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:17:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:17:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:17:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:17:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:17:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:17:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:17:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:17:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:17:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:17:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:17:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:17:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:17:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:17:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:17:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:17:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:17:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:17:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:17:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:17:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:17:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:17:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:17:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:17:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:17:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:17:48 UTC] 📊 Database Info:
[19-Nov-2025 21:17:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:17:48 UTC]    Books columns count: 44
[19-Nov-2025 21:17:48 UTC]    Categories columns count: 7
[19-Nov-2025 21:17:48 UTC]    Language field in books: YES
[19-Nov-2025 21:17:48 UTC]    Format field in books: YES
[19-Nov-2025 21:17:48 UTC]    Description field in categories: YES
[19-Nov-2025 21:17:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:17:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:17:48 UTC]    Is_active field in books: YES
[19-Nov-2025 21:17:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:17:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:17:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:17:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:17:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:17:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:17:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:17:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:17:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:17:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:17:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:17:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:17:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:17:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:17:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:17:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:17:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:17:48 UTC] 📊 Database Info:
[19-Nov-2025 21:17:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:17:48 UTC]    Books columns count: 44
[19-Nov-2025 21:17:48 UTC]    Categories columns count: 7
[19-Nov-2025 21:17:48 UTC]    Language field in books: YES
[19-Nov-2025 21:17:48 UTC]    Format field in books: YES
[19-Nov-2025 21:17:48 UTC]    Description field in categories: YES
[19-Nov-2025 21:17:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:17:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:17:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:17:48 UTC] 📊 Database Info:
[19-Nov-2025 21:17:48 UTC]    Is_active field in books: YES
[19-Nov-2025 21:17:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:17:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:17:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:17:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:17:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:17:48 UTC]    Books columns count: 44
[19-Nov-2025 21:17:48 UTC]    Categories columns count: 7
[19-Nov-2025 21:17:48 UTC]    Language field in books: YES
[19-Nov-2025 21:17:48 UTC]    Format field in books: YES
[19-Nov-2025 21:17:48 UTC]    Description field in categories: YES
[19-Nov-2025 21:17:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:17:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:17:48 UTC]    Is_active field in books: YES
[19-Nov-2025 21:17:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:17:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:17:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:17:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:17:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:17:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:17:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:17:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:17:48 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:17:48 UTC] ✅ إرجاع 2 تصنيف نشط
[19-Nov-2025 21:21:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:21:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:21:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:21:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:21:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:21:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:21:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:21:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:21:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:21:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:21:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:21:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:21:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:21:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:21:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:21:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:21:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:21:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:21:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:21:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:21:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:21:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:21:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:21:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:21:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:21:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:21:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:21:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:21:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:21:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:21:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:21:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:21:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:21:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:21:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:21:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:21:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:21:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:21:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:21:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:21:17 UTC] 📊 Database Info:
[19-Nov-2025 21:21:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:21:17 UTC]    Books columns count: 44
[19-Nov-2025 21:21:17 UTC]    Categories columns count: 7
[19-Nov-2025 21:21:17 UTC]    Language field in books: YES
[19-Nov-2025 21:21:17 UTC]    Format field in books: YES
[19-Nov-2025 21:21:17 UTC]    Description field in categories: YES
[19-Nov-2025 21:21:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:21:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:21:17 UTC]    Is_active field in books: YES
[19-Nov-2025 21:21:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:21:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:21:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:21:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:21:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:21:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:21:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:21:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:21:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:21:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:21:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:21:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:21:17 UTC] 📊 Database Info:
[19-Nov-2025 21:21:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:21:17 UTC]    Books columns count: 44
[19-Nov-2025 21:21:17 UTC]    Categories columns count: 7
[19-Nov-2025 21:21:17 UTC]    Language field in books: YES
[19-Nov-2025 21:21:17 UTC]    Format field in books: YES
[19-Nov-2025 21:21:17 UTC]    Description field in categories: YES
[19-Nov-2025 21:21:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:21:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:21:17 UTC]    Is_active field in books: YES
[19-Nov-2025 21:21:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:21:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:21:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:21:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:21:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:21:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:21:17 UTC] 📊 Database Info:
[19-Nov-2025 21:21:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:21:17 UTC]    Books columns count: 44
[19-Nov-2025 21:21:17 UTC]    Categories columns count: 7
[19-Nov-2025 21:21:17 UTC]    Language field in books: YES
[19-Nov-2025 21:21:17 UTC]    Format field in books: YES
[19-Nov-2025 21:21:17 UTC]    Description field in categories: YES
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:21:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:21:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:21:17 UTC]    Is_active field in books: YES
[19-Nov-2025 21:21:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:21:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:21:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:21:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:21:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:21:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:21:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:21:17 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:21:17 UTC] ✅ إرجاع 2 تصنيف نشط
[19-Nov-2025 21:33:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:33:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:33:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:33:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:33:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:33:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:33:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:33:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:33:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:33:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:33:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:33:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:33:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:33:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:33:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:33:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:33:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:33:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:33:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:33:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:33:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:33:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:33:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:33:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:33:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:33:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:33:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:33:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:33:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:33:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:33:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:33:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:33:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:33:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:33:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:33:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:33:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:33:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:33:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:33:31 UTC] 📊 Database Info:
[19-Nov-2025 21:33:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:33:31 UTC]    Books columns count: 44
[19-Nov-2025 21:33:31 UTC]    Categories columns count: 7
[19-Nov-2025 21:33:31 UTC]    Language field in books: YES
[19-Nov-2025 21:33:31 UTC]    Format field in books: YES
[19-Nov-2025 21:33:31 UTC]    Description field in categories: YES
[19-Nov-2025 21:33:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:33:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:33:31 UTC]    Is_active field in books: YES
[19-Nov-2025 21:33:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:33:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:33:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:33:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:33:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:33:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:33:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:33:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:33:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:33:31 UTC] 📊 Database Info:
[19-Nov-2025 21:33:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:33:31 UTC]    Books columns count: 44
[19-Nov-2025 21:33:31 UTC]    Categories columns count: 7
[19-Nov-2025 21:33:31 UTC]    Language field in books: YES
[19-Nov-2025 21:33:31 UTC]    Format field in books: YES
[19-Nov-2025 21:33:31 UTC]    Description field in categories: YES
[19-Nov-2025 21:33:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:33:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:33:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:33:31 UTC] 📊 Database Info:
[19-Nov-2025 21:33:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:33:31 UTC]    Is_active field in books: YES
[19-Nov-2025 21:33:31 UTC]    Books columns count: 44
[19-Nov-2025 21:33:31 UTC]    Categories columns count: 7
[19-Nov-2025 21:33:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:33:31 UTC]    Language field in books: YES
[19-Nov-2025 21:33:31 UTC]    Format field in books: YES
[19-Nov-2025 21:33:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:33:31 UTC]    Description field in categories: YES
[19-Nov-2025 21:33:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:33:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:33:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:33:31 UTC]    Is_active field in books: YES
[19-Nov-2025 21:33:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:33:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:33:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:33:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:33:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:33:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:33:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:33:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:33:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:33:31 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:33:31 UTC] ✅ إرجاع 2 تصنيف نشط
[19-Nov-2025 21:33:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:33:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:33:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:33:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:33:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:33:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:33:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:33:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:33:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:33:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:33:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:33:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:33:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:33:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:33:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:33:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:33:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:33:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:33:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:33:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:33:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:33:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:33:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:33:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:33:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:33:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:33:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:33:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:33:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:33:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:33:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:33:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:33:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:33:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:33:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:33:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:33:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:33:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:33:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:33:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:33:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:33:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:33:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:33:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:33:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:33:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:33:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:33:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:33:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:33:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:33:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:33:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:33:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:33:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:33:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:33:46 UTC] 📊 Database Info:
[19-Nov-2025 21:33:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:33:46 UTC]    Books columns count: 44
[19-Nov-2025 21:33:46 UTC]    Categories columns count: 7
[19-Nov-2025 21:33:46 UTC]    Language field in books: YES
[19-Nov-2025 21:33:46 UTC]    Format field in books: YES
[19-Nov-2025 21:33:46 UTC]    Description field in categories: YES
[19-Nov-2025 21:33:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:33:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:33:46 UTC]    Is_active field in books: YES
[19-Nov-2025 21:33:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:33:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:33:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:33:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:33:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:33:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:33:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:33:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:33:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:33:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:33:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:33:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:33:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:33:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:33:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:33:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:33:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:33:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:33:46 UTC] 📊 Database Info:
[19-Nov-2025 21:33:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:33:46 UTC]    Books columns count: 44
[19-Nov-2025 21:33:46 UTC]    Categories columns count: 7
[19-Nov-2025 21:33:46 UTC]    Language field in books: YES
[19-Nov-2025 21:33:46 UTC]    Format field in books: YES
[19-Nov-2025 21:33:46 UTC]    Description field in categories: YES
[19-Nov-2025 21:33:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:33:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:33:46 UTC]    Is_active field in books: YES
[19-Nov-2025 21:33:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:33:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:33:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:33:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:33:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:33:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:33:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:33:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:33:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:33:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:33:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:33:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:33:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:33:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:33:46 UTC] 📊 Database Info:
[19-Nov-2025 21:33:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:33:46 UTC]    Books columns count: 44
[19-Nov-2025 21:33:46 UTC]    Categories columns count: 7
[19-Nov-2025 21:33:46 UTC]    Language field in books: YES
[19-Nov-2025 21:33:46 UTC]    Format field in books: YES
[19-Nov-2025 21:33:46 UTC]    Description field in categories: YES
[19-Nov-2025 21:33:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:33:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:33:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:33:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:33:46 UTC]    Is_active field in books: YES
[19-Nov-2025 21:33:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:33:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:33:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:33:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:33:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:33:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:33:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:33:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:33:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:33:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:33:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:33:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:33:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:33:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:33:46 UTC] 📊 Database Info:
[19-Nov-2025 21:33:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:33:46 UTC]    Books columns count: 44
[19-Nov-2025 21:33:46 UTC]    Categories columns count: 7
[19-Nov-2025 21:33:46 UTC]    Language field in books: YES
[19-Nov-2025 21:33:46 UTC]    Format field in books: YES
[19-Nov-2025 21:33:46 UTC]    Description field in categories: YES
[19-Nov-2025 21:33:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:33:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:33:46 UTC]    Is_active field in books: YES
[19-Nov-2025 21:33:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:33:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:33:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:33:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:33:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:33:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:33:46 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:33:46 UTC] ✅ إرجاع 2 تصنيف نشط
[19-Nov-2025 21:33:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:33:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:33:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:33:46 UTC] 📊 Database Info:
[19-Nov-2025 21:33:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:33:46 UTC]    Books columns count: 44
[19-Nov-2025 21:33:46 UTC]    Categories columns count: 7
[19-Nov-2025 21:33:46 UTC]    Language field in books: YES
[19-Nov-2025 21:33:46 UTC]    Format field in books: YES
[19-Nov-2025 21:33:46 UTC]    Description field in categories: YES
[19-Nov-2025 21:33:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:33:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:33:46 UTC]    Is_active field in books: YES
[19-Nov-2025 21:33:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:33:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:33:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:33:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:33:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:33:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:33:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:33:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:33:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:33:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:33:46 UTC] 📊 Database Info:
[19-Nov-2025 21:33:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:33:46 UTC]    Books columns count: 44
[19-Nov-2025 21:33:46 UTC]    Categories columns count: 7
[19-Nov-2025 21:33:46 UTC]    Language field in books: YES
[19-Nov-2025 21:33:46 UTC]    Format field in books: YES
[19-Nov-2025 21:33:46 UTC]    Description field in categories: YES
[19-Nov-2025 21:33:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:33:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:33:46 UTC]    Is_active field in books: YES
[19-Nov-2025 21:33:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:33:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:33:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:33:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:33:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:33:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:33:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:33:46 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:33:46 UTC] ✅ إرجاع 2 تصنيف نشط
[19-Nov-2025 21:34:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:05 UTC] 📊 Database Info:
[19-Nov-2025 21:34:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:05 UTC]    Books columns count: 44
[19-Nov-2025 21:34:05 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:05 UTC]    Language field in books: YES
[19-Nov-2025 21:34:05 UTC]    Format field in books: YES
[19-Nov-2025 21:34:05 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:05 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:05 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 21:34:05 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 21:34:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:05 UTC] 📊 Database Info:
[19-Nov-2025 21:34:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:05 UTC]    Books columns count: 44
[19-Nov-2025 21:34:05 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:05 UTC]    Language field in books: YES
[19-Nov-2025 21:34:05 UTC]    Format field in books: YES
[19-Nov-2025 21:34:05 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:05 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:05 UTC] 📊 Database Info:
[19-Nov-2025 21:34:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:05 UTC]    Books columns count: 44
[19-Nov-2025 21:34:05 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:05 UTC]    Language field in books: YES
[19-Nov-2025 21:34:05 UTC]    Format field in books: YES
[19-Nov-2025 21:34:05 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:05 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 21:34:05 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 21:34:05 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 21:34:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:08 UTC] 📊 Database Info:
[19-Nov-2025 21:34:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:08 UTC]    Books columns count: 44
[19-Nov-2025 21:34:08 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:08 UTC]    Language field in books: YES
[19-Nov-2025 21:34:08 UTC]    Format field in books: YES
[19-Nov-2025 21:34:08 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:08 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:08 UTC] ℹ️ Skipping default image deletion: uploads/no-imagee.jpg
[19-Nov-2025 21:34:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:08 UTC] 📊 Database Info:
[19-Nov-2025 21:34:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:08 UTC]    Books columns count: 44
[19-Nov-2025 21:34:08 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:08 UTC]    Language field in books: YES
[19-Nov-2025 21:34:08 UTC]    Format field in books: YES
[19-Nov-2025 21:34:08 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:08 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:08 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 21:34:08 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 21:34:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:10 UTC] 📊 Database Info:
[19-Nov-2025 21:34:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:10 UTC]    Books columns count: 44
[19-Nov-2025 21:34:10 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:10 UTC]    Language field in books: YES
[19-Nov-2025 21:34:10 UTC]    Format field in books: YES
[19-Nov-2025 21:34:10 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:10 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:10 UTC] ✅ Deleted custom category image: uploads/images/691e33eb87c5d_1763587051.jpg
[19-Nov-2025 21:34:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:22 UTC] 📊 Database Info:
[19-Nov-2025 21:34:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:22 UTC]    Books columns count: 44
[19-Nov-2025 21:34:22 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:22 UTC]    Language field in books: YES
[19-Nov-2025 21:34:22 UTC]    Format field in books: YES
[19-Nov-2025 21:34:22 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:22 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:26 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:26 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:26 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:26 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:26 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:26 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:26 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:26 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:26 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:26 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:26 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:26 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:26 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:26 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:26 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:26 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:27 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:27 UTC] 📊 Database Info:
[19-Nov-2025 21:34:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:27 UTC]    Books columns count: 44
[19-Nov-2025 21:34:27 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:27 UTC]    Language field in books: YES
[19-Nov-2025 21:34:27 UTC]    Format field in books: YES
[19-Nov-2025 21:34:27 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:27 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:27 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:27 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:27 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:27 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:27 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:27 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:27 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:27 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:27 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:27 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:27 UTC] 📊 Database Info:
[19-Nov-2025 21:34:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:27 UTC]    Books columns count: 44
[19-Nov-2025 21:34:27 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:27 UTC]    Language field in books: YES
[19-Nov-2025 21:34:27 UTC]    Format field in books: YES
[19-Nov-2025 21:34:27 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:27 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:27 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:27 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:27 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:27 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:27 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:27 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:27 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:29 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:29 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:29 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:29 UTC] 📊 Database Info:
[19-Nov-2025 21:34:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:29 UTC]    Books columns count: 44
[19-Nov-2025 21:34:29 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:29 UTC]    Language field in books: YES
[19-Nov-2025 21:34:29 UTC]    Format field in books: YES
[19-Nov-2025 21:34:29 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:29 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:29 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:29 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:29 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:29 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:29 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:29 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:29 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:30 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:30 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:30 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:30 UTC] 📊 Database Info:
[19-Nov-2025 21:34:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:30 UTC]    Books columns count: 44
[19-Nov-2025 21:34:30 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:30 UTC]    Language field in books: YES
[19-Nov-2025 21:34:30 UTC]    Format field in books: YES
[19-Nov-2025 21:34:30 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:30 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:30 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:30 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:30 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:30 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:30 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:30 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:30 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:32 UTC] 📊 Database Info:
[19-Nov-2025 21:34:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:32 UTC]    Books columns count: 44
[19-Nov-2025 21:34:32 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:32 UTC]    Language field in books: YES
[19-Nov-2025 21:34:32 UTC]    Format field in books: YES
[19-Nov-2025 21:34:32 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:32 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:32 UTC] 📊 Database Info:
[19-Nov-2025 21:34:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:32 UTC]    Books columns count: 44
[19-Nov-2025 21:34:32 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:32 UTC]    Language field in books: YES
[19-Nov-2025 21:34:32 UTC]    Format field in books: YES
[19-Nov-2025 21:34:32 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:32 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:37 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:37 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:37 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:37 UTC] 📊 Database Info:
[19-Nov-2025 21:34:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:37 UTC]    Books columns count: 44
[19-Nov-2025 21:34:37 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:37 UTC]    Language field in books: YES
[19-Nov-2025 21:34:37 UTC]    Format field in books: YES
[19-Nov-2025 21:34:37 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:37 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:37 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:37 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:37 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:37 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:37 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:37 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:37 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:37 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:37 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:37 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:37 UTC] 📊 Database Info:
[19-Nov-2025 21:34:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:37 UTC]    Books columns count: 44
[19-Nov-2025 21:34:37 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:37 UTC]    Language field in books: YES
[19-Nov-2025 21:34:37 UTC]    Format field in books: YES
[19-Nov-2025 21:34:37 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:37 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:37 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:37 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:37 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:37 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:37 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:37 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:37 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:37 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 21:34:37 UTC] ✅ إرجاع 0 تصنيف
[19-Nov-2025 21:34:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:43 UTC] 📊 Database Info:
[19-Nov-2025 21:34:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:43 UTC]    Books columns count: 44
[19-Nov-2025 21:34:43 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:43 UTC]    Language field in books: YES
[19-Nov-2025 21:34:43 UTC]    Format field in books: YES
[19-Nov-2025 21:34:43 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:43 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:43 UTC] 📊 Database Info:
[19-Nov-2025 21:34:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:43 UTC]    Books columns count: 44
[19-Nov-2025 21:34:43 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:43 UTC]    Language field in books: YES
[19-Nov-2025 21:34:43 UTC]    Format field in books: YES
[19-Nov-2025 21:34:43 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:43 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:43 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:34:43 UTC] ✅ إرجاع 0 تصنيف نشط
[19-Nov-2025 21:34:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:43 UTC] 📊 Database Info:
[19-Nov-2025 21:34:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:43 UTC]    Books columns count: 44
[19-Nov-2025 21:34:43 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:43 UTC]    Language field in books: YES
[19-Nov-2025 21:34:43 UTC]    Format field in books: YES
[19-Nov-2025 21:34:43 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:43 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:54 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:54 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:54 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:54 UTC] 📊 Database Info:
[19-Nov-2025 21:34:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:54 UTC]    Books columns count: 44
[19-Nov-2025 21:34:54 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:54 UTC]    Language field in books: YES
[19-Nov-2025 21:34:54 UTC]    Format field in books: YES
[19-Nov-2025 21:34:54 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:54 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:54 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:54 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:54 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:54 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:54 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:54 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:54 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:54 UTC] 🔄 Processing category - ID: , Name: Test, Active: 1, Remove Image: NO
[19-Nov-2025 21:34:54 UTC] 🔍 Checking for duplicate category name: 'Test'
[19-Nov-2025 21:34:54 UTC] ✅ No duplicate category name found
[19-Nov-2025 21:34:54 UTC] ✅ Using default category image: uploads/no-imagee.jpg
[19-Nov-2025 21:34:54 UTC] 🆕 Adding new category with active status: 1
[19-Nov-2025 21:34:54 UTC] ✅ New category added with ID: 6 and active status: 1
[19-Nov-2025 21:34:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:54 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:54 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:54 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:54 UTC] 📊 Database Info:
[19-Nov-2025 21:34:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:54 UTC]    Books columns count: 44
[19-Nov-2025 21:34:54 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:54 UTC]    Language field in books: YES
[19-Nov-2025 21:34:54 UTC]    Format field in books: YES
[19-Nov-2025 21:34:54 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:54 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:54 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:54 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:54 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:54 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:54 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:54 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:54 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:54 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 21:34:54 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 21:34:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:34:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:34:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:34:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:34:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:34:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:57 UTC] 📊 Database Info:
[19-Nov-2025 21:34:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:57 UTC]    Books columns count: 44
[19-Nov-2025 21:34:57 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:57 UTC]    Language field in books: YES
[19-Nov-2025 21:34:57 UTC]    Format field in books: YES
[19-Nov-2025 21:34:57 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:57 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:57 UTC] 📊 Database Info:
[19-Nov-2025 21:34:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:57 UTC]    Books columns count: 44
[19-Nov-2025 21:34:57 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:57 UTC]    Language field in books: YES
[19-Nov-2025 21:34:57 UTC]    Format field in books: YES
[19-Nov-2025 21:34:57 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:57 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:34:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:34:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:34:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:34:57 UTC] 📊 Database Info:
[19-Nov-2025 21:34:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:34:57 UTC]    Books columns count: 44
[19-Nov-2025 21:34:57 UTC]    Categories columns count: 7
[19-Nov-2025 21:34:57 UTC]    Language field in books: YES
[19-Nov-2025 21:34:57 UTC]    Format field in books: YES
[19-Nov-2025 21:34:57 UTC]    Description field in categories: YES
[19-Nov-2025 21:34:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:34:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:34:57 UTC]    Is_active field in books: YES
[19-Nov-2025 21:34:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:34:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:34:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:34:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:34:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:34:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:34:57 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:34:57 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:35:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:18 UTC] 📊 Database Info:
[19-Nov-2025 21:35:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:18 UTC]    Books columns count: 44
[19-Nov-2025 21:35:18 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:18 UTC]    Language field in books: YES
[19-Nov-2025 21:35:18 UTC]    Format field in books: YES
[19-Nov-2025 21:35:18 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:18 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:18 UTC] 📊 Database Info:
[19-Nov-2025 21:35:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:18 UTC]    Books columns count: 44
[19-Nov-2025 21:35:18 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:18 UTC]    Language field in books: YES
[19-Nov-2025 21:35:18 UTC]    Format field in books: YES
[19-Nov-2025 21:35:18 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:18 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:18 UTC] 📊 Database Info:
[19-Nov-2025 21:35:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:18 UTC]    Books columns count: 44
[19-Nov-2025 21:35:18 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:18 UTC]    Language field in books: YES
[19-Nov-2025 21:35:18 UTC]    Format field in books: YES
[19-Nov-2025 21:35:18 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:18 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:18 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:35:18 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:35:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:28 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:28 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:28 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:28 UTC] 📊 Database Info:
[19-Nov-2025 21:35:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:28 UTC]    Books columns count: 44
[19-Nov-2025 21:35:28 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:28 UTC]    Language field in books: YES
[19-Nov-2025 21:35:28 UTC]    Format field in books: YES
[19-Nov-2025 21:35:28 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:28 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:28 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:28 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:28 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:28 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:28 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:28 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:28 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:28 UTC] ➕ طلب معالجة تصنيف بروفايل - ID: , Name: Test, Active: 1
[19-Nov-2025 21:35:28 UTC] 🔍 Checking for duplicate profile category name: 'Test'
[19-Nov-2025 21:35:28 UTC] ✅ No duplicate profile category name found
[19-Nov-2025 21:35:28 UTC] ✅ Using default profile category image: uploads/no-imagee.jpg
[19-Nov-2025 21:35:28 UTC] 🆕 Adding new profile category with active status: 1
[19-Nov-2025 21:35:28 UTC] ✅ Profile category saved successfully: Test (ID: 2, Active: 1)
[19-Nov-2025 21:35:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:29 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:29 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:29 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:29 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:29 UTC] 📊 Database Info:
[19-Nov-2025 21:35:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:29 UTC]    Books columns count: 44
[19-Nov-2025 21:35:29 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:29 UTC]    Language field in books: YES
[19-Nov-2025 21:35:29 UTC]    Format field in books: YES
[19-Nov-2025 21:35:29 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:29 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:29 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:29 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:29 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:29 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:29 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:29 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:29 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 21:35:29 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 21:35:29 UTC] ✅ إرجاع 1 تصنيف بروفايل
[19-Nov-2025 21:35:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:33 UTC] 📊 Database Info:
[19-Nov-2025 21:35:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:33 UTC]    Books columns count: 44
[19-Nov-2025 21:35:33 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:33 UTC]    Language field in books: YES
[19-Nov-2025 21:35:33 UTC]    Format field in books: YES
[19-Nov-2025 21:35:33 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:33 UTC] 📊 Database Info:
[19-Nov-2025 21:35:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:33 UTC]    Books columns count: 44
[19-Nov-2025 21:35:33 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:33 UTC]    Language field in books: YES
[19-Nov-2025 21:35:33 UTC]    Format field in books: YES
[19-Nov-2025 21:35:33 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:33 UTC] 📊 Database Info:
[19-Nov-2025 21:35:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:33 UTC]    Books columns count: 44
[19-Nov-2025 21:35:33 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:33 UTC]    Language field in books: YES
[19-Nov-2025 21:35:33 UTC]    Format field in books: YES
[19-Nov-2025 21:35:33 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 21:35:33 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 21:35:33 UTC] ✅ إرجاع 1 تصنيف بروفايل نشط
[19-Nov-2025 21:35:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:33 UTC] 📊 Database Info:
[19-Nov-2025 21:35:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:33 UTC]    Books columns count: 44
[19-Nov-2025 21:35:33 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:33 UTC]    Language field in books: YES
[19-Nov-2025 21:35:33 UTC]    Format field in books: YES
[19-Nov-2025 21:35:33 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:33 UTC] 📊 Database Info:
[19-Nov-2025 21:35:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:33 UTC]    Books columns count: 44
[19-Nov-2025 21:35:33 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:33 UTC]    Language field in books: YES
[19-Nov-2025 21:35:33 UTC]    Format field in books: YES
[19-Nov-2025 21:35:33 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:33 UTC] 📊 Database Info:
[19-Nov-2025 21:35:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:33 UTC]    Books columns count: 44
[19-Nov-2025 21:35:33 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:33 UTC]    Language field in books: YES
[19-Nov-2025 21:35:33 UTC]    Format field in books: YES
[19-Nov-2025 21:35:33 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 21:35:33 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 21:35:33 UTC] ✅ إرجاع 1 تصنيف بروفايل نشط
[19-Nov-2025 21:35:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:33 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:33 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:33 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:33 UTC] 📊 Database Info:
[19-Nov-2025 21:35:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:33 UTC]    Books columns count: 44
[19-Nov-2025 21:35:33 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:33 UTC]    Language field in books: YES
[19-Nov-2025 21:35:33 UTC]    Format field in books: YES
[19-Nov-2025 21:35:33 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:33 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:33 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:33 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:33 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:33 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:33 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 21:35:33 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 21:35:33 UTC] ✅ إرجاع 1 تصنيف بروفايل نشط
[19-Nov-2025 21:35:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:34 UTC] 📊 Database Info:
[19-Nov-2025 21:35:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:34 UTC]    Books columns count: 44
[19-Nov-2025 21:35:34 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:34 UTC]    Language field in books: YES
[19-Nov-2025 21:35:34 UTC]    Format field in books: YES
[19-Nov-2025 21:35:34 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:34 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 21:35:34 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 21:35:34 UTC] ✅ إرجاع 1 تصنيف بروفايل نشط
[19-Nov-2025 21:35:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:34 UTC] 📊 Database Info:
[19-Nov-2025 21:35:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:34 UTC]    Books columns count: 44
[19-Nov-2025 21:35:34 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:34 UTC]    Language field in books: YES
[19-Nov-2025 21:35:34 UTC]    Format field in books: YES
[19-Nov-2025 21:35:34 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:34 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 21:35:34 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[19-Nov-2025 21:35:34 UTC] ✅ إرجاع 1 تصنيف بروفايل نشط
[19-Nov-2025 21:35:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:38 UTC] 📊 Database Info:
[19-Nov-2025 21:35:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:38 UTC]    Books columns count: 44
[19-Nov-2025 21:35:38 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:38 UTC]    Language field in books: YES
[19-Nov-2025 21:35:38 UTC]    Format field in books: YES
[19-Nov-2025 21:35:38 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:38 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:38 UTC] 📊 Database Info:
[19-Nov-2025 21:35:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:38 UTC]    Books columns count: 44
[19-Nov-2025 21:35:38 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:38 UTC]    Language field in books: YES
[19-Nov-2025 21:35:38 UTC]    Format field in books: YES
[19-Nov-2025 21:35:38 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:38 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:38 UTC] 📊 Database Info:
[19-Nov-2025 21:35:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:38 UTC]    Books columns count: 44
[19-Nov-2025 21:35:38 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:38 UTC]    Language field in books: YES
[19-Nov-2025 21:35:38 UTC]    Format field in books: YES
[19-Nov-2025 21:35:38 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:38 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:38 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:38 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:39 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:39 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:35:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:35:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:39 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:39 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:39 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:35:39 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:35:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:35:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:35:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:35:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:35:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:35:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:39 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:39 UTC] 📊 Database Info:
[19-Nov-2025 21:35:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:39 UTC]    Books columns count: 44
[19-Nov-2025 21:35:39 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:39 UTC]    Language field in books: YES
[19-Nov-2025 21:35:39 UTC]    Format field in books: YES
[19-Nov-2025 21:35:39 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:39 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:39 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:39 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:39 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:39 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:39 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:39 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:39 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:39 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:39 UTC] 📊 Database Info:
[19-Nov-2025 21:35:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:39 UTC]    Books columns count: 44
[19-Nov-2025 21:35:39 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:39 UTC]    Language field in books: YES
[19-Nov-2025 21:35:39 UTC]    Format field in books: YES
[19-Nov-2025 21:35:39 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:39 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:39 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:39 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:39 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:39 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:39 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:39 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:39 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:35:39 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:35:39 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:35:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:35:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:35:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:35:39 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:35:39 UTC] 📊 Database Info:
[19-Nov-2025 21:35:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:35:39 UTC]    Books columns count: 44
[19-Nov-2025 21:35:39 UTC]    Categories columns count: 7
[19-Nov-2025 21:35:39 UTC]    Language field in books: YES
[19-Nov-2025 21:35:39 UTC]    Format field in books: YES
[19-Nov-2025 21:35:39 UTC]    Description field in categories: YES
[19-Nov-2025 21:35:39 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:35:39 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:35:39 UTC]    Is_active field in books: YES
[19-Nov-2025 21:35:39 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:35:39 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:35:39 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:35:39 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:35:39 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:35:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:35:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:38:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:38:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:38:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:38:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:38:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:38:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:38:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:38:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:38:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:38:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:38:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:38:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:38:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:38:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:38:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:38:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:38:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:38:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:38:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:38:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:38:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:38:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:38:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:38:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:38:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:38:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:38:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:38:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:38:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:38:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:38:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:38:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:38:16 UTC] 📊 Database Info:
[19-Nov-2025 21:38:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:38:16 UTC]    Books columns count: 44
[19-Nov-2025 21:38:16 UTC]    Categories columns count: 7
[19-Nov-2025 21:38:16 UTC]    Language field in books: YES
[19-Nov-2025 21:38:16 UTC]    Format field in books: YES
[19-Nov-2025 21:38:16 UTC]    Description field in categories: YES
[19-Nov-2025 21:38:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:38:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:38:16 UTC]    Is_active field in books: YES
[19-Nov-2025 21:38:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:38:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:38:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:38:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:38:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:38:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:38:16 UTC] ℹ️ Skipping default image deletion: uploads/no-imagee.jpg
[19-Nov-2025 21:38:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:38:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:38:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:38:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:38:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:38:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:38:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:38:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:38:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:38:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:38:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:38:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:38:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:38:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:38:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:38:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:38:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:38:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:38:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:38:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:38:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:38:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:38:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:38:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:38:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:38:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:38:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:38:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:38:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:38:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:38:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:38:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:38:17 UTC] 📊 Database Info:
[19-Nov-2025 21:38:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:38:17 UTC]    Books columns count: 44
[19-Nov-2025 21:38:17 UTC]    Categories columns count: 7
[19-Nov-2025 21:38:17 UTC]    Language field in books: YES
[19-Nov-2025 21:38:17 UTC]    Format field in books: YES
[19-Nov-2025 21:38:17 UTC]    Description field in categories: YES
[19-Nov-2025 21:38:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:38:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:38:17 UTC]    Is_active field in books: YES
[19-Nov-2025 21:38:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:38:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:38:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:38:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:38:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:38:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:38:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:38:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:38:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:38:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:38:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:38:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:38:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:38:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:38:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:38:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:38:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:38:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:38:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 21:38:17 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 21:38:17 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 21:38:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:38:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:38:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:38:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:38:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:38:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:38:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:38:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:38:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:38:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:38:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:38:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:38:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:38:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:38:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:38:22 UTC] 📊 Database Info:
[19-Nov-2025 21:38:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:38:22 UTC]    Books columns count: 44
[19-Nov-2025 21:38:22 UTC]    Categories columns count: 7
[19-Nov-2025 21:38:22 UTC]    Language field in books: YES
[19-Nov-2025 21:38:22 UTC]    Format field in books: YES
[19-Nov-2025 21:38:22 UTC]    Description field in categories: YES
[19-Nov-2025 21:38:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:38:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:38:22 UTC]    Is_active field in books: YES
[19-Nov-2025 21:38:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:38:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:38:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:38:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:38:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:38:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:38:22 UTC] ℹ️ Skipping default image deletion: uploads/no-imagee.jpg
[19-Nov-2025 21:38:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:38:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:38:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:38:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:38:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:38:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:38:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:38:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:38:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:38:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:38:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:38:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:38:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:38:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:38:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:38:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:38:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:38:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:38:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:38:22 UTC] 📊 Database Info:
[19-Nov-2025 21:38:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:38:22 UTC]    Books columns count: 44
[19-Nov-2025 21:38:22 UTC]    Categories columns count: 7
[19-Nov-2025 21:38:22 UTC]    Language field in books: YES
[19-Nov-2025 21:38:22 UTC]    Format field in books: YES
[19-Nov-2025 21:38:22 UTC]    Description field in categories: YES
[19-Nov-2025 21:38:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:38:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:38:22 UTC]    Is_active field in books: YES
[19-Nov-2025 21:38:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:38:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:38:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:38:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:38:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:38:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:38:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:38:22 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 21:38:22 UTC] ✅ إرجاع 0 تصنيف
[19-Nov-2025 21:39:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:39:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:39:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:39:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:39:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:39:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:39:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:39:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:39:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:39:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:39:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:39:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:39:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:39:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:39:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:39:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:39:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:39:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:39:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:39:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:39:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:39:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:39:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:39:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:39:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:39:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:39:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:39:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:39:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:39:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:39:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:39:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:39:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:39:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:39:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:39:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:39:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:39:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:39:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:39:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:39:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:39:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:39:22 UTC] 📊 Database Info:
[19-Nov-2025 21:39:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:39:22 UTC]    Books columns count: 44
[19-Nov-2025 21:39:22 UTC]    Categories columns count: 7
[19-Nov-2025 21:39:22 UTC]    Language field in books: YES
[19-Nov-2025 21:39:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:39:22 UTC]    Format field in books: YES
[19-Nov-2025 21:39:22 UTC]    Description field in categories: YES
[19-Nov-2025 21:39:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:39:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:39:22 UTC]    Is_active field in books: YES
[19-Nov-2025 21:39:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:39:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:39:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:39:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:39:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:39:22 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:39:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:39:22 UTC] ✅ إرجاع 0 تصنيف نشط
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:39:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:39:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:39:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:39:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:39:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:39:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:39:22 UTC] 📊 Database Info:
[19-Nov-2025 21:39:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:39:22 UTC]    Books columns count: 44
[19-Nov-2025 21:39:22 UTC]    Categories columns count: 7
[19-Nov-2025 21:39:22 UTC]    Language field in books: YES
[19-Nov-2025 21:39:22 UTC]    Format field in books: YES
[19-Nov-2025 21:39:22 UTC]    Description field in categories: YES
[19-Nov-2025 21:39:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:39:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:39:22 UTC]    Is_active field in books: YES
[19-Nov-2025 21:39:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:39:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:39:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:39:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:39:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:39:22 UTC] 📊 Database Info:
[19-Nov-2025 21:39:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:39:22 UTC]    Books columns count: 44
[19-Nov-2025 21:39:22 UTC]    Categories columns count: 7
[19-Nov-2025 21:39:22 UTC]    Language field in books: YES
[19-Nov-2025 21:39:22 UTC]    Format field in books: YES
[19-Nov-2025 21:39:22 UTC]    Description field in categories: YES
[19-Nov-2025 21:39:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:39:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:39:22 UTC]    Is_active field in books: YES
[19-Nov-2025 21:39:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:39:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:39:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:39:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:39:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:39:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:39:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:39:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:39:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:39:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:39:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:39:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:39:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:39:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:39:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:39:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:39:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:39:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:39:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:39:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:39:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:39:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:39:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:39:34 UTC] 📊 Database Info:
[19-Nov-2025 21:39:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:39:34 UTC]    Books columns count: 44
[19-Nov-2025 21:39:34 UTC]    Categories columns count: 7
[19-Nov-2025 21:39:34 UTC]    Language field in books: YES
[19-Nov-2025 21:39:34 UTC]    Format field in books: YES
[19-Nov-2025 21:39:34 UTC]    Description field in categories: YES
[19-Nov-2025 21:39:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:39:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:39:34 UTC]    Is_active field in books: YES
[19-Nov-2025 21:39:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:39:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:39:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:39:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:39:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:39:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:39:34 UTC] 🔄 Processing category - ID: , Name: T, Active: 1, Remove Image: NO
[19-Nov-2025 21:39:34 UTC] 🔍 Checking for duplicate category name: 'T'
[19-Nov-2025 21:39:34 UTC] ✅ No duplicate category name found
[19-Nov-2025 21:39:34 UTC] ✅ Using default category image: uploads/no-imagee.jpg
[19-Nov-2025 21:39:34 UTC] 🆕 Adding new category with active status: 1
[19-Nov-2025 21:39:34 UTC] ✅ New category added with ID: 7 and active status: 1
[19-Nov-2025 21:39:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:39:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:39:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:39:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:39:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:39:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:39:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:39:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:39:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:39:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:39:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:39:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:39:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:39:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:39:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:39:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:39:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:39:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:39:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:39:34 UTC] 📊 Database Info:
[19-Nov-2025 21:39:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:39:34 UTC]    Books columns count: 44
[19-Nov-2025 21:39:34 UTC]    Categories columns count: 7
[19-Nov-2025 21:39:34 UTC]    Language field in books: YES
[19-Nov-2025 21:39:34 UTC]    Format field in books: YES
[19-Nov-2025 21:39:34 UTC]    Description field in categories: YES
[19-Nov-2025 21:39:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:39:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:39:34 UTC]    Is_active field in books: YES
[19-Nov-2025 21:39:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:39:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:39:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:39:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:39:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:39:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:39:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:39:34 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 21:39:34 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 21:39:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:39:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:39:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:39:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:39:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:39:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:39:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:39:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:39:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:39:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:39:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:39:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:39:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:39:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:39:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:39:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:39:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:39:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:39:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:39:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:39:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:39:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:39:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:39:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:39:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:39:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:39:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:39:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:39:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:39:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:39:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:39:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:39:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:39:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:39:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:39:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:39:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:39:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:39:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:39:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:39:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:39:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:39:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:39:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:39:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:39:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:39:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:39:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:39:38 UTC] 📊 Database Info:
[19-Nov-2025 21:39:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:39:38 UTC]    Books columns count: 44
[19-Nov-2025 21:39:38 UTC]    Categories columns count: 7
[19-Nov-2025 21:39:38 UTC]    Language field in books: YES
[19-Nov-2025 21:39:38 UTC]    Format field in books: YES
[19-Nov-2025 21:39:38 UTC]    Description field in categories: YES
[19-Nov-2025 21:39:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:39:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:39:38 UTC]    Is_active field in books: YES
[19-Nov-2025 21:39:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:39:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:39:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:39:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:39:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:39:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:39:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:39:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:39:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:39:38 UTC] 📊 Database Info:
[19-Nov-2025 21:39:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:39:38 UTC]    Books columns count: 44
[19-Nov-2025 21:39:38 UTC]    Categories columns count: 7
[19-Nov-2025 21:39:38 UTC]    Language field in books: YES
[19-Nov-2025 21:39:38 UTC]    Format field in books: YES
[19-Nov-2025 21:39:38 UTC]    Description field in categories: YES
[19-Nov-2025 21:39:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:39:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:39:38 UTC]    Is_active field in books: YES
[19-Nov-2025 21:39:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:39:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:39:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:39:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:39:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:39:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:39:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:39:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:39:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:39:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:39:38 UTC] 📊 Database Info:
[19-Nov-2025 21:39:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:39:38 UTC]    Books columns count: 44
[19-Nov-2025 21:39:38 UTC]    Categories columns count: 7
[19-Nov-2025 21:39:38 UTC]    Language field in books: YES
[19-Nov-2025 21:39:38 UTC]    Format field in books: YES
[19-Nov-2025 21:39:38 UTC]    Description field in categories: YES
[19-Nov-2025 21:39:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:39:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:39:38 UTC]    Is_active field in books: YES
[19-Nov-2025 21:39:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:39:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:39:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:39:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:39:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:39:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:39:38 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:39:38 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:40:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:40:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:40:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:40:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:40:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:40:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:40:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:40:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:40:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:40:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:40:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:40:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:40:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:40:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:40:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:40:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:40:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:40:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:40:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:40:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:40:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:40:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:40:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:40:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:40:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:40:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:40:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:40:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:40:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:40:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:40:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:40:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:40:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:40:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:40:11 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:40:11 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:40:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:40:11 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:40:11 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:40:11 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:40:11 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:40:11 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:40:11 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:40:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:40:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:40:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:40:11 UTC] 📊 Database Info:
[19-Nov-2025 21:40:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:40:11 UTC]    Books columns count: 44
[19-Nov-2025 21:40:11 UTC]    Categories columns count: 7
[19-Nov-2025 21:40:11 UTC]    Language field in books: YES
[19-Nov-2025 21:40:11 UTC]    Format field in books: YES
[19-Nov-2025 21:40:11 UTC]    Description field in categories: YES
[19-Nov-2025 21:40:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:40:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:40:11 UTC]    Is_active field in books: YES
[19-Nov-2025 21:40:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:40:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:40:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:40:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:40:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:40:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:40:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:40:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:40:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:40:11 UTC] 📊 Database Info:
[19-Nov-2025 21:40:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:40:11 UTC]    Books columns count: 44
[19-Nov-2025 21:40:11 UTC]    Categories columns count: 7
[19-Nov-2025 21:40:11 UTC]    Language field in books: YES
[19-Nov-2025 21:40:11 UTC]    Format field in books: YES
[19-Nov-2025 21:40:11 UTC]    Description field in categories: YES
[19-Nov-2025 21:40:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:40:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:40:11 UTC]    Is_active field in books: YES
[19-Nov-2025 21:40:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:40:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:40:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:40:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:40:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:40:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:40:11 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:40:11 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:40:11 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:40:11 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:40:11 UTC] 📊 Database Info:
[19-Nov-2025 21:40:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:40:11 UTC]    Books columns count: 44
[19-Nov-2025 21:40:11 UTC]    Categories columns count: 7
[19-Nov-2025 21:40:11 UTC]    Language field in books: YES
[19-Nov-2025 21:40:11 UTC]    Format field in books: YES
[19-Nov-2025 21:40:11 UTC]    Description field in categories: YES
[19-Nov-2025 21:40:11 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:40:11 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:40:11 UTC]    Is_active field in books: YES
[19-Nov-2025 21:40:11 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:40:11 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:40:11 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:40:11 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:40:11 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:40:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:40:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:40:11 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:40:11 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:40:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:40:13 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:40:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:40:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:40:13 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:40:13 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:40:13 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:40:13 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:40:13 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:40:13 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:40:13 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:40:13 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:40:13 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:40:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:40:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:40:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:40:13 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:40:13 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:40:13 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:40:13 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:40:13 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:40:13 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:40:13 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:40:13 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:40:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:40:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:40:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:40:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:40:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:40:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:40:13 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:40:13 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:40:13 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:40:13 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:40:13 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:40:13 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:40:13 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:40:13 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:40:13 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:40:13 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:40:13 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:40:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:40:13 UTC] 📊 Database Info:
[19-Nov-2025 21:40:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:40:13 UTC]    Books columns count: 44
[19-Nov-2025 21:40:13 UTC]    Categories columns count: 7
[19-Nov-2025 21:40:13 UTC]    Language field in books: YES
[19-Nov-2025 21:40:13 UTC]    Format field in books: YES
[19-Nov-2025 21:40:13 UTC]    Description field in categories: YES
[19-Nov-2025 21:40:13 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:40:13 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:40:13 UTC]    Is_active field in books: YES
[19-Nov-2025 21:40:13 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:40:13 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:40:13 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:40:13 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:40:13 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:40:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:40:13 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:40:13 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:40:13 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:40:13 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:40:13 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:40:13 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:40:13 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:40:13 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:40:13 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:40:13 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:40:13 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:40:13 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:40:13 UTC] 📊 Database Info:
[19-Nov-2025 21:40:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:40:13 UTC]    Books columns count: 44
[19-Nov-2025 21:40:13 UTC]    Categories columns count: 7
[19-Nov-2025 21:40:13 UTC]    Language field in books: YES
[19-Nov-2025 21:40:13 UTC]    Format field in books: YES
[19-Nov-2025 21:40:13 UTC]    Description field in categories: YES
[19-Nov-2025 21:40:13 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:40:13 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:40:13 UTC]    Is_active field in books: YES
[19-Nov-2025 21:40:13 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:40:13 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:40:13 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:40:13 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:40:13 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:40:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:40:13 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:40:13 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:40:13 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:40:13 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:40:13 UTC] 📊 Database Info:
[19-Nov-2025 21:40:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:40:13 UTC]    Books columns count: 44
[19-Nov-2025 21:40:13 UTC]    Categories columns count: 7
[19-Nov-2025 21:40:13 UTC]    Language field in books: YES
[19-Nov-2025 21:40:13 UTC]    Format field in books: YES
[19-Nov-2025 21:40:13 UTC]    Description field in categories: YES
[19-Nov-2025 21:40:13 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:40:13 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:40:13 UTC]    Is_active field in books: YES
[19-Nov-2025 21:40:13 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:40:13 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:40:13 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:40:13 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:40:13 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:40:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:40:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:40:13 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:40:13 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:41:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:41:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:41:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:41:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:41:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:41:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:41:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:41:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:18 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:41:18 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:41:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:18 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:18 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:18 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:18 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:18 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:18 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:18 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:18 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:41:18 UTC] 📊 Database Info:
[19-Nov-2025 21:41:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:41:18 UTC]    Books columns count: 44
[19-Nov-2025 21:41:18 UTC]    Categories columns count: 7
[19-Nov-2025 21:41:18 UTC]    Language field in books: YES
[19-Nov-2025 21:41:18 UTC]    Format field in books: YES
[19-Nov-2025 21:41:18 UTC]    Description field in categories: YES
[19-Nov-2025 21:41:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:41:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:41:18 UTC]    Is_active field in books: YES
[19-Nov-2025 21:41:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:41:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:41:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:41:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:41:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:41:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:41:18 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:41:18 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:41:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:18 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:18 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:18 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:41:18 UTC] 📊 Database Info:
[19-Nov-2025 21:41:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:41:18 UTC]    Books columns count: 44
[19-Nov-2025 21:41:18 UTC]    Categories columns count: 7
[19-Nov-2025 21:41:18 UTC]    Language field in books: YES
[19-Nov-2025 21:41:18 UTC]    Format field in books: YES
[19-Nov-2025 21:41:18 UTC]    Description field in categories: YES
[19-Nov-2025 21:41:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:41:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:41:18 UTC]    Is_active field in books: YES
[19-Nov-2025 21:41:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:41:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:41:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:41:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:41:18 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:41:18 UTC] 📊 Database Info:
[19-Nov-2025 21:41:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:41:18 UTC]    Books columns count: 44
[19-Nov-2025 21:41:18 UTC]    Categories columns count: 7
[19-Nov-2025 21:41:18 UTC]    Language field in books: YES
[19-Nov-2025 21:41:18 UTC]    Format field in books: YES
[19-Nov-2025 21:41:18 UTC]    Description field in categories: YES
[19-Nov-2025 21:41:18 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:41:18 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:41:18 UTC]    Is_active field in books: YES
[19-Nov-2025 21:41:18 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:41:18 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:41:18 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:41:18 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:41:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:41:18 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:41:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:41:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:41:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:41:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:41:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:41:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:41:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:23 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:41:23 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:41:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:41:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:23 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:41:23 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:23 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:41:23 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:23 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:23 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:23 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:23 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:23 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:23 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:23 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:41:23 UTC] 📊 Database Info:
[19-Nov-2025 21:41:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:41:23 UTC]    Books columns count: 44
[19-Nov-2025 21:41:23 UTC]    Categories columns count: 7
[19-Nov-2025 21:41:23 UTC]    Language field in books: YES
[19-Nov-2025 21:41:23 UTC]    Format field in books: YES
[19-Nov-2025 21:41:23 UTC]    Description field in categories: YES
[19-Nov-2025 21:41:23 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:41:23 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:41:23 UTC]    Is_active field in books: YES
[19-Nov-2025 21:41:23 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:41:23 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:41:23 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:41:23 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:41:23 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:41:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:41:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:23 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:41:23 UTC] 📊 Database Info:
[19-Nov-2025 21:41:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:41:23 UTC]    Books columns count: 44
[19-Nov-2025 21:41:23 UTC]    Categories columns count: 7
[19-Nov-2025 21:41:23 UTC]    Language field in books: YES
[19-Nov-2025 21:41:23 UTC]    Format field in books: YES
[19-Nov-2025 21:41:23 UTC]    Description field in categories: YES
[19-Nov-2025 21:41:23 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:41:23 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:41:23 UTC]    Is_active field in books: YES
[19-Nov-2025 21:41:23 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:41:23 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:41:23 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:41:23 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:41:23 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:41:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:41:23 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:23 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:23 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:23 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:41:23 UTC] 📊 Database Info:
[19-Nov-2025 21:41:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:41:23 UTC]    Books columns count: 44
[19-Nov-2025 21:41:23 UTC]    Categories columns count: 7
[19-Nov-2025 21:41:23 UTC]    Language field in books: YES
[19-Nov-2025 21:41:23 UTC]    Format field in books: YES
[19-Nov-2025 21:41:23 UTC]    Description field in categories: YES
[19-Nov-2025 21:41:23 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:41:23 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:41:23 UTC]    Is_active field in books: YES
[19-Nov-2025 21:41:23 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:41:23 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:41:23 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:41:23 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:41:23 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:41:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:41:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:41:23 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:41:23 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:41:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:41:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:41:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:41:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:41:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:41:31 UTC] 📊 Database Info:
[19-Nov-2025 21:41:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:41:31 UTC]    Books columns count: 44
[19-Nov-2025 21:41:31 UTC]    Categories columns count: 7
[19-Nov-2025 21:41:31 UTC]    Language field in books: YES
[19-Nov-2025 21:41:31 UTC]    Format field in books: YES
[19-Nov-2025 21:41:31 UTC]    Description field in categories: YES
[19-Nov-2025 21:41:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:41:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:41:31 UTC]    Is_active field in books: YES
[19-Nov-2025 21:41:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:41:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:41:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:41:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:41:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:41:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:41:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:41:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:41:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:41:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:41:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:41:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:41:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:41:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:41:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:41:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:41:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:41:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:41:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:41:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:41:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:41:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:41:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:41:32 UTC] 📊 Database Info:
[19-Nov-2025 21:41:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:41:32 UTC]    Books columns count: 44
[19-Nov-2025 21:41:32 UTC]    Categories columns count: 7
[19-Nov-2025 21:41:32 UTC]    Language field in books: YES
[19-Nov-2025 21:41:32 UTC]    Format field in books: YES
[19-Nov-2025 21:41:32 UTC]    Description field in categories: YES
[19-Nov-2025 21:41:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:41:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:41:32 UTC]    Is_active field in books: YES
[19-Nov-2025 21:41:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:41:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:41:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:41:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:41:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:41:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:41:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:41:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:36 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:36 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:36 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:36 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:36 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:41:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:36 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:41:36 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:41:36 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:36 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:36 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:36 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:36 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:36 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:36 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:36 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:37 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:41:37 UTC] 📊 Database Info:
[19-Nov-2025 21:41:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:41:37 UTC]    Books columns count: 44
[19-Nov-2025 21:41:37 UTC]    Categories columns count: 7
[19-Nov-2025 21:41:37 UTC]    Language field in books: YES
[19-Nov-2025 21:41:37 UTC]    Format field in books: YES
[19-Nov-2025 21:41:37 UTC]    Description field in categories: YES
[19-Nov-2025 21:41:37 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:41:37 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:41:37 UTC]    Is_active field in books: YES
[19-Nov-2025 21:41:37 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:41:37 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:41:37 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:41:37 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:41:37 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:41:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:41:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:41:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:41:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:37 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:41:37 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:41:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:37 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:37 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:37 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:37 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:37 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:37 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:41:37 UTC] 📊 Database Info:
[19-Nov-2025 21:41:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:41:37 UTC]    Books columns count: 44
[19-Nov-2025 21:41:37 UTC]    Categories columns count: 7
[19-Nov-2025 21:41:37 UTC]    Language field in books: YES
[19-Nov-2025 21:41:37 UTC]    Format field in books: YES
[19-Nov-2025 21:41:37 UTC]    Description field in categories: YES
[19-Nov-2025 21:41:37 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:41:37 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:41:37 UTC]    Is_active field in books: YES
[19-Nov-2025 21:41:37 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:41:37 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:41:37 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:41:37 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:41:37 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:41:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:41:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:41:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:41:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:41:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:41:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:41:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:41:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:41:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:41:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:41:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:41:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:41:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:41:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:41:46 UTC] 📊 Database Info:
[19-Nov-2025 21:41:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:41:46 UTC]    Books columns count: 44
[19-Nov-2025 21:41:46 UTC]    Categories columns count: 7
[19-Nov-2025 21:41:46 UTC]    Language field in books: YES
[19-Nov-2025 21:41:46 UTC]    Format field in books: YES
[19-Nov-2025 21:41:46 UTC]    Description field in categories: YES
[19-Nov-2025 21:41:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:41:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:41:46 UTC]    Is_active field in books: YES
[19-Nov-2025 21:41:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:41:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:41:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:41:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:41:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:41:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:41:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:41:46 UTC] 📊 Database Info:
[19-Nov-2025 21:41:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:41:46 UTC]    Books columns count: 44
[19-Nov-2025 21:41:46 UTC]    Categories columns count: 7
[19-Nov-2025 21:41:46 UTC]    Language field in books: YES
[19-Nov-2025 21:41:46 UTC]    Format field in books: YES
[19-Nov-2025 21:41:46 UTC]    Description field in categories: YES
[19-Nov-2025 21:41:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:41:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:41:46 UTC]    Is_active field in books: YES
[19-Nov-2025 21:41:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:41:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:41:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:41:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:41:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:41:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:41:46 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:41:46 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:41:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:41:46 UTC] 📊 Database Info:
[19-Nov-2025 21:41:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:41:46 UTC]    Books columns count: 44
[19-Nov-2025 21:41:46 UTC]    Categories columns count: 7
[19-Nov-2025 21:41:46 UTC]    Language field in books: YES
[19-Nov-2025 21:41:46 UTC]    Format field in books: YES
[19-Nov-2025 21:41:46 UTC]    Description field in categories: YES
[19-Nov-2025 21:41:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:41:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:41:46 UTC]    Is_active field in books: YES
[19-Nov-2025 21:41:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:41:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:41:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:41:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:41:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:41:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:41:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:41:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:41:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:41:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:41:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:41:51 UTC] 📊 Database Info:
[19-Nov-2025 21:41:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:41:51 UTC]    Books columns count: 44
[19-Nov-2025 21:41:51 UTC]    Categories columns count: 7
[19-Nov-2025 21:41:51 UTC]    Language field in books: YES
[19-Nov-2025 21:41:51 UTC]    Format field in books: YES
[19-Nov-2025 21:41:51 UTC]    Description field in categories: YES
[19-Nov-2025 21:41:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:41:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:41:51 UTC]    Is_active field in books: YES
[19-Nov-2025 21:41:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:41:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:41:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:41:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:41:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:41:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:41:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:41:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:41:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:41:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:41:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:41:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:41:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:41:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:41:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:41:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:41:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:41:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:41:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:41:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:41:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:41:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:41:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:41:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:41:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:41:52 UTC] 📊 Database Info:
[19-Nov-2025 21:41:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:41:52 UTC]    Books columns count: 44
[19-Nov-2025 21:41:52 UTC]    Categories columns count: 7
[19-Nov-2025 21:41:52 UTC]    Language field in books: YES
[19-Nov-2025 21:41:52 UTC]    Format field in books: YES
[19-Nov-2025 21:41:52 UTC]    Description field in categories: YES
[19-Nov-2025 21:41:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:41:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:41:52 UTC]    Is_active field in books: YES
[19-Nov-2025 21:41:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:41:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:41:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:41:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:41:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:41:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:41:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:41:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:41:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:41:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:41:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:41:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:41:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:41:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:41:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:41:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:41:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:41:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:42:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:42:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:42:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:42:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:42:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:04 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:42:04 UTC] 📊 Database Info:
[19-Nov-2025 21:42:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:42:04 UTC]    Books columns count: 44
[19-Nov-2025 21:42:04 UTC]    Categories columns count: 7
[19-Nov-2025 21:42:04 UTC]    Language field in books: YES
[19-Nov-2025 21:42:04 UTC]    Format field in books: YES
[19-Nov-2025 21:42:04 UTC]    Description field in categories: YES
[19-Nov-2025 21:42:04 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:42:04 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:42:04 UTC]    Is_active field in books: YES
[19-Nov-2025 21:42:04 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:42:04 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:42:04 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:42:04 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:42:04 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:42:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:42:04 UTC] ℹ️ Skipping default image deletion: uploads/no-imagee.jpg
[19-Nov-2025 21:42:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:42:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:42:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:42:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:42:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:04 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:42:04 UTC] 📊 Database Info:
[19-Nov-2025 21:42:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:42:04 UTC]    Books columns count: 44
[19-Nov-2025 21:42:04 UTC]    Categories columns count: 7
[19-Nov-2025 21:42:04 UTC]    Language field in books: YES
[19-Nov-2025 21:42:04 UTC]    Format field in books: YES
[19-Nov-2025 21:42:04 UTC]    Description field in categories: YES
[19-Nov-2025 21:42:04 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:42:04 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:42:04 UTC]    Is_active field in books: YES
[19-Nov-2025 21:42:04 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:42:04 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:42:04 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:42:04 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:42:04 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:42:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:42:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 21:42:04 UTC] ✅ إرجاع 0 تصنيف
[19-Nov-2025 21:42:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:42:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:42:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:42:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:42:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:42:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:42:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:42:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:42:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:42:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:42:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:42:07 UTC] 📊 Database Info:
[19-Nov-2025 21:42:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:42:07 UTC]    Books columns count: 44
[19-Nov-2025 21:42:07 UTC]    Categories columns count: 7
[19-Nov-2025 21:42:07 UTC]    Language field in books: YES
[19-Nov-2025 21:42:07 UTC]    Format field in books: YES
[19-Nov-2025 21:42:07 UTC]    Description field in categories: YES
[19-Nov-2025 21:42:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:42:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:42:07 UTC]    Is_active field in books: YES
[19-Nov-2025 21:42:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:42:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:42:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:42:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:42:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:42:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:42:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:42:07 UTC] 📊 Database Info:
[19-Nov-2025 21:42:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:42:07 UTC]    Books columns count: 44
[19-Nov-2025 21:42:07 UTC]    Categories columns count: 7
[19-Nov-2025 21:42:07 UTC]    Language field in books: YES
[19-Nov-2025 21:42:07 UTC]    Format field in books: YES
[19-Nov-2025 21:42:07 UTC]    Description field in categories: YES
[19-Nov-2025 21:42:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:42:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:42:07 UTC]    Is_active field in books: YES
[19-Nov-2025 21:42:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:42:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:42:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:42:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:42:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:42:07 UTC] 📊 Database Info:
[19-Nov-2025 21:42:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:42:07 UTC]    Books columns count: 44
[19-Nov-2025 21:42:07 UTC]    Categories columns count: 7
[19-Nov-2025 21:42:07 UTC]    Language field in books: YES
[19-Nov-2025 21:42:07 UTC]    Format field in books: YES
[19-Nov-2025 21:42:07 UTC]    Description field in categories: YES
[19-Nov-2025 21:42:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:42:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:42:07 UTC]    Is_active field in books: YES
[19-Nov-2025 21:42:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:42:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:42:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:42:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:42:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:42:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:42:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:42:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:42:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:42:07 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:42:07 UTC] ✅ إرجاع 0 تصنيف نشط
[19-Nov-2025 21:42:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:42:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:42:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:42:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:42:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:42:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:42:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:42:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:42:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:42:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:42:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:42:51 UTC] 📊 Database Info:
[19-Nov-2025 21:42:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:42:51 UTC]    Books columns count: 44
[19-Nov-2025 21:42:51 UTC]    Categories columns count: 7
[19-Nov-2025 21:42:51 UTC]    Language field in books: YES
[19-Nov-2025 21:42:51 UTC]    Format field in books: YES
[19-Nov-2025 21:42:51 UTC]    Description field in categories: YES
[19-Nov-2025 21:42:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:42:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:42:51 UTC]    Is_active field in books: YES
[19-Nov-2025 21:42:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:42:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:42:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:42:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:42:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:42:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:42:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:42:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:42:52 UTC] 📊 Database Info:
[19-Nov-2025 21:42:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:42:52 UTC]    Books columns count: 44
[19-Nov-2025 21:42:52 UTC]    Categories columns count: 7
[19-Nov-2025 21:42:52 UTC]    Language field in books: YES
[19-Nov-2025 21:42:52 UTC]    Format field in books: YES
[19-Nov-2025 21:42:52 UTC]    Description field in categories: YES
[19-Nov-2025 21:42:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:42:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:42:52 UTC]    Is_active field in books: YES
[19-Nov-2025 21:42:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:42:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:42:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:42:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:42:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:42:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:42:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:42:52 UTC] 📊 Database Info:
[19-Nov-2025 21:42:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:42:52 UTC]    Books columns count: 44
[19-Nov-2025 21:42:52 UTC]    Categories columns count: 7
[19-Nov-2025 21:42:52 UTC]    Language field in books: YES
[19-Nov-2025 21:42:52 UTC]    Format field in books: YES
[19-Nov-2025 21:42:52 UTC]    Description field in categories: YES
[19-Nov-2025 21:42:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:42:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:42:52 UTC]    Is_active field in books: YES
[19-Nov-2025 21:42:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:42:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:42:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:42:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:42:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:42:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:42:52 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:42:52 UTC] ✅ إرجاع 0 تصنيف نشط
[19-Nov-2025 21:42:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:42:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:42:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:42:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:42:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:42:52 UTC] 📊 Database Info:
[19-Nov-2025 21:42:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:42:52 UTC]    Books columns count: 44
[19-Nov-2025 21:42:52 UTC]    Categories columns count: 7
[19-Nov-2025 21:42:52 UTC]    Language field in books: YES
[19-Nov-2025 21:42:52 UTC]    Format field in books: YES
[19-Nov-2025 21:42:52 UTC]    Description field in categories: YES
[19-Nov-2025 21:42:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:42:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:42:52 UTC]    Is_active field in books: YES
[19-Nov-2025 21:42:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:42:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:42:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:42:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:42:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:42:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:42:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:42:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:42:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:54 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:42:54 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:42:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:54 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:42:54 UTC] 📊 Database Info:
[19-Nov-2025 21:42:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:42:54 UTC]    Books columns count: 44
[19-Nov-2025 21:42:54 UTC]    Categories columns count: 7
[19-Nov-2025 21:42:54 UTC]    Language field in books: YES
[19-Nov-2025 21:42:54 UTC]    Format field in books: YES
[19-Nov-2025 21:42:54 UTC]    Description field in categories: YES
[19-Nov-2025 21:42:54 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:42:54 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:42:54 UTC]    Is_active field in books: YES
[19-Nov-2025 21:42:54 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:42:54 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:42:54 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:42:54 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:42:54 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:42:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:42:54 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:42:54 UTC] ✅ إرجاع 0 تصنيف نشط
[19-Nov-2025 21:42:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:42:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:42:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:42:54 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:42:54 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:42:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:42:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:42:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:42:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:42:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:42:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:42:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:42:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:42:54 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:42:54 UTC] 📊 Database Info:
[19-Nov-2025 21:42:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:42:54 UTC]    Books columns count: 44
[19-Nov-2025 21:42:54 UTC]    Categories columns count: 7
[19-Nov-2025 21:42:54 UTC]    Language field in books: YES
[19-Nov-2025 21:42:54 UTC]    Format field in books: YES
[19-Nov-2025 21:42:54 UTC]    Description field in categories: YES
[19-Nov-2025 21:42:54 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:42:54 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:42:54 UTC]    Is_active field in books: YES
[19-Nov-2025 21:42:54 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:42:54 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:42:54 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:42:54 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:42:54 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:42:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:43:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:43:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:43:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:43:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:43:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:43:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:43:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:43:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:43:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:43:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:43:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:43:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:43:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:43:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:43:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:43:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:43:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:43:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:43:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:43:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:43:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:43:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:43:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:43:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:43:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:43:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:43:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:43:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:43:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:43:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:43:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:43:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:43:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:43:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:43:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:43:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:43:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:43:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:43:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:43:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:43:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:43:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:43:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:43:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:43:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:43:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:43:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:43:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:43:17 UTC] 📊 Database Info:
[19-Nov-2025 21:43:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:43:17 UTC]    Books columns count: 44
[19-Nov-2025 21:43:17 UTC]    Categories columns count: 7
[19-Nov-2025 21:43:17 UTC]    Language field in books: YES
[19-Nov-2025 21:43:17 UTC]    Format field in books: YES
[19-Nov-2025 21:43:17 UTC]    Description field in categories: YES
[19-Nov-2025 21:43:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:43:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:43:17 UTC]    Is_active field in books: YES
[19-Nov-2025 21:43:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:43:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:43:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:43:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:43:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:43:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:43:17 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 21:43:17 UTC] ✅ إرجاع 0 تصنيف
[19-Nov-2025 21:43:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:43:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:43:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:43:17 UTC] 📊 Database Info:
[19-Nov-2025 21:43:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:43:17 UTC]    Books columns count: 44
[19-Nov-2025 21:43:17 UTC]    Categories columns count: 7
[19-Nov-2025 21:43:17 UTC]    Language field in books: YES
[19-Nov-2025 21:43:17 UTC]    Format field in books: YES
[19-Nov-2025 21:43:17 UTC]    Description field in categories: YES
[19-Nov-2025 21:43:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:43:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:43:17 UTC]    Is_active field in books: YES
[19-Nov-2025 21:43:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:43:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:43:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:43:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:43:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:43:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:43:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 21:43:17 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 21:43:17 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 21:43:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:43:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:43:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:43:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:43:17 UTC] 📊 Database Info:
[19-Nov-2025 21:43:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:43:17 UTC]    Books columns count: 44
[19-Nov-2025 21:43:17 UTC]    Categories columns count: 7
[19-Nov-2025 21:43:17 UTC]    Language field in books: YES
[19-Nov-2025 21:43:17 UTC]    Format field in books: YES
[19-Nov-2025 21:43:17 UTC]    Description field in categories: YES
[19-Nov-2025 21:43:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:43:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:43:17 UTC]    Is_active field in books: YES
[19-Nov-2025 21:43:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:43:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:43:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:43:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:43:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:43:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:43:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:43:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:43:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:43:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:43:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:43:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:43:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:43:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:43:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:43:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:43:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:43:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:43:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:43:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:43:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:43:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:43:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:43:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:43:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:43:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:43:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:43:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:43:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:43:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:43:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:43:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:43:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:43:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:43:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:43:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:43:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:43:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:43:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:43:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:43:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:43:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:43:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:43:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:43:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:43:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:43:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:43:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:43:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:43:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:43:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:43:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:43:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:43:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:43:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:43:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:43:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:43:50 UTC] 📊 Database Info:
[19-Nov-2025 21:43:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:43:50 UTC]    Books columns count: 44
[19-Nov-2025 21:43:50 UTC]    Categories columns count: 7
[19-Nov-2025 21:43:50 UTC]    Language field in books: YES
[19-Nov-2025 21:43:50 UTC]    Format field in books: YES
[19-Nov-2025 21:43:50 UTC]    Description field in categories: YES
[19-Nov-2025 21:43:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:43:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:43:50 UTC]    Is_active field in books: YES
[19-Nov-2025 21:43:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:43:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:43:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:43:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:43:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:43:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:43:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:43:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:43:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:43:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:43:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:43:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:43:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:43:50 UTC] 📊 Database Info:
[19-Nov-2025 21:43:50 UTC] 📊 Database Info:
[19-Nov-2025 21:43:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:43:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:43:50 UTC]    Books columns count: 44
[19-Nov-2025 21:43:50 UTC]    Books columns count: 44
[19-Nov-2025 21:43:50 UTC]    Categories columns count: 7
[19-Nov-2025 21:43:50 UTC]    Categories columns count: 7
[19-Nov-2025 21:43:50 UTC]    Language field in books: YES
[19-Nov-2025 21:43:50 UTC]    Language field in books: YES
[19-Nov-2025 21:43:50 UTC]    Format field in books: YES
[19-Nov-2025 21:43:50 UTC]    Format field in books: YES
[19-Nov-2025 21:43:50 UTC]    Description field in categories: YES
[19-Nov-2025 21:43:50 UTC]    Description field in categories: YES
[19-Nov-2025 21:43:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:43:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:43:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:43:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:43:50 UTC]    Is_active field in books: YES
[19-Nov-2025 21:43:50 UTC]    Is_active field in books: YES
[19-Nov-2025 21:43:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:43:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:43:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:43:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:43:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:43:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:43:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:43:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:43:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:43:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:43:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:43:50 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:43:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:43:50 UTC] ✅ إرجاع 0 تصنيف نشط
[19-Nov-2025 21:44:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:44:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:44:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:44:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:44:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:44:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:44:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:44:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:44:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:44:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:44:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:44:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:44:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:44:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:44:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:44:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:44:54 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:44:54 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:44:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:44:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:44:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:44:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:44:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:44:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:44:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:44:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:44:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:44:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:44:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:44:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:44:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:44:54 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:44:54 UTC] 📊 Database Info:
[19-Nov-2025 21:44:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:44:54 UTC]    Books columns count: 44
[19-Nov-2025 21:44:54 UTC]    Categories columns count: 7
[19-Nov-2025 21:44:54 UTC]    Language field in books: YES
[19-Nov-2025 21:44:54 UTC]    Format field in books: YES
[19-Nov-2025 21:44:54 UTC]    Description field in categories: YES
[19-Nov-2025 21:44:54 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:44:54 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:44:54 UTC]    Is_active field in books: YES
[19-Nov-2025 21:44:54 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:44:54 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:44:54 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:44:54 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:44:54 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:44:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:44:54 UTC] 🔄 Processing category - ID: , Name: , Active: 0, Remove Image: NO
[19-Nov-2025 21:45:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:45:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:45:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:45:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:45:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:45:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:45:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:45:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:45:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:45:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:45:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:45:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:45:17 UTC] 📊 Database Info:
[19-Nov-2025 21:45:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:45:17 UTC]    Books columns count: 44
[19-Nov-2025 21:45:17 UTC]    Categories columns count: 7
[19-Nov-2025 21:45:17 UTC]    Language field in books: YES
[19-Nov-2025 21:45:17 UTC]    Format field in books: YES
[19-Nov-2025 21:45:17 UTC]    Description field in categories: YES
[19-Nov-2025 21:45:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:45:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:45:17 UTC]    Is_active field in books: YES
[19-Nov-2025 21:45:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:45:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:45:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:45:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:45:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:45:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:45:17 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 21:45:17 UTC] ✅ إرجاع 0 تصنيف
[19-Nov-2025 21:45:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:45:17 UTC] 📊 Database Info:
[19-Nov-2025 21:45:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:45:17 UTC]    Books columns count: 44
[19-Nov-2025 21:45:17 UTC]    Categories columns count: 7
[19-Nov-2025 21:45:17 UTC]    Language field in books: YES
[19-Nov-2025 21:45:17 UTC]    Format field in books: YES
[19-Nov-2025 21:45:17 UTC]    Description field in categories: YES
[19-Nov-2025 21:45:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:45:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:45:17 UTC]    Is_active field in books: YES
[19-Nov-2025 21:45:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:45:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:45:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:45:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:45:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:45:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:45:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 21:45:17 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 21:45:17 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 21:45:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:45:17 UTC] 📊 Database Info:
[19-Nov-2025 21:45:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:45:17 UTC]    Books columns count: 44
[19-Nov-2025 21:45:17 UTC]    Categories columns count: 7
[19-Nov-2025 21:45:17 UTC]    Language field in books: YES
[19-Nov-2025 21:45:17 UTC]    Format field in books: YES
[19-Nov-2025 21:45:17 UTC]    Description field in categories: YES
[19-Nov-2025 21:45:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:45:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:45:17 UTC]    Is_active field in books: YES
[19-Nov-2025 21:45:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:45:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:45:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:45:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:45:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:45:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:45:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:45:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:45:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:20 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:45:20 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:45:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:20 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:45:20 UTC] 📊 Database Info:
[19-Nov-2025 21:45:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:45:20 UTC]    Books columns count: 44
[19-Nov-2025 21:45:20 UTC]    Categories columns count: 7
[19-Nov-2025 21:45:20 UTC]    Language field in books: YES
[19-Nov-2025 21:45:20 UTC]    Format field in books: YES
[19-Nov-2025 21:45:20 UTC]    Description field in categories: YES
[19-Nov-2025 21:45:20 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:45:20 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:45:20 UTC]    Is_active field in books: YES
[19-Nov-2025 21:45:20 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:45:20 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:45:20 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:45:20 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:45:20 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:45:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:45:20 UTC] 🔄 Processing category - ID: , Name: 66, Active: 1, Remove Image: NO
[19-Nov-2025 21:45:20 UTC] 🔍 Checking for duplicate category name: '66'
[19-Nov-2025 21:45:20 UTC] ✅ No duplicate category name found
[19-Nov-2025 21:45:20 UTC] ✅ Using default category image: uploads/no-imagee.jpg
[19-Nov-2025 21:45:20 UTC] 🆕 Adding new category with active status: 1
[19-Nov-2025 21:45:20 UTC] ✅ New category added with ID: 8 and active status: 1
[19-Nov-2025 21:45:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:45:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:45:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:20 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:45:20 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:45:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:20 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:45:20 UTC] 📊 Database Info:
[19-Nov-2025 21:45:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:45:20 UTC]    Books columns count: 44
[19-Nov-2025 21:45:20 UTC]    Categories columns count: 7
[19-Nov-2025 21:45:20 UTC]    Language field in books: YES
[19-Nov-2025 21:45:20 UTC]    Format field in books: YES
[19-Nov-2025 21:45:20 UTC]    Description field in categories: YES
[19-Nov-2025 21:45:20 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:45:20 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:45:20 UTC]    Is_active field in books: YES
[19-Nov-2025 21:45:20 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:45:20 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:45:20 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:45:20 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:45:20 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:45:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:45:20 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 21:45:20 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 21:45:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:45:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:45:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:45:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:45:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:28 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:45:28 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:45:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:45:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:45:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:28 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:45:28 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:45:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:28 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:45:28 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:45:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:29 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:29 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:29 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:29 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:29 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:29 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:29 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:29 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:29 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:29 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:29 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:45:29 UTC] 📊 Database Info:
[19-Nov-2025 21:45:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:45:29 UTC]    Books columns count: 44
[19-Nov-2025 21:45:29 UTC]    Categories columns count: 7
[19-Nov-2025 21:45:29 UTC]    Language field in books: YES
[19-Nov-2025 21:45:29 UTC]    Format field in books: YES
[19-Nov-2025 21:45:29 UTC]    Description field in categories: YES
[19-Nov-2025 21:45:29 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:45:29 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:45:29 UTC]    Is_active field in books: YES
[19-Nov-2025 21:45:29 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:45:29 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:45:29 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:45:29 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:45:29 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:45:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:45:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:29 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:45:29 UTC] 📊 Database Info:
[19-Nov-2025 21:45:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:45:29 UTC]    Books columns count: 44
[19-Nov-2025 21:45:29 UTC]    Categories columns count: 7
[19-Nov-2025 21:45:29 UTC]    Language field in books: YES
[19-Nov-2025 21:45:29 UTC]    Format field in books: YES
[19-Nov-2025 21:45:29 UTC]    Description field in categories: YES
[19-Nov-2025 21:45:29 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:45:29 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:45:29 UTC]    Is_active field in books: YES
[19-Nov-2025 21:45:29 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:45:29 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:45:29 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:45:29 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:45:29 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:45:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:45:29 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:45:29 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:45:29 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:29 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:29 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:29 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:29 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:29 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:45:29 UTC] 📊 Database Info:
[19-Nov-2025 21:45:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:45:29 UTC]    Books columns count: 44
[19-Nov-2025 21:45:29 UTC]    Categories columns count: 7
[19-Nov-2025 21:45:29 UTC]    Language field in books: YES
[19-Nov-2025 21:45:29 UTC]    Format field in books: YES
[19-Nov-2025 21:45:29 UTC]    Description field in categories: YES
[19-Nov-2025 21:45:29 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:45:29 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:45:29 UTC]    Is_active field in books: YES
[19-Nov-2025 21:45:29 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:45:29 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:45:29 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:45:29 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:45:29 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:45:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:45:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:45:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:45:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:45:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:45:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:30 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:45:30 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:45:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:45:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:30 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:45:30 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:45:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:30 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:45:30 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:45:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:45:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:45:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:45:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:30 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:45:30 UTC] 📊 Database Info:
[19-Nov-2025 21:45:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:45:30 UTC]    Books columns count: 44
[19-Nov-2025 21:45:30 UTC]    Categories columns count: 7
[19-Nov-2025 21:45:30 UTC]    Language field in books: YES
[19-Nov-2025 21:45:30 UTC]    Format field in books: YES
[19-Nov-2025 21:45:30 UTC]    Description field in categories: YES
[19-Nov-2025 21:45:30 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:45:30 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:45:30 UTC]    Is_active field in books: YES
[19-Nov-2025 21:45:30 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:45:30 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:45:30 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:45:30 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:45:30 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:45:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:45:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:45:30 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:45:30 UTC] 📊 Database Info:
[19-Nov-2025 21:45:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:45:30 UTC]    Books columns count: 44
[19-Nov-2025 21:45:30 UTC]    Categories columns count: 7
[19-Nov-2025 21:45:30 UTC]    Language field in books: YES
[19-Nov-2025 21:45:30 UTC]    Format field in books: YES
[19-Nov-2025 21:45:30 UTC]    Description field in categories: YES
[19-Nov-2025 21:45:30 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:45:30 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:45:30 UTC]    Is_active field in books: YES
[19-Nov-2025 21:45:30 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:45:30 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:45:30 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:45:30 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:45:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:45:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:45:30 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:45:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:45:30 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:45:30 UTC] 📊 Database Info:
[19-Nov-2025 21:45:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:45:30 UTC]    Books columns count: 44
[19-Nov-2025 21:45:30 UTC]    Categories columns count: 7
[19-Nov-2025 21:45:30 UTC]    Language field in books: YES
[19-Nov-2025 21:45:30 UTC]    Format field in books: YES
[19-Nov-2025 21:45:30 UTC]    Description field in categories: YES
[19-Nov-2025 21:45:30 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:45:30 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:45:30 UTC]    Is_active field in books: YES
[19-Nov-2025 21:45:30 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:45:30 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:45:30 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:45:30 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:45:30 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:45:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:45:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:45:30 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:45:30 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:47:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:47:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:47:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:47:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:47:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:47:32 UTC] 📊 Database Info:
[19-Nov-2025 21:47:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:47:32 UTC]    Books columns count: 44
[19-Nov-2025 21:47:32 UTC]    Categories columns count: 7
[19-Nov-2025 21:47:32 UTC]    Language field in books: YES
[19-Nov-2025 21:47:32 UTC]    Format field in books: YES
[19-Nov-2025 21:47:32 UTC]    Description field in categories: YES
[19-Nov-2025 21:47:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:47:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:47:32 UTC]    Is_active field in books: YES
[19-Nov-2025 21:47:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:47:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:47:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:47:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:47:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:47:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:47:32 UTC] 🔄 Processing category - ID: 8, Name: 66, Active: 1, Remove Image: NO
[19-Nov-2025 21:47:32 UTC] 🔍 Checking for duplicate category name: '66'
[19-Nov-2025 21:47:32 UTC] ✅ No duplicate category name found
[19-Nov-2025 21:47:32 UTC] ✅ New image uploaded: uploads/images/691e3af40a52f_1763588852.jpg
[19-Nov-2025 21:47:32 UTC] 🔄 Updating existing category ID: 8
[19-Nov-2025 21:47:32 UTC] ✅ Category updated with new image and active status: 1
[19-Nov-2025 21:47:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:47:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:47:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:32 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:47:32 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:47:32 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:32 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:32 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:32 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:32 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:32 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:32 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:32 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:32 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:32 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:32 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:32 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:32 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:32 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:47:32 UTC] 📊 Database Info:
[19-Nov-2025 21:47:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:47:32 UTC]    Books columns count: 44
[19-Nov-2025 21:47:32 UTC]    Categories columns count: 7
[19-Nov-2025 21:47:32 UTC]    Language field in books: YES
[19-Nov-2025 21:47:32 UTC]    Format field in books: YES
[19-Nov-2025 21:47:32 UTC]    Description field in categories: YES
[19-Nov-2025 21:47:32 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:47:32 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:47:32 UTC]    Is_active field in books: YES
[19-Nov-2025 21:47:32 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:47:32 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:47:32 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:47:32 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:47:32 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:47:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:47:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 21:47:32 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 21:47:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:47:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:47:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:47:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:33 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:33 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:33 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:33 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:33 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:33 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:33 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:33 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:33 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:33 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:33 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:47:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:47:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:47:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:47:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:47:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:47:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:34 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:47:34 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:47:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:34 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:34 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:34 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:34 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:34 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:34 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:34 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:34 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:47:34 UTC] 📊 Database Info:
[19-Nov-2025 21:47:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:47:34 UTC]    Books columns count: 44
[19-Nov-2025 21:47:34 UTC]    Categories columns count: 7
[19-Nov-2025 21:47:34 UTC]    Language field in books: YES
[19-Nov-2025 21:47:34 UTC]    Format field in books: YES
[19-Nov-2025 21:47:34 UTC]    Description field in categories: YES
[19-Nov-2025 21:47:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:47:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:47:34 UTC]    Is_active field in books: YES
[19-Nov-2025 21:47:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:47:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:47:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:47:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:47:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:47:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:47:34 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 21:47:34 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 21:47:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:47:34 UTC] 📊 Database Info:
[19-Nov-2025 21:47:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:47:34 UTC]    Books columns count: 44
[19-Nov-2025 21:47:34 UTC]    Categories columns count: 7
[19-Nov-2025 21:47:34 UTC]    Language field in books: YES
[19-Nov-2025 21:47:34 UTC]    Format field in books: YES
[19-Nov-2025 21:47:34 UTC]    Description field in categories: YES
[19-Nov-2025 21:47:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:47:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:47:34 UTC]    Is_active field in books: YES
[19-Nov-2025 21:47:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:47:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:47:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:47:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:47:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:47:34 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:47:34 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:34 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:47:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:47:34 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:47:34 UTC] 📊 Database Info:
[19-Nov-2025 21:47:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:47:34 UTC]    Books columns count: 44
[19-Nov-2025 21:47:34 UTC]    Categories columns count: 7
[19-Nov-2025 21:47:34 UTC]    Language field in books: YES
[19-Nov-2025 21:47:34 UTC]    Format field in books: YES
[19-Nov-2025 21:47:34 UTC]    Description field in categories: YES
[19-Nov-2025 21:47:34 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:47:34 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:47:34 UTC]    Is_active field in books: YES
[19-Nov-2025 21:47:34 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:47:34 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:47:34 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:47:34 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:47:34 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:47:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:47:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 21:47:34 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 21:47:34 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 21:47:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:47:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:47:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:47:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:47:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:40 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:47:40 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:47:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:47:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:47:40 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:47:40 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:47:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:40 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:47:40 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:47:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:40 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:47:40 UTC] 📊 Database Info:
[19-Nov-2025 21:47:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:47:40 UTC]    Books columns count: 44
[19-Nov-2025 21:47:40 UTC]    Categories columns count: 7
[19-Nov-2025 21:47:40 UTC]    Language field in books: YES
[19-Nov-2025 21:47:40 UTC]    Format field in books: YES
[19-Nov-2025 21:47:40 UTC]    Description field in categories: YES
[19-Nov-2025 21:47:40 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:47:40 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:47:40 UTC]    Is_active field in books: YES
[19-Nov-2025 21:47:40 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:47:40 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:47:40 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:47:40 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:47:40 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:47:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:47:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:40 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:47:40 UTC] 📊 Database Info:
[19-Nov-2025 21:47:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:47:40 UTC]    Books columns count: 44
[19-Nov-2025 21:47:40 UTC]    Categories columns count: 7
[19-Nov-2025 21:47:40 UTC]    Language field in books: YES
[19-Nov-2025 21:47:40 UTC]    Format field in books: YES
[19-Nov-2025 21:47:40 UTC]    Description field in categories: YES
[19-Nov-2025 21:47:40 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:47:40 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:47:40 UTC]    Is_active field in books: YES
[19-Nov-2025 21:47:40 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:47:40 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:47:40 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:47:40 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:47:40 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:47:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:47:40 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:47:40 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:47:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:40 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:47:40 UTC] 📊 Database Info:
[19-Nov-2025 21:47:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:47:40 UTC]    Books columns count: 44
[19-Nov-2025 21:47:40 UTC]    Categories columns count: 7
[19-Nov-2025 21:47:40 UTC]    Language field in books: YES
[19-Nov-2025 21:47:40 UTC]    Format field in books: YES
[19-Nov-2025 21:47:40 UTC]    Description field in categories: YES
[19-Nov-2025 21:47:40 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:47:40 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:47:40 UTC]    Is_active field in books: YES
[19-Nov-2025 21:47:40 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:47:40 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:47:40 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:47:40 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:47:40 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:47:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:47:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:47:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:47:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:47:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:47:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:47:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:47:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:47:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:47:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:47:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:47:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:42 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:47:42 UTC] 📊 Database Info:
[19-Nov-2025 21:47:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:47:42 UTC]    Books columns count: 44
[19-Nov-2025 21:47:42 UTC]    Categories columns count: 7
[19-Nov-2025 21:47:42 UTC]    Language field in books: YES
[19-Nov-2025 21:47:42 UTC]    Format field in books: YES
[19-Nov-2025 21:47:42 UTC]    Description field in categories: YES
[19-Nov-2025 21:47:42 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:47:42 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:47:42 UTC]    Is_active field in books: YES
[19-Nov-2025 21:47:42 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:47:42 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:47:42 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:47:42 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:47:42 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:47:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:47:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:42 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:47:42 UTC] 📊 Database Info:
[19-Nov-2025 21:47:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:47:42 UTC]    Books columns count: 44
[19-Nov-2025 21:47:42 UTC]    Categories columns count: 7
[19-Nov-2025 21:47:42 UTC]    Language field in books: YES
[19-Nov-2025 21:47:42 UTC]    Format field in books: YES
[19-Nov-2025 21:47:42 UTC]    Description field in categories: YES
[19-Nov-2025 21:47:42 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:47:42 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:47:42 UTC]    Is_active field in books: YES
[19-Nov-2025 21:47:42 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:47:42 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:47:42 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:47:42 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:47:42 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:47:42 UTC] 📊 Database Info:
[19-Nov-2025 21:47:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:47:42 UTC]    Books columns count: 44
[19-Nov-2025 21:47:42 UTC]    Categories columns count: 7
[19-Nov-2025 21:47:42 UTC]    Language field in books: YES
[19-Nov-2025 21:47:42 UTC]    Format field in books: YES
[19-Nov-2025 21:47:42 UTC]    Description field in categories: YES
[19-Nov-2025 21:47:42 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:47:42 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:47:42 UTC]    Is_active field in books: YES
[19-Nov-2025 21:47:42 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:47:42 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:47:42 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:47:42 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:47:42 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:47:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:47:42 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:47:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:47:42 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:47:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:47:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:47:44 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:47:44 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:44 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:44 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:44 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:44 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:44 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:44 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:44 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:47:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:44 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:47:44 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:47:44 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:44 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:44 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:44 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:44 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:47:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:44 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:47:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:44 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:47:44 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:47:44 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:44 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:47:44 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:44 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:44 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:44 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:44 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:44 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:44 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:44 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:44 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:44 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:44 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:44 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:47:44 UTC] 📊 Database Info:
[19-Nov-2025 21:47:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:47:44 UTC]    Books columns count: 44
[19-Nov-2025 21:47:44 UTC]    Categories columns count: 7
[19-Nov-2025 21:47:44 UTC]    Language field in books: YES
[19-Nov-2025 21:47:44 UTC]    Format field in books: YES
[19-Nov-2025 21:47:44 UTC]    Description field in categories: YES
[19-Nov-2025 21:47:44 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:47:44 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:47:44 UTC]    Is_active field in books: YES
[19-Nov-2025 21:47:44 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:47:44 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:47:44 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:47:44 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:47:44 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:47:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:47:44 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:47:44 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:47:44 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:44 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:44 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:47:44 UTC] 📊 Database Info:
[19-Nov-2025 21:47:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:47:44 UTC]    Books columns count: 44
[19-Nov-2025 21:47:44 UTC]    Categories columns count: 7
[19-Nov-2025 21:47:44 UTC]    Language field in books: YES
[19-Nov-2025 21:47:44 UTC]    Format field in books: YES
[19-Nov-2025 21:47:44 UTC]    Description field in categories: YES
[19-Nov-2025 21:47:44 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:47:44 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:47:44 UTC]    Is_active field in books: YES
[19-Nov-2025 21:47:44 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:47:44 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:47:44 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:47:44 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:47:44 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:47:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:47:44 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:44 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:44 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:44 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:47:44 UTC] 📊 Database Info:
[19-Nov-2025 21:47:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:47:44 UTC]    Books columns count: 44
[19-Nov-2025 21:47:44 UTC]    Categories columns count: 7
[19-Nov-2025 21:47:44 UTC]    Language field in books: YES
[19-Nov-2025 21:47:44 UTC]    Format field in books: YES
[19-Nov-2025 21:47:44 UTC]    Description field in categories: YES
[19-Nov-2025 21:47:44 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:47:44 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:47:44 UTC]    Is_active field in books: YES
[19-Nov-2025 21:47:44 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:47:44 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:47:44 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:47:44 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:47:44 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:47:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:47:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:47:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:47:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:47:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:47:46 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:47:46 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:47:46 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:47:46 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:47:46 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:47:46 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:47:46 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:47:46 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:47:46 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:47:46 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:47:46 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:47:46 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:47:46 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:47:46 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:47:46 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:47:46 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:47:46 UTC] 📊 Database Info:
[19-Nov-2025 21:47:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:47:46 UTC]    Books columns count: 44
[19-Nov-2025 21:47:46 UTC]    Categories columns count: 7
[19-Nov-2025 21:47:46 UTC]    Language field in books: YES
[19-Nov-2025 21:47:46 UTC]    Format field in books: YES
[19-Nov-2025 21:47:46 UTC]    Description field in categories: YES
[19-Nov-2025 21:47:46 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:47:46 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:47:46 UTC]    Is_active field in books: YES
[19-Nov-2025 21:47:46 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:47:46 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:47:46 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:47:46 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:47:46 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:47:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:48:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:48:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:48:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:48:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:48:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:48:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:48:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:48:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:48:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:48:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:48:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:48:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:48:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:48:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:48:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:48:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:48:39 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:48:39 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:48:39 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:48:39 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:48:39 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:48:39 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:48:39 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:48:39 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:48:39 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:48:39 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:48:39 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:48:39 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:48:39 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:48:39 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:48:39 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:48:39 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:48:39 UTC] 📊 Database Info:
[19-Nov-2025 21:48:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:48:39 UTC]    Books columns count: 44
[19-Nov-2025 21:48:39 UTC]    Categories columns count: 7
[19-Nov-2025 21:48:39 UTC]    Language field in books: YES
[19-Nov-2025 21:48:39 UTC]    Format field in books: YES
[19-Nov-2025 21:48:39 UTC]    Description field in categories: YES
[19-Nov-2025 21:48:39 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:48:39 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:48:39 UTC]    Is_active field in books: YES
[19-Nov-2025 21:48:39 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:48:39 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:48:39 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:48:39 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:48:39 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:48:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:48:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:48:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:48:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:48:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:48:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:48:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:48:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:48:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:48:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:48:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:48:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:48:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:48:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:48:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:48:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:48:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:48:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:48:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:48:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:48:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:48:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:48:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:48:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:48:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:48:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:48:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:48:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:48:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:48:40 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:48:40 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:48:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:48:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:48:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:48:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:48:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:48:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:48:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:48:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:48:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:48:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:48:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:48:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:48:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:48:40 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:48:40 UTC] 📊 Database Info:
[19-Nov-2025 21:48:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:48:40 UTC]    Books columns count: 44
[19-Nov-2025 21:48:40 UTC]    Categories columns count: 7
[19-Nov-2025 21:48:40 UTC]    Language field in books: YES
[19-Nov-2025 21:48:40 UTC]    Format field in books: YES
[19-Nov-2025 21:48:40 UTC]    Description field in categories: YES
[19-Nov-2025 21:48:40 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:48:40 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:48:40 UTC]    Is_active field in books: YES
[19-Nov-2025 21:48:40 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:48:40 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:48:40 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:48:40 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:48:40 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:48:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:48:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:48:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:48:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:48:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:48:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:48:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:48:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:48:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:48:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:48:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:48:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:48:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:48:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:48:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:48:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:48:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:48:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:48:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:48:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:48:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:48:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:48:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:48:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:48:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:48:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:48:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:48:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:48:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:48:59 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:48:59 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:48:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:48:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:48:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:48:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:48:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:48:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:48:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:48:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:48:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:48:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:48:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:48:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:48:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:48:59 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:48:59 UTC] 📊 Database Info:
[19-Nov-2025 21:48:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:48:59 UTC]    Books columns count: 44
[19-Nov-2025 21:48:59 UTC]    Categories columns count: 7
[19-Nov-2025 21:48:59 UTC]    Language field in books: YES
[19-Nov-2025 21:48:59 UTC]    Format field in books: YES
[19-Nov-2025 21:48:59 UTC]    Description field in categories: YES
[19-Nov-2025 21:48:59 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:48:59 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:48:59 UTC]    Is_active field in books: YES
[19-Nov-2025 21:48:59 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:48:59 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:48:59 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:48:59 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:48:59 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:48:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:51:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:51:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:51:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:51:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:51:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:51:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:51:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:51:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:51:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:51:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:51:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:51:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:51:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:51:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:51:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:51:30 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:51:30 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:51:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:51:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:51:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:51:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:51:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:51:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:51:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:51:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:51:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:51:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:51:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:51:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:51:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:51:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:51:30 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:51:30 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:51:30 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:51:30 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:51:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:51:30 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:51:30 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:51:30 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:51:30 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:51:30 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:51:30 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:51:30 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:51:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:51:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:51:30 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:51:30 UTC] 📊 Database Info:
[19-Nov-2025 21:51:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:51:30 UTC]    Books columns count: 44
[19-Nov-2025 21:51:30 UTC]    Categories columns count: 7
[19-Nov-2025 21:51:30 UTC]    Language field in books: YES
[19-Nov-2025 21:51:30 UTC]    Format field in books: YES
[19-Nov-2025 21:51:30 UTC]    Description field in categories: YES
[19-Nov-2025 21:51:30 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:51:30 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:51:30 UTC]    Is_active field in books: YES
[19-Nov-2025 21:51:30 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:51:30 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:51:30 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:51:30 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:51:30 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:51:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:51:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:51:30 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:51:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:51:30 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:51:30 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:51:30 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:51:30 UTC] 📊 Database Info:
[19-Nov-2025 21:51:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:51:30 UTC]    Books columns count: 44
[19-Nov-2025 21:51:30 UTC]    Categories columns count: 7
[19-Nov-2025 21:51:30 UTC]    Language field in books: YES
[19-Nov-2025 21:51:30 UTC]    Format field in books: YES
[19-Nov-2025 21:51:30 UTC]    Description field in categories: YES
[19-Nov-2025 21:51:30 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:51:30 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:51:30 UTC]    Is_active field in books: YES
[19-Nov-2025 21:51:30 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:51:30 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:51:30 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:51:30 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:51:30 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:51:30 UTC] 📊 Database Info:
[19-Nov-2025 21:51:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:51:30 UTC]    Books columns count: 44
[19-Nov-2025 21:51:30 UTC]    Categories columns count: 7
[19-Nov-2025 21:51:30 UTC]    Language field in books: YES
[19-Nov-2025 21:51:30 UTC]    Format field in books: YES
[19-Nov-2025 21:51:30 UTC]    Description field in categories: YES
[19-Nov-2025 21:51:30 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:51:30 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:51:30 UTC]    Is_active field in books: YES
[19-Nov-2025 21:51:30 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:51:30 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:51:30 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:51:30 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:51:30 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:51:30 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:51:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:51:30 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:51:30 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:51:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:51:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:51:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:51:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:51:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:51:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:51:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:51:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:51:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:51:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:51:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:51:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:51:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:51:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:51:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:51:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:51:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:51:40 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:51:40 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:51:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:51:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:51:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:51:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:51:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:51:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:51:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:51:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:51:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:51:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:51:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:51:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:51:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:51:40 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:51:40 UTC] 📊 Database Info:
[19-Nov-2025 21:51:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:51:40 UTC]    Books columns count: 44
[19-Nov-2025 21:51:40 UTC]    Categories columns count: 7
[19-Nov-2025 21:51:40 UTC]    Language field in books: YES
[19-Nov-2025 21:51:40 UTC]    Format field in books: YES
[19-Nov-2025 21:51:40 UTC]    Description field in categories: YES
[19-Nov-2025 21:51:40 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:51:40 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:51:40 UTC]    Is_active field in books: YES
[19-Nov-2025 21:51:40 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:51:40 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:51:40 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:51:40 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:51:40 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:51:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:51:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:51:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:51:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:51:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:51:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:51:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:51:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:51:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:51:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:51:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:51:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:51:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:54:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:54:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:54:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:54:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:54:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:54:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:54:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:54:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:54:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:54:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:54:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:54:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:54:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:54:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:54:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:54:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:54:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:54:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:54:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:54:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:54:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:54:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:54:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:54:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:54:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:54:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:54:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:54:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:54:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:54:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:54:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:54:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:54:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:54:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:54:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:54:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:54:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:54:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:54:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:54:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:54:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:54:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:54:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:54:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:54:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:54:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:54:56 UTC] 📊 Database Info:
[19-Nov-2025 21:54:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:54:56 UTC]    Books columns count: 44
[19-Nov-2025 21:54:56 UTC]    Categories columns count: 7
[19-Nov-2025 21:54:56 UTC]    Language field in books: YES
[19-Nov-2025 21:54:56 UTC]    Format field in books: YES
[19-Nov-2025 21:54:56 UTC]    Description field in categories: YES
[19-Nov-2025 21:54:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:54:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:54:56 UTC]    Is_active field in books: YES
[19-Nov-2025 21:54:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:54:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:54:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:54:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:54:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:54:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:54:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:54:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:54:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:54:56 UTC] 📊 Database Info:
[19-Nov-2025 21:54:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:54:56 UTC]    Books columns count: 44
[19-Nov-2025 21:54:56 UTC]    Categories columns count: 7
[19-Nov-2025 21:54:56 UTC]    Language field in books: YES
[19-Nov-2025 21:54:56 UTC]    Format field in books: YES
[19-Nov-2025 21:54:56 UTC]    Description field in categories: YES
[19-Nov-2025 21:54:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:54:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:54:56 UTC]    Is_active field in books: YES
[19-Nov-2025 21:54:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:54:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:54:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:54:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:54:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:54:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:54:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:54:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:54:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:54:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:54:56 UTC] 📊 Database Info:
[19-Nov-2025 21:54:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:54:56 UTC]    Books columns count: 44
[19-Nov-2025 21:54:56 UTC]    Categories columns count: 7
[19-Nov-2025 21:54:56 UTC]    Language field in books: YES
[19-Nov-2025 21:54:56 UTC]    Format field in books: YES
[19-Nov-2025 21:54:56 UTC]    Description field in categories: YES
[19-Nov-2025 21:54:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:54:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:54:56 UTC]    Is_active field in books: YES
[19-Nov-2025 21:54:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:54:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:54:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:54:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:54:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:54:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:54:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:54:56 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:54:56 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:55:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:01 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:01 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:01 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:01 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:01 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:01 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:01 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:01 UTC] 📊 Database Info:
[19-Nov-2025 21:55:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:01 UTC]    Books columns count: 44
[19-Nov-2025 21:55:01 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:01 UTC]    Language field in books: YES
[19-Nov-2025 21:55:01 UTC]    Format field in books: YES
[19-Nov-2025 21:55:01 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:01 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:01 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:01 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:01 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:01 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:01 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:01 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:01 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:01 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:55:01 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:55:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:01 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:01 UTC] 📊 Database Info:
[19-Nov-2025 21:55:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:01 UTC]    Books columns count: 44
[19-Nov-2025 21:55:01 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:01 UTC]    Language field in books: YES
[19-Nov-2025 21:55:01 UTC]    Format field in books: YES
[19-Nov-2025 21:55:01 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:01 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:01 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:01 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:01 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:01 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:01 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:01 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:01 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:01 UTC] 📊 Database Info:
[19-Nov-2025 21:55:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:01 UTC]    Books columns count: 44
[19-Nov-2025 21:55:01 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:01 UTC]    Language field in books: YES
[19-Nov-2025 21:55:01 UTC]    Format field in books: YES
[19-Nov-2025 21:55:01 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:01 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:01 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:01 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:01 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:01 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:01 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:01 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:01 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:03 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:03 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:03 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:03 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:03 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:03 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:03 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:03 UTC] 📊 Database Info:
[19-Nov-2025 21:55:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:03 UTC]    Books columns count: 44
[19-Nov-2025 21:55:03 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:03 UTC]    Language field in books: YES
[19-Nov-2025 21:55:03 UTC]    Format field in books: YES
[19-Nov-2025 21:55:03 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:03 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:03 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:03 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:03 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:03 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:03 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:03 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:03 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:03 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:03 UTC] 📊 Database Info:
[19-Nov-2025 21:55:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:03 UTC]    Books columns count: 44
[19-Nov-2025 21:55:03 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:03 UTC]    Language field in books: YES
[19-Nov-2025 21:55:03 UTC]    Format field in books: YES
[19-Nov-2025 21:55:03 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:03 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:03 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:03 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:03 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:03 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:03 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:03 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:03 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:03 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:55:03 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:55:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:03 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:03 UTC] 📊 Database Info:
[19-Nov-2025 21:55:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:03 UTC]    Books columns count: 44
[19-Nov-2025 21:55:03 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:03 UTC]    Language field in books: YES
[19-Nov-2025 21:55:03 UTC]    Format field in books: YES
[19-Nov-2025 21:55:03 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:03 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:03 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:03 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:03 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:03 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:03 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:03 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:03 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:05 UTC] 📊 Database Info:
[19-Nov-2025 21:55:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:05 UTC]    Books columns count: 44
[19-Nov-2025 21:55:05 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:05 UTC]    Language field in books: YES
[19-Nov-2025 21:55:05 UTC]    Format field in books: YES
[19-Nov-2025 21:55:05 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:05 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:05 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:55:05 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:55:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:05 UTC] 📊 Database Info:
[19-Nov-2025 21:55:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:05 UTC]    Books columns count: 44
[19-Nov-2025 21:55:05 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:05 UTC]    Language field in books: YES
[19-Nov-2025 21:55:05 UTC]    Format field in books: YES
[19-Nov-2025 21:55:05 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:05 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:05 UTC] 📊 Database Info:
[19-Nov-2025 21:55:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:05 UTC]    Books columns count: 44
[19-Nov-2025 21:55:05 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:05 UTC]    Language field in books: YES
[19-Nov-2025 21:55:05 UTC]    Format field in books: YES
[19-Nov-2025 21:55:05 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:05 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:06 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:06 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:06 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:06 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:06 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:06 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:06 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:06 UTC] 📊 Database Info:
[19-Nov-2025 21:55:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:06 UTC]    Books columns count: 44
[19-Nov-2025 21:55:06 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:06 UTC]    Language field in books: YES
[19-Nov-2025 21:55:06 UTC]    Format field in books: YES
[19-Nov-2025 21:55:06 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:06 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:06 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:06 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:06 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:06 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:06 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:06 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:06 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:06 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:06 UTC] 📊 Database Info:
[19-Nov-2025 21:55:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:06 UTC]    Books columns count: 44
[19-Nov-2025 21:55:06 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:06 UTC]    Language field in books: YES
[19-Nov-2025 21:55:06 UTC]    Format field in books: YES
[19-Nov-2025 21:55:06 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:06 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:06 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:06 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:06 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:06 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:06 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:06 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:06 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:06 UTC] 📊 Database Info:
[19-Nov-2025 21:55:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:06 UTC]    Books columns count: 44
[19-Nov-2025 21:55:06 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:06 UTC]    Language field in books: YES
[19-Nov-2025 21:55:06 UTC]    Format field in books: YES
[19-Nov-2025 21:55:06 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:06 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:06 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:06 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:06 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:06 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:06 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:06 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:06 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:06 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:06 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:06 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:55:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:08 UTC] 📊 Database Info:
[19-Nov-2025 21:55:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:08 UTC]    Books columns count: 44
[19-Nov-2025 21:55:08 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:08 UTC]    Language field in books: YES
[19-Nov-2025 21:55:08 UTC]    Format field in books: YES
[19-Nov-2025 21:55:08 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:08 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:08 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:55:08 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:55:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:08 UTC] 📊 Database Info:
[19-Nov-2025 21:55:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:08 UTC]    Books columns count: 44
[19-Nov-2025 21:55:08 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:08 UTC]    Language field in books: YES
[19-Nov-2025 21:55:08 UTC]    Format field in books: YES
[19-Nov-2025 21:55:08 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:08 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:08 UTC] 📊 Database Info:
[19-Nov-2025 21:55:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:08 UTC]    Books columns count: 44
[19-Nov-2025 21:55:08 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:08 UTC]    Language field in books: YES
[19-Nov-2025 21:55:08 UTC]    Format field in books: YES
[19-Nov-2025 21:55:08 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:08 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:10 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:10 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:10 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:10 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:10 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:10 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:10 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:10 UTC] 📊 Database Info:
[19-Nov-2025 21:55:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:10 UTC]    Books columns count: 44
[19-Nov-2025 21:55:10 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:10 UTC]    Language field in books: YES
[19-Nov-2025 21:55:10 UTC]    Format field in books: YES
[19-Nov-2025 21:55:10 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:10 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:10 UTC] 📊 Database Info:
[19-Nov-2025 21:55:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:10 UTC]    Books columns count: 44
[19-Nov-2025 21:55:10 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:10 UTC]    Language field in books: YES
[19-Nov-2025 21:55:10 UTC]    Format field in books: YES
[19-Nov-2025 21:55:10 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:10 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:10 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:10 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:10 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:10 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:10 UTC] 📊 Database Info:
[19-Nov-2025 21:55:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:10 UTC]    Books columns count: 44
[19-Nov-2025 21:55:10 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:10 UTC]    Language field in books: YES
[19-Nov-2025 21:55:10 UTC]    Format field in books: YES
[19-Nov-2025 21:55:10 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:10 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:10 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:10 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:10 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:10 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:10 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:10 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:10 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:10 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:55:10 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:55:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:12 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:12 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:12 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:12 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:12 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:12 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:12 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:12 UTC] 📊 Database Info:
[19-Nov-2025 21:55:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:12 UTC]    Books columns count: 44
[19-Nov-2025 21:55:12 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:12 UTC]    Language field in books: YES
[19-Nov-2025 21:55:12 UTC]    Format field in books: YES
[19-Nov-2025 21:55:12 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:12 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:12 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:12 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:12 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:12 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:12 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:12 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:12 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:12 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:12 UTC] 📊 Database Info:
[19-Nov-2025 21:55:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:12 UTC]    Books columns count: 44
[19-Nov-2025 21:55:12 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:12 UTC]    Language field in books: YES
[19-Nov-2025 21:55:12 UTC]    Format field in books: YES
[19-Nov-2025 21:55:12 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:12 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:12 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:12 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:12 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:12 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:12 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:12 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:12 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:12 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:55:12 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:55:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:12 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:12 UTC] 📊 Database Info:
[19-Nov-2025 21:55:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:12 UTC]    Books columns count: 44
[19-Nov-2025 21:55:12 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:12 UTC]    Language field in books: YES
[19-Nov-2025 21:55:12 UTC]    Format field in books: YES
[19-Nov-2025 21:55:12 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:12 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:12 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:12 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:12 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:12 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:12 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:12 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:12 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:14 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:14 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:14 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:14 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:14 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:14 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:14 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:14 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:14 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:14 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:14 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:14 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:14 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:14 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:14 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:14 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:14 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:14 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:14 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:14 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:14 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:14 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:14 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:14 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:14 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:14 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:14 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:14 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:14 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:14 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:14 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:14 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:14 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:14 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:14 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:14 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:14 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:14 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:14 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:14 UTC] 📊 Database Info:
[19-Nov-2025 21:55:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:14 UTC]    Books columns count: 44
[19-Nov-2025 21:55:14 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:14 UTC]    Language field in books: YES
[19-Nov-2025 21:55:14 UTC]    Format field in books: YES
[19-Nov-2025 21:55:14 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:14 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:14 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:14 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:14 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:14 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:14 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:14 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:14 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:14 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:14 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:14 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:14 UTC] 📊 Database Info:
[19-Nov-2025 21:55:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:14 UTC]    Books columns count: 44
[19-Nov-2025 21:55:14 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:14 UTC]    Language field in books: YES
[19-Nov-2025 21:55:14 UTC]    Format field in books: YES
[19-Nov-2025 21:55:14 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:14 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:14 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:14 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:14 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:14 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:14 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:14 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:14 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:14 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:55:14 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:55:14 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:14 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:14 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:14 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:14 UTC] 📊 Database Info:
[19-Nov-2025 21:55:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:14 UTC]    Books columns count: 44
[19-Nov-2025 21:55:14 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:14 UTC]    Language field in books: YES
[19-Nov-2025 21:55:14 UTC]    Format field in books: YES
[19-Nov-2025 21:55:14 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:14 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:14 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:14 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:14 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:14 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:14 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:14 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:14 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:55:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:55:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:55:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:15 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:55:15 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:55:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:15 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:15 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:55:15 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:55:15 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:55:15 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:55:15 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:55:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:15 UTC] 📊 Database Info:
[19-Nov-2025 21:55:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:15 UTC]    Books columns count: 44
[19-Nov-2025 21:55:15 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:15 UTC]    Language field in books: YES
[19-Nov-2025 21:55:15 UTC]    Format field in books: YES
[19-Nov-2025 21:55:15 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:15 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:15 UTC] 📊 Database Info:
[19-Nov-2025 21:55:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:15 UTC]    Books columns count: 44
[19-Nov-2025 21:55:15 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:15 UTC]    Language field in books: YES
[19-Nov-2025 21:55:15 UTC]    Format field in books: YES
[19-Nov-2025 21:55:15 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:15 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:15 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:55:15 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:55:15 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:55:15 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:55:15 UTC] 📊 Database Info:
[19-Nov-2025 21:55:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:55:15 UTC]    Books columns count: 44
[19-Nov-2025 21:55:15 UTC]    Categories columns count: 7
[19-Nov-2025 21:55:15 UTC]    Language field in books: YES
[19-Nov-2025 21:55:15 UTC]    Format field in books: YES
[19-Nov-2025 21:55:15 UTC]    Description field in categories: YES
[19-Nov-2025 21:55:15 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:55:15 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:55:15 UTC]    Is_active field in books: YES
[19-Nov-2025 21:55:15 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:55:15 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:55:15 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:55:15 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:55:15 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:55:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:55:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:55:15 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:55:15 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:56:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:56:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:56:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:56:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:56:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:56:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:56:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:56:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:56:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:56:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:56:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:56:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:56:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:56:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:56:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:56:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:56:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:56:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:56:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:56:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:56:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:56:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:56:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:56:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:56:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:56:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:56:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:56:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:56:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:56:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:56:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:56:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:56:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:56:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:56:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:56:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:56:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:56:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:56:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:56:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:56:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:56:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:56:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:56:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:56:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:56:52 UTC] 📊 Database Info:
[19-Nov-2025 21:56:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:56:52 UTC]    Books columns count: 44
[19-Nov-2025 21:56:52 UTC]    Categories columns count: 7
[19-Nov-2025 21:56:52 UTC]    Language field in books: YES
[19-Nov-2025 21:56:52 UTC]    Format field in books: YES
[19-Nov-2025 21:56:52 UTC]    Description field in categories: YES
[19-Nov-2025 21:56:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:56:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:56:52 UTC]    Is_active field in books: YES
[19-Nov-2025 21:56:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:56:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:56:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:56:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:56:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:56:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:56:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:56:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:56:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:56:52 UTC] 📊 Database Info:
[19-Nov-2025 21:56:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:56:52 UTC]    Books columns count: 44
[19-Nov-2025 21:56:52 UTC]    Categories columns count: 7
[19-Nov-2025 21:56:52 UTC]    Language field in books: YES
[19-Nov-2025 21:56:52 UTC]    Format field in books: YES
[19-Nov-2025 21:56:52 UTC]    Description field in categories: YES
[19-Nov-2025 21:56:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:56:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:56:52 UTC]    Is_active field in books: YES
[19-Nov-2025 21:56:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:56:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:56:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:56:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:56:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:56:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:56:52 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:56:52 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:56:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:56:52 UTC] 📊 Database Info:
[19-Nov-2025 21:56:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:56:52 UTC]    Books columns count: 44
[19-Nov-2025 21:56:52 UTC]    Categories columns count: 7
[19-Nov-2025 21:56:52 UTC]    Language field in books: YES
[19-Nov-2025 21:56:52 UTC]    Format field in books: YES
[19-Nov-2025 21:56:52 UTC]    Description field in categories: YES
[19-Nov-2025 21:56:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:56:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:56:52 UTC]    Is_active field in books: YES
[19-Nov-2025 21:56:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:56:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:56:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:56:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:56:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:56:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:56:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:56:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:56:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:56:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:56:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:56:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:56:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:56:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:56:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:56:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:56:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:56:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:56:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:56:54 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:56:54 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:56:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:56:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:56:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:56:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:56:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:56:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:56:54 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:56:54 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:56:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:56:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:56:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:56:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:56:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:56:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:56:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:56:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:56:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:56:54 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:56:54 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:56:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:56:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:56:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:56:54 UTC] 📊 Database Info:
[19-Nov-2025 21:56:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:56:54 UTC]    Books columns count: 44
[19-Nov-2025 21:56:54 UTC]    Categories columns count: 7
[19-Nov-2025 21:56:54 UTC]    Language field in books: YES
[19-Nov-2025 21:56:54 UTC]    Format field in books: YES
[19-Nov-2025 21:56:54 UTC]    Description field in categories: YES
[19-Nov-2025 21:56:54 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:56:54 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:56:54 UTC]    Is_active field in books: YES
[19-Nov-2025 21:56:54 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:56:54 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:56:54 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:56:54 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:56:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:56:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:56:54 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:56:54 UTC] 📊 Database Info:
[19-Nov-2025 21:56:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:56:54 UTC]    Books columns count: 44
[19-Nov-2025 21:56:54 UTC]    Categories columns count: 7
[19-Nov-2025 21:56:54 UTC]    Language field in books: YES
[19-Nov-2025 21:56:54 UTC]    Format field in books: YES
[19-Nov-2025 21:56:54 UTC]    Description field in categories: YES
[19-Nov-2025 21:56:54 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:56:54 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:56:54 UTC]    Is_active field in books: YES
[19-Nov-2025 21:56:54 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:56:54 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:56:54 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:56:54 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:56:54 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:56:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:56:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:56:54 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:56:54 UTC] 📊 Database Info:
[19-Nov-2025 21:56:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:56:54 UTC]    Books columns count: 44
[19-Nov-2025 21:56:54 UTC]    Categories columns count: 7
[19-Nov-2025 21:56:54 UTC]    Language field in books: YES
[19-Nov-2025 21:56:54 UTC]    Format field in books: YES
[19-Nov-2025 21:56:54 UTC]    Description field in categories: YES
[19-Nov-2025 21:56:54 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:56:54 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:56:54 UTC]    Is_active field in books: YES
[19-Nov-2025 21:56:54 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:56:54 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:56:54 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:56:54 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:56:54 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:56:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:56:54 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:56:54 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:56:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:56:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:56:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:56:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:56:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:56:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:56:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:56:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:56:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:56:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:56:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:56:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:56:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:56:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:56:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:56:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:56:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:56:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:56:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:56:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:56:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:56:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:56:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:56:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:56:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:56:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:56:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:56:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:56:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:56:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:56:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:56:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:56:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:56:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:56:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:56:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:56:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:56:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:56:55 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:56:55 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:56:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:56:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:56:55 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:56:55 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:56:55 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:56:55 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:56:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:56:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:56:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:56:55 UTC] 📊 Database Info:
[19-Nov-2025 21:56:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:56:55 UTC]    Books columns count: 44
[19-Nov-2025 21:56:55 UTC]    Categories columns count: 7
[19-Nov-2025 21:56:55 UTC]    Language field in books: YES
[19-Nov-2025 21:56:55 UTC]    Format field in books: YES
[19-Nov-2025 21:56:55 UTC]    Description field in categories: YES
[19-Nov-2025 21:56:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:56:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:56:55 UTC]    Is_active field in books: YES
[19-Nov-2025 21:56:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:56:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:56:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:56:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:56:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:56:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:56:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:56:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:56:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:56:55 UTC] 📊 Database Info:
[19-Nov-2025 21:56:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:56:55 UTC]    Books columns count: 44
[19-Nov-2025 21:56:55 UTC]    Categories columns count: 7
[19-Nov-2025 21:56:55 UTC]    Language field in books: YES
[19-Nov-2025 21:56:55 UTC]    Format field in books: YES
[19-Nov-2025 21:56:55 UTC]    Description field in categories: YES
[19-Nov-2025 21:56:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:56:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:56:55 UTC]    Is_active field in books: YES
[19-Nov-2025 21:56:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:56:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:56:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:56:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:56:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:56:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:56:55 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:56:55 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:56:55 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:56:55 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:56:55 UTC] 📊 Database Info:
[19-Nov-2025 21:56:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:56:55 UTC]    Books columns count: 44
[19-Nov-2025 21:56:55 UTC]    Categories columns count: 7
[19-Nov-2025 21:56:55 UTC]    Language field in books: YES
[19-Nov-2025 21:56:55 UTC]    Format field in books: YES
[19-Nov-2025 21:56:55 UTC]    Description field in categories: YES
[19-Nov-2025 21:56:55 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:56:55 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:56:55 UTC]    Is_active field in books: YES
[19-Nov-2025 21:56:55 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:56:55 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:56:55 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:56:55 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:56:55 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:56:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:56:55 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:56:55 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:57:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:57:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:57:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:57:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:57:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:57:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:57:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:57:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:57:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:57:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:57:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:57:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:57:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:57:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:57:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:57:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:57:45 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:57:45 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:57:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:57:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:57:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:57:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:57:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:57:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:57:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:57:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:57:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:57:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:57:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:57:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:57:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:57:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:57:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:57:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:57:45 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:57:45 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:57:45 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:57:45 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:57:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:57:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:57:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:57:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:57:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:57:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:57:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:57:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:57:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:57:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:57:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:57:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:57:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:57:45 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:57:45 UTC] 📊 Database Info:
[19-Nov-2025 21:57:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:57:45 UTC]    Books columns count: 44
[19-Nov-2025 21:57:45 UTC]    Categories columns count: 7
[19-Nov-2025 21:57:45 UTC]    Language field in books: YES
[19-Nov-2025 21:57:45 UTC]    Format field in books: YES
[19-Nov-2025 21:57:45 UTC]    Description field in categories: YES
[19-Nov-2025 21:57:45 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:57:45 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:57:45 UTC]    Is_active field in books: YES
[19-Nov-2025 21:57:45 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:57:45 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:57:45 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:57:45 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:57:45 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:57:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:57:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:57:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:57:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:57:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:57:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:57:45 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:57:45 UTC] 📊 Database Info:
[19-Nov-2025 21:57:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:57:45 UTC]    Books columns count: 44
[19-Nov-2025 21:57:45 UTC]    Categories columns count: 7
[19-Nov-2025 21:57:45 UTC]    Language field in books: YES
[19-Nov-2025 21:57:45 UTC]    Format field in books: YES
[19-Nov-2025 21:57:45 UTC]    Description field in categories: YES
[19-Nov-2025 21:57:45 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:57:45 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:57:45 UTC]    Is_active field in books: YES
[19-Nov-2025 21:57:45 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:57:45 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:57:45 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:57:45 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:57:45 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:57:45 UTC] 📊 Database Info:
[19-Nov-2025 21:57:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:57:45 UTC]    Books columns count: 44
[19-Nov-2025 21:57:45 UTC]    Categories columns count: 7
[19-Nov-2025 21:57:45 UTC]    Language field in books: YES
[19-Nov-2025 21:57:45 UTC]    Format field in books: YES
[19-Nov-2025 21:57:45 UTC]    Description field in categories: YES
[19-Nov-2025 21:57:45 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:57:45 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:57:45 UTC]    Is_active field in books: YES
[19-Nov-2025 21:57:45 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:57:45 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:57:45 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:57:45 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:57:45 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:57:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:57:45 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:57:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:57:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:57:45 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:57:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:57:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:57:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:57:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:57:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:57:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:57:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:57:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:57:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:57:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:57:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:57:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:57:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:57:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:57:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:57:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:57:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:57:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:57:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:57:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:57:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:57:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:57:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:57:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:57:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:57:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:57:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:57:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:57:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:57:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:57:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:57:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:57:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:57:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:57:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:57:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:57:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:57:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:57:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:57:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:57:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:57:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:57:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:57:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:57:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:57:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:57:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:57:50 UTC] 📊 Database Info:
[19-Nov-2025 21:57:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:57:50 UTC]    Books columns count: 44
[19-Nov-2025 21:57:50 UTC]    Categories columns count: 7
[19-Nov-2025 21:57:50 UTC]    Language field in books: YES
[19-Nov-2025 21:57:50 UTC]    Format field in books: YES
[19-Nov-2025 21:57:50 UTC]    Description field in categories: YES
[19-Nov-2025 21:57:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:57:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:57:50 UTC]    Is_active field in books: YES
[19-Nov-2025 21:57:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:57:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:57:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:57:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:57:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:57:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:57:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:57:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:57:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:57:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:57:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:57:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:57:50 UTC] 📊 Database Info:
[19-Nov-2025 21:57:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:57:50 UTC]    Books columns count: 44
[19-Nov-2025 21:57:50 UTC]    Categories columns count: 7
[19-Nov-2025 21:57:50 UTC]    Language field in books: YES
[19-Nov-2025 21:57:50 UTC]    Format field in books: YES
[19-Nov-2025 21:57:50 UTC]    Description field in categories: YES
[19-Nov-2025 21:57:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:57:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:57:50 UTC]    Is_active field in books: YES
[19-Nov-2025 21:57:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:57:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:57:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:57:50 UTC] 📊 Database Info:
[19-Nov-2025 21:57:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:57:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:57:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:57:50 UTC]    Books columns count: 44
[19-Nov-2025 21:57:50 UTC]    Categories columns count: 7
[19-Nov-2025 21:57:50 UTC]    Language field in books: YES
[19-Nov-2025 21:57:50 UTC]    Format field in books: YES
[19-Nov-2025 21:57:50 UTC]    Description field in categories: YES
[19-Nov-2025 21:57:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:57:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:57:50 UTC]    Is_active field in books: YES
[19-Nov-2025 21:57:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:57:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:57:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:57:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:57:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:57:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:57:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:57:50 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:57:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:57:50 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:58:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:58:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:58:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:58:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:58:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:58:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:58:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:58:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:58:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:58:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:58:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:58:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:58:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:58:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:58:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:58:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:58:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:58:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:58:53 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:58:53 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:58:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:58:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:58:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:58:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:58:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:58:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:58:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:58:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:58:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:58:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:58:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:58:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:58:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:58:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:58:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:58:53 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:58:53 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:58:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:58:53 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:58:53 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:58:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:58:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:58:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:58:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:58:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:58:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:58:53 UTC] 📊 Database Info:
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:58:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:58:53 UTC]    Books columns count: 44
[19-Nov-2025 21:58:53 UTC]    Categories columns count: 7
[19-Nov-2025 21:58:53 UTC]    Language field in books: YES
[19-Nov-2025 21:58:53 UTC]    Format field in books: YES
[19-Nov-2025 21:58:53 UTC]    Description field in categories: YES
[19-Nov-2025 21:58:53 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:58:53 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:58:53 UTC]    Is_active field in books: YES
[19-Nov-2025 21:58:53 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:58:53 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:58:53 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:58:53 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:58:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:58:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:58:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:58:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:58:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:58:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:58:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:58:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:58:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:58:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:58:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:58:53 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:58:53 UTC] 📊 Database Info:
[19-Nov-2025 21:58:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:58:53 UTC]    Books columns count: 44
[19-Nov-2025 21:58:53 UTC]    Categories columns count: 7
[19-Nov-2025 21:58:53 UTC]    Language field in books: YES
[19-Nov-2025 21:58:53 UTC]    Format field in books: YES
[19-Nov-2025 21:58:53 UTC]    Description field in categories: YES
[19-Nov-2025 21:58:53 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:58:53 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:58:53 UTC]    Is_active field in books: YES
[19-Nov-2025 21:58:53 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:58:53 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:58:53 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:58:53 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:58:53 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:58:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:58:53 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:58:53 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:58:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:58:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:58:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:58:53 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:58:53 UTC] 📊 Database Info:
[19-Nov-2025 21:58:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:58:53 UTC]    Books columns count: 44
[19-Nov-2025 21:58:53 UTC]    Categories columns count: 7
[19-Nov-2025 21:58:53 UTC]    Language field in books: YES
[19-Nov-2025 21:58:53 UTC]    Format field in books: YES
[19-Nov-2025 21:58:53 UTC]    Description field in categories: YES
[19-Nov-2025 21:58:53 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:58:53 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:58:53 UTC]    Is_active field in books: YES
[19-Nov-2025 21:58:53 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:58:53 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:58:53 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:58:53 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:58:53 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:58:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:58:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:58:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:58:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:58:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:58:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:58:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:58:55 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:58:55 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:58:55 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:58:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:58:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:58:55 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:58:55 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:58:55 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:58:55 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:58:55 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:58:55 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:58:55 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:58:55 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:58:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:58:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:58:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:58:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:58:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:58:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:58:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:58:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:58:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:58:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:58:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:58:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:58:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:58:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:58:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:58:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:58:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:58:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:58:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:58:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:58:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:58:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:58:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:58:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:58:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:58:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:58:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:58:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:58:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:58:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:58:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:58:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:58:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:58:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:58:56 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:58:56 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:58:56 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:58:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:58:56 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:58:56 UTC] 📊 Database Info:
[19-Nov-2025 21:58:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:58:56 UTC]    Books columns count: 44
[19-Nov-2025 21:58:56 UTC]    Categories columns count: 7
[19-Nov-2025 21:58:56 UTC]    Language field in books: YES
[19-Nov-2025 21:58:56 UTC]    Format field in books: YES
[19-Nov-2025 21:58:56 UTC]    Description field in categories: YES
[19-Nov-2025 21:58:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:58:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:58:56 UTC]    Is_active field in books: YES
[19-Nov-2025 21:58:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:58:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:58:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:58:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:58:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:58:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:58:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:58:56 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:58:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:58:56 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:58:56 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:58:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:58:56 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:58:56 UTC] 📊 Database Info:
[19-Nov-2025 21:58:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:58:56 UTC]    Books columns count: 44
[19-Nov-2025 21:58:56 UTC]    Categories columns count: 7
[19-Nov-2025 21:58:56 UTC]    Language field in books: YES
[19-Nov-2025 21:58:56 UTC]    Format field in books: YES
[19-Nov-2025 21:58:56 UTC]    Description field in categories: YES
[19-Nov-2025 21:58:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:58:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:58:56 UTC]    Is_active field in books: YES
[19-Nov-2025 21:58:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:58:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:58:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:58:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:58:56 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:58:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:58:56 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:58:56 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:58:56 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:58:56 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:58:56 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:58:56 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:58:56 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:58:56 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:58:56 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:58:56 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:58:56 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:58:56 UTC] 📊 Database Info:
[19-Nov-2025 21:58:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:58:56 UTC]    Books columns count: 44
[19-Nov-2025 21:58:56 UTC]    Categories columns count: 7
[19-Nov-2025 21:58:56 UTC]    Language field in books: YES
[19-Nov-2025 21:58:56 UTC]    Format field in books: YES
[19-Nov-2025 21:58:56 UTC]    Description field in categories: YES
[19-Nov-2025 21:58:56 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:58:56 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:58:56 UTC]    Is_active field in books: YES
[19-Nov-2025 21:58:56 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:58:56 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:58:56 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:58:56 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:58:56 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:58:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:58:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:58:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:58:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:58:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:58:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 21:58:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:58:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:58:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:58:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:58:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:58:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:58:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:58:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:58:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:58:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:58:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:58:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:58:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:58:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:58:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:58:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:58:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:58:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:58:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:58:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:58:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:58:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:58:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:58:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:58:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:58:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:58:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 21:58:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:58:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:58:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:58:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 21:58:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:58:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:58:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:58:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:58:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:58:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:58:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:58:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 21:58:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 21:58:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:58:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:58:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:58:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:58:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:58:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:58:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 21:58:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 21:58:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 21:58:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 21:58:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 21:58:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:58:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:58:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:58:57 UTC] 📊 Database Info:
[19-Nov-2025 21:58:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:58:57 UTC]    Books columns count: 44
[19-Nov-2025 21:58:57 UTC]    Categories columns count: 7
[19-Nov-2025 21:58:57 UTC]    Language field in books: YES
[19-Nov-2025 21:58:57 UTC]    Format field in books: YES
[19-Nov-2025 21:58:57 UTC]    Description field in categories: YES
[19-Nov-2025 21:58:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:58:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:58:57 UTC]    Is_active field in books: YES
[19-Nov-2025 21:58:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:58:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:58:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:58:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:58:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:58:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:58:57 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 21:58:57 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 21:58:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:58:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:58:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:58:57 UTC] 📊 Database Info:
[19-Nov-2025 21:58:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:58:57 UTC]    Books columns count: 44
[19-Nov-2025 21:58:57 UTC]    Categories columns count: 7
[19-Nov-2025 21:58:57 UTC]    Language field in books: YES
[19-Nov-2025 21:58:57 UTC]    Format field in books: YES
[19-Nov-2025 21:58:57 UTC]    Description field in categories: YES
[19-Nov-2025 21:58:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:58:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:58:57 UTC]    Is_active field in books: YES
[19-Nov-2025 21:58:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:58:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:58:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:58:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:58:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:58:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 21:58:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 21:58:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 21:58:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 21:58:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 21:58:57 UTC] 📊 Database Info:
[19-Nov-2025 21:58:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 21:58:57 UTC]    Books columns count: 44
[19-Nov-2025 21:58:57 UTC]    Categories columns count: 7
[19-Nov-2025 21:58:57 UTC]    Language field in books: YES
[19-Nov-2025 21:58:57 UTC]    Format field in books: YES
[19-Nov-2025 21:58:57 UTC]    Description field in categories: YES
[19-Nov-2025 21:58:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 21:58:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 21:58:57 UTC]    Is_active field in books: YES
[19-Nov-2025 21:58:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 21:58:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 21:58:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 21:58:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 21:58:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 21:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 21:58:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:06:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:06:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:06:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:06:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:06:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:06:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:06:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:06:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:06:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:06:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:06:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:06:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:06:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:06:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:06:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:06:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:06:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:06:28 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:06:28 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:06:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:06:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:06:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:06:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:06:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:06:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:06:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:06:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:06:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:06:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:06:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:06:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:06:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:06:28 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:06:28 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:06:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:06:28 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:06:28 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:06:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:06:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:06:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:06:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:06:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:06:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:06:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:06:28 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:06:28 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:06:28 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:06:28 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:06:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:06:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:06:28 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:06:28 UTC] 📊 Database Info:
[19-Nov-2025 22:06:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:06:28 UTC]    Books columns count: 44
[19-Nov-2025 22:06:28 UTC]    Categories columns count: 7
[19-Nov-2025 22:06:28 UTC]    Language field in books: YES
[19-Nov-2025 22:06:28 UTC]    Format field in books: YES
[19-Nov-2025 22:06:28 UTC]    Description field in categories: YES
[19-Nov-2025 22:06:28 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:06:28 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:06:28 UTC]    Is_active field in books: YES
[19-Nov-2025 22:06:28 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:06:28 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:06:28 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:06:28 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:06:28 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:06:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:06:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:06:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:06:28 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:06:28 UTC] 📊 Database Info:
[19-Nov-2025 22:06:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:06:28 UTC]    Books columns count: 44
[19-Nov-2025 22:06:28 UTC]    Categories columns count: 7
[19-Nov-2025 22:06:28 UTC]    Language field in books: YES
[19-Nov-2025 22:06:28 UTC]    Format field in books: YES
[19-Nov-2025 22:06:28 UTC]    Description field in categories: YES
[19-Nov-2025 22:06:28 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:06:28 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:06:28 UTC]    Is_active field in books: YES
[19-Nov-2025 22:06:28 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:06:28 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:06:28 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:06:28 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:06:28 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:06:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:06:28 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:06:28 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:06:28 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:06:28 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:06:28 UTC] 📊 Database Info:
[19-Nov-2025 22:06:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:06:28 UTC]    Books columns count: 44
[19-Nov-2025 22:06:28 UTC]    Categories columns count: 7
[19-Nov-2025 22:06:28 UTC]    Language field in books: YES
[19-Nov-2025 22:06:28 UTC]    Format field in books: YES
[19-Nov-2025 22:06:28 UTC]    Description field in categories: YES
[19-Nov-2025 22:06:28 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:06:28 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:06:28 UTC]    Is_active field in books: YES
[19-Nov-2025 22:06:28 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:06:28 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:06:28 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:06:28 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:06:28 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:06:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:06:28 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:06:28 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:06:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:06:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:06:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:06:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:06:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:06:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:06:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:06:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:06:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:06:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:06:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:06:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:06:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:06:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:06:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:06:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:06:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:06:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:06:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:06:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:06:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:06:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:06:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:06:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:06:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:06:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:06:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:06:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:06:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:06:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:06:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:06:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:06:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:06:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:06:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:06:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:06:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:06:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:06:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:06:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:06:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:06:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:06:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:06:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:06:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:06:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:06:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:06:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:06:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:06:31 UTC] 📊 Database Info:
[19-Nov-2025 22:06:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:06:31 UTC]    Books columns count: 44
[19-Nov-2025 22:06:31 UTC]    Categories columns count: 7
[19-Nov-2025 22:06:31 UTC]    Language field in books: YES
[19-Nov-2025 22:06:31 UTC]    Format field in books: YES
[19-Nov-2025 22:06:31 UTC]    Description field in categories: YES
[19-Nov-2025 22:06:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:06:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:06:31 UTC]    Is_active field in books: YES
[19-Nov-2025 22:06:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:06:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:06:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:06:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:06:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:06:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:06:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:06:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:06:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:06:31 UTC] 📊 Database Info:
[19-Nov-2025 22:06:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:06:31 UTC]    Books columns count: 44
[19-Nov-2025 22:06:31 UTC]    Categories columns count: 7
[19-Nov-2025 22:06:31 UTC]    Language field in books: YES
[19-Nov-2025 22:06:31 UTC]    Format field in books: YES
[19-Nov-2025 22:06:31 UTC]    Description field in categories: YES
[19-Nov-2025 22:06:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:06:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:06:31 UTC]    Is_active field in books: YES
[19-Nov-2025 22:06:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:06:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:06:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:06:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:06:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:06:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:06:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:06:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:06:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:06:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:06:31 UTC] 📊 Database Info:
[19-Nov-2025 22:06:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:06:31 UTC]    Books columns count: 44
[19-Nov-2025 22:06:31 UTC]    Categories columns count: 7
[19-Nov-2025 22:06:31 UTC]    Language field in books: YES
[19-Nov-2025 22:06:31 UTC]    Format field in books: YES
[19-Nov-2025 22:06:31 UTC]    Description field in categories: YES
[19-Nov-2025 22:06:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:06:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:06:31 UTC]    Is_active field in books: YES
[19-Nov-2025 22:06:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:06:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:06:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:06:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:06:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:06:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:06:31 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:06:31 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:06:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:06:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:06:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:06:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:06:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:06:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:06:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:06:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:06:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:06:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:06:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:06:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:06:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:06:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:06:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:06:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:06:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:06:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:06:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:06:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:06:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:06:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:06:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:06:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:06:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:06:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:06:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:06:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:06:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:06:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:06:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:06:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:06:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:06:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:06:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:06:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:06:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:06:42 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:06:42 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:06:42 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:06:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:06:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:06:42 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:06:42 UTC] 📊 Database Info:
[19-Nov-2025 22:06:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:06:42 UTC]    Books columns count: 44
[19-Nov-2025 22:06:42 UTC]    Categories columns count: 7
[19-Nov-2025 22:06:42 UTC]    Language field in books: YES
[19-Nov-2025 22:06:42 UTC]    Format field in books: YES
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:06:42 UTC]    Description field in categories: YES
[19-Nov-2025 22:06:42 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:06:42 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:06:42 UTC]    Is_active field in books: YES
[19-Nov-2025 22:06:42 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:06:42 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:06:42 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:06:42 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:06:42 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:06:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:06:42 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:06:42 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:06:42 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:06:42 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:06:42 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:06:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:06:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:06:42 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:06:42 UTC] 📊 Database Info:
[19-Nov-2025 22:06:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:06:42 UTC]    Books columns count: 44
[19-Nov-2025 22:06:42 UTC]    Categories columns count: 7
[19-Nov-2025 22:06:42 UTC]    Language field in books: YES
[19-Nov-2025 22:06:42 UTC]    Format field in books: YES
[19-Nov-2025 22:06:42 UTC]    Description field in categories: YES
[19-Nov-2025 22:06:42 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:06:42 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:06:42 UTC]    Is_active field in books: YES
[19-Nov-2025 22:06:42 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:06:42 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:06:42 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:06:42 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:06:42 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:06:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:06:42 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:06:42 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:06:42 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:06:42 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:06:42 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:06:42 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:06:42 UTC] 📊 Database Info:
[19-Nov-2025 22:06:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:06:42 UTC]    Books columns count: 44
[19-Nov-2025 22:06:42 UTC]    Categories columns count: 7
[19-Nov-2025 22:06:42 UTC]    Language field in books: YES
[19-Nov-2025 22:06:42 UTC]    Format field in books: YES
[19-Nov-2025 22:06:42 UTC]    Description field in categories: YES
[19-Nov-2025 22:06:42 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:06:42 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:06:42 UTC]    Is_active field in books: YES
[19-Nov-2025 22:06:42 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:06:42 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:06:42 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:06:42 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:06:42 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:06:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:07:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:07:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:07:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:07:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:07:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:07:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:07:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:07:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:07:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:07:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:07:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:07:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:07:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:07:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:07:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:07:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:07:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:07:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:07:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:07:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:07:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:07:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:07:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:07:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:07:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:07:05 UTC] 📊 Database Info:
[19-Nov-2025 22:07:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:07:05 UTC]    Books columns count: 44
[19-Nov-2025 22:07:05 UTC]    Categories columns count: 7
[19-Nov-2025 22:07:05 UTC]    Language field in books: YES
[19-Nov-2025 22:07:05 UTC]    Format field in books: YES
[19-Nov-2025 22:07:05 UTC]    Description field in categories: YES
[19-Nov-2025 22:07:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:07:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:07:05 UTC]    Is_active field in books: YES
[19-Nov-2025 22:07:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:07:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:07:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:07:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:07:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:07:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:07:05 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:07:05 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:07:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:07:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:07:05 UTC] 📊 Database Info:
[19-Nov-2025 22:07:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:07:05 UTC]    Books columns count: 44
[19-Nov-2025 22:07:05 UTC]    Categories columns count: 7
[19-Nov-2025 22:07:05 UTC]    Language field in books: YES
[19-Nov-2025 22:07:05 UTC]    Format field in books: YES
[19-Nov-2025 22:07:05 UTC]    Description field in categories: YES
[19-Nov-2025 22:07:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:07:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:07:05 UTC]    Is_active field in books: YES
[19-Nov-2025 22:07:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:07:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:07:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:07:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:07:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:07:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:07:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:07:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:07:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:07:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:07:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:07:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:07:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:07:05 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:07:05 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:07:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:07:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:07:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:07:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:07:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:07:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:07:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:07:05 UTC] 📊 Database Info:
[19-Nov-2025 22:07:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:07:05 UTC]    Books columns count: 44
[19-Nov-2025 22:07:05 UTC]    Categories columns count: 7
[19-Nov-2025 22:07:05 UTC]    Language field in books: YES
[19-Nov-2025 22:07:05 UTC]    Format field in books: YES
[19-Nov-2025 22:07:05 UTC]    Description field in categories: YES
[19-Nov-2025 22:07:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:07:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:07:05 UTC]    Is_active field in books: YES
[19-Nov-2025 22:07:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:07:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:07:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:07:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:07:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:07:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:07:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:08:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:08:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:08:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:08:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:08:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:08:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:08:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:08:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:08:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:08:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:08:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:08:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:08:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:08:09 UTC] 📊 Database Info:
[19-Nov-2025 22:08:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:08:09 UTC]    Books columns count: 44
[19-Nov-2025 22:08:09 UTC]    Categories columns count: 7
[19-Nov-2025 22:08:09 UTC]    Language field in books: YES
[19-Nov-2025 22:08:09 UTC]    Format field in books: YES
[19-Nov-2025 22:08:09 UTC]    Description field in categories: YES
[19-Nov-2025 22:08:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:08:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:08:09 UTC]    Is_active field in books: YES
[19-Nov-2025 22:08:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:08:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:08:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:08:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:08:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:08:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:08:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:08:09 UTC] 📊 Database Info:
[19-Nov-2025 22:08:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:08:09 UTC]    Books columns count: 44
[19-Nov-2025 22:08:09 UTC]    Categories columns count: 7
[19-Nov-2025 22:08:09 UTC]    Language field in books: YES
[19-Nov-2025 22:08:09 UTC]    Format field in books: YES
[19-Nov-2025 22:08:09 UTC]    Description field in categories: YES
[19-Nov-2025 22:08:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:08:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:08:09 UTC]    Is_active field in books: YES
[19-Nov-2025 22:08:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:08:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:08:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:08:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:08:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:08:09 UTC] 📊 Database Info:
[19-Nov-2025 22:08:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:08:09 UTC]    Books columns count: 44
[19-Nov-2025 22:08:09 UTC]    Categories columns count: 7
[19-Nov-2025 22:08:09 UTC]    Language field in books: YES
[19-Nov-2025 22:08:09 UTC]    Format field in books: YES
[19-Nov-2025 22:08:09 UTC]    Description field in categories: YES
[19-Nov-2025 22:08:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:08:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:08:09 UTC]    Is_active field in books: YES
[19-Nov-2025 22:08:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:08:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:08:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:08:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:08:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:08:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:08:09 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:08:09 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:08:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:08:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:08:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:08:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:08:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:08:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:11 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:11 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:11 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:11 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:08:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:12 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:08:12 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:08:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:12 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:08:12 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:08:12 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:08:12 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:08:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:12 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:12 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:12 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:12 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:12 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:12 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:08:12 UTC] 📊 Database Info:
[19-Nov-2025 22:08:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:08:12 UTC]    Books columns count: 44
[19-Nov-2025 22:08:12 UTC]    Categories columns count: 7
[19-Nov-2025 22:08:12 UTC]    Language field in books: YES
[19-Nov-2025 22:08:12 UTC]    Format field in books: YES
[19-Nov-2025 22:08:12 UTC]    Description field in categories: YES
[19-Nov-2025 22:08:12 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:08:12 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:08:12 UTC]    Is_active field in books: YES
[19-Nov-2025 22:08:12 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:08:12 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:08:12 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:08:12 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:08:12 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:08:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:08:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:12 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:08:12 UTC] 📊 Database Info:
[19-Nov-2025 22:08:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:08:12 UTC]    Books columns count: 44
[19-Nov-2025 22:08:12 UTC]    Categories columns count: 7
[19-Nov-2025 22:08:12 UTC]    Language field in books: YES
[19-Nov-2025 22:08:12 UTC]    Format field in books: YES
[19-Nov-2025 22:08:12 UTC]    Description field in categories: YES
[19-Nov-2025 22:08:12 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:08:12 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:08:12 UTC]    Is_active field in books: YES
[19-Nov-2025 22:08:12 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:08:12 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:08:12 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:08:12 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:08:12 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:12 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:08:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:08:12 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:08:12 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:08:12 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:08:12 UTC] 📊 Database Info:
[19-Nov-2025 22:08:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:08:12 UTC]    Books columns count: 44
[19-Nov-2025 22:08:12 UTC]    Categories columns count: 7
[19-Nov-2025 22:08:12 UTC]    Language field in books: YES
[19-Nov-2025 22:08:12 UTC]    Format field in books: YES
[19-Nov-2025 22:08:12 UTC]    Description field in categories: YES
[19-Nov-2025 22:08:12 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:08:12 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:08:12 UTC]    Is_active field in books: YES
[19-Nov-2025 22:08:12 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:08:12 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:08:12 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:08:12 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:08:12 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:08:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:08:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:08:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:08:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:08:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:08:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:08:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:08:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:08:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:08:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:08:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:08:43 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:08:43 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:08:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:43 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:43 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:43 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:43 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:43 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:43 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:08:43 UTC] 📊 Database Info:
[19-Nov-2025 22:08:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:08:43 UTC]    Books columns count: 44
[19-Nov-2025 22:08:43 UTC]    Categories columns count: 7
[19-Nov-2025 22:08:43 UTC]    Language field in books: YES
[19-Nov-2025 22:08:43 UTC]    Format field in books: YES
[19-Nov-2025 22:08:43 UTC]    Description field in categories: YES
[19-Nov-2025 22:08:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:08:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:08:43 UTC]    Is_active field in books: YES
[19-Nov-2025 22:08:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:08:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:08:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:08:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:08:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:08:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:08:43 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:08:43 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:08:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:43 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:43 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:43 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:08:43 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:08:43 UTC] 📊 Database Info:
[19-Nov-2025 22:08:43 UTC] 📊 Database Info:
[19-Nov-2025 22:08:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:08:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:08:43 UTC]    Books columns count: 44
[19-Nov-2025 22:08:43 UTC]    Books columns count: 44
[19-Nov-2025 22:08:43 UTC]    Categories columns count: 7
[19-Nov-2025 22:08:43 UTC]    Categories columns count: 7
[19-Nov-2025 22:08:43 UTC]    Language field in books: YES
[19-Nov-2025 22:08:43 UTC]    Language field in books: YES
[19-Nov-2025 22:08:43 UTC]    Format field in books: YES
[19-Nov-2025 22:08:43 UTC]    Format field in books: YES
[19-Nov-2025 22:08:43 UTC]    Description field in categories: YES
[19-Nov-2025 22:08:43 UTC]    Description field in categories: YES
[19-Nov-2025 22:08:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:08:43 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:08:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:08:43 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:08:43 UTC]    Is_active field in books: YES
[19-Nov-2025 22:08:43 UTC]    Is_active field in books: YES
[19-Nov-2025 22:08:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:08:43 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:08:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:08:43 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:08:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:08:43 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:08:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:08:43 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:08:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:08:43 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:08:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:08:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:08:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:08:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:08:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:08:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:08:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:45 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:08:45 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:08:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:08:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:45 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:08:45 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:08:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:45 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:08:45 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:08:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:45 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:08:45 UTC] 📊 Database Info:
[19-Nov-2025 22:08:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:08:45 UTC]    Books columns count: 44
[19-Nov-2025 22:08:45 UTC]    Categories columns count: 7
[19-Nov-2025 22:08:45 UTC]    Language field in books: YES
[19-Nov-2025 22:08:45 UTC]    Format field in books: YES
[19-Nov-2025 22:08:45 UTC]    Description field in categories: YES
[19-Nov-2025 22:08:45 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:08:45 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:08:45 UTC]    Is_active field in books: YES
[19-Nov-2025 22:08:45 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:08:45 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:08:45 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:08:45 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:08:45 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:08:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:08:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:45 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:08:45 UTC] 📊 Database Info:
[19-Nov-2025 22:08:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:08:45 UTC]    Books columns count: 44
[19-Nov-2025 22:08:45 UTC]    Categories columns count: 7
[19-Nov-2025 22:08:45 UTC]    Language field in books: YES
[19-Nov-2025 22:08:45 UTC]    Format field in books: YES
[19-Nov-2025 22:08:45 UTC]    Description field in categories: YES
[19-Nov-2025 22:08:45 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:08:45 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:08:45 UTC]    Is_active field in books: YES
[19-Nov-2025 22:08:45 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:08:45 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:08:45 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:08:45 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:08:45 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:08:45 UTC] 📊 Database Info:
[19-Nov-2025 22:08:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:08:45 UTC]    Books columns count: 44
[19-Nov-2025 22:08:45 UTC]    Categories columns count: 7
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:08:45 UTC]    Language field in books: YES
[19-Nov-2025 22:08:45 UTC]    Format field in books: YES
[19-Nov-2025 22:08:45 UTC]    Description field in categories: YES
[19-Nov-2025 22:08:45 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:08:45 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:08:45 UTC]    Is_active field in books: YES
[19-Nov-2025 22:08:45 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:08:45 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:08:45 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:08:45 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:08:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:08:45 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:08:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:08:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:08:45 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:08:45 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:08:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:08:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:08:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:08:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:08:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:08:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:08:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:08:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:08:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:08:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:08:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:08:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:08:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:08:48 UTC] 📊 Database Info:
[19-Nov-2025 22:08:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:08:48 UTC]    Books columns count: 44
[19-Nov-2025 22:08:48 UTC]    Categories columns count: 7
[19-Nov-2025 22:08:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:48 UTC]    Language field in books: YES
[19-Nov-2025 22:08:48 UTC]    Format field in books: YES
[19-Nov-2025 22:08:48 UTC]    Description field in categories: YES
[19-Nov-2025 22:08:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:08:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:08:48 UTC]    Is_active field in books: YES
[19-Nov-2025 22:08:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:08:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:08:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:08:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:08:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:08:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:08:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:08:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:08:48 UTC] 📊 Database Info:
[19-Nov-2025 22:08:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:08:48 UTC]    Books columns count: 44
[19-Nov-2025 22:08:48 UTC]    Categories columns count: 7
[19-Nov-2025 22:08:48 UTC]    Language field in books: YES
[19-Nov-2025 22:08:48 UTC]    Format field in books: YES
[19-Nov-2025 22:08:48 UTC]    Description field in categories: YES
[19-Nov-2025 22:08:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:08:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:08:48 UTC]    Is_active field in books: YES
[19-Nov-2025 22:08:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:08:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:08:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:08:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:08:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:08:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:08:48 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:08:48 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:08:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:08:48 UTC] 📊 Database Info:
[19-Nov-2025 22:08:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:08:48 UTC]    Books columns count: 44
[19-Nov-2025 22:08:48 UTC]    Categories columns count: 7
[19-Nov-2025 22:08:48 UTC]    Language field in books: YES
[19-Nov-2025 22:08:48 UTC]    Format field in books: YES
[19-Nov-2025 22:08:48 UTC]    Description field in categories: YES
[19-Nov-2025 22:08:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:08:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:08:48 UTC]    Is_active field in books: YES
[19-Nov-2025 22:08:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:08:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:08:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:08:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:08:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:08:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:08:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:08:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:08:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:08:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:08:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:08:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:08:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:08:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:08:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:08:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:08:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:08:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:08:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:08:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:08:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:08:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:08:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:08:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:08:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:08:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:08:51 UTC] 📊 Database Info:
[19-Nov-2025 22:08:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:08:51 UTC]    Books columns count: 44
[19-Nov-2025 22:08:51 UTC]    Categories columns count: 7
[19-Nov-2025 22:08:51 UTC]    Language field in books: YES
[19-Nov-2025 22:08:51 UTC]    Format field in books: YES
[19-Nov-2025 22:08:51 UTC]    Description field in categories: YES
[19-Nov-2025 22:08:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:08:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:08:51 UTC]    Is_active field in books: YES
[19-Nov-2025 22:08:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:08:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:08:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:08:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:08:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:08:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:08:51 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:08:51 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:08:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:08:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:08:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:08:51 UTC] 📊 Database Info:
[19-Nov-2025 22:08:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:08:51 UTC]    Books columns count: 44
[19-Nov-2025 22:08:51 UTC]    Categories columns count: 7
[19-Nov-2025 22:08:51 UTC]    Language field in books: YES
[19-Nov-2025 22:08:51 UTC]    Format field in books: YES
[19-Nov-2025 22:08:51 UTC]    Description field in categories: YES
[19-Nov-2025 22:08:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:08:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:08:51 UTC]    Is_active field in books: YES
[19-Nov-2025 22:08:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:08:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:08:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:08:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:08:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:08:51 UTC] 📊 Database Info:
[19-Nov-2025 22:08:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:08:51 UTC]    Books columns count: 44
[19-Nov-2025 22:08:51 UTC]    Categories columns count: 7
[19-Nov-2025 22:08:51 UTC]    Language field in books: YES
[19-Nov-2025 22:08:51 UTC]    Format field in books: YES
[19-Nov-2025 22:08:51 UTC]    Description field in categories: YES
[19-Nov-2025 22:08:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:08:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:08:51 UTC]    Is_active field in books: YES
[19-Nov-2025 22:08:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:08:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:08:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:08:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:08:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:08:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:08:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:08:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:08:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:09:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:09:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:09:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:09:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:09:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:09:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:09:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:09:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:09:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:09:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:09:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:09:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:09:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:09:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:09:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:09:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:09:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:09:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:09:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:09:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:09:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:09:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:09:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:09:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:09:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:09:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:09:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:09:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:09:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:09:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:09:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:09:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:09:09 UTC] 📊 Database Info:
[19-Nov-2025 22:09:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:09:09 UTC]    Books columns count: 44
[19-Nov-2025 22:09:09 UTC]    Categories columns count: 7
[19-Nov-2025 22:09:09 UTC]    Language field in books: YES
[19-Nov-2025 22:09:09 UTC]    Format field in books: YES
[19-Nov-2025 22:09:09 UTC]    Description field in categories: YES
[19-Nov-2025 22:09:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:09:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:09:09 UTC]    Is_active field in books: YES
[19-Nov-2025 22:09:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:09:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:09:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:09:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:09:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:09:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:09:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:09:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:09:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:09:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:09:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:09:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:09:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:09:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:09:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:09:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:09:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:09:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:09:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:09:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:09:45 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:09:45 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:09:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:09:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:09:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:09:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:09:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:09:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:09:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:09:45 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:09:45 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:09:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:09:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:09:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:09:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:09:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:09:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:09:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:09:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:09:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:09:45 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:09:45 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:09:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:09:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:09:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:09:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:09:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:09:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:09:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:09:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:09:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:09:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:09:45 UTC] 📊 Database Info:
[19-Nov-2025 22:09:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:09:45 UTC]    Books columns count: 44
[19-Nov-2025 22:09:45 UTC]    Categories columns count: 7
[19-Nov-2025 22:09:45 UTC]    Language field in books: YES
[19-Nov-2025 22:09:45 UTC]    Format field in books: YES
[19-Nov-2025 22:09:45 UTC]    Description field in categories: YES
[19-Nov-2025 22:09:45 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:09:45 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:09:45 UTC]    Is_active field in books: YES
[19-Nov-2025 22:09:45 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:09:45 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:09:45 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:09:45 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:09:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:09:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:09:45 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:09:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:09:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:09:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:09:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:09:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:09:45 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:09:45 UTC] 📊 Database Info:
[19-Nov-2025 22:09:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:09:45 UTC]    Books columns count: 44
[19-Nov-2025 22:09:45 UTC]    Categories columns count: 7
[19-Nov-2025 22:09:45 UTC]    Language field in books: YES
[19-Nov-2025 22:09:45 UTC]    Format field in books: YES
[19-Nov-2025 22:09:45 UTC]    Description field in categories: YES
[19-Nov-2025 22:09:45 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:09:45 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:09:45 UTC]    Is_active field in books: YES
[19-Nov-2025 22:09:45 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:09:45 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:09:45 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:09:45 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:09:45 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:09:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:09:45 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:09:45 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:09:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:09:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:09:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:09:45 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:09:45 UTC] 📊 Database Info:
[19-Nov-2025 22:09:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:09:45 UTC]    Books columns count: 44
[19-Nov-2025 22:09:45 UTC]    Categories columns count: 7
[19-Nov-2025 22:09:45 UTC]    Language field in books: YES
[19-Nov-2025 22:09:45 UTC]    Format field in books: YES
[19-Nov-2025 22:09:45 UTC]    Description field in categories: YES
[19-Nov-2025 22:09:45 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:09:45 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:09:45 UTC]    Is_active field in books: YES
[19-Nov-2025 22:09:45 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:09:45 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:09:45 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:09:45 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:09:45 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:09:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:09:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:09:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:09:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:09:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:09:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:09:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:09:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:09:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:09:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:09:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:09:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:09:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:09:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:09:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:09:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:09:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:09:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:09:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:09:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:09:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:09:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:09:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:09:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:09:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:09:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:09:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:09:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:09:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:09:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:09:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:09:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:09:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:09:51 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:09:51 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:09:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:09:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:09:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:09:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:09:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:09:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:09:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:09:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:09:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:09:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:09:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:09:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:09:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:09:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:09:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:09:51 UTC] 📊 Database Info:
[19-Nov-2025 22:09:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:09:51 UTC]    Books columns count: 44
[19-Nov-2025 22:09:51 UTC]    Categories columns count: 7
[19-Nov-2025 22:09:51 UTC]    Language field in books: YES
[19-Nov-2025 22:09:51 UTC]    Format field in books: YES
[19-Nov-2025 22:09:51 UTC]    Description field in categories: YES
[19-Nov-2025 22:09:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:09:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:09:51 UTC]    Is_active field in books: YES
[19-Nov-2025 22:09:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:09:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:09:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:09:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:09:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:09:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:09:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:09:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:09:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:09:51 UTC] 📊 Database Info:
[19-Nov-2025 22:09:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:09:51 UTC]    Books columns count: 44
[19-Nov-2025 22:09:51 UTC]    Categories columns count: 7
[19-Nov-2025 22:09:51 UTC]    Language field in books: YES
[19-Nov-2025 22:09:51 UTC]    Format field in books: YES
[19-Nov-2025 22:09:51 UTC]    Description field in categories: YES
[19-Nov-2025 22:09:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:09:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:09:51 UTC]    Is_active field in books: YES
[19-Nov-2025 22:09:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:09:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:09:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:09:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:09:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:09:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:09:51 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:09:51 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:09:51 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:09:51 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:09:51 UTC] 📊 Database Info:
[19-Nov-2025 22:09:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:09:51 UTC]    Books columns count: 44
[19-Nov-2025 22:09:51 UTC]    Categories columns count: 7
[19-Nov-2025 22:09:51 UTC]    Language field in books: YES
[19-Nov-2025 22:09:51 UTC]    Format field in books: YES
[19-Nov-2025 22:09:51 UTC]    Description field in categories: YES
[19-Nov-2025 22:09:51 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:09:51 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:09:51 UTC]    Is_active field in books: YES
[19-Nov-2025 22:09:51 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:09:51 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:09:51 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:09:51 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:09:51 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:09:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:09:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:09:51 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:09:51 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:11:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:11:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:11:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:11:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:11:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:11:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:11:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:11:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:11:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:11:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:11:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:11:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:11:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:11:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:11:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:11:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:11:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:11:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:11:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:11:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:11:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:11:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:11:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:11:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:11:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:11:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:11:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:11:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:11:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:11:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:11:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:11:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:11:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:11:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:11:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:11:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:11:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:11:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:11:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:11:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:11:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:11:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:11:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:11:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:11:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:11:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:11:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:11:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:11:57 UTC] 📊 Database Info:
[19-Nov-2025 22:11:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:11:57 UTC]    Books columns count: 44
[19-Nov-2025 22:11:57 UTC]    Categories columns count: 7
[19-Nov-2025 22:11:57 UTC]    Language field in books: YES
[19-Nov-2025 22:11:57 UTC]    Format field in books: YES
[19-Nov-2025 22:11:57 UTC]    Description field in categories: YES
[19-Nov-2025 22:11:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:11:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:11:57 UTC]    Is_active field in books: YES
[19-Nov-2025 22:11:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:11:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:11:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:11:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:11:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:11:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:11:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:11:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:11:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:11:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:11:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:11:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:11:57 UTC] 📊 Database Info:
[19-Nov-2025 22:11:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:11:57 UTC]    Books columns count: 44
[19-Nov-2025 22:11:57 UTC]    Categories columns count: 7
[19-Nov-2025 22:11:57 UTC]    Language field in books: YES
[19-Nov-2025 22:11:57 UTC]    Format field in books: YES
[19-Nov-2025 22:11:57 UTC]    Description field in categories: YES
[19-Nov-2025 22:11:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:11:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:11:57 UTC]    Is_active field in books: YES
[19-Nov-2025 22:11:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:11:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:11:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:11:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:11:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:11:57 UTC] 📊 Database Info:
[19-Nov-2025 22:11:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:11:57 UTC]    Books columns count: 44
[19-Nov-2025 22:11:57 UTC]    Categories columns count: 7
[19-Nov-2025 22:11:57 UTC]    Language field in books: YES
[19-Nov-2025 22:11:57 UTC]    Format field in books: YES
[19-Nov-2025 22:11:57 UTC]    Description field in categories: YES
[19-Nov-2025 22:11:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:11:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:11:57 UTC]    Is_active field in books: YES
[19-Nov-2025 22:11:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:11:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:11:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:11:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:11:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:11:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:11:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:11:57 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:11:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:11:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:11:57 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:11:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:11:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:11:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:11:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:11:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:11:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:11:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:11:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:11:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:11:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:11:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:11:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:11:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:11:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:11:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:11:59 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:11:59 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:11:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:11:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:11:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:11:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:11:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:11:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:11:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:11:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:11:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:11:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:11:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:11:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:11:59 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:11:59 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:11:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:11:59 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:11:59 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:11:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:11:59 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:11:59 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:11:59 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:11:59 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:11:59 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:11:59 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:11:59 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:11:59 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:11:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:11:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:11:59 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:11:59 UTC] 📊 Database Info:
[19-Nov-2025 22:11:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:11:59 UTC]    Books columns count: 44
[19-Nov-2025 22:11:59 UTC]    Categories columns count: 7
[19-Nov-2025 22:11:59 UTC]    Language field in books: YES
[19-Nov-2025 22:11:59 UTC]    Format field in books: YES
[19-Nov-2025 22:11:59 UTC]    Description field in categories: YES
[19-Nov-2025 22:11:59 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:11:59 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:11:59 UTC]    Is_active field in books: YES
[19-Nov-2025 22:11:59 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:11:59 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:11:59 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:11:59 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:11:59 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:11:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:11:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:11:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:11:59 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:11:59 UTC] 📊 Database Info:
[19-Nov-2025 22:11:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:11:59 UTC]    Books columns count: 44
[19-Nov-2025 22:11:59 UTC]    Categories columns count: 7
[19-Nov-2025 22:11:59 UTC]    Language field in books: YES
[19-Nov-2025 22:11:59 UTC]    Format field in books: YES
[19-Nov-2025 22:11:59 UTC]    Description field in categories: YES
[19-Nov-2025 22:11:59 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:11:59 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:11:59 UTC]    Is_active field in books: YES
[19-Nov-2025 22:11:59 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:11:59 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:11:59 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:11:59 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:11:59 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:11:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:11:59 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:11:59 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:11:59 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:11:59 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:11:59 UTC] 📊 Database Info:
[19-Nov-2025 22:11:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:11:59 UTC]    Books columns count: 44
[19-Nov-2025 22:11:59 UTC]    Categories columns count: 7
[19-Nov-2025 22:11:59 UTC]    Language field in books: YES
[19-Nov-2025 22:11:59 UTC]    Format field in books: YES
[19-Nov-2025 22:11:59 UTC]    Description field in categories: YES
[19-Nov-2025 22:11:59 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:11:59 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:11:59 UTC]    Is_active field in books: YES
[19-Nov-2025 22:11:59 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:11:59 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:11:59 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:11:59 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:11:59 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:11:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:11:59 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:11:59 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:12:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:12:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:12:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:12:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:12:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:00 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:12:00 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:12:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:00 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:12:00 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:12:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:12:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:00 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:12:00 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:01 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:12:01 UTC] 📊 Database Info:
[19-Nov-2025 22:12:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:12:01 UTC]    Books columns count: 44
[19-Nov-2025 22:12:01 UTC]    Categories columns count: 7
[19-Nov-2025 22:12:01 UTC]    Language field in books: YES
[19-Nov-2025 22:12:01 UTC]    Format field in books: YES
[19-Nov-2025 22:12:01 UTC]    Description field in categories: YES
[19-Nov-2025 22:12:01 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:12:01 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:12:01 UTC]    Is_active field in books: YES
[19-Nov-2025 22:12:01 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:12:01 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:12:01 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:12:01 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:12:01 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:12:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:12:01 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:12:01 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:12:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:01 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:12:01 UTC] 📊 Database Info:
[19-Nov-2025 22:12:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:12:01 UTC]    Books columns count: 44
[19-Nov-2025 22:12:01 UTC]    Categories columns count: 7
[19-Nov-2025 22:12:01 UTC]    Language field in books: YES
[19-Nov-2025 22:12:01 UTC]    Format field in books: YES
[19-Nov-2025 22:12:01 UTC]    Description field in categories: YES
[19-Nov-2025 22:12:01 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:12:01 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:12:01 UTC]    Is_active field in books: YES
[19-Nov-2025 22:12:01 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:12:01 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:12:01 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:12:01 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:12:01 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:12:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:12:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:01 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:12:01 UTC] 📊 Database Info:
[19-Nov-2025 22:12:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:12:01 UTC]    Books columns count: 44
[19-Nov-2025 22:12:01 UTC]    Categories columns count: 7
[19-Nov-2025 22:12:01 UTC]    Language field in books: YES
[19-Nov-2025 22:12:01 UTC]    Format field in books: YES
[19-Nov-2025 22:12:01 UTC]    Description field in categories: YES
[19-Nov-2025 22:12:01 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:12:01 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:12:01 UTC]    Is_active field in books: YES
[19-Nov-2025 22:12:01 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:12:01 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:12:01 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:12:01 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:12:01 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:12:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:12:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:12:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:12:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:12:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:12:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:03 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:12:03 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:12:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:12:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:03 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:12:03 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:12:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:12:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:03 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:12:03 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:12:03 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:03 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:03 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:03 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:03 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:12:03 UTC] 📊 Database Info:
[19-Nov-2025 22:12:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:12:03 UTC]    Books columns count: 44
[19-Nov-2025 22:12:03 UTC]    Categories columns count: 7
[19-Nov-2025 22:12:03 UTC]    Language field in books: YES
[19-Nov-2025 22:12:03 UTC]    Format field in books: YES
[19-Nov-2025 22:12:03 UTC]    Description field in categories: YES
[19-Nov-2025 22:12:03 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:12:03 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:12:03 UTC]    Is_active field in books: YES
[19-Nov-2025 22:12:03 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:12:03 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:12:03 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:12:03 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:12:03 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:12:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:12:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:03 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:12:03 UTC] 📊 Database Info:
[19-Nov-2025 22:12:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:12:03 UTC]    Books columns count: 44
[19-Nov-2025 22:12:03 UTC]    Categories columns count: 7
[19-Nov-2025 22:12:03 UTC]    Language field in books: YES
[19-Nov-2025 22:12:03 UTC]    Format field in books: YES
[19-Nov-2025 22:12:03 UTC]    Description field in categories: YES
[19-Nov-2025 22:12:03 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:12:03 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:12:03 UTC]    Is_active field in books: YES
[19-Nov-2025 22:12:03 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:12:03 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:12:03 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:12:03 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:12:03 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:12:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:12:03 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:03 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:03 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:03 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:12:03 UTC] 📊 Database Info:
[19-Nov-2025 22:12:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:12:03 UTC]    Books columns count: 44
[19-Nov-2025 22:12:03 UTC]    Categories columns count: 7
[19-Nov-2025 22:12:03 UTC]    Language field in books: YES
[19-Nov-2025 22:12:03 UTC]    Format field in books: YES
[19-Nov-2025 22:12:03 UTC]    Description field in categories: YES
[19-Nov-2025 22:12:03 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:12:03 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:12:03 UTC]    Is_active field in books: YES
[19-Nov-2025 22:12:03 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:12:03 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:12:03 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:12:03 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:12:03 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:12:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:12:03 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:12:03 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:12:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:12:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:12:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:12:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:12:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:12:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:12:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:12:04 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:12:04 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:12:05 UTC] 📊 Database Info:
[19-Nov-2025 22:12:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:12:05 UTC]    Books columns count: 44
[19-Nov-2025 22:12:05 UTC]    Categories columns count: 7
[19-Nov-2025 22:12:05 UTC]    Language field in books: YES
[19-Nov-2025 22:12:05 UTC]    Format field in books: YES
[19-Nov-2025 22:12:05 UTC]    Description field in categories: YES
[19-Nov-2025 22:12:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:12:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:12:05 UTC]    Is_active field in books: YES
[19-Nov-2025 22:12:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:12:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:12:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:12:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:12:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:12:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:12:05 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:12:05 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:12:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:05 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:05 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:05 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:05 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:05 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:12:05 UTC] 📊 Database Info:
[19-Nov-2025 22:12:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:12:05 UTC]    Books columns count: 44
[19-Nov-2025 22:12:05 UTC]    Categories columns count: 7
[19-Nov-2025 22:12:05 UTC]    Language field in books: YES
[19-Nov-2025 22:12:05 UTC]    Format field in books: YES
[19-Nov-2025 22:12:05 UTC]    Description field in categories: YES
[19-Nov-2025 22:12:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:12:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:12:05 UTC]    Is_active field in books: YES
[19-Nov-2025 22:12:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:12:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:12:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:12:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:12:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:12:05 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:12:05 UTC] 📊 Database Info:
[19-Nov-2025 22:12:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:12:05 UTC]    Books columns count: 44
[19-Nov-2025 22:12:05 UTC]    Categories columns count: 7
[19-Nov-2025 22:12:05 UTC]    Language field in books: YES
[19-Nov-2025 22:12:05 UTC]    Format field in books: YES
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:12:05 UTC]    Description field in categories: YES
[19-Nov-2025 22:12:05 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:12:05 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:12:05 UTC]    Is_active field in books: YES
[19-Nov-2025 22:12:05 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:12:05 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:12:05 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:12:05 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:12:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:12:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:12:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:12:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:12:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:06 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:12:06 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:12:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:06 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:12:06 UTC] 📊 Database Info:
[19-Nov-2025 22:12:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:12:06 UTC]    Books columns count: 44
[19-Nov-2025 22:12:06 UTC]    Categories columns count: 7
[19-Nov-2025 22:12:06 UTC]    Language field in books: YES
[19-Nov-2025 22:12:06 UTC]    Format field in books: YES
[19-Nov-2025 22:12:06 UTC]    Description field in categories: YES
[19-Nov-2025 22:12:06 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:12:06 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:12:06 UTC]    Is_active field in books: YES
[19-Nov-2025 22:12:06 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:12:06 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:12:06 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:12:06 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:12:06 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:12:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:12:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:12:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:12:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:12:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:45 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:12:45 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:12:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:12:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:45 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:12:45 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:12:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:45 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:12:45 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:45 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:12:45 UTC] 📊 Database Info:
[19-Nov-2025 22:12:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:12:45 UTC]    Books columns count: 44
[19-Nov-2025 22:12:45 UTC]    Categories columns count: 7
[19-Nov-2025 22:12:45 UTC]    Language field in books: YES
[19-Nov-2025 22:12:45 UTC]    Format field in books: YES
[19-Nov-2025 22:12:45 UTC]    Description field in categories: YES
[19-Nov-2025 22:12:45 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:12:45 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:12:45 UTC]    Is_active field in books: YES
[19-Nov-2025 22:12:45 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:12:45 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:12:45 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:12:45 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:12:45 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:12:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:12:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:45 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:12:45 UTC] 📊 Database Info:
[19-Nov-2025 22:12:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:12:45 UTC]    Books columns count: 44
[19-Nov-2025 22:12:45 UTC]    Categories columns count: 7
[19-Nov-2025 22:12:45 UTC]    Language field in books: YES
[19-Nov-2025 22:12:45 UTC]    Format field in books: YES
[19-Nov-2025 22:12:45 UTC]    Description field in categories: YES
[19-Nov-2025 22:12:45 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:12:45 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:12:45 UTC]    Is_active field in books: YES
[19-Nov-2025 22:12:45 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:12:45 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:12:45 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:12:45 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:12:45 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:12:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:12:45 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:12:45 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:12:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:45 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:12:45 UTC] 📊 Database Info:
[19-Nov-2025 22:12:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:12:45 UTC]    Books columns count: 44
[19-Nov-2025 22:12:45 UTC]    Categories columns count: 7
[19-Nov-2025 22:12:45 UTC]    Language field in books: YES
[19-Nov-2025 22:12:45 UTC]    Format field in books: YES
[19-Nov-2025 22:12:45 UTC]    Description field in categories: YES
[19-Nov-2025 22:12:45 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:12:45 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:12:45 UTC]    Is_active field in books: YES
[19-Nov-2025 22:12:45 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:12:45 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:12:45 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:12:45 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:12:45 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:12:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:12:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:12:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:12:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:12:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:12:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:12:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:12:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:12:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:12:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:12:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:12:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:50 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:12:50 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:50 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:12:50 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:12:50 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:12:50 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:12:50 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:12:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:12:50 UTC] 📊 Database Info:
[19-Nov-2025 22:12:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:12:50 UTC]    Books columns count: 44
[19-Nov-2025 22:12:50 UTC]    Categories columns count: 7
[19-Nov-2025 22:12:50 UTC]    Language field in books: YES
[19-Nov-2025 22:12:50 UTC]    Format field in books: YES
[19-Nov-2025 22:12:50 UTC]    Description field in categories: YES
[19-Nov-2025 22:12:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:12:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:12:50 UTC]    Is_active field in books: YES
[19-Nov-2025 22:12:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:12:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:12:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:12:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:12:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:12:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:12:50 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:12:50 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:12:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:12:50 UTC] 📊 Database Info:
[19-Nov-2025 22:12:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:12:50 UTC]    Books columns count: 44
[19-Nov-2025 22:12:50 UTC]    Categories columns count: 7
[19-Nov-2025 22:12:50 UTC]    Language field in books: YES
[19-Nov-2025 22:12:50 UTC]    Format field in books: YES
[19-Nov-2025 22:12:50 UTC]    Description field in categories: YES
[19-Nov-2025 22:12:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:12:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:12:50 UTC]    Is_active field in books: YES
[19-Nov-2025 22:12:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:12:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:12:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:12:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:12:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:12:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:12:50 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:12:50 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:12:50 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:12:50 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:12:50 UTC] 📊 Database Info:
[19-Nov-2025 22:12:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:12:50 UTC]    Books columns count: 44
[19-Nov-2025 22:12:50 UTC]    Categories columns count: 7
[19-Nov-2025 22:12:50 UTC]    Language field in books: YES
[19-Nov-2025 22:12:50 UTC]    Format field in books: YES
[19-Nov-2025 22:12:50 UTC]    Description field in categories: YES
[19-Nov-2025 22:12:50 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:12:50 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:12:50 UTC]    Is_active field in books: YES
[19-Nov-2025 22:12:50 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:12:50 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:12:50 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:12:50 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:12:50 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:12:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:12:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:13:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:13:51 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:13:51 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:13:51 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:13:51 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:13:51 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:13:51 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:13:51 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:13:51 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:13:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:13:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:13:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:13:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:13:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:13:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:13:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:13:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:13:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:13:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:13:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:13:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:13:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:13:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:13:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:13:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:13:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:13:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:13:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:13:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:13:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:13:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:13:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:13:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:13:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:13:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:13:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:13:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:13:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:13:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:13:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:13:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:13:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:13:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:13:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:13:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:13:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:13:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:13:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:13:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:13:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:13:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:13:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:13:52 UTC] 📊 Database Info:
[19-Nov-2025 22:13:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:13:52 UTC]    Books columns count: 44
[19-Nov-2025 22:13:52 UTC]    Categories columns count: 7
[19-Nov-2025 22:13:52 UTC]    Language field in books: YES
[19-Nov-2025 22:13:52 UTC]    Format field in books: YES
[19-Nov-2025 22:13:52 UTC]    Description field in categories: YES
[19-Nov-2025 22:13:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:13:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:13:52 UTC]    Is_active field in books: YES
[19-Nov-2025 22:13:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:13:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:13:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:13:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:13:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:13:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:13:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:13:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:13:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:13:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:13:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:13:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:13:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:13:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:13:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:13:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:13:52 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:13:52 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:13:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:13:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:13:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:13:52 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:13:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:13:52 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:13:52 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:13:52 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:13:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:13:52 UTC] 📊 Database Info:
[19-Nov-2025 22:13:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:13:52 UTC]    Books columns count: 44
[19-Nov-2025 22:13:52 UTC]    Categories columns count: 7
[19-Nov-2025 22:13:52 UTC]    Language field in books: YES
[19-Nov-2025 22:13:52 UTC]    Format field in books: YES
[19-Nov-2025 22:13:52 UTC]    Description field in categories: YES
[19-Nov-2025 22:13:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:13:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:13:52 UTC]    Is_active field in books: YES
[19-Nov-2025 22:13:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:13:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:13:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:13:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:13:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:13:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:13:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:13:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:13:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:13:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:13:52 UTC] 📊 Database Info:
[19-Nov-2025 22:13:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:13:52 UTC]    Books columns count: 44
[19-Nov-2025 22:13:52 UTC]    Categories columns count: 7
[19-Nov-2025 22:13:52 UTC]    Language field in books: YES
[19-Nov-2025 22:13:52 UTC]    Format field in books: YES
[19-Nov-2025 22:13:52 UTC]    Description field in categories: YES
[19-Nov-2025 22:13:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:13:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:13:52 UTC]    Is_active field in books: YES
[19-Nov-2025 22:13:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:13:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:13:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:13:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:13:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:13:52 UTC] 📊 Database Info:
[19-Nov-2025 22:13:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:13:52 UTC]    Books columns count: 44
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:13:52 UTC]    Categories columns count: 7
[19-Nov-2025 22:13:52 UTC]    Language field in books: YES
[19-Nov-2025 22:13:52 UTC]    Format field in books: YES
[19-Nov-2025 22:13:52 UTC]    Description field in categories: YES
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:13:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:13:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:13:52 UTC]    Is_active field in books: YES
[19-Nov-2025 22:13:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:13:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:13:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:13:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:13:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:13:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:13:52 UTC] 📊 Database Info:
[19-Nov-2025 22:13:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:13:52 UTC]    Books columns count: 44
[19-Nov-2025 22:13:52 UTC]    Categories columns count: 7
[19-Nov-2025 22:13:52 UTC]    Language field in books: YES
[19-Nov-2025 22:13:52 UTC]    Format field in books: YES
[19-Nov-2025 22:13:52 UTC]    Description field in categories: YES
[19-Nov-2025 22:13:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:13:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:13:52 UTC]    Is_active field in books: YES
[19-Nov-2025 22:13:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:13:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:13:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:13:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:13:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:13:52 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:13:52 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:13:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:13:52 UTC] 📁 جلب التصنيفات النشطة فقط
[19-Nov-2025 22:13:52 UTC] ✅ إرجاع 1 تصنيف نشط
[19-Nov-2025 22:13:52 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:13:52 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:13:52 UTC] 📊 Database Info:
[19-Nov-2025 22:13:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:13:52 UTC]    Books columns count: 44
[19-Nov-2025 22:13:52 UTC]    Categories columns count: 7
[19-Nov-2025 22:13:52 UTC]    Language field in books: YES
[19-Nov-2025 22:13:52 UTC]    Format field in books: YES
[19-Nov-2025 22:13:52 UTC]    Description field in categories: YES
[19-Nov-2025 22:13:52 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:13:52 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:13:52 UTC]    Is_active field in books: YES
[19-Nov-2025 22:13:52 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:13:52 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:13:52 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:13:52 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:13:52 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:13:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:14:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:14:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:14:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:14:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:14:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:14:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:14:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:14:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:14:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:14:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:14:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:14:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:14:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:14:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:14:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:14:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:14:01 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:14:01 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:14:01 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:14:01 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:14:01 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:14:01 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:14:01 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:14:01 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:14:01 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:14:01 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:14:01 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:14:01 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:14:01 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:14:01 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:14:01 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:14:01 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:14:01 UTC] 📊 Database Info:
[19-Nov-2025 22:14:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:14:01 UTC]    Books columns count: 44
[19-Nov-2025 22:14:01 UTC]    Categories columns count: 7
[19-Nov-2025 22:14:01 UTC]    Language field in books: YES
[19-Nov-2025 22:14:01 UTC]    Format field in books: YES
[19-Nov-2025 22:14:01 UTC]    Description field in categories: YES
[19-Nov-2025 22:14:01 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:14:01 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:14:01 UTC]    Is_active field in books: YES
[19-Nov-2025 22:14:01 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:14:01 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:14:01 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:14:01 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:14:01 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:14:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:14:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:14:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:14:19 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:14:19 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:14:19 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:14:19 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:14:19 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:14:19 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:14:19 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:14:19 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:14:19 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:14:19 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:14:19 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:14:19 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:14:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:14:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:14:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:14:19 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:14:19 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:14:19 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:14:19 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:14:19 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:14:19 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:14:19 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:14:19 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:14:19 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:14:19 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:14:19 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:14:19 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:14:19 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:14:19 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:14:19 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:14:19 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:14:19 UTC] 📊 Database Info:
[19-Nov-2025 22:14:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:14:19 UTC]    Books columns count: 44
[19-Nov-2025 22:14:19 UTC]    Categories columns count: 7
[19-Nov-2025 22:14:19 UTC]    Language field in books: YES
[19-Nov-2025 22:14:19 UTC]    Format field in books: YES
[19-Nov-2025 22:14:19 UTC]    Description field in categories: YES
[19-Nov-2025 22:14:19 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:14:19 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:14:19 UTC]    Is_active field in books: YES
[19-Nov-2025 22:14:19 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:14:19 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:14:19 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:14:19 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:14:19 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:14:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:14:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:14:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:14:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:14:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:14:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:14:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:14:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:14:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:14:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:14:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:14:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:14:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:14:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:14:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:14:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:14:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:14:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:14:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:14:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:14:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:14:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:14:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:14:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:14:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:14:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:14:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:14:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:14:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:14:27 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:14:27 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:14:27 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:14:27 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:14:27 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:14:27 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:14:27 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:14:27 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:14:27 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:14:27 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:14:27 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:14:27 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:14:27 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:14:27 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:14:27 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:14:27 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:14:27 UTC] 📊 Database Info:
[19-Nov-2025 22:14:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:14:27 UTC]    Books columns count: 44
[19-Nov-2025 22:14:27 UTC]    Categories columns count: 7
[19-Nov-2025 22:14:27 UTC]    Language field in books: YES
[19-Nov-2025 22:14:27 UTC]    Format field in books: YES
[19-Nov-2025 22:14:27 UTC]    Description field in categories: YES
[19-Nov-2025 22:14:27 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:14:27 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:14:27 UTC]    Is_active field in books: YES
[19-Nov-2025 22:14:27 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:14:27 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:14:27 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:14:27 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:14:27 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:14:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:14:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:14:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:14:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:14:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:14:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:14:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:14:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:14:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:14:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:14:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:14:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:14:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:14:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:14:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:14:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:14:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:14:31 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:14:31 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:14:31 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:14:31 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:14:31 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:14:31 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:14:31 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:14:31 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:14:31 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:14:31 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:14:31 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:14:31 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:14:31 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:14:31 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:14:31 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:14:31 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:14:31 UTC] 📊 Database Info:
[19-Nov-2025 22:14:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:14:31 UTC]    Books columns count: 44
[19-Nov-2025 22:14:31 UTC]    Categories columns count: 7
[19-Nov-2025 22:14:31 UTC]    Language field in books: YES
[19-Nov-2025 22:14:31 UTC]    Format field in books: YES
[19-Nov-2025 22:14:31 UTC]    Description field in categories: YES
[19-Nov-2025 22:14:31 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:14:31 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:14:31 UTC]    Is_active field in books: YES
[19-Nov-2025 22:14:31 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:14:31 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:14:31 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:14:31 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:14:31 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:14:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:14:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:14:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:14:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:14:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:14:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:14:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:14:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:14:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:14:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:14:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:14:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:14:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:14:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:14:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:14:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:14:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:14:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:14:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:14:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:14:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:14:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:14:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:14:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:14:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:14:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:14:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:14:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:14:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:14:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:14:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:14:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:14:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:14:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:14:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:14:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:14:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:14:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:14:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:14:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:14:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:14:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:14:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:14:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:14:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:14:57 UTC] 📊 Database Info:
[19-Nov-2025 22:14:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:14:57 UTC]    Books columns count: 44
[19-Nov-2025 22:14:57 UTC]    Categories columns count: 7
[19-Nov-2025 22:14:57 UTC]    Language field in books: YES
[19-Nov-2025 22:14:57 UTC]    Format field in books: YES
[19-Nov-2025 22:14:57 UTC]    Description field in categories: YES
[19-Nov-2025 22:14:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:14:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:14:57 UTC]    Is_active field in books: YES
[19-Nov-2025 22:14:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:14:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:14:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:14:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:14:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:14:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:14:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:14:57 UTC] ✅ Deleted custom category image: uploads/images/691e3af40a52f_1763588852.jpg
[19-Nov-2025 22:15:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:05 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:05 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:05 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:05 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:05 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:05 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:05 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:05 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:05 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:06 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:06 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:06 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:06 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:06 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:06 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:06 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:06 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:06 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:06 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:06 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:06 UTC] 📊 Database Info:
[19-Nov-2025 22:15:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:06 UTC]    Books columns count: 44
[19-Nov-2025 22:15:06 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:06 UTC]    Language field in books: YES
[19-Nov-2025 22:15:06 UTC]    Format field in books: YES
[19-Nov-2025 22:15:06 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:06 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:06 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:06 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:06 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:06 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:06 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:06 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:06 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:06 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 22:15:06 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 22:15:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:06 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:06 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:06 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:06 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:06 UTC] 📊 Database Info:
[19-Nov-2025 22:15:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:06 UTC]    Books columns count: 44
[19-Nov-2025 22:15:06 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:06 UTC]    Language field in books: YES
[19-Nov-2025 22:15:06 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:06 UTC]    Format field in books: YES
[19-Nov-2025 22:15:06 UTC] 📊 Database Info:
[19-Nov-2025 22:15:06 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:06 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:06 UTC]    Books columns count: 44
[19-Nov-2025 22:15:06 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:06 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:06 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:06 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:06 UTC]    Language field in books: YES
[19-Nov-2025 22:15:06 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:06 UTC]    Format field in books: YES
[19-Nov-2025 22:15:06 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:06 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:06 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:06 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:06 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:06 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:06 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:06 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:06 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:06 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:06 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:06 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 22:15:06 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 22:15:06 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 22:15:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:07 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:07 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:07 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:07 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:07 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:07 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:07 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:07 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:07 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:07 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:07 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:07 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:07 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:07 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:07 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:07 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:07 UTC] 📊 Database Info:
[19-Nov-2025 22:15:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:07 UTC]    Books columns count: 44
[19-Nov-2025 22:15:07 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:07 UTC]    Language field in books: YES
[19-Nov-2025 22:15:07 UTC]    Format field in books: YES
[19-Nov-2025 22:15:07 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:07 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:07 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:07 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:07 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:07 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:07 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:07 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:07 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:09 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:09 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:09 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:09 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:09 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:09 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:09 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:09 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:09 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:09 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:09 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:09 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:09 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:09 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:09 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:09 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:09 UTC] 📊 Database Info:
[19-Nov-2025 22:15:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:09 UTC]    Books columns count: 44
[19-Nov-2025 22:15:09 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:09 UTC]    Language field in books: YES
[19-Nov-2025 22:15:09 UTC]    Format field in books: YES
[19-Nov-2025 22:15:09 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:09 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:09 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:09 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:09 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:09 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:09 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:09 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:09 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:16 UTC] 📊 Database Info:
[19-Nov-2025 22:15:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:16 UTC]    Books columns count: 44
[19-Nov-2025 22:15:16 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:16 UTC]    Language field in books: YES
[19-Nov-2025 22:15:16 UTC]    Format field in books: YES
[19-Nov-2025 22:15:16 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:16 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:16 UTC] 🔄 Processing category - ID: , Name: Tt, Active: 1, Remove Image: NO
[19-Nov-2025 22:15:16 UTC] 🔍 Checking for duplicate category name: 'Tt'
[19-Nov-2025 22:15:16 UTC] ✅ No duplicate category name found
[19-Nov-2025 22:15:16 UTC] ✅ Using default category image: uploads/no-imagee.jpg
[19-Nov-2025 22:15:16 UTC] 🆕 Adding new category with active status: 1
[19-Nov-2025 22:15:16 UTC] ✅ New category added with ID: 9 and active status: 1
[19-Nov-2025 22:15:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:16 UTC] 📊 Database Info:
[19-Nov-2025 22:15:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:16 UTC]    Books columns count: 44
[19-Nov-2025 22:15:16 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:16 UTC]    Language field in books: YES
[19-Nov-2025 22:15:16 UTC]    Format field in books: YES
[19-Nov-2025 22:15:16 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:16 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:16 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 22:15:16 UTC] ✅ إرجاع 2 تصنيف
[19-Nov-2025 22:15:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:19 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:19 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:19 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:19 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:19 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:19 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:19 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:19 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:19 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:19 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:19 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:19 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:19 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:19 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:19 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:19 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:19 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:19 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:19 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:19 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:19 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:19 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:19 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:19 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:19 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:19 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:19 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:19 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:19 UTC] 📊 Database Info:
[19-Nov-2025 22:15:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:19 UTC]    Books columns count: 44
[19-Nov-2025 22:15:19 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:19 UTC]    Language field in books: YES
[19-Nov-2025 22:15:19 UTC]    Format field in books: YES
[19-Nov-2025 22:15:19 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:19 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:19 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:19 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:19 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:19 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:19 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:19 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:19 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:22 UTC] 📊 Database Info:
[19-Nov-2025 22:15:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:22 UTC]    Books columns count: 44
[19-Nov-2025 22:15:22 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:22 UTC]    Language field in books: YES
[19-Nov-2025 22:15:22 UTC]    Format field in books: YES
[19-Nov-2025 22:15:22 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:22 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:24 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:24 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:24 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:24 UTC] 📊 Database Info:
[19-Nov-2025 22:15:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:24 UTC]    Books columns count: 44
[19-Nov-2025 22:15:24 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:24 UTC]    Language field in books: YES
[19-Nov-2025 22:15:24 UTC]    Format field in books: YES
[19-Nov-2025 22:15:24 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:24 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:24 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:24 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:24 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:24 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:24 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:24 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:24 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:24 UTC] ℹ️ Skipping default image deletion: uploads/no-imagee.jpg
[19-Nov-2025 22:15:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:24 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:24 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:24 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:24 UTC] 📊 Database Info:
[19-Nov-2025 22:15:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:24 UTC]    Books columns count: 44
[19-Nov-2025 22:15:24 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:24 UTC]    Language field in books: YES
[19-Nov-2025 22:15:24 UTC]    Format field in books: YES
[19-Nov-2025 22:15:24 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:24 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:24 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:24 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:24 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:24 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:24 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:24 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:24 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:24 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 22:15:24 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 22:15:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:26 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:26 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:26 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:26 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:26 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:26 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:26 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:26 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:26 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:26 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:26 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:26 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:26 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:26 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:26 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:26 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:26 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:26 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:26 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:26 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:26 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:26 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:26 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:26 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:26 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:26 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:26 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:26 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:26 UTC] 📊 Database Info:
[19-Nov-2025 22:15:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:26 UTC]    Books columns count: 44
[19-Nov-2025 22:15:26 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:26 UTC]    Language field in books: YES
[19-Nov-2025 22:15:26 UTC]    Format field in books: YES
[19-Nov-2025 22:15:26 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:26 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:26 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:26 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:26 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:26 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:26 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:26 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:26 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:41 UTC] 📊 Database Info:
[19-Nov-2025 22:15:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:41 UTC]    Books columns count: 44
[19-Nov-2025 22:15:41 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:41 UTC]    Language field in books: YES
[19-Nov-2025 22:15:41 UTC]    Format field in books: YES
[19-Nov-2025 22:15:41 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:41 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:41 UTC] 🔄 Processing category - ID: 8, Name: 6h, Active: 1, Remove Image: NO
[19-Nov-2025 22:15:41 UTC] 🔍 Checking for duplicate category name: '6h'
[19-Nov-2025 22:15:41 UTC] ✅ No duplicate category name found
[19-Nov-2025 22:15:41 UTC] 📁 Keeping existing category image: uploads/images/691e3af40a52f_1763588852.jpg
[19-Nov-2025 22:15:41 UTC] 🔄 Updating existing category ID: 8
[19-Nov-2025 22:15:41 UTC] ✅ Category updated with new image and active status: 1
[19-Nov-2025 22:15:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:41 UTC] 📊 Database Info:
[19-Nov-2025 22:15:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:41 UTC]    Books columns count: 44
[19-Nov-2025 22:15:41 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:41 UTC]    Language field in books: YES
[19-Nov-2025 22:15:41 UTC]    Format field in books: YES
[19-Nov-2025 22:15:41 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:41 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:41 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 22:15:41 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 22:15:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:44 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:44 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:44 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:44 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:44 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:44 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:44 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:44 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:44 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:44 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:44 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:44 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:44 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:44 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:44 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:44 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:44 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:44 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:44 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:44 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:44 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:44 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:44 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:44 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:44 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:44 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:44 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:44 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:44 UTC] 📊 Database Info:
[19-Nov-2025 22:15:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:44 UTC]    Books columns count: 44
[19-Nov-2025 22:15:44 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:44 UTC]    Language field in books: YES
[19-Nov-2025 22:15:44 UTC]    Format field in books: YES
[19-Nov-2025 22:15:44 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:44 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:44 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:44 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:44 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:44 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:44 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:44 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:44 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:47 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:47 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:47 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:47 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:47 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:47 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:47 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:47 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:47 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:47 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:47 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:47 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:47 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:47 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:47 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:47 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:47 UTC] 📊 Database Info:
[19-Nov-2025 22:15:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:47 UTC]    Books columns count: 44
[19-Nov-2025 22:15:47 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:47 UTC]    Language field in books: YES
[19-Nov-2025 22:15:47 UTC]    Format field in books: YES
[19-Nov-2025 22:15:47 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:47 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:47 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:47 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:47 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:47 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:47 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:47 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:47 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:47 UTC] 🔄 Processing category - ID: 8, Name: 6h, Active: 1, Remove Image: NO
[19-Nov-2025 22:15:47 UTC] 🔍 Checking for duplicate category name: '6h'
[19-Nov-2025 22:15:47 UTC] ✅ No duplicate category name found
[19-Nov-2025 22:15:47 UTC] 📁 Keeping existing category image: uploads/images/691e3af40a52f_1763588852.jpg
[19-Nov-2025 22:15:47 UTC] 🔄 Updating existing category ID: 8
[19-Nov-2025 22:15:47 UTC] ✅ Category updated with new image and active status: 1
[19-Nov-2025 22:15:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:48 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:48 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:48 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:48 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:48 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:48 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:48 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:48 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:48 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:48 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:48 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:48 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:48 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:48 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:48 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:48 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:48 UTC] 📊 Database Info:
[19-Nov-2025 22:15:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:48 UTC]    Books columns count: 44
[19-Nov-2025 22:15:48 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:48 UTC]    Language field in books: YES
[19-Nov-2025 22:15:48 UTC]    Format field in books: YES
[19-Nov-2025 22:15:48 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:48 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:48 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:48 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:48 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:48 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:48 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:48 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:48 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:48 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 22:15:48 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 22:15:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:53 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:53 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:53 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:53 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:53 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:53 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:53 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:53 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:53 UTC] 📊 Database Info:
[19-Nov-2025 22:15:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:53 UTC]    Books columns count: 44
[19-Nov-2025 22:15:53 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:53 UTC]    Language field in books: YES
[19-Nov-2025 22:15:53 UTC]    Format field in books: YES
[19-Nov-2025 22:15:53 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:53 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:53 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:53 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:53 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:53 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:53 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:53 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:53 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:53 UTC] 🔄 Processing category - ID: 8, Name: 6h, Active: 1, Remove Image: NO
[19-Nov-2025 22:15:53 UTC] 🔍 Checking for duplicate category name: '6h'
[19-Nov-2025 22:15:53 UTC] ✅ No duplicate category name found
[19-Nov-2025 22:15:53 UTC] 📁 Keeping existing category image: uploads/images/691e3af40a52f_1763588852.jpg
[19-Nov-2025 22:15:53 UTC] 🔄 Updating existing category ID: 8
[19-Nov-2025 22:15:53 UTC] ✅ Category updated with new image and active status: 1
[19-Nov-2025 22:15:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:53 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:53 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:53 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:53 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:53 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:53 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:53 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:53 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:54 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:54 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:54 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:54 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:54 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:54 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:54 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:54 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:54 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:54 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:54 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:54 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:54 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:54 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:54 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:54 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:54 UTC] 📊 Database Info:
[19-Nov-2025 22:15:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:54 UTC]    Books columns count: 44
[19-Nov-2025 22:15:54 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:54 UTC]    Language field in books: YES
[19-Nov-2025 22:15:54 UTC]    Format field in books: YES
[19-Nov-2025 22:15:54 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:54 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:54 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:54 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:54 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:54 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:54 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:54 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:54 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:54 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 22:15:54 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 22:15:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:15:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:15:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:15:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:57 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:15:57 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:15:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:57 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:15:57 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:57 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:15:57 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:15:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:57 UTC] 📊 Database Info:
[19-Nov-2025 22:15:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:57 UTC]    Books columns count: 44
[19-Nov-2025 22:15:57 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:57 UTC]    Language field in books: YES
[19-Nov-2025 22:15:57 UTC]    Format field in books: YES
[19-Nov-2025 22:15:57 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:57 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:15:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:57 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:57 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:15:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 22:15:57 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 22:15:57 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 22:15:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:57 UTC] 📊 Database Info:
[19-Nov-2025 22:15:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:57 UTC]    Books columns count: 44
[19-Nov-2025 22:15:57 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:57 UTC]    Language field in books: YES
[19-Nov-2025 22:15:57 UTC]    Format field in books: YES
[19-Nov-2025 22:15:57 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:57 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:57 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:15:57 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:15:57 UTC] 📊 Database Info:
[19-Nov-2025 22:15:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:15:57 UTC]    Books columns count: 44
[19-Nov-2025 22:15:57 UTC]    Categories columns count: 7
[19-Nov-2025 22:15:57 UTC]    Language field in books: YES
[19-Nov-2025 22:15:57 UTC]    Format field in books: YES
[19-Nov-2025 22:15:57 UTC]    Description field in categories: YES
[19-Nov-2025 22:15:57 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:15:57 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:15:57 UTC]    Is_active field in books: YES
[19-Nov-2025 22:15:57 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:15:57 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:15:57 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:15:57 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:15:57 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:15:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:15:57 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 22:15:57 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 22:16:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:16:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:16:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:00 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:16:00 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:16:00 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:00 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:00 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:00 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:00 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:00 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:00 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:00 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:00 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:00 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:00 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:00 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:00 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:00 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:16:00 UTC] 📊 Database Info:
[19-Nov-2025 22:16:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:16:00 UTC]    Books columns count: 44
[19-Nov-2025 22:16:00 UTC]    Categories columns count: 7
[19-Nov-2025 22:16:00 UTC]    Language field in books: YES
[19-Nov-2025 22:16:00 UTC]    Format field in books: YES
[19-Nov-2025 22:16:00 UTC]    Description field in categories: YES
[19-Nov-2025 22:16:00 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:16:00 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:16:00 UTC]    Is_active field in books: YES
[19-Nov-2025 22:16:00 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:16:00 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:16:00 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:16:00 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:16:00 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:16:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:16:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:16:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:16:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:16:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:16:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:16:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:16:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:16:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:16:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:16:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:16:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:16:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:16:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:16:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:16:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:02 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:16:02 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:16:02 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:02 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:02 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:02 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:02 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:02 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:02 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:02 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:02 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:02 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:02 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:02 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:02 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:02 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:16:02 UTC] 📊 Database Info:
[19-Nov-2025 22:16:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:16:02 UTC]    Books columns count: 44
[19-Nov-2025 22:16:02 UTC]    Categories columns count: 7
[19-Nov-2025 22:16:02 UTC]    Language field in books: YES
[19-Nov-2025 22:16:02 UTC]    Format field in books: YES
[19-Nov-2025 22:16:02 UTC]    Description field in categories: YES
[19-Nov-2025 22:16:02 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:16:02 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:16:02 UTC]    Is_active field in books: YES
[19-Nov-2025 22:16:02 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:16:02 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:16:02 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:16:02 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:16:02 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:16:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:16:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:16:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:16:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:08 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:16:08 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:16:08 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:08 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:08 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:08 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:08 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:08 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:08 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:08 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:08 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:08 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:08 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:08 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:08 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:08 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:16:08 UTC] 📊 Database Info:
[19-Nov-2025 22:16:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:16:08 UTC]    Books columns count: 44
[19-Nov-2025 22:16:08 UTC]    Categories columns count: 7
[19-Nov-2025 22:16:08 UTC]    Language field in books: YES
[19-Nov-2025 22:16:08 UTC]    Format field in books: YES
[19-Nov-2025 22:16:08 UTC]    Description field in categories: YES
[19-Nov-2025 22:16:08 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:16:08 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:16:08 UTC]    Is_active field in books: YES
[19-Nov-2025 22:16:08 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:16:08 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:16:08 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:16:08 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:16:08 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:16:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:16:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:16:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:16:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:16:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:16:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:16:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:16:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:16:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:16:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:16:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:16:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:16:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:16:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:16:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:16:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:16:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:16:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:16:16 UTC] 📊 Database Info:
[19-Nov-2025 22:16:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:16:16 UTC]    Books columns count: 44
[19-Nov-2025 22:16:16 UTC]    Categories columns count: 7
[19-Nov-2025 22:16:16 UTC]    Language field in books: YES
[19-Nov-2025 22:16:16 UTC]    Format field in books: YES
[19-Nov-2025 22:16:16 UTC]    Description field in categories: YES
[19-Nov-2025 22:16:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:16:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:16:16 UTC]    Is_active field in books: YES
[19-Nov-2025 22:16:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:16:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:16:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:16:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:16:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:16:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:16:16 UTC] 🔄 Processing category - ID: 8, Name: Hhh, Active: 1, Remove Image: NO
[19-Nov-2025 22:16:16 UTC] 🔍 Checking for duplicate category name: 'Hhh'
[19-Nov-2025 22:16:16 UTC] ✅ No duplicate category name found
[19-Nov-2025 22:16:16 UTC] 📁 Keeping existing category image: uploads/images/691e3af40a52f_1763588852.jpg
[19-Nov-2025 22:16:16 UTC] 🔄 Updating existing category ID: 8
[19-Nov-2025 22:16:16 UTC] ✅ Category updated with new image and active status: 1
[19-Nov-2025 22:16:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:16:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:16:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:16 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:16:16 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:16:16 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:16 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:16 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:16 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:16 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:16 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:16 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:16 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:16 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:16:16 UTC] 📊 Database Info:
[19-Nov-2025 22:16:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:16:16 UTC]    Books columns count: 44
[19-Nov-2025 22:16:16 UTC]    Categories columns count: 7
[19-Nov-2025 22:16:16 UTC]    Language field in books: YES
[19-Nov-2025 22:16:16 UTC]    Format field in books: YES
[19-Nov-2025 22:16:16 UTC]    Description field in categories: YES
[19-Nov-2025 22:16:16 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:16:16 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:16:16 UTC]    Is_active field in books: YES
[19-Nov-2025 22:16:16 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:16:16 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:16:16 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:16:16 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:16:16 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:16:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:16:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:16:16 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 22:16:16 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 22:16:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:16:19 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:19 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:19 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:19 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:19 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:19 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:19 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:19 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:16:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:20 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:16:20 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:16:20 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:20 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:20 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:20 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:20 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:20 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:20 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:20 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:20 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:20 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:20 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:16:20 UTC] 📊 Database Info:
[19-Nov-2025 22:16:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:16:20 UTC]    Books columns count: 44
[19-Nov-2025 22:16:20 UTC]    Categories columns count: 7
[19-Nov-2025 22:16:20 UTC]    Language field in books: YES
[19-Nov-2025 22:16:20 UTC]    Format field in books: YES
[19-Nov-2025 22:16:20 UTC]    Description field in categories: YES
[19-Nov-2025 22:16:20 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:16:20 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:16:20 UTC]    Is_active field in books: YES
[19-Nov-2025 22:16:20 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:16:20 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:16:20 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:16:20 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:16:20 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:16:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:16:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:16:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:16:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:16:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:16:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:16:22 UTC] 📊 Database Info:
[19-Nov-2025 22:16:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:16:22 UTC]    Books columns count: 44
[19-Nov-2025 22:16:22 UTC]    Categories columns count: 7
[19-Nov-2025 22:16:22 UTC]    Language field in books: YES
[19-Nov-2025 22:16:22 UTC]    Format field in books: YES
[19-Nov-2025 22:16:22 UTC]    Description field in categories: YES
[19-Nov-2025 22:16:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:16:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:16:22 UTC]    Is_active field in books: YES
[19-Nov-2025 22:16:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:16:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:16:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:16:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:16:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:16:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:16:22 UTC] 🔄 Processing category - ID: 8, Name: Hhh, Active: 0, Remove Image: NO
[19-Nov-2025 22:16:22 UTC] 🔍 Checking for duplicate category name: 'Hhh'
[19-Nov-2025 22:16:22 UTC] ✅ No duplicate category name found
[19-Nov-2025 22:16:22 UTC] 📁 Keeping existing category image: uploads/images/691e3af40a52f_1763588852.jpg
[19-Nov-2025 22:16:22 UTC] 🔄 Updating existing category ID: 8
[19-Nov-2025 22:16:22 UTC] ✅ Category updated with new image and active status: 0
[19-Nov-2025 22:16:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:16:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:16:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:22 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:16:22 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:16:22 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:22 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:22 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:22 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:22 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:22 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:22 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:22 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:22 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:16:22 UTC] 📊 Database Info:
[19-Nov-2025 22:16:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:16:22 UTC]    Books columns count: 44
[19-Nov-2025 22:16:22 UTC]    Categories columns count: 7
[19-Nov-2025 22:16:22 UTC]    Language field in books: YES
[19-Nov-2025 22:16:22 UTC]    Format field in books: YES
[19-Nov-2025 22:16:22 UTC]    Description field in categories: YES
[19-Nov-2025 22:16:22 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:16:22 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:16:22 UTC]    Is_active field in books: YES
[19-Nov-2025 22:16:22 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:16:22 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:16:22 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:16:22 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:16:22 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:16:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:16:22 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 22:16:22 UTC] ✅ إرجاع 1 تصنيف
[19-Nov-2025 22:16:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:16:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:16:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:24 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:16:24 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:16:24 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:24 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:24 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:24 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:24 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:24 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:24 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:24 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:24 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:24 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:24 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:24 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:24 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:24 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:16:24 UTC] 📊 Database Info:
[19-Nov-2025 22:16:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:16:24 UTC]    Books columns count: 44
[19-Nov-2025 22:16:24 UTC]    Categories columns count: 7
[19-Nov-2025 22:16:24 UTC]    Language field in books: YES
[19-Nov-2025 22:16:24 UTC]    Format field in books: YES
[19-Nov-2025 22:16:24 UTC]    Description field in categories: YES
[19-Nov-2025 22:16:24 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:16:24 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:16:24 UTC]    Is_active field in books: YES
[19-Nov-2025 22:16:24 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:16:24 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:16:24 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:16:24 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:16:24 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:16:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:16:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:16:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:16:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:40 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:16:40 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:16:40 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:40 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:40 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:40 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:40 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:40 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:40 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:40 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:40 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:40 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:40 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:40 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:40 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:40 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:16:40 UTC] 📊 Database Info:
[19-Nov-2025 22:16:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:16:40 UTC]    Books columns count: 44
[19-Nov-2025 22:16:40 UTC]    Categories columns count: 7
[19-Nov-2025 22:16:40 UTC]    Language field in books: YES
[19-Nov-2025 22:16:40 UTC]    Format field in books: YES
[19-Nov-2025 22:16:40 UTC]    Description field in categories: YES
[19-Nov-2025 22:16:40 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:16:40 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:16:40 UTC]    Is_active field in books: YES
[19-Nov-2025 22:16:40 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:16:40 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:16:40 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:16:40 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:16:40 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:16:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:16:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:16:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:16:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:41 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:16:41 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:16:41 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:41 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:41 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:41 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:41 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:41 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:41 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:41 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:41 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:41 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:41 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:41 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:41 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:41 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:16:41 UTC] 📊 Database Info:
[19-Nov-2025 22:16:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:16:41 UTC]    Books columns count: 44
[19-Nov-2025 22:16:41 UTC]    Categories columns count: 7
[19-Nov-2025 22:16:41 UTC]    Language field in books: YES
[19-Nov-2025 22:16:41 UTC]    Format field in books: YES
[19-Nov-2025 22:16:41 UTC]    Description field in categories: YES
[19-Nov-2025 22:16:41 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:16:41 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:16:41 UTC]    Is_active field in books: YES
[19-Nov-2025 22:16:41 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:16:41 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:16:41 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:16:41 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:16:41 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:16:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:16:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:16:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:16:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:45 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:16:45 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:16:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:45 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:16:45 UTC] 📊 Database Info:
[19-Nov-2025 22:16:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:16:45 UTC]    Books columns count: 44
[19-Nov-2025 22:16:45 UTC]    Categories columns count: 7
[19-Nov-2025 22:16:45 UTC]    Language field in books: YES
[19-Nov-2025 22:16:45 UTC]    Format field in books: YES
[19-Nov-2025 22:16:45 UTC]    Description field in categories: YES
[19-Nov-2025 22:16:45 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:16:45 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:16:45 UTC]    Is_active field in books: YES
[19-Nov-2025 22:16:45 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:16:45 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:16:45 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:16:45 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:16:45 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:16:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:16:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:16:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:16:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:16:45 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:16:45 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:16:45 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:16:45 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:16:45 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:16:45 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:16:45 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:16:45 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:16:45 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:16:45 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:16:45 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:16:45 UTC] 📊 Database Info:
[19-Nov-2025 22:16:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:16:45 UTC]    Books columns count: 44
[19-Nov-2025 22:16:45 UTC]    Categories columns count: 7
[19-Nov-2025 22:16:45 UTC]    Language field in books: YES
[19-Nov-2025 22:16:45 UTC]    Format field in books: YES
[19-Nov-2025 22:16:45 UTC]    Description field in categories: YES
[19-Nov-2025 22:16:45 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:16:45 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:16:45 UTC]    Is_active field in books: YES
[19-Nov-2025 22:16:45 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:16:45 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:16:45 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:16:45 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:16:45 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:16:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:16:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:16:45 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 22:16:45 UTC] ✅ إرجاع 0 تصنيف
[19-Nov-2025 22:19:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:19:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:19:37 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:19:37 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:19:37 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:19:37 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:19:37 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:19:37 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:19:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:19:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:19:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:19:37 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:19:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:19:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:19:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:19:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:19:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:19:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:19:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:19:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:19:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:19:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:19:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:19:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:19:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:19:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:19:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:19:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:19:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:19:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:19:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:19:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:19:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:19:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:19:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:19:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:19:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:19:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:19:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:19:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:19:38 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:19:38 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:19:38 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:19:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:19:38 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:19:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:19:38 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:19:38 UTC] 📊 Database Info:
[19-Nov-2025 22:19:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:19:38 UTC]    Books columns count: 44
[19-Nov-2025 22:19:38 UTC]    Categories columns count: 7
[19-Nov-2025 22:19:38 UTC]    Language field in books: YES
[19-Nov-2025 22:19:38 UTC]    Format field in books: YES
[19-Nov-2025 22:19:38 UTC]    Description field in categories: YES
[19-Nov-2025 22:19:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:19:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:19:38 UTC]    Is_active field in books: YES
[19-Nov-2025 22:19:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:19:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:19:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:19:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:19:38 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:19:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:19:38 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 22:19:38 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:19:38 UTC] ✅ إرجاع 0 تصنيف
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:19:38 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:19:38 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:19:38 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:19:38 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:19:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:19:38 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:19:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:19:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:19:38 UTC] 📊 Database Info:
[19-Nov-2025 22:19:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:19:38 UTC]    Books columns count: 44
[19-Nov-2025 22:19:38 UTC]    Categories columns count: 7
[19-Nov-2025 22:19:38 UTC]    Language field in books: YES
[19-Nov-2025 22:19:38 UTC]    Format field in books: YES
[19-Nov-2025 22:19:38 UTC]    Description field in categories: YES
[19-Nov-2025 22:19:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:19:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:19:38 UTC]    Is_active field in books: YES
[19-Nov-2025 22:19:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:19:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:19:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:19:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:19:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:19:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:19:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 22:19:38 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 22:19:38 UTC] ✅ إرجاع 0 تصنيف بروفايل
[19-Nov-2025 22:19:38 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:19:38 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:19:38 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:19:38 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:19:38 UTC] 📊 Database Info:
[19-Nov-2025 22:19:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:19:38 UTC]    Books columns count: 44
[19-Nov-2025 22:19:38 UTC]    Categories columns count: 7
[19-Nov-2025 22:19:38 UTC]    Language field in books: YES
[19-Nov-2025 22:19:38 UTC]    Format field in books: YES
[19-Nov-2025 22:19:38 UTC]    Description field in categories: YES
[19-Nov-2025 22:19:38 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:19:38 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:19:38 UTC]    Is_active field in books: YES
[19-Nov-2025 22:19:38 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:19:38 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:19:38 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:19:38 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:19:38 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:19:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:19:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:56:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:56:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:56:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:56:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:56:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:56:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:56:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[19-Nov-2025 22:56:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:56:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:56:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:56:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:56:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:56:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:56:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:56:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:56:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:56:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:56:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:56:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:56:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:56:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:56:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:56:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:56:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:56:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:56:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:56:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:56:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:56:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:56:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[19-Nov-2025 22:56:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:56:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[19-Nov-2025 22:56:17 UTC] ⚠️ Missing columns detected: description, display_order
[19-Nov-2025 22:56:17 UTC] 🔄 Attempting to add missing columns...
[19-Nov-2025 22:56:17 UTC] ℹ️ Column institution already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column publication_year already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column keywords already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column selected_pages_summary already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column selected_pages_toc already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column selected_pages_original already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_protected already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column protection_key already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_read_button already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column read_button_text already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_external_plus already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column custom_file_size already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_file_size already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column taille_before_extrait already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_download_extrait_button already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column download_extrait_button_text already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column original_pdf_url already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column download_count already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column stockage already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column language already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column format already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column external_download_link already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_external_download_button already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column external_download_protection_key already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_external_download_protected already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_active already exists
[19-Nov-2025 22:56:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:56:17 UTC] ℹ️ Column description already exists in categories
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:56:17 UTC] ℹ️ Column display_order already exists in categories
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:56:17 UTC] ℹ️ Column is_active already exists in categories
[19-Nov-2025 22:56:17 UTC] ℹ️ Column show_welcome_section already exists
[19-Nov-2025 22:56:17 UTC] ℹ️ Column company_address already exists
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:56:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with original_pdf_url
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with is_active = TRUE
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing categories with new fields
[19-Nov-2025 22:56:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:56:17 UTC] 📊 Database Info:
[19-Nov-2025 22:56:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:56:17 UTC]    Books columns count: 44
[19-Nov-2025 22:56:17 UTC]    Categories columns count: 7
[19-Nov-2025 22:56:17 UTC]    Language field in books: YES
[19-Nov-2025 22:56:17 UTC]    Format field in books: YES
[19-Nov-2025 22:56:17 UTC]    Description field in categories: YES
[19-Nov-2025 22:56:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:56:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:56:17 UTC]    Is_active field in books: YES
[19-Nov-2025 22:56:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:56:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:56:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:56:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:56:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:56:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:56:17 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[19-Nov-2025 22:56:17 UTC] ✅ إرجاع 0 تصنيف
[19-Nov-2025 22:56:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:56:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:56:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:56:17 UTC] 📊 Database Info:
[19-Nov-2025 22:56:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:56:17 UTC]    Books columns count: 44
[19-Nov-2025 22:56:17 UTC]    Categories columns count: 7
[19-Nov-2025 22:56:17 UTC]    Language field in books: YES
[19-Nov-2025 22:56:17 UTC]    Format field in books: YES
[19-Nov-2025 22:56:17 UTC]    Description field in categories: YES
[19-Nov-2025 22:56:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:56:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:56:17 UTC]    Is_active field in books: YES
[19-Nov-2025 22:56:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:56:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:56:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:56:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:56:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:56:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:56:17 UTC] ✅ Default screen texts inserted successfully
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with empty language field
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with empty format field
[19-Nov-2025 22:56:17 UTC] ✅ Updated existing books with default external download link and protection values
[19-Nov-2025 22:56:17 UTC] ✅ Database tables created/updated successfully with all new fields
[19-Nov-2025 22:56:17 UTC] ℹ️ Favorites table not available for inspection
[19-Nov-2025 22:56:17 UTC] 📊 Database Info:
[19-Nov-2025 22:56:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[19-Nov-2025 22:56:17 UTC]    Books columns count: 44
[19-Nov-2025 22:56:17 UTC]    Categories columns count: 7
[19-Nov-2025 22:56:17 UTC]    Language field in books: YES
[19-Nov-2025 22:56:17 UTC]    Format field in books: YES
[19-Nov-2025 22:56:17 UTC]    Description field in categories: YES
[19-Nov-2025 22:56:17 UTC]    Display_order field in categories: YES
[19-Nov-2025 22:56:17 UTC]    Is_active field in categories: YES
[19-Nov-2025 22:56:17 UTC]    Is_active field in books: YES
[19-Nov-2025 22:56:17 UTC]    External_download_link field in books: YES
[19-Nov-2025 22:56:17 UTC]    Show_external_download_button field in books: YES
[19-Nov-2025 22:56:17 UTC]    External_download_protection_key field in books: YES
[19-Nov-2025 22:56:17 UTC]    Is_external_download_protected field in books: YES
[19-Nov-2025 22:56:17 UTC] ℹ️ Database is already at version 23
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[19-Nov-2025 22:56:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[19-Nov-2025 22:56:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[19-Nov-2025 22:56:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[19-Nov-2025 22:56:17 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[19-Nov-2025 22:56:17 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 13:10:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:10:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:10:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:10:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:10:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:10:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:10:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:10:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:10:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:10:51 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:10:51 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:10:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:10:51 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:10:51 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:10:51 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:10:51 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:10:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:10:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:10:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:10:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:10:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:10:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:10:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:10:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:10:51 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:10:51 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:10:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:10:51 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:10:51 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:10:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:10:51 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:10:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:10:51 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:10:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:10:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:10:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:10:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:10:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:10:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:10:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:10:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:10:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:10:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:10:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:10:51 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:10:51 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:10:51 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:10:51 UTC] 📊 Database Info:
[20-Nov-2025 13:10:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:10:51 UTC]    Books columns count: 44
[20-Nov-2025 13:10:51 UTC]    Categories columns count: 7
[20-Nov-2025 13:10:51 UTC]    Language field in books: YES
[20-Nov-2025 13:10:51 UTC]    Format field in books: YES
[20-Nov-2025 13:10:51 UTC]    Description field in categories: YES
[20-Nov-2025 13:10:51 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:10:51 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:10:51 UTC]    Is_active field in books: YES
[20-Nov-2025 13:10:51 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:10:51 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:10:51 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:10:51 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:10:51 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:10:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:10:51 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:10:51 UTC] ✅ إرجاع 0 تصنيف نشط
[20-Nov-2025 13:10:51 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:10:51 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:10:51 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:10:51 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:10:51 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:10:51 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:10:51 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:10:51 UTC] 📊 Database Info:
[20-Nov-2025 13:10:51 UTC] 📊 Database Info:
[20-Nov-2025 13:10:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:10:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:10:51 UTC]    Books columns count: 44
[20-Nov-2025 13:10:51 UTC]    Categories columns count: 7
[20-Nov-2025 13:10:51 UTC]    Books columns count: 44
[20-Nov-2025 13:10:51 UTC]    Categories columns count: 7
[20-Nov-2025 13:10:51 UTC]    Language field in books: YES
[20-Nov-2025 13:10:51 UTC]    Format field in books: YES
[20-Nov-2025 13:10:51 UTC]    Description field in categories: YES
[20-Nov-2025 13:10:51 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:10:51 UTC]    Language field in books: YES
[20-Nov-2025 13:10:51 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:10:51 UTC]    Is_active field in books: YES
[20-Nov-2025 13:10:51 UTC]    Format field in books: YES
[20-Nov-2025 13:10:51 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:10:51 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:10:51 UTC]    Description field in categories: YES
[20-Nov-2025 13:10:51 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:10:51 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:10:51 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:10:51 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:10:51 UTC]    Is_active field in books: YES
[20-Nov-2025 13:10:51 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:10:51 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:10:51 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:10:51 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:10:51 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:10:51 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:10:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:10:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:11:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:11:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:11:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:11:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:11:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:11:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:11:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:11:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:11:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:11:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:11:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:11:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:11:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:11:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:11:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:11:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:11:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:11:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:11:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:11:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:11:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:11:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:11:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:11:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:11:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:11:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:11:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:11:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:11:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:11:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:11:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:11:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:11:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:11:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:11:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:11:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:11:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:11:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:11:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:11:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:11:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:11:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:11:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:11:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:11:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:11:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:11:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:11:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:11:07 UTC] 📊 Database Info:
[20-Nov-2025 13:11:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:11:07 UTC]    Books columns count: 44
[20-Nov-2025 13:11:07 UTC]    Categories columns count: 7
[20-Nov-2025 13:11:07 UTC]    Language field in books: YES
[20-Nov-2025 13:11:07 UTC]    Format field in books: YES
[20-Nov-2025 13:11:07 UTC]    Description field in categories: YES
[20-Nov-2025 13:11:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:11:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:11:07 UTC]    Is_active field in books: YES
[20-Nov-2025 13:11:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:11:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:11:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:11:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:11:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:11:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:11:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:11:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:11:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:11:07 UTC] 📊 Database Info:
[20-Nov-2025 13:11:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:11:07 UTC]    Books columns count: 44
[20-Nov-2025 13:11:07 UTC]    Categories columns count: 7
[20-Nov-2025 13:11:07 UTC]    Language field in books: YES
[20-Nov-2025 13:11:07 UTC]    Format field in books: YES
[20-Nov-2025 13:11:07 UTC]    Description field in categories: YES
[20-Nov-2025 13:11:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:11:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:11:07 UTC]    Is_active field in books: YES
[20-Nov-2025 13:11:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:11:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:11:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:11:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:11:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:11:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:11:07 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:11:07 UTC] ✅ إرجاع 0 تصنيف نشط
[20-Nov-2025 13:11:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:11:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:11:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:11:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:11:07 UTC] 📊 Database Info:
[20-Nov-2025 13:11:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:11:07 UTC]    Books columns count: 44
[20-Nov-2025 13:11:07 UTC]    Categories columns count: 7
[20-Nov-2025 13:11:07 UTC]    Language field in books: YES
[20-Nov-2025 13:11:07 UTC]    Format field in books: YES
[20-Nov-2025 13:11:07 UTC]    Description field in categories: YES
[20-Nov-2025 13:11:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:11:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:11:07 UTC]    Is_active field in books: YES
[20-Nov-2025 13:11:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:11:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:11:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:11:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:11:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:11:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:11:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:26:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:26:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:26:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:26:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:26:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:26:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:26:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:26:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:26:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:26:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:26:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:26:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:26:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:26:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:26:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:26:45 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:26:45 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:26:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:26:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:26:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:26:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:26:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:26:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:26:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:26:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:26:45 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:26:45 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:26:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:26:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:26:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:26:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:26:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:26:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:26:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:26:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:26:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:26:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:26:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:26:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:26:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:26:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:26:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:26:45 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:26:45 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:26:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:26:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:26:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:26:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:26:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:26:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:26:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:26:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:26:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:26:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:26:45 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:26:45 UTC] 📊 Database Info:
[20-Nov-2025 13:26:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:26:45 UTC]    Books columns count: 44
[20-Nov-2025 13:26:45 UTC]    Categories columns count: 7
[20-Nov-2025 13:26:45 UTC]    Language field in books: YES
[20-Nov-2025 13:26:45 UTC]    Format field in books: YES
[20-Nov-2025 13:26:45 UTC]    Description field in categories: YES
[20-Nov-2025 13:26:45 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:26:45 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:26:45 UTC]    Is_active field in books: YES
[20-Nov-2025 13:26:45 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:26:45 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:26:45 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:26:45 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:26:45 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:26:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:26:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:26:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:26:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:26:45 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:26:45 UTC] 📊 Database Info:
[20-Nov-2025 13:26:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:26:45 UTC]    Books columns count: 44
[20-Nov-2025 13:26:45 UTC]    Categories columns count: 7
[20-Nov-2025 13:26:45 UTC]    Language field in books: YES
[20-Nov-2025 13:26:45 UTC]    Format field in books: YES
[20-Nov-2025 13:26:45 UTC]    Description field in categories: YES
[20-Nov-2025 13:26:45 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:26:45 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:26:45 UTC]    Is_active field in books: YES
[20-Nov-2025 13:26:45 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:26:45 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:26:45 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:26:45 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:26:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:26:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:26:45 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:26:45 UTC] 📊 Database Info:
[20-Nov-2025 13:26:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:26:45 UTC]    Books columns count: 44
[20-Nov-2025 13:26:45 UTC]    Categories columns count: 7
[20-Nov-2025 13:26:45 UTC]    Language field in books: YES
[20-Nov-2025 13:26:45 UTC]    Format field in books: YES
[20-Nov-2025 13:26:45 UTC]    Description field in categories: YES
[20-Nov-2025 13:26:45 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:26:45 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:26:45 UTC]    Is_active field in books: YES
[20-Nov-2025 13:26:45 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:26:45 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:26:45 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:26:45 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:26:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:26:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:26:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:26:45 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:26:45 UTC] ✅ إرجاع 0 تصنيف نشط
[20-Nov-2025 13:43:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:43:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:43:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:43:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:43:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:43:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:43:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:43:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:43:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:43:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:43:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:43:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:43:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:43:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:43:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:43:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:43:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:43:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:43:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:43:19 UTC] 📊 Database Info:
[20-Nov-2025 13:43:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:43:19 UTC]    Books columns count: 44
[20-Nov-2025 13:43:19 UTC]    Categories columns count: 7
[20-Nov-2025 13:43:19 UTC]    Language field in books: YES
[20-Nov-2025 13:43:19 UTC]    Format field in books: YES
[20-Nov-2025 13:43:19 UTC]    Description field in categories: YES
[20-Nov-2025 13:43:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:43:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:43:19 UTC]    Is_active field in books: YES
[20-Nov-2025 13:43:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:43:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:43:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:43:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:43:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:43:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:43:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:43:19 UTC] 📊 Database Info:
[20-Nov-2025 13:43:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:43:19 UTC]    Books columns count: 44
[20-Nov-2025 13:43:19 UTC]    Categories columns count: 7
[20-Nov-2025 13:43:19 UTC]    Language field in books: YES
[20-Nov-2025 13:43:19 UTC]    Format field in books: YES
[20-Nov-2025 13:43:19 UTC]    Description field in categories: YES
[20-Nov-2025 13:43:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:43:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:43:19 UTC]    Is_active field in books: YES
[20-Nov-2025 13:43:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:43:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:43:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:43:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:43:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:43:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:43:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:43:19 UTC] 📊 Database Info:
[20-Nov-2025 13:43:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:43:19 UTC]    Books columns count: 44
[20-Nov-2025 13:43:19 UTC]    Categories columns count: 7
[20-Nov-2025 13:43:19 UTC]    Language field in books: YES
[20-Nov-2025 13:43:19 UTC]    Format field in books: YES
[20-Nov-2025 13:43:19 UTC]    Description field in categories: YES
[20-Nov-2025 13:43:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:43:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:43:19 UTC]    Is_active field in books: YES
[20-Nov-2025 13:43:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:43:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:43:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:43:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:43:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:43:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:43:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:43:19 UTC] 📊 Database Info:
[20-Nov-2025 13:43:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:43:19 UTC]    Books columns count: 44
[20-Nov-2025 13:43:19 UTC]    Categories columns count: 7
[20-Nov-2025 13:43:19 UTC]    Language field in books: YES
[20-Nov-2025 13:43:19 UTC]    Format field in books: YES
[20-Nov-2025 13:43:19 UTC]    Description field in categories: YES
[20-Nov-2025 13:43:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:43:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:43:19 UTC]    Is_active field in books: YES
[20-Nov-2025 13:43:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:43:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:43:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:43:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:43:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:43:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:43:19 UTC] 📊 Database Info:
[20-Nov-2025 13:43:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:43:19 UTC]    Books columns count: 44
[20-Nov-2025 13:43:19 UTC]    Categories columns count: 7
[20-Nov-2025 13:43:19 UTC]    Language field in books: YES
[20-Nov-2025 13:43:19 UTC]    Format field in books: YES
[20-Nov-2025 13:43:19 UTC]    Description field in categories: YES
[20-Nov-2025 13:43:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:43:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:43:19 UTC]    Is_active field in books: YES
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:43:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:43:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:43:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:43:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:43:19 UTC] 📊 Database Info:
[20-Nov-2025 13:43:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:43:19 UTC]    Books columns count: 44
[20-Nov-2025 13:43:19 UTC]    Categories columns count: 7
[20-Nov-2025 13:43:19 UTC]    Language field in books: YES
[20-Nov-2025 13:43:19 UTC]    Format field in books: YES
[20-Nov-2025 13:43:19 UTC]    Description field in categories: YES
[20-Nov-2025 13:43:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:43:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:43:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:43:19 UTC]    Is_active field in books: YES
[20-Nov-2025 13:43:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:43:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:43:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:43:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:43:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:43:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:43:19 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:43:19 UTC] ✅ إرجاع 0 تصنيف نشط
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:43:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:43:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:43:19 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:43:19 UTC] ✅ إرجاع 0 تصنيف نشط
[20-Nov-2025 13:43:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:43:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:41 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:43:41 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:43:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:41 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:43:41 UTC] 📊 Database Info:
[20-Nov-2025 13:43:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:43:41 UTC]    Books columns count: 44
[20-Nov-2025 13:43:41 UTC]    Categories columns count: 7
[20-Nov-2025 13:43:41 UTC]    Language field in books: YES
[20-Nov-2025 13:43:41 UTC]    Format field in books: YES
[20-Nov-2025 13:43:41 UTC]    Description field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Is_active field in books: YES
[20-Nov-2025 13:43:41 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:43:41 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:43:41 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:43:41 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:43:41 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:43:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:43:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:43:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:43:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:43:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:41 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:43:41 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:43:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:43:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:43:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:41 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:43:41 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:43:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:41 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:43:41 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:43:41 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:43:41 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:43:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:43:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:41 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:43:41 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:43:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:41 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:43:41 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:43:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:41 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:43:41 UTC] 📊 Database Info:
[20-Nov-2025 13:43:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:43:41 UTC]    Books columns count: 44
[20-Nov-2025 13:43:41 UTC]    Categories columns count: 7
[20-Nov-2025 13:43:41 UTC]    Language field in books: YES
[20-Nov-2025 13:43:41 UTC]    Format field in books: YES
[20-Nov-2025 13:43:41 UTC]    Description field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Is_active field in books: YES
[20-Nov-2025 13:43:41 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:43:41 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:43:41 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:43:41 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:43:41 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:43:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:43:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:41 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:43:41 UTC] 📊 Database Info:
[20-Nov-2025 13:43:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:43:41 UTC]    Books columns count: 44
[20-Nov-2025 13:43:41 UTC]    Categories columns count: 7
[20-Nov-2025 13:43:41 UTC]    Language field in books: YES
[20-Nov-2025 13:43:41 UTC]    Format field in books: YES
[20-Nov-2025 13:43:41 UTC]    Description field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Is_active field in books: YES
[20-Nov-2025 13:43:41 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:43:41 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:43:41 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:43:41 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:43:41 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:43:41 UTC] 📊 Database Info:
[20-Nov-2025 13:43:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:43:41 UTC]    Books columns count: 44
[20-Nov-2025 13:43:41 UTC]    Categories columns count: 7
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:43:41 UTC]    Language field in books: YES
[20-Nov-2025 13:43:41 UTC]    Format field in books: YES
[20-Nov-2025 13:43:41 UTC]    Description field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Is_active field in books: YES
[20-Nov-2025 13:43:41 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:43:41 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:43:41 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:43:41 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:43:41 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:43:41 UTC] 📊 Database Info:
[20-Nov-2025 13:43:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:43:41 UTC]    Books columns count: 44
[20-Nov-2025 13:43:41 UTC]    Categories columns count: 7
[20-Nov-2025 13:43:41 UTC]    Language field in books: YES
[20-Nov-2025 13:43:41 UTC]    Format field in books: YES
[20-Nov-2025 13:43:41 UTC]    Description field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Is_active field in books: YES
[20-Nov-2025 13:43:41 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:43:41 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:43:41 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:43:41 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:43:41 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:43:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:43:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:43:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:43:41 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:43:41 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:43:41 UTC] ✅ إرجاع 0 تصنيف نشط
[20-Nov-2025 13:43:41 UTC] ✅ إرجاع 0 تصنيف نشط
[20-Nov-2025 13:43:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:41 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:43:41 UTC] 📊 Database Info:
[20-Nov-2025 13:43:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:43:41 UTC]    Books columns count: 44
[20-Nov-2025 13:43:41 UTC]    Categories columns count: 7
[20-Nov-2025 13:43:41 UTC]    Language field in books: YES
[20-Nov-2025 13:43:41 UTC]    Format field in books: YES
[20-Nov-2025 13:43:41 UTC]    Description field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Is_active field in books: YES
[20-Nov-2025 13:43:41 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:43:41 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:43:41 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:43:41 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:43:41 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:43:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:43:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:41 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:43:41 UTC] 📊 Database Info:
[20-Nov-2025 13:43:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:43:41 UTC]    Books columns count: 44
[20-Nov-2025 13:43:41 UTC]    Categories columns count: 7
[20-Nov-2025 13:43:41 UTC]    Language field in books: YES
[20-Nov-2025 13:43:41 UTC]    Format field in books: YES
[20-Nov-2025 13:43:41 UTC]    Description field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:43:41 UTC]    Is_active field in books: YES
[20-Nov-2025 13:43:41 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:43:41 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:43:41 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:43:41 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:43:41 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:43:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:43:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:43:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:43:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:43:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:43:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:43:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:43:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:43:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:43:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:43:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:43:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:43:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:43:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:43:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:43:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:43:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:43:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:43:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:43:54 UTC] 📊 Database Info:
[20-Nov-2025 13:43:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:43:54 UTC]    Books columns count: 44
[20-Nov-2025 13:43:54 UTC]    Categories columns count: 7
[20-Nov-2025 13:43:54 UTC]    Language field in books: YES
[20-Nov-2025 13:43:54 UTC]    Format field in books: YES
[20-Nov-2025 13:43:54 UTC]    Description field in categories: YES
[20-Nov-2025 13:43:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:43:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:43:54 UTC]    Is_active field in books: YES
[20-Nov-2025 13:43:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:43:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:43:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:43:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:43:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:43:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:43:54 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 13:43:54 UTC] ✅ إرجاع 0 تصنيف
[20-Nov-2025 13:43:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:43:54 UTC] 📊 Database Info:
[20-Nov-2025 13:43:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:43:54 UTC]    Books columns count: 44
[20-Nov-2025 13:43:54 UTC]    Categories columns count: 7
[20-Nov-2025 13:43:54 UTC]    Language field in books: YES
[20-Nov-2025 13:43:54 UTC]    Format field in books: YES
[20-Nov-2025 13:43:54 UTC]    Description field in categories: YES
[20-Nov-2025 13:43:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:43:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:43:54 UTC]    Is_active field in books: YES
[20-Nov-2025 13:43:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:43:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:43:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:43:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:43:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:43:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:43:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 13:43:54 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 13:43:54 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 13:43:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:43:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:43:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:43:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:43:54 UTC] 📊 Database Info:
[20-Nov-2025 13:43:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:43:54 UTC]    Books columns count: 44
[20-Nov-2025 13:43:54 UTC]    Categories columns count: 7
[20-Nov-2025 13:43:54 UTC]    Language field in books: YES
[20-Nov-2025 13:43:54 UTC]    Format field in books: YES
[20-Nov-2025 13:43:54 UTC]    Description field in categories: YES
[20-Nov-2025 13:43:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:43:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:43:54 UTC]    Is_active field in books: YES
[20-Nov-2025 13:43:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:43:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:43:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:43:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:43:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:43:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:43:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:44:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:44:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:44:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:08 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:44:08 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:44:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:44:08 UTC] 📊 Database Info:
[20-Nov-2025 13:44:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:44:08 UTC]    Books columns count: 44
[20-Nov-2025 13:44:08 UTC]    Categories columns count: 7
[20-Nov-2025 13:44:08 UTC]    Language field in books: YES
[20-Nov-2025 13:44:08 UTC]    Format field in books: YES
[20-Nov-2025 13:44:08 UTC]    Description field in categories: YES
[20-Nov-2025 13:44:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:44:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:44:08 UTC]    Is_active field in books: YES
[20-Nov-2025 13:44:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:44:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:44:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:44:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:44:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:44:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:44:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:44:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:44:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:44:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:44:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:44:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:44:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:44:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:44:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:44:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:44:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:44:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:44:08 UTC] 🔄 Processing category - ID: , Name: Test, Active: 1, Remove Image: NO
[20-Nov-2025 13:44:08 UTC] 🔍 Checking for duplicate category name: 'Test'
[20-Nov-2025 13:44:08 UTC] ✅ No duplicate category name found
[20-Nov-2025 13:44:08 UTC] ✅ Using default category image: uploads/no-imagee.jpg
[20-Nov-2025 13:44:08 UTC] 🆕 Adding new category with active status: 1
[20-Nov-2025 13:44:08 UTC] ✅ New category added with ID: 10 and active status: 1
[20-Nov-2025 13:44:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:44:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:44:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:09 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:44:09 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:44:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:09 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:44:09 UTC] 📊 Database Info:
[20-Nov-2025 13:44:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:44:09 UTC]    Books columns count: 44
[20-Nov-2025 13:44:09 UTC]    Categories columns count: 7
[20-Nov-2025 13:44:09 UTC]    Language field in books: YES
[20-Nov-2025 13:44:09 UTC]    Format field in books: YES
[20-Nov-2025 13:44:09 UTC]    Description field in categories: YES
[20-Nov-2025 13:44:09 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:44:09 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:44:09 UTC]    Is_active field in books: YES
[20-Nov-2025 13:44:09 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:44:09 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:44:09 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:44:09 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:44:09 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:44:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:44:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:44:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:44:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:44:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:44:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:44:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:44:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:44:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:44:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:44:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:44:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:44:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:44:09 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 13:44:09 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 13:44:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:44:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:44:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:45 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:44:45 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:44:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:45 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:44:45 UTC] 📊 Database Info:
[20-Nov-2025 13:44:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:44:45 UTC]    Books columns count: 44
[20-Nov-2025 13:44:45 UTC]    Categories columns count: 7
[20-Nov-2025 13:44:45 UTC]    Language field in books: YES
[20-Nov-2025 13:44:45 UTC]    Format field in books: YES
[20-Nov-2025 13:44:45 UTC]    Description field in categories: YES
[20-Nov-2025 13:44:45 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:44:45 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:44:45 UTC]    Is_active field in books: YES
[20-Nov-2025 13:44:45 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:44:45 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:44:45 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:44:45 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:44:45 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:44:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:44:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:44:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:44:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:44:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:44:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:44:46 UTC] 📊 Database Info:
[20-Nov-2025 13:44:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:44:46 UTC]    Books columns count: 44
[20-Nov-2025 13:44:46 UTC]    Categories columns count: 7
[20-Nov-2025 13:44:46 UTC]    Language field in books: YES
[20-Nov-2025 13:44:46 UTC]    Format field in books: YES
[20-Nov-2025 13:44:46 UTC]    Description field in categories: YES
[20-Nov-2025 13:44:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:44:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:44:46 UTC]    Is_active field in books: YES
[20-Nov-2025 13:44:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:44:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:44:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:44:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:44:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:44:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:44:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:44:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:44:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:51 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:51 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:44:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:51 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:44:51 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:44:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:51 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:51 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:44:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:51 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:44:51 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:44:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:51 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:51 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:44:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:51 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:44:51 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:44:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:51 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:51 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:51 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:44:51 UTC] 📊 Database Info:
[20-Nov-2025 13:44:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:44:51 UTC]    Books columns count: 44
[20-Nov-2025 13:44:51 UTC]    Categories columns count: 7
[20-Nov-2025 13:44:51 UTC]    Language field in books: YES
[20-Nov-2025 13:44:51 UTC]    Format field in books: YES
[20-Nov-2025 13:44:51 UTC]    Description field in categories: YES
[20-Nov-2025 13:44:51 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:44:51 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:44:51 UTC]    Is_active field in books: YES
[20-Nov-2025 13:44:51 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:44:51 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:44:51 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:44:51 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:44:51 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:44:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:44:51 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:51 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:51 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:44:51 UTC] 📊 Database Info:
[20-Nov-2025 13:44:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:44:51 UTC]    Books columns count: 44
[20-Nov-2025 13:44:51 UTC]    Categories columns count: 7
[20-Nov-2025 13:44:51 UTC]    Language field in books: YES
[20-Nov-2025 13:44:51 UTC]    Format field in books: YES
[20-Nov-2025 13:44:51 UTC]    Description field in categories: YES
[20-Nov-2025 13:44:51 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:44:51 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:44:51 UTC]    Is_active field in books: YES
[20-Nov-2025 13:44:51 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:44:51 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:44:51 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:44:51 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:44:51 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:44:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:44:51 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:44:51 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:44:51 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:51 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:51 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:44:51 UTC] 📊 Database Info:
[20-Nov-2025 13:44:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:44:51 UTC]    Books columns count: 44
[20-Nov-2025 13:44:51 UTC]    Categories columns count: 7
[20-Nov-2025 13:44:51 UTC]    Language field in books: YES
[20-Nov-2025 13:44:51 UTC]    Format field in books: YES
[20-Nov-2025 13:44:51 UTC]    Description field in categories: YES
[20-Nov-2025 13:44:51 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:44:51 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:44:51 UTC]    Is_active field in books: YES
[20-Nov-2025 13:44:51 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:44:51 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:44:51 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:44:51 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:44:51 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:44:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:44:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:44:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:44:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:44:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:44:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:44:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:44:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:44:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:44:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:44:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:44:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:44:52 UTC] 📊 Database Info:
[20-Nov-2025 13:44:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:44:52 UTC]    Books columns count: 44
[20-Nov-2025 13:44:52 UTC]    Categories columns count: 7
[20-Nov-2025 13:44:52 UTC]    Language field in books: YES
[20-Nov-2025 13:44:52 UTC]    Format field in books: YES
[20-Nov-2025 13:44:52 UTC]    Description field in categories: YES
[20-Nov-2025 13:44:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:44:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:44:52 UTC]    Is_active field in books: YES
[20-Nov-2025 13:44:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:44:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:44:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:44:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:44:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:44:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:44:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:44:52 UTC] 📊 Database Info:
[20-Nov-2025 13:44:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:44:52 UTC]    Books columns count: 44
[20-Nov-2025 13:44:52 UTC]    Categories columns count: 7
[20-Nov-2025 13:44:52 UTC]    Language field in books: YES
[20-Nov-2025 13:44:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:52 UTC]    Format field in books: YES
[20-Nov-2025 13:44:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:52 UTC]    Description field in categories: YES
[20-Nov-2025 13:44:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:44:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:44:52 UTC]    Is_active field in books: YES
[20-Nov-2025 13:44:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:44:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:44:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:44:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:44:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:44:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:44:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:44:52 UTC] 📊 Database Info:
[20-Nov-2025 13:44:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:44:52 UTC]    Books columns count: 44
[20-Nov-2025 13:44:52 UTC]    Categories columns count: 7
[20-Nov-2025 13:44:52 UTC]    Language field in books: YES
[20-Nov-2025 13:44:52 UTC]    Format field in books: YES
[20-Nov-2025 13:44:52 UTC]    Description field in categories: YES
[20-Nov-2025 13:44:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:44:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:44:52 UTC]    Is_active field in books: YES
[20-Nov-2025 13:44:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:44:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:44:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:44:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:44:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:44:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:44:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:44:52 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:44:52 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:44:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:44:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:44:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:44:53 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:44:53 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:44:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:44:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:44:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:44:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:44:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:44:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:44:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:44:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:44:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:44:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:44:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:44:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:44:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:44:53 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:44:53 UTC] 📊 Database Info:
[20-Nov-2025 13:44:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:44:53 UTC]    Books columns count: 44
[20-Nov-2025 13:44:53 UTC]    Categories columns count: 7
[20-Nov-2025 13:44:53 UTC]    Language field in books: YES
[20-Nov-2025 13:44:53 UTC]    Format field in books: YES
[20-Nov-2025 13:44:53 UTC]    Description field in categories: YES
[20-Nov-2025 13:44:53 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:44:53 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:44:53 UTC]    Is_active field in books: YES
[20-Nov-2025 13:44:53 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:44:53 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:44:53 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:44:53 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:44:53 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:44:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:45:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:45:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:45:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:16 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:45:16 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:45:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:16 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:45:16 UTC] 📊 Database Info:
[20-Nov-2025 13:45:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:45:16 UTC]    Books columns count: 44
[20-Nov-2025 13:45:16 UTC]    Categories columns count: 7
[20-Nov-2025 13:45:16 UTC]    Language field in books: YES
[20-Nov-2025 13:45:16 UTC]    Format field in books: YES
[20-Nov-2025 13:45:16 UTC]    Description field in categories: YES
[20-Nov-2025 13:45:16 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:45:16 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:45:16 UTC]    Is_active field in books: YES
[20-Nov-2025 13:45:16 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:45:16 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:45:16 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:45:16 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:45:16 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:45:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:45:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:45:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:45:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:16 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:45:16 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:45:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:16 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:45:16 UTC] 📊 Database Info:
[20-Nov-2025 13:45:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:45:16 UTC]    Books columns count: 44
[20-Nov-2025 13:45:16 UTC]    Categories columns count: 7
[20-Nov-2025 13:45:16 UTC]    Language field in books: YES
[20-Nov-2025 13:45:16 UTC]    Format field in books: YES
[20-Nov-2025 13:45:16 UTC]    Description field in categories: YES
[20-Nov-2025 13:45:16 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:45:16 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:45:16 UTC]    Is_active field in books: YES
[20-Nov-2025 13:45:16 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:45:16 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:45:16 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:45:16 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:45:16 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:45:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:45:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:45:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:45:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:45:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:45:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:45:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:45:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:45:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:45:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:45:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:45:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:45:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:45:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:45:19 UTC] 📊 Database Info:
[20-Nov-2025 13:45:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:45:19 UTC]    Books columns count: 44
[20-Nov-2025 13:45:19 UTC]    Categories columns count: 7
[20-Nov-2025 13:45:19 UTC]    Language field in books: YES
[20-Nov-2025 13:45:19 UTC]    Format field in books: YES
[20-Nov-2025 13:45:19 UTC]    Description field in categories: YES
[20-Nov-2025 13:45:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:45:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:45:19 UTC]    Is_active field in books: YES
[20-Nov-2025 13:45:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:45:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:45:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:45:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:45:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:45:19 UTC] 📊 Database Info:
[20-Nov-2025 13:45:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:45:19 UTC]    Books columns count: 44
[20-Nov-2025 13:45:19 UTC]    Categories columns count: 7
[20-Nov-2025 13:45:19 UTC]    Language field in books: YES
[20-Nov-2025 13:45:19 UTC]    Format field in books: YES
[20-Nov-2025 13:45:19 UTC]    Description field in categories: YES
[20-Nov-2025 13:45:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:45:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:45:19 UTC]    Is_active field in books: YES
[20-Nov-2025 13:45:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:45:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:45:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:45:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:45:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:45:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:45:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:45:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:45:19 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:45:19 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:45:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:45:19 UTC] 📊 Database Info:
[20-Nov-2025 13:45:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:45:19 UTC]    Books columns count: 44
[20-Nov-2025 13:45:19 UTC]    Categories columns count: 7
[20-Nov-2025 13:45:19 UTC]    Language field in books: YES
[20-Nov-2025 13:45:19 UTC]    Format field in books: YES
[20-Nov-2025 13:45:19 UTC]    Description field in categories: YES
[20-Nov-2025 13:45:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:45:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:45:19 UTC]    Is_active field in books: YES
[20-Nov-2025 13:45:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:45:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:45:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:45:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:45:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:45:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:45:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:45:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:45:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:45:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:45:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:45:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:45:21 UTC] 📊 Database Info:
[20-Nov-2025 13:45:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:45:21 UTC]    Books columns count: 44
[20-Nov-2025 13:45:21 UTC]    Categories columns count: 7
[20-Nov-2025 13:45:21 UTC]    Language field in books: YES
[20-Nov-2025 13:45:21 UTC]    Format field in books: YES
[20-Nov-2025 13:45:21 UTC]    Description field in categories: YES
[20-Nov-2025 13:45:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:45:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:45:21 UTC]    Is_active field in books: YES
[20-Nov-2025 13:45:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:45:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:45:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:45:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:45:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:45:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:45:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:45:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:45:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:24 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:45:24 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:45:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:24 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:45:24 UTC] 📊 Database Info:
[20-Nov-2025 13:45:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:45:24 UTC]    Books columns count: 44
[20-Nov-2025 13:45:24 UTC]    Categories columns count: 7
[20-Nov-2025 13:45:24 UTC]    Language field in books: YES
[20-Nov-2025 13:45:24 UTC]    Format field in books: YES
[20-Nov-2025 13:45:24 UTC]    Description field in categories: YES
[20-Nov-2025 13:45:24 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:45:24 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:45:24 UTC]    Is_active field in books: YES
[20-Nov-2025 13:45:24 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:45:24 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:45:24 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:45:24 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:45:24 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:45:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:45:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:45:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:45:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:45:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:45:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:45:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:45:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:45:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:45:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:45:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:45:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:45:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:45:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:45:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:45:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:45:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:45:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:38 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:45:38 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:45:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:38 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:45:38 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:45:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:45:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:38 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:45:38 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:45:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:38 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:45:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:38 UTC] 📊 Database Info:
[20-Nov-2025 13:45:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:45:38 UTC]    Books columns count: 44
[20-Nov-2025 13:45:38 UTC]    Categories columns count: 7
[20-Nov-2025 13:45:38 UTC]    Language field in books: YES
[20-Nov-2025 13:45:38 UTC]    Format field in books: YES
[20-Nov-2025 13:45:38 UTC]    Description field in categories: YES
[20-Nov-2025 13:45:38 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:45:38 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:45:38 UTC]    Is_active field in books: YES
[20-Nov-2025 13:45:38 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:45:38 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:45:38 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:45:38 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:45:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:45:38 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:45:38 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:38 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:45:38 UTC] 📊 Database Info:
[20-Nov-2025 13:45:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:45:38 UTC]    Books columns count: 44
[20-Nov-2025 13:45:38 UTC]    Categories columns count: 7
[20-Nov-2025 13:45:38 UTC]    Language field in books: YES
[20-Nov-2025 13:45:38 UTC]    Format field in books: YES
[20-Nov-2025 13:45:38 UTC]    Description field in categories: YES
[20-Nov-2025 13:45:38 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:45:38 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:45:38 UTC]    Is_active field in books: YES
[20-Nov-2025 13:45:38 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:45:38 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:45:38 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:45:38 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:45:38 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:45:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:45:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:38 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:45:38 UTC] 📊 Database Info:
[20-Nov-2025 13:45:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:45:38 UTC]    Books columns count: 44
[20-Nov-2025 13:45:38 UTC]    Categories columns count: 7
[20-Nov-2025 13:45:38 UTC]    Language field in books: YES
[20-Nov-2025 13:45:38 UTC]    Format field in books: YES
[20-Nov-2025 13:45:38 UTC]    Description field in categories: YES
[20-Nov-2025 13:45:38 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:45:38 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:45:38 UTC]    Is_active field in books: YES
[20-Nov-2025 13:45:38 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:45:38 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:45:38 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:45:38 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:45:38 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:45:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:45:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:45:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:45:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:45:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:45:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:45:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:45:54 UTC] 📊 Database Info:
[20-Nov-2025 13:45:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:45:54 UTC]    Books columns count: 44
[20-Nov-2025 13:45:54 UTC]    Categories columns count: 7
[20-Nov-2025 13:45:54 UTC]    Language field in books: YES
[20-Nov-2025 13:45:54 UTC]    Format field in books: YES
[20-Nov-2025 13:45:54 UTC]    Description field in categories: YES
[20-Nov-2025 13:45:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:45:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:45:54 UTC]    Is_active field in books: YES
[20-Nov-2025 13:45:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:45:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:45:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:45:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:45:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:45:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:45:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:45:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:45:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:45:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:45:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:45:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:45:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:45:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:45:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:45:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:45:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:45:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:45:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:45:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:45:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:55 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:45:55 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:45:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:55 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:45:55 UTC] 📊 Database Info:
[20-Nov-2025 13:45:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:45:55 UTC]    Books columns count: 44
[20-Nov-2025 13:45:55 UTC]    Categories columns count: 7
[20-Nov-2025 13:45:55 UTC]    Language field in books: YES
[20-Nov-2025 13:45:55 UTC]    Format field in books: YES
[20-Nov-2025 13:45:55 UTC]    Description field in categories: YES
[20-Nov-2025 13:45:55 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:45:55 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:45:55 UTC]    Is_active field in books: YES
[20-Nov-2025 13:45:55 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:45:55 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:45:55 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:45:55 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:45:55 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:45:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:45:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:45:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:45:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:45:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:45:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:45:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:45:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:45:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:45:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:45:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:45:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:45:57 UTC] 📊 Database Info:
[20-Nov-2025 13:45:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:45:57 UTC]    Books columns count: 44
[20-Nov-2025 13:45:57 UTC]    Categories columns count: 7
[20-Nov-2025 13:45:57 UTC]    Language field in books: YES
[20-Nov-2025 13:45:57 UTC]    Format field in books: YES
[20-Nov-2025 13:45:57 UTC]    Description field in categories: YES
[20-Nov-2025 13:45:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:45:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:45:57 UTC]    Is_active field in books: YES
[20-Nov-2025 13:45:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:45:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:45:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:45:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:45:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:45:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:45:57 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:45:57 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:45:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:45:57 UTC] 📊 Database Info:
[20-Nov-2025 13:45:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:45:57 UTC]    Books columns count: 44
[20-Nov-2025 13:45:57 UTC]    Categories columns count: 7
[20-Nov-2025 13:45:57 UTC]    Language field in books: YES
[20-Nov-2025 13:45:57 UTC]    Format field in books: YES
[20-Nov-2025 13:45:57 UTC]    Description field in categories: YES
[20-Nov-2025 13:45:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:45:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:45:57 UTC]    Is_active field in books: YES
[20-Nov-2025 13:45:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:45:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:45:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:45:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:45:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:45:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:45:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:45:57 UTC] 📊 Database Info:
[20-Nov-2025 13:45:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:45:57 UTC]    Books columns count: 44
[20-Nov-2025 13:45:57 UTC]    Categories columns count: 7
[20-Nov-2025 13:45:57 UTC]    Language field in books: YES
[20-Nov-2025 13:45:57 UTC]    Format field in books: YES
[20-Nov-2025 13:45:57 UTC]    Description field in categories: YES
[20-Nov-2025 13:45:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:45:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:45:57 UTC]    Is_active field in books: YES
[20-Nov-2025 13:45:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:45:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:45:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:45:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:45:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:45:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:45:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:45:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:45:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:45:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:59 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:45:59 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:45:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:45:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:45:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:59 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:45:59 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:45:59 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:45:59 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:45:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:45:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:45:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:45:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:59 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:45:59 UTC] 📊 Database Info:
[20-Nov-2025 13:45:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:45:59 UTC]    Books columns count: 44
[20-Nov-2025 13:45:59 UTC]    Categories columns count: 7
[20-Nov-2025 13:45:59 UTC]    Language field in books: YES
[20-Nov-2025 13:45:59 UTC]    Format field in books: YES
[20-Nov-2025 13:45:59 UTC]    Description field in categories: YES
[20-Nov-2025 13:45:59 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:45:59 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:45:59 UTC]    Is_active field in books: YES
[20-Nov-2025 13:45:59 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:45:59 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:45:59 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:45:59 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:45:59 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:45:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:45:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:45:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:45:59 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:45:59 UTC] 📊 Database Info:
[20-Nov-2025 13:45:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:45:59 UTC]    Books columns count: 44
[20-Nov-2025 13:45:59 UTC]    Categories columns count: 7
[20-Nov-2025 13:45:59 UTC]    Language field in books: YES
[20-Nov-2025 13:45:59 UTC]    Format field in books: YES
[20-Nov-2025 13:45:59 UTC]    Description field in categories: YES
[20-Nov-2025 13:45:59 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:45:59 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:45:59 UTC]    Is_active field in books: YES
[20-Nov-2025 13:45:59 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:45:59 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:45:59 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:45:59 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:45:59 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:45:59 UTC] 📊 Database Info:
[20-Nov-2025 13:45:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:45:59 UTC]    Books columns count: 44
[20-Nov-2025 13:45:59 UTC]    Categories columns count: 7
[20-Nov-2025 13:45:59 UTC]    Language field in books: YES
[20-Nov-2025 13:45:59 UTC]    Format field in books: YES
[20-Nov-2025 13:45:59 UTC]    Description field in categories: YES
[20-Nov-2025 13:45:59 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:45:59 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:45:59 UTC]    Is_active field in books: YES
[20-Nov-2025 13:45:59 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:45:59 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:45:59 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:45:59 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:45:59 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:45:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:45:59 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:45:59 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:45:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:45:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:46:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:46:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:46:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:46:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:46:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:46:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:46:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:46:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:46:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:46:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:46:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:46:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:46:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:46:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:46:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:46:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:46:00 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:46:00 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:46:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:46:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:46:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:46:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:46:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:46:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:46:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:46:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:46:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:46:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:46:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:46:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:46:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:46:00 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:46:00 UTC] 📊 Database Info:
[20-Nov-2025 13:46:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:46:00 UTC]    Books columns count: 44
[20-Nov-2025 13:46:00 UTC]    Categories columns count: 7
[20-Nov-2025 13:46:00 UTC]    Language field in books: YES
[20-Nov-2025 13:46:00 UTC]    Format field in books: YES
[20-Nov-2025 13:46:00 UTC]    Description field in categories: YES
[20-Nov-2025 13:46:00 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:46:00 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:46:00 UTC]    Is_active field in books: YES
[20-Nov-2025 13:46:00 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:46:00 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:46:00 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:46:00 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:46:00 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:46:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:47:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:47:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:47:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:12 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:47:12 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:47:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:12 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:47:12 UTC] 📊 Database Info:
[20-Nov-2025 13:47:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:47:12 UTC]    Books columns count: 44
[20-Nov-2025 13:47:12 UTC]    Categories columns count: 7
[20-Nov-2025 13:47:12 UTC]    Language field in books: YES
[20-Nov-2025 13:47:12 UTC]    Format field in books: YES
[20-Nov-2025 13:47:12 UTC]    Description field in categories: YES
[20-Nov-2025 13:47:12 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:47:12 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:47:12 UTC]    Is_active field in books: YES
[20-Nov-2025 13:47:12 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:47:12 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:47:12 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:47:12 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:47:12 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:47:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:47:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:47:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:47:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:12 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:47:12 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:47:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:12 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:47:12 UTC] 📊 Database Info:
[20-Nov-2025 13:47:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:47:12 UTC]    Books columns count: 44
[20-Nov-2025 13:47:12 UTC]    Categories columns count: 7
[20-Nov-2025 13:47:12 UTC]    Language field in books: YES
[20-Nov-2025 13:47:12 UTC]    Format field in books: YES
[20-Nov-2025 13:47:12 UTC]    Description field in categories: YES
[20-Nov-2025 13:47:12 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:47:12 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:47:12 UTC]    Is_active field in books: YES
[20-Nov-2025 13:47:12 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:47:12 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:47:12 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:47:12 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:47:12 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:47:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:47:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:47:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:47:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:47:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:17 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:47:17 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:47:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:17 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:47:17 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:47:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:47:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:17 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:47:17 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:47:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:17 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:47:17 UTC] 📊 Database Info:
[20-Nov-2025 13:47:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:47:17 UTC]    Books columns count: 44
[20-Nov-2025 13:47:17 UTC]    Categories columns count: 7
[20-Nov-2025 13:47:17 UTC]    Language field in books: YES
[20-Nov-2025 13:47:17 UTC]    Format field in books: YES
[20-Nov-2025 13:47:17 UTC]    Description field in categories: YES
[20-Nov-2025 13:47:17 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:47:17 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:47:17 UTC]    Is_active field in books: YES
[20-Nov-2025 13:47:17 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:47:17 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:47:17 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:47:17 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:47:17 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:47:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:47:17 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:47:17 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:47:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:17 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:47:17 UTC] 📊 Database Info:
[20-Nov-2025 13:47:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:47:17 UTC]    Books columns count: 44
[20-Nov-2025 13:47:17 UTC]    Categories columns count: 7
[20-Nov-2025 13:47:17 UTC]    Language field in books: YES
[20-Nov-2025 13:47:17 UTC]    Format field in books: YES
[20-Nov-2025 13:47:17 UTC]    Description field in categories: YES
[20-Nov-2025 13:47:17 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:47:17 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:47:17 UTC]    Is_active field in books: YES
[20-Nov-2025 13:47:17 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:47:17 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:47:17 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:47:17 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:47:17 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:47:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:47:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:17 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:47:17 UTC] 📊 Database Info:
[20-Nov-2025 13:47:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:47:17 UTC]    Books columns count: 44
[20-Nov-2025 13:47:17 UTC]    Categories columns count: 7
[20-Nov-2025 13:47:17 UTC]    Language field in books: YES
[20-Nov-2025 13:47:17 UTC]    Format field in books: YES
[20-Nov-2025 13:47:17 UTC]    Description field in categories: YES
[20-Nov-2025 13:47:17 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:47:17 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:47:17 UTC]    Is_active field in books: YES
[20-Nov-2025 13:47:17 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:47:17 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:47:17 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:47:17 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:47:17 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:47:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:47:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:47:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:47:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:47:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:47:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:47:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:47:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:47:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:47:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:47:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:47:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:47:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:47:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:47:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:47:18 UTC] 📊 Database Info:
[20-Nov-2025 13:47:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:47:18 UTC]    Books columns count: 44
[20-Nov-2025 13:47:18 UTC]    Categories columns count: 7
[20-Nov-2025 13:47:18 UTC]    Language field in books: YES
[20-Nov-2025 13:47:18 UTC]    Format field in books: YES
[20-Nov-2025 13:47:18 UTC]    Description field in categories: YES
[20-Nov-2025 13:47:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:47:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:47:18 UTC]    Is_active field in books: YES
[20-Nov-2025 13:47:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:47:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:47:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:47:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:47:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:47:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:47:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:47:18 UTC] 📊 Database Info:
[20-Nov-2025 13:47:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:47:18 UTC]    Books columns count: 44
[20-Nov-2025 13:47:18 UTC]    Categories columns count: 7
[20-Nov-2025 13:47:18 UTC]    Language field in books: YES
[20-Nov-2025 13:47:18 UTC]    Format field in books: YES
[20-Nov-2025 13:47:18 UTC]    Description field in categories: YES
[20-Nov-2025 13:47:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:47:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:47:18 UTC]    Is_active field in books: YES
[20-Nov-2025 13:47:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:47:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:47:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:47:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:47:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:47:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:47:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:47:18 UTC] 📊 Database Info:
[20-Nov-2025 13:47:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:47:18 UTC]    Books columns count: 44
[20-Nov-2025 13:47:18 UTC]    Categories columns count: 7
[20-Nov-2025 13:47:18 UTC]    Language field in books: YES
[20-Nov-2025 13:47:18 UTC]    Format field in books: YES
[20-Nov-2025 13:47:18 UTC]    Description field in categories: YES
[20-Nov-2025 13:47:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:47:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:47:18 UTC]    Is_active field in books: YES
[20-Nov-2025 13:47:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:47:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:47:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:47:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:47:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:47:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:47:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:47:18 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:47:18 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:47:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:47:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:47:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:20 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:47:20 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:47:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:20 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:47:20 UTC] 📊 Database Info:
[20-Nov-2025 13:47:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:47:20 UTC]    Books columns count: 44
[20-Nov-2025 13:47:20 UTC]    Categories columns count: 7
[20-Nov-2025 13:47:20 UTC]    Language field in books: YES
[20-Nov-2025 13:47:20 UTC]    Format field in books: YES
[20-Nov-2025 13:47:20 UTC]    Description field in categories: YES
[20-Nov-2025 13:47:20 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:47:20 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:47:20 UTC]    Is_active field in books: YES
[20-Nov-2025 13:47:20 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:47:20 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:47:20 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:47:20 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:47:20 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:47:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:47:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:47:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:47:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:47:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:47:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:47:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:47:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:47:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:47:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:47:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:47:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:47:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:47:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:47:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:47:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:47:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:53 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:47:53 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:47:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:47:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:47:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:53 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:47:53 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:47:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:53 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:47:53 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:47:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:47:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:47:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:47:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:47:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:53 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:47:53 UTC] 📊 Database Info:
[20-Nov-2025 13:47:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:47:53 UTC]    Books columns count: 44
[20-Nov-2025 13:47:53 UTC]    Categories columns count: 7
[20-Nov-2025 13:47:53 UTC]    Language field in books: YES
[20-Nov-2025 13:47:53 UTC]    Format field in books: YES
[20-Nov-2025 13:47:53 UTC]    Description field in categories: YES
[20-Nov-2025 13:47:53 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:47:53 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:47:53 UTC]    Is_active field in books: YES
[20-Nov-2025 13:47:53 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:47:53 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:47:53 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:47:53 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:47:53 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:47:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:47:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:47:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:47:53 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:47:53 UTC] 📊 Database Info:
[20-Nov-2025 13:47:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:47:53 UTC]    Books columns count: 44
[20-Nov-2025 13:47:53 UTC]    Categories columns count: 7
[20-Nov-2025 13:47:53 UTC]    Language field in books: YES
[20-Nov-2025 13:47:53 UTC]    Format field in books: YES
[20-Nov-2025 13:47:53 UTC]    Description field in categories: YES
[20-Nov-2025 13:47:53 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:47:53 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:47:53 UTC]    Is_active field in books: YES
[20-Nov-2025 13:47:53 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:47:53 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:47:53 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:47:53 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:47:53 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:47:53 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:47:53 UTC] 📊 Database Info:
[20-Nov-2025 13:47:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:47:53 UTC]    Books columns count: 44
[20-Nov-2025 13:47:53 UTC]    Categories columns count: 7
[20-Nov-2025 13:47:53 UTC]    Language field in books: YES
[20-Nov-2025 13:47:53 UTC]    Format field in books: YES
[20-Nov-2025 13:47:53 UTC]    Description field in categories: YES
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:47:53 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:47:53 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:47:53 UTC]    Is_active field in books: YES
[20-Nov-2025 13:47:53 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:47:53 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:47:53 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:47:53 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:47:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:47:53 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:47:53 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:47:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:48:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:48:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:48:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:48:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:48:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:48:14 UTC] 📊 Database Info:
[20-Nov-2025 13:48:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:48:14 UTC]    Books columns count: 44
[20-Nov-2025 13:48:14 UTC]    Categories columns count: 7
[20-Nov-2025 13:48:14 UTC]    Language field in books: YES
[20-Nov-2025 13:48:14 UTC]    Format field in books: YES
[20-Nov-2025 13:48:14 UTC]    Description field in categories: YES
[20-Nov-2025 13:48:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:48:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:48:14 UTC]    Is_active field in books: YES
[20-Nov-2025 13:48:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:48:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:48:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:48:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:48:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:48:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:48:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:48:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:48:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:48:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:48:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:48:14 UTC] 📊 Database Info:
[20-Nov-2025 13:48:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:48:14 UTC]    Books columns count: 44
[20-Nov-2025 13:48:14 UTC]    Categories columns count: 7
[20-Nov-2025 13:48:14 UTC]    Language field in books: YES
[20-Nov-2025 13:48:14 UTC]    Format field in books: YES
[20-Nov-2025 13:48:14 UTC]    Description field in categories: YES
[20-Nov-2025 13:48:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:48:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:48:14 UTC]    Is_active field in books: YES
[20-Nov-2025 13:48:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:48:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:48:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:48:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:48:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:48:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:48:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:48:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:48:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:48:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:48:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:17 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:48:17 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:48:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:48:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:48:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:17 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:48:17 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:48:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:17 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:48:17 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:48:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:17 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:48:17 UTC] 📊 Database Info:
[20-Nov-2025 13:48:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:48:17 UTC]    Books columns count: 44
[20-Nov-2025 13:48:17 UTC]    Categories columns count: 7
[20-Nov-2025 13:48:17 UTC]    Language field in books: YES
[20-Nov-2025 13:48:17 UTC]    Format field in books: YES
[20-Nov-2025 13:48:17 UTC]    Description field in categories: YES
[20-Nov-2025 13:48:17 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:48:17 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:48:17 UTC]    Is_active field in books: YES
[20-Nov-2025 13:48:17 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:48:17 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:48:17 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:48:17 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:48:17 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:48:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:48:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:17 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:48:17 UTC] 📊 Database Info:
[20-Nov-2025 13:48:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:48:17 UTC]    Books columns count: 44
[20-Nov-2025 13:48:17 UTC]    Categories columns count: 7
[20-Nov-2025 13:48:17 UTC]    Language field in books: YES
[20-Nov-2025 13:48:17 UTC]    Format field in books: YES
[20-Nov-2025 13:48:17 UTC]    Description field in categories: YES
[20-Nov-2025 13:48:17 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:48:17 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:48:17 UTC]    Is_active field in books: YES
[20-Nov-2025 13:48:17 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:48:17 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:48:17 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:48:17 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:48:17 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:48:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:48:17 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:48:17 UTC] 📊 Database Info:
[20-Nov-2025 13:48:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:48:17 UTC]    Books columns count: 44
[20-Nov-2025 13:48:17 UTC]    Categories columns count: 7
[20-Nov-2025 13:48:17 UTC]    Language field in books: YES
[20-Nov-2025 13:48:17 UTC]    Format field in books: YES
[20-Nov-2025 13:48:17 UTC]    Description field in categories: YES
[20-Nov-2025 13:48:17 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:48:17 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:48:17 UTC]    Is_active field in books: YES
[20-Nov-2025 13:48:17 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:48:17 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:48:17 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:48:17 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:48:17 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:48:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:48:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:48:17 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:48:17 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:48:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:48:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:48:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:48:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:48:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:48:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:48:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:48:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:48:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:48:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:48:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:48:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:48:19 UTC] 📊 Database Info:
[20-Nov-2025 13:48:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:48:19 UTC]    Books columns count: 44
[20-Nov-2025 13:48:19 UTC]    Categories columns count: 7
[20-Nov-2025 13:48:19 UTC]    Language field in books: YES
[20-Nov-2025 13:48:19 UTC]    Format field in books: YES
[20-Nov-2025 13:48:19 UTC]    Description field in categories: YES
[20-Nov-2025 13:48:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:48:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:48:19 UTC]    Is_active field in books: YES
[20-Nov-2025 13:48:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:48:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:48:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:48:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:48:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:48:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:48:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:48:19 UTC] 📊 Database Info:
[20-Nov-2025 13:48:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:48:19 UTC]    Books columns count: 44
[20-Nov-2025 13:48:19 UTC]    Categories columns count: 7
[20-Nov-2025 13:48:19 UTC]    Language field in books: YES
[20-Nov-2025 13:48:19 UTC]    Format field in books: YES
[20-Nov-2025 13:48:19 UTC]    Description field in categories: YES
[20-Nov-2025 13:48:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:48:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:48:19 UTC]    Is_active field in books: YES
[20-Nov-2025 13:48:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:48:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:48:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:48:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:48:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:48:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:48:19 UTC] 📊 Database Info:
[20-Nov-2025 13:48:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:48:19 UTC]    Books columns count: 44
[20-Nov-2025 13:48:19 UTC]    Categories columns count: 7
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:48:19 UTC]    Language field in books: YES
[20-Nov-2025 13:48:19 UTC]    Format field in books: YES
[20-Nov-2025 13:48:19 UTC]    Description field in categories: YES
[20-Nov-2025 13:48:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:48:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:48:19 UTC]    Is_active field in books: YES
[20-Nov-2025 13:48:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:48:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:48:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:48:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:48:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:48:19 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:48:19 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:48:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:48:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:48:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:48:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:48:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:48:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:20 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:48:20 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:48:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:20 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:48:20 UTC] 📊 Database Info:
[20-Nov-2025 13:48:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:48:20 UTC]    Books columns count: 44
[20-Nov-2025 13:48:20 UTC]    Categories columns count: 7
[20-Nov-2025 13:48:20 UTC]    Language field in books: YES
[20-Nov-2025 13:48:20 UTC]    Format field in books: YES
[20-Nov-2025 13:48:20 UTC]    Description field in categories: YES
[20-Nov-2025 13:48:20 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:48:20 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:48:20 UTC]    Is_active field in books: YES
[20-Nov-2025 13:48:20 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:48:20 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:48:20 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:48:20 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:48:20 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:48:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:48:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:48:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:48:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:48:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:48:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:48:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:48:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:48:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:48:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:48:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:48:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:48:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:48:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:48:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:48:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:48:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:27 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:48:27 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:48:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:48:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:27 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:48:27 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:48:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:27 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:48:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:27 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:48:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:27 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:48:27 UTC] 📊 Database Info:
[20-Nov-2025 13:48:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:48:27 UTC]    Books columns count: 44
[20-Nov-2025 13:48:27 UTC]    Categories columns count: 7
[20-Nov-2025 13:48:27 UTC]    Language field in books: YES
[20-Nov-2025 13:48:27 UTC]    Format field in books: YES
[20-Nov-2025 13:48:27 UTC]    Description field in categories: YES
[20-Nov-2025 13:48:27 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:48:27 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:48:27 UTC]    Is_active field in books: YES
[20-Nov-2025 13:48:27 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:48:27 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:48:27 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:48:27 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:48:27 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:48:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:48:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:27 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:48:27 UTC] 📊 Database Info:
[20-Nov-2025 13:48:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:48:27 UTC]    Books columns count: 44
[20-Nov-2025 13:48:27 UTC]    Categories columns count: 7
[20-Nov-2025 13:48:27 UTC]    Language field in books: YES
[20-Nov-2025 13:48:27 UTC]    Format field in books: YES
[20-Nov-2025 13:48:27 UTC]    Description field in categories: YES
[20-Nov-2025 13:48:27 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:48:27 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:48:27 UTC]    Is_active field in books: YES
[20-Nov-2025 13:48:27 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:48:27 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:48:27 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:48:27 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:48:27 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:48:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:48:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:27 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:48:27 UTC] 📊 Database Info:
[20-Nov-2025 13:48:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:48:27 UTC]    Books columns count: 44
[20-Nov-2025 13:48:27 UTC]    Categories columns count: 7
[20-Nov-2025 13:48:27 UTC]    Language field in books: YES
[20-Nov-2025 13:48:27 UTC]    Format field in books: YES
[20-Nov-2025 13:48:27 UTC]    Description field in categories: YES
[20-Nov-2025 13:48:27 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:48:27 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:48:27 UTC]    Is_active field in books: YES
[20-Nov-2025 13:48:27 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:48:27 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:48:27 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:48:27 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:48:27 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:48:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:48:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:48:27 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:48:27 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:48:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:48:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:48:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:29 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:48:29 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:48:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:29 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:48:29 UTC] 📊 Database Info:
[20-Nov-2025 13:48:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:48:29 UTC]    Books columns count: 44
[20-Nov-2025 13:48:29 UTC]    Categories columns count: 7
[20-Nov-2025 13:48:29 UTC]    Language field in books: YES
[20-Nov-2025 13:48:29 UTC]    Format field in books: YES
[20-Nov-2025 13:48:29 UTC]    Description field in categories: YES
[20-Nov-2025 13:48:29 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:48:29 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:48:29 UTC]    Is_active field in books: YES
[20-Nov-2025 13:48:29 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:48:29 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:48:29 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:48:29 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:48:29 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:48:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:48:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:48:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:48:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:48:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:48:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:48:50 UTC] 📊 Database Info:
[20-Nov-2025 13:48:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:48:50 UTC]    Books columns count: 44
[20-Nov-2025 13:48:50 UTC]    Categories columns count: 7
[20-Nov-2025 13:48:50 UTC]    Language field in books: YES
[20-Nov-2025 13:48:50 UTC]    Format field in books: YES
[20-Nov-2025 13:48:50 UTC]    Description field in categories: YES
[20-Nov-2025 13:48:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:48:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:48:50 UTC]    Is_active field in books: YES
[20-Nov-2025 13:48:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:48:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:48:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:48:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:48:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:48:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:48:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:48:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:48:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:48:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:48:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:48:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:48:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:48:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:48:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:48:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:48:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:48:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:48:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:48:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:48:50 UTC] 📊 Database Info:
[20-Nov-2025 13:48:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:48:50 UTC]    Books columns count: 44
[20-Nov-2025 13:48:50 UTC]    Categories columns count: 7
[20-Nov-2025 13:48:50 UTC]    Language field in books: YES
[20-Nov-2025 13:48:50 UTC]    Format field in books: YES
[20-Nov-2025 13:48:50 UTC]    Description field in categories: YES
[20-Nov-2025 13:48:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:48:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:48:50 UTC]    Is_active field in books: YES
[20-Nov-2025 13:48:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:48:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:48:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:48:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:48:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:48:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:49:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:49:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:49:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:49:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:49:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:49:13 UTC] 📊 Database Info:
[20-Nov-2025 13:49:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:49:13 UTC]    Books columns count: 44
[20-Nov-2025 13:49:13 UTC]    Categories columns count: 7
[20-Nov-2025 13:49:13 UTC]    Language field in books: YES
[20-Nov-2025 13:49:13 UTC]    Format field in books: YES
[20-Nov-2025 13:49:13 UTC]    Description field in categories: YES
[20-Nov-2025 13:49:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:49:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:49:13 UTC]    Is_active field in books: YES
[20-Nov-2025 13:49:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:49:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:49:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:49:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:49:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:49:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:49:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:49:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:49:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:49:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:49:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:49:13 UTC] 📊 Database Info:
[20-Nov-2025 13:49:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:49:13 UTC]    Books columns count: 44
[20-Nov-2025 13:49:13 UTC]    Categories columns count: 7
[20-Nov-2025 13:49:13 UTC]    Language field in books: YES
[20-Nov-2025 13:49:13 UTC]    Format field in books: YES
[20-Nov-2025 13:49:13 UTC]    Description field in categories: YES
[20-Nov-2025 13:49:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:49:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:49:13 UTC]    Is_active field in books: YES
[20-Nov-2025 13:49:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:49:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:49:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:49:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:49:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:49:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:49:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:49:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:49:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:49:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:49:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:49:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:49:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:49:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:49:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:49:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:49:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:49:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:49:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:49:18 UTC] 📊 Database Info:
[20-Nov-2025 13:49:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:49:18 UTC]    Books columns count: 44
[20-Nov-2025 13:49:18 UTC]    Categories columns count: 7
[20-Nov-2025 13:49:18 UTC]    Language field in books: YES
[20-Nov-2025 13:49:18 UTC]    Format field in books: YES
[20-Nov-2025 13:49:18 UTC]    Description field in categories: YES
[20-Nov-2025 13:49:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:49:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:49:18 UTC]    Is_active field in books: YES
[20-Nov-2025 13:49:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:49:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:49:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:49:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:49:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:49:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:49:18 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:49:18 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:49:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:49:18 UTC] 📊 Database Info:
[20-Nov-2025 13:49:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:49:18 UTC]    Books columns count: 44
[20-Nov-2025 13:49:18 UTC]    Categories columns count: 7
[20-Nov-2025 13:49:18 UTC]    Language field in books: YES
[20-Nov-2025 13:49:18 UTC]    Format field in books: YES
[20-Nov-2025 13:49:18 UTC]    Description field in categories: YES
[20-Nov-2025 13:49:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:49:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:49:18 UTC]    Is_active field in books: YES
[20-Nov-2025 13:49:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:49:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:49:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:49:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:49:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:49:18 UTC] 📊 Database Info:
[20-Nov-2025 13:49:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:49:18 UTC]    Books columns count: 44
[20-Nov-2025 13:49:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:49:18 UTC]    Categories columns count: 7
[20-Nov-2025 13:49:18 UTC]    Language field in books: YES
[20-Nov-2025 13:49:18 UTC]    Format field in books: YES
[20-Nov-2025 13:49:18 UTC]    Description field in categories: YES
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:49:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:49:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:49:18 UTC]    Is_active field in books: YES
[20-Nov-2025 13:49:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:49:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:49:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:49:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:49:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:49:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:49:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:49:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:49:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:49:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:49:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:49:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:49:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:49:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:49:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:49:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:49:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:49:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:49:19 UTC] 📊 Database Info:
[20-Nov-2025 13:49:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:49:19 UTC]    Books columns count: 44
[20-Nov-2025 13:49:19 UTC]    Categories columns count: 7
[20-Nov-2025 13:49:19 UTC]    Language field in books: YES
[20-Nov-2025 13:49:19 UTC]    Format field in books: YES
[20-Nov-2025 13:49:19 UTC]    Description field in categories: YES
[20-Nov-2025 13:49:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:49:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:49:19 UTC]    Is_active field in books: YES
[20-Nov-2025 13:49:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:49:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:49:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:49:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:49:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:49:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:49:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:49:19 UTC] 📊 Database Info:
[20-Nov-2025 13:49:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:49:19 UTC]    Books columns count: 44
[20-Nov-2025 13:49:19 UTC]    Categories columns count: 7
[20-Nov-2025 13:49:19 UTC]    Language field in books: YES
[20-Nov-2025 13:49:19 UTC]    Format field in books: YES
[20-Nov-2025 13:49:19 UTC]    Description field in categories: YES
[20-Nov-2025 13:49:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:49:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:49:19 UTC]    Is_active field in books: YES
[20-Nov-2025 13:49:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:49:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:49:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:49:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:49:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:49:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:49:19 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:49:19 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:49:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:49:19 UTC] 📊 Database Info:
[20-Nov-2025 13:49:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:49:19 UTC]    Books columns count: 44
[20-Nov-2025 13:49:19 UTC]    Categories columns count: 7
[20-Nov-2025 13:49:19 UTC]    Language field in books: YES
[20-Nov-2025 13:49:19 UTC]    Format field in books: YES
[20-Nov-2025 13:49:19 UTC]    Description field in categories: YES
[20-Nov-2025 13:49:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:49:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:49:19 UTC]    Is_active field in books: YES
[20-Nov-2025 13:49:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:49:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:49:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:49:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:49:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:49:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:49:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:49:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:49:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:20 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:49:20 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:49:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:20 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:49:20 UTC] 📊 Database Info:
[20-Nov-2025 13:49:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:49:20 UTC]    Books columns count: 44
[20-Nov-2025 13:49:20 UTC]    Categories columns count: 7
[20-Nov-2025 13:49:20 UTC]    Language field in books: YES
[20-Nov-2025 13:49:20 UTC]    Format field in books: YES
[20-Nov-2025 13:49:20 UTC]    Description field in categories: YES
[20-Nov-2025 13:49:20 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:49:20 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:49:20 UTC]    Is_active field in books: YES
[20-Nov-2025 13:49:20 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:49:20 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:49:20 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:49:20 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:49:20 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:49:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:49:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:49:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:49:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:49:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:49:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:49:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:49:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:49:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:49:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:49:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:49:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:49:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:49:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:49:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:49:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:49:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:49:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:49:57 UTC] 📊 Database Info:
[20-Nov-2025 13:49:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:49:57 UTC]    Books columns count: 44
[20-Nov-2025 13:49:57 UTC]    Categories columns count: 7
[20-Nov-2025 13:49:57 UTC]    Language field in books: YES
[20-Nov-2025 13:49:57 UTC]    Format field in books: YES
[20-Nov-2025 13:49:57 UTC]    Description field in categories: YES
[20-Nov-2025 13:49:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:49:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:49:57 UTC]    Is_active field in books: YES
[20-Nov-2025 13:49:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:49:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:49:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:49:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:49:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:49:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:49:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:49:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:49:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:49:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:49:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:49:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:49:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:49:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:49:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:49:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:49:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:49:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:49:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:49:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:49:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:49:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:49:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:49:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:49:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:49:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:49:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:49:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:49:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:49:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:49:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:49:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:49:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:49:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:49:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:49:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:49:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:49:58 UTC] 📊 Database Info:
[20-Nov-2025 13:49:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:49:58 UTC]    Books columns count: 44
[20-Nov-2025 13:49:58 UTC]    Categories columns count: 7
[20-Nov-2025 13:49:58 UTC]    Language field in books: YES
[20-Nov-2025 13:49:58 UTC]    Format field in books: YES
[20-Nov-2025 13:49:58 UTC]    Description field in categories: YES
[20-Nov-2025 13:49:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:49:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:49:58 UTC]    Is_active field in books: YES
[20-Nov-2025 13:49:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:49:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:49:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:49:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:49:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:49:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:49:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:49:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:49:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:49:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:49:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:49:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:49:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:49:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:49:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:49:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:49:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:49:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:50:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:50:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:50:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:50:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:50:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:50:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:50:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:50:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:50:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:50:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:50:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:50:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:50:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:50:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:50:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:50:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:50:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:50:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:50:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:50:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:50:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:50:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:50:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:50:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:50:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:50:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:50:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:50:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:50:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:50:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:50:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:50:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:50:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:50:01 UTC] 📊 Database Info:
[20-Nov-2025 13:50:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:50:01 UTC]    Books columns count: 44
[20-Nov-2025 13:50:01 UTC]    Categories columns count: 7
[20-Nov-2025 13:50:01 UTC]    Language field in books: YES
[20-Nov-2025 13:50:01 UTC]    Format field in books: YES
[20-Nov-2025 13:50:01 UTC]    Description field in categories: YES
[20-Nov-2025 13:50:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:50:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:50:01 UTC]    Is_active field in books: YES
[20-Nov-2025 13:50:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:50:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:50:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:50:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:50:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:50:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:50:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:50:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:50:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:50:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:50:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:50:01 UTC] 📊 Database Info:
[20-Nov-2025 13:50:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:50:01 UTC]    Books columns count: 44
[20-Nov-2025 13:50:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:50:01 UTC]    Categories columns count: 7
[20-Nov-2025 13:50:01 UTC] 📊 Database Info:
[20-Nov-2025 13:50:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:50:01 UTC]    Language field in books: YES
[20-Nov-2025 13:50:01 UTC]    Books columns count: 44
[20-Nov-2025 13:50:01 UTC]    Format field in books: YES
[20-Nov-2025 13:50:01 UTC]    Categories columns count: 7
[20-Nov-2025 13:50:01 UTC]    Description field in categories: YES
[20-Nov-2025 13:50:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:50:01 UTC]    Language field in books: YES
[20-Nov-2025 13:50:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:50:01 UTC]    Format field in books: YES
[20-Nov-2025 13:50:01 UTC]    Is_active field in books: YES
[20-Nov-2025 13:50:01 UTC]    Description field in categories: YES
[20-Nov-2025 13:50:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:50:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:50:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:50:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:50:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:50:01 UTC]    Is_active field in books: YES
[20-Nov-2025 13:50:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:50:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:50:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:50:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:50:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:50:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:50:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:50:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:50:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:50:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:50:01 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:50:01 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:50:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:50:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:50:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:50:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:50:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:50:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:50:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:50:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:50:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:50:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:50:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:50:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:50:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:50:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:50:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:50:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:50:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:50:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:50:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:50:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:50:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:50:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:50:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:50:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:50:02 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:50:02 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:50:02 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:50:02 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:50:02 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:50:02 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:50:02 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:50:02 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:50:02 UTC] 📊 Database Info:
[20-Nov-2025 13:50:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:50:02 UTC]    Books columns count: 44
[20-Nov-2025 13:50:02 UTC]    Categories columns count: 7
[20-Nov-2025 13:50:02 UTC]    Language field in books: YES
[20-Nov-2025 13:50:02 UTC]    Format field in books: YES
[20-Nov-2025 13:50:02 UTC]    Description field in categories: YES
[20-Nov-2025 13:50:02 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:50:02 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:50:02 UTC]    Is_active field in books: YES
[20-Nov-2025 13:50:02 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:50:02 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:50:02 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:50:02 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:50:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:50:02 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:50:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:50:02 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:50:02 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:50:02 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:50:02 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:50:02 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:50:02 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:50:02 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:50:02 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:50:02 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:50:02 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:50:02 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:50:02 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:50:02 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:50:02 UTC] 📊 Database Info:
[20-Nov-2025 13:50:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:50:02 UTC]    Books columns count: 44
[20-Nov-2025 13:50:02 UTC]    Categories columns count: 7
[20-Nov-2025 13:50:02 UTC]    Language field in books: YES
[20-Nov-2025 13:50:02 UTC]    Format field in books: YES
[20-Nov-2025 13:50:02 UTC]    Description field in categories: YES
[20-Nov-2025 13:50:02 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:50:02 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:50:02 UTC]    Is_active field in books: YES
[20-Nov-2025 13:50:02 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:50:02 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:50:02 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:50:02 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:50:02 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:50:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:50:02 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:50:02 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:50:02 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:50:02 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:50:02 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:50:02 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:50:02 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:50:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:50:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:50:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:50:02 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:50:02 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:50:02 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:50:02 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:50:02 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:50:02 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:50:02 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:50:02 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:50:02 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:50:02 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:50:02 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:50:02 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:50:02 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:50:02 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:50:02 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:50:02 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:50:02 UTC] 📊 Database Info:
[20-Nov-2025 13:50:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:50:02 UTC]    Books columns count: 44
[20-Nov-2025 13:50:02 UTC]    Categories columns count: 7
[20-Nov-2025 13:50:02 UTC]    Language field in books: YES
[20-Nov-2025 13:50:02 UTC]    Format field in books: YES
[20-Nov-2025 13:50:02 UTC]    Description field in categories: YES
[20-Nov-2025 13:50:02 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:50:02 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:50:02 UTC]    Is_active field in books: YES
[20-Nov-2025 13:50:02 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:50:02 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:50:02 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:50:02 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:50:02 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:50:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:50:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:50:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:50:03 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:50:03 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:50:03 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:50:03 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:50:03 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:50:03 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:50:03 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:50:03 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:50:03 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:50:03 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:50:03 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:50:03 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:50:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:50:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:50:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:50:03 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:50:03 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:50:03 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:50:03 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:50:03 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:50:03 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:50:03 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:50:03 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:50:03 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:50:03 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:50:03 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:50:03 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:50:03 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:50:03 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:50:03 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:50:03 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:50:03 UTC] 📊 Database Info:
[20-Nov-2025 13:50:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:50:03 UTC]    Books columns count: 44
[20-Nov-2025 13:50:03 UTC]    Categories columns count: 7
[20-Nov-2025 13:50:03 UTC]    Language field in books: YES
[20-Nov-2025 13:50:03 UTC]    Format field in books: YES
[20-Nov-2025 13:50:03 UTC]    Description field in categories: YES
[20-Nov-2025 13:50:03 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:50:03 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:50:03 UTC]    Is_active field in books: YES
[20-Nov-2025 13:50:03 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:50:03 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:50:03 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:50:03 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:50:03 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:50:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:50:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:50:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:50:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:50:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:50:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:50:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:50:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:50:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:50:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:50:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:50:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:50:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:50:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:50:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:50:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:50:21 UTC] 📊 Database Info:
[20-Nov-2025 13:50:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:50:21 UTC]    Books columns count: 44
[20-Nov-2025 13:50:21 UTC]    Categories columns count: 7
[20-Nov-2025 13:50:21 UTC]    Language field in books: YES
[20-Nov-2025 13:50:21 UTC]    Format field in books: YES
[20-Nov-2025 13:50:21 UTC]    Description field in categories: YES
[20-Nov-2025 13:50:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:50:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:50:21 UTC]    Is_active field in books: YES
[20-Nov-2025 13:50:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:50:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:50:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:50:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:50:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:50:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:50:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:50:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:50:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:50:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:50:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:50:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:50:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:50:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:50:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:50:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:50:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:50:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:50:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:50:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:50:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:50:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:50:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:50:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:50:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:50:21 UTC] 📊 Database Info:
[20-Nov-2025 13:50:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:50:21 UTC]    Books columns count: 44
[20-Nov-2025 13:50:21 UTC]    Categories columns count: 7
[20-Nov-2025 13:50:21 UTC]    Language field in books: YES
[20-Nov-2025 13:50:21 UTC]    Format field in books: YES
[20-Nov-2025 13:50:21 UTC]    Description field in categories: YES
[20-Nov-2025 13:50:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:50:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:50:21 UTC]    Is_active field in books: YES
[20-Nov-2025 13:50:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:50:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:50:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:50:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:50:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:50:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:50:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:51:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:51:25 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:51:25 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:51:25 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:51:25 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:51:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:51:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:51:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:51:25 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:51:25 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:51:25 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:51:25 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:51:25 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:51:25 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:51:25 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:51:25 UTC] 📊 Database Info:
[20-Nov-2025 13:51:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:51:25 UTC]    Books columns count: 44
[20-Nov-2025 13:51:25 UTC]    Categories columns count: 7
[20-Nov-2025 13:51:25 UTC]    Language field in books: YES
[20-Nov-2025 13:51:25 UTC]    Format field in books: YES
[20-Nov-2025 13:51:25 UTC]    Description field in categories: YES
[20-Nov-2025 13:51:25 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:51:25 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:51:25 UTC]    Is_active field in books: YES
[20-Nov-2025 13:51:25 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:51:25 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:51:25 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:51:25 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:51:25 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:51:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:51:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:51:25 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:51:25 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:51:25 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:51:25 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:51:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:51:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:51:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:51:25 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:51:25 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:51:25 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:51:25 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:51:25 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:51:25 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:51:25 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:51:25 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:51:25 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:51:25 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:51:25 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:51:25 UTC] 📊 Database Info:
[20-Nov-2025 13:51:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:51:25 UTC]    Books columns count: 44
[20-Nov-2025 13:51:25 UTC]    Categories columns count: 7
[20-Nov-2025 13:51:25 UTC]    Language field in books: YES
[20-Nov-2025 13:51:25 UTC]    Format field in books: YES
[20-Nov-2025 13:51:25 UTC]    Description field in categories: YES
[20-Nov-2025 13:51:25 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:51:25 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:51:25 UTC]    Is_active field in books: YES
[20-Nov-2025 13:51:25 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:51:25 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:51:25 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:51:25 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:51:25 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:51:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:51:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:51:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:51:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:51:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:51:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:51:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:51:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:51:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:51:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:51:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:51:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:51:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:51:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:51:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:51:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:51:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:51:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:51:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:51:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:51:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:51:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:51:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:51:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:51:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:51:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:51:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:51:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:51:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:51:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:51:28 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:51:28 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:51:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:51:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:51:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:51:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:51:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:51:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:51:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:51:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:51:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:51:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:51:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:51:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:51:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:51:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:51:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:51:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:51:28 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:51:28 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:51:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:51:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:51:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:51:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:51:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:51:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:51:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:51:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:51:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:51:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:51:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:51:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:51:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:51:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:51:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:51:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:51:29 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:51:29 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:51:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:51:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:51:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:51:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:51:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:51:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:51:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:51:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:51:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:51:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:51:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:51:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:51:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:51:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:51:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:51:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:51:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:51:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:51:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:51:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:51:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:51:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:51:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:51:29 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:51:29 UTC] 📊 Database Info:
[20-Nov-2025 13:51:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:51:29 UTC]    Books columns count: 44
[20-Nov-2025 13:51:29 UTC]    Categories columns count: 7
[20-Nov-2025 13:51:29 UTC]    Language field in books: YES
[20-Nov-2025 13:51:29 UTC]    Format field in books: YES
[20-Nov-2025 13:51:29 UTC]    Description field in categories: YES
[20-Nov-2025 13:51:29 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:51:29 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:51:29 UTC]    Is_active field in books: YES
[20-Nov-2025 13:51:29 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:51:29 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:51:29 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:51:29 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:51:29 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:51:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:51:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:51:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:51:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:51:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:51:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:51:29 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:51:29 UTC] 📊 Database Info:
[20-Nov-2025 13:51:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:51:29 UTC]    Books columns count: 44
[20-Nov-2025 13:51:29 UTC]    Categories columns count: 7
[20-Nov-2025 13:51:29 UTC]    Language field in books: YES
[20-Nov-2025 13:51:29 UTC]    Format field in books: YES
[20-Nov-2025 13:51:29 UTC]    Description field in categories: YES
[20-Nov-2025 13:51:29 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:51:29 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:51:29 UTC]    Is_active field in books: YES
[20-Nov-2025 13:51:29 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:51:29 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:51:29 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:51:29 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:51:29 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:51:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:51:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:51:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:51:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:51:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:51:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:51:29 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:51:29 UTC] 📊 Database Info:
[20-Nov-2025 13:51:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:51:29 UTC]    Books columns count: 44
[20-Nov-2025 13:51:29 UTC]    Categories columns count: 7
[20-Nov-2025 13:51:29 UTC]    Language field in books: YES
[20-Nov-2025 13:51:29 UTC]    Format field in books: YES
[20-Nov-2025 13:51:29 UTC]    Description field in categories: YES
[20-Nov-2025 13:51:29 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:51:29 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:51:29 UTC]    Is_active field in books: YES
[20-Nov-2025 13:51:29 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:51:29 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:51:29 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:51:29 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:51:29 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:51:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:51:29 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:51:29 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:51:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:51:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:51:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:51:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:51:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:51:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:51:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:51:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:51:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:51:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:51:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:51:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:51:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:51:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:51:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:51:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:51:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:51:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:51:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:51:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:51:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:51:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:51:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:51:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:51:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:51:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:51:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:51:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:51:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:51:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:51:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:51:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:51:30 UTC] 📊 Database Info:
[20-Nov-2025 13:51:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:51:30 UTC]    Books columns count: 44
[20-Nov-2025 13:51:30 UTC]    Categories columns count: 7
[20-Nov-2025 13:51:30 UTC]    Language field in books: YES
[20-Nov-2025 13:51:30 UTC]    Format field in books: YES
[20-Nov-2025 13:51:30 UTC]    Description field in categories: YES
[20-Nov-2025 13:51:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:51:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:51:30 UTC]    Is_active field in books: YES
[20-Nov-2025 13:51:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:51:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:51:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:51:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:51:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:51:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:51:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:52:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:52:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:52:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:52:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:52:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:52:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:52:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:52:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:52:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:52:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:52:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:52:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:52:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:52:14 UTC] 📊 Database Info:
[20-Nov-2025 13:52:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:52:14 UTC]    Books columns count: 44
[20-Nov-2025 13:52:14 UTC]    Categories columns count: 7
[20-Nov-2025 13:52:14 UTC]    Language field in books: YES
[20-Nov-2025 13:52:14 UTC]    Format field in books: YES
[20-Nov-2025 13:52:14 UTC]    Description field in categories: YES
[20-Nov-2025 13:52:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:52:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:52:14 UTC]    Is_active field in books: YES
[20-Nov-2025 13:52:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:52:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:52:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:52:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:52:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:52:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:52:14 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:52:14 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:52:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:52:14 UTC] 📊 Database Info:
[20-Nov-2025 13:52:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:52:14 UTC]    Books columns count: 44
[20-Nov-2025 13:52:14 UTC]    Categories columns count: 7
[20-Nov-2025 13:52:14 UTC]    Language field in books: YES
[20-Nov-2025 13:52:14 UTC]    Format field in books: YES
[20-Nov-2025 13:52:14 UTC]    Description field in categories: YES
[20-Nov-2025 13:52:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:52:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:52:14 UTC]    Is_active field in books: YES
[20-Nov-2025 13:52:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:52:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:52:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:52:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:52:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:52:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:52:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:52:14 UTC] 📊 Database Info:
[20-Nov-2025 13:52:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:52:14 UTC]    Books columns count: 44
[20-Nov-2025 13:52:14 UTC]    Categories columns count: 7
[20-Nov-2025 13:52:14 UTC]    Language field in books: YES
[20-Nov-2025 13:52:14 UTC]    Format field in books: YES
[20-Nov-2025 13:52:14 UTC]    Description field in categories: YES
[20-Nov-2025 13:52:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:52:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:52:14 UTC]    Is_active field in books: YES
[20-Nov-2025 13:52:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:52:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:52:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:52:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:52:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:52:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:52:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:52:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:52:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:52:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:52:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:52:21 UTC] 📊 Database Info:
[20-Nov-2025 13:52:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:52:21 UTC]    Books columns count: 44
[20-Nov-2025 13:52:21 UTC]    Categories columns count: 7
[20-Nov-2025 13:52:21 UTC]    Language field in books: YES
[20-Nov-2025 13:52:21 UTC]    Format field in books: YES
[20-Nov-2025 13:52:21 UTC]    Description field in categories: YES
[20-Nov-2025 13:52:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:52:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:52:21 UTC]    Is_active field in books: YES
[20-Nov-2025 13:52:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:52:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:52:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:52:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:52:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:52:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:52:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:52:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:52:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:52:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:52:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:52:21 UTC] 📊 Database Info:
[20-Nov-2025 13:52:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:52:21 UTC]    Books columns count: 44
[20-Nov-2025 13:52:21 UTC]    Categories columns count: 7
[20-Nov-2025 13:52:21 UTC]    Language field in books: YES
[20-Nov-2025 13:52:21 UTC]    Format field in books: YES
[20-Nov-2025 13:52:21 UTC]    Description field in categories: YES
[20-Nov-2025 13:52:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:52:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:52:21 UTC]    Is_active field in books: YES
[20-Nov-2025 13:52:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:52:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:52:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:52:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:52:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:52:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:52:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:52:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:52:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:52:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:24 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:52:24 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:52:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:24 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:52:24 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:52:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:52:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:24 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:52:24 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:52:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:24 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:52:24 UTC] 📊 Database Info:
[20-Nov-2025 13:52:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:52:24 UTC]    Books columns count: 44
[20-Nov-2025 13:52:24 UTC]    Categories columns count: 7
[20-Nov-2025 13:52:24 UTC]    Language field in books: YES
[20-Nov-2025 13:52:24 UTC]    Format field in books: YES
[20-Nov-2025 13:52:24 UTC]    Description field in categories: YES
[20-Nov-2025 13:52:24 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:52:24 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:52:24 UTC]    Is_active field in books: YES
[20-Nov-2025 13:52:24 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:52:24 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:52:24 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:52:24 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:52:24 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:52:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:52:24 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:52:24 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:52:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:24 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:52:24 UTC] 📊 Database Info:
[20-Nov-2025 13:52:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:52:24 UTC]    Books columns count: 44
[20-Nov-2025 13:52:24 UTC]    Categories columns count: 7
[20-Nov-2025 13:52:24 UTC]    Language field in books: YES
[20-Nov-2025 13:52:24 UTC]    Format field in books: YES
[20-Nov-2025 13:52:24 UTC]    Description field in categories: YES
[20-Nov-2025 13:52:24 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:52:24 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:52:24 UTC]    Is_active field in books: YES
[20-Nov-2025 13:52:24 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:52:24 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:52:24 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:52:24 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:52:24 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:52:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:52:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:24 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:52:24 UTC] 📊 Database Info:
[20-Nov-2025 13:52:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:52:24 UTC]    Books columns count: 44
[20-Nov-2025 13:52:24 UTC]    Categories columns count: 7
[20-Nov-2025 13:52:24 UTC]    Language field in books: YES
[20-Nov-2025 13:52:24 UTC]    Format field in books: YES
[20-Nov-2025 13:52:24 UTC]    Description field in categories: YES
[20-Nov-2025 13:52:24 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:52:24 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:52:24 UTC]    Is_active field in books: YES
[20-Nov-2025 13:52:24 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:52:24 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:52:24 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:52:24 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:52:24 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:52:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:52:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:52:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:52:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:52:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:26 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:52:26 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:52:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:52:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:26 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:52:26 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:52:26 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:52:26 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:52:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:26 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:52:26 UTC] 📊 Database Info:
[20-Nov-2025 13:52:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:52:26 UTC]    Books columns count: 44
[20-Nov-2025 13:52:26 UTC]    Categories columns count: 7
[20-Nov-2025 13:52:26 UTC]    Language field in books: YES
[20-Nov-2025 13:52:26 UTC]    Format field in books: YES
[20-Nov-2025 13:52:26 UTC]    Description field in categories: YES
[20-Nov-2025 13:52:26 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:52:26 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:52:26 UTC]    Is_active field in books: YES
[20-Nov-2025 13:52:26 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:52:26 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:52:26 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:52:26 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:52:26 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:52:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:52:26 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:52:26 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:52:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:26 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:52:26 UTC] 📊 Database Info:
[20-Nov-2025 13:52:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:52:26 UTC]    Books columns count: 44
[20-Nov-2025 13:52:26 UTC]    Categories columns count: 7
[20-Nov-2025 13:52:26 UTC]    Language field in books: YES
[20-Nov-2025 13:52:26 UTC]    Format field in books: YES
[20-Nov-2025 13:52:26 UTC]    Description field in categories: YES
[20-Nov-2025 13:52:26 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:52:26 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:52:26 UTC]    Is_active field in books: YES
[20-Nov-2025 13:52:26 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:52:26 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:52:26 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:52:26 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:52:26 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:52:26 UTC] 📊 Database Info:
[20-Nov-2025 13:52:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:52:26 UTC]    Books columns count: 44
[20-Nov-2025 13:52:26 UTC]    Categories columns count: 7
[20-Nov-2025 13:52:26 UTC]    Language field in books: YES
[20-Nov-2025 13:52:26 UTC]    Format field in books: YES
[20-Nov-2025 13:52:26 UTC]    Description field in categories: YES
[20-Nov-2025 13:52:26 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:52:26 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:52:26 UTC]    Is_active field in books: YES
[20-Nov-2025 13:52:26 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:52:26 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:52:26 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:52:26 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:52:26 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:52:26 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:52:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:52:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:52:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:52:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:52:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:52:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:27 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:52:27 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:52:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:27 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:52:27 UTC] 📊 Database Info:
[20-Nov-2025 13:52:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:52:27 UTC]    Books columns count: 44
[20-Nov-2025 13:52:27 UTC]    Categories columns count: 7
[20-Nov-2025 13:52:27 UTC]    Language field in books: YES
[20-Nov-2025 13:52:27 UTC]    Format field in books: YES
[20-Nov-2025 13:52:27 UTC]    Description field in categories: YES
[20-Nov-2025 13:52:27 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:52:27 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:52:27 UTC]    Is_active field in books: YES
[20-Nov-2025 13:52:27 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:52:27 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:52:27 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:52:27 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:52:27 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:52:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:52:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:52:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:52:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:52:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:52:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:52:57 UTC] 📊 Database Info:
[20-Nov-2025 13:52:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:52:57 UTC]    Books columns count: 44
[20-Nov-2025 13:52:57 UTC]    Categories columns count: 7
[20-Nov-2025 13:52:57 UTC]    Language field in books: YES
[20-Nov-2025 13:52:57 UTC]    Format field in books: YES
[20-Nov-2025 13:52:57 UTC]    Description field in categories: YES
[20-Nov-2025 13:52:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:52:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:52:57 UTC]    Is_active field in books: YES
[20-Nov-2025 13:52:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:52:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:52:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:52:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:52:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:52:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:52:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:52:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:52:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:52:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:52:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:52:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:52:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:52:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:52:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:52:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:52:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:52:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:52:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:52:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:52:57 UTC] 📊 Database Info:
[20-Nov-2025 13:52:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:52:57 UTC]    Books columns count: 44
[20-Nov-2025 13:52:57 UTC]    Categories columns count: 7
[20-Nov-2025 13:52:57 UTC]    Language field in books: YES
[20-Nov-2025 13:52:57 UTC]    Format field in books: YES
[20-Nov-2025 13:52:57 UTC]    Description field in categories: YES
[20-Nov-2025 13:52:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:52:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:52:57 UTC]    Is_active field in books: YES
[20-Nov-2025 13:52:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:52:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:52:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:52:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:52:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:52:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:52:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:53:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:53:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:53:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:53:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:53:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:53:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:53:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:53:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:53:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:53:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:53:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:53:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:53:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:53:00 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:53:00 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:53:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:53:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:53:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:53:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:53:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:53:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:53:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:53:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:53:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:53:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:53:00 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:53:00 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:53:00 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:53:00 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:53:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:53:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:53:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:53:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:53:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:53:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:53:00 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:53:00 UTC] 📊 Database Info:
[20-Nov-2025 13:53:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:53:00 UTC]    Books columns count: 44
[20-Nov-2025 13:53:00 UTC]    Categories columns count: 7
[20-Nov-2025 13:53:00 UTC]    Language field in books: YES
[20-Nov-2025 13:53:00 UTC]    Format field in books: YES
[20-Nov-2025 13:53:00 UTC]    Description field in categories: YES
[20-Nov-2025 13:53:00 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:53:00 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:53:00 UTC]    Is_active field in books: YES
[20-Nov-2025 13:53:00 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:53:00 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:53:00 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:53:00 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:53:00 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:53:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:53:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:53:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:53:00 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:53:00 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:53:00 UTC] 📊 Database Info:
[20-Nov-2025 13:53:00 UTC] 📊 Database Info:
[20-Nov-2025 13:53:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:53:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:53:00 UTC]    Books columns count: 44
[20-Nov-2025 13:53:00 UTC]    Categories columns count: 7
[20-Nov-2025 13:53:00 UTC]    Books columns count: 44
[20-Nov-2025 13:53:00 UTC]    Categories columns count: 7
[20-Nov-2025 13:53:00 UTC]    Language field in books: YES
[20-Nov-2025 13:53:00 UTC]    Format field in books: YES
[20-Nov-2025 13:53:00 UTC]    Description field in categories: YES
[20-Nov-2025 13:53:00 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:53:00 UTC]    Language field in books: YES
[20-Nov-2025 13:53:00 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:53:00 UTC]    Is_active field in books: YES
[20-Nov-2025 13:53:00 UTC]    Format field in books: YES
[20-Nov-2025 13:53:00 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:53:00 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:53:00 UTC]    Description field in categories: YES
[20-Nov-2025 13:53:00 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:53:00 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:53:00 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:53:00 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:53:00 UTC]    Is_active field in books: YES
[20-Nov-2025 13:53:00 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:53:00 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:53:00 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:53:00 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:53:00 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:53:00 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:53:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:53:00 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:53:00 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:53:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:53:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:53:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:53:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:53:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:53:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:53:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:53:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:53:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:53:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:53:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:53:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:53:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:53:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:53:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:53:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:53:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:53:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:53:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:53:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:53:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:53:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:53:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:53:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:53:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:53:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:53:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:53:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:53:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:53:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:53:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:53:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:53:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:53:01 UTC] 📊 Database Info:
[20-Nov-2025 13:53:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:53:01 UTC]    Books columns count: 44
[20-Nov-2025 13:53:01 UTC]    Categories columns count: 7
[20-Nov-2025 13:53:01 UTC]    Language field in books: YES
[20-Nov-2025 13:53:01 UTC]    Format field in books: YES
[20-Nov-2025 13:53:01 UTC]    Description field in categories: YES
[20-Nov-2025 13:53:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:53:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:53:01 UTC]    Is_active field in books: YES
[20-Nov-2025 13:53:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:53:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:53:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:53:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:53:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:53:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:53:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:53:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:53:10 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:53:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:53:10 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:53:10 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:53:10 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:53:10 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:53:10 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:53:10 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:53:10 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:53:10 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:53:10 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:53:10 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:53:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:53:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:53:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:53:10 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:53:10 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:53:10 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:53:10 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:53:10 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:53:10 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:53:10 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:53:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:53:10 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:53:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:53:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:53:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:53:10 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:53:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:53:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:53:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:53:10 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:53:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:53:10 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:53:10 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:53:10 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:53:10 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:53:10 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:53:10 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:53:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:53:10 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:53:10 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:53:10 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:53:10 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:53:10 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:53:10 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:53:10 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:53:10 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:53:10 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:53:10 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:53:10 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:53:10 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:53:10 UTC] 📊 Database Info:
[20-Nov-2025 13:53:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:53:10 UTC]    Books columns count: 44
[20-Nov-2025 13:53:10 UTC]    Categories columns count: 7
[20-Nov-2025 13:53:10 UTC]    Language field in books: YES
[20-Nov-2025 13:53:10 UTC]    Format field in books: YES
[20-Nov-2025 13:53:10 UTC]    Description field in categories: YES
[20-Nov-2025 13:53:10 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:53:10 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:53:10 UTC]    Is_active field in books: YES
[20-Nov-2025 13:53:10 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:53:10 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:53:10 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:53:10 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:53:10 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:53:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:53:10 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:53:10 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:53:10 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:53:10 UTC] 📊 Database Info:
[20-Nov-2025 13:53:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:53:10 UTC]    Books columns count: 44
[20-Nov-2025 13:53:10 UTC]    Categories columns count: 7
[20-Nov-2025 13:53:10 UTC]    Language field in books: YES
[20-Nov-2025 13:53:10 UTC]    Format field in books: YES
[20-Nov-2025 13:53:10 UTC]    Description field in categories: YES
[20-Nov-2025 13:53:10 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:53:10 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:53:10 UTC]    Is_active field in books: YES
[20-Nov-2025 13:53:10 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:53:10 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:53:10 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:53:10 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:53:10 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:53:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:53:10 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:53:10 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:53:10 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:53:10 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:53:10 UTC] 📊 Database Info:
[20-Nov-2025 13:53:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:53:10 UTC]    Books columns count: 44
[20-Nov-2025 13:53:10 UTC]    Categories columns count: 7
[20-Nov-2025 13:53:10 UTC]    Language field in books: YES
[20-Nov-2025 13:53:10 UTC]    Format field in books: YES
[20-Nov-2025 13:53:10 UTC]    Description field in categories: YES
[20-Nov-2025 13:53:10 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:53:10 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:53:10 UTC]    Is_active field in books: YES
[20-Nov-2025 13:53:10 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:53:10 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:53:10 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:53:10 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:53:10 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:53:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:53:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:53:10 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:53:10 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:53:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:53:11 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:53:11 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:53:11 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:53:11 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:53:11 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:53:11 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:53:11 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:53:11 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:53:11 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:53:11 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:53:11 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:53:11 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:53:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:53:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:53:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:53:11 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:53:11 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:53:11 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:53:11 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:53:11 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:53:11 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:53:11 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:53:11 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:53:11 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:53:11 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:53:11 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:53:11 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:53:11 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:53:11 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:53:11 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:53:11 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:53:11 UTC] 📊 Database Info:
[20-Nov-2025 13:53:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:53:11 UTC]    Books columns count: 44
[20-Nov-2025 13:53:11 UTC]    Categories columns count: 7
[20-Nov-2025 13:53:11 UTC]    Language field in books: YES
[20-Nov-2025 13:53:11 UTC]    Format field in books: YES
[20-Nov-2025 13:53:11 UTC]    Description field in categories: YES
[20-Nov-2025 13:53:11 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:53:11 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:53:11 UTC]    Is_active field in books: YES
[20-Nov-2025 13:53:11 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:53:11 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:53:11 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:53:11 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:53:11 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:53:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:53:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:53:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:53:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:53:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:53:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:53:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:53:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:53:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:53:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:53:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:53:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:53:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:54:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:54:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:54:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:09 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:54:09 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:54:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:09 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:54:09 UTC] 📊 Database Info:
[20-Nov-2025 13:54:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:54:09 UTC]    Books columns count: 44
[20-Nov-2025 13:54:09 UTC]    Categories columns count: 7
[20-Nov-2025 13:54:09 UTC]    Language field in books: YES
[20-Nov-2025 13:54:09 UTC]    Format field in books: YES
[20-Nov-2025 13:54:09 UTC]    Description field in categories: YES
[20-Nov-2025 13:54:09 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:54:09 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:54:09 UTC]    Is_active field in books: YES
[20-Nov-2025 13:54:09 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:54:09 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:54:09 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:54:09 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:54:09 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:54:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:54:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:54:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:54:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:09 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:54:09 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:54:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:09 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:54:09 UTC] 📊 Database Info:
[20-Nov-2025 13:54:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:54:09 UTC]    Books columns count: 44
[20-Nov-2025 13:54:09 UTC]    Categories columns count: 7
[20-Nov-2025 13:54:09 UTC]    Language field in books: YES
[20-Nov-2025 13:54:09 UTC]    Format field in books: YES
[20-Nov-2025 13:54:09 UTC]    Description field in categories: YES
[20-Nov-2025 13:54:09 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:54:09 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:54:09 UTC]    Is_active field in books: YES
[20-Nov-2025 13:54:09 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:54:09 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:54:09 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:54:09 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:54:09 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:54:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:54:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:54:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:54:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:54:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:54:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:54:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:54:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:54:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:54:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:54:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:54:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:54:13 UTC] 📊 Database Info:
[20-Nov-2025 13:54:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:54:13 UTC]    Books columns count: 44
[20-Nov-2025 13:54:13 UTC]    Categories columns count: 7
[20-Nov-2025 13:54:13 UTC]    Language field in books: YES
[20-Nov-2025 13:54:13 UTC]    Format field in books: YES
[20-Nov-2025 13:54:13 UTC]    Description field in categories: YES
[20-Nov-2025 13:54:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:54:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:54:13 UTC]    Is_active field in books: YES
[20-Nov-2025 13:54:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:54:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:54:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:54:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:54:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:54:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:54:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:54:13 UTC] 📊 Database Info:
[20-Nov-2025 13:54:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:54:13 UTC]    Books columns count: 44
[20-Nov-2025 13:54:13 UTC]    Categories columns count: 7
[20-Nov-2025 13:54:13 UTC]    Language field in books: YES
[20-Nov-2025 13:54:13 UTC]    Format field in books: YES
[20-Nov-2025 13:54:13 UTC]    Description field in categories: YES
[20-Nov-2025 13:54:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:54:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:54:13 UTC]    Is_active field in books: YES
[20-Nov-2025 13:54:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:54:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:54:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:54:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:54:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:54:13 UTC] 📊 Database Info:
[20-Nov-2025 13:54:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:54:13 UTC]    Books columns count: 44
[20-Nov-2025 13:54:13 UTC]    Categories columns count: 7
[20-Nov-2025 13:54:13 UTC]    Language field in books: YES
[20-Nov-2025 13:54:13 UTC]    Format field in books: YES
[20-Nov-2025 13:54:13 UTC]    Description field in categories: YES
[20-Nov-2025 13:54:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:54:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:54:13 UTC]    Is_active field in books: YES
[20-Nov-2025 13:54:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:54:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:54:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:54:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:54:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:54:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:54:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:54:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:54:13 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:54:13 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:54:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:54:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:54:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:54:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:54:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:54:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:54:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:54:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:54:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:54:13 UTC] 📊 Database Info:
[20-Nov-2025 13:54:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:54:13 UTC]    Books columns count: 44
[20-Nov-2025 13:54:13 UTC]    Categories columns count: 7
[20-Nov-2025 13:54:13 UTC]    Language field in books: YES
[20-Nov-2025 13:54:13 UTC]    Format field in books: YES
[20-Nov-2025 13:54:13 UTC]    Description field in categories: YES
[20-Nov-2025 13:54:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:54:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:54:13 UTC]    Is_active field in books: YES
[20-Nov-2025 13:54:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:54:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:54:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:54:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:54:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:54:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:54:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:54:13 UTC] 📊 Database Info:
[20-Nov-2025 13:54:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:54:13 UTC]    Books columns count: 44
[20-Nov-2025 13:54:13 UTC]    Categories columns count: 7
[20-Nov-2025 13:54:13 UTC]    Language field in books: YES
[20-Nov-2025 13:54:13 UTC]    Format field in books: YES
[20-Nov-2025 13:54:13 UTC]    Description field in categories: YES
[20-Nov-2025 13:54:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:54:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:54:13 UTC]    Is_active field in books: YES
[20-Nov-2025 13:54:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:54:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:54:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:54:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:54:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:54:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:54:13 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:54:13 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:54:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:54:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:54:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:54:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:54:14 UTC] 📊 Database Info:
[20-Nov-2025 13:54:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:54:14 UTC]    Books columns count: 44
[20-Nov-2025 13:54:14 UTC]    Categories columns count: 7
[20-Nov-2025 13:54:14 UTC]    Language field in books: YES
[20-Nov-2025 13:54:14 UTC]    Format field in books: YES
[20-Nov-2025 13:54:14 UTC]    Description field in categories: YES
[20-Nov-2025 13:54:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:54:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:54:14 UTC]    Is_active field in books: YES
[20-Nov-2025 13:54:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:54:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:54:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:54:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:54:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:54:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:54:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:54:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:54:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:15 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:54:15 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:54:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:15 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:54:15 UTC] 📊 Database Info:
[20-Nov-2025 13:54:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:54:15 UTC]    Books columns count: 44
[20-Nov-2025 13:54:15 UTC]    Categories columns count: 7
[20-Nov-2025 13:54:15 UTC]    Language field in books: YES
[20-Nov-2025 13:54:15 UTC]    Format field in books: YES
[20-Nov-2025 13:54:15 UTC]    Description field in categories: YES
[20-Nov-2025 13:54:15 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:54:15 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:54:15 UTC]    Is_active field in books: YES
[20-Nov-2025 13:54:15 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:54:15 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:54:15 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:54:15 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:54:15 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:54:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:54:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:54:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:54:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:48 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:54:48 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:54:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:48 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:54:48 UTC] 📊 Database Info:
[20-Nov-2025 13:54:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:54:48 UTC]    Books columns count: 44
[20-Nov-2025 13:54:48 UTC]    Categories columns count: 7
[20-Nov-2025 13:54:48 UTC]    Language field in books: YES
[20-Nov-2025 13:54:48 UTC]    Format field in books: YES
[20-Nov-2025 13:54:48 UTC]    Description field in categories: YES
[20-Nov-2025 13:54:48 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:54:48 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:54:48 UTC]    Is_active field in books: YES
[20-Nov-2025 13:54:48 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:54:48 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:54:48 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:54:48 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:54:48 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:54:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:54:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:54:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:54:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:48 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:54:48 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:54:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:48 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:54:48 UTC] 📊 Database Info:
[20-Nov-2025 13:54:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:54:48 UTC]    Books columns count: 44
[20-Nov-2025 13:54:48 UTC]    Categories columns count: 7
[20-Nov-2025 13:54:48 UTC]    Language field in books: YES
[20-Nov-2025 13:54:48 UTC]    Format field in books: YES
[20-Nov-2025 13:54:48 UTC]    Description field in categories: YES
[20-Nov-2025 13:54:48 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:54:48 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:54:48 UTC]    Is_active field in books: YES
[20-Nov-2025 13:54:48 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:54:48 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:54:48 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:54:48 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:54:48 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:54:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:54:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:54:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:54:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:54:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:54:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:49 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:54:49 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:54:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:49 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:54:49 UTC] 📊 Database Info:
[20-Nov-2025 13:54:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:54:49 UTC]    Books columns count: 44
[20-Nov-2025 13:54:49 UTC]    Categories columns count: 7
[20-Nov-2025 13:54:49 UTC]    Language field in books: YES
[20-Nov-2025 13:54:49 UTC]    Format field in books: YES
[20-Nov-2025 13:54:49 UTC]    Description field in categories: YES
[20-Nov-2025 13:54:49 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:54:49 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:54:49 UTC]    Is_active field in books: YES
[20-Nov-2025 13:54:49 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:54:49 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:54:49 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:54:49 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:54:49 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:54:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:54:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:54:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:54:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:54:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:54:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:54:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:54:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:54:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:54:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:54:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:54:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:54:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:54:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:54:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:54:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:54:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:54:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:54:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:54:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:54:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:54:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:54:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:54:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:54:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:54:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:54:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:54:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:54:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:54:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:54:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:54:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:54:50 UTC] 📊 Database Info:
[20-Nov-2025 13:54:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:54:50 UTC]    Books columns count: 44
[20-Nov-2025 13:54:50 UTC]    Categories columns count: 7
[20-Nov-2025 13:54:50 UTC]    Language field in books: YES
[20-Nov-2025 13:54:50 UTC]    Format field in books: YES
[20-Nov-2025 13:54:50 UTC]    Description field in categories: YES
[20-Nov-2025 13:54:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:54:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:54:50 UTC]    Is_active field in books: YES
[20-Nov-2025 13:54:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:54:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:54:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:54:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:54:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:54:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:54:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:54:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:54:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:54:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:54:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:54:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:54:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:54:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:54:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:54:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:54:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:54:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:55:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:55:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:55:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:55:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:55:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:55:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:55:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:55:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:55:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:55:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:55:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:55:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:55:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:55:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:55:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:55:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:55:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:55:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:55:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:55:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:55:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:55:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:55:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:55:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:55:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:55:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:55:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:55:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:55:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:55:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:55:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:55:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:55:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:55:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:55:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:55:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:55:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:55:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:55:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:55:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:55:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:55:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:55:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:55:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:55:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:55:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:55:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:55:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:55:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:55:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:55:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:55:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:55:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:55:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:55:57 UTC] 📊 Database Info:
[20-Nov-2025 13:55:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:55:57 UTC]    Books columns count: 44
[20-Nov-2025 13:55:57 UTC]    Categories columns count: 7
[20-Nov-2025 13:55:57 UTC]    Language field in books: YES
[20-Nov-2025 13:55:57 UTC]    Format field in books: YES
[20-Nov-2025 13:55:57 UTC]    Description field in categories: YES
[20-Nov-2025 13:55:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:55:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:55:57 UTC]    Is_active field in books: YES
[20-Nov-2025 13:55:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:55:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:55:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:55:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:55:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:55:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:55:57 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:55:57 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:55:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:55:57 UTC] 📊 Database Info:
[20-Nov-2025 13:55:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:55:57 UTC]    Books columns count: 44
[20-Nov-2025 13:55:57 UTC]    Categories columns count: 7
[20-Nov-2025 13:55:57 UTC]    Language field in books: YES
[20-Nov-2025 13:55:57 UTC]    Format field in books: YES
[20-Nov-2025 13:55:57 UTC]    Description field in categories: YES
[20-Nov-2025 13:55:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:55:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:55:57 UTC]    Is_active field in books: YES
[20-Nov-2025 13:55:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:55:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:55:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:55:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:55:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:55:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:55:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:55:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:55:57 UTC] 📊 Database Info:
[20-Nov-2025 13:55:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:55:57 UTC]    Books columns count: 44
[20-Nov-2025 13:55:57 UTC]    Categories columns count: 7
[20-Nov-2025 13:55:57 UTC]    Language field in books: YES
[20-Nov-2025 13:55:57 UTC]    Format field in books: YES
[20-Nov-2025 13:55:57 UTC]    Description field in categories: YES
[20-Nov-2025 13:55:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:55:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:55:57 UTC]    Is_active field in books: YES
[20-Nov-2025 13:55:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:55:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:55:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:55:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:55:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:55:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:55:57 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:55:57 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:55:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:55:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:55:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:55:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:55:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:55:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:55:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:55:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:55:57 UTC] 📊 Database Info:
[20-Nov-2025 13:55:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:55:57 UTC]    Books columns count: 44
[20-Nov-2025 13:55:57 UTC]    Categories columns count: 7
[20-Nov-2025 13:55:57 UTC]    Language field in books: YES
[20-Nov-2025 13:55:57 UTC]    Format field in books: YES
[20-Nov-2025 13:55:57 UTC]    Description field in categories: YES
[20-Nov-2025 13:55:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:55:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:55:57 UTC]    Is_active field in books: YES
[20-Nov-2025 13:55:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:55:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:55:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:55:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:55:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:55:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:55:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:55:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:55:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:55:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:55:57 UTC] 📊 Database Info:
[20-Nov-2025 13:55:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:55:57 UTC]    Books columns count: 44
[20-Nov-2025 13:55:57 UTC]    Categories columns count: 7
[20-Nov-2025 13:55:57 UTC]    Language field in books: YES
[20-Nov-2025 13:55:57 UTC]    Format field in books: YES
[20-Nov-2025 13:55:57 UTC]    Description field in categories: YES
[20-Nov-2025 13:55:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:55:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:55:57 UTC]    Is_active field in books: YES
[20-Nov-2025 13:55:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:55:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:55:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:55:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:55:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:55:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:55:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:55:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:55:57 UTC] 📊 Database Info:
[20-Nov-2025 13:55:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:55:57 UTC]    Books columns count: 44
[20-Nov-2025 13:55:57 UTC]    Categories columns count: 7
[20-Nov-2025 13:55:57 UTC]    Language field in books: YES
[20-Nov-2025 13:55:57 UTC]    Format field in books: YES
[20-Nov-2025 13:55:57 UTC]    Description field in categories: YES
[20-Nov-2025 13:55:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:55:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:55:57 UTC]    Is_active field in books: YES
[20-Nov-2025 13:55:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:55:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:55:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:55:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:55:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:55:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:55:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:56:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:56:03 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:03 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:03 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:03 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:03 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:03 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:03 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:03 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:03 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:03 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:03 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:03 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:56:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:03 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:56:03 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:56:03 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:03 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:03 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:03 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:03 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:03 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:03 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:03 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:03 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:03 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:03 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:03 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:03 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:03 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:56:03 UTC] 📊 Database Info:
[20-Nov-2025 13:56:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:56:03 UTC]    Books columns count: 44
[20-Nov-2025 13:56:03 UTC]    Categories columns count: 7
[20-Nov-2025 13:56:03 UTC]    Language field in books: YES
[20-Nov-2025 13:56:03 UTC]    Format field in books: YES
[20-Nov-2025 13:56:03 UTC]    Description field in categories: YES
[20-Nov-2025 13:56:03 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:56:03 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:56:03 UTC]    Is_active field in books: YES
[20-Nov-2025 13:56:03 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:56:03 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:56:03 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:56:03 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:56:03 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:56:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:56:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:56:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:56:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:56:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:56:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:56:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:56:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:56:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:56:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:56:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:56:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:56:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:56:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:56:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:56:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:20 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:56:20 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:56:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:20 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:56:20 UTC] 📊 Database Info:
[20-Nov-2025 13:56:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:56:20 UTC]    Books columns count: 44
[20-Nov-2025 13:56:20 UTC]    Categories columns count: 7
[20-Nov-2025 13:56:20 UTC]    Language field in books: YES
[20-Nov-2025 13:56:20 UTC]    Format field in books: YES
[20-Nov-2025 13:56:20 UTC]    Description field in categories: YES
[20-Nov-2025 13:56:20 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:56:20 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:56:20 UTC]    Is_active field in books: YES
[20-Nov-2025 13:56:20 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:56:20 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:56:20 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:56:20 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:56:20 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:56:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:56:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:56:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:56:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:29 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:56:29 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:56:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:29 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:56:29 UTC] 📊 Database Info:
[20-Nov-2025 13:56:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:56:29 UTC]    Books columns count: 44
[20-Nov-2025 13:56:29 UTC]    Categories columns count: 7
[20-Nov-2025 13:56:29 UTC]    Language field in books: YES
[20-Nov-2025 13:56:29 UTC]    Format field in books: YES
[20-Nov-2025 13:56:29 UTC]    Description field in categories: YES
[20-Nov-2025 13:56:29 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:56:29 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:56:29 UTC]    Is_active field in books: YES
[20-Nov-2025 13:56:29 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:56:29 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:56:29 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:56:29 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:56:29 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:56:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:56:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:56:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:56:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:56:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:56:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:56:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:56:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:56:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:56:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:56:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:56:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:56:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:56:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:56:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:56:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:56:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:56:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:56:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:56:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:56:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:56:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:56:30 UTC] 📊 Database Info:
[20-Nov-2025 13:56:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:56:30 UTC]    Books columns count: 44
[20-Nov-2025 13:56:30 UTC]    Categories columns count: 7
[20-Nov-2025 13:56:30 UTC]    Language field in books: YES
[20-Nov-2025 13:56:30 UTC]    Format field in books: YES
[20-Nov-2025 13:56:30 UTC]    Description field in categories: YES
[20-Nov-2025 13:56:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:56:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:56:30 UTC]    Is_active field in books: YES
[20-Nov-2025 13:56:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:56:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:56:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:56:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:56:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:56:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:56:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:56:30 UTC] 📊 Database Info:
[20-Nov-2025 13:56:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:56:30 UTC]    Books columns count: 44
[20-Nov-2025 13:56:30 UTC]    Categories columns count: 7
[20-Nov-2025 13:56:30 UTC]    Language field in books: YES
[20-Nov-2025 13:56:30 UTC]    Format field in books: YES
[20-Nov-2025 13:56:30 UTC]    Description field in categories: YES
[20-Nov-2025 13:56:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:56:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:56:30 UTC]    Is_active field in books: YES
[20-Nov-2025 13:56:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:56:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:56:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:56:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:56:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:56:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:56:30 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 13:56:30 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 13:56:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:56:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:56:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:56:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:56:30 UTC] 📊 Database Info:
[20-Nov-2025 13:56:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:56:30 UTC]    Books columns count: 44
[20-Nov-2025 13:56:30 UTC]    Categories columns count: 7
[20-Nov-2025 13:56:30 UTC]    Language field in books: YES
[20-Nov-2025 13:56:30 UTC]    Format field in books: YES
[20-Nov-2025 13:56:30 UTC]    Description field in categories: YES
[20-Nov-2025 13:56:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:56:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:56:30 UTC]    Is_active field in books: YES
[20-Nov-2025 13:56:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:56:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:56:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:56:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:56:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:56:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:56:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 13:56:30 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 13:56:30 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 13:56:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:56:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:56:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:35 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:56:35 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:56:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:35 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:56:35 UTC] 📊 Database Info:
[20-Nov-2025 13:56:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:56:35 UTC]    Books columns count: 44
[20-Nov-2025 13:56:35 UTC]    Categories columns count: 7
[20-Nov-2025 13:56:35 UTC]    Language field in books: YES
[20-Nov-2025 13:56:35 UTC]    Format field in books: YES
[20-Nov-2025 13:56:35 UTC]    Description field in categories: YES
[20-Nov-2025 13:56:35 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:56:35 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:56:35 UTC]    Is_active field in books: YES
[20-Nov-2025 13:56:35 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:56:35 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:56:35 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:56:35 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:56:35 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:56:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:56:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:56:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:56:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:56:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:56:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:56:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:40 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:56:40 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:56:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:40 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:56:40 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:56:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:40 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:56:40 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:40 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:56:40 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:56:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:56:40 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:56:40 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:56:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:56:40 UTC] 📊 Database Info:
[20-Nov-2025 13:56:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:56:40 UTC]    Books columns count: 44
[20-Nov-2025 13:56:40 UTC]    Categories columns count: 7
[20-Nov-2025 13:56:40 UTC]    Language field in books: YES
[20-Nov-2025 13:56:40 UTC]    Format field in books: YES
[20-Nov-2025 13:56:40 UTC]    Description field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Is_active field in books: YES
[20-Nov-2025 13:56:40 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:56:40 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:56:40 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:56:40 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:56:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:56:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:40 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:56:40 UTC] 📊 Database Info:
[20-Nov-2025 13:56:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:56:40 UTC]    Books columns count: 44
[20-Nov-2025 13:56:40 UTC]    Categories columns count: 7
[20-Nov-2025 13:56:40 UTC]    Language field in books: YES
[20-Nov-2025 13:56:40 UTC]    Format field in books: YES
[20-Nov-2025 13:56:40 UTC]    Description field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Is_active field in books: YES
[20-Nov-2025 13:56:40 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:56:40 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:56:40 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:56:40 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:56:40 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:56:40 UTC] 📊 Database Info:
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:56:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:56:40 UTC]    Books columns count: 44
[20-Nov-2025 13:56:40 UTC]    Categories columns count: 7
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:56:40 UTC]    Language field in books: YES
[20-Nov-2025 13:56:40 UTC]    Format field in books: YES
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:56:40 UTC]    Description field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:56:40 UTC]    Is_active field in books: YES
[20-Nov-2025 13:56:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:56:40 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:56:40 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:56:40 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:56:40 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:56:40 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:56:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:56:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:40 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:56:40 UTC] 📊 Database Info:
[20-Nov-2025 13:56:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:56:40 UTC]    Books columns count: 44
[20-Nov-2025 13:56:40 UTC]    Categories columns count: 7
[20-Nov-2025 13:56:40 UTC]    Language field in books: YES
[20-Nov-2025 13:56:40 UTC]    Format field in books: YES
[20-Nov-2025 13:56:40 UTC]    Description field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Is_active field in books: YES
[20-Nov-2025 13:56:40 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:56:40 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:56:40 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:56:40 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:56:40 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:56:40 UTC] 📊 Database Info:
[20-Nov-2025 13:56:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:56:40 UTC]    Books columns count: 44
[20-Nov-2025 13:56:40 UTC]    Categories columns count: 7
[20-Nov-2025 13:56:40 UTC]    Language field in books: YES
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:56:40 UTC]    Format field in books: YES
[20-Nov-2025 13:56:40 UTC]    Description field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Is_active field in books: YES
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:56:40 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:56:40 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:56:40 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:56:40 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:56:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:56:40 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:56:40 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:56:40 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:56:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:56:40 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:56:40 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:56:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:40 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:56:40 UTC] 📊 Database Info:
[20-Nov-2025 13:56:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:56:40 UTC]    Books columns count: 44
[20-Nov-2025 13:56:40 UTC]    Categories columns count: 7
[20-Nov-2025 13:56:40 UTC]    Language field in books: YES
[20-Nov-2025 13:56:40 UTC]    Format field in books: YES
[20-Nov-2025 13:56:40 UTC]    Description field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Is_active field in books: YES
[20-Nov-2025 13:56:40 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:56:40 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:56:40 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:56:40 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:56:40 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:56:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:56:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:56:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:40 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:56:40 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:56:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:40 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:56:40 UTC] 📊 Database Info:
[20-Nov-2025 13:56:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:56:40 UTC]    Books columns count: 44
[20-Nov-2025 13:56:40 UTC]    Categories columns count: 7
[20-Nov-2025 13:56:40 UTC]    Language field in books: YES
[20-Nov-2025 13:56:40 UTC]    Format field in books: YES
[20-Nov-2025 13:56:40 UTC]    Description field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:56:40 UTC]    Is_active field in books: YES
[20-Nov-2025 13:56:40 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:56:40 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:56:40 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:56:40 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:56:40 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:56:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:56:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:56:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:56:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:56:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:56:45 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:56:45 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:56:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:56:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:56:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:56:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:56:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:56:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:56:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:56:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:56:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:56:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:56:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:56:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:56:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:56:45 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:56:45 UTC] 📊 Database Info:
[20-Nov-2025 13:56:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:56:45 UTC]    Books columns count: 44
[20-Nov-2025 13:56:45 UTC]    Categories columns count: 7
[20-Nov-2025 13:56:45 UTC]    Language field in books: YES
[20-Nov-2025 13:56:45 UTC]    Format field in books: YES
[20-Nov-2025 13:56:45 UTC]    Description field in categories: YES
[20-Nov-2025 13:56:45 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:56:45 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:56:45 UTC]    Is_active field in books: YES
[20-Nov-2025 13:56:45 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:56:45 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:56:45 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:56:45 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:56:45 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:56:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:56:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:56:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:56:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:56:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:56:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:56:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:56:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:56:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:56:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:56:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:56:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:56:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:57:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:57:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:57:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:57:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:57:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:57:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:57:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:57:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:57:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:57:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:57:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:57:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:57:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:57:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:57:04 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:57:04 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:57:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:57:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:57:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:57:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:57:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:57:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:57:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:57:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:57:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:57:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:57:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:57:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:57:04 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:57:04 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:57:04 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:57:04 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:57:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:57:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:57:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:57:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:57:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:57:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:57:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:57:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:57:04 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:57:04 UTC] 📊 Database Info:
[20-Nov-2025 13:57:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:57:04 UTC]    Books columns count: 44
[20-Nov-2025 13:57:04 UTC]    Categories columns count: 7
[20-Nov-2025 13:57:04 UTC]    Language field in books: YES
[20-Nov-2025 13:57:04 UTC]    Format field in books: YES
[20-Nov-2025 13:57:04 UTC]    Description field in categories: YES
[20-Nov-2025 13:57:04 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:57:04 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:57:04 UTC]    Is_active field in books: YES
[20-Nov-2025 13:57:04 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:57:04 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:57:04 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:57:04 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:57:04 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:57:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:57:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:57:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:57:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:57:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:57:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:57:04 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:57:04 UTC] 📊 Database Info:
[20-Nov-2025 13:57:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:57:04 UTC]    Books columns count: 44
[20-Nov-2025 13:57:04 UTC]    Categories columns count: 7
[20-Nov-2025 13:57:04 UTC]    Language field in books: YES
[20-Nov-2025 13:57:04 UTC]    Format field in books: YES
[20-Nov-2025 13:57:04 UTC]    Description field in categories: YES
[20-Nov-2025 13:57:04 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:57:04 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:57:04 UTC]    Is_active field in books: YES
[20-Nov-2025 13:57:04 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:57:04 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:57:04 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:57:04 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:57:04 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:57:04 UTC] 📊 Database Info:
[20-Nov-2025 13:57:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:57:04 UTC]    Books columns count: 44
[20-Nov-2025 13:57:04 UTC]    Categories columns count: 7
[20-Nov-2025 13:57:04 UTC]    Language field in books: YES
[20-Nov-2025 13:57:04 UTC]    Format field in books: YES
[20-Nov-2025 13:57:04 UTC]    Description field in categories: YES
[20-Nov-2025 13:57:04 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:57:04 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:57:04 UTC]    Is_active field in books: YES
[20-Nov-2025 13:57:04 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:57:04 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:57:04 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:57:04 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:57:04 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:57:04 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:57:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:57:04 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:57:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:57:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:57:04 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:58:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:58:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:58:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:58:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:58:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:58:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:58:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:58:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:58:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:58:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 13:58:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:58:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:58:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:58:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:58:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:58:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:58:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:58:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:58:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:58:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:58:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:58:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:58:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:58:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:58:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:58:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:58:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:58:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:58:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:58:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:58:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:58:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:58:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:58:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:58:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:58:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:58:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:58:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:58:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:58:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:58:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:58:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:58:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:58:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:58:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:58:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:58:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:58:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:58:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:58:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:58:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:58:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:58:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:58:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 13:58:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:58:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 13:58:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:58:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 13:58:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 13:58:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:58:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:58:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:58:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:58:39 UTC] 📊 Database Info:
[20-Nov-2025 13:58:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:58:39 UTC]    Books columns count: 44
[20-Nov-2025 13:58:39 UTC]    Categories columns count: 7
[20-Nov-2025 13:58:39 UTC]    Language field in books: YES
[20-Nov-2025 13:58:39 UTC]    Format field in books: YES
[20-Nov-2025 13:58:39 UTC]    Description field in categories: YES
[20-Nov-2025 13:58:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:58:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:58:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:58:39 UTC]    Is_active field in books: YES
[20-Nov-2025 13:58:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:58:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:58:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:58:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:58:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:58:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:58:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:58:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 13:58:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:58:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 13:58:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 13:58:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:58:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:58:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:58:39 UTC] 📊 Database Info:
[20-Nov-2025 13:58:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:58:39 UTC]    Books columns count: 44
[20-Nov-2025 13:58:39 UTC]    Categories columns count: 7
[20-Nov-2025 13:58:39 UTC]    Language field in books: YES
[20-Nov-2025 13:58:39 UTC]    Format field in books: YES
[20-Nov-2025 13:58:39 UTC]    Description field in categories: YES
[20-Nov-2025 13:58:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:58:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:58:39 UTC]    Is_active field in books: YES
[20-Nov-2025 13:58:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:58:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:58:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:58:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:58:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:58:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:58:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:58:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:58:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:58:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:58:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:58:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:58:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:58:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 13:58:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 13:58:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:58:39 UTC] 📊 Database Info:
[20-Nov-2025 13:58:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:58:39 UTC]    Books columns count: 44
[20-Nov-2025 13:58:39 UTC]    Categories columns count: 7
[20-Nov-2025 13:58:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:58:39 UTC] 📊 Database Info:
[20-Nov-2025 13:58:39 UTC]    Language field in books: YES
[20-Nov-2025 13:58:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:58:39 UTC]    Format field in books: YES
[20-Nov-2025 13:58:39 UTC]    Books columns count: 44
[20-Nov-2025 13:58:39 UTC]    Description field in categories: YES
[20-Nov-2025 13:58:39 UTC]    Categories columns count: 7
[20-Nov-2025 13:58:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:58:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:58:39 UTC]    Is_active field in books: YES
[20-Nov-2025 13:58:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:58:39 UTC]    Language field in books: YES
[20-Nov-2025 13:58:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:58:39 UTC]    Format field in books: YES
[20-Nov-2025 13:58:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:58:39 UTC]    Description field in categories: YES
[20-Nov-2025 13:58:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:58:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:58:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:58:39 UTC]    Is_active field in books: YES
[20-Nov-2025 13:58:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:58:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:58:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:58:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:58:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:58:39 UTC] 📊 Database Info:
[20-Nov-2025 13:58:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:58:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:58:39 UTC]    Books columns count: 44
[20-Nov-2025 13:58:39 UTC]    Categories columns count: 7
[20-Nov-2025 13:58:39 UTC]    Language field in books: YES
[20-Nov-2025 13:58:39 UTC]    Format field in books: YES
[20-Nov-2025 13:58:39 UTC]    Description field in categories: YES
[20-Nov-2025 13:58:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:58:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:58:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:58:39 UTC]    Is_active field in books: YES
[20-Nov-2025 13:58:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:58:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:58:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:58:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:58:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:58:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:58:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:58:39 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:58:39 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 13:58:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 13:58:39 UTC] 📊 Database Info:
[20-Nov-2025 13:58:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 13:58:39 UTC]    Books columns count: 44
[20-Nov-2025 13:58:39 UTC]    Categories columns count: 7
[20-Nov-2025 13:58:39 UTC]    Language field in books: YES
[20-Nov-2025 13:58:39 UTC]    Format field in books: YES
[20-Nov-2025 13:58:39 UTC]    Description field in categories: YES
[20-Nov-2025 13:58:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 13:58:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 13:58:39 UTC]    Is_active field in books: YES
[20-Nov-2025 13:58:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 13:58:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 13:58:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 13:58:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 13:58:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 13:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 13:58:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 13:58:39 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 13:58:39 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:02:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:02:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:02:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:02:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:02:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:02:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:02:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:02:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:02:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:02:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:02:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:02:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:02:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:02:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:02:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:02:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:02:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:02:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:02:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:02:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:02:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:02:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:02:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:02:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:02:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:02:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:02:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:02:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:02:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:02:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:02:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:02:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:02:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:02:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:02:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:02:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:02:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:02:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:02:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:02:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:02:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:02:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:02:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:02:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:02:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:02:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:02:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:02:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:02:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:02:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:02:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:02:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:02:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:02:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:02:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:02:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:02:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:02:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:02:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:02:07 UTC] 📊 Database Info:
[20-Nov-2025 14:02:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:02:07 UTC]    Books columns count: 44
[20-Nov-2025 14:02:07 UTC]    Categories columns count: 7
[20-Nov-2025 14:02:07 UTC]    Language field in books: YES
[20-Nov-2025 14:02:07 UTC]    Format field in books: YES
[20-Nov-2025 14:02:07 UTC]    Description field in categories: YES
[20-Nov-2025 14:02:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:02:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:02:07 UTC]    Is_active field in books: YES
[20-Nov-2025 14:02:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:02:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:02:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:02:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:02:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:02:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:02:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:02:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:02:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:02:07 UTC] 📊 Database Info:
[20-Nov-2025 14:02:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:02:07 UTC]    Books columns count: 44
[20-Nov-2025 14:02:07 UTC]    Categories columns count: 7
[20-Nov-2025 14:02:07 UTC]    Language field in books: YES
[20-Nov-2025 14:02:07 UTC]    Format field in books: YES
[20-Nov-2025 14:02:07 UTC]    Description field in categories: YES
[20-Nov-2025 14:02:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:02:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:02:07 UTC]    Is_active field in books: YES
[20-Nov-2025 14:02:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:02:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:02:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:02:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:02:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:02:07 UTC] 📊 Database Info:
[20-Nov-2025 14:02:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:02:07 UTC]    Books columns count: 44
[20-Nov-2025 14:02:07 UTC]    Categories columns count: 7
[20-Nov-2025 14:02:07 UTC]    Language field in books: YES
[20-Nov-2025 14:02:07 UTC]    Format field in books: YES
[20-Nov-2025 14:02:07 UTC]    Description field in categories: YES
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:02:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:02:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:02:07 UTC]    Is_active field in books: YES
[20-Nov-2025 14:02:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:02:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:02:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:02:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:02:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:02:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:02:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:02:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:02:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:02:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:02:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:02:07 UTC] 📊 Database Info:
[20-Nov-2025 14:02:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:02:07 UTC]    Books columns count: 44
[20-Nov-2025 14:02:07 UTC]    Categories columns count: 7
[20-Nov-2025 14:02:07 UTC]    Language field in books: YES
[20-Nov-2025 14:02:07 UTC]    Format field in books: YES
[20-Nov-2025 14:02:07 UTC]    Description field in categories: YES
[20-Nov-2025 14:02:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:02:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:02:07 UTC]    Is_active field in books: YES
[20-Nov-2025 14:02:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:02:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:02:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:02:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:02:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:02:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:02:07 UTC] 📊 Database Info:
[20-Nov-2025 14:02:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:02:07 UTC]    Books columns count: 44
[20-Nov-2025 14:02:07 UTC]    Categories columns count: 7
[20-Nov-2025 14:02:07 UTC]    Language field in books: YES
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:02:07 UTC]    Format field in books: YES
[20-Nov-2025 14:02:07 UTC]    Description field in categories: YES
[20-Nov-2025 14:02:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:02:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:02:07 UTC]    Is_active field in books: YES
[20-Nov-2025 14:02:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:02:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:02:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:02:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:02:07 UTC] 📊 Database Info:
[20-Nov-2025 14:02:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:02:07 UTC]    Books columns count: 44
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:02:07 UTC]    Categories columns count: 7
[20-Nov-2025 14:02:07 UTC]    Language field in books: YES
[20-Nov-2025 14:02:07 UTC]    Format field in books: YES
[20-Nov-2025 14:02:07 UTC]    Description field in categories: YES
[20-Nov-2025 14:02:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:02:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:02:07 UTC]    Is_active field in books: YES
[20-Nov-2025 14:02:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:02:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:02:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:02:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:02:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:02:07 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:02:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:02:07 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:02:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:02:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:02:07 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:02:07 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:02:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:02:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:02:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:02:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:02:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:02:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:02:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:02:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:02:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:02:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:02:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:02:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:02:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:02:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:02:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:02:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:02:08 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:02:08 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:02:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:02:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:02:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:02:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:02:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:02:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:02:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:02:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:02:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:02:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:02:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:02:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:02:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:02:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:02:08 UTC] 📊 Database Info:
[20-Nov-2025 14:02:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:02:08 UTC]    Books columns count: 44
[20-Nov-2025 14:02:08 UTC]    Categories columns count: 7
[20-Nov-2025 14:02:08 UTC]    Language field in books: YES
[20-Nov-2025 14:02:08 UTC]    Format field in books: YES
[20-Nov-2025 14:02:08 UTC]    Description field in categories: YES
[20-Nov-2025 14:02:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:02:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:02:08 UTC]    Is_active field in books: YES
[20-Nov-2025 14:02:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:02:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:02:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:02:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:02:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:02:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:03:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:03:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:03:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:03:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:03:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:03:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:03:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:03:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:03:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:03:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:03:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:03:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:03:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:03:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:03:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:03:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:03:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:03:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:03:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:03:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:03:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:03:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:03:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:03:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:03:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:03:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:03:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:03:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:03:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:03:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:03:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:03:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:03:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:03:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:03:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:03:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:03:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:03:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:03:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:03:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:03:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:03:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:03:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:03:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:03:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:03:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:03:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:03:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:03:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:03:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:03:01 UTC] 📊 Database Info:
[20-Nov-2025 14:03:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:03:01 UTC]    Books columns count: 44
[20-Nov-2025 14:03:01 UTC]    Categories columns count: 7
[20-Nov-2025 14:03:01 UTC]    Language field in books: YES
[20-Nov-2025 14:03:01 UTC]    Format field in books: YES
[20-Nov-2025 14:03:01 UTC]    Description field in categories: YES
[20-Nov-2025 14:03:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:03:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:03:01 UTC]    Is_active field in books: YES
[20-Nov-2025 14:03:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:03:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:03:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:03:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:03:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:03:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:03:01 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:03:01 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:03:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:03:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:03:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:03:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:03:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:03:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:03:01 UTC] 📊 Database Info:
[20-Nov-2025 14:03:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:03:01 UTC]    Books columns count: 44
[20-Nov-2025 14:03:01 UTC]    Categories columns count: 7
[20-Nov-2025 14:03:01 UTC]    Language field in books: YES
[20-Nov-2025 14:03:01 UTC]    Format field in books: YES
[20-Nov-2025 14:03:01 UTC]    Description field in categories: YES
[20-Nov-2025 14:03:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:03:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:03:01 UTC]    Is_active field in books: YES
[20-Nov-2025 14:03:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:03:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:03:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:03:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:03:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:03:01 UTC] 📊 Database Info:
[20-Nov-2025 14:03:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:03:01 UTC]    Books columns count: 44
[20-Nov-2025 14:03:01 UTC]    Categories columns count: 7
[20-Nov-2025 14:03:01 UTC]    Language field in books: YES
[20-Nov-2025 14:03:01 UTC]    Format field in books: YES
[20-Nov-2025 14:03:01 UTC]    Description field in categories: YES
[20-Nov-2025 14:03:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:03:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:03:01 UTC]    Is_active field in books: YES
[20-Nov-2025 14:03:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:03:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:03:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:03:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:03:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:03:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:03:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:03:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:06:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:06:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:06:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:06:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:06:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:06:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:06:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:06:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:06:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:06:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:06:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:06:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:06:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:06:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:06:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:06:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:06:56 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:06:56 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:06:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:06:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:06:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:06:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:06:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:06:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:06:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:06:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:06:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:06:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:06:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:06:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:06:56 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:06:56 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:06:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:06:56 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:06:56 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:06:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:06:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:06:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:06:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:06:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:06:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:06:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:06:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:06:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:06:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:06:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:06:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:06:56 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:06:56 UTC] 📊 Database Info:
[20-Nov-2025 14:06:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:06:56 UTC]    Books columns count: 44
[20-Nov-2025 14:06:56 UTC]    Categories columns count: 7
[20-Nov-2025 14:06:56 UTC]    Language field in books: YES
[20-Nov-2025 14:06:56 UTC]    Format field in books: YES
[20-Nov-2025 14:06:56 UTC]    Description field in categories: YES
[20-Nov-2025 14:06:56 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:06:56 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:06:56 UTC]    Is_active field in books: YES
[20-Nov-2025 14:06:56 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:06:56 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:06:56 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:06:56 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:06:56 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:06:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:06:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:06:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:06:56 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:06:56 UTC] 📊 Database Info:
[20-Nov-2025 14:06:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:06:56 UTC]    Books columns count: 44
[20-Nov-2025 14:06:56 UTC]    Categories columns count: 7
[20-Nov-2025 14:06:56 UTC]    Language field in books: YES
[20-Nov-2025 14:06:56 UTC]    Format field in books: YES
[20-Nov-2025 14:06:56 UTC]    Description field in categories: YES
[20-Nov-2025 14:06:56 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:06:56 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:06:56 UTC]    Is_active field in books: YES
[20-Nov-2025 14:06:56 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:06:56 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:06:56 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:06:56 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:06:56 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:06:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:06:56 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:06:56 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:06:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:06:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:06:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:06:56 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:06:56 UTC] 📊 Database Info:
[20-Nov-2025 14:06:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:06:56 UTC]    Books columns count: 44
[20-Nov-2025 14:06:56 UTC]    Categories columns count: 7
[20-Nov-2025 14:06:56 UTC]    Language field in books: YES
[20-Nov-2025 14:06:56 UTC]    Format field in books: YES
[20-Nov-2025 14:06:56 UTC]    Description field in categories: YES
[20-Nov-2025 14:06:56 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:06:56 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:06:56 UTC]    Is_active field in books: YES
[20-Nov-2025 14:06:56 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:06:56 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:06:56 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:06:56 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:06:56 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:06:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:06:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:08:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:08:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:08:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:08:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:08:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:08:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:08:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:08:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:08:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:08:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:08:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:08:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:08:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:08:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:08:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:08:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:08:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:08:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:08:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:08:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:08:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:08:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:08:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:08:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:08:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:08:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:08:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:08:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:08:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:08:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:08:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:08:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:08:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:08:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:08:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:08:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:08:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:08:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:08:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:08:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:08:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:08:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:08:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:08:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:08:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:08:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:08:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:08:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:08:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:08:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:08:18 UTC] 📊 Database Info:
[20-Nov-2025 14:08:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:08:18 UTC]    Books columns count: 44
[20-Nov-2025 14:08:18 UTC]    Categories columns count: 7
[20-Nov-2025 14:08:18 UTC]    Language field in books: YES
[20-Nov-2025 14:08:18 UTC]    Format field in books: YES
[20-Nov-2025 14:08:18 UTC]    Description field in categories: YES
[20-Nov-2025 14:08:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:08:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:08:18 UTC]    Is_active field in books: YES
[20-Nov-2025 14:08:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:08:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:08:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:08:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:08:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:08:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:08:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:08:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:08:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:08:18 UTC] 📊 Database Info:
[20-Nov-2025 14:08:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:08:18 UTC]    Books columns count: 44
[20-Nov-2025 14:08:18 UTC]    Categories columns count: 7
[20-Nov-2025 14:08:18 UTC]    Language field in books: YES
[20-Nov-2025 14:08:18 UTC]    Format field in books: YES
[20-Nov-2025 14:08:18 UTC]    Description field in categories: YES
[20-Nov-2025 14:08:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:08:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:08:18 UTC]    Is_active field in books: YES
[20-Nov-2025 14:08:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:08:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:08:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:08:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:08:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:08:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:08:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:08:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:08:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:08:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:08:18 UTC] 📊 Database Info:
[20-Nov-2025 14:08:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:08:18 UTC]    Books columns count: 44
[20-Nov-2025 14:08:18 UTC]    Categories columns count: 7
[20-Nov-2025 14:08:18 UTC]    Language field in books: YES
[20-Nov-2025 14:08:18 UTC]    Format field in books: YES
[20-Nov-2025 14:08:18 UTC]    Description field in categories: YES
[20-Nov-2025 14:08:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:08:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:08:18 UTC]    Is_active field in books: YES
[20-Nov-2025 14:08:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:08:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:08:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:08:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:08:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:08:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:08:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:08:18 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:08:18 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:08:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:08:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:08:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:08:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:08:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:08:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:08:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:08:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:08:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:08:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:08:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:08:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:08:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:08:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:08:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:08:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:08:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:08:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:08:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:08:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:08:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:08:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:08:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:08:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:08:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:08:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:08:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:08:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:08:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:08:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:08:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:08:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:08:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:08:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:08:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:08:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:08:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:08:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:08:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:08:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:08:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:08:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:08:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:08:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:08:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:08:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:08:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:08:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:08:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:08:30 UTC] 📊 Database Info:
[20-Nov-2025 14:08:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:08:30 UTC]    Books columns count: 44
[20-Nov-2025 14:08:30 UTC]    Categories columns count: 7
[20-Nov-2025 14:08:30 UTC]    Language field in books: YES
[20-Nov-2025 14:08:30 UTC]    Format field in books: YES
[20-Nov-2025 14:08:30 UTC]    Description field in categories: YES
[20-Nov-2025 14:08:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:08:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:08:30 UTC]    Is_active field in books: YES
[20-Nov-2025 14:08:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:08:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:08:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:08:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:08:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:08:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:08:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:08:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:08:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:08:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:08:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:08:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:08:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:08:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:08:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:08:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:08:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:08:31 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:08:31 UTC] 📊 Database Info:
[20-Nov-2025 14:08:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:08:31 UTC]    Books columns count: 44
[20-Nov-2025 14:08:31 UTC]    Categories columns count: 7
[20-Nov-2025 14:08:31 UTC]    Language field in books: YES
[20-Nov-2025 14:08:31 UTC]    Format field in books: YES
[20-Nov-2025 14:08:31 UTC]    Description field in categories: YES
[20-Nov-2025 14:08:31 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:08:31 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:08:31 UTC]    Is_active field in books: YES
[20-Nov-2025 14:08:31 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:08:31 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:08:31 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:08:31 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:08:31 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:08:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:08:31 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:08:31 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:08:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:08:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:08:31 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:08:31 UTC] 📊 Database Info:
[20-Nov-2025 14:08:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:08:31 UTC]    Books columns count: 44
[20-Nov-2025 14:08:31 UTC]    Categories columns count: 7
[20-Nov-2025 14:08:31 UTC]    Language field in books: YES
[20-Nov-2025 14:08:31 UTC]    Format field in books: YES
[20-Nov-2025 14:08:31 UTC]    Description field in categories: YES
[20-Nov-2025 14:08:31 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:08:31 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:08:31 UTC]    Is_active field in books: YES
[20-Nov-2025 14:08:31 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:08:31 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:08:31 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:08:31 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:08:31 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:08:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:24:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:24:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:24:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:24:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:24:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:24:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:24:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:41 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:24:41 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:24:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:24:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:41 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:24:41 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:24:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:24:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:41 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:24:41 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:24:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:24:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:24:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:41 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:24:41 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:24:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:24:41 UTC] 📊 Database Info:
[20-Nov-2025 14:24:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:24:41 UTC]    Books columns count: 44
[20-Nov-2025 14:24:41 UTC]    Categories columns count: 7
[20-Nov-2025 14:24:41 UTC]    Language field in books: YES
[20-Nov-2025 14:24:41 UTC]    Format field in books: YES
[20-Nov-2025 14:24:41 UTC]    Description field in categories: YES
[20-Nov-2025 14:24:41 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:24:41 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:24:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:41 UTC]    Is_active field in books: YES
[20-Nov-2025 14:24:41 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:24:41 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:24:41 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:24:41 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:24:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:24:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:41 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:24:41 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:24:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:41 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:24:41 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:24:41 UTC] 📊 Database Info:
[20-Nov-2025 14:24:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:24:41 UTC]    Books columns count: 44
[20-Nov-2025 14:24:41 UTC]    Categories columns count: 7
[20-Nov-2025 14:24:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:41 UTC]    Language field in books: YES
[20-Nov-2025 14:24:41 UTC]    Format field in books: YES
[20-Nov-2025 14:24:41 UTC]    Description field in categories: YES
[20-Nov-2025 14:24:41 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:24:41 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:24:41 UTC]    Is_active field in books: YES
[20-Nov-2025 14:24:41 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:24:41 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:24:41 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:24:41 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:24:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:41 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:24:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:24:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:41 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:24:41 UTC] 📊 Database Info:
[20-Nov-2025 14:24:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:24:41 UTC]    Books columns count: 44
[20-Nov-2025 14:24:41 UTC]    Categories columns count: 7
[20-Nov-2025 14:24:41 UTC]    Language field in books: YES
[20-Nov-2025 14:24:41 UTC]    Format field in books: YES
[20-Nov-2025 14:24:41 UTC]    Description field in categories: YES
[20-Nov-2025 14:24:41 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:24:41 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:24:41 UTC]    Is_active field in books: YES
[20-Nov-2025 14:24:41 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:24:41 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:24:41 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:24:41 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:24:41 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:24:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:24:41 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:24:41 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:24:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:41 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:24:41 UTC] 📊 Database Info:
[20-Nov-2025 14:24:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:24:41 UTC]    Books columns count: 44
[20-Nov-2025 14:24:41 UTC]    Categories columns count: 7
[20-Nov-2025 14:24:41 UTC]    Language field in books: YES
[20-Nov-2025 14:24:41 UTC]    Format field in books: YES
[20-Nov-2025 14:24:41 UTC]    Description field in categories: YES
[20-Nov-2025 14:24:41 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:24:41 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:24:41 UTC]    Is_active field in books: YES
[20-Nov-2025 14:24:41 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:24:41 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:24:41 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:24:41 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:24:41 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:24:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:24:41 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:24:41 UTC] 📊 Database Info:
[20-Nov-2025 14:24:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:24:41 UTC]    Books columns count: 44
[20-Nov-2025 14:24:41 UTC]    Categories columns count: 7
[20-Nov-2025 14:24:41 UTC]    Language field in books: YES
[20-Nov-2025 14:24:41 UTC]    Format field in books: YES
[20-Nov-2025 14:24:41 UTC]    Description field in categories: YES
[20-Nov-2025 14:24:41 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:24:41 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:24:41 UTC]    Is_active field in books: YES
[20-Nov-2025 14:24:41 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:24:41 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:24:41 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:24:41 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:24:41 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:24:41 UTC] 📊 Database Info:
[20-Nov-2025 14:24:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:24:41 UTC]    Books columns count: 44
[20-Nov-2025 14:24:41 UTC]    Categories columns count: 7
[20-Nov-2025 14:24:41 UTC]    Language field in books: YES
[20-Nov-2025 14:24:41 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:24:41 UTC]    Format field in books: YES
[20-Nov-2025 14:24:41 UTC]    Description field in categories: YES
[20-Nov-2025 14:24:41 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:24:41 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:24:41 UTC]    Is_active field in books: YES
[20-Nov-2025 14:24:41 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:24:41 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:24:41 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:24:41 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:24:41 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:24:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:24:41 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:24:41 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:24:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:24:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:24:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:24:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:42 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:24:42 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:24:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:42 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:24:42 UTC] 📊 Database Info:
[20-Nov-2025 14:24:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:24:42 UTC]    Books columns count: 44
[20-Nov-2025 14:24:42 UTC]    Categories columns count: 7
[20-Nov-2025 14:24:42 UTC]    Language field in books: YES
[20-Nov-2025 14:24:42 UTC]    Format field in books: YES
[20-Nov-2025 14:24:42 UTC]    Description field in categories: YES
[20-Nov-2025 14:24:42 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:24:42 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:24:42 UTC]    Is_active field in books: YES
[20-Nov-2025 14:24:42 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:24:42 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:24:42 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:24:42 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:24:42 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:24:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:24:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:24:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:24:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:24:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:24:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:24:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:24:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:24:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:24:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:24:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:24:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:24:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:24:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:24:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:24:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:24:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:24:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:24:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:24:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:43 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:43 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:24:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:43 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:24:43 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:24:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:43 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:43 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:24:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:43 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:24:43 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:24:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:43 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:43 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:43 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:43 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:43 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:24:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:43 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:43 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:43 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:24:43 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:24:43 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:24:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:43 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:24:43 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:24:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:24:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:43 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:43 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:43 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:24:43 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:24:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:43 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:43 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:24:43 UTC] 📊 Database Info:
[20-Nov-2025 14:24:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:24:43 UTC]    Books columns count: 44
[20-Nov-2025 14:24:43 UTC]    Categories columns count: 7
[20-Nov-2025 14:24:43 UTC]    Language field in books: YES
[20-Nov-2025 14:24:43 UTC]    Format field in books: YES
[20-Nov-2025 14:24:43 UTC]    Description field in categories: YES
[20-Nov-2025 14:24:43 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:24:43 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:43 UTC]    Is_active field in books: YES
[20-Nov-2025 14:24:43 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:24:43 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:24:43 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:24:43 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:24:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:24:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:24:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:24:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:24:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:24:43 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:43 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:43 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:24:43 UTC] 📊 Database Info:
[20-Nov-2025 14:24:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:24:43 UTC]    Books columns count: 44
[20-Nov-2025 14:24:43 UTC]    Categories columns count: 7
[20-Nov-2025 14:24:43 UTC]    Language field in books: YES
[20-Nov-2025 14:24:43 UTC]    Format field in books: YES
[20-Nov-2025 14:24:43 UTC]    Description field in categories: YES
[20-Nov-2025 14:24:43 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:24:43 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:24:43 UTC]    Is_active field in books: YES
[20-Nov-2025 14:24:43 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:24:43 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:24:43 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:24:43 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:24:43 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:24:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:24:43 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:24:43 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:24:43 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:43 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:43 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:43 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:43 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:24:43 UTC] 📊 Database Info:
[20-Nov-2025 14:24:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:24:43 UTC]    Books columns count: 44
[20-Nov-2025 14:24:43 UTC]    Categories columns count: 7
[20-Nov-2025 14:24:43 UTC]    Language field in books: YES
[20-Nov-2025 14:24:43 UTC]    Format field in books: YES
[20-Nov-2025 14:24:43 UTC]    Description field in categories: YES
[20-Nov-2025 14:24:43 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:24:43 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:24:43 UTC]    Is_active field in books: YES
[20-Nov-2025 14:24:43 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:24:43 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:24:43 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:24:43 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:24:43 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:24:43 UTC] 📊 Database Info:
[20-Nov-2025 14:24:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:24:43 UTC]    Books columns count: 44
[20-Nov-2025 14:24:43 UTC]    Categories columns count: 7
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:24:43 UTC]    Language field in books: YES
[20-Nov-2025 14:24:43 UTC]    Format field in books: YES
[20-Nov-2025 14:24:43 UTC]    Description field in categories: YES
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:24:43 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:24:43 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:24:43 UTC]    Is_active field in books: YES
[20-Nov-2025 14:24:43 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:24:43 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:24:43 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:24:43 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:24:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:24:43 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:24:43 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:24:43 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:24:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:24:43 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:43 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:43 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:43 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:24:43 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:24:43 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:24:43 UTC] 📊 Database Info:
[20-Nov-2025 14:24:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:24:43 UTC]    Books columns count: 44
[20-Nov-2025 14:24:43 UTC]    Categories columns count: 7
[20-Nov-2025 14:24:43 UTC]    Language field in books: YES
[20-Nov-2025 14:24:43 UTC]    Format field in books: YES
[20-Nov-2025 14:24:43 UTC]    Description field in categories: YES
[20-Nov-2025 14:24:43 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:24:43 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:24:43 UTC]    Is_active field in books: YES
[20-Nov-2025 14:24:43 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:24:43 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:24:43 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:24:43 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:24:43 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:24:43 UTC] 📊 Database Info:
[20-Nov-2025 14:24:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:24:43 UTC]    Books columns count: 44
[20-Nov-2025 14:24:43 UTC]    Categories columns count: 7
[20-Nov-2025 14:24:43 UTC]    Language field in books: YES
[20-Nov-2025 14:24:43 UTC]    Format field in books: YES
[20-Nov-2025 14:24:43 UTC]    Description field in categories: YES
[20-Nov-2025 14:24:43 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:24:43 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:24:43 UTC]    Is_active field in books: YES
[20-Nov-2025 14:24:43 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:24:43 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:24:43 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:24:43 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:24:43 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:24:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:24:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:24:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:25:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:25:11 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:25:11 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:25:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:11 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:11 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:11 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:11 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:11 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:11 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:11 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:11 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:11 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:11 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:11 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:11 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:11 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:11 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:11 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:11 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:11 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:11 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:11 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:11 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:25:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:12 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:25:12 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:25:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:25:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:25:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:12 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:25:12 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:25:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:12 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:25:12 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:25:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:12 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:25:12 UTC] 📊 Database Info:
[20-Nov-2025 14:25:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:25:12 UTC]    Books columns count: 44
[20-Nov-2025 14:25:12 UTC]    Categories columns count: 7
[20-Nov-2025 14:25:12 UTC]    Language field in books: YES
[20-Nov-2025 14:25:12 UTC]    Format field in books: YES
[20-Nov-2025 14:25:12 UTC]    Description field in categories: YES
[20-Nov-2025 14:25:12 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:25:12 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:25:12 UTC]    Is_active field in books: YES
[20-Nov-2025 14:25:12 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:25:12 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:25:12 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:25:12 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:25:12 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:25:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:25:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:12 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:25:12 UTC] 📊 Database Info:
[20-Nov-2025 14:25:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:25:12 UTC]    Books columns count: 44
[20-Nov-2025 14:25:12 UTC]    Categories columns count: 7
[20-Nov-2025 14:25:12 UTC]    Language field in books: YES
[20-Nov-2025 14:25:12 UTC]    Format field in books: YES
[20-Nov-2025 14:25:12 UTC]    Description field in categories: YES
[20-Nov-2025 14:25:12 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:25:12 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:25:12 UTC]    Is_active field in books: YES
[20-Nov-2025 14:25:12 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:25:12 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:25:12 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:25:12 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:25:12 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:25:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:25:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 14:25:12 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 14:25:12 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 14:25:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:12 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:25:12 UTC] 📊 Database Info:
[20-Nov-2025 14:25:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:25:12 UTC]    Books columns count: 44
[20-Nov-2025 14:25:12 UTC]    Categories columns count: 7
[20-Nov-2025 14:25:12 UTC]    Language field in books: YES
[20-Nov-2025 14:25:12 UTC]    Format field in books: YES
[20-Nov-2025 14:25:12 UTC]    Description field in categories: YES
[20-Nov-2025 14:25:12 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:25:12 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:25:12 UTC]    Is_active field in books: YES
[20-Nov-2025 14:25:12 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:25:12 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:25:12 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:25:12 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:25:12 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:25:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:25:12 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 14:25:12 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 14:25:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:25:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:25:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:20 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:25:20 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:25:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:25:21 UTC] 📊 Database Info:
[20-Nov-2025 14:25:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:25:21 UTC]    Books columns count: 44
[20-Nov-2025 14:25:21 UTC]    Categories columns count: 7
[20-Nov-2025 14:25:21 UTC]    Language field in books: YES
[20-Nov-2025 14:25:21 UTC]    Format field in books: YES
[20-Nov-2025 14:25:21 UTC]    Description field in categories: YES
[20-Nov-2025 14:25:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:25:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:25:21 UTC]    Is_active field in books: YES
[20-Nov-2025 14:25:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:25:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:25:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:25:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:25:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:25:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:25:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:25:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:25:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:25:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:25:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:25:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:25:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:25:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:25:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:25:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:25:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:25:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:25:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:25:37 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:25:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:25:37 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:37 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:37 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:37 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:37 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:37 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:37 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:37 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:37 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:25:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:37 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:25:37 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:25:37 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:25:37 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:25:37 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:37 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:37 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:37 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:37 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:37 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:37 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:37 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:25:37 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:37 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:25:37 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:37 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:37 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:37 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:37 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:37 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:37 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:37 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:37 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:37 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:25:37 UTC] 📊 Database Info:
[20-Nov-2025 14:25:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:25:37 UTC]    Books columns count: 44
[20-Nov-2025 14:25:37 UTC]    Categories columns count: 7
[20-Nov-2025 14:25:37 UTC]    Language field in books: YES
[20-Nov-2025 14:25:37 UTC]    Format field in books: YES
[20-Nov-2025 14:25:37 UTC]    Description field in categories: YES
[20-Nov-2025 14:25:37 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:25:37 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:25:37 UTC]    Is_active field in books: YES
[20-Nov-2025 14:25:37 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:25:37 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:25:37 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:25:37 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:25:37 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:25:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:25:37 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:25:37 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:25:37 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:37 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:37 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:37 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:37 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:37 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:25:37 UTC] 📊 Database Info:
[20-Nov-2025 14:25:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:25:37 UTC]    Books columns count: 44
[20-Nov-2025 14:25:37 UTC]    Categories columns count: 7
[20-Nov-2025 14:25:37 UTC]    Language field in books: YES
[20-Nov-2025 14:25:37 UTC]    Format field in books: YES
[20-Nov-2025 14:25:37 UTC]    Description field in categories: YES
[20-Nov-2025 14:25:37 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:25:37 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:25:37 UTC]    Is_active field in books: YES
[20-Nov-2025 14:25:37 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:25:37 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:25:37 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:25:37 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:25:37 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:25:37 UTC] 📊 Database Info:
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:25:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:25:37 UTC]    Books columns count: 44
[20-Nov-2025 14:25:37 UTC]    Categories columns count: 7
[20-Nov-2025 14:25:37 UTC]    Language field in books: YES
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:25:37 UTC]    Format field in books: YES
[20-Nov-2025 14:25:37 UTC]    Description field in categories: YES
[20-Nov-2025 14:25:37 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:25:37 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:25:37 UTC]    Is_active field in books: YES
[20-Nov-2025 14:25:37 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:25:37 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:25:37 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:25:37 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:25:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:25:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:25:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:25:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:25:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:25:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:38 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:25:38 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:25:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:38 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:25:38 UTC] 📊 Database Info:
[20-Nov-2025 14:25:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:25:38 UTC]    Books columns count: 44
[20-Nov-2025 14:25:38 UTC]    Categories columns count: 7
[20-Nov-2025 14:25:38 UTC]    Language field in books: YES
[20-Nov-2025 14:25:38 UTC]    Format field in books: YES
[20-Nov-2025 14:25:38 UTC]    Description field in categories: YES
[20-Nov-2025 14:25:38 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:25:38 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:25:38 UTC]    Is_active field in books: YES
[20-Nov-2025 14:25:38 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:25:38 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:25:38 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:25:38 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:25:38 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:25:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:25:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:25:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:25:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:25:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:48 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:25:48 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:25:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:25:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:25:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:48 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:25:48 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:25:48 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:25:48 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:25:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:48 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:25:48 UTC] 📊 Database Info:
[20-Nov-2025 14:25:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:25:48 UTC]    Books columns count: 44
[20-Nov-2025 14:25:48 UTC]    Categories columns count: 7
[20-Nov-2025 14:25:48 UTC]    Language field in books: YES
[20-Nov-2025 14:25:48 UTC]    Format field in books: YES
[20-Nov-2025 14:25:48 UTC]    Description field in categories: YES
[20-Nov-2025 14:25:48 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:25:48 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:25:48 UTC]    Is_active field in books: YES
[20-Nov-2025 14:25:48 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:25:48 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:25:48 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:25:48 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:25:48 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:25:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:25:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:48 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:25:48 UTC] 📊 Database Info:
[20-Nov-2025 14:25:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:25:48 UTC]    Books columns count: 44
[20-Nov-2025 14:25:48 UTC]    Categories columns count: 7
[20-Nov-2025 14:25:48 UTC]    Language field in books: YES
[20-Nov-2025 14:25:48 UTC]    Format field in books: YES
[20-Nov-2025 14:25:48 UTC]    Description field in categories: YES
[20-Nov-2025 14:25:48 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:25:48 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:25:48 UTC]    Is_active field in books: YES
[20-Nov-2025 14:25:48 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:25:48 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:25:48 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:25:48 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:25:48 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:25:48 UTC] 📊 Database Info:
[20-Nov-2025 14:25:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:25:48 UTC]    Books columns count: 44
[20-Nov-2025 14:25:48 UTC]    Categories columns count: 7
[20-Nov-2025 14:25:48 UTC]    Language field in books: YES
[20-Nov-2025 14:25:48 UTC]    Format field in books: YES
[20-Nov-2025 14:25:48 UTC]    Description field in categories: YES
[20-Nov-2025 14:25:48 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:25:48 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:25:48 UTC]    Is_active field in books: YES
[20-Nov-2025 14:25:48 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:25:48 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:25:48 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:25:48 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:25:48 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:25:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:25:48 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:25:48 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:25:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:25:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:25:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:25:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:25:55 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:25:55 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:25:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:25:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:25:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:25:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:25:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:25:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:25:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:25:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:25:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:25:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:25:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:25:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:25:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:25:55 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:25:55 UTC] 📊 Database Info:
[20-Nov-2025 14:25:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:25:55 UTC]    Books columns count: 44
[20-Nov-2025 14:25:55 UTC]    Categories columns count: 7
[20-Nov-2025 14:25:55 UTC]    Language field in books: YES
[20-Nov-2025 14:25:55 UTC]    Format field in books: YES
[20-Nov-2025 14:25:55 UTC]    Description field in categories: YES
[20-Nov-2025 14:25:55 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:25:55 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:25:55 UTC]    Is_active field in books: YES
[20-Nov-2025 14:25:55 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:25:55 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:25:55 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:25:55 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:25:55 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:25:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:25:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:25:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:25:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:25:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:25:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:25:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:25:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:25:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:25:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:25:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:25:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:25:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:05 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:05 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:05 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:05 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:05 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:05 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:05 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:05 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:05 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:05 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:05 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:05 UTC] 📊 Database Info:
[20-Nov-2025 14:26:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:05 UTC]    Books columns count: 44
[20-Nov-2025 14:26:05 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:05 UTC]    Language field in books: YES
[20-Nov-2025 14:26:05 UTC]    Format field in books: YES
[20-Nov-2025 14:26:05 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:05 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:05 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:05 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:05 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:05 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:05 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:05 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:05 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:08 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:08 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:08 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:08 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:08 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:08 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:08 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:08 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:08 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:08 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:08 UTC] 📊 Database Info:
[20-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:08 UTC]    Books columns count: 44
[20-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:08 UTC]    Language field in books: YES
[20-Nov-2025 14:26:08 UTC]    Format field in books: YES
[20-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:08 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:26:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:08 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:08 UTC] 📊 Database Info:
[20-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:08 UTC]    Books columns count: 44
[20-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:08 UTC]    Language field in books: YES
[20-Nov-2025 14:26:08 UTC]    Format field in books: YES
[20-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:08 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:08 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:08 UTC] 📊 Database Info:
[20-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:08 UTC]    Books columns count: 44
[20-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:08 UTC]    Language field in books: YES
[20-Nov-2025 14:26:08 UTC]    Format field in books: YES
[20-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:08 UTC] 📊 Database Info:
[20-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:08 UTC]    Books columns count: 44
[20-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:08 UTC]    Language field in books: YES
[20-Nov-2025 14:26:08 UTC]    Format field in books: YES
[20-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:08 UTC] 📊 Database Info:
[20-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:08 UTC]    Books columns count: 44
[20-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:08 UTC]    Language field in books: YES
[20-Nov-2025 14:26:08 UTC]    Format field in books: YES
[20-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:08 UTC] 📊 Database Info:
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:08 UTC]    Books columns count: 44
[20-Nov-2025 14:26:08 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:08 UTC]    Language field in books: YES
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:08 UTC]    Format field in books: YES
[20-Nov-2025 14:26:08 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:08 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:16 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:16 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:16 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:16 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:16 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:16 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:16 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:16 UTC] 📊 Database Info:
[20-Nov-2025 14:26:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:16 UTC]    Books columns count: 44
[20-Nov-2025 14:26:16 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:16 UTC]    Language field in books: YES
[20-Nov-2025 14:26:16 UTC]    Format field in books: YES
[20-Nov-2025 14:26:16 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:16 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:16 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:16 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:16 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:16 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:16 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:16 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:16 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:16 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:26:16 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:26:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:16 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:16 UTC] 📊 Database Info:
[20-Nov-2025 14:26:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:16 UTC]    Books columns count: 44
[20-Nov-2025 14:26:16 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:16 UTC]    Language field in books: YES
[20-Nov-2025 14:26:16 UTC]    Format field in books: YES
[20-Nov-2025 14:26:16 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:16 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:16 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:16 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:16 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:16 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:16 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:16 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:16 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:16 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:16 UTC] 📊 Database Info:
[20-Nov-2025 14:26:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:16 UTC]    Books columns count: 44
[20-Nov-2025 14:26:16 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:16 UTC]    Language field in books: YES
[20-Nov-2025 14:26:16 UTC]    Format field in books: YES
[20-Nov-2025 14:26:16 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:16 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:16 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:16 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:16 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:16 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:16 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:16 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:16 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:17 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:17 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:17 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:17 UTC] 📊 Database Info:
[20-Nov-2025 14:26:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:17 UTC]    Books columns count: 44
[20-Nov-2025 14:26:17 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:17 UTC]    Language field in books: YES
[20-Nov-2025 14:26:17 UTC]    Format field in books: YES
[20-Nov-2025 14:26:17 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:17 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:17 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:17 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:17 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:17 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:17 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:17 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:17 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:23 UTC] 📊 Database Info:
[20-Nov-2025 14:26:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:23 UTC]    Books columns count: 44
[20-Nov-2025 14:26:23 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:23 UTC]    Language field in books: YES
[20-Nov-2025 14:26:23 UTC]    Format field in books: YES
[20-Nov-2025 14:26:23 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:23 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:23 UTC] 📊 Database Info:
[20-Nov-2025 14:26:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:23 UTC]    Books columns count: 44
[20-Nov-2025 14:26:23 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:23 UTC]    Language field in books: YES
[20-Nov-2025 14:26:23 UTC]    Format field in books: YES
[20-Nov-2025 14:26:23 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:23 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:23 UTC] 📊 Database Info:
[20-Nov-2025 14:26:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:23 UTC]    Books columns count: 44
[20-Nov-2025 14:26:23 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:23 UTC]    Language field in books: YES
[20-Nov-2025 14:26:23 UTC]    Format field in books: YES
[20-Nov-2025 14:26:23 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:23 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:23 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:26:23 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:26:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:29 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:29 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:29 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:29 UTC] 📊 Database Info:
[20-Nov-2025 14:26:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:29 UTC]    Books columns count: 44
[20-Nov-2025 14:26:29 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:29 UTC]    Language field in books: YES
[20-Nov-2025 14:26:29 UTC]    Format field in books: YES
[20-Nov-2025 14:26:29 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:29 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:29 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:29 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:29 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:29 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:29 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:29 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:29 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:36 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:36 UTC] 📊 Database Info:
[20-Nov-2025 14:26:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:36 UTC]    Books columns count: 44
[20-Nov-2025 14:26:36 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:36 UTC]    Language field in books: YES
[20-Nov-2025 14:26:36 UTC]    Format field in books: YES
[20-Nov-2025 14:26:36 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:36 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:36 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:36 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:36 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:36 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:36 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:36 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:36 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:36 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:26:36 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:26:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:36 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:36 UTC] 📊 Database Info:
[20-Nov-2025 14:26:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:36 UTC]    Books columns count: 44
[20-Nov-2025 14:26:36 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:36 UTC]    Language field in books: YES
[20-Nov-2025 14:26:36 UTC]    Format field in books: YES
[20-Nov-2025 14:26:36 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:36 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:36 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:36 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:36 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:36 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:36 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:36 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:36 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:36 UTC] 📊 Database Info:
[20-Nov-2025 14:26:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:36 UTC]    Books columns count: 44
[20-Nov-2025 14:26:36 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:36 UTC]    Language field in books: YES
[20-Nov-2025 14:26:36 UTC]    Format field in books: YES
[20-Nov-2025 14:26:36 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:36 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:36 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:36 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:36 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:36 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:36 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:36 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:36 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:36 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:36 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:36 UTC] 📊 Database Info:
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:36 UTC]    Books columns count: 44
[20-Nov-2025 14:26:36 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:36 UTC]    Language field in books: YES
[20-Nov-2025 14:26:36 UTC]    Format field in books: YES
[20-Nov-2025 14:26:36 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:36 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:36 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:36 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:36 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:36 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:36 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:36 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:36 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:36 UTC] 📊 Database Info:
[20-Nov-2025 14:26:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:36 UTC]    Books columns count: 44
[20-Nov-2025 14:26:36 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:36 UTC]    Language field in books: YES
[20-Nov-2025 14:26:36 UTC]    Format field in books: YES
[20-Nov-2025 14:26:36 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:36 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:36 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:36 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:36 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:36 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:36 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:36 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:36 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:36 UTC] 📊 Database Info:
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:36 UTC]    Books columns count: 44
[20-Nov-2025 14:26:36 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:36 UTC]    Language field in books: YES
[20-Nov-2025 14:26:36 UTC]    Format field in books: YES
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:36 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:36 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:36 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:36 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:36 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:36 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:36 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:36 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:36 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:26:36 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:26:36 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:26:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:26:37 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:37 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:37 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:37 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:37 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:37 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:37 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:37 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:37 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:37 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:37 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:37 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:26:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:26:37 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:26:37 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:26:37 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:26:37 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:26:37 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:26:37 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:26:37 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:26:37 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:26:37 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:26:37 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:26:37 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:26:37 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:26:37 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:26:37 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:26:37 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:26:37 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:26:37 UTC] 📊 Database Info:
[20-Nov-2025 14:26:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:26:37 UTC]    Books columns count: 44
[20-Nov-2025 14:26:37 UTC]    Categories columns count: 7
[20-Nov-2025 14:26:37 UTC]    Language field in books: YES
[20-Nov-2025 14:26:37 UTC]    Format field in books: YES
[20-Nov-2025 14:26:37 UTC]    Description field in categories: YES
[20-Nov-2025 14:26:37 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:26:37 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:26:37 UTC]    Is_active field in books: YES
[20-Nov-2025 14:26:37 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:26:37 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:26:37 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:26:37 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:26:37 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:26:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:27:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:27:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:27:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:27:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:27:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:27:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:27:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:27:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:27:55 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:27:55 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:27:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:27:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:27:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:27:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:27:55 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:27:55 UTC] 📊 Database Info:
[20-Nov-2025 14:27:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:27:55 UTC]    Books columns count: 44
[20-Nov-2025 14:27:55 UTC]    Categories columns count: 7
[20-Nov-2025 14:27:55 UTC]    Language field in books: YES
[20-Nov-2025 14:27:55 UTC]    Format field in books: YES
[20-Nov-2025 14:27:55 UTC]    Description field in categories: YES
[20-Nov-2025 14:27:55 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:27:55 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:27:55 UTC]    Is_active field in books: YES
[20-Nov-2025 14:27:55 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:27:55 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:27:55 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:27:55 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:27:55 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:27:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:27:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:27:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:27:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:27:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:27:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:27:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:27:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:27:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:27:55 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:27:55 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:27:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:27:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:27:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:27:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:27:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:27:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:27:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:27:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:27:55 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:27:55 UTC] 📊 Database Info:
[20-Nov-2025 14:27:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:27:55 UTC]    Books columns count: 44
[20-Nov-2025 14:27:55 UTC]    Categories columns count: 7
[20-Nov-2025 14:27:55 UTC]    Language field in books: YES
[20-Nov-2025 14:27:55 UTC]    Format field in books: YES
[20-Nov-2025 14:27:55 UTC]    Description field in categories: YES
[20-Nov-2025 14:27:55 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:27:55 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:27:55 UTC]    Is_active field in books: YES
[20-Nov-2025 14:27:55 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:27:55 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:27:55 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:27:55 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:27:55 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:27:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:28:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:28:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:28:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:28:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:28:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:28:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:28:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:28:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:28:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:28:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:28:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:31 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:28:31 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:28:31 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:31 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:31 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:31 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:31 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:31 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:31 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:28:31 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:31 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:28:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:28:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:31 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:28:31 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:28:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:31 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:31 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:28:31 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:28:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:31 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:28:31 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:28:31 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:28:31 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:28:31 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:31 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:31 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:31 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:31 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:31 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:31 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:31 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:31 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:31 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:31 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:31 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:31 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:28:31 UTC] 📊 Database Info:
[20-Nov-2025 14:28:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:28:31 UTC]    Books columns count: 44
[20-Nov-2025 14:28:31 UTC]    Categories columns count: 7
[20-Nov-2025 14:28:31 UTC]    Language field in books: YES
[20-Nov-2025 14:28:31 UTC]    Format field in books: YES
[20-Nov-2025 14:28:31 UTC]    Description field in categories: YES
[20-Nov-2025 14:28:31 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:28:31 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:28:31 UTC]    Is_active field in books: YES
[20-Nov-2025 14:28:31 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:28:31 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:28:31 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:28:31 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:28:31 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:28:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:28:31 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:28:31 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:28:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:31 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:28:31 UTC] 📊 Database Info:
[20-Nov-2025 14:28:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:28:31 UTC]    Books columns count: 44
[20-Nov-2025 14:28:31 UTC]    Categories columns count: 7
[20-Nov-2025 14:28:31 UTC]    Language field in books: YES
[20-Nov-2025 14:28:31 UTC]    Format field in books: YES
[20-Nov-2025 14:28:31 UTC]    Description field in categories: YES
[20-Nov-2025 14:28:31 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:28:31 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:28:31 UTC]    Is_active field in books: YES
[20-Nov-2025 14:28:31 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:28:31 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:28:31 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:28:31 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:28:31 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:28:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:28:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:31 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:28:31 UTC] 📊 Database Info:
[20-Nov-2025 14:28:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:28:31 UTC]    Books columns count: 44
[20-Nov-2025 14:28:31 UTC]    Categories columns count: 7
[20-Nov-2025 14:28:31 UTC]    Language field in books: YES
[20-Nov-2025 14:28:31 UTC]    Format field in books: YES
[20-Nov-2025 14:28:31 UTC]    Description field in categories: YES
[20-Nov-2025 14:28:31 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:28:31 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:28:31 UTC]    Is_active field in books: YES
[20-Nov-2025 14:28:31 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:28:31 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:28:31 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:28:31 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:28:31 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:28:31 UTC] 📊 Database Info:
[20-Nov-2025 14:28:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:28:31 UTC]    Books columns count: 44
[20-Nov-2025 14:28:31 UTC]    Categories columns count: 7
[20-Nov-2025 14:28:31 UTC]    Language field in books: YES
[20-Nov-2025 14:28:31 UTC]    Format field in books: YES
[20-Nov-2025 14:28:31 UTC]    Description field in categories: YES
[20-Nov-2025 14:28:31 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:28:31 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:28:31 UTC]    Is_active field in books: YES
[20-Nov-2025 14:28:31 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:28:31 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:28:31 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:28:31 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:28:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:28:31 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:28:31 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:28:31 UTC] 📊 Database Info:
[20-Nov-2025 14:28:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:28:31 UTC]    Books columns count: 44
[20-Nov-2025 14:28:31 UTC]    Categories columns count: 7
[20-Nov-2025 14:28:31 UTC]    Language field in books: YES
[20-Nov-2025 14:28:31 UTC]    Format field in books: YES
[20-Nov-2025 14:28:31 UTC]    Description field in categories: YES
[20-Nov-2025 14:28:31 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:28:31 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:28:31 UTC]    Is_active field in books: YES
[20-Nov-2025 14:28:31 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:28:31 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:28:31 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:28:31 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:28:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:28:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:28:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:31 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:28:31 UTC] 📊 Database Info:
[20-Nov-2025 14:28:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:28:31 UTC]    Books columns count: 44
[20-Nov-2025 14:28:31 UTC]    Categories columns count: 7
[20-Nov-2025 14:28:31 UTC]    Language field in books: YES
[20-Nov-2025 14:28:31 UTC]    Format field in books: YES
[20-Nov-2025 14:28:31 UTC]    Description field in categories: YES
[20-Nov-2025 14:28:31 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:28:31 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:28:31 UTC]    Is_active field in books: YES
[20-Nov-2025 14:28:31 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:28:31 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:28:31 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:28:31 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:28:31 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:28:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:28:31 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:28:31 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:28:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:28:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:28:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:32 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:28:32 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:28:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:32 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:28:32 UTC] 📊 Database Info:
[20-Nov-2025 14:28:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:28:32 UTC]    Books columns count: 44
[20-Nov-2025 14:28:32 UTC]    Categories columns count: 7
[20-Nov-2025 14:28:32 UTC]    Language field in books: YES
[20-Nov-2025 14:28:32 UTC]    Format field in books: YES
[20-Nov-2025 14:28:32 UTC]    Description field in categories: YES
[20-Nov-2025 14:28:32 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:28:32 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:28:32 UTC]    Is_active field in books: YES
[20-Nov-2025 14:28:32 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:28:32 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:28:32 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:28:32 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:28:32 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:28:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:28:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:28:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:28:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:44 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:28:44 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:28:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:44 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:28:44 UTC] 📊 Database Info:
[20-Nov-2025 14:28:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:28:44 UTC]    Books columns count: 44
[20-Nov-2025 14:28:44 UTC]    Categories columns count: 7
[20-Nov-2025 14:28:44 UTC]    Language field in books: YES
[20-Nov-2025 14:28:44 UTC]    Format field in books: YES
[20-Nov-2025 14:28:44 UTC]    Description field in categories: YES
[20-Nov-2025 14:28:44 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:28:44 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:28:44 UTC]    Is_active field in books: YES
[20-Nov-2025 14:28:44 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:28:44 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:28:44 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:28:44 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:28:44 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:28:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:28:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:28:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:28:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:44 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:28:44 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:28:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:45 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:28:45 UTC] 📊 Database Info:
[20-Nov-2025 14:28:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:28:45 UTC]    Books columns count: 44
[20-Nov-2025 14:28:45 UTC]    Categories columns count: 7
[20-Nov-2025 14:28:45 UTC]    Language field in books: YES
[20-Nov-2025 14:28:45 UTC]    Format field in books: YES
[20-Nov-2025 14:28:45 UTC]    Description field in categories: YES
[20-Nov-2025 14:28:45 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:28:45 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:28:45 UTC]    Is_active field in books: YES
[20-Nov-2025 14:28:45 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:28:45 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:28:45 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:28:45 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:28:45 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:28:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:28:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:28:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:28:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:28:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:28:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:28:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:28:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:28:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:28:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:28:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:28:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:28:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:28:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:28:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:28:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:28:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:28:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:53 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:28:53 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:28:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:28:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:28:53 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:53 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:53 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:28:53 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:28:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:28:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:28:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:28:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:28:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:53 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:28:53 UTC] 📊 Database Info:
[20-Nov-2025 14:28:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:28:53 UTC]    Books columns count: 44
[20-Nov-2025 14:28:53 UTC]    Categories columns count: 7
[20-Nov-2025 14:28:53 UTC]    Language field in books: YES
[20-Nov-2025 14:28:53 UTC]    Format field in books: YES
[20-Nov-2025 14:28:53 UTC]    Description field in categories: YES
[20-Nov-2025 14:28:53 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:28:53 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:28:53 UTC]    Is_active field in books: YES
[20-Nov-2025 14:28:53 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:28:53 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:28:53 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:28:53 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:28:53 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:28:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:28:53 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:28:53 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:28:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:53 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:28:53 UTC] 📊 Database Info:
[20-Nov-2025 14:28:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:28:53 UTC]    Books columns count: 44
[20-Nov-2025 14:28:53 UTC]    Categories columns count: 7
[20-Nov-2025 14:28:53 UTC]    Language field in books: YES
[20-Nov-2025 14:28:53 UTC]    Format field in books: YES
[20-Nov-2025 14:28:53 UTC]    Description field in categories: YES
[20-Nov-2025 14:28:53 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:28:53 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:28:53 UTC]    Is_active field in books: YES
[20-Nov-2025 14:28:53 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:28:53 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:28:53 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:28:53 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:28:53 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:28:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:28:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:28:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:28:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:28:53 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:28:53 UTC] 📊 Database Info:
[20-Nov-2025 14:28:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:28:53 UTC]    Books columns count: 44
[20-Nov-2025 14:28:53 UTC]    Categories columns count: 7
[20-Nov-2025 14:28:53 UTC]    Language field in books: YES
[20-Nov-2025 14:28:53 UTC]    Format field in books: YES
[20-Nov-2025 14:28:53 UTC]    Description field in categories: YES
[20-Nov-2025 14:28:53 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:28:53 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:28:53 UTC]    Is_active field in books: YES
[20-Nov-2025 14:28:53 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:28:53 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:28:53 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:28:53 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:28:53 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:28:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:28:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:29:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:29:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:29:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:29:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:29:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:29:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:29:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:29:32 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:29:32 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:29:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:29:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:29:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:29:32 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:29:32 UTC] 📊 Database Info:
[20-Nov-2025 14:29:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:29:32 UTC]    Books columns count: 44
[20-Nov-2025 14:29:32 UTC]    Categories columns count: 7
[20-Nov-2025 14:29:32 UTC]    Language field in books: YES
[20-Nov-2025 14:29:32 UTC]    Format field in books: YES
[20-Nov-2025 14:29:32 UTC]    Description field in categories: YES
[20-Nov-2025 14:29:32 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:29:32 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:29:32 UTC]    Is_active field in books: YES
[20-Nov-2025 14:29:32 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:29:32 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:29:32 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:29:32 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:29:32 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:29:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:29:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:29:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:29:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:29:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:29:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:29:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:29:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:29:32 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:29:32 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:29:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:29:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:29:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:29:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:29:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:29:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:29:32 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:29:32 UTC] 📊 Database Info:
[20-Nov-2025 14:29:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:29:32 UTC]    Books columns count: 44
[20-Nov-2025 14:29:32 UTC]    Categories columns count: 7
[20-Nov-2025 14:29:32 UTC]    Language field in books: YES
[20-Nov-2025 14:29:32 UTC]    Format field in books: YES
[20-Nov-2025 14:29:32 UTC]    Description field in categories: YES
[20-Nov-2025 14:29:32 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:29:32 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:29:32 UTC]    Is_active field in books: YES
[20-Nov-2025 14:29:32 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:29:32 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:29:32 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:29:32 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:29:32 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:29:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:29:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:29:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:29:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:29:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:29:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:29:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:29:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:29:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:29:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:29:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:29:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:29:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:29:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:29:41 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:29:41 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:29:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:29:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:29:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:29:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:29:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:29:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:29:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:29:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:29:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:29:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:29:41 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:29:41 UTC] 📊 Database Info:
[20-Nov-2025 14:29:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:29:41 UTC]    Books columns count: 44
[20-Nov-2025 14:29:41 UTC]    Categories columns count: 7
[20-Nov-2025 14:29:41 UTC]    Language field in books: YES
[20-Nov-2025 14:29:41 UTC]    Format field in books: YES
[20-Nov-2025 14:29:41 UTC]    Description field in categories: YES
[20-Nov-2025 14:29:41 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:29:41 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:29:41 UTC]    Is_active field in books: YES
[20-Nov-2025 14:29:41 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:29:41 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:29:41 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:29:41 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:29:41 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:29:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:30:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:30:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:30:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:30:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:30:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:30:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:30:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:30:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:30:53 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:30:53 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:30:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:30:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:30:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:30:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:30:53 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:30:53 UTC] 📊 Database Info:
[20-Nov-2025 14:30:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:30:53 UTC]    Books columns count: 44
[20-Nov-2025 14:30:53 UTC]    Categories columns count: 7
[20-Nov-2025 14:30:53 UTC]    Language field in books: YES
[20-Nov-2025 14:30:53 UTC]    Format field in books: YES
[20-Nov-2025 14:30:53 UTC]    Description field in categories: YES
[20-Nov-2025 14:30:53 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:30:53 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:30:53 UTC]    Is_active field in books: YES
[20-Nov-2025 14:30:53 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:30:53 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:30:53 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:30:53 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:30:53 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:30:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:30:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:30:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:30:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:30:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:30:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:30:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:30:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:30:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:30:53 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:30:53 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:30:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:30:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:30:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:30:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:30:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:30:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:30:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:30:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:30:53 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:30:53 UTC] 📊 Database Info:
[20-Nov-2025 14:30:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:30:53 UTC]    Books columns count: 44
[20-Nov-2025 14:30:53 UTC]    Categories columns count: 7
[20-Nov-2025 14:30:53 UTC]    Language field in books: YES
[20-Nov-2025 14:30:53 UTC]    Format field in books: YES
[20-Nov-2025 14:30:53 UTC]    Description field in categories: YES
[20-Nov-2025 14:30:53 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:30:53 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:30:53 UTC]    Is_active field in books: YES
[20-Nov-2025 14:30:53 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:30:53 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:30:53 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:30:53 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:30:53 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:30:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:30:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:31:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:31:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:31:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:31:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:31:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:31:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:31:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:31:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:31:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:31:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:31:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:31:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:31:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:31:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:31:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:31:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:31:08 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:31:08 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:31:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:31:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:31:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:31:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:31:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:31:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:31:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:31:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:31:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:31:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:31:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:31:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:31:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:31:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:31:08 UTC] 📊 Database Info:
[20-Nov-2025 14:31:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:31:08 UTC]    Books columns count: 44
[20-Nov-2025 14:31:08 UTC]    Categories columns count: 7
[20-Nov-2025 14:31:08 UTC]    Language field in books: YES
[20-Nov-2025 14:31:08 UTC]    Format field in books: YES
[20-Nov-2025 14:31:08 UTC]    Description field in categories: YES
[20-Nov-2025 14:31:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:31:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:31:08 UTC]    Is_active field in books: YES
[20-Nov-2025 14:31:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:31:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:31:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:31:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:31:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:31:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:31:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:31:25 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:31:25 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:31:25 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:31:25 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:31:25 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:31:25 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:31:25 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:31:25 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:31:25 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:31:25 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:31:25 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:31:25 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:31:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:31:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:31:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:31:25 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:31:25 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:31:25 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:31:25 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:31:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:31:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:31:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:31:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:31:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:31:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:31:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:31:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:31:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:31:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:31:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:31:26 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:31:26 UTC] 📊 Database Info:
[20-Nov-2025 14:31:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:31:26 UTC]    Books columns count: 44
[20-Nov-2025 14:31:26 UTC]    Categories columns count: 7
[20-Nov-2025 14:31:26 UTC]    Language field in books: YES
[20-Nov-2025 14:31:26 UTC]    Format field in books: YES
[20-Nov-2025 14:31:26 UTC]    Description field in categories: YES
[20-Nov-2025 14:31:26 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:31:26 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:31:26 UTC]    Is_active field in books: YES
[20-Nov-2025 14:31:26 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:31:26 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:31:26 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:31:26 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:31:26 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:31:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:31:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:31:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:31:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:31:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:31:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:31:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:31:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:31:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:31:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:31:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:31:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:31:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:31:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:31:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:31:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:31:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:31:26 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:31:26 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:31:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:31:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:31:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:31:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:31:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:31:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:31:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:31:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:31:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:31:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:31:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:31:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:31:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:31:26 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:31:26 UTC] 📊 Database Info:
[20-Nov-2025 14:31:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:31:26 UTC]    Books columns count: 44
[20-Nov-2025 14:31:26 UTC]    Categories columns count: 7
[20-Nov-2025 14:31:26 UTC]    Language field in books: YES
[20-Nov-2025 14:31:26 UTC]    Format field in books: YES
[20-Nov-2025 14:31:26 UTC]    Description field in categories: YES
[20-Nov-2025 14:31:26 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:31:26 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:31:26 UTC]    Is_active field in books: YES
[20-Nov-2025 14:31:26 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:31:26 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:31:26 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:31:26 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:31:26 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:31:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:31:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:31:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:31:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:31:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:31:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:31:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:31:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:31:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:31:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:31:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:31:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:31:32 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:31:32 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:31:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:31:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:31:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:31:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:31:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:31:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:31:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:31:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:31:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:31:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:31:32 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:31:32 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:31:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:31:32 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:31:32 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:31:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:31:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:31:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:31:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:31:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:31:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:31:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:31:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:31:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:31:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:31:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:31:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:31:32 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:31:32 UTC] 📊 Database Info:
[20-Nov-2025 14:31:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:31:32 UTC]    Books columns count: 44
[20-Nov-2025 14:31:32 UTC]    Categories columns count: 7
[20-Nov-2025 14:31:32 UTC]    Language field in books: YES
[20-Nov-2025 14:31:32 UTC]    Format field in books: YES
[20-Nov-2025 14:31:32 UTC]    Description field in categories: YES
[20-Nov-2025 14:31:32 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:31:32 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:31:32 UTC]    Is_active field in books: YES
[20-Nov-2025 14:31:32 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:31:32 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:31:32 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:31:32 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:31:32 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:31:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:31:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:31:32 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:31:32 UTC] 📊 Database Info:
[20-Nov-2025 14:31:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:31:32 UTC]    Books columns count: 44
[20-Nov-2025 14:31:32 UTC]    Categories columns count: 7
[20-Nov-2025 14:31:32 UTC]    Language field in books: YES
[20-Nov-2025 14:31:32 UTC]    Format field in books: YES
[20-Nov-2025 14:31:32 UTC]    Description field in categories: YES
[20-Nov-2025 14:31:32 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:31:32 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:31:32 UTC]    Is_active field in books: YES
[20-Nov-2025 14:31:32 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:31:32 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:31:32 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:31:32 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:31:32 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:31:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:31:32 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:31:32 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:31:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:31:32 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:31:32 UTC] 📊 Database Info:
[20-Nov-2025 14:31:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:31:32 UTC]    Books columns count: 44
[20-Nov-2025 14:31:32 UTC]    Categories columns count: 7
[20-Nov-2025 14:31:32 UTC]    Language field in books: YES
[20-Nov-2025 14:31:32 UTC]    Format field in books: YES
[20-Nov-2025 14:31:32 UTC]    Description field in categories: YES
[20-Nov-2025 14:31:32 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:31:32 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:31:32 UTC]    Is_active field in books: YES
[20-Nov-2025 14:31:32 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:31:32 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:31:32 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:31:32 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:31:32 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:31:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:31:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:31:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:31:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:31:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:31:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:31:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:31:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:31:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:31:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:31:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:31:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:31:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:31:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:31:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:31:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:31:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:31:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:31:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:31:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:31:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:31:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:31:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:31:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:31:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:31:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:31:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:31:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:31:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:31:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:31:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:31:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:31:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:31:33 UTC] 📊 Database Info:
[20-Nov-2025 14:31:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:31:33 UTC]    Books columns count: 44
[20-Nov-2025 14:31:33 UTC]    Categories columns count: 7
[20-Nov-2025 14:31:33 UTC]    Language field in books: YES
[20-Nov-2025 14:31:33 UTC]    Format field in books: YES
[20-Nov-2025 14:31:33 UTC]    Description field in categories: YES
[20-Nov-2025 14:31:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:31:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:31:33 UTC]    Is_active field in books: YES
[20-Nov-2025 14:31:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:31:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:31:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:31:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:31:33 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:31:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:31:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:31:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:31:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:31:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:31:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:31:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:31:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:31:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:31:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:31:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:31:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:31:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:32:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:32:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:32:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:32:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:32:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:32:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:32:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:32:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:32:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:32:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:32:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:32:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:32:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:32:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:32:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:32:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:32:06 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:32:06 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:32:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:32:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:32:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:32:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:32:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:32:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:32:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:32:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:32:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:32:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:32:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:32:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:32:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:32:06 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:32:06 UTC] 📊 Database Info:
[20-Nov-2025 14:32:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:32:06 UTC]    Books columns count: 44
[20-Nov-2025 14:32:06 UTC]    Categories columns count: 7
[20-Nov-2025 14:32:06 UTC]    Language field in books: YES
[20-Nov-2025 14:32:06 UTC]    Format field in books: YES
[20-Nov-2025 14:32:06 UTC]    Description field in categories: YES
[20-Nov-2025 14:32:06 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:32:06 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:32:06 UTC]    Is_active field in books: YES
[20-Nov-2025 14:32:06 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:32:06 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:32:06 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:32:06 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:32:06 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:32:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:32:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:32:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:32:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:32:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:32:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:32:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:32:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:32:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:32:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:32:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:32:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:32:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:32:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:32:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:32:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:32:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:32:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:32:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:32:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:32:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:32:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:32:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:32:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:32:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:32:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:32:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:32:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:32:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:32:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:32:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:32:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:32:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:32:07 UTC] 📊 Database Info:
[20-Nov-2025 14:32:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:32:07 UTC]    Books columns count: 44
[20-Nov-2025 14:32:07 UTC]    Categories columns count: 7
[20-Nov-2025 14:32:07 UTC]    Language field in books: YES
[20-Nov-2025 14:32:07 UTC]    Format field in books: YES
[20-Nov-2025 14:32:07 UTC]    Description field in categories: YES
[20-Nov-2025 14:32:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:32:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:32:07 UTC]    Is_active field in books: YES
[20-Nov-2025 14:32:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:32:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:32:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:32:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:32:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:32:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:32:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:32:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:32:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:32:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:32:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:32:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:32:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:32:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:32:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:32:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:32:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:32:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:32:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:32:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:32:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:32:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:32:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:32:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:32:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:32:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:32:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:32:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:32:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:32:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:32:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:32:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:32:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:32:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:32:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:32:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:32:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:32:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:32:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:32:18 UTC] 📊 Database Info:
[20-Nov-2025 14:32:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:32:18 UTC]    Books columns count: 44
[20-Nov-2025 14:32:18 UTC]    Categories columns count: 7
[20-Nov-2025 14:32:18 UTC]    Language field in books: YES
[20-Nov-2025 14:32:18 UTC]    Format field in books: YES
[20-Nov-2025 14:32:18 UTC]    Description field in categories: YES
[20-Nov-2025 14:32:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:32:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:32:18 UTC]    Is_active field in books: YES
[20-Nov-2025 14:32:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:32:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:32:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:32:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:32:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:32:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:32:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:32:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:32:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:32:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:32:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:32:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:32:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:32:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:32:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:32:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:32:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:32:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:32:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:32:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:32:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:32:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:32:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:32:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:32:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:32:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:32:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:32:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:32:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:32:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:32:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:32:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:32:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:32:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:32:40 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:32:40 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:32:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:32:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:32:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:32:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:32:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:32:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:32:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:32:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:32:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:32:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:32:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:32:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:32:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:32:40 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:32:40 UTC] 📊 Database Info:
[20-Nov-2025 14:32:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:32:40 UTC]    Books columns count: 44
[20-Nov-2025 14:32:40 UTC]    Categories columns count: 7
[20-Nov-2025 14:32:40 UTC]    Language field in books: YES
[20-Nov-2025 14:32:40 UTC]    Format field in books: YES
[20-Nov-2025 14:32:40 UTC]    Description field in categories: YES
[20-Nov-2025 14:32:40 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:32:40 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:32:40 UTC]    Is_active field in books: YES
[20-Nov-2025 14:32:40 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:32:40 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:32:40 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:32:40 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:32:40 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:32:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:32:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:32:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:32:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:32:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:32:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:32:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:32:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:32:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:32:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:32:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:32:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:32:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:32:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:32:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:32:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:32:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:32:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:32:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:32:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:32:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:32:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:32:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:32:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:32:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:32:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:32:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:32:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:32:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:32:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:32:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:32:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:32:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:32:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:32:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:32:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:32:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:32:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:32:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:32:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:32:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:32:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:32:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:32:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:32:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:32:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:32:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:32:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:32:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:32:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:32:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:32:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:32:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:32:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:32:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:32:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:32:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:32:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:32:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:32:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:32:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:32:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:32:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:32:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:32:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:32:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:32:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:32:46 UTC] 📊 Database Info:
[20-Nov-2025 14:32:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:32:46 UTC]    Books columns count: 44
[20-Nov-2025 14:32:46 UTC]    Categories columns count: 7
[20-Nov-2025 14:32:46 UTC]    Language field in books: YES
[20-Nov-2025 14:32:46 UTC]    Format field in books: YES
[20-Nov-2025 14:32:46 UTC]    Description field in categories: YES
[20-Nov-2025 14:32:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:32:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:32:46 UTC]    Is_active field in books: YES
[20-Nov-2025 14:32:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:32:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:32:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:32:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:32:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:32:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:32:46 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:32:46 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:32:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:32:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:32:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:32:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:32:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:32:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:32:46 UTC] 📊 Database Info:
[20-Nov-2025 14:32:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:32:46 UTC]    Books columns count: 44
[20-Nov-2025 14:32:46 UTC]    Categories columns count: 7
[20-Nov-2025 14:32:46 UTC]    Language field in books: YES
[20-Nov-2025 14:32:46 UTC]    Format field in books: YES
[20-Nov-2025 14:32:46 UTC]    Description field in categories: YES
[20-Nov-2025 14:32:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:32:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:32:46 UTC]    Is_active field in books: YES
[20-Nov-2025 14:32:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:32:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:32:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:32:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:32:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:32:46 UTC] 📊 Database Info:
[20-Nov-2025 14:32:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:32:46 UTC]    Books columns count: 44
[20-Nov-2025 14:32:46 UTC]    Categories columns count: 7
[20-Nov-2025 14:32:46 UTC]    Language field in books: YES
[20-Nov-2025 14:32:46 UTC]    Format field in books: YES
[20-Nov-2025 14:32:46 UTC]    Description field in categories: YES
[20-Nov-2025 14:32:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:32:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:32:46 UTC]    Is_active field in books: YES
[20-Nov-2025 14:32:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:32:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:32:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:32:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:32:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:32:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:32:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:32:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:32:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:32:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:32:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:32:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:32:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:32:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:32:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:32:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:32:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:32:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:32:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:32:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:32:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:32:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:32:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:32:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:32:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:32:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:32:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:32:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:32:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:32:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:32:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:32:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:32:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:32:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:32:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:32:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:32:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:32:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:32:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:32:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:32:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:32:50 UTC] 📊 Database Info:
[20-Nov-2025 14:32:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:32:50 UTC]    Books columns count: 44
[20-Nov-2025 14:32:50 UTC]    Categories columns count: 7
[20-Nov-2025 14:32:50 UTC]    Language field in books: YES
[20-Nov-2025 14:32:50 UTC]    Format field in books: YES
[20-Nov-2025 14:32:50 UTC]    Description field in categories: YES
[20-Nov-2025 14:32:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:32:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:32:50 UTC]    Is_active field in books: YES
[20-Nov-2025 14:32:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:32:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:32:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:32:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:32:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:32:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:32:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:32:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:32:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:32:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:32:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:32:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:32:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:32:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:32:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:32:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:32:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:32:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:33:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:33:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:33:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:33:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:33:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:33:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:33:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:33:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:33:49 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:33:49 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:33:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:33:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:33:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:33:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:33:49 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:33:49 UTC] 📊 Database Info:
[20-Nov-2025 14:33:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:33:49 UTC]    Books columns count: 44
[20-Nov-2025 14:33:49 UTC]    Categories columns count: 7
[20-Nov-2025 14:33:49 UTC]    Language field in books: YES
[20-Nov-2025 14:33:49 UTC]    Format field in books: YES
[20-Nov-2025 14:33:49 UTC]    Description field in categories: YES
[20-Nov-2025 14:33:49 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:33:49 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:33:49 UTC]    Is_active field in books: YES
[20-Nov-2025 14:33:49 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:33:49 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:33:49 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:33:49 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:33:49 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:33:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:33:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:33:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:33:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:33:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:33:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:33:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:33:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:33:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:33:49 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:33:49 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:33:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:33:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:33:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:33:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:33:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:33:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:33:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:33:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:33:49 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:33:49 UTC] 📊 Database Info:
[20-Nov-2025 14:33:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:33:49 UTC]    Books columns count: 44
[20-Nov-2025 14:33:49 UTC]    Categories columns count: 7
[20-Nov-2025 14:33:49 UTC]    Language field in books: YES
[20-Nov-2025 14:33:49 UTC]    Format field in books: YES
[20-Nov-2025 14:33:49 UTC]    Description field in categories: YES
[20-Nov-2025 14:33:49 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:33:49 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:33:49 UTC]    Is_active field in books: YES
[20-Nov-2025 14:33:49 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:33:49 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:33:49 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:33:49 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:33:49 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:33:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:33:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:34:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:34:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:34:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:34:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:34:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:34:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:34:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:34:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:34:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:34:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:34:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:34:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:34:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:34:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:34:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:34:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:34:15 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:34:15 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:34:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:34:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:34:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:34:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:34:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:34:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:34:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:34:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:34:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:34:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:34:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:34:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:34:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:34:15 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:34:15 UTC] 📊 Database Info:
[20-Nov-2025 14:34:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:34:15 UTC]    Books columns count: 44
[20-Nov-2025 14:34:15 UTC]    Categories columns count: 7
[20-Nov-2025 14:34:15 UTC]    Language field in books: YES
[20-Nov-2025 14:34:15 UTC]    Format field in books: YES
[20-Nov-2025 14:34:15 UTC]    Description field in categories: YES
[20-Nov-2025 14:34:15 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:34:15 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:34:15 UTC]    Is_active field in books: YES
[20-Nov-2025 14:34:15 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:34:15 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:34:15 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:34:15 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:34:15 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:34:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:34:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:34:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:34:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:34:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:34:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:34:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:34:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:34:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:34:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:34:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:34:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:34:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:34:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:34:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:34:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:34:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:34:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:34:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:34:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:34:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:34:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:34:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:34:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:34:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:34:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:34:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:34:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:34:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:34:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:34:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:34:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:34:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:34:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:34:57 UTC] 📊 Database Info:
[20-Nov-2025 14:34:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:34:57 UTC]    Books columns count: 44
[20-Nov-2025 14:34:57 UTC]    Categories columns count: 7
[20-Nov-2025 14:34:57 UTC]    Language field in books: YES
[20-Nov-2025 14:34:57 UTC]    Format field in books: YES
[20-Nov-2025 14:34:57 UTC]    Description field in categories: YES
[20-Nov-2025 14:34:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:34:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:34:57 UTC]    Is_active field in books: YES
[20-Nov-2025 14:34:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:34:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:34:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:34:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:34:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:34:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:34:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:39:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:39:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:39:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:39:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:39:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:39:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:39:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:39:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:39:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:39:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:39:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:39:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:39:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:39:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:39:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:39:18 UTC] 📊 Database Info:
[20-Nov-2025 14:39:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:39:18 UTC]    Books columns count: 44
[20-Nov-2025 14:39:18 UTC]    Categories columns count: 7
[20-Nov-2025 14:39:18 UTC]    Language field in books: YES
[20-Nov-2025 14:39:18 UTC]    Format field in books: YES
[20-Nov-2025 14:39:18 UTC]    Description field in categories: YES
[20-Nov-2025 14:39:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:39:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:39:18 UTC]    Is_active field in books: YES
[20-Nov-2025 14:39:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:39:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:39:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:39:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:39:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:39:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:39:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:39:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:39:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:39:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:39:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:39:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:39:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:39:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:39:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:39:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:39:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:39:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:39:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:39:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:39:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:39:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:39:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:39:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:39:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:39:18 UTC] 📊 Database Info:
[20-Nov-2025 14:39:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:39:18 UTC]    Books columns count: 44
[20-Nov-2025 14:39:18 UTC]    Categories columns count: 7
[20-Nov-2025 14:39:18 UTC]    Language field in books: YES
[20-Nov-2025 14:39:18 UTC]    Format field in books: YES
[20-Nov-2025 14:39:18 UTC]    Description field in categories: YES
[20-Nov-2025 14:39:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:39:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:39:18 UTC]    Is_active field in books: YES
[20-Nov-2025 14:39:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:39:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:39:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:39:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:39:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:39:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:39:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:39:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:39:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:39:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:39:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:39:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:39:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:39:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:39:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:39:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:39:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:39:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:39:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:39:56 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:39:56 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:39:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:39:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:39:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:39:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:39:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:39:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:39:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:39:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:39:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:39:56 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:39:56 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:39:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:39:56 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:39:56 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:39:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:39:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:39:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:39:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:39:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:39:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:39:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:39:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:39:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:39:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:39:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:39:56 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:39:56 UTC] 📊 Database Info:
[20-Nov-2025 14:39:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:39:56 UTC]    Books columns count: 44
[20-Nov-2025 14:39:56 UTC]    Categories columns count: 7
[20-Nov-2025 14:39:56 UTC]    Language field in books: YES
[20-Nov-2025 14:39:56 UTC]    Format field in books: YES
[20-Nov-2025 14:39:56 UTC]    Description field in categories: YES
[20-Nov-2025 14:39:56 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:39:56 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:39:56 UTC]    Is_active field in books: YES
[20-Nov-2025 14:39:56 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:39:56 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:39:56 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:39:56 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:39:56 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:39:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:39:56 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:39:56 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:39:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:39:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:39:56 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:39:56 UTC] 📊 Database Info:
[20-Nov-2025 14:39:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:39:56 UTC]    Books columns count: 44
[20-Nov-2025 14:39:56 UTC]    Categories columns count: 7
[20-Nov-2025 14:39:56 UTC]    Language field in books: YES
[20-Nov-2025 14:39:56 UTC]    Format field in books: YES
[20-Nov-2025 14:39:56 UTC]    Description field in categories: YES
[20-Nov-2025 14:39:56 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:39:56 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:39:56 UTC]    Is_active field in books: YES
[20-Nov-2025 14:39:56 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:39:56 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:39:56 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:39:56 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:39:56 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:39:56 UTC] 📊 Database Info:
[20-Nov-2025 14:39:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:39:56 UTC]    Books columns count: 44
[20-Nov-2025 14:39:56 UTC]    Categories columns count: 7
[20-Nov-2025 14:39:56 UTC]    Language field in books: YES
[20-Nov-2025 14:39:56 UTC]    Format field in books: YES
[20-Nov-2025 14:39:56 UTC]    Description field in categories: YES
[20-Nov-2025 14:39:56 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:39:56 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:39:56 UTC]    Is_active field in books: YES
[20-Nov-2025 14:39:56 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:39:56 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:39:56 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:39:56 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:39:56 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:39:56 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:39:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:39:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:39:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:39:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:39:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:39:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:39:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:39:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:39:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:39:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:39:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:39:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:39:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:39:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:39:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:39:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:39:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:39:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:39:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:39:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:39:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:39:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:39:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:39:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:39:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:39:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:39:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:39:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:39:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:39:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:39:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:39:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:39:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:39:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:39:57 UTC] 📊 Database Info:
[20-Nov-2025 14:39:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:39:57 UTC]    Books columns count: 44
[20-Nov-2025 14:39:57 UTC]    Categories columns count: 7
[20-Nov-2025 14:39:57 UTC]    Language field in books: YES
[20-Nov-2025 14:39:57 UTC]    Format field in books: YES
[20-Nov-2025 14:39:57 UTC]    Description field in categories: YES
[20-Nov-2025 14:39:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:39:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:39:57 UTC]    Is_active field in books: YES
[20-Nov-2025 14:39:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:39:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:39:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:39:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:39:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:39:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:39:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:39:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:39:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:39:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:39:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:39:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:39:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:39:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:39:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:39:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:39:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:39:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:41:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:41:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:41:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:41:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:41:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:41:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:41:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:41:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:41:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:41:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:41:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:41:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:41:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:41:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:41:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:41:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:41:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:41:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:41:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:41:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:41:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:41:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:41:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:41:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:41:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:41:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:41:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:41:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:41:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:41:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:41:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:41:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:41:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:41:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:41:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:41:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:41:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:41:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:41:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:41:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:41:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:41:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:41:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:41:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:41:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:41:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:41:37 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:41:37 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:41:37 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:41:37 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:41:37 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:41:37 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:41:37 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:41:37 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:41:37 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:41:37 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:41:37 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:41:37 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:41:37 UTC] 📊 Database Info:
[20-Nov-2025 14:41:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:41:37 UTC]    Books columns count: 44
[20-Nov-2025 14:41:37 UTC]    Categories columns count: 7
[20-Nov-2025 14:41:37 UTC]    Language field in books: YES
[20-Nov-2025 14:41:37 UTC]    Format field in books: YES
[20-Nov-2025 14:41:37 UTC]    Description field in categories: YES
[20-Nov-2025 14:41:37 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:41:37 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:41:37 UTC]    Is_active field in books: YES
[20-Nov-2025 14:41:37 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:41:37 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:41:37 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:41:37 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:41:37 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:41:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:41:37 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:41:37 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:41:37 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:41:37 UTC] 📊 Database Info:
[20-Nov-2025 14:41:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:41:37 UTC]    Books columns count: 44
[20-Nov-2025 14:41:37 UTC]    Categories columns count: 7
[20-Nov-2025 14:41:37 UTC]    Language field in books: YES
[20-Nov-2025 14:41:37 UTC]    Format field in books: YES
[20-Nov-2025 14:41:37 UTC]    Description field in categories: YES
[20-Nov-2025 14:41:37 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:41:37 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:41:37 UTC]    Is_active field in books: YES
[20-Nov-2025 14:41:37 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:41:37 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:41:37 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:41:37 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:41:37 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:41:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:41:37 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:41:37 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:41:37 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:41:37 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:41:37 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:41:37 UTC] 📊 Database Info:
[20-Nov-2025 14:41:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:41:37 UTC]    Books columns count: 44
[20-Nov-2025 14:41:37 UTC]    Categories columns count: 7
[20-Nov-2025 14:41:37 UTC]    Language field in books: YES
[20-Nov-2025 14:41:37 UTC]    Format field in books: YES
[20-Nov-2025 14:41:37 UTC]    Description field in categories: YES
[20-Nov-2025 14:41:37 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:41:37 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:41:37 UTC]    Is_active field in books: YES
[20-Nov-2025 14:41:37 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:41:37 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:41:37 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:41:37 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:41:37 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:41:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:41:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:41:37 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:41:37 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:41:37 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:41:37 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:41:37 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:41:37 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:41:37 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:41:37 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:41:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:41:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:41:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:41:37 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:41:37 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:41:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:41:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:41:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:41:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:41:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:41:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:41:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:41:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:41:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:41:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:41:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:41:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:41:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:41:38 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:41:38 UTC] 📊 Database Info:
[20-Nov-2025 14:41:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:41:38 UTC]    Books columns count: 44
[20-Nov-2025 14:41:38 UTC]    Categories columns count: 7
[20-Nov-2025 14:41:38 UTC]    Language field in books: YES
[20-Nov-2025 14:41:38 UTC]    Format field in books: YES
[20-Nov-2025 14:41:38 UTC]    Description field in categories: YES
[20-Nov-2025 14:41:38 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:41:38 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:41:38 UTC]    Is_active field in books: YES
[20-Nov-2025 14:41:38 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:41:38 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:41:38 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:41:38 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:41:38 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:41:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:41:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:41:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:41:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:41:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:41:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:41:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:41:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:41:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:41:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:41:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:41:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:41:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:41:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:41:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:41:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:41:46 UTC] 📊 Database Info:
[20-Nov-2025 14:41:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:41:46 UTC]    Books columns count: 44
[20-Nov-2025 14:41:46 UTC]    Categories columns count: 7
[20-Nov-2025 14:41:46 UTC]    Language field in books: YES
[20-Nov-2025 14:41:46 UTC]    Format field in books: YES
[20-Nov-2025 14:41:46 UTC]    Description field in categories: YES
[20-Nov-2025 14:41:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:41:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:41:46 UTC]    Is_active field in books: YES
[20-Nov-2025 14:41:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:41:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:41:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:41:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:41:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:41:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:41:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:41:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:41:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:41:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:41:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:41:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:41:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:41:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:41:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:41:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:41:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:41:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:41:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:41:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:41:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:41:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:41:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:41:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:41:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:41:46 UTC] 📊 Database Info:
[20-Nov-2025 14:41:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:41:46 UTC]    Books columns count: 44
[20-Nov-2025 14:41:46 UTC]    Categories columns count: 7
[20-Nov-2025 14:41:46 UTC]    Language field in books: YES
[20-Nov-2025 14:41:46 UTC]    Format field in books: YES
[20-Nov-2025 14:41:46 UTC]    Description field in categories: YES
[20-Nov-2025 14:41:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:41:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:41:46 UTC]    Is_active field in books: YES
[20-Nov-2025 14:41:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:41:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:41:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:41:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:41:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:41:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:43:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:43:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:43:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:43:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:43:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:43:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:43:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:43:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:43:42 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:43:42 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:43:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:43:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:43:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:43:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:43:42 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:43:42 UTC] 📊 Database Info:
[20-Nov-2025 14:43:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:43:42 UTC]    Books columns count: 44
[20-Nov-2025 14:43:42 UTC]    Categories columns count: 7
[20-Nov-2025 14:43:42 UTC]    Language field in books: YES
[20-Nov-2025 14:43:42 UTC]    Format field in books: YES
[20-Nov-2025 14:43:42 UTC]    Description field in categories: YES
[20-Nov-2025 14:43:42 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:43:42 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:43:42 UTC]    Is_active field in books: YES
[20-Nov-2025 14:43:42 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:43:42 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:43:42 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:43:42 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:43:42 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:43:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:43:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:43:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:43:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:43:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:43:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:43:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:43:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:43:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:43:42 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:43:42 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:43:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:43:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:43:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:43:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:43:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:43:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:43:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:43:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:43:42 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:43:42 UTC] 📊 Database Info:
[20-Nov-2025 14:43:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:43:42 UTC]    Books columns count: 44
[20-Nov-2025 14:43:42 UTC]    Categories columns count: 7
[20-Nov-2025 14:43:42 UTC]    Language field in books: YES
[20-Nov-2025 14:43:42 UTC]    Format field in books: YES
[20-Nov-2025 14:43:42 UTC]    Description field in categories: YES
[20-Nov-2025 14:43:42 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:43:42 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:43:42 UTC]    Is_active field in books: YES
[20-Nov-2025 14:43:42 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:43:42 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:43:42 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:43:42 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:43:42 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:43:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:43:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:44:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:44:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:44:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:44:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:44:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:44:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:44:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:44:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:44:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:44:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:44:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:44:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:44:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:44:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:44:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:44:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:44:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:44:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:44:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:44:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:44:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:44:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:44:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:44:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:44:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:44:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:44:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:44:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:44:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:44:29 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:44:29 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:44:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:44:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:44:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:44:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:44:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:44:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:44:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:44:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:44:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:44:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:44:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:44:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:44:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:44:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:44:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:44:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:44:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:44:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:44:29 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:44:29 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:44:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:44:29 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:44:29 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:44:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:44:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:44:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:44:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:44:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:44:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:44:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:44:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:44:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:44:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:44:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:44:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:44:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:44:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:44:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:44:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:44:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:44:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:44:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:44:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:44:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:44:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:44:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:44:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:44:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:44:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:44:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:44:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:44:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:44:30 UTC] 📊 Database Info:
[20-Nov-2025 14:44:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:44:30 UTC]    Books columns count: 44
[20-Nov-2025 14:44:30 UTC]    Categories columns count: 7
[20-Nov-2025 14:44:30 UTC]    Language field in books: YES
[20-Nov-2025 14:44:30 UTC]    Format field in books: YES
[20-Nov-2025 14:44:30 UTC]    Description field in categories: YES
[20-Nov-2025 14:44:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:44:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:44:30 UTC]    Is_active field in books: YES
[20-Nov-2025 14:44:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:44:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:44:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:44:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:44:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:44:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:44:30 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:44:30 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:44:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:44:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:44:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:44:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:44:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:44:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:44:30 UTC] 📊 Database Info:
[20-Nov-2025 14:44:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:44:30 UTC]    Books columns count: 44
[20-Nov-2025 14:44:30 UTC]    Categories columns count: 7
[20-Nov-2025 14:44:30 UTC]    Language field in books: YES
[20-Nov-2025 14:44:30 UTC]    Format field in books: YES
[20-Nov-2025 14:44:30 UTC]    Description field in categories: YES
[20-Nov-2025 14:44:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:44:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:44:30 UTC]    Is_active field in books: YES
[20-Nov-2025 14:44:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:44:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:44:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:44:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:44:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:44:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:44:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:44:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:44:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:44:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:44:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:44:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:44:30 UTC] 📊 Database Info:
[20-Nov-2025 14:44:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:44:30 UTC]    Books columns count: 44
[20-Nov-2025 14:44:30 UTC]    Categories columns count: 7
[20-Nov-2025 14:44:30 UTC]    Language field in books: YES
[20-Nov-2025 14:44:30 UTC]    Format field in books: YES
[20-Nov-2025 14:44:30 UTC]    Description field in categories: YES
[20-Nov-2025 14:44:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:44:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:44:30 UTC]    Is_active field in books: YES
[20-Nov-2025 14:44:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:44:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:44:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:44:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:44:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:44:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:44:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:44:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:44:31 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:44:31 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:44:31 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:44:31 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:44:31 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:44:31 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:44:31 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:44:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:44:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:44:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:44:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:44:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:44:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:44:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:44:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:44:31 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:44:31 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:44:31 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:44:31 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:44:31 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:44:31 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:44:31 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:44:31 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:44:31 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:44:31 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:44:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:44:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:44:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:44:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:44:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:44:31 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:44:31 UTC] 📊 Database Info:
[20-Nov-2025 14:44:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:44:31 UTC]    Books columns count: 44
[20-Nov-2025 14:44:31 UTC]    Categories columns count: 7
[20-Nov-2025 14:44:31 UTC]    Language field in books: YES
[20-Nov-2025 14:44:31 UTC]    Format field in books: YES
[20-Nov-2025 14:44:31 UTC]    Description field in categories: YES
[20-Nov-2025 14:44:31 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:44:31 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:44:31 UTC]    Is_active field in books: YES
[20-Nov-2025 14:44:31 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:44:31 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:44:31 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:44:31 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:44:31 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:44:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:44:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:46:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:46:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:46:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:46:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:46:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:46:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:46:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:46:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:46:43 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:46:43 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:46:43 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:46:43 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:46:43 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:46:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:46:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:46:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:46:43 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:46:43 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:46:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:46:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:46:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:46:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:46:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:46:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:46:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:46:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:46:43 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:46:43 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:46:43 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:46:43 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:46:43 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:46:43 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:46:43 UTC] 📊 Database Info:
[20-Nov-2025 14:46:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:46:43 UTC]    Books columns count: 44
[20-Nov-2025 14:46:43 UTC]    Categories columns count: 7
[20-Nov-2025 14:46:43 UTC]    Language field in books: YES
[20-Nov-2025 14:46:43 UTC]    Format field in books: YES
[20-Nov-2025 14:46:43 UTC]    Description field in categories: YES
[20-Nov-2025 14:46:43 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:46:43 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:46:43 UTC]    Is_active field in books: YES
[20-Nov-2025 14:46:43 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:46:43 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:46:43 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:46:43 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:46:43 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:46:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:46:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:46:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:46:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:46:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:46:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:46:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:46:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:46:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:46:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:46:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:46:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:46:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:46:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:46:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:46:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:46:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:46:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:46:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:46:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:46:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:46:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:46:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:46:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:46:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:46:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:46:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:46:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:46:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:46:44 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:46:44 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:46:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:46:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:46:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:46:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:46:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:46:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:46:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:46:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:46:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:46:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:46:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:46:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:46:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:46:44 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:46:44 UTC] 📊 Database Info:
[20-Nov-2025 14:46:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:46:44 UTC]    Books columns count: 44
[20-Nov-2025 14:46:44 UTC]    Categories columns count: 7
[20-Nov-2025 14:46:44 UTC]    Language field in books: YES
[20-Nov-2025 14:46:44 UTC]    Format field in books: YES
[20-Nov-2025 14:46:44 UTC]    Description field in categories: YES
[20-Nov-2025 14:46:44 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:46:44 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:46:44 UTC]    Is_active field in books: YES
[20-Nov-2025 14:46:44 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:46:44 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:46:44 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:46:44 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:46:44 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:46:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:46:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:46:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:46:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:46:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:46:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:46:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:46:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:46:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:46:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:46:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:46:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:46:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:46:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:46:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:46:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:46:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:46:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:46:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:46:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:46:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:46:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:46:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:46:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:46:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:46:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:46:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:46:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:46:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:46:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:46:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:46:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:46:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:46:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:46:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:46:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:46:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:46:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:46:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:46:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:46:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:46:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:46:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:46:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:46:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:46:50 UTC] 📊 Database Info:
[20-Nov-2025 14:46:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:46:50 UTC]    Books columns count: 44
[20-Nov-2025 14:46:50 UTC]    Categories columns count: 7
[20-Nov-2025 14:46:50 UTC]    Language field in books: YES
[20-Nov-2025 14:46:50 UTC]    Format field in books: YES
[20-Nov-2025 14:46:50 UTC]    Description field in categories: YES
[20-Nov-2025 14:46:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:46:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:46:50 UTC]    Is_active field in books: YES
[20-Nov-2025 14:46:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:46:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:46:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:46:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:46:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:46:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:46:50 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:46:50 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:46:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:46:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:46:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:46:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:46:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:46:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:46:50 UTC] 📊 Database Info:
[20-Nov-2025 14:46:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:46:50 UTC]    Books columns count: 44
[20-Nov-2025 14:46:50 UTC]    Categories columns count: 7
[20-Nov-2025 14:46:50 UTC]    Language field in books: YES
[20-Nov-2025 14:46:50 UTC]    Format field in books: YES
[20-Nov-2025 14:46:50 UTC]    Description field in categories: YES
[20-Nov-2025 14:46:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:46:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:46:50 UTC]    Is_active field in books: YES
[20-Nov-2025 14:46:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:46:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:46:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:46:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:46:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:46:50 UTC] 📊 Database Info:
[20-Nov-2025 14:46:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:46:50 UTC]    Books columns count: 44
[20-Nov-2025 14:46:50 UTC]    Categories columns count: 7
[20-Nov-2025 14:46:50 UTC]    Language field in books: YES
[20-Nov-2025 14:46:50 UTC]    Format field in books: YES
[20-Nov-2025 14:46:50 UTC]    Description field in categories: YES
[20-Nov-2025 14:46:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:46:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:46:50 UTC]    Is_active field in books: YES
[20-Nov-2025 14:46:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:46:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:46:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:46:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:46:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:46:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:46:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:46:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:46:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:46:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:46:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:46:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:46:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:46:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:46:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:46:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:46:51 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:46:51 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:46:51 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:46:51 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:46:51 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:46:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:46:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:46:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:46:51 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:46:51 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:46:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:46:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:46:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:46:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:46:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:46:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:46:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:46:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:46:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:46:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:46:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:46:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:46:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:46:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:46:52 UTC] 📊 Database Info:
[20-Nov-2025 14:46:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:46:52 UTC]    Books columns count: 44
[20-Nov-2025 14:46:52 UTC]    Categories columns count: 7
[20-Nov-2025 14:46:52 UTC]    Language field in books: YES
[20-Nov-2025 14:46:52 UTC]    Format field in books: YES
[20-Nov-2025 14:46:52 UTC]    Description field in categories: YES
[20-Nov-2025 14:46:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:46:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:46:52 UTC]    Is_active field in books: YES
[20-Nov-2025 14:46:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:46:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:46:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:46:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:46:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:46:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:57:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:57:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:57:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:57:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:57:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 14:57:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:57:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:57:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:57:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:57:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:57:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:57:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:57:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:57:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:57:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:57:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:57:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:57:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:57:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:57:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:57:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:57:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:57:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:57:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:57:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:57:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:57:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:57:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:57:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:57:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:57:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:57:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 14:57:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:57:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:57:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:57:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 14:57:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:57:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 14:57:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:57:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:57:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:57:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:57:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:57:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 14:57:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 14:57:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 14:57:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 14:57:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 14:57:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:57:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:57:36 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:57:36 UTC] 📊 Database Info:
[20-Nov-2025 14:57:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:57:36 UTC]    Books columns count: 44
[20-Nov-2025 14:57:36 UTC]    Categories columns count: 7
[20-Nov-2025 14:57:36 UTC]    Language field in books: YES
[20-Nov-2025 14:57:36 UTC]    Format field in books: YES
[20-Nov-2025 14:57:36 UTC]    Description field in categories: YES
[20-Nov-2025 14:57:36 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:57:36 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:57:36 UTC]    Is_active field in books: YES
[20-Nov-2025 14:57:36 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:57:36 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:57:36 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:57:36 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:57:36 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:57:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:57:36 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 14:57:36 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 14:57:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:57:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:57:36 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:57:36 UTC] 📊 Database Info:
[20-Nov-2025 14:57:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:57:36 UTC]    Books columns count: 44
[20-Nov-2025 14:57:36 UTC]    Categories columns count: 7
[20-Nov-2025 14:57:36 UTC]    Language field in books: YES
[20-Nov-2025 14:57:36 UTC]    Format field in books: YES
[20-Nov-2025 14:57:36 UTC]    Description field in categories: YES
[20-Nov-2025 14:57:36 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:57:36 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:57:36 UTC]    Is_active field in books: YES
[20-Nov-2025 14:57:36 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:57:36 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:57:36 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:57:36 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:57:36 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:57:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 14:57:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 14:57:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 14:57:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 14:57:36 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 14:57:36 UTC] 📊 Database Info:
[20-Nov-2025 14:57:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 14:57:36 UTC]    Books columns count: 44
[20-Nov-2025 14:57:36 UTC]    Categories columns count: 7
[20-Nov-2025 14:57:36 UTC]    Language field in books: YES
[20-Nov-2025 14:57:36 UTC]    Format field in books: YES
[20-Nov-2025 14:57:36 UTC]    Description field in categories: YES
[20-Nov-2025 14:57:36 UTC]    Display_order field in categories: YES
[20-Nov-2025 14:57:36 UTC]    Is_active field in categories: YES
[20-Nov-2025 14:57:36 UTC]    Is_active field in books: YES
[20-Nov-2025 14:57:36 UTC]    External_download_link field in books: YES
[20-Nov-2025 14:57:36 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 14:57:36 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 14:57:36 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 14:57:36 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 14:57:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 14:57:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:51:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:51:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:51:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:51:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:51:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:51:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:51:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:51:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:51:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:51:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:51:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:51:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:51:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:51:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:51:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:51:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:51:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:51:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:51:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:51:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:51:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:51:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:51:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:51:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:51:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:51:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:51:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:51:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:51:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:51:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:51:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:51:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:51:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:51:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:51:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:51:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:51:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:51:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:51:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:51:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:51:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:51:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:51:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:51:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:51:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:51:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:51:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:51:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:51:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:51:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:51:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:51:19 UTC] 📊 Database Info:
[20-Nov-2025 15:51:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:51:19 UTC]    Books columns count: 44
[20-Nov-2025 15:51:19 UTC]    Categories columns count: 7
[20-Nov-2025 15:51:19 UTC]    Language field in books: YES
[20-Nov-2025 15:51:19 UTC]    Format field in books: YES
[20-Nov-2025 15:51:19 UTC]    Description field in categories: YES
[20-Nov-2025 15:51:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:51:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:51:19 UTC]    Is_active field in books: YES
[20-Nov-2025 15:51:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:51:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:51:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:51:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:51:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:51:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:51:19 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 15:51:19 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 15:51:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:51:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:51:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:51:19 UTC] 📊 Database Info:
[20-Nov-2025 15:51:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:51:19 UTC]    Books columns count: 44
[20-Nov-2025 15:51:19 UTC]    Categories columns count: 7
[20-Nov-2025 15:51:19 UTC]    Language field in books: YES
[20-Nov-2025 15:51:19 UTC]    Format field in books: YES
[20-Nov-2025 15:51:19 UTC]    Description field in categories: YES
[20-Nov-2025 15:51:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:51:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:51:19 UTC]    Is_active field in books: YES
[20-Nov-2025 15:51:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:51:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:51:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:51:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:51:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:51:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:51:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:51:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:51:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:51:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:51:19 UTC] 📊 Database Info:
[20-Nov-2025 15:51:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:51:19 UTC]    Books columns count: 44
[20-Nov-2025 15:51:19 UTC]    Categories columns count: 7
[20-Nov-2025 15:51:19 UTC]    Language field in books: YES
[20-Nov-2025 15:51:19 UTC]    Format field in books: YES
[20-Nov-2025 15:51:19 UTC]    Description field in categories: YES
[20-Nov-2025 15:51:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:51:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:51:19 UTC]    Is_active field in books: YES
[20-Nov-2025 15:51:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:51:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:51:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:51:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:51:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:51:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:51:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:51:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 15:51:19 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 15:51:19 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 15:51:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:51:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:51:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:51:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:51:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:51:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:51:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:51:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:51:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:51:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:51:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:51:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:51:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:51:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:51:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:51:33 UTC] 📊 Database Info:
[20-Nov-2025 15:51:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:51:33 UTC]    Books columns count: 44
[20-Nov-2025 15:51:33 UTC]    Categories columns count: 7
[20-Nov-2025 15:51:33 UTC]    Language field in books: YES
[20-Nov-2025 15:51:33 UTC]    Format field in books: YES
[20-Nov-2025 15:51:33 UTC]    Description field in categories: YES
[20-Nov-2025 15:51:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:51:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:51:33 UTC]    Is_active field in books: YES
[20-Nov-2025 15:51:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:51:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:51:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:51:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:51:33 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:51:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:51:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:51:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:51:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:51:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:51:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:51:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:51:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:51:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:51:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:51:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:51:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:51:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:51:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:51:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:51:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:51:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:51:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:51:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:51:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:51:33 UTC] 📊 Database Info:
[20-Nov-2025 15:51:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:51:33 UTC]    Books columns count: 44
[20-Nov-2025 15:51:33 UTC]    Categories columns count: 7
[20-Nov-2025 15:51:33 UTC]    Language field in books: YES
[20-Nov-2025 15:51:33 UTC]    Format field in books: YES
[20-Nov-2025 15:51:33 UTC]    Description field in categories: YES
[20-Nov-2025 15:51:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:51:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:51:33 UTC]    Is_active field in books: YES
[20-Nov-2025 15:51:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:51:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:51:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:51:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:51:33 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:51:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:52:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:52:03 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:03 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:52:03 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:03 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:03 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:03 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:03 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:03 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:52:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:03 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:52:03 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:52:03 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:03 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:03 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:03 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:52:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:03 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:03 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:52:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:03 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:52:03 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:52:03 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:52:03 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:52:03 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:03 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:03 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:03 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:03 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:03 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:03 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:03 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:03 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:03 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:03 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:52:03 UTC] 📊 Database Info:
[20-Nov-2025 15:52:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:52:03 UTC]    Books columns count: 44
[20-Nov-2025 15:52:03 UTC]    Categories columns count: 7
[20-Nov-2025 15:52:03 UTC]    Language field in books: YES
[20-Nov-2025 15:52:03 UTC]    Format field in books: YES
[20-Nov-2025 15:52:03 UTC]    Description field in categories: YES
[20-Nov-2025 15:52:03 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:52:03 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:52:03 UTC]    Is_active field in books: YES
[20-Nov-2025 15:52:03 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:52:03 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:52:03 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:52:03 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:52:03 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:52:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:52:03 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 15:52:03 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 15:52:03 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:03 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:03 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:03 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:03 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:03 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:52:03 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:52:03 UTC] 📊 Database Info:
[20-Nov-2025 15:52:03 UTC] 📊 Database Info:
[20-Nov-2025 15:52:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:52:03 UTC]    Books columns count: 44
[20-Nov-2025 15:52:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:52:03 UTC]    Categories columns count: 7
[20-Nov-2025 15:52:03 UTC]    Books columns count: 44
[20-Nov-2025 15:52:03 UTC]    Categories columns count: 7
[20-Nov-2025 15:52:03 UTC]    Language field in books: YES
[20-Nov-2025 15:52:03 UTC]    Format field in books: YES
[20-Nov-2025 15:52:03 UTC]    Language field in books: YES
[20-Nov-2025 15:52:03 UTC]    Description field in categories: YES
[20-Nov-2025 15:52:03 UTC]    Format field in books: YES
[20-Nov-2025 15:52:03 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:52:03 UTC]    Description field in categories: YES
[20-Nov-2025 15:52:03 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:52:03 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:52:03 UTC]    Is_active field in books: YES
[20-Nov-2025 15:52:03 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:52:03 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:52:03 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:52:03 UTC]    Is_active field in books: YES
[20-Nov-2025 15:52:03 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:52:03 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:52:03 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:52:03 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:52:03 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:52:03 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:52:03 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:52:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:52:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:52:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:52:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 15:52:03 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 15:52:03 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 15:52:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:52:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:52:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:52:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:52:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:53 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:52:53 UTC] 📊 Database Info:
[20-Nov-2025 15:52:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:52:53 UTC]    Books columns count: 44
[20-Nov-2025 15:52:53 UTC]    Categories columns count: 7
[20-Nov-2025 15:52:53 UTC]    Language field in books: YES
[20-Nov-2025 15:52:53 UTC]    Format field in books: YES
[20-Nov-2025 15:52:53 UTC]    Description field in categories: YES
[20-Nov-2025 15:52:53 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:52:53 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:52:53 UTC]    Is_active field in books: YES
[20-Nov-2025 15:52:53 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:52:53 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:52:53 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:52:53 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:52:53 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:52:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:52:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:52:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:52:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:53 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:52:53 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:52:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:53 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:52:53 UTC] 📊 Database Info:
[20-Nov-2025 15:52:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:52:53 UTC]    Books columns count: 44
[20-Nov-2025 15:52:53 UTC]    Categories columns count: 7
[20-Nov-2025 15:52:53 UTC]    Language field in books: YES
[20-Nov-2025 15:52:53 UTC]    Format field in books: YES
[20-Nov-2025 15:52:53 UTC]    Description field in categories: YES
[20-Nov-2025 15:52:53 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:52:53 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:52:53 UTC]    Is_active field in books: YES
[20-Nov-2025 15:52:53 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:52:53 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:52:53 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:52:53 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:52:53 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:52:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:52:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:52:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:52:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:52:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:52:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:52:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:52:54 UTC] 📊 Database Info:
[20-Nov-2025 15:52:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:52:54 UTC]    Books columns count: 44
[20-Nov-2025 15:52:54 UTC]    Categories columns count: 7
[20-Nov-2025 15:52:54 UTC]    Language field in books: YES
[20-Nov-2025 15:52:54 UTC]    Format field in books: YES
[20-Nov-2025 15:52:54 UTC]    Description field in categories: YES
[20-Nov-2025 15:52:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:52:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:52:54 UTC]    Is_active field in books: YES
[20-Nov-2025 15:52:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:52:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:52:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:52:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:52:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:52:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:52:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:52:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:52:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:52:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:52:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:52:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:52:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:52:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:52:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:52:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:52:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:52:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:52:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:52:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:52:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:52:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:52:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:52:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:55 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:52:55 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:52:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:52:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:52:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:55 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:52:55 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:52:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:52:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:55 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:52:55 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:52:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:52:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:52:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:55 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:52:55 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:52:55 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:52:55 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:52:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:52:55 UTC] 📊 Database Info:
[20-Nov-2025 15:52:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:52:55 UTC]    Books columns count: 44
[20-Nov-2025 15:52:55 UTC]    Categories columns count: 7
[20-Nov-2025 15:52:55 UTC]    Language field in books: YES
[20-Nov-2025 15:52:55 UTC]    Format field in books: YES
[20-Nov-2025 15:52:55 UTC]    Description field in categories: YES
[20-Nov-2025 15:52:55 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:52:55 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:52:55 UTC]    Is_active field in books: YES
[20-Nov-2025 15:52:55 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:52:55 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:52:55 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:52:55 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:52:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:52:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:52:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:52:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:55 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:52:55 UTC] 📊 Database Info:
[20-Nov-2025 15:52:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:52:55 UTC]    Books columns count: 44
[20-Nov-2025 15:52:55 UTC]    Categories columns count: 7
[20-Nov-2025 15:52:55 UTC]    Language field in books: YES
[20-Nov-2025 15:52:55 UTC]    Format field in books: YES
[20-Nov-2025 15:52:55 UTC]    Description field in categories: YES
[20-Nov-2025 15:52:55 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:52:55 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:52:55 UTC]    Is_active field in books: YES
[20-Nov-2025 15:52:55 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:52:55 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:52:55 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:52:55 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:52:55 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:52:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:52:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:55 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:52:55 UTC] 📊 Database Info:
[20-Nov-2025 15:52:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:52:55 UTC]    Books columns count: 44
[20-Nov-2025 15:52:55 UTC]    Categories columns count: 7
[20-Nov-2025 15:52:55 UTC]    Language field in books: YES
[20-Nov-2025 15:52:55 UTC]    Format field in books: YES
[20-Nov-2025 15:52:55 UTC]    Description field in categories: YES
[20-Nov-2025 15:52:55 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:52:55 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:52:55 UTC]    Is_active field in books: YES
[20-Nov-2025 15:52:55 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:52:55 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:52:55 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:52:55 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:52:55 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:52:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:52:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:52:55 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:52:55 UTC] 📊 Database Info:
[20-Nov-2025 15:52:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:52:55 UTC]    Books columns count: 44
[20-Nov-2025 15:52:55 UTC]    Categories columns count: 7
[20-Nov-2025 15:52:55 UTC]    Language field in books: YES
[20-Nov-2025 15:52:55 UTC]    Format field in books: YES
[20-Nov-2025 15:52:55 UTC]    Description field in categories: YES
[20-Nov-2025 15:52:55 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:52:55 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:52:55 UTC]    Is_active field in books: YES
[20-Nov-2025 15:52:55 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:52:55 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:52:55 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:52:55 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:52:55 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:52:55 UTC] 📊 Database Info:
[20-Nov-2025 15:52:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:52:55 UTC]    Books columns count: 44
[20-Nov-2025 15:52:55 UTC]    Categories columns count: 7
[20-Nov-2025 15:52:55 UTC]    Language field in books: YES
[20-Nov-2025 15:52:55 UTC]    Format field in books: YES
[20-Nov-2025 15:52:55 UTC]    Description field in categories: YES
[20-Nov-2025 15:52:55 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:52:55 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:52:55 UTC]    Is_active field in books: YES
[20-Nov-2025 15:52:55 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:52:55 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:52:55 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:52:55 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:52:55 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:52:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:52:55 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:52:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:52:55 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 15:52:55 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 15:52:55 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 15:53:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:53:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:53:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:53:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:53:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:53:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:53:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:53:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:53:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:53:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:53:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:53:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:53:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:53:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:53:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:53:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:53:17 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:53:17 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:53:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:53:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:53:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:53:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:53:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:53:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:53:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:53:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:53:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:53:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:53:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:53:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:53:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:53:17 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:53:17 UTC] 📊 Database Info:
[20-Nov-2025 15:53:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:53:17 UTC]    Books columns count: 44
[20-Nov-2025 15:53:17 UTC]    Categories columns count: 7
[20-Nov-2025 15:53:17 UTC]    Language field in books: YES
[20-Nov-2025 15:53:17 UTC]    Format field in books: YES
[20-Nov-2025 15:53:17 UTC]    Description field in categories: YES
[20-Nov-2025 15:53:17 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:53:17 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:53:17 UTC]    Is_active field in books: YES
[20-Nov-2025 15:53:17 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:53:17 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:53:17 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:53:17 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:53:17 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:53:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:53:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:53:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:53:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:53:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:53:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:53:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:53:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:53:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:53:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:53:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:53:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:53:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:53:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:53:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:53:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:53:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:53:44 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:53:44 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:53:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:53:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:53:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:53:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:53:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:53:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:53:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:53:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:53:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:53:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:53:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:53:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:53:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:53:44 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:53:44 UTC] 📊 Database Info:
[20-Nov-2025 15:53:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:53:44 UTC]    Books columns count: 44
[20-Nov-2025 15:53:44 UTC]    Categories columns count: 7
[20-Nov-2025 15:53:44 UTC]    Language field in books: YES
[20-Nov-2025 15:53:44 UTC]    Format field in books: YES
[20-Nov-2025 15:53:44 UTC]    Description field in categories: YES
[20-Nov-2025 15:53:44 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:53:44 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:53:44 UTC]    Is_active field in books: YES
[20-Nov-2025 15:53:44 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:53:44 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:53:44 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:53:44 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:53:44 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:53:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:53:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:53:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:53:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:53:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:53:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:53:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:53:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:53:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:53:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:53:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:53:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:53:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:53:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:53:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:53:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:53:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:53:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:53:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:53:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:53:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:53:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:53:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:53:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:53:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:53:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:53:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:53:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:53:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:53:45 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:53:45 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:53:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:53:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:53:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:53:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:53:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:53:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:53:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:53:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:53:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:53:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:53:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:53:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:53:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:53:45 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:53:45 UTC] 📊 Database Info:
[20-Nov-2025 15:53:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:53:45 UTC]    Books columns count: 44
[20-Nov-2025 15:53:45 UTC]    Categories columns count: 7
[20-Nov-2025 15:53:45 UTC]    Language field in books: YES
[20-Nov-2025 15:53:45 UTC]    Format field in books: YES
[20-Nov-2025 15:53:45 UTC]    Description field in categories: YES
[20-Nov-2025 15:53:45 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:53:45 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:53:45 UTC]    Is_active field in books: YES
[20-Nov-2025 15:53:45 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:53:45 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:53:45 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:53:45 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:53:45 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:53:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:53:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:53:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:53:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:53:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:53:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:53:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:53:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:53:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:53:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:53:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:53:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:53:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:53:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:53:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:53:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:53:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:53:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:53:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:53:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:53:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:53:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:53:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:53:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:53:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:53:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:53:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:53:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:53:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:53:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:53:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:53:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:53:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:53:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:53:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:53:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:53:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:53:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:53:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:53:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:53:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:53:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:53:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:53:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:53:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:53:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:53:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:53:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:53:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:53:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:53:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:53:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:53:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:53:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:53:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:53:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:53:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:53:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:53:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:53:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:53:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:53:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:53:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:53:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:53:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:53:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:53:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:53:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:53:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:53:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:53:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:53:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:53:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:53:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:53:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:53:52 UTC] 📊 Database Info:
[20-Nov-2025 15:53:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:53:52 UTC]    Books columns count: 44
[20-Nov-2025 15:53:52 UTC]    Categories columns count: 7
[20-Nov-2025 15:53:52 UTC]    Language field in books: YES
[20-Nov-2025 15:53:52 UTC]    Format field in books: YES
[20-Nov-2025 15:53:52 UTC]    Description field in categories: YES
[20-Nov-2025 15:53:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:53:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:53:52 UTC]    Is_active field in books: YES
[20-Nov-2025 15:53:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:53:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:53:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:53:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:53:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:53:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:53:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:53:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:53:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:53:52 UTC] 📊 Database Info:
[20-Nov-2025 15:53:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:53:52 UTC]    Books columns count: 44
[20-Nov-2025 15:53:52 UTC]    Categories columns count: 7
[20-Nov-2025 15:53:52 UTC]    Language field in books: YES
[20-Nov-2025 15:53:52 UTC]    Format field in books: YES
[20-Nov-2025 15:53:52 UTC]    Description field in categories: YES
[20-Nov-2025 15:53:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:53:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:53:52 UTC]    Is_active field in books: YES
[20-Nov-2025 15:53:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:53:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:53:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:53:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:53:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:53:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:53:52 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 15:53:52 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 15:53:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:53:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:53:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:53:52 UTC] 📊 Database Info:
[20-Nov-2025 15:53:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:53:52 UTC]    Books columns count: 44
[20-Nov-2025 15:53:52 UTC]    Categories columns count: 7
[20-Nov-2025 15:53:52 UTC]    Language field in books: YES
[20-Nov-2025 15:53:52 UTC]    Format field in books: YES
[20-Nov-2025 15:53:52 UTC]    Description field in categories: YES
[20-Nov-2025 15:53:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:53:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:53:52 UTC]    Is_active field in books: YES
[20-Nov-2025 15:53:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:53:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:53:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:53:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:53:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:53:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:53:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:53:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:53:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:53:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:53:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:53:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:53:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:53:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:53:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:53:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:53:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:53:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:53:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:53:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:53:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:53:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:53:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:53:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:53:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:53:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:53:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:53:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:53:53 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:53:53 UTC] 📊 Database Info:
[20-Nov-2025 15:53:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:53:53 UTC]    Books columns count: 44
[20-Nov-2025 15:53:53 UTC]    Categories columns count: 7
[20-Nov-2025 15:53:53 UTC]    Language field in books: YES
[20-Nov-2025 15:53:53 UTC]    Format field in books: YES
[20-Nov-2025 15:53:53 UTC]    Description field in categories: YES
[20-Nov-2025 15:53:53 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:53:53 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:53:53 UTC]    Is_active field in books: YES
[20-Nov-2025 15:53:53 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:53:53 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:53:53 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:53:53 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:53:53 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:53:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:55:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:55:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:55:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:09 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:55:09 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:55:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:09 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:55:09 UTC] 📊 Database Info:
[20-Nov-2025 15:55:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:55:09 UTC]    Books columns count: 44
[20-Nov-2025 15:55:09 UTC]    Categories columns count: 7
[20-Nov-2025 15:55:09 UTC]    Language field in books: YES
[20-Nov-2025 15:55:09 UTC]    Format field in books: YES
[20-Nov-2025 15:55:09 UTC]    Description field in categories: YES
[20-Nov-2025 15:55:09 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:55:09 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:55:09 UTC]    Is_active field in books: YES
[20-Nov-2025 15:55:09 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:55:09 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:55:09 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:55:09 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:55:09 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:55:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:55:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:55:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:55:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:55:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:55:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:55:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:55:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:55:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:55:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:55:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:55:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:55:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:55:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:55:10 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:10 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:10 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:10 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:10 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:10 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:10 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:10 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:10 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:10 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:10 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:10 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:55:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:10 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:55:10 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:55:10 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:10 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:10 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:10 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:10 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:10 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:10 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:10 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:10 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:10 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:10 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:10 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:10 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:10 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:55:10 UTC] 📊 Database Info:
[20-Nov-2025 15:55:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:55:10 UTC]    Books columns count: 44
[20-Nov-2025 15:55:10 UTC]    Categories columns count: 7
[20-Nov-2025 15:55:10 UTC]    Language field in books: YES
[20-Nov-2025 15:55:10 UTC]    Format field in books: YES
[20-Nov-2025 15:55:10 UTC]    Description field in categories: YES
[20-Nov-2025 15:55:10 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:55:10 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:55:10 UTC]    Is_active field in books: YES
[20-Nov-2025 15:55:10 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:55:10 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:55:10 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:55:10 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:55:10 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:55:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:55:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:55:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:55:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:55:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:55:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:55:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:55:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:55:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:55:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:55:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:55:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:55:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:55:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:55:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:55:23 UTC] 📊 Database Info:
[20-Nov-2025 15:55:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:55:23 UTC]    Books columns count: 44
[20-Nov-2025 15:55:23 UTC]    Categories columns count: 7
[20-Nov-2025 15:55:23 UTC]    Language field in books: YES
[20-Nov-2025 15:55:23 UTC]    Format field in books: YES
[20-Nov-2025 15:55:23 UTC]    Description field in categories: YES
[20-Nov-2025 15:55:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:55:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:55:23 UTC]    Is_active field in books: YES
[20-Nov-2025 15:55:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:55:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:55:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:55:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:55:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:55:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:55:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:55:23 UTC] 📊 Database Info:
[20-Nov-2025 15:55:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:55:23 UTC]    Books columns count: 44
[20-Nov-2025 15:55:23 UTC]    Categories columns count: 7
[20-Nov-2025 15:55:23 UTC]    Language field in books: YES
[20-Nov-2025 15:55:23 UTC]    Format field in books: YES
[20-Nov-2025 15:55:23 UTC]    Description field in categories: YES
[20-Nov-2025 15:55:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:55:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:55:23 UTC]    Is_active field in books: YES
[20-Nov-2025 15:55:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:55:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:55:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:55:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:55:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:55:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:55:23 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 15:55:23 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 15:55:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:55:23 UTC] 📊 Database Info:
[20-Nov-2025 15:55:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:55:23 UTC]    Books columns count: 44
[20-Nov-2025 15:55:23 UTC]    Categories columns count: 7
[20-Nov-2025 15:55:23 UTC]    Language field in books: YES
[20-Nov-2025 15:55:23 UTC]    Format field in books: YES
[20-Nov-2025 15:55:23 UTC]    Description field in categories: YES
[20-Nov-2025 15:55:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:55:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:55:23 UTC]    Is_active field in books: YES
[20-Nov-2025 15:55:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:55:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:55:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:55:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:55:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:55:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:55:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:55:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:55:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:24 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:55:24 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:55:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:24 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:55:24 UTC] 📊 Database Info:
[20-Nov-2025 15:55:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:55:24 UTC]    Books columns count: 44
[20-Nov-2025 15:55:24 UTC]    Categories columns count: 7
[20-Nov-2025 15:55:24 UTC]    Language field in books: YES
[20-Nov-2025 15:55:24 UTC]    Format field in books: YES
[20-Nov-2025 15:55:24 UTC]    Description field in categories: YES
[20-Nov-2025 15:55:24 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:55:24 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:55:24 UTC]    Is_active field in books: YES
[20-Nov-2025 15:55:24 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:55:24 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:55:24 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:55:24 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:55:24 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:55:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:55:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:55:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:55:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:55:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:55:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:55:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:55:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:55:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:55:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:55:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:55:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:55:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:55:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:55:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:55:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:38 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:55:38 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:55:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:38 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:55:38 UTC] 📊 Database Info:
[20-Nov-2025 15:55:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:55:38 UTC]    Books columns count: 44
[20-Nov-2025 15:55:38 UTC]    Categories columns count: 7
[20-Nov-2025 15:55:38 UTC]    Language field in books: YES
[20-Nov-2025 15:55:38 UTC]    Format field in books: YES
[20-Nov-2025 15:55:38 UTC]    Description field in categories: YES
[20-Nov-2025 15:55:38 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:55:38 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:55:38 UTC]    Is_active field in books: YES
[20-Nov-2025 15:55:38 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:55:38 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:55:38 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:55:38 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:55:38 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:55:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:55:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:55:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:55:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:55:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:55:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:55:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:55:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:55:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:55:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:55:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:55:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:55:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:55:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:55:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:55:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:55:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:55:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:55:39 UTC] 📊 Database Info:
[20-Nov-2025 15:55:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:55:39 UTC]    Books columns count: 44
[20-Nov-2025 15:55:39 UTC]    Categories columns count: 7
[20-Nov-2025 15:55:39 UTC]    Language field in books: YES
[20-Nov-2025 15:55:39 UTC]    Format field in books: YES
[20-Nov-2025 15:55:39 UTC]    Description field in categories: YES
[20-Nov-2025 15:55:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:55:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:55:39 UTC]    Is_active field in books: YES
[20-Nov-2025 15:55:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:55:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:55:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:55:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:55:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:55:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:55:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:55:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:55:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:55:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:55:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:55:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:55:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:55:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:55:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:55:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:55:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:55:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:55:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:55:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:43 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:43 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:43 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:43 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:43 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:55:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:43 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:55:43 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:55:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:43 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:43 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:43 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:43 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:43 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:43 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:55:43 UTC] 📊 Database Info:
[20-Nov-2025 15:55:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:55:43 UTC]    Books columns count: 44
[20-Nov-2025 15:55:43 UTC]    Categories columns count: 7
[20-Nov-2025 15:55:43 UTC]    Language field in books: YES
[20-Nov-2025 15:55:43 UTC]    Format field in books: YES
[20-Nov-2025 15:55:43 UTC]    Description field in categories: YES
[20-Nov-2025 15:55:43 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:55:43 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:55:43 UTC]    Is_active field in books: YES
[20-Nov-2025 15:55:43 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:55:43 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:55:43 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:55:43 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:55:43 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:55:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:55:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:55:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:55:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:55:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:55:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:45 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:55:45 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:55:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:55:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:45 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:55:45 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:55:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:45 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:55:45 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:55:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:55:45 UTC] 📊 Database Info:
[20-Nov-2025 15:55:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:55:45 UTC]    Books columns count: 44
[20-Nov-2025 15:55:45 UTC]    Categories columns count: 7
[20-Nov-2025 15:55:45 UTC]    Language field in books: YES
[20-Nov-2025 15:55:45 UTC]    Format field in books: YES
[20-Nov-2025 15:55:45 UTC]    Description field in categories: YES
[20-Nov-2025 15:55:45 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:55:45 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:55:45 UTC]    Is_active field in books: YES
[20-Nov-2025 15:55:45 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:55:45 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:55:45 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:55:45 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:55:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:55:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:45 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 15:55:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:45 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:45 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:55:45 UTC] 📊 Database Info:
[20-Nov-2025 15:55:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:55:45 UTC]    Books columns count: 44
[20-Nov-2025 15:55:45 UTC]    Categories columns count: 7
[20-Nov-2025 15:55:45 UTC]    Language field in books: YES
[20-Nov-2025 15:55:45 UTC]    Format field in books: YES
[20-Nov-2025 15:55:45 UTC]    Description field in categories: YES
[20-Nov-2025 15:55:45 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:55:45 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:55:45 UTC]    Is_active field in books: YES
[20-Nov-2025 15:55:45 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:55:45 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:55:45 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:55:45 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:55:45 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:55:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:55:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:45 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:55:45 UTC] 📊 Database Info:
[20-Nov-2025 15:55:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:55:45 UTC]    Books columns count: 44
[20-Nov-2025 15:55:45 UTC]    Categories columns count: 7
[20-Nov-2025 15:55:45 UTC]    Language field in books: YES
[20-Nov-2025 15:55:45 UTC]    Format field in books: YES
[20-Nov-2025 15:55:45 UTC]    Description field in categories: YES
[20-Nov-2025 15:55:45 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:55:45 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:55:45 UTC]    Is_active field in books: YES
[20-Nov-2025 15:55:45 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:55:45 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:55:45 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:55:45 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:55:45 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:55:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:55:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:55:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:55:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:55:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:55:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:55:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:55:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:55:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:55:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:55:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:55:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:55:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:55:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:55:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:55:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:55:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:55:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:55:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:55:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:55:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:55:46 UTC] 📊 Database Info:
[20-Nov-2025 15:55:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:55:46 UTC]    Books columns count: 44
[20-Nov-2025 15:55:46 UTC]    Categories columns count: 7
[20-Nov-2025 15:55:46 UTC]    Language field in books: YES
[20-Nov-2025 15:55:46 UTC]    Format field in books: YES
[20-Nov-2025 15:55:46 UTC]    Description field in categories: YES
[20-Nov-2025 15:55:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:55:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:55:46 UTC]    Is_active field in books: YES
[20-Nov-2025 15:55:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:55:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:55:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:55:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:55:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:55:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:55:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:55:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:55:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:55:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:55:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:55:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:55:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:55:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:55:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:55:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:55:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:55:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:57:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:57:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:57:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:57:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:57:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:57:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:57:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:57:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:57:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:57:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:57:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:57:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:57:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:57:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:57:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:57:58 UTC] 📊 Database Info:
[20-Nov-2025 15:57:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:57:58 UTC]    Books columns count: 44
[20-Nov-2025 15:57:58 UTC]    Categories columns count: 7
[20-Nov-2025 15:57:58 UTC]    Language field in books: YES
[20-Nov-2025 15:57:58 UTC]    Format field in books: YES
[20-Nov-2025 15:57:58 UTC]    Description field in categories: YES
[20-Nov-2025 15:57:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:57:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:57:58 UTC]    Is_active field in books: YES
[20-Nov-2025 15:57:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:57:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:57:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:57:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:57:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:57:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:57:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:57:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:57:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:57:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:57:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:57:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:57:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:57:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:57:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:57:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:57:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:57:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:57:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:57:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:57:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:57:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:57:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:57:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:57:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:57:58 UTC] 📊 Database Info:
[20-Nov-2025 15:57:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:57:58 UTC]    Books columns count: 44
[20-Nov-2025 15:57:58 UTC]    Categories columns count: 7
[20-Nov-2025 15:57:58 UTC]    Language field in books: YES
[20-Nov-2025 15:57:58 UTC]    Format field in books: YES
[20-Nov-2025 15:57:58 UTC]    Description field in categories: YES
[20-Nov-2025 15:57:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:57:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:57:58 UTC]    Is_active field in books: YES
[20-Nov-2025 15:57:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:57:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:57:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:57:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:57:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:57:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:58:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:58:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:58:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:58:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:58:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:58:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:58:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:58:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:58:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:58:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:58:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:58:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:58:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:58:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:58:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:58:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:58:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:58:15 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:58:15 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:58:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:58:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:58:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:58:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:58:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:58:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:58:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:58:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:58:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:58:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:58:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:58:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:58:15 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:58:15 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:58:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:58:15 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:58:15 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:58:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:58:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:58:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:58:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:58:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:58:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:58:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:58:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:58:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:58:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:58:15 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:58:15 UTC] 📊 Database Info:
[20-Nov-2025 15:58:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:58:15 UTC]    Books columns count: 44
[20-Nov-2025 15:58:15 UTC]    Categories columns count: 7
[20-Nov-2025 15:58:15 UTC]    Language field in books: YES
[20-Nov-2025 15:58:15 UTC]    Format field in books: YES
[20-Nov-2025 15:58:15 UTC]    Description field in categories: YES
[20-Nov-2025 15:58:15 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:58:15 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:58:15 UTC]    Is_active field in books: YES
[20-Nov-2025 15:58:15 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:58:15 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:58:15 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:58:15 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:58:15 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:58:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:58:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:58:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:58:15 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:58:15 UTC] 📊 Database Info:
[20-Nov-2025 15:58:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:58:15 UTC]    Books columns count: 44
[20-Nov-2025 15:58:15 UTC]    Categories columns count: 7
[20-Nov-2025 15:58:15 UTC]    Language field in books: YES
[20-Nov-2025 15:58:15 UTC]    Format field in books: YES
[20-Nov-2025 15:58:15 UTC]    Description field in categories: YES
[20-Nov-2025 15:58:15 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:58:15 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:58:15 UTC]    Is_active field in books: YES
[20-Nov-2025 15:58:15 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:58:15 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:58:15 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:58:15 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:58:15 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:58:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:58:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:58:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:58:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:58:15 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:58:15 UTC] 📊 Database Info:
[20-Nov-2025 15:58:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:58:15 UTC]    Books columns count: 44
[20-Nov-2025 15:58:15 UTC]    Categories columns count: 7
[20-Nov-2025 15:58:15 UTC]    Language field in books: YES
[20-Nov-2025 15:58:15 UTC]    Format field in books: YES
[20-Nov-2025 15:58:15 UTC]    Description field in categories: YES
[20-Nov-2025 15:58:15 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:58:15 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:58:15 UTC]    Is_active field in books: YES
[20-Nov-2025 15:58:15 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:58:15 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:58:15 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:58:15 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:58:15 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:58:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:58:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:58:15 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 15:58:15 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 15:58:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:58:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:58:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:58:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:58:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:58:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:58:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:58:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:58:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:58:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:58:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:58:17 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:58:17 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:58:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:58:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:58:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:58:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:58:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:58:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:58:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:58:17 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:58:17 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:58:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:58:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:58:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:58:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:58:17 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:58:17 UTC] 📊 Database Info:
[20-Nov-2025 15:58:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:58:17 UTC]    Books columns count: 44
[20-Nov-2025 15:58:17 UTC]    Categories columns count: 7
[20-Nov-2025 15:58:17 UTC]    Language field in books: YES
[20-Nov-2025 15:58:17 UTC]    Format field in books: YES
[20-Nov-2025 15:58:17 UTC]    Description field in categories: YES
[20-Nov-2025 15:58:17 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:58:17 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:58:17 UTC]    Is_active field in books: YES
[20-Nov-2025 15:58:17 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:58:17 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:58:17 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:58:17 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:58:17 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:58:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:58:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:58:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:58:17 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:58:17 UTC] 📊 Database Info:
[20-Nov-2025 15:58:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:58:17 UTC]    Books columns count: 44
[20-Nov-2025 15:58:17 UTC]    Categories columns count: 7
[20-Nov-2025 15:58:17 UTC]    Language field in books: YES
[20-Nov-2025 15:58:17 UTC]    Format field in books: YES
[20-Nov-2025 15:58:17 UTC]    Description field in categories: YES
[20-Nov-2025 15:58:17 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:58:17 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:58:17 UTC]    Is_active field in books: YES
[20-Nov-2025 15:58:17 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:58:17 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:58:17 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:58:17 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:58:17 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:58:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:58:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:58:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:58:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:58:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:58:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:58:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:58:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:58:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:58:17 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:58:17 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:58:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:58:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:58:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:58:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:58:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:58:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:58:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:58:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:58:17 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:58:17 UTC] 📊 Database Info:
[20-Nov-2025 15:58:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:58:17 UTC]    Books columns count: 44
[20-Nov-2025 15:58:17 UTC]    Categories columns count: 7
[20-Nov-2025 15:58:17 UTC]    Language field in books: YES
[20-Nov-2025 15:58:17 UTC]    Format field in books: YES
[20-Nov-2025 15:58:17 UTC]    Description field in categories: YES
[20-Nov-2025 15:58:17 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:58:17 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:58:17 UTC]    Is_active field in books: YES
[20-Nov-2025 15:58:17 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:58:17 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:58:17 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:58:17 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:58:17 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:58:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:58:17 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 15:58:17 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 15:58:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:58:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:58:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:58:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:58:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:58:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:58:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:58:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:58:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:58:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:58:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:58:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:58:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:58:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:58:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:58:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:58:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:58:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:58:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:58:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:58:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:58:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:58:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:58:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:58:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:58:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:58:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:58:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:58:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:58:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:58:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:58:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:58:18 UTC] 📊 Database Info:
[20-Nov-2025 15:58:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:58:18 UTC]    Books columns count: 44
[20-Nov-2025 15:58:18 UTC]    Categories columns count: 7
[20-Nov-2025 15:58:18 UTC]    Language field in books: YES
[20-Nov-2025 15:58:18 UTC]    Format field in books: YES
[20-Nov-2025 15:58:18 UTC]    Description field in categories: YES
[20-Nov-2025 15:58:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:58:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:58:18 UTC]    Is_active field in books: YES
[20-Nov-2025 15:58:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:58:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:58:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:58:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:58:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:58:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:58:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:58:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:58:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:58:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:58:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:58:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:58:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:58:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:58:55 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:58:55 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:58:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:58:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:58:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:58:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:58:55 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:58:55 UTC] 📊 Database Info:
[20-Nov-2025 15:58:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:58:55 UTC]    Books columns count: 44
[20-Nov-2025 15:58:55 UTC]    Categories columns count: 7
[20-Nov-2025 15:58:55 UTC]    Language field in books: YES
[20-Nov-2025 15:58:55 UTC]    Format field in books: YES
[20-Nov-2025 15:58:55 UTC]    Description field in categories: YES
[20-Nov-2025 15:58:55 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:58:55 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:58:55 UTC]    Is_active field in books: YES
[20-Nov-2025 15:58:55 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:58:55 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:58:55 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:58:55 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:58:55 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:58:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 15:58:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 15:58:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:58:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:58:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:58:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:58:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 15:58:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:58:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 15:58:55 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 15:58:55 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 15:58:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 15:58:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 15:58:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 15:58:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 15:58:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 15:58:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 15:58:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 15:58:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 15:58:55 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 15:58:55 UTC] 📊 Database Info:
[20-Nov-2025 15:58:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 15:58:55 UTC]    Books columns count: 44
[20-Nov-2025 15:58:55 UTC]    Categories columns count: 7
[20-Nov-2025 15:58:55 UTC]    Language field in books: YES
[20-Nov-2025 15:58:55 UTC]    Format field in books: YES
[20-Nov-2025 15:58:55 UTC]    Description field in categories: YES
[20-Nov-2025 15:58:55 UTC]    Display_order field in categories: YES
[20-Nov-2025 15:58:55 UTC]    Is_active field in categories: YES
[20-Nov-2025 15:58:55 UTC]    Is_active field in books: YES
[20-Nov-2025 15:58:55 UTC]    External_download_link field in books: YES
[20-Nov-2025 15:58:55 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 15:58:55 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 15:58:55 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 15:58:55 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 15:58:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 15:58:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:00:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:00:05 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:00:05 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:00:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:00:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:00:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:00:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:00:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:00:05 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:00:05 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:00:05 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:00:05 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:00:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:00:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:00:05 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:00:05 UTC] 📊 Database Info:
[20-Nov-2025 16:00:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:00:05 UTC]    Books columns count: 44
[20-Nov-2025 16:00:05 UTC]    Categories columns count: 7
[20-Nov-2025 16:00:05 UTC]    Language field in books: YES
[20-Nov-2025 16:00:05 UTC]    Format field in books: YES
[20-Nov-2025 16:00:05 UTC]    Description field in categories: YES
[20-Nov-2025 16:00:05 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:00:05 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:00:05 UTC]    Is_active field in books: YES
[20-Nov-2025 16:00:05 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:00:05 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:00:05 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:00:05 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:00:05 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:00:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:00:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:00:05 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:00:05 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:00:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:00:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:00:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:00:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:00:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:00:05 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:00:05 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:00:05 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:00:05 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:00:05 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:00:05 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:00:05 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:00:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:00:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:00:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:00:05 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:00:05 UTC] 📊 Database Info:
[20-Nov-2025 16:00:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:00:05 UTC]    Books columns count: 44
[20-Nov-2025 16:00:05 UTC]    Categories columns count: 7
[20-Nov-2025 16:00:05 UTC]    Language field in books: YES
[20-Nov-2025 16:00:05 UTC]    Format field in books: YES
[20-Nov-2025 16:00:05 UTC]    Description field in categories: YES
[20-Nov-2025 16:00:05 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:00:05 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:00:05 UTC]    Is_active field in books: YES
[20-Nov-2025 16:00:05 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:00:05 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:00:05 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:00:05 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:00:05 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:00:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:00:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:00:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:00:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:00:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:00:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:00:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:00:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:00:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:00:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:00:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:00:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:00:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:00:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:00:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:00:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:00:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:00:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:00:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:00:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:00:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:00:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:00:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:00:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:00:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:00:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:00:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:00:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:00:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:00:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:00:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:00:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:00:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:00:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:00:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:00:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:00:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:00:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:00:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:00:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:00:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:00:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:00:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:00:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:00:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:00:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:00:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:00:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:00:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:00:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:00:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:00:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:00:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:00:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:00:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:00:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:00:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:00:14 UTC] 📊 Database Info:
[20-Nov-2025 16:00:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:00:14 UTC]    Books columns count: 44
[20-Nov-2025 16:00:14 UTC]    Categories columns count: 7
[20-Nov-2025 16:00:14 UTC]    Language field in books: YES
[20-Nov-2025 16:00:14 UTC]    Format field in books: YES
[20-Nov-2025 16:00:14 UTC]    Description field in categories: YES
[20-Nov-2025 16:00:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:00:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:00:14 UTC]    Is_active field in books: YES
[20-Nov-2025 16:00:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:00:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:00:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:00:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:00:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:00:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:00:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:00:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:00:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:00:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:00:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:00:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:00:14 UTC] 📊 Database Info:
[20-Nov-2025 16:00:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:00:14 UTC]    Books columns count: 44
[20-Nov-2025 16:00:14 UTC]    Categories columns count: 7
[20-Nov-2025 16:00:14 UTC]    Language field in books: YES
[20-Nov-2025 16:00:14 UTC]    Format field in books: YES
[20-Nov-2025 16:00:14 UTC]    Description field in categories: YES
[20-Nov-2025 16:00:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:00:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:00:14 UTC]    Is_active field in books: YES
[20-Nov-2025 16:00:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:00:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:00:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:00:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:00:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:00:14 UTC] 📊 Database Info:
[20-Nov-2025 16:00:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:00:14 UTC]    Books columns count: 44
[20-Nov-2025 16:00:14 UTC]    Categories columns count: 7
[20-Nov-2025 16:00:14 UTC]    Language field in books: YES
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:00:14 UTC]    Format field in books: YES
[20-Nov-2025 16:00:14 UTC]    Description field in categories: YES
[20-Nov-2025 16:00:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:00:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:00:14 UTC]    Is_active field in books: YES
[20-Nov-2025 16:00:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:00:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:00:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:00:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:00:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:00:14 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 16:00:14 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 16:00:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:00:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:00:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:00:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:00:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:00:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:00:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:00:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:00:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:00:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:00:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:00:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:00:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:00:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:00:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:00:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:00:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:00:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:00:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:00:15 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:00:15 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:00:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:00:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:00:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:00:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:00:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:00:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:00:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:00:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:00:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:00:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:00:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:00:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:00:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:00:15 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:00:15 UTC] 📊 Database Info:
[20-Nov-2025 16:00:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:00:15 UTC]    Books columns count: 44
[20-Nov-2025 16:00:15 UTC]    Categories columns count: 7
[20-Nov-2025 16:00:15 UTC]    Language field in books: YES
[20-Nov-2025 16:00:15 UTC]    Format field in books: YES
[20-Nov-2025 16:00:15 UTC]    Description field in categories: YES
[20-Nov-2025 16:00:15 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:00:15 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:00:15 UTC]    Is_active field in books: YES
[20-Nov-2025 16:00:15 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:00:15 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:00:15 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:00:15 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:00:15 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:00:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:00:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:00:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:00:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:00:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:00:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:00:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:00:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:00:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:00:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:00:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:00:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:00:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:02:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:02:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:02:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:02:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:02:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:02:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:02:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:02:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:02:15 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:02:15 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:02:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:02:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:02:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:02:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:02:15 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:02:15 UTC] 📊 Database Info:
[20-Nov-2025 16:02:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:02:15 UTC]    Books columns count: 44
[20-Nov-2025 16:02:15 UTC]    Categories columns count: 7
[20-Nov-2025 16:02:15 UTC]    Language field in books: YES
[20-Nov-2025 16:02:15 UTC]    Format field in books: YES
[20-Nov-2025 16:02:15 UTC]    Description field in categories: YES
[20-Nov-2025 16:02:15 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:02:15 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:02:15 UTC]    Is_active field in books: YES
[20-Nov-2025 16:02:15 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:02:15 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:02:15 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:02:15 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:02:15 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:02:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:02:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:02:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:02:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:02:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:02:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:02:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:02:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:02:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:02:15 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:02:15 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:02:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:02:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:02:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:02:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:02:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:02:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:02:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:02:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:02:15 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:02:15 UTC] 📊 Database Info:
[20-Nov-2025 16:02:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:02:15 UTC]    Books columns count: 44
[20-Nov-2025 16:02:15 UTC]    Categories columns count: 7
[20-Nov-2025 16:02:15 UTC]    Language field in books: YES
[20-Nov-2025 16:02:15 UTC]    Format field in books: YES
[20-Nov-2025 16:02:15 UTC]    Description field in categories: YES
[20-Nov-2025 16:02:15 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:02:15 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:02:15 UTC]    Is_active field in books: YES
[20-Nov-2025 16:02:15 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:02:15 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:02:15 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:02:15 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:02:15 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:02:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:02:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:02:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:02:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:02:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:02:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:02:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:02:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:02:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:02:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:02:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:02:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:02:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:02:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:02:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:02:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:02:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:02:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:02:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:02:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:02:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:02:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:02:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:02:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:02:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:02:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:02:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:02:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:02:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:02:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:02:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:02:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:02:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:02:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:02:19 UTC] 📊 Database Info:
[20-Nov-2025 16:02:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:02:19 UTC]    Books columns count: 44
[20-Nov-2025 16:02:19 UTC]    Categories columns count: 7
[20-Nov-2025 16:02:19 UTC]    Language field in books: YES
[20-Nov-2025 16:02:19 UTC]    Format field in books: YES
[20-Nov-2025 16:02:19 UTC]    Description field in categories: YES
[20-Nov-2025 16:02:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:02:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:02:19 UTC]    Is_active field in books: YES
[20-Nov-2025 16:02:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:02:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:02:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:02:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:02:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:02:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:02:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:02:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:02:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:02:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:02:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:02:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:02:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:02:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:02:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:02:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:02:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:02:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:03:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:03:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:03:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:03:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:03:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:03:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:03:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:03:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:03:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:03:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:03:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:03:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:03:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:03:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:03:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:03:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:03:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:03:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:03:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:03:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:03:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:03:23 UTC] 📊 Database Info:
[20-Nov-2025 16:03:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:03:23 UTC]    Books columns count: 44
[20-Nov-2025 16:03:23 UTC]    Categories columns count: 7
[20-Nov-2025 16:03:23 UTC]    Language field in books: YES
[20-Nov-2025 16:03:23 UTC]    Format field in books: YES
[20-Nov-2025 16:03:23 UTC]    Description field in categories: YES
[20-Nov-2025 16:03:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:03:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:03:23 UTC]    Is_active field in books: YES
[20-Nov-2025 16:03:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:03:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:03:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:03:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:03:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:03:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:03:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:03:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:03:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:03:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:03:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:03:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:03:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:03:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:03:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:03:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:03:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:03:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:03:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:03:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:03:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:03:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:03:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:03:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:03:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:03:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:03:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:03:23 UTC] 📊 Database Info:
[20-Nov-2025 16:03:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:03:23 UTC]    Books columns count: 44
[20-Nov-2025 16:03:23 UTC]    Categories columns count: 7
[20-Nov-2025 16:03:23 UTC]    Language field in books: YES
[20-Nov-2025 16:03:23 UTC]    Format field in books: YES
[20-Nov-2025 16:03:23 UTC]    Description field in categories: YES
[20-Nov-2025 16:03:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:03:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:03:23 UTC]    Is_active field in books: YES
[20-Nov-2025 16:03:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:03:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:03:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:03:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:03:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:03:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:03:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:03:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:03:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:03:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:03:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:03:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:03:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:03:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:03:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:03:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:03:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:03:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:03:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:03:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:03:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:03:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:03:28 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:03:28 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:03:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:03:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:03:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:03:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:03:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:03:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:03:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:03:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:03:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:03:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:03:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:03:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:03:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:03:28 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:03:28 UTC] 📊 Database Info:
[20-Nov-2025 16:03:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:03:28 UTC]    Books columns count: 44
[20-Nov-2025 16:03:28 UTC]    Categories columns count: 7
[20-Nov-2025 16:03:28 UTC]    Language field in books: YES
[20-Nov-2025 16:03:28 UTC]    Format field in books: YES
[20-Nov-2025 16:03:28 UTC]    Description field in categories: YES
[20-Nov-2025 16:03:28 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:03:28 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:03:28 UTC]    Is_active field in books: YES
[20-Nov-2025 16:03:28 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:03:28 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:03:28 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:03:28 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:03:28 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:03:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:05:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:05:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:05:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:05:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:05:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:05:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:05:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:05:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:05:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:05:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:05:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:05:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:05:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:05:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:05:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:05:12 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:05:12 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:05:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:05:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:05:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:05:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:05:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:05:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:05:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:05:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:05:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:05:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:05:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:05:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:05:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:05:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:05:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:05:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:05:12 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:05:12 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:05:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:05:12 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:05:12 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:05:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:05:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:05:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:05:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:05:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:05:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:05:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:05:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:05:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:05:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:05:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:05:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:05:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:05:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:05:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:05:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:05:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:05:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:05:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:05:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:05:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:05:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:05:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:05:13 UTC] 📊 Database Info:
[20-Nov-2025 16:05:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:05:13 UTC]    Books columns count: 44
[20-Nov-2025 16:05:13 UTC]    Categories columns count: 7
[20-Nov-2025 16:05:13 UTC]    Language field in books: YES
[20-Nov-2025 16:05:13 UTC]    Format field in books: YES
[20-Nov-2025 16:05:13 UTC]    Description field in categories: YES
[20-Nov-2025 16:05:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:05:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:05:13 UTC]    Is_active field in books: YES
[20-Nov-2025 16:05:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:05:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:05:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:05:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:05:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:05:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:05:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:05:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:05:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:05:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:05:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:05:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:05:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:05:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:05:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:05:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:05:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:05:13 UTC] 📊 Database Info:
[20-Nov-2025 16:05:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:05:13 UTC]    Books columns count: 44
[20-Nov-2025 16:05:13 UTC]    Categories columns count: 7
[20-Nov-2025 16:05:13 UTC]    Language field in books: YES
[20-Nov-2025 16:05:13 UTC]    Format field in books: YES
[20-Nov-2025 16:05:13 UTC]    Description field in categories: YES
[20-Nov-2025 16:05:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:05:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:05:13 UTC]    Is_active field in books: YES
[20-Nov-2025 16:05:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:05:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:05:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:05:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:05:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:05:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:05:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:05:13 UTC] 📊 Database Info:
[20-Nov-2025 16:05:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:05:13 UTC]    Books columns count: 44
[20-Nov-2025 16:05:13 UTC]    Categories columns count: 7
[20-Nov-2025 16:05:13 UTC]    Language field in books: YES
[20-Nov-2025 16:05:13 UTC]    Format field in books: YES
[20-Nov-2025 16:05:13 UTC]    Description field in categories: YES
[20-Nov-2025 16:05:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:05:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:05:13 UTC]    Is_active field in books: YES
[20-Nov-2025 16:05:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:05:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:05:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:05:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:05:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:05:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:05:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:05:13 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 16:05:13 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 16:05:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:05:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:05:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:05:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:05:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:05:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:05:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:05:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:05:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:05:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:05:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:05:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:05:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:05:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:05:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:05:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:05:56 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:05:56 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:05:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:05:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:05:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:05:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:05:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:05:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:05:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:05:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:05:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:05:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:05:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:05:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:05:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:05:56 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:05:56 UTC] 📊 Database Info:
[20-Nov-2025 16:05:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:05:56 UTC]    Books columns count: 44
[20-Nov-2025 16:05:56 UTC]    Categories columns count: 7
[20-Nov-2025 16:05:56 UTC]    Language field in books: YES
[20-Nov-2025 16:05:56 UTC]    Format field in books: YES
[20-Nov-2025 16:05:56 UTC]    Description field in categories: YES
[20-Nov-2025 16:05:56 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:05:56 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:05:56 UTC]    Is_active field in books: YES
[20-Nov-2025 16:05:56 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:05:56 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:05:56 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:05:56 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:05:56 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:05:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:05:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:05:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:05:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:05:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:05:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:05:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:05:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:05:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:05:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:05:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:05:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:05:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:05:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:05:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:05:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:05:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:05:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:05:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:05:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:05:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:05:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:05:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:05:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:05:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:05:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:05:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:05:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:05:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:05:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:05:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:05:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:05:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:05:57 UTC] 📊 Database Info:
[20-Nov-2025 16:05:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:05:57 UTC]    Books columns count: 44
[20-Nov-2025 16:05:57 UTC]    Categories columns count: 7
[20-Nov-2025 16:05:57 UTC]    Language field in books: YES
[20-Nov-2025 16:05:57 UTC]    Format field in books: YES
[20-Nov-2025 16:05:57 UTC]    Description field in categories: YES
[20-Nov-2025 16:05:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:05:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:05:57 UTC]    Is_active field in books: YES
[20-Nov-2025 16:05:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:05:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:05:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:05:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:05:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:05:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:05:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:05:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:05:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:05:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:05:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:05:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:05:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:05:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:05:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:05:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:05:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:05:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:06:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:06:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:06:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:04 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:06:04 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:06:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:06:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:05 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:06:05 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:06:05 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:05 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:05 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:05 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:05 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:06:05 UTC] 📊 Database Info:
[20-Nov-2025 16:06:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:06:05 UTC]    Books columns count: 44
[20-Nov-2025 16:06:05 UTC]    Categories columns count: 7
[20-Nov-2025 16:06:05 UTC]    Language field in books: YES
[20-Nov-2025 16:06:05 UTC]    Format field in books: YES
[20-Nov-2025 16:06:05 UTC]    Description field in categories: YES
[20-Nov-2025 16:06:05 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:06:05 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:06:05 UTC]    Is_active field in books: YES
[20-Nov-2025 16:06:05 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:06:05 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:06:05 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:06:05 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:06:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:05 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:06:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:06:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:06:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:05 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:06:05 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:06:05 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:05 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:05 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:05 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:05 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:05 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:06:05 UTC] 📊 Database Info:
[20-Nov-2025 16:06:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:06:05 UTC]    Books columns count: 44
[20-Nov-2025 16:06:05 UTC]    Categories columns count: 7
[20-Nov-2025 16:06:05 UTC]    Language field in books: YES
[20-Nov-2025 16:06:05 UTC]    Format field in books: YES
[20-Nov-2025 16:06:05 UTC]    Description field in categories: YES
[20-Nov-2025 16:06:05 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:06:05 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:06:05 UTC]    Is_active field in books: YES
[20-Nov-2025 16:06:05 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:06:05 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:06:05 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:06:05 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:06:05 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:06:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:06:05 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 16:06:05 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 16:06:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:05 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:06:05 UTC] 📊 Database Info:
[20-Nov-2025 16:06:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:06:05 UTC]    Books columns count: 44
[20-Nov-2025 16:06:05 UTC]    Categories columns count: 7
[20-Nov-2025 16:06:05 UTC]    Language field in books: YES
[20-Nov-2025 16:06:05 UTC]    Format field in books: YES
[20-Nov-2025 16:06:05 UTC]    Description field in categories: YES
[20-Nov-2025 16:06:05 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:06:05 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:06:05 UTC]    Is_active field in books: YES
[20-Nov-2025 16:06:05 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:06:05 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:06:05 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:06:05 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:06:05 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:06:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:06:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:06:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:06:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:06:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:06 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:06:06 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:06:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:06:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:06 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:06:06 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:06:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:06 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:06:06 UTC] 📊 Database Info:
[20-Nov-2025 16:06:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:06:06 UTC]    Books columns count: 44
[20-Nov-2025 16:06:06 UTC]    Categories columns count: 7
[20-Nov-2025 16:06:06 UTC]    Language field in books: YES
[20-Nov-2025 16:06:06 UTC]    Format field in books: YES
[20-Nov-2025 16:06:06 UTC]    Description field in categories: YES
[20-Nov-2025 16:06:06 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:06:06 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:06:06 UTC]    Is_active field in books: YES
[20-Nov-2025 16:06:06 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:06:06 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:06:06 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:06:06 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:06:06 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:06:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:06:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:06 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:06:06 UTC] 📊 Database Info:
[20-Nov-2025 16:06:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:06:06 UTC]    Books columns count: 44
[20-Nov-2025 16:06:06 UTC]    Categories columns count: 7
[20-Nov-2025 16:06:06 UTC]    Language field in books: YES
[20-Nov-2025 16:06:06 UTC]    Format field in books: YES
[20-Nov-2025 16:06:06 UTC]    Description field in categories: YES
[20-Nov-2025 16:06:06 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:06:06 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:06:06 UTC]    Is_active field in books: YES
[20-Nov-2025 16:06:06 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:06:06 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:06:06 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:06:06 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:06:06 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:06:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:06:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:06:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:06:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:06 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:06:06 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:06:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:06 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:06:06 UTC] 📊 Database Info:
[20-Nov-2025 16:06:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:06:06 UTC]    Books columns count: 44
[20-Nov-2025 16:06:06 UTC]    Categories columns count: 7
[20-Nov-2025 16:06:06 UTC]    Language field in books: YES
[20-Nov-2025 16:06:06 UTC]    Format field in books: YES
[20-Nov-2025 16:06:06 UTC]    Description field in categories: YES
[20-Nov-2025 16:06:06 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:06:06 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:06:06 UTC]    Is_active field in books: YES
[20-Nov-2025 16:06:06 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:06:06 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:06:06 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:06:06 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:06:06 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:06:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:06:06 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 16:06:06 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 16:06:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:06:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:06:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:08 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:06:08 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:06:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:06:08 UTC] 📊 Database Info:
[20-Nov-2025 16:06:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:06:08 UTC]    Books columns count: 44
[20-Nov-2025 16:06:08 UTC]    Categories columns count: 7
[20-Nov-2025 16:06:08 UTC]    Language field in books: YES
[20-Nov-2025 16:06:08 UTC]    Format field in books: YES
[20-Nov-2025 16:06:08 UTC]    Description field in categories: YES
[20-Nov-2025 16:06:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:06:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:06:08 UTC]    Is_active field in books: YES
[20-Nov-2025 16:06:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:06:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:06:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:06:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:06:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:06:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:06:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:06:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:06:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:06:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:06:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:06:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:06:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:06:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:06:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:06:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:06:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:06:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:06:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:06:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:06:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:28 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:06:28 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:06:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:28 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:06:28 UTC] 📊 Database Info:
[20-Nov-2025 16:06:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:06:28 UTC]    Books columns count: 44
[20-Nov-2025 16:06:28 UTC]    Categories columns count: 7
[20-Nov-2025 16:06:28 UTC]    Language field in books: YES
[20-Nov-2025 16:06:28 UTC]    Format field in books: YES
[20-Nov-2025 16:06:28 UTC]    Description field in categories: YES
[20-Nov-2025 16:06:28 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:06:28 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:06:28 UTC]    Is_active field in books: YES
[20-Nov-2025 16:06:28 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:06:28 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:06:28 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:06:28 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:06:28 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:06:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:06:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:06:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:06:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:29 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:06:29 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:06:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:29 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:06:29 UTC] 📊 Database Info:
[20-Nov-2025 16:06:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:06:29 UTC]    Books columns count: 44
[20-Nov-2025 16:06:29 UTC]    Categories columns count: 7
[20-Nov-2025 16:06:29 UTC]    Language field in books: YES
[20-Nov-2025 16:06:29 UTC]    Format field in books: YES
[20-Nov-2025 16:06:29 UTC]    Description field in categories: YES
[20-Nov-2025 16:06:29 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:06:29 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:06:29 UTC]    Is_active field in books: YES
[20-Nov-2025 16:06:29 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:06:29 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:06:29 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:06:29 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:06:29 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:06:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:06:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:06:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:06:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:06:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:06:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:06:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:06:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:06:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:06:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:06:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:06:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:06:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:06:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:06:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:06:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:06:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:06:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:06:33 UTC] 📊 Database Info:
[20-Nov-2025 16:06:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:06:33 UTC]    Books columns count: 44
[20-Nov-2025 16:06:33 UTC]    Categories columns count: 7
[20-Nov-2025 16:06:33 UTC]    Language field in books: YES
[20-Nov-2025 16:06:33 UTC]    Format field in books: YES
[20-Nov-2025 16:06:33 UTC]    Description field in categories: YES
[20-Nov-2025 16:06:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:06:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:06:33 UTC]    Is_active field in books: YES
[20-Nov-2025 16:06:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:06:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:06:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:06:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:06:33 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:06:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:06:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:06:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:06:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:06:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:06:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:53 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:06:53 UTC] 📊 Database Info:
[20-Nov-2025 16:06:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:06:53 UTC]    Books columns count: 44
[20-Nov-2025 16:06:53 UTC]    Categories columns count: 7
[20-Nov-2025 16:06:53 UTC]    Language field in books: YES
[20-Nov-2025 16:06:53 UTC]    Format field in books: YES
[20-Nov-2025 16:06:53 UTC]    Description field in categories: YES
[20-Nov-2025 16:06:53 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:06:53 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:06:53 UTC]    Is_active field in books: YES
[20-Nov-2025 16:06:53 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:06:53 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:06:53 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:06:53 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:06:53 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:06:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:06:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:06:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:06:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:53 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:06:53 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:06:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:53 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:06:53 UTC] 📊 Database Info:
[20-Nov-2025 16:06:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:06:53 UTC]    Books columns count: 44
[20-Nov-2025 16:06:53 UTC]    Categories columns count: 7
[20-Nov-2025 16:06:53 UTC]    Language field in books: YES
[20-Nov-2025 16:06:53 UTC]    Format field in books: YES
[20-Nov-2025 16:06:53 UTC]    Description field in categories: YES
[20-Nov-2025 16:06:53 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:06:53 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:06:53 UTC]    Is_active field in books: YES
[20-Nov-2025 16:06:53 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:06:53 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:06:53 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:06:53 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:06:53 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:06:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:06:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:06:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:06:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:06:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:06:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:06:57 UTC] 📊 Database Info:
[20-Nov-2025 16:06:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:06:57 UTC]    Books columns count: 44
[20-Nov-2025 16:06:57 UTC]    Categories columns count: 7
[20-Nov-2025 16:06:57 UTC]    Language field in books: YES
[20-Nov-2025 16:06:57 UTC]    Format field in books: YES
[20-Nov-2025 16:06:57 UTC]    Description field in categories: YES
[20-Nov-2025 16:06:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:06:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:06:57 UTC]    Is_active field in books: YES
[20-Nov-2025 16:06:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:06:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:06:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:06:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:06:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:06:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:06:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:06:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:06:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:06:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:06:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:06:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:06:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:06:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:06:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:06:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:06:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:06:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:06:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:06:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:06:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:06:59 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:06:59 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:06:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:06:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:06:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:06:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:06:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:06:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:06:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:06:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:06:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:06:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:06:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:06:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:06:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:06:59 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:06:59 UTC] 📊 Database Info:
[20-Nov-2025 16:06:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:06:59 UTC]    Books columns count: 44
[20-Nov-2025 16:06:59 UTC]    Categories columns count: 7
[20-Nov-2025 16:06:59 UTC]    Language field in books: YES
[20-Nov-2025 16:06:59 UTC]    Format field in books: YES
[20-Nov-2025 16:06:59 UTC]    Description field in categories: YES
[20-Nov-2025 16:06:59 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:06:59 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:06:59 UTC]    Is_active field in books: YES
[20-Nov-2025 16:06:59 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:06:59 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:06:59 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:06:59 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:06:59 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:06:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:06:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:06:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:06:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:06:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:06:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:06:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:06:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:06:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:06:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:06:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:06:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:06:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:12:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:12:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:12:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:12:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:12:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:12:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:12:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:12:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:12:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:12:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:12:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:12:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:12:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:12:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:12:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:12:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:12:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:12:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:12:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:12:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:12:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:12:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:12:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:12:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:12:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:12:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:12:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:12:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:12:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:12:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:12:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:12:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:12:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:12:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:12:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:12:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:12:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:12:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:12:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:12:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:12:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:12:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:12:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:12:54 UTC] 📊 Database Info:
[20-Nov-2025 16:12:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:12:54 UTC]    Books columns count: 44
[20-Nov-2025 16:12:54 UTC]    Categories columns count: 7
[20-Nov-2025 16:12:54 UTC]    Language field in books: YES
[20-Nov-2025 16:12:54 UTC]    Format field in books: YES
[20-Nov-2025 16:12:54 UTC]    Description field in categories: YES
[20-Nov-2025 16:12:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:12:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:12:54 UTC]    Is_active field in books: YES
[20-Nov-2025 16:12:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:12:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:12:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:12:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:12:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:12:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:12:54 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 16:12:54 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 16:12:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:12:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:12:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:12:54 UTC] 📊 Database Info:
[20-Nov-2025 16:12:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:12:54 UTC]    Books columns count: 44
[20-Nov-2025 16:12:54 UTC]    Categories columns count: 7
[20-Nov-2025 16:12:54 UTC]    Language field in books: YES
[20-Nov-2025 16:12:54 UTC]    Format field in books: YES
[20-Nov-2025 16:12:54 UTC]    Description field in categories: YES
[20-Nov-2025 16:12:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:12:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:12:54 UTC]    Is_active field in books: YES
[20-Nov-2025 16:12:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:12:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:12:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:12:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:12:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:12:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:12:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:12:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:12:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:12:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:12:54 UTC] 📊 Database Info:
[20-Nov-2025 16:12:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:12:54 UTC]    Books columns count: 44
[20-Nov-2025 16:12:54 UTC]    Categories columns count: 7
[20-Nov-2025 16:12:54 UTC]    Language field in books: YES
[20-Nov-2025 16:12:54 UTC]    Format field in books: YES
[20-Nov-2025 16:12:54 UTC]    Description field in categories: YES
[20-Nov-2025 16:12:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:12:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:12:54 UTC]    Is_active field in books: YES
[20-Nov-2025 16:12:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:12:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:12:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:12:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:12:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:12:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:12:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:14:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:14:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:14:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:14:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:14:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:14:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:14:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:14:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:14:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:14:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:14:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:14:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:14:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:14:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:14:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:14:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:14:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:14:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:14:28 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:14:28 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:14:28 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:14:28 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:14:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:14:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:14:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:14:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:14:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:14:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:14:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:14:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:14:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:14:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:14:28 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:14:28 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:14:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:14:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:14:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:14:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:14:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:14:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:14:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:14:28 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:14:28 UTC] 📊 Database Info:
[20-Nov-2025 16:14:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:14:28 UTC]    Books columns count: 44
[20-Nov-2025 16:14:28 UTC]    Categories columns count: 7
[20-Nov-2025 16:14:28 UTC]    Language field in books: YES
[20-Nov-2025 16:14:28 UTC]    Format field in books: YES
[20-Nov-2025 16:14:28 UTC]    Description field in categories: YES
[20-Nov-2025 16:14:28 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:14:28 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:14:28 UTC]    Is_active field in books: YES
[20-Nov-2025 16:14:28 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:14:28 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:14:28 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:14:28 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:14:28 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:14:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:14:28 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 16:14:28 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 16:14:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:14:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:14:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:14:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:14:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:14:28 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:14:28 UTC] 📊 Database Info:
[20-Nov-2025 16:14:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:14:28 UTC]    Books columns count: 44
[20-Nov-2025 16:14:28 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:14:28 UTC]    Categories columns count: 7
[20-Nov-2025 16:14:28 UTC] 📊 Database Info:
[20-Nov-2025 16:14:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:14:28 UTC]    Language field in books: YES
[20-Nov-2025 16:14:28 UTC]    Books columns count: 44
[20-Nov-2025 16:14:28 UTC]    Format field in books: YES
[20-Nov-2025 16:14:28 UTC]    Categories columns count: 7
[20-Nov-2025 16:14:28 UTC]    Description field in categories: YES
[20-Nov-2025 16:14:28 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:14:28 UTC]    Language field in books: YES
[20-Nov-2025 16:14:28 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:14:28 UTC]    Format field in books: YES
[20-Nov-2025 16:14:28 UTC]    Is_active field in books: YES
[20-Nov-2025 16:14:28 UTC]    Description field in categories: YES
[20-Nov-2025 16:14:28 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:14:28 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:14:28 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:14:28 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:14:28 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:14:28 UTC]    Is_active field in books: YES
[20-Nov-2025 16:14:28 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:14:28 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:14:28 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:14:28 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:14:28 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:14:28 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:14:28 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:14:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:14:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:14:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:14:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:14:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:14:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:14:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:14:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:14:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:14:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:14:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:14:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:14:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:14:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:14:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:14:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:14:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:14:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:14:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:14:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:14:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:14:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:14:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:14:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:14:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:14:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:14:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:14:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:14:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:14:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:14:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:14:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:14:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:14:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:14:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:14:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:14:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:14:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:14:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:14:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:14:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:14:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:14:50 UTC] 📊 Database Info:
[20-Nov-2025 16:14:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:14:50 UTC]    Books columns count: 44
[20-Nov-2025 16:14:50 UTC]    Categories columns count: 7
[20-Nov-2025 16:14:50 UTC]    Language field in books: YES
[20-Nov-2025 16:14:50 UTC]    Format field in books: YES
[20-Nov-2025 16:14:50 UTC]    Description field in categories: YES
[20-Nov-2025 16:14:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:14:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:14:50 UTC]    Is_active field in books: YES
[20-Nov-2025 16:14:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:14:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:14:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:14:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:14:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:14:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:14:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:14:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:14:50 UTC] 📊 Database Info:
[20-Nov-2025 16:14:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:14:50 UTC]    Books columns count: 44
[20-Nov-2025 16:14:50 UTC]    Categories columns count: 7
[20-Nov-2025 16:14:50 UTC]    Language field in books: YES
[20-Nov-2025 16:14:50 UTC]    Format field in books: YES
[20-Nov-2025 16:14:50 UTC]    Description field in categories: YES
[20-Nov-2025 16:14:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:14:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:14:50 UTC]    Is_active field in books: YES
[20-Nov-2025 16:14:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:14:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:14:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:14:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:14:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:14:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:14:50 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 16:14:50 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 16:14:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:14:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:14:50 UTC] 📊 Database Info:
[20-Nov-2025 16:14:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:14:50 UTC]    Books columns count: 44
[20-Nov-2025 16:14:50 UTC]    Categories columns count: 7
[20-Nov-2025 16:14:50 UTC]    Language field in books: YES
[20-Nov-2025 16:14:50 UTC]    Format field in books: YES
[20-Nov-2025 16:14:50 UTC]    Description field in categories: YES
[20-Nov-2025 16:14:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:14:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:14:50 UTC]    Is_active field in books: YES
[20-Nov-2025 16:14:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:14:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:14:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:14:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:14:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:14:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:15:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:15:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:15:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:15:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:15:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:15:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:15:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:15:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:15:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:15:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:15:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:15:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:15:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:15:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:15:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:15:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:15:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:15:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:15:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:15:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:15:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:15:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:15:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:15:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:15:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:15:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:15:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:15:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:15:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:15:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:15:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:15:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:15:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:15:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:15:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:15:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:15:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:15:23 UTC] 📊 Database Info:
[20-Nov-2025 16:15:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:15:23 UTC]    Books columns count: 44
[20-Nov-2025 16:15:23 UTC]    Categories columns count: 7
[20-Nov-2025 16:15:23 UTC]    Language field in books: YES
[20-Nov-2025 16:15:23 UTC]    Format field in books: YES
[20-Nov-2025 16:15:23 UTC]    Description field in categories: YES
[20-Nov-2025 16:15:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:15:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:15:23 UTC]    Is_active field in books: YES
[20-Nov-2025 16:15:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:15:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:15:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:15:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:15:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:15:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:15:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:15:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:15:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:15:23 UTC] 📊 Database Info:
[20-Nov-2025 16:15:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:15:23 UTC]    Books columns count: 44
[20-Nov-2025 16:15:23 UTC]    Categories columns count: 7
[20-Nov-2025 16:15:23 UTC]    Language field in books: YES
[20-Nov-2025 16:15:23 UTC]    Format field in books: YES
[20-Nov-2025 16:15:23 UTC]    Description field in categories: YES
[20-Nov-2025 16:15:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:15:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:15:23 UTC]    Is_active field in books: YES
[20-Nov-2025 16:15:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:15:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:15:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:15:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:15:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:15:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:15:23 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 16:15:23 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 16:15:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:15:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:15:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:15:23 UTC] 📊 Database Info:
[20-Nov-2025 16:15:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:15:23 UTC]    Books columns count: 44
[20-Nov-2025 16:15:23 UTC]    Categories columns count: 7
[20-Nov-2025 16:15:23 UTC]    Language field in books: YES
[20-Nov-2025 16:15:23 UTC]    Format field in books: YES
[20-Nov-2025 16:15:23 UTC]    Description field in categories: YES
[20-Nov-2025 16:15:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:15:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:15:23 UTC]    Is_active field in books: YES
[20-Nov-2025 16:15:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:15:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:15:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:15:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:15:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:15:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:15:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:15:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:15:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:15:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:15:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:15:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:15:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:15:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:15:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:15:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:15:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:15:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:15:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:15:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:15:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:15:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:15:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:15:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:15:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:15:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:15:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:15:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:15:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:15:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:15:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:15:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:15:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:15:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:15:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:15:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:15:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:15:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:15:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:15:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:15:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:15:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:15:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:15:23 UTC] 📊 Database Info:
[20-Nov-2025 16:15:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:15:23 UTC]    Books columns count: 44
[20-Nov-2025 16:15:23 UTC]    Categories columns count: 7
[20-Nov-2025 16:15:23 UTC]    Language field in books: YES
[20-Nov-2025 16:15:23 UTC]    Format field in books: YES
[20-Nov-2025 16:15:23 UTC]    Description field in categories: YES
[20-Nov-2025 16:15:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:15:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:15:23 UTC]    Is_active field in books: YES
[20-Nov-2025 16:15:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:15:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:15:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:15:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:15:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:15:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:15:23 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 16:15:23 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 16:15:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:15:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:15:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:15:23 UTC] 📊 Database Info:
[20-Nov-2025 16:15:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:15:23 UTC]    Books columns count: 44
[20-Nov-2025 16:15:23 UTC]    Categories columns count: 7
[20-Nov-2025 16:15:23 UTC]    Language field in books: YES
[20-Nov-2025 16:15:23 UTC]    Format field in books: YES
[20-Nov-2025 16:15:23 UTC]    Description field in categories: YES
[20-Nov-2025 16:15:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:15:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:15:23 UTC]    Is_active field in books: YES
[20-Nov-2025 16:15:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:15:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:15:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:15:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:15:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:15:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:15:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:15:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:15:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:15:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:15:23 UTC] 📊 Database Info:
[20-Nov-2025 16:15:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:15:23 UTC]    Books columns count: 44
[20-Nov-2025 16:15:23 UTC]    Categories columns count: 7
[20-Nov-2025 16:15:23 UTC]    Language field in books: YES
[20-Nov-2025 16:15:23 UTC]    Format field in books: YES
[20-Nov-2025 16:15:23 UTC]    Description field in categories: YES
[20-Nov-2025 16:15:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:15:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:15:23 UTC]    Is_active field in books: YES
[20-Nov-2025 16:15:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:15:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:15:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:15:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:15:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:15:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:15:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:15:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:15:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:15:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:15:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:15:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:15:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:15:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:15:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:15:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:15:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:15:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:15:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:15:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:15:59 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:15:59 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:15:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:15:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:15:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:15:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:15:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:15:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:15:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:15:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:15:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:15:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:15:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:15:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:15:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:15:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:15:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:15:59 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:15:59 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:15:59 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:15:59 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:15:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:15:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:15:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:15:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:15:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:15:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:15:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:15:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:15:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:15:59 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:15:59 UTC] 📊 Database Info:
[20-Nov-2025 16:15:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:15:59 UTC]    Books columns count: 44
[20-Nov-2025 16:15:59 UTC]    Categories columns count: 7
[20-Nov-2025 16:15:59 UTC]    Language field in books: YES
[20-Nov-2025 16:15:59 UTC]    Format field in books: YES
[20-Nov-2025 16:15:59 UTC]    Description field in categories: YES
[20-Nov-2025 16:15:59 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:15:59 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:15:59 UTC]    Is_active field in books: YES
[20-Nov-2025 16:15:59 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:15:59 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:15:59 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:15:59 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:15:59 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:15:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:15:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:15:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:15:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:15:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:15:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:15:59 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:15:59 UTC] 📊 Database Info:
[20-Nov-2025 16:15:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:15:59 UTC]    Books columns count: 44
[20-Nov-2025 16:15:59 UTC]    Categories columns count: 7
[20-Nov-2025 16:15:59 UTC]    Language field in books: YES
[20-Nov-2025 16:15:59 UTC]    Format field in books: YES
[20-Nov-2025 16:15:59 UTC]    Description field in categories: YES
[20-Nov-2025 16:15:59 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:15:59 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:15:59 UTC]    Is_active field in books: YES
[20-Nov-2025 16:15:59 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:15:59 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:15:59 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:15:59 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:15:59 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:15:59 UTC] 📊 Database Info:
[20-Nov-2025 16:15:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:15:59 UTC]    Books columns count: 44
[20-Nov-2025 16:15:59 UTC]    Categories columns count: 7
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:15:59 UTC]    Language field in books: YES
[20-Nov-2025 16:15:59 UTC]    Format field in books: YES
[20-Nov-2025 16:15:59 UTC]    Description field in categories: YES
[20-Nov-2025 16:15:59 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:15:59 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:15:59 UTC]    Is_active field in books: YES
[20-Nov-2025 16:15:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:15:59 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:15:59 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:15:59 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:15:59 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:15:59 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:15:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:15:59 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 16:15:59 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 16:16:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:16:02 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:16:02 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:16:02 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:16:02 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:16:02 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:16:02 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:16:02 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:16:02 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:16:02 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:16:02 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:16:02 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:16:02 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:16:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:16:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:16:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:16:02 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:16:02 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:16:02 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:16:02 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:16:02 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:16:02 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:16:02 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:16:02 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:16:02 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:16:02 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:16:02 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:16:02 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:16:02 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:16:02 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:16:02 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:16:02 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:16:02 UTC] 📊 Database Info:
[20-Nov-2025 16:16:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:16:02 UTC]    Books columns count: 44
[20-Nov-2025 16:16:02 UTC]    Categories columns count: 7
[20-Nov-2025 16:16:02 UTC]    Language field in books: YES
[20-Nov-2025 16:16:02 UTC]    Format field in books: YES
[20-Nov-2025 16:16:02 UTC]    Description field in categories: YES
[20-Nov-2025 16:16:02 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:16:02 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:16:02 UTC]    Is_active field in books: YES
[20-Nov-2025 16:16:02 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:16:02 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:16:02 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:16:02 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:16:02 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:16:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:18:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:18:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:18:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:18:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:18:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:18:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:18:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:18:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:18:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:18:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:18:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:18:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:18:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:18:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:18:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:18:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:18:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:18:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:18:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:18:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:18:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:18:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:18:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:18:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:18:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:18:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:18:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:18:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:18:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:18:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:18:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:18:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:18:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:18:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:18:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:18:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:18:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:18:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:18:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:18:50 UTC] 📊 Database Info:
[20-Nov-2025 16:18:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:18:50 UTC]    Books columns count: 44
[20-Nov-2025 16:18:50 UTC]    Categories columns count: 7
[20-Nov-2025 16:18:50 UTC]    Language field in books: YES
[20-Nov-2025 16:18:50 UTC]    Format field in books: YES
[20-Nov-2025 16:18:50 UTC]    Description field in categories: YES
[20-Nov-2025 16:18:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:18:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:18:50 UTC]    Is_active field in books: YES
[20-Nov-2025 16:18:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:18:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:18:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:18:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:18:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:18:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:18:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:18:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:18:50 UTC] 📊 Database Info:
[20-Nov-2025 16:18:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:18:50 UTC]    Books columns count: 44
[20-Nov-2025 16:18:50 UTC]    Categories columns count: 7
[20-Nov-2025 16:18:50 UTC]    Language field in books: YES
[20-Nov-2025 16:18:50 UTC]    Format field in books: YES
[20-Nov-2025 16:18:50 UTC]    Description field in categories: YES
[20-Nov-2025 16:18:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:18:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:18:50 UTC]    Is_active field in books: YES
[20-Nov-2025 16:18:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:18:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:18:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:18:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:18:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:18:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:18:50 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 16:18:50 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 16:18:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:18:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:18:50 UTC] 📊 Database Info:
[20-Nov-2025 16:18:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:18:50 UTC]    Books columns count: 44
[20-Nov-2025 16:18:50 UTC]    Categories columns count: 7
[20-Nov-2025 16:18:50 UTC]    Language field in books: YES
[20-Nov-2025 16:18:50 UTC]    Format field in books: YES
[20-Nov-2025 16:18:50 UTC]    Description field in categories: YES
[20-Nov-2025 16:18:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:18:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:18:50 UTC]    Is_active field in books: YES
[20-Nov-2025 16:18:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:18:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:18:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:18:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:18:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:18:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:26:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:26:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:26:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:26:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:26:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:26:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:26:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:26:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:26:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:26:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:26:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:26:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:26:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:26:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:26:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:26:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:26:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:26:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:26:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:26:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:26:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:26:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:26:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:26:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:26:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:26:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:26:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:26:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:26:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:26:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:26:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:26:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:26:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:26:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:26:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:26:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:26:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:26:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:26:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:26:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:26:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:26:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:26:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:26:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:26:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:26:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:26:20 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:26:20 UTC] 📊 Database Info:
[20-Nov-2025 16:26:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:26:20 UTC]    Books columns count: 44
[20-Nov-2025 16:26:20 UTC]    Categories columns count: 7
[20-Nov-2025 16:26:20 UTC]    Language field in books: YES
[20-Nov-2025 16:26:20 UTC]    Format field in books: YES
[20-Nov-2025 16:26:20 UTC]    Description field in categories: YES
[20-Nov-2025 16:26:20 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:26:20 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:26:20 UTC]    Is_active field in books: YES
[20-Nov-2025 16:26:20 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:26:20 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:26:20 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:26:20 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:26:20 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:26:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:26:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:26:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:26:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:26:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:26:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:26:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:26:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:26:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:26:20 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:26:20 UTC] 📊 Database Info:
[20-Nov-2025 16:26:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:26:20 UTC]    Books columns count: 44
[20-Nov-2025 16:26:20 UTC]    Categories columns count: 7
[20-Nov-2025 16:26:20 UTC]    Language field in books: YES
[20-Nov-2025 16:26:20 UTC]    Format field in books: YES
[20-Nov-2025 16:26:20 UTC]    Description field in categories: YES
[20-Nov-2025 16:26:20 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:26:20 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:26:20 UTC]    Is_active field in books: YES
[20-Nov-2025 16:26:20 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:26:20 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:26:20 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:26:20 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:26:20 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:26:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:26:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:26:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:26:20 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 16:26:20 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:26:20 UTC] 📊 Database Info:
[20-Nov-2025 16:26:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:26:20 UTC]    Books columns count: 44
[20-Nov-2025 16:26:20 UTC]    Categories columns count: 7
[20-Nov-2025 16:26:20 UTC]    Language field in books: YES
[20-Nov-2025 16:26:20 UTC]    Format field in books: YES
[20-Nov-2025 16:26:20 UTC]    Description field in categories: YES
[20-Nov-2025 16:26:20 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:26:20 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:26:20 UTC]    Is_active field in books: YES
[20-Nov-2025 16:26:20 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:26:20 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:26:20 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:26:20 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:26:20 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 16:26:20 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:26:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:26:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:49:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:49:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:49:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:49:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:49:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:49:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:49:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:49:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:49:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:49:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:49:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:49:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:49:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:49:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:49:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:49:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:49:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:49:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:49:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:49:49 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:49:49 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:49:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:49:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:49:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:49:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:49:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:49:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:49:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:49:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:49:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:49:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:49:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:49:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:49:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:49:49 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:49:49 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:49:49 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:49:49 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:49:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:49:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:49:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:49:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:49:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:49:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:49:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:49:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:49:49 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:49:49 UTC] 📊 Database Info:
[20-Nov-2025 16:49:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:49:49 UTC]    Books columns count: 44
[20-Nov-2025 16:49:49 UTC]    Categories columns count: 7
[20-Nov-2025 16:49:49 UTC]    Language field in books: YES
[20-Nov-2025 16:49:49 UTC]    Format field in books: YES
[20-Nov-2025 16:49:49 UTC]    Description field in categories: YES
[20-Nov-2025 16:49:49 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:49:49 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:49:49 UTC]    Is_active field in books: YES
[20-Nov-2025 16:49:49 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:49:49 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:49:49 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:49:49 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:49:49 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:49:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:49:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:49:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:49:49 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:49:49 UTC] 📊 Database Info:
[20-Nov-2025 16:49:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:49:49 UTC]    Books columns count: 44
[20-Nov-2025 16:49:49 UTC]    Categories columns count: 7
[20-Nov-2025 16:49:49 UTC]    Language field in books: YES
[20-Nov-2025 16:49:49 UTC]    Format field in books: YES
[20-Nov-2025 16:49:49 UTC]    Description field in categories: YES
[20-Nov-2025 16:49:49 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:49:49 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:49:49 UTC]    Is_active field in books: YES
[20-Nov-2025 16:49:49 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:49:49 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:49:49 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:49:49 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:49:49 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:49:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:49:49 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 16:49:49 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 16:49:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:49:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:49:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:49:49 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:49:49 UTC] 📊 Database Info:
[20-Nov-2025 16:49:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:49:49 UTC]    Books columns count: 44
[20-Nov-2025 16:49:49 UTC]    Categories columns count: 7
[20-Nov-2025 16:49:49 UTC]    Language field in books: YES
[20-Nov-2025 16:49:49 UTC]    Format field in books: YES
[20-Nov-2025 16:49:49 UTC]    Description field in categories: YES
[20-Nov-2025 16:49:49 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:49:49 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:49:49 UTC]    Is_active field in books: YES
[20-Nov-2025 16:49:49 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:49:49 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:49:49 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:49:49 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:49:49 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:49:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:49:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:49:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:49:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:49:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:49:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:49:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:49:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:49:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:49:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:49:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:49:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:49:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:49:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:49:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:49:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:49:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:49:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:49:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:49:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:49:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:49:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:49:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:49:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:49:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:49:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:49:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:49:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:49:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:49:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:49:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:49:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:49:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:49:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:49:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:49:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:49:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:49:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:49:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:49:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:49:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:49:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:49:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:49:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:49:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:49:50 UTC] 📊 Database Info:
[20-Nov-2025 16:49:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:49:50 UTC]    Books columns count: 44
[20-Nov-2025 16:49:50 UTC]    Categories columns count: 7
[20-Nov-2025 16:49:50 UTC]    Language field in books: YES
[20-Nov-2025 16:49:50 UTC]    Format field in books: YES
[20-Nov-2025 16:49:50 UTC]    Description field in categories: YES
[20-Nov-2025 16:49:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:49:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:49:50 UTC]    Is_active field in books: YES
[20-Nov-2025 16:49:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:49:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:49:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:49:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:49:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:49:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:49:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:49:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:49:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:49:50 UTC] 📊 Database Info:
[20-Nov-2025 16:49:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:49:50 UTC]    Books columns count: 44
[20-Nov-2025 16:49:50 UTC]    Categories columns count: 7
[20-Nov-2025 16:49:50 UTC]    Language field in books: YES
[20-Nov-2025 16:49:50 UTC]    Format field in books: YES
[20-Nov-2025 16:49:50 UTC]    Description field in categories: YES
[20-Nov-2025 16:49:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:49:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:49:50 UTC]    Is_active field in books: YES
[20-Nov-2025 16:49:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:49:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:49:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:49:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:49:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:49:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:49:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:49:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:49:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:49:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:49:50 UTC] 📊 Database Info:
[20-Nov-2025 16:49:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:49:50 UTC]    Books columns count: 44
[20-Nov-2025 16:49:50 UTC]    Categories columns count: 7
[20-Nov-2025 16:49:50 UTC]    Language field in books: YES
[20-Nov-2025 16:49:50 UTC]    Format field in books: YES
[20-Nov-2025 16:49:50 UTC]    Description field in categories: YES
[20-Nov-2025 16:49:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:49:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:49:50 UTC]    Is_active field in books: YES
[20-Nov-2025 16:49:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:49:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:49:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:49:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:49:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:49:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:49:50 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 16:49:50 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 16:50:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:50:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:50:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 16:50:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:50:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:50:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:50:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:50:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:50:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:50:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:50:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:50:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:50:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:50:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:50:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:50:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:50:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:50:06 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:50:06 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:50:06 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:50:06 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:50:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:50:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:50:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:50:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:50:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:50:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:50:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 16:50:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:50:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 16:50:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:50:06 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 16:50:06 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 16:50:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 16:50:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 16:50:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 16:50:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 16:50:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 16:50:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:50:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:50:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:50:06 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:50:06 UTC] 📊 Database Info:
[20-Nov-2025 16:50:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:50:06 UTC]    Books columns count: 44
[20-Nov-2025 16:50:06 UTC]    Categories columns count: 7
[20-Nov-2025 16:50:06 UTC]    Language field in books: YES
[20-Nov-2025 16:50:06 UTC]    Format field in books: YES
[20-Nov-2025 16:50:06 UTC]    Description field in categories: YES
[20-Nov-2025 16:50:06 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:50:06 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:50:06 UTC]    Is_active field in books: YES
[20-Nov-2025 16:50:06 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:50:06 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:50:06 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:50:06 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:50:06 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:50:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:50:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:50:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:50:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:50:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:50:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:50:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:50:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:50:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:50:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:50:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:50:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:50:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:50:06 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 16:50:06 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 16:50:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:50:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 16:50:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:50:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 16:50:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:50:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 16:50:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:50:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:50:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 16:50:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 16:50:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:50:07 UTC] 📊 Database Info:
[20-Nov-2025 16:50:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:50:07 UTC]    Books columns count: 44
[20-Nov-2025 16:50:07 UTC]    Categories columns count: 7
[20-Nov-2025 16:50:07 UTC]    Language field in books: YES
[20-Nov-2025 16:50:07 UTC]    Format field in books: YES
[20-Nov-2025 16:50:07 UTC]    Description field in categories: YES
[20-Nov-2025 16:50:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:50:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:50:07 UTC]    Is_active field in books: YES
[20-Nov-2025 16:50:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:50:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:50:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:50:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:50:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 16:50:07 UTC] 📊 Database Info:
[20-Nov-2025 16:50:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 16:50:07 UTC]    Books columns count: 44
[20-Nov-2025 16:50:07 UTC]    Categories columns count: 7
[20-Nov-2025 16:50:07 UTC]    Language field in books: YES
[20-Nov-2025 16:50:07 UTC]    Format field in books: YES
[20-Nov-2025 16:50:07 UTC]    Description field in categories: YES
[20-Nov-2025 16:50:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 16:50:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 16:50:07 UTC]    Is_active field in books: YES
[20-Nov-2025 16:50:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 16:50:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 16:50:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 16:50:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:50:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 16:50:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 16:50:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:00:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:00:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:00:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:00:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:00:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:00:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:00:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:00:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:00:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:00:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:00:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:00:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:00:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:00:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:00:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:00:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:00:08 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:00:08 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:00:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:00:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:00:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:00:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:00:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:00:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:00:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:00:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:00:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:00:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:00:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:00:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:00:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:00:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:00:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:00:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:00:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:00:08 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:00:08 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:00:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:00:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:00:08 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:00:08 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:00:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:00:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:00:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:00:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:00:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:00:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:00:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:00:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:00:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:00:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:00:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:00:08 UTC] 📊 Database Info:
[20-Nov-2025 17:00:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:00:08 UTC]    Books columns count: 44
[20-Nov-2025 17:00:08 UTC]    Categories columns count: 7
[20-Nov-2025 17:00:08 UTC]    Language field in books: YES
[20-Nov-2025 17:00:08 UTC]    Format field in books: YES
[20-Nov-2025 17:00:08 UTC]    Description field in categories: YES
[20-Nov-2025 17:00:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:00:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:00:08 UTC]    Is_active field in books: YES
[20-Nov-2025 17:00:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:00:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:00:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:00:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:00:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:00:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:00:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:00:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:00:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:00:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:00:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:00:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:00:08 UTC] 📊 Database Info:
[20-Nov-2025 17:00:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:00:08 UTC]    Books columns count: 44
[20-Nov-2025 17:00:08 UTC]    Categories columns count: 7
[20-Nov-2025 17:00:08 UTC]    Language field in books: YES
[20-Nov-2025 17:00:08 UTC]    Format field in books: YES
[20-Nov-2025 17:00:08 UTC]    Description field in categories: YES
[20-Nov-2025 17:00:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:00:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:00:08 UTC]    Is_active field in books: YES
[20-Nov-2025 17:00:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:00:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:00:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:00:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:00:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:00:08 UTC] 📊 Database Info:
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:00:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:00:08 UTC]    Books columns count: 44
[20-Nov-2025 17:00:08 UTC]    Categories columns count: 7
[20-Nov-2025 17:00:08 UTC]    Language field in books: YES
[20-Nov-2025 17:00:08 UTC]    Format field in books: YES
[20-Nov-2025 17:00:08 UTC]    Description field in categories: YES
[20-Nov-2025 17:00:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:00:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:00:08 UTC]    Is_active field in books: YES
[20-Nov-2025 17:00:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:00:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:00:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:00:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:00:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:00:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:00:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:00:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:00:08 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:00:08 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:01:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:01:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:01:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:01:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:01:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:01:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:01:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:01:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:01:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:01:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:01:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:01:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:01:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:01:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:01:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:01:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:01:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:01:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:01:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:01:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:01:42 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:01:42 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:01:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:01:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:01:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:01:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:01:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:01:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:01:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:01:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:01:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:01:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:01:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:01:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:01:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:01:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:01:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:01:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:01:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:01:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:01:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:01:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:01:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:01:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:01:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:01:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:01:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:01:42 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:01:42 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:01:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:01:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:01:42 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:01:42 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:01:42 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:01:42 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:01:42 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:01:42 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:01:42 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:01:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:01:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:01:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:01:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:01:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:01:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:01:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:01:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:01:42 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:01:42 UTC] 📊 Database Info:
[20-Nov-2025 17:01:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:01:42 UTC]    Books columns count: 44
[20-Nov-2025 17:01:42 UTC]    Categories columns count: 7
[20-Nov-2025 17:01:42 UTC]    Language field in books: YES
[20-Nov-2025 17:01:42 UTC]    Format field in books: YES
[20-Nov-2025 17:01:42 UTC]    Description field in categories: YES
[20-Nov-2025 17:01:42 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:01:42 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:01:42 UTC]    Is_active field in books: YES
[20-Nov-2025 17:01:42 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:01:42 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:01:42 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:01:42 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:01:42 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:01:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:01:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:01:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:01:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:01:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:01:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:01:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:01:42 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:01:42 UTC] 📊 Database Info:
[20-Nov-2025 17:01:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:01:42 UTC]    Books columns count: 44
[20-Nov-2025 17:01:42 UTC]    Categories columns count: 7
[20-Nov-2025 17:01:42 UTC]    Language field in books: YES
[20-Nov-2025 17:01:42 UTC]    Format field in books: YES
[20-Nov-2025 17:01:42 UTC]    Description field in categories: YES
[20-Nov-2025 17:01:42 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:01:42 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:01:42 UTC]    Is_active field in books: YES
[20-Nov-2025 17:01:42 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:01:42 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:01:42 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:01:42 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:01:42 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:01:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:01:42 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:01:42 UTC] 📊 Database Info:
[20-Nov-2025 17:01:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:01:42 UTC]    Books columns count: 44
[20-Nov-2025 17:01:42 UTC]    Categories columns count: 7
[20-Nov-2025 17:01:42 UTC]    Language field in books: YES
[20-Nov-2025 17:01:42 UTC]    Format field in books: YES
[20-Nov-2025 17:01:42 UTC]    Description field in categories: YES
[20-Nov-2025 17:01:42 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:01:42 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:01:42 UTC]    Is_active field in books: YES
[20-Nov-2025 17:01:42 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:01:42 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:01:42 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:01:42 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:01:42 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:01:42 UTC] 📊 Database Info:
[20-Nov-2025 17:01:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:01:42 UTC]    Books columns count: 44
[20-Nov-2025 17:01:42 UTC]    Categories columns count: 7
[20-Nov-2025 17:01:42 UTC]    Language field in books: YES
[20-Nov-2025 17:01:42 UTC]    Format field in books: YES
[20-Nov-2025 17:01:42 UTC]    Description field in categories: YES
[20-Nov-2025 17:01:42 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:01:42 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:01:42 UTC]    Is_active field in books: YES
[20-Nov-2025 17:01:42 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:01:42 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:01:42 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:01:42 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:01:42 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:01:42 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:01:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:01:42 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:01:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:01:42 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:01:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:01:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:01:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:01:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:01:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:01:42 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:01:42 UTC] 📊 Database Info:
[20-Nov-2025 17:01:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:01:42 UTC]    Books columns count: 44
[20-Nov-2025 17:01:42 UTC]    Categories columns count: 7
[20-Nov-2025 17:01:42 UTC]    Language field in books: YES
[20-Nov-2025 17:01:42 UTC]    Format field in books: YES
[20-Nov-2025 17:01:42 UTC]    Description field in categories: YES
[20-Nov-2025 17:01:42 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:01:42 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:01:42 UTC]    Is_active field in books: YES
[20-Nov-2025 17:01:42 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:01:42 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:01:42 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:01:42 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:01:42 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:01:42 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:01:42 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:01:42 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:01:42 UTC] 📊 Database Info:
[20-Nov-2025 17:01:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:01:42 UTC]    Books columns count: 44
[20-Nov-2025 17:01:42 UTC]    Categories columns count: 7
[20-Nov-2025 17:01:42 UTC]    Language field in books: YES
[20-Nov-2025 17:01:42 UTC]    Format field in books: YES
[20-Nov-2025 17:01:42 UTC]    Description field in categories: YES
[20-Nov-2025 17:01:42 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:01:42 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:01:42 UTC]    Is_active field in books: YES
[20-Nov-2025 17:01:42 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:01:42 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:01:42 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:01:42 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:01:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:01:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:01:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:01:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:01:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:01:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:01:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:01:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:01:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:01:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:01:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:01:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:01:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:01:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:01:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:01:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:01:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:01:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:01:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:01:44 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:01:44 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:01:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:01:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:01:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:01:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:01:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:01:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:01:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:01:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:01:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:01:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:01:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:01:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:01:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:01:44 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:01:44 UTC] 📊 Database Info:
[20-Nov-2025 17:01:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:01:44 UTC]    Books columns count: 44
[20-Nov-2025 17:01:44 UTC]    Categories columns count: 7
[20-Nov-2025 17:01:44 UTC]    Language field in books: YES
[20-Nov-2025 17:01:44 UTC]    Format field in books: YES
[20-Nov-2025 17:01:44 UTC]    Description field in categories: YES
[20-Nov-2025 17:01:44 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:01:44 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:01:44 UTC]    Is_active field in books: YES
[20-Nov-2025 17:01:44 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:01:44 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:01:44 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:01:44 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:01:44 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:01:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:02:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:02:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:02:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:02:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:02:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:02:21 UTC] 📊 Database Info:
[20-Nov-2025 17:02:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:02:21 UTC]    Books columns count: 44
[20-Nov-2025 17:02:21 UTC]    Categories columns count: 7
[20-Nov-2025 17:02:21 UTC]    Language field in books: YES
[20-Nov-2025 17:02:21 UTC]    Format field in books: YES
[20-Nov-2025 17:02:21 UTC]    Description field in categories: YES
[20-Nov-2025 17:02:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:02:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:02:21 UTC]    Is_active field in books: YES
[20-Nov-2025 17:02:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:02:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:02:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:02:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:02:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:02:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:02:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:02:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:02:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:02:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:02:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:02:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:02:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:02:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:02:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:02:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:02:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:02:30 UTC] 📊 Database Info:
[20-Nov-2025 17:02:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:02:30 UTC]    Books columns count: 44
[20-Nov-2025 17:02:30 UTC]    Categories columns count: 7
[20-Nov-2025 17:02:30 UTC]    Language field in books: YES
[20-Nov-2025 17:02:30 UTC]    Format field in books: YES
[20-Nov-2025 17:02:30 UTC]    Description field in categories: YES
[20-Nov-2025 17:02:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:02:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:02:30 UTC]    Is_active field in books: YES
[20-Nov-2025 17:02:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:02:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:02:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:02:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:02:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:02:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:02:30 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:02:30 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:02:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:02:30 UTC] 📊 Database Info:
[20-Nov-2025 17:02:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:02:30 UTC]    Books columns count: 44
[20-Nov-2025 17:02:30 UTC]    Categories columns count: 7
[20-Nov-2025 17:02:30 UTC]    Language field in books: YES
[20-Nov-2025 17:02:30 UTC]    Format field in books: YES
[20-Nov-2025 17:02:30 UTC]    Description field in categories: YES
[20-Nov-2025 17:02:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:02:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:02:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:02:30 UTC]    Is_active field in books: YES
[20-Nov-2025 17:02:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:02:30 UTC] 📊 Database Info:
[20-Nov-2025 17:02:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:02:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:02:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:02:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:02:30 UTC]    Books columns count: 44
[20-Nov-2025 17:02:30 UTC]    Categories columns count: 7
[20-Nov-2025 17:02:30 UTC]    Language field in books: YES
[20-Nov-2025 17:02:30 UTC]    Format field in books: YES
[20-Nov-2025 17:02:30 UTC]    Description field in categories: YES
[20-Nov-2025 17:02:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:02:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:02:30 UTC]    Is_active field in books: YES
[20-Nov-2025 17:02:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:02:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:02:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:02:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:02:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:02:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:02:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:02:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:02:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:02:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:02:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:02:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:02:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:02:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:02:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:02:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:02:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:02:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:02:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:02:58 UTC] 📊 Database Info:
[20-Nov-2025 17:02:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:02:58 UTC]    Books columns count: 44
[20-Nov-2025 17:02:58 UTC]    Categories columns count: 7
[20-Nov-2025 17:02:58 UTC]    Language field in books: YES
[20-Nov-2025 17:02:58 UTC]    Format field in books: YES
[20-Nov-2025 17:02:58 UTC]    Description field in categories: YES
[20-Nov-2025 17:02:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:02:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:02:58 UTC]    Is_active field in books: YES
[20-Nov-2025 17:02:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:02:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:02:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:02:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:02:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:02:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:02:58 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 17:02:58 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 17:02:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:02:58 UTC] 📊 Database Info:
[20-Nov-2025 17:02:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:02:58 UTC]    Books columns count: 44
[20-Nov-2025 17:02:58 UTC]    Categories columns count: 7
[20-Nov-2025 17:02:58 UTC]    Language field in books: YES
[20-Nov-2025 17:02:58 UTC]    Format field in books: YES
[20-Nov-2025 17:02:58 UTC]    Description field in categories: YES
[20-Nov-2025 17:02:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:02:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:02:58 UTC]    Is_active field in books: YES
[20-Nov-2025 17:02:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:02:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:02:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:02:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:02:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:02:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:02:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:02:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 17:02:58 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 17:02:58 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 17:02:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:02:58 UTC] 📊 Database Info:
[20-Nov-2025 17:02:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:02:58 UTC]    Books columns count: 44
[20-Nov-2025 17:02:58 UTC]    Categories columns count: 7
[20-Nov-2025 17:02:58 UTC]    Language field in books: YES
[20-Nov-2025 17:02:58 UTC]    Format field in books: YES
[20-Nov-2025 17:02:58 UTC]    Description field in categories: YES
[20-Nov-2025 17:02:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:02:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:02:58 UTC]    Is_active field in books: YES
[20-Nov-2025 17:02:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:02:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:02:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:02:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:02:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:02:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:02:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:02:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:02:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:02:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:59 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:02:59 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:02:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:02:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:59 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:02:59 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:02:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:02:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:02:59 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:02:59 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:02:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:02:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:02:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:02:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:02:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:02:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:59 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:02:59 UTC] 📊 Database Info:
[20-Nov-2025 17:02:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:02:59 UTC]    Books columns count: 44
[20-Nov-2025 17:02:59 UTC]    Categories columns count: 7
[20-Nov-2025 17:02:59 UTC]    Language field in books: YES
[20-Nov-2025 17:02:59 UTC]    Format field in books: YES
[20-Nov-2025 17:02:59 UTC]    Description field in categories: YES
[20-Nov-2025 17:02:59 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:02:59 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:02:59 UTC]    Is_active field in books: YES
[20-Nov-2025 17:02:59 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:02:59 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:02:59 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:02:59 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:02:59 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:02:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:02:59 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 17:02:59 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 17:02:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:59 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:02:59 UTC] 📊 Database Info:
[20-Nov-2025 17:02:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:02:59 UTC]    Books columns count: 44
[20-Nov-2025 17:02:59 UTC]    Categories columns count: 7
[20-Nov-2025 17:02:59 UTC]    Language field in books: YES
[20-Nov-2025 17:02:59 UTC]    Format field in books: YES
[20-Nov-2025 17:02:59 UTC]    Description field in categories: YES
[20-Nov-2025 17:02:59 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:02:59 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:02:59 UTC]    Is_active field in books: YES
[20-Nov-2025 17:02:59 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:02:59 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:02:59 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:02:59 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:02:59 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:02:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:02:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 17:02:59 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 17:02:59 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 17:02:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:02:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:02:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:02:59 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:02:59 UTC] 📊 Database Info:
[20-Nov-2025 17:02:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:02:59 UTC]    Books columns count: 44
[20-Nov-2025 17:02:59 UTC]    Categories columns count: 7
[20-Nov-2025 17:02:59 UTC]    Language field in books: YES
[20-Nov-2025 17:02:59 UTC]    Format field in books: YES
[20-Nov-2025 17:02:59 UTC]    Description field in categories: YES
[20-Nov-2025 17:02:59 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:02:59 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:02:59 UTC]    Is_active field in books: YES
[20-Nov-2025 17:02:59 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:02:59 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:02:59 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:02:59 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:02:59 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:02:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:02:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:03:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:03:05 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:03:05 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:03:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:03:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:03:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:03:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:03:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:03:05 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:03:05 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:03:05 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:03:05 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:03:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:03:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:03:05 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:03:05 UTC] 📊 Database Info:
[20-Nov-2025 17:03:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:03:05 UTC]    Books columns count: 44
[20-Nov-2025 17:03:05 UTC]    Categories columns count: 7
[20-Nov-2025 17:03:05 UTC]    Language field in books: YES
[20-Nov-2025 17:03:05 UTC]    Format field in books: YES
[20-Nov-2025 17:03:05 UTC]    Description field in categories: YES
[20-Nov-2025 17:03:05 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:03:05 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:03:05 UTC]    Is_active field in books: YES
[20-Nov-2025 17:03:05 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:03:05 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:03:05 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:03:05 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:03:05 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:03:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:03:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:03:05 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:03:05 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:03:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:03:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:03:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:03:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:03:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:03:05 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:03:05 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:03:05 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:03:05 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:03:05 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:03:05 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:03:05 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:03:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:03:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:03:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:03:05 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:03:05 UTC] 📊 Database Info:
[20-Nov-2025 17:03:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:03:05 UTC]    Books columns count: 44
[20-Nov-2025 17:03:05 UTC]    Categories columns count: 7
[20-Nov-2025 17:03:05 UTC]    Language field in books: YES
[20-Nov-2025 17:03:05 UTC]    Format field in books: YES
[20-Nov-2025 17:03:05 UTC]    Description field in categories: YES
[20-Nov-2025 17:03:05 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:03:05 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:03:05 UTC]    Is_active field in books: YES
[20-Nov-2025 17:03:05 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:03:05 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:03:05 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:03:05 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:03:05 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:03:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:03:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:04:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:04:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:04:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:04:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:04:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:04:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:04:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:04:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:04:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:04:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:04:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:04:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:04:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:04:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:04:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:04:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:04:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:04:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:04:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:04:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:04:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:04:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:04:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:04:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:04:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:04:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:04:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:04:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:04:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:04:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:04:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:04:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:04:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:04:23 UTC] 📊 Database Info:
[20-Nov-2025 17:04:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:04:23 UTC]    Books columns count: 44
[20-Nov-2025 17:04:23 UTC]    Categories columns count: 7
[20-Nov-2025 17:04:23 UTC]    Language field in books: YES
[20-Nov-2025 17:04:23 UTC]    Format field in books: YES
[20-Nov-2025 17:04:23 UTC]    Description field in categories: YES
[20-Nov-2025 17:04:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:04:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:04:23 UTC]    Is_active field in books: YES
[20-Nov-2025 17:04:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:04:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:04:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:04:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:04:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:04:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:04:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:04:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:04:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:04:23 UTC] 📊 Database Info:
[20-Nov-2025 17:04:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:04:23 UTC]    Books columns count: 44
[20-Nov-2025 17:04:23 UTC]    Categories columns count: 7
[20-Nov-2025 17:04:23 UTC]    Language field in books: YES
[20-Nov-2025 17:04:23 UTC]    Format field in books: YES
[20-Nov-2025 17:04:23 UTC]    Description field in categories: YES
[20-Nov-2025 17:04:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:04:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:04:23 UTC]    Is_active field in books: YES
[20-Nov-2025 17:04:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:04:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:04:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:04:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:04:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:04:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:04:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:04:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:04:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:04:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:04:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:04:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:04:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:04:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:04:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:04:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:04:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:04:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:04:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:04:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:04:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:04:23 UTC] 📊 Database Info:
[20-Nov-2025 17:04:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:04:23 UTC]    Books columns count: 44
[20-Nov-2025 17:04:23 UTC]    Categories columns count: 7
[20-Nov-2025 17:04:23 UTC]    Language field in books: YES
[20-Nov-2025 17:04:23 UTC]    Format field in books: YES
[20-Nov-2025 17:04:23 UTC]    Description field in categories: YES
[20-Nov-2025 17:04:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:04:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:04:23 UTC]    Is_active field in books: YES
[20-Nov-2025 17:04:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:04:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:04:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:04:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:04:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:04:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:04:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:04:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:04:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:04:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:04:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:04:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:04:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:04:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:04:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:04:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:04:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:04:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:04:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:04:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:04:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:04:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:04:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:04:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:04:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:04:23 UTC] 📊 Database Info:
[20-Nov-2025 17:04:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:04:23 UTC]    Books columns count: 44
[20-Nov-2025 17:04:23 UTC]    Categories columns count: 7
[20-Nov-2025 17:04:23 UTC]    Language field in books: YES
[20-Nov-2025 17:04:23 UTC]    Format field in books: YES
[20-Nov-2025 17:04:23 UTC]    Description field in categories: YES
[20-Nov-2025 17:04:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:04:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:04:23 UTC]    Is_active field in books: YES
[20-Nov-2025 17:04:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:04:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:04:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:04:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:04:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:04:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:04:23 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:04:23 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:04:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:04:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:04:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:04:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:04:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:04:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:04:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:04:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:04:28 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:04:28 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:04:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:04:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:04:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:04:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:04:28 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:04:28 UTC] 📊 Database Info:
[20-Nov-2025 17:04:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:04:28 UTC]    Books columns count: 44
[20-Nov-2025 17:04:28 UTC]    Categories columns count: 7
[20-Nov-2025 17:04:28 UTC]    Language field in books: YES
[20-Nov-2025 17:04:28 UTC]    Format field in books: YES
[20-Nov-2025 17:04:28 UTC]    Description field in categories: YES
[20-Nov-2025 17:04:28 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:04:28 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:04:28 UTC]    Is_active field in books: YES
[20-Nov-2025 17:04:28 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:04:28 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:04:28 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:04:28 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:04:28 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:04:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:04:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:04:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:04:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:04:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:04:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:04:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:04:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:04:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:04:28 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:04:28 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:04:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:04:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:04:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:04:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:04:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:04:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:04:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:04:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:04:28 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:04:28 UTC] 📊 Database Info:
[20-Nov-2025 17:04:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:04:28 UTC]    Books columns count: 44
[20-Nov-2025 17:04:28 UTC]    Categories columns count: 7
[20-Nov-2025 17:04:28 UTC]    Language field in books: YES
[20-Nov-2025 17:04:28 UTC]    Format field in books: YES
[20-Nov-2025 17:04:28 UTC]    Description field in categories: YES
[20-Nov-2025 17:04:28 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:04:28 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:04:28 UTC]    Is_active field in books: YES
[20-Nov-2025 17:04:28 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:04:28 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:04:28 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:04:28 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:04:28 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:04:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:04:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:04:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:04:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:04:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:04:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:04:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:04:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:04:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:04:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:04:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:04:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:04:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:04:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:04:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:04:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:04:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:04:49 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:04:49 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:04:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:04:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:04:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:04:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:04:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:04:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:04:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:04:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:04:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:04:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:04:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:04:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:04:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:04:49 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:04:49 UTC] 📊 Database Info:
[20-Nov-2025 17:04:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:04:49 UTC]    Books columns count: 44
[20-Nov-2025 17:04:49 UTC]    Categories columns count: 7
[20-Nov-2025 17:04:49 UTC]    Language field in books: YES
[20-Nov-2025 17:04:49 UTC]    Format field in books: YES
[20-Nov-2025 17:04:49 UTC]    Description field in categories: YES
[20-Nov-2025 17:04:49 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:04:49 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:04:49 UTC]    Is_active field in books: YES
[20-Nov-2025 17:04:49 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:04:49 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:04:49 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:04:49 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:04:49 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:04:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:04:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:04:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:04:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:04:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:04:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:04:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:04:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:04:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:04:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:04:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:04:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:04:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:05:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:05:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:05:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:05:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:05:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:05:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:05:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:05:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:05:15 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:05:15 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:05:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:05:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:05:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:05:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:05:15 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:05:15 UTC] 📊 Database Info:
[20-Nov-2025 17:05:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:05:15 UTC]    Books columns count: 44
[20-Nov-2025 17:05:15 UTC]    Categories columns count: 7
[20-Nov-2025 17:05:15 UTC]    Language field in books: YES
[20-Nov-2025 17:05:15 UTC]    Format field in books: YES
[20-Nov-2025 17:05:15 UTC]    Description field in categories: YES
[20-Nov-2025 17:05:15 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:05:15 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:05:15 UTC]    Is_active field in books: YES
[20-Nov-2025 17:05:15 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:05:15 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:05:15 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:05:15 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:05:15 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:05:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:05:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:05:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:05:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:05:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:05:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:05:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:05:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:05:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:05:15 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:05:15 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:05:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:05:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:05:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:05:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:05:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:05:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:05:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:05:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:05:15 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:05:15 UTC] 📊 Database Info:
[20-Nov-2025 17:05:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:05:15 UTC]    Books columns count: 44
[20-Nov-2025 17:05:15 UTC]    Categories columns count: 7
[20-Nov-2025 17:05:15 UTC]    Language field in books: YES
[20-Nov-2025 17:05:15 UTC]    Format field in books: YES
[20-Nov-2025 17:05:15 UTC]    Description field in categories: YES
[20-Nov-2025 17:05:15 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:05:15 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:05:15 UTC]    Is_active field in books: YES
[20-Nov-2025 17:05:15 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:05:15 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:05:15 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:05:15 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:05:15 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:05:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:05:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:05:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:05:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:05:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:05:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:05:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:05:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:05:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:05:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:05:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:05:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:05:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:05:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:05:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:05:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:05:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:05:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:05:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:05:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:05:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:05:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:05:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:05:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:05:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:05:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:05:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:05:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:05:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:05:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:05:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:05:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:05:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:05:23 UTC] 📊 Database Info:
[20-Nov-2025 17:05:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:05:23 UTC]    Books columns count: 44
[20-Nov-2025 17:05:23 UTC]    Categories columns count: 7
[20-Nov-2025 17:05:23 UTC]    Language field in books: YES
[20-Nov-2025 17:05:23 UTC]    Format field in books: YES
[20-Nov-2025 17:05:23 UTC]    Description field in categories: YES
[20-Nov-2025 17:05:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:05:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:05:23 UTC]    Is_active field in books: YES
[20-Nov-2025 17:05:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:05:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:05:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:05:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:05:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:05:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:05:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:05:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:05:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:05:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:05:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:05:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:05:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:05:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:05:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:05:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:05:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:05:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:05:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:05:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:05:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:05:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:05:32 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:05:32 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:05:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:05:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:05:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:05:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:05:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:05:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:05:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:05:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:05:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:05:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:05:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:05:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:05:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:05:32 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:05:32 UTC] 📊 Database Info:
[20-Nov-2025 17:05:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:05:32 UTC]    Books columns count: 44
[20-Nov-2025 17:05:32 UTC]    Categories columns count: 7
[20-Nov-2025 17:05:32 UTC]    Language field in books: YES
[20-Nov-2025 17:05:32 UTC]    Format field in books: YES
[20-Nov-2025 17:05:32 UTC]    Description field in categories: YES
[20-Nov-2025 17:05:32 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:05:32 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:05:32 UTC]    Is_active field in books: YES
[20-Nov-2025 17:05:32 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:05:32 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:05:32 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:05:32 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:05:32 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:05:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:05:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:05:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:05:34 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:05:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:05:34 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:05:34 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:05:34 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:05:34 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:05:34 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:05:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:05:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:05:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:05:34 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:05:34 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:05:34 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:05:34 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:05:34 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:05:34 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:05:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:05:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:05:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:05:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:05:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:05:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:05:34 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:05:34 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:05:34 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:05:34 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:05:34 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:05:34 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:05:34 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:05:34 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:05:34 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:05:34 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:05:34 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:05:34 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:05:34 UTC] 📊 Database Info:
[20-Nov-2025 17:05:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:05:34 UTC]    Books columns count: 44
[20-Nov-2025 17:05:34 UTC]    Categories columns count: 7
[20-Nov-2025 17:05:34 UTC]    Language field in books: YES
[20-Nov-2025 17:05:34 UTC]    Format field in books: YES
[20-Nov-2025 17:05:34 UTC]    Description field in categories: YES
[20-Nov-2025 17:05:34 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:05:34 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:05:34 UTC]    Is_active field in books: YES
[20-Nov-2025 17:05:34 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:05:34 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:05:34 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:05:34 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:05:34 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:05:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:05:34 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:05:34 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:05:34 UTC] 📊 Database Info:
[20-Nov-2025 17:05:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:05:34 UTC]    Books columns count: 44
[20-Nov-2025 17:05:34 UTC]    Categories columns count: 7
[20-Nov-2025 17:05:34 UTC]    Language field in books: YES
[20-Nov-2025 17:05:34 UTC]    Format field in books: YES
[20-Nov-2025 17:05:34 UTC]    Description field in categories: YES
[20-Nov-2025 17:05:34 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:05:34 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:05:34 UTC]    Is_active field in books: YES
[20-Nov-2025 17:05:34 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:05:34 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:05:34 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:05:34 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:05:34 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:05:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:05:34 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:05:34 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:05:34 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:05:34 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:05:34 UTC] 📊 Database Info:
[20-Nov-2025 17:05:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:05:34 UTC]    Books columns count: 44
[20-Nov-2025 17:05:34 UTC]    Categories columns count: 7
[20-Nov-2025 17:05:34 UTC]    Language field in books: YES
[20-Nov-2025 17:05:34 UTC]    Format field in books: YES
[20-Nov-2025 17:05:34 UTC]    Description field in categories: YES
[20-Nov-2025 17:05:34 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:05:34 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:05:34 UTC]    Is_active field in books: YES
[20-Nov-2025 17:05:34 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:05:34 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:05:34 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:05:34 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:05:34 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:05:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:05:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:05:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:05:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:05:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:05:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:05:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:05:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:05:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:05:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:05:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:05:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:05:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:05:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:05:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:05:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:05:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:05:35 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:05:35 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:05:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:05:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:05:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:05:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:05:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:05:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:05:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:05:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:05:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:05:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:05:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:05:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:05:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:05:35 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:05:35 UTC] 📊 Database Info:
[20-Nov-2025 17:05:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:05:35 UTC]    Books columns count: 44
[20-Nov-2025 17:05:35 UTC]    Categories columns count: 7
[20-Nov-2025 17:05:35 UTC]    Language field in books: YES
[20-Nov-2025 17:05:35 UTC]    Format field in books: YES
[20-Nov-2025 17:05:35 UTC]    Description field in categories: YES
[20-Nov-2025 17:05:35 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:05:35 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:05:35 UTC]    Is_active field in books: YES
[20-Nov-2025 17:05:35 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:05:35 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:05:35 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:05:35 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:05:35 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:05:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:05:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:07:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:07:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:07:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:07:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:07:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:07:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:07:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:07:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:07:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:07:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:07:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:07:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:07:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:07:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:07:42 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:07:42 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:07:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:07:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:07:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:07:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:07:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:07:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:07:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:07:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:07:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:07:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:07:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:07:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:07:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:07:42 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:07:42 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:07:42 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:07:42 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:07:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:07:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:07:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:07:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:07:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:07:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:07:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:07:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:07:42 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:07:42 UTC] 📊 Database Info:
[20-Nov-2025 17:07:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:07:42 UTC]    Books columns count: 44
[20-Nov-2025 17:07:42 UTC]    Categories columns count: 7
[20-Nov-2025 17:07:42 UTC]    Language field in books: YES
[20-Nov-2025 17:07:42 UTC]    Format field in books: YES
[20-Nov-2025 17:07:42 UTC]    Description field in categories: YES
[20-Nov-2025 17:07:42 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:07:42 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:07:42 UTC]    Is_active field in books: YES
[20-Nov-2025 17:07:42 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:07:42 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:07:42 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:07:42 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:07:42 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:07:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:07:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:07:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:07:42 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:07:42 UTC] 📊 Database Info:
[20-Nov-2025 17:07:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:07:42 UTC]    Books columns count: 44
[20-Nov-2025 17:07:42 UTC]    Categories columns count: 7
[20-Nov-2025 17:07:42 UTC]    Language field in books: YES
[20-Nov-2025 17:07:42 UTC]    Format field in books: YES
[20-Nov-2025 17:07:42 UTC]    Description field in categories: YES
[20-Nov-2025 17:07:42 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:07:42 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:07:42 UTC]    Is_active field in books: YES
[20-Nov-2025 17:07:42 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:07:42 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:07:42 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:07:42 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:07:42 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:07:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:07:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:07:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:07:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:07:42 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:07:42 UTC] 📊 Database Info:
[20-Nov-2025 17:07:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:07:42 UTC]    Books columns count: 44
[20-Nov-2025 17:07:42 UTC]    Categories columns count: 7
[20-Nov-2025 17:07:42 UTC]    Language field in books: YES
[20-Nov-2025 17:07:42 UTC]    Format field in books: YES
[20-Nov-2025 17:07:42 UTC]    Description field in categories: YES
[20-Nov-2025 17:07:42 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:07:42 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:07:42 UTC]    Is_active field in books: YES
[20-Nov-2025 17:07:42 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:07:42 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:07:42 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:07:42 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:07:42 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:07:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:07:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:07:42 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:07:42 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:07:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:07:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:07:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:07:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:07:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:07:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:07:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:07:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:07:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:07:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:07:47 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:07:47 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:07:47 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:07:47 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:07:47 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:07:47 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:07:47 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:07:47 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:07:47 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:07:47 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:07:47 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:07:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:07:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:07:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:07:47 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:07:47 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:07:47 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:07:47 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:07:47 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:07:47 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:07:47 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:07:47 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:07:47 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:07:47 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:07:47 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:07:47 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:07:47 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:07:47 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:07:47 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:07:47 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:07:47 UTC] 📊 Database Info:
[20-Nov-2025 17:07:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:07:47 UTC]    Books columns count: 44
[20-Nov-2025 17:07:47 UTC]    Categories columns count: 7
[20-Nov-2025 17:07:47 UTC]    Language field in books: YES
[20-Nov-2025 17:07:47 UTC]    Format field in books: YES
[20-Nov-2025 17:07:47 UTC]    Description field in categories: YES
[20-Nov-2025 17:07:47 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:07:47 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:07:47 UTC]    Is_active field in books: YES
[20-Nov-2025 17:07:47 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:07:47 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:07:47 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:07:47 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:07:47 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:07:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:08:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:08:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:08:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:08:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:08:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:08:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:08:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:08:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:08:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:08:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:08:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:08:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:08:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:08:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:08:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:08:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:08:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:08:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:08:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:08:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:08:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:08:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:08:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:08:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:08:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:08:01 UTC] 📊 Database Info:
[20-Nov-2025 17:08:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:08:01 UTC]    Books columns count: 44
[20-Nov-2025 17:08:01 UTC]    Categories columns count: 7
[20-Nov-2025 17:08:01 UTC]    Language field in books: YES
[20-Nov-2025 17:08:01 UTC]    Format field in books: YES
[20-Nov-2025 17:08:01 UTC]    Description field in categories: YES
[20-Nov-2025 17:08:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:08:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:08:01 UTC]    Is_active field in books: YES
[20-Nov-2025 17:08:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:08:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:08:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:08:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:08:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:08:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:08:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:08:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:08:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:08:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:08:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:08:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:08:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:08:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:08:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:08:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:08:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:08:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:08:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:08:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:08:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:08:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:08:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:08:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:08:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:08:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:08:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:08:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:08:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:08:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:08:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:08:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:08:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:08:01 UTC] 📊 Database Info:
[20-Nov-2025 17:08:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:08:01 UTC]    Books columns count: 44
[20-Nov-2025 17:08:01 UTC]    Categories columns count: 7
[20-Nov-2025 17:08:01 UTC]    Language field in books: YES
[20-Nov-2025 17:08:01 UTC]    Format field in books: YES
[20-Nov-2025 17:08:01 UTC]    Description field in categories: YES
[20-Nov-2025 17:08:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:08:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:08:01 UTC]    Is_active field in books: YES
[20-Nov-2025 17:08:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:08:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:08:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:08:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:08:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:08:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:08:01 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:08:01 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:08:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:08:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:08:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:08:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:08:01 UTC] 📊 Database Info:
[20-Nov-2025 17:08:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:08:01 UTC]    Books columns count: 44
[20-Nov-2025 17:08:01 UTC]    Categories columns count: 7
[20-Nov-2025 17:08:01 UTC]    Language field in books: YES
[20-Nov-2025 17:08:01 UTC]    Format field in books: YES
[20-Nov-2025 17:08:01 UTC]    Description field in categories: YES
[20-Nov-2025 17:08:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:08:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:08:01 UTC]    Is_active field in books: YES
[20-Nov-2025 17:08:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:08:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:08:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:08:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:08:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:08:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:08:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:09:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:09:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:09:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:09:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:09:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:09:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:09:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:09:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:09:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:09:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:09:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:09:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:09:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:09:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:09:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:09:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:09:16 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:09:16 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:09:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:09:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:09:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:09:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:09:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:09:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:09:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:09:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:09:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:09:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:09:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:09:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:09:16 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:09:16 UTC] 📊 Database Info:
[20-Nov-2025 17:09:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:09:16 UTC]    Books columns count: 44
[20-Nov-2025 17:09:16 UTC]    Categories columns count: 7
[20-Nov-2025 17:09:16 UTC]    Language field in books: YES
[20-Nov-2025 17:09:16 UTC]    Format field in books: YES
[20-Nov-2025 17:09:16 UTC]    Description field in categories: YES
[20-Nov-2025 17:09:16 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:09:16 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:09:16 UTC]    Is_active field in books: YES
[20-Nov-2025 17:09:16 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:09:16 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:09:16 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:09:16 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:09:16 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:09:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:09:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:09:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:09:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:09:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:09:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:09:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:09:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:09:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:09:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:09:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:09:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:09:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:09:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:09:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:09:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:09:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:09:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:09:17 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:09:17 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:09:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:09:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:09:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:09:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:09:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:09:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:09:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:09:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:09:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:09:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:09:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:09:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:09:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:09:17 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:09:17 UTC] 📊 Database Info:
[20-Nov-2025 17:09:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:09:17 UTC]    Books columns count: 44
[20-Nov-2025 17:09:17 UTC]    Categories columns count: 7
[20-Nov-2025 17:09:17 UTC]    Language field in books: YES
[20-Nov-2025 17:09:17 UTC]    Format field in books: YES
[20-Nov-2025 17:09:17 UTC]    Description field in categories: YES
[20-Nov-2025 17:09:17 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:09:17 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:09:17 UTC]    Is_active field in books: YES
[20-Nov-2025 17:09:17 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:09:17 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:09:17 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:09:17 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:09:17 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:09:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:09:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:09:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:09:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:09:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:09:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:09:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:09:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:09:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:09:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:09:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:09:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:09:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:09:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:09:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:09:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:09:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:09:22 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:09:22 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:09:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:09:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:09:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:09:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:09:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:09:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:09:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:09:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:09:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:09:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:09:22 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:09:22 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:09:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:09:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:09:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:09:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:09:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:09:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:09:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:09:22 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:09:22 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:09:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:09:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:09:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:09:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:09:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:09:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:09:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:09:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:09:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:09:22 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:09:22 UTC] 📊 Database Info:
[20-Nov-2025 17:09:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:09:22 UTC]    Books columns count: 44
[20-Nov-2025 17:09:22 UTC]    Categories columns count: 7
[20-Nov-2025 17:09:22 UTC]    Language field in books: YES
[20-Nov-2025 17:09:22 UTC]    Format field in books: YES
[20-Nov-2025 17:09:22 UTC]    Description field in categories: YES
[20-Nov-2025 17:09:22 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:09:22 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:09:22 UTC]    Is_active field in books: YES
[20-Nov-2025 17:09:22 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:09:22 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:09:22 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:09:22 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:09:22 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:09:22 UTC] 📊 Database Info:
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:09:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:09:22 UTC]    Books columns count: 44
[20-Nov-2025 17:09:22 UTC]    Categories columns count: 7
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:09:22 UTC]    Language field in books: YES
[20-Nov-2025 17:09:22 UTC]    Format field in books: YES
[20-Nov-2025 17:09:22 UTC]    Description field in categories: YES
[20-Nov-2025 17:09:22 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:09:22 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:09:22 UTC]    Is_active field in books: YES
[20-Nov-2025 17:09:22 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:09:22 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:09:22 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:09:22 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:09:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:09:22 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:09:22 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:09:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:09:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:09:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:09:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:09:22 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:09:22 UTC] 📊 Database Info:
[20-Nov-2025 17:09:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:09:22 UTC]    Books columns count: 44
[20-Nov-2025 17:09:22 UTC]    Categories columns count: 7
[20-Nov-2025 17:09:22 UTC]    Language field in books: YES
[20-Nov-2025 17:09:22 UTC]    Format field in books: YES
[20-Nov-2025 17:09:22 UTC]    Description field in categories: YES
[20-Nov-2025 17:09:22 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:09:22 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:09:22 UTC]    Is_active field in books: YES
[20-Nov-2025 17:09:22 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:09:22 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:09:22 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:09:22 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:09:22 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:09:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:09:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:09:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:09:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:09:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:09:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:09:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:09:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:09:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:09:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:09:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:09:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:09:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:09:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:09:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:09:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:09:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:09:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:09:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:09:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:09:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:09:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:09:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:09:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:09:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:09:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:09:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:09:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:09:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:09:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:09:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:09:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:09:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:09:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:09:23 UTC] 📊 Database Info:
[20-Nov-2025 17:09:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:09:23 UTC]    Books columns count: 44
[20-Nov-2025 17:09:23 UTC]    Categories columns count: 7
[20-Nov-2025 17:09:23 UTC]    Language field in books: YES
[20-Nov-2025 17:09:23 UTC]    Format field in books: YES
[20-Nov-2025 17:09:23 UTC]    Description field in categories: YES
[20-Nov-2025 17:09:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:09:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:09:23 UTC]    Is_active field in books: YES
[20-Nov-2025 17:09:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:09:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:09:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:09:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:09:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:09:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:09:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:09:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:09:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:09:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:09:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:09:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:09:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:09:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:09:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:09:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:09:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:09:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:09:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:09:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:09:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:09:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:09:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:09:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:09:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:09:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:09:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:09:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:09:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:09:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:09:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:09:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:09:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:09:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:09:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:09:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:09:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:09:34 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:09:34 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:09:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:09:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:09:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:09:34 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:09:34 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:09:34 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:09:34 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:09:34 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:09:34 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:09:34 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:09:34 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:09:34 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:09:34 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:09:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:09:34 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:09:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:09:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:09:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:09:34 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:09:34 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:09:34 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:09:34 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:09:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:09:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:09:34 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:09:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:09:34 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:09:34 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:09:34 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:09:34 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:09:34 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:09:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:09:34 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:09:34 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:09:34 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:09:34 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:09:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:09:34 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:09:34 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:09:34 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:09:34 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:09:34 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:09:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:09:34 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:09:34 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:09:34 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:09:34 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:09:34 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:09:34 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:09:34 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:09:34 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:09:34 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:09:34 UTC] 📊 Database Info:
[20-Nov-2025 17:09:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:09:34 UTC]    Books columns count: 44
[20-Nov-2025 17:09:34 UTC]    Categories columns count: 7
[20-Nov-2025 17:09:34 UTC]    Language field in books: YES
[20-Nov-2025 17:09:34 UTC]    Format field in books: YES
[20-Nov-2025 17:09:34 UTC]    Description field in categories: YES
[20-Nov-2025 17:09:34 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:09:34 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:09:34 UTC]    Is_active field in books: YES
[20-Nov-2025 17:09:34 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:09:34 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:09:34 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:09:34 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:09:34 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:09:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:09:34 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:09:34 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:09:34 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:09:34 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:09:34 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:09:34 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:09:34 UTC] 📊 Database Info:
[20-Nov-2025 17:09:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:09:34 UTC]    Books columns count: 44
[20-Nov-2025 17:09:34 UTC]    Categories columns count: 7
[20-Nov-2025 17:09:34 UTC]    Language field in books: YES
[20-Nov-2025 17:09:34 UTC]    Format field in books: YES
[20-Nov-2025 17:09:34 UTC]    Description field in categories: YES
[20-Nov-2025 17:09:34 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:09:34 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:09:34 UTC]    Is_active field in books: YES
[20-Nov-2025 17:09:34 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:09:34 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:09:34 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:09:34 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:09:34 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:09:34 UTC] 📊 Database Info:
[20-Nov-2025 17:09:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:09:34 UTC]    Books columns count: 44
[20-Nov-2025 17:09:34 UTC]    Categories columns count: 7
[20-Nov-2025 17:09:34 UTC]    Language field in books: YES
[20-Nov-2025 17:09:34 UTC]    Format field in books: YES
[20-Nov-2025 17:09:34 UTC]    Description field in categories: YES
[20-Nov-2025 17:09:34 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:09:34 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:09:34 UTC]    Is_active field in books: YES
[20-Nov-2025 17:09:34 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:09:34 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:09:34 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:09:34 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:09:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:09:34 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:09:34 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:09:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:09:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:12:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:12:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:12:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:12:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:12:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:12:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:12:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:12:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:12:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:12:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:12:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:12:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:12:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:12:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:12:06 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:12:06 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:12:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:12:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:12:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:12:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:12:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:12:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:12:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:12:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:12:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:12:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:12:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:12:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:12:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:12:06 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:12:06 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:12:06 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:12:06 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:12:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:12:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:12:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:12:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:12:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:12:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:12:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:12:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:12:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:12:06 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:12:06 UTC] 📊 Database Info:
[20-Nov-2025 17:12:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:12:06 UTC]    Books columns count: 44
[20-Nov-2025 17:12:06 UTC]    Categories columns count: 7
[20-Nov-2025 17:12:06 UTC]    Language field in books: YES
[20-Nov-2025 17:12:06 UTC]    Format field in books: YES
[20-Nov-2025 17:12:06 UTC]    Description field in categories: YES
[20-Nov-2025 17:12:06 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:12:06 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:12:06 UTC]    Is_active field in books: YES
[20-Nov-2025 17:12:06 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:12:06 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:12:06 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:12:06 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:12:06 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:12:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:12:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:12:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:12:06 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:12:06 UTC] 📊 Database Info:
[20-Nov-2025 17:12:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:12:06 UTC]    Books columns count: 44
[20-Nov-2025 17:12:06 UTC]    Categories columns count: 7
[20-Nov-2025 17:12:06 UTC]    Language field in books: YES
[20-Nov-2025 17:12:06 UTC]    Format field in books: YES
[20-Nov-2025 17:12:06 UTC]    Description field in categories: YES
[20-Nov-2025 17:12:06 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:12:06 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:12:06 UTC]    Is_active field in books: YES
[20-Nov-2025 17:12:06 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:12:06 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:12:06 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:12:06 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:12:06 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:12:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:12:06 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:12:06 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:12:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:12:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:12:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:12:06 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:12:06 UTC] 📊 Database Info:
[20-Nov-2025 17:12:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:12:06 UTC]    Books columns count: 44
[20-Nov-2025 17:12:06 UTC]    Categories columns count: 7
[20-Nov-2025 17:12:06 UTC]    Language field in books: YES
[20-Nov-2025 17:12:06 UTC]    Format field in books: YES
[20-Nov-2025 17:12:06 UTC]    Description field in categories: YES
[20-Nov-2025 17:12:06 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:12:06 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:12:06 UTC]    Is_active field in books: YES
[20-Nov-2025 17:12:06 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:12:06 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:12:06 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:12:06 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:12:06 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:12:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:12:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:13:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:13:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:13:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:13:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:13:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:13:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:13:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:13:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:13:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:13:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:13:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:13:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:13:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:13:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:13:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:13:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:13:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:13:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:13:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:13:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:13:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:13:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:13:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:13:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:13:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:13:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:13:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:13:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:13:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:13:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:13:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:13:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:13:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:13:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:13:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:13:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:13:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:13:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:13:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:13:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:13:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:13:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:13:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:13:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:13:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:13:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:13:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:13:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:13:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:13:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:13:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:13:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:13:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:13:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:13:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:13:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:13:52 UTC] 📊 Database Info:
[20-Nov-2025 17:13:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:13:52 UTC]    Books columns count: 44
[20-Nov-2025 17:13:52 UTC]    Categories columns count: 7
[20-Nov-2025 17:13:52 UTC]    Language field in books: YES
[20-Nov-2025 17:13:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:13:52 UTC]    Format field in books: YES
[20-Nov-2025 17:13:52 UTC]    Description field in categories: YES
[20-Nov-2025 17:13:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:13:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:13:52 UTC]    Is_active field in books: YES
[20-Nov-2025 17:13:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:13:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:13:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:13:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:13:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:13:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:13:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:13:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:13:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:13:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:13:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:13:52 UTC] 📊 Database Info:
[20-Nov-2025 17:13:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:13:52 UTC]    Books columns count: 44
[20-Nov-2025 17:13:52 UTC]    Categories columns count: 7
[20-Nov-2025 17:13:52 UTC]    Language field in books: YES
[20-Nov-2025 17:13:52 UTC]    Format field in books: YES
[20-Nov-2025 17:13:52 UTC]    Description field in categories: YES
[20-Nov-2025 17:13:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:13:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:13:52 UTC]    Is_active field in books: YES
[20-Nov-2025 17:13:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:13:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:13:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:13:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:13:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:13:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:13:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:13:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:13:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:13:52 UTC] 📊 Database Info:
[20-Nov-2025 17:13:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:13:52 UTC]    Books columns count: 44
[20-Nov-2025 17:13:52 UTC]    Categories columns count: 7
[20-Nov-2025 17:13:52 UTC]    Language field in books: YES
[20-Nov-2025 17:13:52 UTC]    Format field in books: YES
[20-Nov-2025 17:13:52 UTC]    Description field in categories: YES
[20-Nov-2025 17:13:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:13:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:13:52 UTC]    Is_active field in books: YES
[20-Nov-2025 17:13:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:13:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:13:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:13:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:13:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:13:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:13:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:13:52 UTC] 📊 Database Info:
[20-Nov-2025 17:13:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:13:52 UTC]    Books columns count: 44
[20-Nov-2025 17:13:52 UTC]    Categories columns count: 7
[20-Nov-2025 17:13:52 UTC]    Language field in books: YES
[20-Nov-2025 17:13:52 UTC]    Format field in books: YES
[20-Nov-2025 17:13:52 UTC]    Description field in categories: YES
[20-Nov-2025 17:13:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:13:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:13:52 UTC]    Is_active field in books: YES
[20-Nov-2025 17:13:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:13:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:13:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:13:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:13:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:13:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:13:52 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:13:52 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:13:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:13:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:13:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:13:52 UTC] 📊 Database Info:
[20-Nov-2025 17:13:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:13:52 UTC]    Books columns count: 44
[20-Nov-2025 17:13:52 UTC]    Categories columns count: 7
[20-Nov-2025 17:13:52 UTC]    Language field in books: YES
[20-Nov-2025 17:13:52 UTC]    Format field in books: YES
[20-Nov-2025 17:13:52 UTC]    Description field in categories: YES
[20-Nov-2025 17:13:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:13:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:13:52 UTC]    Is_active field in books: YES
[20-Nov-2025 17:13:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:13:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:13:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:13:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:13:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:13:52 UTC] 📊 Database Info:
[20-Nov-2025 17:13:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:13:52 UTC]    Books columns count: 44
[20-Nov-2025 17:13:52 UTC]    Categories columns count: 7
[20-Nov-2025 17:13:52 UTC]    Language field in books: YES
[20-Nov-2025 17:13:52 UTC]    Format field in books: YES
[20-Nov-2025 17:13:52 UTC]    Description field in categories: YES
[20-Nov-2025 17:13:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:13:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:13:52 UTC]    Is_active field in books: YES
[20-Nov-2025 17:13:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:13:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:13:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:13:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:13:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:13:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:13:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:13:52 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:13:52 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:13:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:13:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:13:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:13:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:13:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:13:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:13:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:13:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:13:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:13:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:13:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:13:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:13:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:13:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:13:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:13:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:13:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:13:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:13:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:13:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:13:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:13:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:13:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:13:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:13:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:13:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:13:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:13:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:13:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:13:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:13:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:13:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:13:54 UTC] 📊 Database Info:
[20-Nov-2025 17:13:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:13:54 UTC]    Books columns count: 44
[20-Nov-2025 17:13:54 UTC]    Categories columns count: 7
[20-Nov-2025 17:13:54 UTC]    Language field in books: YES
[20-Nov-2025 17:13:54 UTC]    Format field in books: YES
[20-Nov-2025 17:13:54 UTC]    Description field in categories: YES
[20-Nov-2025 17:13:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:13:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:13:54 UTC]    Is_active field in books: YES
[20-Nov-2025 17:13:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:13:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:13:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:13:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:13:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:13:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:13:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:13:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:13:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:13:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:13:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:13:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:13:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:13:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:13:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:13:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:13:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:13:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:14:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:14:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:14:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:14:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:14:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:14:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:14:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:14:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:14:24 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:14:24 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:14:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:14:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:14:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:14:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:14:24 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:14:24 UTC] 📊 Database Info:
[20-Nov-2025 17:14:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:14:24 UTC]    Books columns count: 44
[20-Nov-2025 17:14:24 UTC]    Categories columns count: 7
[20-Nov-2025 17:14:24 UTC]    Language field in books: YES
[20-Nov-2025 17:14:24 UTC]    Format field in books: YES
[20-Nov-2025 17:14:24 UTC]    Description field in categories: YES
[20-Nov-2025 17:14:24 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:14:24 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:14:24 UTC]    Is_active field in books: YES
[20-Nov-2025 17:14:24 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:14:24 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:14:24 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:14:24 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:14:24 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:14:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:14:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:14:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:14:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:14:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:14:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:14:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:14:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:14:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:14:24 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:14:24 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:14:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:14:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:14:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:14:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:14:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:14:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:14:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:14:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:14:24 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:14:24 UTC] 📊 Database Info:
[20-Nov-2025 17:14:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:14:24 UTC]    Books columns count: 44
[20-Nov-2025 17:14:24 UTC]    Categories columns count: 7
[20-Nov-2025 17:14:24 UTC]    Language field in books: YES
[20-Nov-2025 17:14:24 UTC]    Format field in books: YES
[20-Nov-2025 17:14:24 UTC]    Description field in categories: YES
[20-Nov-2025 17:14:24 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:14:24 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:14:24 UTC]    Is_active field in books: YES
[20-Nov-2025 17:14:24 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:14:24 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:14:24 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:14:24 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:14:24 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:14:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:14:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:15:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:15:02 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:15:02 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:15:02 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:15:02 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:15:02 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:15:02 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:15:02 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:15:02 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:15:02 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:15:02 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:15:02 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:15:02 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:15:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:15:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:15:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:15:02 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:15:02 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:15:02 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:15:02 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:15:02 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:15:02 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:15:02 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:15:02 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:15:02 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:15:02 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:15:02 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:15:02 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:15:02 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:15:02 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:15:02 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:15:02 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:15:02 UTC] 📊 Database Info:
[20-Nov-2025 17:15:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:15:02 UTC]    Books columns count: 44
[20-Nov-2025 17:15:02 UTC]    Categories columns count: 7
[20-Nov-2025 17:15:02 UTC]    Language field in books: YES
[20-Nov-2025 17:15:02 UTC]    Format field in books: YES
[20-Nov-2025 17:15:02 UTC]    Description field in categories: YES
[20-Nov-2025 17:15:02 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:15:02 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:15:02 UTC]    Is_active field in books: YES
[20-Nov-2025 17:15:02 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:15:02 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:15:02 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:15:02 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:15:02 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:15:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:15:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:15:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:15:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:15:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:15:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:15:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:15:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:15:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:15:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:15:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:15:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:15:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:15:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:15:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:15:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:15:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:15:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:15:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:15:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:15:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:15:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:15:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:15:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:15:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:15:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:15:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:15:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:15:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:15:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:15:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:15:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:15:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:15:21 UTC] 📊 Database Info:
[20-Nov-2025 17:15:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:15:21 UTC]    Books columns count: 44
[20-Nov-2025 17:15:21 UTC]    Categories columns count: 7
[20-Nov-2025 17:15:21 UTC]    Language field in books: YES
[20-Nov-2025 17:15:21 UTC]    Format field in books: YES
[20-Nov-2025 17:15:21 UTC]    Description field in categories: YES
[20-Nov-2025 17:15:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:15:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:15:21 UTC]    Is_active field in books: YES
[20-Nov-2025 17:15:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:15:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:15:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:15:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:15:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:15:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:15:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:15:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:15:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:15:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:15:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:15:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:15:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:15:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:15:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:15:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:15:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:15:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:15:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:15:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:15:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:15:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:15:22 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:15:22 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:15:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:15:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:15:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:15:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:15:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:15:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:15:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:15:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:15:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:15:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:15:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:15:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:15:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:15:22 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:15:22 UTC] 📊 Database Info:
[20-Nov-2025 17:15:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:15:22 UTC]    Books columns count: 44
[20-Nov-2025 17:15:22 UTC]    Categories columns count: 7
[20-Nov-2025 17:15:22 UTC]    Language field in books: YES
[20-Nov-2025 17:15:22 UTC]    Format field in books: YES
[20-Nov-2025 17:15:22 UTC]    Description field in categories: YES
[20-Nov-2025 17:15:22 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:15:22 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:15:22 UTC]    Is_active field in books: YES
[20-Nov-2025 17:15:22 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:15:22 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:15:22 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:15:22 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:15:22 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:15:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:15:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:15:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:15:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:15:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:15:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:15:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:15:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:15:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:15:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:15:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:15:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:15:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:15:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:15:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:15:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:15:26 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:15:26 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:15:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:15:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:15:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:15:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:15:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:15:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:15:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:15:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:15:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:15:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:15:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:15:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:15:26 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:15:26 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:15:26 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:15:26 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:15:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:15:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:15:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:15:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:15:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:15:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:15:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:15:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:15:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:15:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:15:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:15:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:15:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:15:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:15:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:15:27 UTC] 📊 Database Info:
[20-Nov-2025 17:15:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:15:27 UTC]    Books columns count: 44
[20-Nov-2025 17:15:27 UTC]    Categories columns count: 7
[20-Nov-2025 17:15:27 UTC]    Language field in books: YES
[20-Nov-2025 17:15:27 UTC]    Format field in books: YES
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:15:27 UTC]    Description field in categories: YES
[20-Nov-2025 17:15:27 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:15:27 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:15:27 UTC]    Is_active field in books: YES
[20-Nov-2025 17:15:27 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:15:27 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:15:27 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:15:27 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:15:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:15:27 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:15:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:15:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:15:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:15:27 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:15:27 UTC] 📊 Database Info:
[20-Nov-2025 17:15:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:15:27 UTC]    Books columns count: 44
[20-Nov-2025 17:15:27 UTC]    Categories columns count: 7
[20-Nov-2025 17:15:27 UTC]    Language field in books: YES
[20-Nov-2025 17:15:27 UTC]    Format field in books: YES
[20-Nov-2025 17:15:27 UTC]    Description field in categories: YES
[20-Nov-2025 17:15:27 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:15:27 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:15:27 UTC]    Is_active field in books: YES
[20-Nov-2025 17:15:27 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:15:27 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:15:27 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:15:27 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:15:27 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:15:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:15:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:15:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:15:27 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:15:27 UTC] 📊 Database Info:
[20-Nov-2025 17:15:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:15:27 UTC]    Books columns count: 44
[20-Nov-2025 17:15:27 UTC]    Categories columns count: 7
[20-Nov-2025 17:15:27 UTC]    Language field in books: YES
[20-Nov-2025 17:15:27 UTC]    Format field in books: YES
[20-Nov-2025 17:15:27 UTC]    Description field in categories: YES
[20-Nov-2025 17:15:27 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:15:27 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:15:27 UTC]    Is_active field in books: YES
[20-Nov-2025 17:15:27 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:15:27 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:15:27 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:15:27 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:15:27 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:15:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:15:27 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:15:27 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:15:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:15:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:15:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:15:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:15:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:15:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:15:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:15:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:15:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:15:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:15:27 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:15:27 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:15:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:15:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:15:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:15:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:15:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:15:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:15:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:15:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:15:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:15:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:15:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:15:28 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:15:28 UTC] 📊 Database Info:
[20-Nov-2025 17:15:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:15:28 UTC]    Books columns count: 44
[20-Nov-2025 17:15:28 UTC]    Categories columns count: 7
[20-Nov-2025 17:15:28 UTC]    Language field in books: YES
[20-Nov-2025 17:15:28 UTC]    Format field in books: YES
[20-Nov-2025 17:15:28 UTC]    Description field in categories: YES
[20-Nov-2025 17:15:28 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:15:28 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:15:28 UTC]    Is_active field in books: YES
[20-Nov-2025 17:15:28 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:15:28 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:15:28 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:15:28 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:15:28 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:15:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:16:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:16:05 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:16:05 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:16:05 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:16:05 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:16:05 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:16:05 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:16:05 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:16:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:16:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:16:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:16:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:16:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:16:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:16:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:16:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:16:05 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:16:05 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:16:05 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:16:05 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:16:05 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:16:05 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:16:05 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:16:05 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:16:05 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:16:05 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:16:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:16:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:16:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:16:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:16:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:16:05 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:16:05 UTC] 📊 Database Info:
[20-Nov-2025 17:16:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:16:05 UTC]    Books columns count: 44
[20-Nov-2025 17:16:05 UTC]    Categories columns count: 7
[20-Nov-2025 17:16:05 UTC]    Language field in books: YES
[20-Nov-2025 17:16:05 UTC]    Format field in books: YES
[20-Nov-2025 17:16:05 UTC]    Description field in categories: YES
[20-Nov-2025 17:16:05 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:16:05 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:16:05 UTC]    Is_active field in books: YES
[20-Nov-2025 17:16:05 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:16:05 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:16:05 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:16:05 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:16:05 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:16:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:16:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:16:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:16:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:16:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:16:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:16:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:16:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:16:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:16:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:16:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:16:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:16:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:16:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:16:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:16:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:16:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:16:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:16:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:16:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:16:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:16:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:16:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:16:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:16:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:16:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:16:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:16:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:16:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:16:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:16:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:16:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:16:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:16:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:16:13 UTC] 📊 Database Info:
[20-Nov-2025 17:16:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:16:13 UTC]    Books columns count: 44
[20-Nov-2025 17:16:13 UTC]    Categories columns count: 7
[20-Nov-2025 17:16:13 UTC]    Language field in books: YES
[20-Nov-2025 17:16:13 UTC]    Format field in books: YES
[20-Nov-2025 17:16:13 UTC]    Description field in categories: YES
[20-Nov-2025 17:16:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:16:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:16:13 UTC]    Is_active field in books: YES
[20-Nov-2025 17:16:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:16:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:16:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:16:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:16:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:16:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:16:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:16:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:16:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:16:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:16:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:16:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:16:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:16:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:16:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:16:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:16:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:16:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:16:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:16:20 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:16:20 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:16:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:16:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:16:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:16:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:16:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:16:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:16:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:16:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:16:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:16:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:16:20 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:16:20 UTC] 📊 Database Info:
[20-Nov-2025 17:16:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:16:20 UTC]    Books columns count: 44
[20-Nov-2025 17:16:20 UTC]    Categories columns count: 7
[20-Nov-2025 17:16:20 UTC]    Language field in books: YES
[20-Nov-2025 17:16:20 UTC]    Format field in books: YES
[20-Nov-2025 17:16:20 UTC]    Description field in categories: YES
[20-Nov-2025 17:16:20 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:16:20 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:16:20 UTC]    Is_active field in books: YES
[20-Nov-2025 17:16:20 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:16:20 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:16:20 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:16:20 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:16:20 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:16:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:18:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:18:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:18:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:18:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:18:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:18:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:18:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:18:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:18:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:18:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:18:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:18:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:18:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:18:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:18:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:18:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:18:41 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:18:41 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:18:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:18:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:18:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:18:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:18:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:18:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:18:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:18:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:18:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:18:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:18:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:18:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:18:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:18:41 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:18:41 UTC] 📊 Database Info:
[20-Nov-2025 17:18:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:18:41 UTC]    Books columns count: 44
[20-Nov-2025 17:18:41 UTC]    Categories columns count: 7
[20-Nov-2025 17:18:41 UTC]    Language field in books: YES
[20-Nov-2025 17:18:41 UTC]    Format field in books: YES
[20-Nov-2025 17:18:41 UTC]    Description field in categories: YES
[20-Nov-2025 17:18:41 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:18:41 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:18:41 UTC]    Is_active field in books: YES
[20-Nov-2025 17:18:41 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:18:41 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:18:41 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:18:41 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:18:41 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:18:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:18:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:18:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:18:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:18:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:18:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:18:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:18:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:18:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:18:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:18:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:18:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:18:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:18:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:18:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:18:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:18:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:18:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:18:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:18:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:18:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:18:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:18:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:18:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:18:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:18:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:18:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:18:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:18:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:18:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:18:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:18:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:18:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:18:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:18:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:18:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:18:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:18:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:18:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:18:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:18:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:18:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:18:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:18:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:18:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:18:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:18:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:18:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:18:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:18:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:18:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:18:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:18:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:18:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:18:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:18:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:18:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:18:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:18:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:18:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:18:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:18:46 UTC] 📊 Database Info:
[20-Nov-2025 17:18:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:18:46 UTC]    Books columns count: 44
[20-Nov-2025 17:18:46 UTC]    Categories columns count: 7
[20-Nov-2025 17:18:46 UTC]    Language field in books: YES
[20-Nov-2025 17:18:46 UTC]    Format field in books: YES
[20-Nov-2025 17:18:46 UTC]    Description field in categories: YES
[20-Nov-2025 17:18:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:18:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:18:46 UTC]    Is_active field in books: YES
[20-Nov-2025 17:18:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:18:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:18:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:18:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:18:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:18:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:18:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:18:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:18:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:18:46 UTC] 📊 Database Info:
[20-Nov-2025 17:18:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:18:46 UTC]    Books columns count: 44
[20-Nov-2025 17:18:46 UTC]    Categories columns count: 7
[20-Nov-2025 17:18:46 UTC]    Language field in books: YES
[20-Nov-2025 17:18:46 UTC]    Format field in books: YES
[20-Nov-2025 17:18:46 UTC]    Description field in categories: YES
[20-Nov-2025 17:18:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:18:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:18:46 UTC]    Is_active field in books: YES
[20-Nov-2025 17:18:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:18:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:18:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:18:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:18:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:18:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:18:46 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:18:46 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:18:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:18:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:18:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:18:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:18:46 UTC] 📊 Database Info:
[20-Nov-2025 17:18:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:18:46 UTC]    Books columns count: 44
[20-Nov-2025 17:18:46 UTC]    Categories columns count: 7
[20-Nov-2025 17:18:46 UTC]    Language field in books: YES
[20-Nov-2025 17:18:46 UTC]    Format field in books: YES
[20-Nov-2025 17:18:46 UTC]    Description field in categories: YES
[20-Nov-2025 17:18:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:18:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:18:46 UTC]    Is_active field in books: YES
[20-Nov-2025 17:18:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:18:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:18:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:18:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:18:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:18:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:30:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:30:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:30:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:30:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:30:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:30:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:30:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:30:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:30:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:30:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:30:23 UTC] 📊 Database Info:
[20-Nov-2025 17:30:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:30:23 UTC]    Books columns count: 44
[20-Nov-2025 17:30:23 UTC]    Categories columns count: 7
[20-Nov-2025 17:30:23 UTC]    Language field in books: YES
[20-Nov-2025 17:30:23 UTC]    Format field in books: YES
[20-Nov-2025 17:30:23 UTC]    Description field in categories: YES
[20-Nov-2025 17:30:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:30:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:30:23 UTC]    Is_active field in books: YES
[20-Nov-2025 17:30:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:30:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:30:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:30:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:30:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:30:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:30:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:30:23 UTC] 📊 Database Info:
[20-Nov-2025 17:30:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:30:23 UTC]    Books columns count: 44
[20-Nov-2025 17:30:23 UTC]    Categories columns count: 7
[20-Nov-2025 17:30:23 UTC]    Language field in books: YES
[20-Nov-2025 17:30:23 UTC]    Format field in books: YES
[20-Nov-2025 17:30:23 UTC]    Description field in categories: YES
[20-Nov-2025 17:30:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:30:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:30:23 UTC]    Is_active field in books: YES
[20-Nov-2025 17:30:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:30:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:30:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:30:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:30:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:30:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:30:23 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 17:30:23 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 17:30:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:30:23 UTC] 📊 Database Info:
[20-Nov-2025 17:30:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:30:23 UTC]    Books columns count: 44
[20-Nov-2025 17:30:23 UTC]    Categories columns count: 7
[20-Nov-2025 17:30:23 UTC]    Language field in books: YES
[20-Nov-2025 17:30:23 UTC]    Format field in books: YES
[20-Nov-2025 17:30:23 UTC]    Description field in categories: YES
[20-Nov-2025 17:30:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:30:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:30:23 UTC]    Is_active field in books: YES
[20-Nov-2025 17:30:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:30:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:30:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:30:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:30:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:30:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:30:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 17:30:23 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 17:30:23 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 17:30:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:30:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:30:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:30:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:35 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:30:35 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:30:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:30:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:30:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:30:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:30:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:30:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:30:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:36 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:30:36 UTC] 📊 Database Info:
[20-Nov-2025 17:30:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:30:36 UTC]    Books columns count: 44
[20-Nov-2025 17:30:36 UTC]    Categories columns count: 7
[20-Nov-2025 17:30:36 UTC]    Language field in books: YES
[20-Nov-2025 17:30:36 UTC]    Format field in books: YES
[20-Nov-2025 17:30:36 UTC]    Description field in categories: YES
[20-Nov-2025 17:30:36 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:30:36 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:30:36 UTC]    Is_active field in books: YES
[20-Nov-2025 17:30:36 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:30:36 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:30:36 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:30:36 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:30:36 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:30:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:30:36 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:30:36 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:30:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:36 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:30:36 UTC] 📊 Database Info:
[20-Nov-2025 17:30:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:30:36 UTC]    Books columns count: 44
[20-Nov-2025 17:30:36 UTC]    Categories columns count: 7
[20-Nov-2025 17:30:36 UTC]    Language field in books: YES
[20-Nov-2025 17:30:36 UTC]    Format field in books: YES
[20-Nov-2025 17:30:36 UTC]    Description field in categories: YES
[20-Nov-2025 17:30:36 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:30:36 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:30:36 UTC]    Is_active field in books: YES
[20-Nov-2025 17:30:36 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:30:36 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:30:36 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:30:36 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:30:36 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:30:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:30:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:36 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:30:36 UTC] 📊 Database Info:
[20-Nov-2025 17:30:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:30:36 UTC]    Books columns count: 44
[20-Nov-2025 17:30:36 UTC]    Categories columns count: 7
[20-Nov-2025 17:30:36 UTC]    Language field in books: YES
[20-Nov-2025 17:30:36 UTC]    Format field in books: YES
[20-Nov-2025 17:30:36 UTC]    Description field in categories: YES
[20-Nov-2025 17:30:36 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:30:36 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:30:36 UTC]    Is_active field in books: YES
[20-Nov-2025 17:30:36 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:30:36 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:30:36 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:30:36 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:30:36 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:30:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:30:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:30:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:30:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:30:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:30:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:30:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:30:39 UTC] 📊 Database Info:
[20-Nov-2025 17:30:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:30:39 UTC]    Books columns count: 44
[20-Nov-2025 17:30:39 UTC]    Categories columns count: 7
[20-Nov-2025 17:30:39 UTC]    Language field in books: YES
[20-Nov-2025 17:30:39 UTC]    Format field in books: YES
[20-Nov-2025 17:30:39 UTC]    Description field in categories: YES
[20-Nov-2025 17:30:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:30:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:30:39 UTC]    Is_active field in books: YES
[20-Nov-2025 17:30:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:30:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:30:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:30:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:30:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:30:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:30:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:30:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:43 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:43 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:43 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:43 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:43 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:30:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:43 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:30:43 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:30:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:43 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:43 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:43 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:43 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:43 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:43 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:30:43 UTC] 📊 Database Info:
[20-Nov-2025 17:30:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:30:43 UTC]    Books columns count: 44
[20-Nov-2025 17:30:43 UTC]    Categories columns count: 7
[20-Nov-2025 17:30:43 UTC]    Language field in books: YES
[20-Nov-2025 17:30:43 UTC]    Format field in books: YES
[20-Nov-2025 17:30:43 UTC]    Description field in categories: YES
[20-Nov-2025 17:30:43 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:30:43 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:30:43 UTC]    Is_active field in books: YES
[20-Nov-2025 17:30:43 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:30:43 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:30:43 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:30:43 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:30:43 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:30:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:30:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:30:43 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:43 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:43 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:43 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:43 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:43 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:43 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:43 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:30:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:44 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:30:44 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:30:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:44 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:30:44 UTC] 📊 Database Info:
[20-Nov-2025 17:30:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:30:44 UTC]    Books columns count: 44
[20-Nov-2025 17:30:44 UTC]    Categories columns count: 7
[20-Nov-2025 17:30:44 UTC]    Language field in books: YES
[20-Nov-2025 17:30:44 UTC]    Format field in books: YES
[20-Nov-2025 17:30:44 UTC]    Description field in categories: YES
[20-Nov-2025 17:30:44 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:30:44 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:30:44 UTC]    Is_active field in books: YES
[20-Nov-2025 17:30:44 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:30:44 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:30:44 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:30:44 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:30:44 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:30:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:30:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:30:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:30:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:30:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:30:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:30:57 UTC] 📊 Database Info:
[20-Nov-2025 17:30:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:30:57 UTC]    Books columns count: 44
[20-Nov-2025 17:30:57 UTC]    Categories columns count: 7
[20-Nov-2025 17:30:57 UTC]    Language field in books: YES
[20-Nov-2025 17:30:57 UTC]    Format field in books: YES
[20-Nov-2025 17:30:57 UTC]    Description field in categories: YES
[20-Nov-2025 17:30:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:30:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:30:57 UTC]    Is_active field in books: YES
[20-Nov-2025 17:30:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:30:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:30:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:30:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:30:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:30:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:30:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:30:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:30:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:30:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:30:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:30:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:30:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:30:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:30:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:30:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:30:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:30:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:30:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:30:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:30:57 UTC] 📊 Database Info:
[20-Nov-2025 17:30:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:30:57 UTC]    Books columns count: 44
[20-Nov-2025 17:30:57 UTC]    Categories columns count: 7
[20-Nov-2025 17:30:57 UTC]    Language field in books: YES
[20-Nov-2025 17:30:57 UTC]    Format field in books: YES
[20-Nov-2025 17:30:57 UTC]    Description field in categories: YES
[20-Nov-2025 17:30:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:30:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:30:57 UTC]    Is_active field in books: YES
[20-Nov-2025 17:30:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:30:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:30:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:30:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:30:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:30:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:30:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:31:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:31:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:31:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:00 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:31:00 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:31:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:00 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:31:00 UTC] 📊 Database Info:
[20-Nov-2025 17:31:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:31:00 UTC]    Books columns count: 44
[20-Nov-2025 17:31:00 UTC]    Categories columns count: 7
[20-Nov-2025 17:31:00 UTC]    Language field in books: YES
[20-Nov-2025 17:31:00 UTC]    Format field in books: YES
[20-Nov-2025 17:31:00 UTC]    Description field in categories: YES
[20-Nov-2025 17:31:00 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:31:00 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:31:00 UTC]    Is_active field in books: YES
[20-Nov-2025 17:31:00 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:31:00 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:31:00 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:31:00 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:31:00 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:31:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:31:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:31:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:31:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:49 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:31:49 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:31:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:31:50 UTC] 📊 Database Info:
[20-Nov-2025 17:31:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:31:50 UTC]    Books columns count: 44
[20-Nov-2025 17:31:50 UTC]    Categories columns count: 7
[20-Nov-2025 17:31:50 UTC]    Language field in books: YES
[20-Nov-2025 17:31:50 UTC]    Format field in books: YES
[20-Nov-2025 17:31:50 UTC]    Description field in categories: YES
[20-Nov-2025 17:31:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:31:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:31:50 UTC]    Is_active field in books: YES
[20-Nov-2025 17:31:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:31:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:31:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:31:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:31:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:31:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:31:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:31:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:31:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:31:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:31:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:31:50 UTC] 📊 Database Info:
[20-Nov-2025 17:31:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:31:50 UTC]    Books columns count: 44
[20-Nov-2025 17:31:50 UTC]    Categories columns count: 7
[20-Nov-2025 17:31:50 UTC]    Language field in books: YES
[20-Nov-2025 17:31:50 UTC]    Format field in books: YES
[20-Nov-2025 17:31:50 UTC]    Description field in categories: YES
[20-Nov-2025 17:31:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:31:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:31:50 UTC]    Is_active field in books: YES
[20-Nov-2025 17:31:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:31:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:31:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:31:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:31:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:31:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:31:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:31:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:31:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:31:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:31:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:31:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:31:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:31:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:31:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:31:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:31:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:31:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:31:58 UTC] 📊 Database Info:
[20-Nov-2025 17:31:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:31:58 UTC]    Books columns count: 44
[20-Nov-2025 17:31:58 UTC]    Categories columns count: 7
[20-Nov-2025 17:31:58 UTC]    Language field in books: YES
[20-Nov-2025 17:31:58 UTC]    Format field in books: YES
[20-Nov-2025 17:31:58 UTC]    Description field in categories: YES
[20-Nov-2025 17:31:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:31:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:31:58 UTC]    Is_active field in books: YES
[20-Nov-2025 17:31:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:31:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:31:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:31:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:31:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:31:58 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:31:58 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:31:58 UTC] 📊 Database Info:
[20-Nov-2025 17:31:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:31:58 UTC]    Books columns count: 44
[20-Nov-2025 17:31:58 UTC]    Categories columns count: 7
[20-Nov-2025 17:31:58 UTC]    Language field in books: YES
[20-Nov-2025 17:31:58 UTC]    Format field in books: YES
[20-Nov-2025 17:31:58 UTC]    Description field in categories: YES
[20-Nov-2025 17:31:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:31:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:31:58 UTC]    Is_active field in books: YES
[20-Nov-2025 17:31:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:31:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:31:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:31:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:31:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:31:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:31:58 UTC] 📊 Database Info:
[20-Nov-2025 17:31:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:31:58 UTC]    Books columns count: 44
[20-Nov-2025 17:31:58 UTC]    Categories columns count: 7
[20-Nov-2025 17:31:58 UTC]    Language field in books: YES
[20-Nov-2025 17:31:58 UTC]    Format field in books: YES
[20-Nov-2025 17:31:58 UTC]    Description field in categories: YES
[20-Nov-2025 17:31:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:31:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:31:58 UTC]    Is_active field in books: YES
[20-Nov-2025 17:31:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:31:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:31:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:31:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:31:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:31:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:31:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:31:58 UTC] 📊 Database Info:
[20-Nov-2025 17:31:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:31:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:31:58 UTC]    Books columns count: 44
[20-Nov-2025 17:31:58 UTC] 📊 Database Info:
[20-Nov-2025 17:31:58 UTC]    Categories columns count: 7
[20-Nov-2025 17:31:58 UTC]    Language field in books: YES
[20-Nov-2025 17:31:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:31:58 UTC]    Format field in books: YES
[20-Nov-2025 17:31:58 UTC]    Books columns count: 44
[20-Nov-2025 17:31:58 UTC]    Description field in categories: YES
[20-Nov-2025 17:31:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:31:58 UTC]    Categories columns count: 7
[20-Nov-2025 17:31:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:31:58 UTC]    Is_active field in books: YES
[20-Nov-2025 17:31:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:31:58 UTC]    Language field in books: YES
[20-Nov-2025 17:31:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:31:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:31:58 UTC]    Format field in books: YES
[20-Nov-2025 17:31:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:31:58 UTC]    Description field in categories: YES
[20-Nov-2025 17:31:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:31:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:31:58 UTC]    Is_active field in books: YES
[20-Nov-2025 17:31:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:31:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:31:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:31:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:31:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:31:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:31:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:31:58 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:31:58 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:31:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:31:58 UTC] 📊 Database Info:
[20-Nov-2025 17:31:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:31:58 UTC]    Books columns count: 44
[20-Nov-2025 17:31:58 UTC]    Categories columns count: 7
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:31:58 UTC]    Language field in books: YES
[20-Nov-2025 17:31:58 UTC]    Format field in books: YES
[20-Nov-2025 17:31:58 UTC]    Description field in categories: YES
[20-Nov-2025 17:31:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:31:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:31:58 UTC]    Is_active field in books: YES
[20-Nov-2025 17:31:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:31:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:31:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:31:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:31:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:31:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:31:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:31:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:31:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:31:59 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:31:59 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:31:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:31:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:31:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:31:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:31:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:31:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:31:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:31:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:31:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:31:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:31:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:31:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:31:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:31:59 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:31:59 UTC] 📊 Database Info:
[20-Nov-2025 17:31:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:31:59 UTC]    Books columns count: 44
[20-Nov-2025 17:31:59 UTC]    Categories columns count: 7
[20-Nov-2025 17:31:59 UTC]    Language field in books: YES
[20-Nov-2025 17:31:59 UTC]    Format field in books: YES
[20-Nov-2025 17:31:59 UTC]    Description field in categories: YES
[20-Nov-2025 17:31:59 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:31:59 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:31:59 UTC]    Is_active field in books: YES
[20-Nov-2025 17:31:59 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:31:59 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:31:59 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:31:59 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:31:59 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:31:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:31:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:31:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:31:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:31:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:31:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:31:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:31:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:31:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:31:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:31:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:31:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:31:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:33:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:33:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:33:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:33:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:33:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:00 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:33:00 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:33:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:33:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:33:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:00 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:00 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:33:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:00 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:33:00 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:33:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:00 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:33:00 UTC] 📊 Database Info:
[20-Nov-2025 17:33:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:33:00 UTC]    Books columns count: 44
[20-Nov-2025 17:33:00 UTC]    Categories columns count: 7
[20-Nov-2025 17:33:00 UTC]    Language field in books: YES
[20-Nov-2025 17:33:00 UTC]    Format field in books: YES
[20-Nov-2025 17:33:00 UTC]    Description field in categories: YES
[20-Nov-2025 17:33:00 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:33:00 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:33:00 UTC]    Is_active field in books: YES
[20-Nov-2025 17:33:00 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:33:00 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:33:00 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:33:00 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:33:00 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:33:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:33:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 17:33:00 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 17:33:00 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 17:33:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:00 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:33:00 UTC] 📊 Database Info:
[20-Nov-2025 17:33:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:33:00 UTC]    Books columns count: 44
[20-Nov-2025 17:33:00 UTC]    Categories columns count: 7
[20-Nov-2025 17:33:00 UTC]    Language field in books: YES
[20-Nov-2025 17:33:00 UTC]    Format field in books: YES
[20-Nov-2025 17:33:00 UTC]    Description field in categories: YES
[20-Nov-2025 17:33:00 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:33:00 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:33:00 UTC]    Is_active field in books: YES
[20-Nov-2025 17:33:00 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:33:00 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:33:00 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:33:00 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:33:00 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:33:00 UTC] 📊 Database Info:
[20-Nov-2025 17:33:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:33:00 UTC]    Books columns count: 44
[20-Nov-2025 17:33:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:33:00 UTC]    Categories columns count: 7
[20-Nov-2025 17:33:00 UTC]    Language field in books: YES
[20-Nov-2025 17:33:00 UTC]    Format field in books: YES
[20-Nov-2025 17:33:00 UTC]    Description field in categories: YES
[20-Nov-2025 17:33:00 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:33:00 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:33:00 UTC]    Is_active field in books: YES
[20-Nov-2025 17:33:00 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:33:00 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:33:00 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:33:00 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:33:00 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:33:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:33:00 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 17:33:00 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 17:33:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:33:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:33:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:15 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:33:15 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:33:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:15 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:33:15 UTC] 📊 Database Info:
[20-Nov-2025 17:33:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:33:15 UTC]    Books columns count: 44
[20-Nov-2025 17:33:15 UTC]    Categories columns count: 7
[20-Nov-2025 17:33:15 UTC]    Language field in books: YES
[20-Nov-2025 17:33:15 UTC]    Format field in books: YES
[20-Nov-2025 17:33:15 UTC]    Description field in categories: YES
[20-Nov-2025 17:33:15 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:33:15 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:33:15 UTC]    Is_active field in books: YES
[20-Nov-2025 17:33:15 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:33:15 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:33:15 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:33:15 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:33:15 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:33:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:33:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:33:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:33:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:15 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:33:15 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:33:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:15 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:33:15 UTC] 📊 Database Info:
[20-Nov-2025 17:33:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:33:15 UTC]    Books columns count: 44
[20-Nov-2025 17:33:15 UTC]    Categories columns count: 7
[20-Nov-2025 17:33:15 UTC]    Language field in books: YES
[20-Nov-2025 17:33:15 UTC]    Format field in books: YES
[20-Nov-2025 17:33:15 UTC]    Description field in categories: YES
[20-Nov-2025 17:33:15 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:33:15 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:33:15 UTC]    Is_active field in books: YES
[20-Nov-2025 17:33:15 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:33:15 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:33:15 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:33:15 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:33:15 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:33:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:33:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:33:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:33:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:33:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:33:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:33:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:33:18 UTC] 📊 Database Info:
[20-Nov-2025 17:33:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:33:18 UTC]    Books columns count: 44
[20-Nov-2025 17:33:18 UTC]    Categories columns count: 7
[20-Nov-2025 17:33:18 UTC]    Language field in books: YES
[20-Nov-2025 17:33:18 UTC]    Format field in books: YES
[20-Nov-2025 17:33:18 UTC]    Description field in categories: YES
[20-Nov-2025 17:33:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:33:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:33:18 UTC]    Is_active field in books: YES
[20-Nov-2025 17:33:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:33:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:33:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:33:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:33:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:33:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:33:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:33:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:33:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:33:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:33:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:33:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:33:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:33:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:33:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:33:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:33:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:33:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:33:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:33:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:33:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:33:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:33:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:36 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:33:36 UTC] 📊 Database Info:
[20-Nov-2025 17:33:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:33:36 UTC]    Books columns count: 44
[20-Nov-2025 17:33:36 UTC]    Categories columns count: 7
[20-Nov-2025 17:33:36 UTC]    Language field in books: YES
[20-Nov-2025 17:33:36 UTC]    Format field in books: YES
[20-Nov-2025 17:33:36 UTC]    Description field in categories: YES
[20-Nov-2025 17:33:36 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:33:36 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:33:36 UTC]    Is_active field in books: YES
[20-Nov-2025 17:33:36 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:33:36 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:33:36 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:33:36 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:33:36 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:33:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:33:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:33:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:33:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:33:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:33:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:36 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:33:36 UTC] 📊 Database Info:
[20-Nov-2025 17:33:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:33:36 UTC]    Books columns count: 44
[20-Nov-2025 17:33:36 UTC]    Categories columns count: 7
[20-Nov-2025 17:33:36 UTC]    Language field in books: YES
[20-Nov-2025 17:33:36 UTC]    Format field in books: YES
[20-Nov-2025 17:33:36 UTC]    Description field in categories: YES
[20-Nov-2025 17:33:36 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:33:36 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:33:36 UTC]    Is_active field in books: YES
[20-Nov-2025 17:33:36 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:33:36 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:33:36 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:33:36 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:33:36 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:33:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:33:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:33:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:33:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:33:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:44 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:33:44 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:33:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:33:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:44 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:33:44 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:33:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:33:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:44 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:33:44 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:44 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:33:44 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:44 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:33:44 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:33:44 UTC] 📊 Database Info:
[20-Nov-2025 17:33:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:33:44 UTC]    Books columns count: 44
[20-Nov-2025 17:33:44 UTC]    Categories columns count: 7
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:44 UTC]    Language field in books: YES
[20-Nov-2025 17:33:44 UTC]    Format field in books: YES
[20-Nov-2025 17:33:44 UTC]    Description field in categories: YES
[20-Nov-2025 17:33:44 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:33:44 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:33:44 UTC]    Is_active field in books: YES
[20-Nov-2025 17:33:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:44 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:33:44 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:33:44 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:33:44 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:33:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:44 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:33:44 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:33:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:44 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:33:44 UTC] 📊 Database Info:
[20-Nov-2025 17:33:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:33:44 UTC]    Books columns count: 44
[20-Nov-2025 17:33:44 UTC]    Categories columns count: 7
[20-Nov-2025 17:33:44 UTC]    Language field in books: YES
[20-Nov-2025 17:33:44 UTC]    Format field in books: YES
[20-Nov-2025 17:33:44 UTC]    Description field in categories: YES
[20-Nov-2025 17:33:44 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:33:44 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:33:44 UTC]    Is_active field in books: YES
[20-Nov-2025 17:33:44 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:33:44 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:33:44 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:33:44 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:33:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:44 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:33:44 UTC] 📊 Database Info:
[20-Nov-2025 17:33:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:33:44 UTC]    Books columns count: 44
[20-Nov-2025 17:33:44 UTC]    Categories columns count: 7
[20-Nov-2025 17:33:44 UTC]    Language field in books: YES
[20-Nov-2025 17:33:44 UTC]    Format field in books: YES
[20-Nov-2025 17:33:44 UTC]    Description field in categories: YES
[20-Nov-2025 17:33:44 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:33:44 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:33:44 UTC]    Is_active field in books: YES
[20-Nov-2025 17:33:44 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:33:44 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:33:44 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:33:44 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:33:44 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:33:44 UTC] 📊 Database Info:
[20-Nov-2025 17:33:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:33:44 UTC]    Books columns count: 44
[20-Nov-2025 17:33:44 UTC]    Categories columns count: 7
[20-Nov-2025 17:33:44 UTC]    Language field in books: YES
[20-Nov-2025 17:33:44 UTC]    Format field in books: YES
[20-Nov-2025 17:33:44 UTC]    Description field in categories: YES
[20-Nov-2025 17:33:44 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:33:44 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:33:44 UTC]    Is_active field in books: YES
[20-Nov-2025 17:33:44 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:33:44 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:33:44 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:33:44 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:33:44 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:33:44 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:33:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:33:44 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:33:44 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:33:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:33:44 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 17:33:44 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 17:33:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:44 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:33:44 UTC] 📊 Database Info:
[20-Nov-2025 17:33:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:33:44 UTC]    Books columns count: 44
[20-Nov-2025 17:33:44 UTC]    Categories columns count: 7
[20-Nov-2025 17:33:44 UTC]    Language field in books: YES
[20-Nov-2025 17:33:44 UTC]    Format field in books: YES
[20-Nov-2025 17:33:44 UTC]    Description field in categories: YES
[20-Nov-2025 17:33:44 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:33:44 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:33:44 UTC]    Is_active field in books: YES
[20-Nov-2025 17:33:44 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:33:44 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:33:44 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:33:44 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:33:44 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:33:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:33:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:44 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:33:44 UTC] 📊 Database Info:
[20-Nov-2025 17:33:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:33:44 UTC]    Books columns count: 44
[20-Nov-2025 17:33:44 UTC]    Categories columns count: 7
[20-Nov-2025 17:33:44 UTC]    Language field in books: YES
[20-Nov-2025 17:33:44 UTC]    Format field in books: YES
[20-Nov-2025 17:33:44 UTC]    Description field in categories: YES
[20-Nov-2025 17:33:44 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:33:44 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:33:44 UTC]    Is_active field in books: YES
[20-Nov-2025 17:33:44 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:33:44 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:33:44 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:33:44 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:33:44 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:33:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:33:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:33:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:33:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:33:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:33:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:33:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:33:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:33:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:33:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:33:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:33:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:33:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:33:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:33:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:33:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:33:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:33:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:33:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:33:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:33:52 UTC] 📊 Database Info:
[20-Nov-2025 17:33:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:33:52 UTC]    Books columns count: 44
[20-Nov-2025 17:33:52 UTC]    Categories columns count: 7
[20-Nov-2025 17:33:52 UTC]    Language field in books: YES
[20-Nov-2025 17:33:52 UTC]    Format field in books: YES
[20-Nov-2025 17:33:52 UTC]    Description field in categories: YES
[20-Nov-2025 17:33:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:33:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:33:52 UTC]    Is_active field in books: YES
[20-Nov-2025 17:33:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:33:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:33:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:33:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:33:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:33:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:33:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:33:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:33:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:33:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:33:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:33:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:33:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:33:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:33:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:33:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:33:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:33:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:34:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:34:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:34:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:34:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:34:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:34:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:34:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:34:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:34:12 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:34:12 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:34:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:34:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:34:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:34:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:34:12 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:34:12 UTC] 📊 Database Info:
[20-Nov-2025 17:34:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:34:12 UTC]    Books columns count: 44
[20-Nov-2025 17:34:12 UTC]    Categories columns count: 7
[20-Nov-2025 17:34:12 UTC]    Language field in books: YES
[20-Nov-2025 17:34:12 UTC]    Format field in books: YES
[20-Nov-2025 17:34:12 UTC]    Description field in categories: YES
[20-Nov-2025 17:34:12 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:34:12 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:34:12 UTC]    Is_active field in books: YES
[20-Nov-2025 17:34:12 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:34:12 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:34:12 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:34:12 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:34:12 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:34:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:34:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:34:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:34:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:34:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:34:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:34:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:34:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:34:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:34:12 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:34:12 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:34:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:34:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:34:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:34:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:34:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:34:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:34:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:34:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:34:12 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:34:12 UTC] 📊 Database Info:
[20-Nov-2025 17:34:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:34:12 UTC]    Books columns count: 44
[20-Nov-2025 17:34:12 UTC]    Categories columns count: 7
[20-Nov-2025 17:34:12 UTC]    Language field in books: YES
[20-Nov-2025 17:34:12 UTC]    Format field in books: YES
[20-Nov-2025 17:34:12 UTC]    Description field in categories: YES
[20-Nov-2025 17:34:12 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:34:12 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:34:12 UTC]    Is_active field in books: YES
[20-Nov-2025 17:34:12 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:34:12 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:34:12 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:34:12 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:34:12 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:34:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:34:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:35:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:35:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:35:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:35:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:35:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:35:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:35:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:35:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:35:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:35:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:35:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:35:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:35:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:35:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:35:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:35:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:35:27 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:35:27 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:35:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:35:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:35:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:35:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:35:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:35:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:35:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:35:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:35:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:35:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:35:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:35:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:35:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:35:27 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:35:27 UTC] 📊 Database Info:
[20-Nov-2025 17:35:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:35:27 UTC]    Books columns count: 44
[20-Nov-2025 17:35:27 UTC]    Categories columns count: 7
[20-Nov-2025 17:35:27 UTC]    Language field in books: YES
[20-Nov-2025 17:35:27 UTC]    Format field in books: YES
[20-Nov-2025 17:35:27 UTC]    Description field in categories: YES
[20-Nov-2025 17:35:27 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:35:27 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:35:27 UTC]    Is_active field in books: YES
[20-Nov-2025 17:35:27 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:35:27 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:35:27 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:35:27 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:35:27 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:35:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:35:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:35:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:35:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:35:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:35:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:35:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:35:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:35:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:35:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:35:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:35:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:35:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:35:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:35:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:35:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:35:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:35:28 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:35:28 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:35:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:35:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:35:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:35:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:35:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:35:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:35:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:35:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:35:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:35:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:35:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:35:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:35:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:35:28 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:35:28 UTC] 📊 Database Info:
[20-Nov-2025 17:35:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:35:28 UTC]    Books columns count: 44
[20-Nov-2025 17:35:28 UTC]    Categories columns count: 7
[20-Nov-2025 17:35:28 UTC]    Language field in books: YES
[20-Nov-2025 17:35:28 UTC]    Format field in books: YES
[20-Nov-2025 17:35:28 UTC]    Description field in categories: YES
[20-Nov-2025 17:35:28 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:35:28 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:35:28 UTC]    Is_active field in books: YES
[20-Nov-2025 17:35:28 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:35:28 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:35:28 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:35:28 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:35:28 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:35:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:35:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:35:34 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:35:34 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:35:34 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:35:34 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:35:34 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:35:34 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:35:34 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:35:34 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:35:34 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:35:34 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:35:34 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:35:34 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:35:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:35:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:35:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:35:34 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:35:34 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:35:34 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:35:34 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:35:34 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:35:34 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:35:34 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:35:34 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:35:34 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:35:34 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:35:34 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:35:34 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:35:34 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:35:34 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:35:34 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:35:34 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:35:34 UTC] 📊 Database Info:
[20-Nov-2025 17:35:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:35:34 UTC]    Books columns count: 44
[20-Nov-2025 17:35:34 UTC]    Categories columns count: 7
[20-Nov-2025 17:35:34 UTC]    Language field in books: YES
[20-Nov-2025 17:35:34 UTC]    Format field in books: YES
[20-Nov-2025 17:35:34 UTC]    Description field in categories: YES
[20-Nov-2025 17:35:34 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:35:34 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:35:34 UTC]    Is_active field in books: YES
[20-Nov-2025 17:35:34 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:35:34 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:35:34 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:35:34 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:35:34 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:35:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:35:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:36:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:36:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:36:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:36:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:36:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:36:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:36:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:36:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:36:08 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:36:08 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:36:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:36:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:36:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:36:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:36:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:36:08 UTC] 📊 Database Info:
[20-Nov-2025 17:36:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:36:08 UTC]    Books columns count: 44
[20-Nov-2025 17:36:08 UTC]    Categories columns count: 7
[20-Nov-2025 17:36:08 UTC]    Language field in books: YES
[20-Nov-2025 17:36:08 UTC]    Format field in books: YES
[20-Nov-2025 17:36:08 UTC]    Description field in categories: YES
[20-Nov-2025 17:36:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:36:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:36:08 UTC]    Is_active field in books: YES
[20-Nov-2025 17:36:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:36:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:36:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:36:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:36:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:36:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:36:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:36:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:36:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:36:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:36:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:36:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:36:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:36:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:36:08 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:36:08 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:36:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:36:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:36:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:36:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:36:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:36:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:36:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:36:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:36:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:36:08 UTC] 📊 Database Info:
[20-Nov-2025 17:36:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:36:08 UTC]    Books columns count: 44
[20-Nov-2025 17:36:08 UTC]    Categories columns count: 7
[20-Nov-2025 17:36:08 UTC]    Language field in books: YES
[20-Nov-2025 17:36:08 UTC]    Format field in books: YES
[20-Nov-2025 17:36:08 UTC]    Description field in categories: YES
[20-Nov-2025 17:36:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:36:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:36:08 UTC]    Is_active field in books: YES
[20-Nov-2025 17:36:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:36:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:36:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:36:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:36:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:36:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 17:36:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 17:36:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:36:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:36:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:36:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:36:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:36:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:36:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:36:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:36:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:36:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:36:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:36:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:36:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 17:36:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:36:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 17:36:22 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 17:36:22 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 17:36:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 17:36:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 17:36:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 17:36:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 17:36:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 17:36:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 17:36:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 17:36:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 17:36:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 17:36:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 17:36:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 17:36:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 17:36:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 17:36:22 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 17:36:22 UTC] 📊 Database Info:
[20-Nov-2025 17:36:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 17:36:22 UTC]    Books columns count: 44
[20-Nov-2025 17:36:22 UTC]    Categories columns count: 7
[20-Nov-2025 17:36:22 UTC]    Language field in books: YES
[20-Nov-2025 17:36:22 UTC]    Format field in books: YES
[20-Nov-2025 17:36:22 UTC]    Description field in categories: YES
[20-Nov-2025 17:36:22 UTC]    Display_order field in categories: YES
[20-Nov-2025 17:36:22 UTC]    Is_active field in categories: YES
[20-Nov-2025 17:36:22 UTC]    Is_active field in books: YES
[20-Nov-2025 17:36:22 UTC]    External_download_link field in books: YES
[20-Nov-2025 17:36:22 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 17:36:22 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 17:36:22 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 17:36:22 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 17:36:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 17:36:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 17:36:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 17:36:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 17:36:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 17:36:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 17:36:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 17:36:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 17:36:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 17:36:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 17:36:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 17:36:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 17:36:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:11:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:11:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:11:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:11:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:11:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:11:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:11:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:11:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:11:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:11:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:11:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:11:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:11:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:11:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:11:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:11:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:11:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:11:49 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:11:49 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:11:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:11:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:11:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:11:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:11:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:11:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:11:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:11:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:11:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:11:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:11:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:11:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:11:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:11:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:11:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:11:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:11:49 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:11:49 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:11:49 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:11:49 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:11:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:11:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:11:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:11:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:11:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:11:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:11:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:11:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:11:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:11:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:11:49 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:11:49 UTC] 📊 Database Info:
[20-Nov-2025 18:11:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:11:49 UTC]    Books columns count: 44
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:11:49 UTC]    Categories columns count: 7
[20-Nov-2025 18:11:49 UTC]    Language field in books: YES
[20-Nov-2025 18:11:49 UTC]    Format field in books: YES
[20-Nov-2025 18:11:49 UTC]    Description field in categories: YES
[20-Nov-2025 18:11:49 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:11:49 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:11:49 UTC]    Is_active field in books: YES
[20-Nov-2025 18:11:49 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:11:49 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:11:49 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:11:49 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:11:49 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:11:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:11:49 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 18:11:49 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 18:11:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:11:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:11:49 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:11:49 UTC] 📊 Database Info:
[20-Nov-2025 18:11:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:11:49 UTC]    Books columns count: 44
[20-Nov-2025 18:11:49 UTC]    Categories columns count: 7
[20-Nov-2025 18:11:49 UTC]    Language field in books: YES
[20-Nov-2025 18:11:49 UTC]    Format field in books: YES
[20-Nov-2025 18:11:49 UTC]    Description field in categories: YES
[20-Nov-2025 18:11:49 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:11:49 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:11:49 UTC]    Is_active field in books: YES
[20-Nov-2025 18:11:49 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:11:49 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:11:49 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:11:49 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:11:49 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:11:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:11:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:11:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:11:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:11:49 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:11:49 UTC] 📊 Database Info:
[20-Nov-2025 18:11:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:11:49 UTC]    Books columns count: 44
[20-Nov-2025 18:11:49 UTC]    Categories columns count: 7
[20-Nov-2025 18:11:49 UTC]    Language field in books: YES
[20-Nov-2025 18:11:49 UTC]    Format field in books: YES
[20-Nov-2025 18:11:49 UTC]    Description field in categories: YES
[20-Nov-2025 18:11:49 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:11:49 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:11:49 UTC]    Is_active field in books: YES
[20-Nov-2025 18:11:49 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:11:49 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:11:49 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:11:49 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:11:49 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:11:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:11:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:11:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 18:11:49 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 18:11:49 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 18:11:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:11:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:11:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:11:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:11:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:11:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:11:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:11:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:11:56 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:11:56 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:11:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:11:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:11:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:11:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:11:56 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:11:56 UTC] 📊 Database Info:
[20-Nov-2025 18:11:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:11:56 UTC]    Books columns count: 44
[20-Nov-2025 18:11:56 UTC]    Categories columns count: 7
[20-Nov-2025 18:11:56 UTC]    Language field in books: YES
[20-Nov-2025 18:11:56 UTC]    Format field in books: YES
[20-Nov-2025 18:11:56 UTC]    Description field in categories: YES
[20-Nov-2025 18:11:56 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:11:56 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:11:56 UTC]    Is_active field in books: YES
[20-Nov-2025 18:11:56 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:11:56 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:11:56 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:11:56 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:11:56 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:11:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:11:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:11:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:11:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:11:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:11:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:11:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:11:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:11:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:11:56 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:11:56 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:11:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:11:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:11:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:11:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:11:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:11:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:11:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:11:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:11:56 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:11:56 UTC] 📊 Database Info:
[20-Nov-2025 18:11:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:11:56 UTC]    Books columns count: 44
[20-Nov-2025 18:11:56 UTC]    Categories columns count: 7
[20-Nov-2025 18:11:56 UTC]    Language field in books: YES
[20-Nov-2025 18:11:56 UTC]    Format field in books: YES
[20-Nov-2025 18:11:56 UTC]    Description field in categories: YES
[20-Nov-2025 18:11:56 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:11:56 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:11:56 UTC]    Is_active field in books: YES
[20-Nov-2025 18:11:56 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:11:56 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:11:56 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:11:56 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:11:56 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:11:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:11:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:13:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:13:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:13:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:13:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:13:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:13:01 UTC] 📊 Database Info:
[20-Nov-2025 18:13:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:13:01 UTC]    Books columns count: 44
[20-Nov-2025 18:13:01 UTC]    Categories columns count: 7
[20-Nov-2025 18:13:01 UTC]    Language field in books: YES
[20-Nov-2025 18:13:01 UTC]    Format field in books: YES
[20-Nov-2025 18:13:01 UTC]    Description field in categories: YES
[20-Nov-2025 18:13:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:13:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:13:01 UTC]    Is_active field in books: YES
[20-Nov-2025 18:13:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:13:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:13:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:13:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:13:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:13:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:13:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:13:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:13:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:13:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:13:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:13:01 UTC] 📊 Database Info:
[20-Nov-2025 18:13:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:13:01 UTC]    Books columns count: 44
[20-Nov-2025 18:13:01 UTC]    Categories columns count: 7
[20-Nov-2025 18:13:01 UTC]    Language field in books: YES
[20-Nov-2025 18:13:01 UTC]    Format field in books: YES
[20-Nov-2025 18:13:01 UTC]    Description field in categories: YES
[20-Nov-2025 18:13:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:13:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:13:01 UTC]    Is_active field in books: YES
[20-Nov-2025 18:13:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:13:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:13:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:13:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:13:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:13:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:13:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:13:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:13:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:12 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:13:12 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:13:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:13:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:13:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:13:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:13:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:13:12 UTC] 📊 Database Info:
[20-Nov-2025 18:13:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:13:12 UTC]    Books columns count: 44
[20-Nov-2025 18:13:12 UTC]    Categories columns count: 7
[20-Nov-2025 18:13:12 UTC]    Language field in books: YES
[20-Nov-2025 18:13:12 UTC]    Format field in books: YES
[20-Nov-2025 18:13:12 UTC]    Description field in categories: YES
[20-Nov-2025 18:13:12 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:13:12 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:13:12 UTC]    Is_active field in books: YES
[20-Nov-2025 18:13:12 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:13:12 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:13:12 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:13:12 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:13:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:13:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:13:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:13:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:13:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:13:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:13:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:13:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:13:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:13:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:13:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:13:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:13:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:13:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:13:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:13:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:13:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:13:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:13:13 UTC] 📊 Database Info:
[20-Nov-2025 18:13:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:13:13 UTC]    Books columns count: 44
[20-Nov-2025 18:13:13 UTC]    Categories columns count: 7
[20-Nov-2025 18:13:13 UTC]    Language field in books: YES
[20-Nov-2025 18:13:13 UTC]    Format field in books: YES
[20-Nov-2025 18:13:13 UTC]    Description field in categories: YES
[20-Nov-2025 18:13:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:13:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:13:13 UTC]    Is_active field in books: YES
[20-Nov-2025 18:13:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:13:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:13:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:13:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:13:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:13:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:13:13 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 18:13:13 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 18:13:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:13:13 UTC] 📊 Database Info:
[20-Nov-2025 18:13:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:13:13 UTC]    Books columns count: 44
[20-Nov-2025 18:13:13 UTC]    Categories columns count: 7
[20-Nov-2025 18:13:13 UTC]    Language field in books: YES
[20-Nov-2025 18:13:13 UTC]    Format field in books: YES
[20-Nov-2025 18:13:13 UTC]    Description field in categories: YES
[20-Nov-2025 18:13:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:13:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:13:13 UTC]    Is_active field in books: YES
[20-Nov-2025 18:13:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:13:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:13:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:13:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:13:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:13:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:13:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:13:13 UTC] 📊 Database Info:
[20-Nov-2025 18:13:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:13:13 UTC]    Books columns count: 44
[20-Nov-2025 18:13:13 UTC]    Categories columns count: 7
[20-Nov-2025 18:13:13 UTC]    Language field in books: YES
[20-Nov-2025 18:13:13 UTC]    Format field in books: YES
[20-Nov-2025 18:13:13 UTC]    Description field in categories: YES
[20-Nov-2025 18:13:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:13:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:13:13 UTC]    Is_active field in books: YES
[20-Nov-2025 18:13:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:13:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:13:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:13:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:13:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:13:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:13:13 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 18:13:13 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 18:13:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:13:13 UTC] 📊 Database Info:
[20-Nov-2025 18:13:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:13:13 UTC]    Books columns count: 44
[20-Nov-2025 18:13:13 UTC]    Categories columns count: 7
[20-Nov-2025 18:13:13 UTC]    Language field in books: YES
[20-Nov-2025 18:13:13 UTC]    Format field in books: YES
[20-Nov-2025 18:13:13 UTC]    Description field in categories: YES
[20-Nov-2025 18:13:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:13:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:13:13 UTC]    Is_active field in books: YES
[20-Nov-2025 18:13:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:13:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:13:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:13:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:13:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:13:13 UTC] 📊 Database Info:
[20-Nov-2025 18:13:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:13:13 UTC]    Books columns count: 44
[20-Nov-2025 18:13:13 UTC]    Categories columns count: 7
[20-Nov-2025 18:13:13 UTC]    Language field in books: YES
[20-Nov-2025 18:13:13 UTC]    Format field in books: YES
[20-Nov-2025 18:13:13 UTC]    Description field in categories: YES
[20-Nov-2025 18:13:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:13:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:13:13 UTC]    Is_active field in books: YES
[20-Nov-2025 18:13:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:13:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:13:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:13:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:13:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:13:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:13:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:13:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:13:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:13:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:13:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:13:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:13:14 UTC] 📊 Database Info:
[20-Nov-2025 18:13:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:13:14 UTC]    Books columns count: 44
[20-Nov-2025 18:13:14 UTC]    Categories columns count: 7
[20-Nov-2025 18:13:14 UTC]    Language field in books: YES
[20-Nov-2025 18:13:14 UTC]    Format field in books: YES
[20-Nov-2025 18:13:14 UTC]    Description field in categories: YES
[20-Nov-2025 18:13:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:13:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:13:14 UTC]    Is_active field in books: YES
[20-Nov-2025 18:13:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:13:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:13:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:13:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:13:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:13:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:13:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:13:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:13:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:13:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:13:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:13:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:13:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:13:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:13:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:13:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:13:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:13:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:13:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:13:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:31 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:13:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:31 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:13:31 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:13:31 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:31 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:31 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:13:31 UTC] 📊 Database Info:
[20-Nov-2025 18:13:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:13:31 UTC]    Books columns count: 44
[20-Nov-2025 18:13:31 UTC]    Categories columns count: 7
[20-Nov-2025 18:13:31 UTC]    Language field in books: YES
[20-Nov-2025 18:13:31 UTC]    Format field in books: YES
[20-Nov-2025 18:13:31 UTC]    Description field in categories: YES
[20-Nov-2025 18:13:31 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:13:31 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:13:31 UTC]    Is_active field in books: YES
[20-Nov-2025 18:13:31 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:13:31 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:13:31 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:13:31 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:13:31 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:13:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:13:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:13:31 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:31 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:13:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:31 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:13:31 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:13:31 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:31 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:31 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:31 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:31 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:31 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:13:31 UTC] 📊 Database Info:
[20-Nov-2025 18:13:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:13:31 UTC]    Books columns count: 44
[20-Nov-2025 18:13:31 UTC]    Categories columns count: 7
[20-Nov-2025 18:13:31 UTC]    Language field in books: YES
[20-Nov-2025 18:13:31 UTC]    Format field in books: YES
[20-Nov-2025 18:13:31 UTC]    Description field in categories: YES
[20-Nov-2025 18:13:31 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:13:31 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:13:31 UTC]    Is_active field in books: YES
[20-Nov-2025 18:13:31 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:13:31 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:13:31 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:13:31 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:13:31 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:13:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:13:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:13:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:13:34 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:34 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:34 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:34 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:34 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:34 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:34 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:34 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:34 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:13:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:13:34 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:13:34 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:13:34 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:13:34 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:13:34 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:13:34 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:13:34 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:13:34 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:13:34 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:13:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:13:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:13:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:13:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:13:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:13:35 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:13:35 UTC] 📊 Database Info:
[20-Nov-2025 18:13:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:13:35 UTC]    Books columns count: 44
[20-Nov-2025 18:13:35 UTC]    Categories columns count: 7
[20-Nov-2025 18:13:35 UTC]    Language field in books: YES
[20-Nov-2025 18:13:35 UTC]    Format field in books: YES
[20-Nov-2025 18:13:35 UTC]    Description field in categories: YES
[20-Nov-2025 18:13:35 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:13:35 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:13:35 UTC]    Is_active field in books: YES
[20-Nov-2025 18:13:35 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:13:35 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:13:35 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:13:35 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:13:35 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:13:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:13:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:14:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:14:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:14:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:14:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:14:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:14:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:14:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:14:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:14:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:14:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:14:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:14:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:14:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:14:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:14:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:14:21 UTC] 📊 Database Info:
[20-Nov-2025 18:14:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:14:21 UTC]    Books columns count: 44
[20-Nov-2025 18:14:21 UTC]    Categories columns count: 7
[20-Nov-2025 18:14:21 UTC]    Language field in books: YES
[20-Nov-2025 18:14:21 UTC]    Format field in books: YES
[20-Nov-2025 18:14:21 UTC]    Description field in categories: YES
[20-Nov-2025 18:14:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:14:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:14:21 UTC]    Is_active field in books: YES
[20-Nov-2025 18:14:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:14:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:14:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:14:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:14:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:14:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:14:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:14:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:14:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:14:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:14:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:14:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:14:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:14:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:14:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:14:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:14:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:14:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:14:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:14:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:14:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:14:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:14:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:14:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:14:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:14:21 UTC] 📊 Database Info:
[20-Nov-2025 18:14:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:14:21 UTC]    Books columns count: 44
[20-Nov-2025 18:14:21 UTC]    Categories columns count: 7
[20-Nov-2025 18:14:21 UTC]    Language field in books: YES
[20-Nov-2025 18:14:21 UTC]    Format field in books: YES
[20-Nov-2025 18:14:21 UTC]    Description field in categories: YES
[20-Nov-2025 18:14:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:14:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:14:21 UTC]    Is_active field in books: YES
[20-Nov-2025 18:14:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:14:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:14:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:14:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:14:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:14:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:14:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:15:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:15:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:15:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:15:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:15:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:15:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:15:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:15:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:15:08 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:15:08 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:15:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:15:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:15:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:15:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:15:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:15:08 UTC] 📊 Database Info:
[20-Nov-2025 18:15:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:15:08 UTC]    Books columns count: 44
[20-Nov-2025 18:15:08 UTC]    Categories columns count: 7
[20-Nov-2025 18:15:08 UTC]    Language field in books: YES
[20-Nov-2025 18:15:08 UTC]    Format field in books: YES
[20-Nov-2025 18:15:08 UTC]    Description field in categories: YES
[20-Nov-2025 18:15:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:15:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:15:08 UTC]    Is_active field in books: YES
[20-Nov-2025 18:15:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:15:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:15:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:15:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:15:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:15:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:15:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:15:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:15:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:15:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:15:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:15:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:15:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:15:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:15:08 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:15:08 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:15:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:15:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:15:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:15:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:15:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:15:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:15:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:15:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:15:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:15:08 UTC] 📊 Database Info:
[20-Nov-2025 18:15:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:15:08 UTC]    Books columns count: 44
[20-Nov-2025 18:15:08 UTC]    Categories columns count: 7
[20-Nov-2025 18:15:08 UTC]    Language field in books: YES
[20-Nov-2025 18:15:08 UTC]    Format field in books: YES
[20-Nov-2025 18:15:08 UTC]    Description field in categories: YES
[20-Nov-2025 18:15:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:15:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:15:08 UTC]    Is_active field in books: YES
[20-Nov-2025 18:15:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:15:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:15:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:15:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:15:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:15:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:15:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:15:11 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:15:11 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:15:11 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:15:11 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:15:11 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:15:11 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:15:11 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:15:11 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:15:11 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:15:11 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:15:11 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:15:11 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:15:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:15:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:15:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:15:11 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:15:11 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:15:11 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:15:11 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:15:11 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:15:11 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:15:11 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:15:11 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:15:11 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:15:11 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:15:11 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:15:11 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:15:11 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:15:11 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:15:11 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:15:11 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:15:11 UTC] 📊 Database Info:
[20-Nov-2025 18:15:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:15:11 UTC]    Books columns count: 44
[20-Nov-2025 18:15:11 UTC]    Categories columns count: 7
[20-Nov-2025 18:15:11 UTC]    Language field in books: YES
[20-Nov-2025 18:15:11 UTC]    Format field in books: YES
[20-Nov-2025 18:15:11 UTC]    Description field in categories: YES
[20-Nov-2025 18:15:11 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:15:11 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:15:11 UTC]    Is_active field in books: YES
[20-Nov-2025 18:15:11 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:15:11 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:15:11 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:15:11 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:15:11 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:15:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:15:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:15:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:15:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:15:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:15:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:15:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:15:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:15:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:15:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:15:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:15:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:15:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:15:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:15:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:15:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:15:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:15:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:15:28 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:15:28 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:15:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:15:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:15:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:15:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:15:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:15:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:15:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:15:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:15:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:15:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:15:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:15:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:15:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:15:28 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:15:28 UTC] 📊 Database Info:
[20-Nov-2025 18:15:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:15:28 UTC]    Books columns count: 44
[20-Nov-2025 18:15:28 UTC]    Categories columns count: 7
[20-Nov-2025 18:15:28 UTC]    Language field in books: YES
[20-Nov-2025 18:15:28 UTC]    Format field in books: YES
[20-Nov-2025 18:15:28 UTC]    Description field in categories: YES
[20-Nov-2025 18:15:28 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:15:28 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:15:28 UTC]    Is_active field in books: YES
[20-Nov-2025 18:15:28 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:15:28 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:15:28 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:15:28 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:15:28 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:15:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:15:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:15:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:15:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:15:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:15:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:15:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:15:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:15:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:15:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:15:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:15:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:15:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:15:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:15:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:15:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:15:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:15:29 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:15:29 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:15:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:15:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:15:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:15:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:15:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:15:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:15:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:15:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:15:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:15:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:15:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:15:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:15:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:15:29 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:15:29 UTC] 📊 Database Info:
[20-Nov-2025 18:15:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:15:29 UTC]    Books columns count: 44
[20-Nov-2025 18:15:29 UTC]    Categories columns count: 7
[20-Nov-2025 18:15:29 UTC]    Language field in books: YES
[20-Nov-2025 18:15:29 UTC]    Format field in books: YES
[20-Nov-2025 18:15:29 UTC]    Description field in categories: YES
[20-Nov-2025 18:15:29 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:15:29 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:15:29 UTC]    Is_active field in books: YES
[20-Nov-2025 18:15:29 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:15:29 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:15:29 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:15:29 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:15:29 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:15:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:15:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:15:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:15:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:15:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:15:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:15:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:15:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:15:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:15:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:15:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:15:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:15:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:15:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:15:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:15:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:15:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:15:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:15:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:15:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:15:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:15:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:15:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:15:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:15:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:15:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:15:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:15:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:15:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:15:32 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:15:32 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:15:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:15:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:15:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:15:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:15:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:15:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:15:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:15:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:15:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:15:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:15:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:15:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:15:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:15:32 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:15:32 UTC] 📊 Database Info:
[20-Nov-2025 18:15:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:15:32 UTC]    Books columns count: 44
[20-Nov-2025 18:15:32 UTC]    Categories columns count: 7
[20-Nov-2025 18:15:32 UTC]    Language field in books: YES
[20-Nov-2025 18:15:32 UTC]    Format field in books: YES
[20-Nov-2025 18:15:32 UTC]    Description field in categories: YES
[20-Nov-2025 18:15:32 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:15:32 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:15:32 UTC]    Is_active field in books: YES
[20-Nov-2025 18:15:32 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:15:32 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:15:32 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:15:32 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:15:32 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:15:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:15:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:15:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:15:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:15:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:15:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:15:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:15:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:15:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:15:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:15:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:15:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:15:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:19:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:19:47 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:19:47 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:19:47 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:19:47 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:19:47 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:19:47 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:19:47 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:19:47 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:19:47 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:19:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:19:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:19:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:19:47 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:19:47 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:19:47 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:19:47 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:19:47 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:19:47 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:19:47 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:19:47 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:19:47 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:19:47 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:19:47 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:19:47 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:19:47 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:19:47 UTC] 📊 Database Info:
[20-Nov-2025 18:19:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:19:47 UTC]    Books columns count: 44
[20-Nov-2025 18:19:47 UTC]    Categories columns count: 7
[20-Nov-2025 18:19:47 UTC]    Language field in books: YES
[20-Nov-2025 18:19:47 UTC]    Format field in books: YES
[20-Nov-2025 18:19:47 UTC]    Description field in categories: YES
[20-Nov-2025 18:19:47 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:19:47 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:19:47 UTC]    Is_active field in books: YES
[20-Nov-2025 18:19:47 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:19:47 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:19:47 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:19:47 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:19:47 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:19:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:19:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:19:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:19:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:19:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:19:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:19:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:19:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:19:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:19:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:19:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:19:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:19:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:19:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:19:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:19:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:19:57 UTC] 📊 Database Info:
[20-Nov-2025 18:19:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:19:57 UTC]    Books columns count: 44
[20-Nov-2025 18:19:57 UTC]    Categories columns count: 7
[20-Nov-2025 18:19:57 UTC]    Language field in books: YES
[20-Nov-2025 18:19:57 UTC]    Format field in books: YES
[20-Nov-2025 18:19:57 UTC]    Description field in categories: YES
[20-Nov-2025 18:19:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:19:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:19:57 UTC]    Is_active field in books: YES
[20-Nov-2025 18:19:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:19:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:19:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:19:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:19:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:19:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:19:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:19:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:19:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:19:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:19:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:19:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:19:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:19:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:19:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:19:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:19:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:19:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:19:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:19:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:19:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:19:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:19:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:19:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:19:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:19:57 UTC] 📊 Database Info:
[20-Nov-2025 18:19:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:19:57 UTC]    Books columns count: 44
[20-Nov-2025 18:19:57 UTC]    Categories columns count: 7
[20-Nov-2025 18:19:57 UTC]    Language field in books: YES
[20-Nov-2025 18:19:57 UTC]    Format field in books: YES
[20-Nov-2025 18:19:57 UTC]    Description field in categories: YES
[20-Nov-2025 18:19:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:19:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:19:57 UTC]    Is_active field in books: YES
[20-Nov-2025 18:19:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:19:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:19:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:19:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:19:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:19:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:19:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:20:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:20:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:20:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:20:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:20:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:20:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:20:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:20:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:20:35 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:20:35 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:20:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:20:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:20:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:20:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:20:35 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:20:35 UTC] 📊 Database Info:
[20-Nov-2025 18:20:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:20:35 UTC]    Books columns count: 44
[20-Nov-2025 18:20:35 UTC]    Categories columns count: 7
[20-Nov-2025 18:20:35 UTC]    Language field in books: YES
[20-Nov-2025 18:20:35 UTC]    Format field in books: YES
[20-Nov-2025 18:20:35 UTC]    Description field in categories: YES
[20-Nov-2025 18:20:35 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:20:35 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:20:35 UTC]    Is_active field in books: YES
[20-Nov-2025 18:20:35 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:20:35 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:20:35 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:20:35 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:20:35 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:20:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:20:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:20:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:20:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:20:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:20:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:20:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:20:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:20:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:20:35 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:20:35 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:20:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:20:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:20:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:20:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:20:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:20:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:20:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:20:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:20:35 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:20:35 UTC] 📊 Database Info:
[20-Nov-2025 18:20:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:20:35 UTC]    Books columns count: 44
[20-Nov-2025 18:20:35 UTC]    Categories columns count: 7
[20-Nov-2025 18:20:35 UTC]    Language field in books: YES
[20-Nov-2025 18:20:35 UTC]    Format field in books: YES
[20-Nov-2025 18:20:35 UTC]    Description field in categories: YES
[20-Nov-2025 18:20:35 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:20:35 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:20:35 UTC]    Is_active field in books: YES
[20-Nov-2025 18:20:35 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:20:35 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:20:35 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:20:35 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:20:35 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:20:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:20:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:20:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:20:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:20:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:20:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:20:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:20:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:20:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:20:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:20:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:20:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:20:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:20:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:20:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:20:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:20:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:20:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:20:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:20:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:20:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:20:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:20:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:20:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:20:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:20:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:20:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:20:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:20:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:20:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:20:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:20:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:20:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:20:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:20:57 UTC] 📊 Database Info:
[20-Nov-2025 18:20:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:20:57 UTC]    Books columns count: 44
[20-Nov-2025 18:20:57 UTC]    Categories columns count: 7
[20-Nov-2025 18:20:57 UTC]    Language field in books: YES
[20-Nov-2025 18:20:57 UTC]    Format field in books: YES
[20-Nov-2025 18:20:57 UTC]    Description field in categories: YES
[20-Nov-2025 18:20:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:20:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:20:57 UTC]    Is_active field in books: YES
[20-Nov-2025 18:20:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:20:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:20:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:20:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:20:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:20:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:20:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:20:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:20:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:20:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:20:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:20:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:20:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:20:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:20:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:20:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:20:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:20:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:21:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:21:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:21:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:21:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:21:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:21:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:21:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:21:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:21:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:21:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:21:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:21:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:21:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:21:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:21:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:21:19 UTC] 📊 Database Info:
[20-Nov-2025 18:21:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:21:19 UTC]    Books columns count: 44
[20-Nov-2025 18:21:19 UTC]    Categories columns count: 7
[20-Nov-2025 18:21:19 UTC]    Language field in books: YES
[20-Nov-2025 18:21:19 UTC]    Format field in books: YES
[20-Nov-2025 18:21:19 UTC]    Description field in categories: YES
[20-Nov-2025 18:21:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:21:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:21:19 UTC]    Is_active field in books: YES
[20-Nov-2025 18:21:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:21:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:21:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:21:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:21:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:21:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:21:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:21:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:21:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:21:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:21:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:21:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:21:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:21:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:21:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:21:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:21:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:21:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:21:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:21:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:21:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:21:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:21:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:21:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:21:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:21:19 UTC] 📊 Database Info:
[20-Nov-2025 18:21:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:21:19 UTC]    Books columns count: 44
[20-Nov-2025 18:21:19 UTC]    Categories columns count: 7
[20-Nov-2025 18:21:19 UTC]    Language field in books: YES
[20-Nov-2025 18:21:19 UTC]    Format field in books: YES
[20-Nov-2025 18:21:19 UTC]    Description field in categories: YES
[20-Nov-2025 18:21:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:21:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:21:19 UTC]    Is_active field in books: YES
[20-Nov-2025 18:21:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:21:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:21:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:21:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:21:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:21:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:21:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:24:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:24:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:24:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:24:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:24:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:24:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:24:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:24:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:24:49 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:24:49 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:24:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:24:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:24:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:24:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:24:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:24:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:24:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:24:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:24:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:24:49 UTC] 📊 Database Info:
[20-Nov-2025 18:24:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:24:49 UTC]    Books columns count: 44
[20-Nov-2025 18:24:49 UTC]    Categories columns count: 7
[20-Nov-2025 18:24:49 UTC]    Language field in books: YES
[20-Nov-2025 18:24:49 UTC]    Format field in books: YES
[20-Nov-2025 18:24:49 UTC]    Description field in categories: YES
[20-Nov-2025 18:24:49 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:24:49 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:24:49 UTC]    Is_active field in books: YES
[20-Nov-2025 18:24:49 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:24:49 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:24:49 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:24:49 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:24:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:24:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:24:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:24:49 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 18:24:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:24:49 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 18:24:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:24:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:24:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:24:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:24:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:24:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:24:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:24:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:24:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:24:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:24:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:24:49 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:24:49 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:24:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:24:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:24:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:24:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:24:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:24:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:24:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:24:49 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:24:49 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:24:49 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:24:49 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:24:49 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:24:49 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:24:49 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:24:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:24:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:24:49 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:24:49 UTC] 📊 Database Info:
[20-Nov-2025 18:24:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:24:49 UTC]    Books columns count: 44
[20-Nov-2025 18:24:49 UTC]    Categories columns count: 7
[20-Nov-2025 18:24:49 UTC]    Language field in books: YES
[20-Nov-2025 18:24:49 UTC]    Format field in books: YES
[20-Nov-2025 18:24:49 UTC]    Description field in categories: YES
[20-Nov-2025 18:24:49 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:24:49 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:24:49 UTC]    Is_active field in books: YES
[20-Nov-2025 18:24:49 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:24:49 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:24:49 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:24:49 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:24:49 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:24:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:24:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:24:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 18:24:49 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 18:24:49 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 18:24:49 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:24:49 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:24:49 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:24:49 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:24:49 UTC] 📊 Database Info:
[20-Nov-2025 18:24:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:24:49 UTC]    Books columns count: 44
[20-Nov-2025 18:24:49 UTC]    Categories columns count: 7
[20-Nov-2025 18:24:49 UTC]    Language field in books: YES
[20-Nov-2025 18:24:49 UTC]    Format field in books: YES
[20-Nov-2025 18:24:49 UTC]    Description field in categories: YES
[20-Nov-2025 18:24:49 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:24:49 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:24:49 UTC]    Is_active field in books: YES
[20-Nov-2025 18:24:49 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:24:49 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:24:49 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:24:49 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:24:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:24:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:24:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:24:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:24:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:24:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:24:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:24:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:24:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:24:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:24:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:24:53 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:24:53 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:24:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:24:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:24:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:24:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:24:53 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:24:53 UTC] 📊 Database Info:
[20-Nov-2025 18:24:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:24:53 UTC]    Books columns count: 44
[20-Nov-2025 18:24:53 UTC]    Categories columns count: 7
[20-Nov-2025 18:24:53 UTC]    Language field in books: YES
[20-Nov-2025 18:24:53 UTC]    Format field in books: YES
[20-Nov-2025 18:24:53 UTC]    Description field in categories: YES
[20-Nov-2025 18:24:53 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:24:53 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:24:53 UTC]    Is_active field in books: YES
[20-Nov-2025 18:24:53 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:24:53 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:24:53 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:24:53 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:24:53 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:24:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:24:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:24:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:24:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:24:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:24:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:24:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:24:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:24:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:24:53 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:24:53 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:24:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:24:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:24:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:24:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:24:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:24:53 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:24:53 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:24:53 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:24:53 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:24:53 UTC] 📊 Database Info:
[20-Nov-2025 18:24:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:24:53 UTC]    Books columns count: 44
[20-Nov-2025 18:24:53 UTC]    Categories columns count: 7
[20-Nov-2025 18:24:53 UTC]    Language field in books: YES
[20-Nov-2025 18:24:53 UTC]    Format field in books: YES
[20-Nov-2025 18:24:53 UTC]    Description field in categories: YES
[20-Nov-2025 18:24:53 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:24:53 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:24:53 UTC]    Is_active field in books: YES
[20-Nov-2025 18:24:53 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:24:53 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:24:53 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:24:53 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:24:53 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:24:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:24:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:25:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:25:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:25:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:25:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:25:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:25:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:25:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:25:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:25:40 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:25:40 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:25:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:25:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:25:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:25:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:25:40 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:25:40 UTC] 📊 Database Info:
[20-Nov-2025 18:25:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:25:40 UTC]    Books columns count: 44
[20-Nov-2025 18:25:40 UTC]    Categories columns count: 7
[20-Nov-2025 18:25:40 UTC]    Language field in books: YES
[20-Nov-2025 18:25:40 UTC]    Format field in books: YES
[20-Nov-2025 18:25:40 UTC]    Description field in categories: YES
[20-Nov-2025 18:25:40 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:25:40 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:25:40 UTC]    Is_active field in books: YES
[20-Nov-2025 18:25:40 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:25:40 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:25:40 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:25:40 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:25:40 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:25:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:25:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:25:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:25:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:25:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:25:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:25:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:25:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:25:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:25:40 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:25:40 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:25:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:25:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:25:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:25:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:25:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:25:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:25:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:25:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:25:40 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:25:40 UTC] 📊 Database Info:
[20-Nov-2025 18:25:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:25:40 UTC]    Books columns count: 44
[20-Nov-2025 18:25:40 UTC]    Categories columns count: 7
[20-Nov-2025 18:25:40 UTC]    Language field in books: YES
[20-Nov-2025 18:25:40 UTC]    Format field in books: YES
[20-Nov-2025 18:25:40 UTC]    Description field in categories: YES
[20-Nov-2025 18:25:40 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:25:40 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:25:40 UTC]    Is_active field in books: YES
[20-Nov-2025 18:25:40 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:25:40 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:25:40 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:25:40 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:25:40 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:25:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:25:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:25:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:25:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:25:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:25:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:25:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:25:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:25:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:25:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:25:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:25:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:25:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:25:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:25:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:25:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:25:42 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:25:42 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:25:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:25:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:25:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:25:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:25:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:25:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:25:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:25:42 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:25:42 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:25:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:25:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:25:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:25:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:25:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:25:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:25:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:25:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:25:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:25:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:25:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:25:42 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:25:42 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:25:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:25:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:25:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:25:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:25:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:25:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:25:42 UTC] 📊 Database Info:
[20-Nov-2025 18:25:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:25:42 UTC]    Books columns count: 44
[20-Nov-2025 18:25:42 UTC]    Categories columns count: 7
[20-Nov-2025 18:25:42 UTC]    Language field in books: YES
[20-Nov-2025 18:25:42 UTC]    Format field in books: YES
[20-Nov-2025 18:25:42 UTC]    Description field in categories: YES
[20-Nov-2025 18:25:42 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:25:42 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:25:42 UTC]    Is_active field in books: YES
[20-Nov-2025 18:25:42 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:25:42 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:25:42 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:25:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:25:42 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:25:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:25:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:25:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:25:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:25:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:25:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:25:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:25:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:25:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:25:42 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:25:42 UTC] 📊 Database Info:
[20-Nov-2025 18:25:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:25:42 UTC]    Books columns count: 44
[20-Nov-2025 18:25:42 UTC]    Categories columns count: 7
[20-Nov-2025 18:25:42 UTC]    Language field in books: YES
[20-Nov-2025 18:25:42 UTC]    Format field in books: YES
[20-Nov-2025 18:25:42 UTC]    Description field in categories: YES
[20-Nov-2025 18:25:42 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:25:42 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:25:42 UTC]    Is_active field in books: YES
[20-Nov-2025 18:25:42 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:25:42 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:25:42 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:25:42 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:25:42 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:25:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:25:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:25:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:25:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:25:42 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:25:42 UTC] 📊 Database Info:
[20-Nov-2025 18:25:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:25:42 UTC]    Books columns count: 44
[20-Nov-2025 18:25:42 UTC]    Categories columns count: 7
[20-Nov-2025 18:25:42 UTC]    Language field in books: YES
[20-Nov-2025 18:25:42 UTC]    Format field in books: YES
[20-Nov-2025 18:25:42 UTC]    Description field in categories: YES
[20-Nov-2025 18:25:42 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:25:42 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:25:42 UTC]    Is_active field in books: YES
[20-Nov-2025 18:25:42 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:25:42 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:25:42 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:25:42 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:25:42 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:25:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:25:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:25:42 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 18:25:42 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 18:25:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:25:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:25:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:25:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:25:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:25:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:25:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:25:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:25:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:25:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:25:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:25:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:25:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:25:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:25:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:25:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:25:45 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:25:45 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:25:45 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:25:45 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:25:45 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:25:45 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:25:45 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:25:45 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:25:45 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:25:45 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:25:45 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:25:45 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:25:45 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:25:45 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:25:45 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:25:45 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:25:45 UTC] 📊 Database Info:
[20-Nov-2025 18:25:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:25:45 UTC]    Books columns count: 44
[20-Nov-2025 18:25:45 UTC]    Categories columns count: 7
[20-Nov-2025 18:25:45 UTC]    Language field in books: YES
[20-Nov-2025 18:25:45 UTC]    Format field in books: YES
[20-Nov-2025 18:25:45 UTC]    Description field in categories: YES
[20-Nov-2025 18:25:45 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:25:45 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:25:45 UTC]    Is_active field in books: YES
[20-Nov-2025 18:25:45 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:25:45 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:25:45 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:25:45 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:25:45 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:25:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:25:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:25:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:25:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:25:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:25:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:25:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:25:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:25:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:25:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:25:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:25:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:25:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:26:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:26:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:26:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:26:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:26:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:26:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:26:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:26:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:26:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:26:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:26:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:26:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:26:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:26:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:26:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:26:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:26:06 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:26:06 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:26:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:26:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:26:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:26:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:26:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:26:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:26:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:26:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:26:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:26:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:26:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:26:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:26:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:26:06 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:26:06 UTC] 📊 Database Info:
[20-Nov-2025 18:26:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:26:06 UTC]    Books columns count: 44
[20-Nov-2025 18:26:06 UTC]    Categories columns count: 7
[20-Nov-2025 18:26:06 UTC]    Language field in books: YES
[20-Nov-2025 18:26:06 UTC]    Format field in books: YES
[20-Nov-2025 18:26:06 UTC]    Description field in categories: YES
[20-Nov-2025 18:26:06 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:26:06 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:26:06 UTC]    Is_active field in books: YES
[20-Nov-2025 18:26:06 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:26:06 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:26:06 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:26:06 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:26:06 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:26:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:26:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:26:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:26:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:26:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:26:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:26:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:26:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:26:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:26:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:26:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:26:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:26:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:26:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:26:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:26:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:26:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:26:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:26:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:26:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:26:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:26:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:26:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:26:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:26:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:26:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:26:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:26:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:26:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:26:26 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:26:26 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:26:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:26:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:26:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:26:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:26:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:26:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:26:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:26:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:26:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:26:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:26:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:26:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:26:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:26:26 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:26:26 UTC] 📊 Database Info:
[20-Nov-2025 18:26:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:26:26 UTC]    Books columns count: 44
[20-Nov-2025 18:26:26 UTC]    Categories columns count: 7
[20-Nov-2025 18:26:26 UTC]    Language field in books: YES
[20-Nov-2025 18:26:26 UTC]    Format field in books: YES
[20-Nov-2025 18:26:26 UTC]    Description field in categories: YES
[20-Nov-2025 18:26:26 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:26:26 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:26:26 UTC]    Is_active field in books: YES
[20-Nov-2025 18:26:26 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:26:26 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:26:26 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:26:26 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:26:26 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:26:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:26:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:26:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:26:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:26:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:26:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:26:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:26:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:26:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:26:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:26:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:26:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:26:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:26:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:26:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:26:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:26:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:26:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:26:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:26:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:26:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:26:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:26:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:26:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:26:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:26:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:26:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:26:39 UTC] 📊 Database Info:
[20-Nov-2025 18:26:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:26:39 UTC]    Books columns count: 44
[20-Nov-2025 18:26:39 UTC]    Categories columns count: 7
[20-Nov-2025 18:26:39 UTC]    Language field in books: YES
[20-Nov-2025 18:26:39 UTC]    Format field in books: YES
[20-Nov-2025 18:26:39 UTC]    Description field in categories: YES
[20-Nov-2025 18:26:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:26:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:26:39 UTC]    Is_active field in books: YES
[20-Nov-2025 18:26:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:26:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:26:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:26:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:26:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:26:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:27:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:27:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:27:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:27:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:27:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:27:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:27:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:27:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:27:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:27:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:27:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:27:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:27:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:27:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:27:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:27:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:27:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:27:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:27:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:27:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:27:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:27:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:27:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:27:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:27:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:27:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:27:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:27:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:27:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:27:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:27:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:27:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:27:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:27:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:27:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:27:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:27:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:27:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:27:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:27:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:27:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:27:30 UTC] 📊 Database Info:
[20-Nov-2025 18:27:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:27:30 UTC]    Books columns count: 44
[20-Nov-2025 18:27:30 UTC]    Categories columns count: 7
[20-Nov-2025 18:27:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:27:30 UTC]    Language field in books: YES
[20-Nov-2025 18:27:30 UTC]    Format field in books: YES
[20-Nov-2025 18:27:30 UTC]    Description field in categories: YES
[20-Nov-2025 18:27:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:27:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:27:30 UTC]    Is_active field in books: YES
[20-Nov-2025 18:27:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:27:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:27:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:27:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:27:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:27:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:27:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:27:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:27:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:27:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 18:27:30 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 18:27:30 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 18:27:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:27:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:27:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:27:30 UTC] 📊 Database Info:
[20-Nov-2025 18:27:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:27:30 UTC]    Books columns count: 44
[20-Nov-2025 18:27:30 UTC]    Categories columns count: 7
[20-Nov-2025 18:27:30 UTC]    Language field in books: YES
[20-Nov-2025 18:27:30 UTC]    Format field in books: YES
[20-Nov-2025 18:27:30 UTC]    Description field in categories: YES
[20-Nov-2025 18:27:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:27:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:27:30 UTC]    Is_active field in books: YES
[20-Nov-2025 18:27:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:27:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:27:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:27:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:27:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:27:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:27:30 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 18:27:30 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 18:27:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:27:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:27:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:27:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:27:30 UTC] 📊 Database Info:
[20-Nov-2025 18:27:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:27:30 UTC]    Books columns count: 44
[20-Nov-2025 18:27:30 UTC]    Categories columns count: 7
[20-Nov-2025 18:27:30 UTC]    Language field in books: YES
[20-Nov-2025 18:27:30 UTC]    Format field in books: YES
[20-Nov-2025 18:27:30 UTC]    Description field in categories: YES
[20-Nov-2025 18:27:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:27:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:27:30 UTC]    Is_active field in books: YES
[20-Nov-2025 18:27:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:27:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:27:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:27:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:27:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:27:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:27:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:27:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:27:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:27:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:27:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:27:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:27:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:27:35 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:27:35 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:27:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:27:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:27:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:27:35 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:27:35 UTC] 📊 Database Info:
[20-Nov-2025 18:27:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:27:35 UTC]    Books columns count: 44
[20-Nov-2025 18:27:35 UTC]    Categories columns count: 7
[20-Nov-2025 18:27:35 UTC]    Language field in books: YES
[20-Nov-2025 18:27:35 UTC]    Format field in books: YES
[20-Nov-2025 18:27:35 UTC]    Description field in categories: YES
[20-Nov-2025 18:27:35 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:27:35 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:27:35 UTC]    Is_active field in books: YES
[20-Nov-2025 18:27:35 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:27:35 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:27:35 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:27:35 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:27:35 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:27:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:27:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:27:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:27:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:27:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:27:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:27:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:27:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:27:35 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:27:35 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:27:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:27:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:27:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:27:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:27:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:27:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:27:35 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:27:35 UTC] 📊 Database Info:
[20-Nov-2025 18:27:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:27:35 UTC]    Books columns count: 44
[20-Nov-2025 18:27:35 UTC]    Categories columns count: 7
[20-Nov-2025 18:27:35 UTC]    Language field in books: YES
[20-Nov-2025 18:27:35 UTC]    Format field in books: YES
[20-Nov-2025 18:27:35 UTC]    Description field in categories: YES
[20-Nov-2025 18:27:35 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:27:35 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:27:35 UTC]    Is_active field in books: YES
[20-Nov-2025 18:27:35 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:27:35 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:27:35 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:27:35 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:27:35 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:27:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:28:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:28:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:28:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:28:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:28:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:28:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:28:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:28:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:28:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:28:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:28:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:28:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:28:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:28:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:28:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:28:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:28:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:28:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:28:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:28:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:28:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:28:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:28:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:28:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:28:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:28:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:28:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:28:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:28:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:28:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:28:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:28:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:28:33 UTC] 📊 Database Info:
[20-Nov-2025 18:28:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:28:33 UTC]    Books columns count: 44
[20-Nov-2025 18:28:33 UTC]    Categories columns count: 7
[20-Nov-2025 18:28:33 UTC]    Language field in books: YES
[20-Nov-2025 18:28:33 UTC]    Format field in books: YES
[20-Nov-2025 18:28:33 UTC]    Description field in categories: YES
[20-Nov-2025 18:28:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:28:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:28:33 UTC]    Is_active field in books: YES
[20-Nov-2025 18:28:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:28:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:28:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:28:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:28:33 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:28:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:28:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:28:34 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:28:34 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:28:34 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:28:34 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:28:34 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:28:34 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:28:34 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:28:34 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:28:34 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:28:34 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:28:34 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:28:34 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:28:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:28:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:28:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:28:34 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:28:34 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:28:34 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:28:34 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:28:34 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:28:34 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:28:34 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:28:34 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:28:34 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:28:34 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:28:34 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:28:34 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:28:34 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:28:34 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:28:34 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:28:34 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:28:34 UTC] 📊 Database Info:
[20-Nov-2025 18:28:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:28:34 UTC]    Books columns count: 44
[20-Nov-2025 18:28:34 UTC]    Categories columns count: 7
[20-Nov-2025 18:28:34 UTC]    Language field in books: YES
[20-Nov-2025 18:28:34 UTC]    Format field in books: YES
[20-Nov-2025 18:28:34 UTC]    Description field in categories: YES
[20-Nov-2025 18:28:34 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:28:34 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:28:34 UTC]    Is_active field in books: YES
[20-Nov-2025 18:28:34 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:28:34 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:28:34 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:28:34 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:28:34 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:28:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:29:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:29:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:29:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:29:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:29:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:29:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:29:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:29:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:29:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:29:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:29:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:29:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:29:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:29:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:29:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:29:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:29:06 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:29:06 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:29:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:29:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:29:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:29:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:29:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:29:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:29:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:29:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:29:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:29:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:29:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:29:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:29:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:29:06 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:29:06 UTC] 📊 Database Info:
[20-Nov-2025 18:29:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:29:06 UTC]    Books columns count: 44
[20-Nov-2025 18:29:06 UTC]    Categories columns count: 7
[20-Nov-2025 18:29:06 UTC]    Language field in books: YES
[20-Nov-2025 18:29:06 UTC]    Format field in books: YES
[20-Nov-2025 18:29:06 UTC]    Description field in categories: YES
[20-Nov-2025 18:29:06 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:29:06 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:29:06 UTC]    Is_active field in books: YES
[20-Nov-2025 18:29:06 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:29:06 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:29:06 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:29:06 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:29:06 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:29:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:30:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:30:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:30:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:30:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:30:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:30:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:30:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:30:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:30:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:30:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:30:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:30:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:30:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:30:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:30:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:30:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:30:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:30:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:30:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:30:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:30:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:30:42 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:30:42 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:30:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:30:42 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:30:42 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:30:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:30:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:30:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:30:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:30:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:30:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:30:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:30:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:30:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:30:42 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:30:42 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:30:42 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:30:42 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:30:42 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:30:42 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:30:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:30:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:30:42 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:30:42 UTC] 📊 Database Info:
[20-Nov-2025 18:30:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:30:42 UTC]    Books columns count: 44
[20-Nov-2025 18:30:42 UTC]    Categories columns count: 7
[20-Nov-2025 18:30:42 UTC]    Language field in books: YES
[20-Nov-2025 18:30:42 UTC]    Format field in books: YES
[20-Nov-2025 18:30:42 UTC]    Description field in categories: YES
[20-Nov-2025 18:30:42 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:30:42 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:30:42 UTC]    Is_active field in books: YES
[20-Nov-2025 18:30:42 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:30:42 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:30:42 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:30:42 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:30:42 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:30:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:30:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 18:30:42 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 18:30:42 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 18:30:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:30:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:30:42 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:30:42 UTC] 📊 Database Info:
[20-Nov-2025 18:30:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:30:42 UTC]    Books columns count: 44
[20-Nov-2025 18:30:42 UTC]    Categories columns count: 7
[20-Nov-2025 18:30:42 UTC]    Language field in books: YES
[20-Nov-2025 18:30:42 UTC]    Format field in books: YES
[20-Nov-2025 18:30:42 UTC]    Description field in categories: YES
[20-Nov-2025 18:30:42 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:30:42 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:30:42 UTC]    Is_active field in books: YES
[20-Nov-2025 18:30:42 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:30:42 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:30:42 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:30:42 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:30:42 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:30:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:30:42 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 18:30:42 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 18:30:42 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:30:42 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:30:42 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:30:42 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:30:42 UTC] 📊 Database Info:
[20-Nov-2025 18:30:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:30:42 UTC]    Books columns count: 44
[20-Nov-2025 18:30:42 UTC]    Categories columns count: 7
[20-Nov-2025 18:30:42 UTC]    Language field in books: YES
[20-Nov-2025 18:30:42 UTC]    Format field in books: YES
[20-Nov-2025 18:30:42 UTC]    Description field in categories: YES
[20-Nov-2025 18:30:42 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:30:42 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:30:42 UTC]    Is_active field in books: YES
[20-Nov-2025 18:30:42 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:30:42 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:30:42 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:30:42 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:30:42 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:30:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:30:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:30:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:30:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:30:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:30:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:30:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:30:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:30:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:30:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:30:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:30:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:30:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:30:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:30:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:30:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:30:46 UTC] 📊 Database Info:
[20-Nov-2025 18:30:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:30:46 UTC]    Books columns count: 44
[20-Nov-2025 18:30:46 UTC]    Categories columns count: 7
[20-Nov-2025 18:30:46 UTC]    Language field in books: YES
[20-Nov-2025 18:30:46 UTC]    Format field in books: YES
[20-Nov-2025 18:30:46 UTC]    Description field in categories: YES
[20-Nov-2025 18:30:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:30:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:30:46 UTC]    Is_active field in books: YES
[20-Nov-2025 18:30:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:30:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:30:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:30:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:30:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:30:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:30:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:30:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:30:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:30:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:30:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:30:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:30:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:30:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:30:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:30:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:30:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:30:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:30:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:30:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:30:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:30:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:30:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:30:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:30:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:30:46 UTC] 📊 Database Info:
[20-Nov-2025 18:30:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:30:46 UTC]    Books columns count: 44
[20-Nov-2025 18:30:46 UTC]    Categories columns count: 7
[20-Nov-2025 18:30:46 UTC]    Language field in books: YES
[20-Nov-2025 18:30:46 UTC]    Format field in books: YES
[20-Nov-2025 18:30:46 UTC]    Description field in categories: YES
[20-Nov-2025 18:30:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:30:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:30:46 UTC]    Is_active field in books: YES
[20-Nov-2025 18:30:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:30:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:30:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:30:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:30:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:30:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:31:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:31:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:31:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:31:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:31:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:31:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:31:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:31:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:31:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:31:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:31:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:31:32 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:31:32 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:31:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:31:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:31:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:31:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:31:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:31:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:31:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:31:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:31:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:31:32 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:31:32 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:31:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:31:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:31:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:31:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:31:32 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:31:32 UTC] 📊 Database Info:
[20-Nov-2025 18:31:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:31:32 UTC]    Books columns count: 44
[20-Nov-2025 18:31:32 UTC]    Categories columns count: 7
[20-Nov-2025 18:31:32 UTC]    Language field in books: YES
[20-Nov-2025 18:31:32 UTC]    Format field in books: YES
[20-Nov-2025 18:31:32 UTC]    Description field in categories: YES
[20-Nov-2025 18:31:32 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:31:32 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:31:32 UTC]    Is_active field in books: YES
[20-Nov-2025 18:31:32 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:31:32 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:31:32 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:31:32 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:31:32 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:31:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:31:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 18:31:32 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 18:31:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:31:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:31:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:31:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:31:32 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:31:32 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:31:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:31:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:31:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:31:32 UTC] 📊 Database Info:
[20-Nov-2025 18:31:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:31:32 UTC]    Books columns count: 44
[20-Nov-2025 18:31:32 UTC]    Categories columns count: 7
[20-Nov-2025 18:31:32 UTC]    Language field in books: YES
[20-Nov-2025 18:31:32 UTC]    Format field in books: YES
[20-Nov-2025 18:31:32 UTC]    Description field in categories: YES
[20-Nov-2025 18:31:32 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:31:32 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:31:32 UTC]    Is_active field in books: YES
[20-Nov-2025 18:31:32 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:31:32 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:31:32 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:31:32 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:31:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:31:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:31:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:31:32 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:31:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:31:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:31:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:31:32 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:31:32 UTC] 📊 Database Info:
[20-Nov-2025 18:31:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:31:32 UTC]    Books columns count: 44
[20-Nov-2025 18:31:32 UTC]    Categories columns count: 7
[20-Nov-2025 18:31:32 UTC]    Language field in books: YES
[20-Nov-2025 18:31:32 UTC]    Format field in books: YES
[20-Nov-2025 18:31:32 UTC]    Description field in categories: YES
[20-Nov-2025 18:31:32 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:31:32 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:31:32 UTC]    Is_active field in books: YES
[20-Nov-2025 18:31:32 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:31:32 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:31:32 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:31:32 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:31:32 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:31:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:31:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 18:31:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 18:31:32 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 18:32:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:32:02 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:32:02 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:32:02 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:32:02 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:32:02 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:32:02 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:32:02 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:32:02 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:32:02 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:32:02 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:32:02 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:32:02 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:32:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:32:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:32:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:32:02 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:32:02 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:32:02 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:32:02 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:32:02 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:32:02 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:32:02 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:32:02 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:32:02 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:32:02 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:32:02 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:32:02 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:32:02 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:32:02 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:32:02 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:32:02 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:32:02 UTC] 📊 Database Info:
[20-Nov-2025 18:32:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:32:02 UTC]    Books columns count: 44
[20-Nov-2025 18:32:02 UTC]    Categories columns count: 7
[20-Nov-2025 18:32:02 UTC]    Language field in books: YES
[20-Nov-2025 18:32:02 UTC]    Format field in books: YES
[20-Nov-2025 18:32:02 UTC]    Description field in categories: YES
[20-Nov-2025 18:32:02 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:32:02 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:32:02 UTC]    Is_active field in books: YES
[20-Nov-2025 18:32:02 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:32:02 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:32:02 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:32:02 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:32:02 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:32:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:32:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:32:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:32:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:32:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:32:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:32:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:32:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:32:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:32:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:32:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:32:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:32:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:32:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:32:03 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:32:03 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:32:03 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:32:03 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:32:03 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:32:03 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:32:03 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:32:03 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:32:03 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:32:03 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:32:03 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:32:03 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:32:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:32:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:32:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:32:03 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:32:03 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:32:03 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:32:03 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:32:03 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:32:03 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:32:03 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:32:03 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:32:03 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:32:03 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:32:03 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:32:03 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:32:03 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:32:03 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:32:03 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:32:03 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:32:03 UTC] 📊 Database Info:
[20-Nov-2025 18:32:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:32:03 UTC]    Books columns count: 44
[20-Nov-2025 18:32:03 UTC]    Categories columns count: 7
[20-Nov-2025 18:32:03 UTC]    Language field in books: YES
[20-Nov-2025 18:32:03 UTC]    Format field in books: YES
[20-Nov-2025 18:32:03 UTC]    Description field in categories: YES
[20-Nov-2025 18:32:03 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:32:03 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:32:03 UTC]    Is_active field in books: YES
[20-Nov-2025 18:32:03 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:32:03 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:32:03 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:32:03 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:32:03 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:32:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:32:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:32:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:32:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:32:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:32:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:32:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:32:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:32:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:32:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:32:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:32:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:32:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:32:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:32:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:32:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:32:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:32:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:32:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:32:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:32:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:32:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:32:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:32:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:32:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:32:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:32:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:32:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:32:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:32:27 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:32:27 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:32:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:32:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:32:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:32:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:32:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:32:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:32:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:32:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:32:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:32:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:32:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:32:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:32:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:32:27 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:32:27 UTC] 📊 Database Info:
[20-Nov-2025 18:32:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:32:27 UTC]    Books columns count: 44
[20-Nov-2025 18:32:27 UTC]    Categories columns count: 7
[20-Nov-2025 18:32:27 UTC]    Language field in books: YES
[20-Nov-2025 18:32:27 UTC]    Format field in books: YES
[20-Nov-2025 18:32:27 UTC]    Description field in categories: YES
[20-Nov-2025 18:32:27 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:32:27 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:32:27 UTC]    Is_active field in books: YES
[20-Nov-2025 18:32:27 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:32:27 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:32:27 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:32:27 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:32:27 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:32:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:32:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:32:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:32:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:32:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:32:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:32:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:32:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:32:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:32:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:32:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:32:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:32:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:32:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:32:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:32:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:32:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:32:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:32:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:32:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:32:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:32:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:32:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:32:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:32:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:32:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:32:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:32:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:32:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:32:59 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:32:59 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:32:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:32:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:32:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:32:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:32:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:32:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:32:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:32:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:32:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:32:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:32:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:32:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:32:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:32:59 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:32:59 UTC] 📊 Database Info:
[20-Nov-2025 18:32:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:32:59 UTC]    Books columns count: 44
[20-Nov-2025 18:32:59 UTC]    Categories columns count: 7
[20-Nov-2025 18:32:59 UTC]    Language field in books: YES
[20-Nov-2025 18:32:59 UTC]    Format field in books: YES
[20-Nov-2025 18:32:59 UTC]    Description field in categories: YES
[20-Nov-2025 18:32:59 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:32:59 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:32:59 UTC]    Is_active field in books: YES
[20-Nov-2025 18:32:59 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:32:59 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:32:59 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:32:59 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:32:59 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:32:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:33:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:33:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:33:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:33:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:33:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:33:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:33:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:33:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:33:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:33:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:33:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:33:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:33:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:33:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:33:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:33:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:33:00 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:33:00 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:33:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:33:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:33:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:33:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:33:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:33:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:33:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:33:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:33:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:33:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:33:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:33:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:33:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:33:00 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:33:00 UTC] 📊 Database Info:
[20-Nov-2025 18:33:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:33:00 UTC]    Books columns count: 44
[20-Nov-2025 18:33:00 UTC]    Categories columns count: 7
[20-Nov-2025 18:33:00 UTC]    Language field in books: YES
[20-Nov-2025 18:33:00 UTC]    Format field in books: YES
[20-Nov-2025 18:33:00 UTC]    Description field in categories: YES
[20-Nov-2025 18:33:00 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:33:00 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:33:00 UTC]    Is_active field in books: YES
[20-Nov-2025 18:33:00 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:33:00 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:33:00 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:33:00 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:33:00 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:33:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:33:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:33:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:33:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:33:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:33:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:33:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:33:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:33:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:33:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:33:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:33:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:33:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:33:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:33:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:33:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:33:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:33:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:33:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:33:09 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:33:09 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:33:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:33:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:33:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:33:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:33:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:33:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:33:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:33:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:33:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:33:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:33:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:33:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:33:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:33:09 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:33:09 UTC] 📊 Database Info:
[20-Nov-2025 18:33:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:33:09 UTC]    Books columns count: 44
[20-Nov-2025 18:33:09 UTC]    Categories columns count: 7
[20-Nov-2025 18:33:09 UTC]    Language field in books: YES
[20-Nov-2025 18:33:09 UTC]    Format field in books: YES
[20-Nov-2025 18:33:09 UTC]    Description field in categories: YES
[20-Nov-2025 18:33:09 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:33:09 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:33:09 UTC]    Is_active field in books: YES
[20-Nov-2025 18:33:09 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:33:09 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:33:09 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:33:09 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:33:09 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:33:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:37:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:37:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:37:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:37:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:37:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:37:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:37:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:37:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:37:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:37:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:37:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:37:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:37:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:37:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:37:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:37:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:37:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:37:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:37:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:37:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:37:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:37:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:37:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:37:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:37:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:37:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:37:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:37:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:37:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:37:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:37:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:37:18 UTC] 📊 Database Info:
[20-Nov-2025 18:37:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:37:18 UTC]    Books columns count: 44
[20-Nov-2025 18:37:18 UTC]    Categories columns count: 7
[20-Nov-2025 18:37:18 UTC]    Language field in books: YES
[20-Nov-2025 18:37:18 UTC]    Format field in books: YES
[20-Nov-2025 18:37:18 UTC]    Description field in categories: YES
[20-Nov-2025 18:37:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:37:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:37:18 UTC]    Is_active field in books: YES
[20-Nov-2025 18:37:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:37:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:37:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:37:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:37:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:37:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:37:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:37:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:37:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:37:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:37:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:37:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:37:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:37:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:37:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:37:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:37:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:37:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:37:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:37:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:37:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:37:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:37:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:37:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:37:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:37:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:37:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:37:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:37:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:37:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:37:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:37:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:37:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:37:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:37:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:37:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:37:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:37:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:37:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:37:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:37:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:37:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:37:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:37:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:37:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:37:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:37:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:37:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:37:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:37:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:37:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:37:19 UTC] 📊 Database Info:
[20-Nov-2025 18:37:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:37:19 UTC]    Books columns count: 44
[20-Nov-2025 18:37:19 UTC]    Categories columns count: 7
[20-Nov-2025 18:37:19 UTC]    Language field in books: YES
[20-Nov-2025 18:37:19 UTC]    Format field in books: YES
[20-Nov-2025 18:37:19 UTC]    Description field in categories: YES
[20-Nov-2025 18:37:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:37:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:37:19 UTC]    Is_active field in books: YES
[20-Nov-2025 18:37:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:37:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:37:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:37:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:37:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:37:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:37:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:37:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:37:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:37:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:37:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:37:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:37:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:37:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:37:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:37:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:37:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:37:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:37:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:37:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:37:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:37:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:37:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:37:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:37:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:37:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:37:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:37:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:37:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:37:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:37:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:37:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:37:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:37:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:37:22 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:37:22 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:37:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:37:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:37:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:37:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:37:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:37:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:37:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:37:22 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:37:22 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:37:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:37:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:37:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:37:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:37:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:37:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:37:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:37:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:37:22 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:37:22 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:37:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:37:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:37:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:37:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:37:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:37:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:37:22 UTC] 📊 Database Info:
[20-Nov-2025 18:37:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:37:22 UTC]    Books columns count: 44
[20-Nov-2025 18:37:22 UTC]    Categories columns count: 7
[20-Nov-2025 18:37:22 UTC]    Language field in books: YES
[20-Nov-2025 18:37:22 UTC]    Format field in books: YES
[20-Nov-2025 18:37:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:37:22 UTC]    Description field in categories: YES
[20-Nov-2025 18:37:22 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:37:22 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:37:22 UTC]    Is_active field in books: YES
[20-Nov-2025 18:37:22 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:37:22 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:37:22 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:37:22 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:37:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:37:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:37:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:37:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:37:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:37:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:37:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:37:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:37:22 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:37:22 UTC] 📊 Database Info:
[20-Nov-2025 18:37:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:37:22 UTC]    Books columns count: 44
[20-Nov-2025 18:37:22 UTC]    Categories columns count: 7
[20-Nov-2025 18:37:22 UTC]    Language field in books: YES
[20-Nov-2025 18:37:22 UTC]    Format field in books: YES
[20-Nov-2025 18:37:22 UTC]    Description field in categories: YES
[20-Nov-2025 18:37:22 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:37:22 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:37:22 UTC]    Is_active field in books: YES
[20-Nov-2025 18:37:22 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:37:22 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:37:22 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:37:22 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:37:22 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:37:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:37:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:37:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:37:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:37:22 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:37:22 UTC] 📊 Database Info:
[20-Nov-2025 18:37:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:37:22 UTC]    Books columns count: 44
[20-Nov-2025 18:37:22 UTC]    Categories columns count: 7
[20-Nov-2025 18:37:22 UTC]    Language field in books: YES
[20-Nov-2025 18:37:22 UTC]    Format field in books: YES
[20-Nov-2025 18:37:22 UTC]    Description field in categories: YES
[20-Nov-2025 18:37:22 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:37:22 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:37:22 UTC]    Is_active field in books: YES
[20-Nov-2025 18:37:22 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:37:22 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:37:22 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:37:22 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:37:22 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:37:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:37:22 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 18:37:22 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 18:37:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:37:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:37:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:37:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:37:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:37:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:37:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:37:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:37:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:37:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:37:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:37:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:37:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:37:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:37:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:37:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:37:24 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:37:24 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:37:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:37:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:37:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:37:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:37:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:37:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:37:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:37:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:37:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:37:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:37:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:37:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:37:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:37:24 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:37:24 UTC] 📊 Database Info:
[20-Nov-2025 18:37:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:37:24 UTC]    Books columns count: 44
[20-Nov-2025 18:37:24 UTC]    Categories columns count: 7
[20-Nov-2025 18:37:24 UTC]    Language field in books: YES
[20-Nov-2025 18:37:24 UTC]    Format field in books: YES
[20-Nov-2025 18:37:24 UTC]    Description field in categories: YES
[20-Nov-2025 18:37:24 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:37:24 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:37:24 UTC]    Is_active field in books: YES
[20-Nov-2025 18:37:24 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:37:24 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:37:24 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:37:24 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:37:24 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:37:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:39:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:39:31 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:39:31 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:39:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:39:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:39:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:39:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:39:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:39:31 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:39:31 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:39:31 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:39:31 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:39:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:39:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:39:31 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:39:31 UTC] 📊 Database Info:
[20-Nov-2025 18:39:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:39:31 UTC]    Books columns count: 44
[20-Nov-2025 18:39:31 UTC]    Categories columns count: 7
[20-Nov-2025 18:39:31 UTC]    Language field in books: YES
[20-Nov-2025 18:39:31 UTC]    Format field in books: YES
[20-Nov-2025 18:39:31 UTC]    Description field in categories: YES
[20-Nov-2025 18:39:31 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:39:31 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:39:31 UTC]    Is_active field in books: YES
[20-Nov-2025 18:39:31 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:39:31 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:39:31 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:39:31 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:39:31 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:39:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:39:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:39:31 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:39:31 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:39:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:39:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:39:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:39:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:39:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:39:31 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:39:31 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:39:31 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:39:31 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:39:31 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:39:31 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:39:31 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:39:31 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:39:31 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:39:31 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:39:31 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:39:31 UTC] 📊 Database Info:
[20-Nov-2025 18:39:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:39:31 UTC]    Books columns count: 44
[20-Nov-2025 18:39:31 UTC]    Categories columns count: 7
[20-Nov-2025 18:39:31 UTC]    Language field in books: YES
[20-Nov-2025 18:39:31 UTC]    Format field in books: YES
[20-Nov-2025 18:39:31 UTC]    Description field in categories: YES
[20-Nov-2025 18:39:31 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:39:31 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:39:31 UTC]    Is_active field in books: YES
[20-Nov-2025 18:39:31 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:39:31 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:39:31 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:39:31 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:39:31 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:39:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:39:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:39:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:39:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:39:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:39:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:39:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:39:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:39:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:39:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:39:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:39:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:39:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:39:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:39:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:39:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:39:41 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:39:41 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:39:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:39:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:39:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:39:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:39:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:39:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:39:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:39:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:39:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:39:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:39:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:39:41 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:39:41 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:39:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:39:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:39:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:39:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:39:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:39:41 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:39:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:39:41 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:39:41 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:39:41 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:39:41 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:39:41 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:39:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:39:41 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:39:41 UTC] 📊 Database Info:
[20-Nov-2025 18:39:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:39:41 UTC]    Books columns count: 44
[20-Nov-2025 18:39:41 UTC]    Categories columns count: 7
[20-Nov-2025 18:39:41 UTC]    Language field in books: YES
[20-Nov-2025 18:39:41 UTC]    Format field in books: YES
[20-Nov-2025 18:39:41 UTC]    Description field in categories: YES
[20-Nov-2025 18:39:41 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:39:41 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:39:41 UTC]    Is_active field in books: YES
[20-Nov-2025 18:39:41 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:39:41 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:39:41 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:39:41 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:39:41 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:39:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:39:41 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 18:39:41 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 18:39:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:39:41 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:39:41 UTC] 📊 Database Info:
[20-Nov-2025 18:39:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:39:41 UTC]    Books columns count: 44
[20-Nov-2025 18:39:41 UTC]    Categories columns count: 7
[20-Nov-2025 18:39:41 UTC]    Language field in books: YES
[20-Nov-2025 18:39:41 UTC]    Format field in books: YES
[20-Nov-2025 18:39:41 UTC]    Description field in categories: YES
[20-Nov-2025 18:39:41 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:39:41 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:39:41 UTC]    Is_active field in books: YES
[20-Nov-2025 18:39:41 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:39:41 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:39:41 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:39:41 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:39:41 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:39:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:39:41 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:39:41 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:39:41 UTC] 📊 Database Info:
[20-Nov-2025 18:39:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:39:41 UTC]    Books columns count: 44
[20-Nov-2025 18:39:41 UTC]    Categories columns count: 7
[20-Nov-2025 18:39:41 UTC]    Language field in books: YES
[20-Nov-2025 18:39:41 UTC]    Format field in books: YES
[20-Nov-2025 18:39:41 UTC]    Description field in categories: YES
[20-Nov-2025 18:39:41 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:39:41 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:39:41 UTC]    Is_active field in books: YES
[20-Nov-2025 18:39:41 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:39:41 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:39:41 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:39:41 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:39:41 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:39:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:39:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:39:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:39:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:39:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:39:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:39:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:39:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:39:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:39:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:39:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:39:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:39:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:39:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:39:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:39:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:39:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:39:44 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:39:44 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:39:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:39:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:39:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:39:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:39:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:39:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:39:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:39:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:39:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:39:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:39:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:39:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:39:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:39:44 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:39:44 UTC] 📊 Database Info:
[20-Nov-2025 18:39:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:39:44 UTC]    Books columns count: 44
[20-Nov-2025 18:39:44 UTC]    Categories columns count: 7
[20-Nov-2025 18:39:44 UTC]    Language field in books: YES
[20-Nov-2025 18:39:44 UTC]    Format field in books: YES
[20-Nov-2025 18:39:44 UTC]    Description field in categories: YES
[20-Nov-2025 18:39:44 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:39:44 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:39:44 UTC]    Is_active field in books: YES
[20-Nov-2025 18:39:44 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:39:44 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:39:44 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:39:44 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:39:44 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:39:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:39:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:39:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:39:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:39:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:39:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:39:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:39:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:39:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:39:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:39:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:39:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:39:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:41:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:41:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:41:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:41:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:41:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:41:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:41:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:41:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:41:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:41:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:41:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:41:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:41:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:41:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:41:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:41:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:41:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:41:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:41:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:41:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:41:00 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:41:00 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:41:00 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:41:00 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:41:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:41:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:41:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:41:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:41:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:41:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:41:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:41:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:41:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:41:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:41:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:41:00 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:41:00 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:41:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:41:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:41:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:41:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:41:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:41:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:41:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:41:00 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:41:00 UTC] 📊 Database Info:
[20-Nov-2025 18:41:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:41:00 UTC]    Books columns count: 44
[20-Nov-2025 18:41:00 UTC]    Categories columns count: 7
[20-Nov-2025 18:41:00 UTC]    Language field in books: YES
[20-Nov-2025 18:41:00 UTC]    Format field in books: YES
[20-Nov-2025 18:41:00 UTC]    Description field in categories: YES
[20-Nov-2025 18:41:00 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:41:00 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:41:00 UTC]    Is_active field in books: YES
[20-Nov-2025 18:41:00 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:41:00 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:41:00 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:41:00 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:41:00 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:41:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:41:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:41:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:41:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:41:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:41:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:41:00 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:41:00 UTC] 📊 Database Info:
[20-Nov-2025 18:41:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:41:00 UTC]    Books columns count: 44
[20-Nov-2025 18:41:00 UTC]    Categories columns count: 7
[20-Nov-2025 18:41:00 UTC]    Language field in books: YES
[20-Nov-2025 18:41:00 UTC]    Format field in books: YES
[20-Nov-2025 18:41:00 UTC]    Description field in categories: YES
[20-Nov-2025 18:41:00 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:41:00 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:41:00 UTC]    Is_active field in books: YES
[20-Nov-2025 18:41:00 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:41:00 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:41:00 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:41:00 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:41:00 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:41:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:41:00 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:41:00 UTC] 📊 Database Info:
[20-Nov-2025 18:41:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:41:00 UTC]    Books columns count: 44
[20-Nov-2025 18:41:00 UTC]    Categories columns count: 7
[20-Nov-2025 18:41:00 UTC]    Language field in books: YES
[20-Nov-2025 18:41:00 UTC]    Format field in books: YES
[20-Nov-2025 18:41:00 UTC]    Description field in categories: YES
[20-Nov-2025 18:41:00 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:41:00 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:41:00 UTC]    Is_active field in books: YES
[20-Nov-2025 18:41:00 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:41:00 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:41:00 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:41:00 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:41:00 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:41:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:41:00 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 18:41:00 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 18:41:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:41:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:41:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:41:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:41:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:41:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:41:15 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:41:15 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:41:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:41:15 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:41:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:41:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:41:15 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:41:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:41:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:41:15 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:41:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:41:15 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:41:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:41:15 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:41:15 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:41:15 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:41:15 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:41:15 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:41:15 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:41:15 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:41:15 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:41:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:41:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:41:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:41:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:41:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:41:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:41:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:41:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:41:16 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:41:16 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:41:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:41:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:41:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:41:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:41:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:41:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:41:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:41:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:41:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:41:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:41:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:41:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:41:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:41:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:41:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:41:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:41:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:41:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:41:16 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:41:16 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:41:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:41:16 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:41:16 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:41:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:41:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:41:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:41:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:41:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:41:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:41:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:41:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:41:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:41:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:41:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:41:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:41:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:41:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:41:16 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:41:16 UTC] 📊 Database Info:
[20-Nov-2025 18:41:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:41:16 UTC]    Books columns count: 44
[20-Nov-2025 18:41:16 UTC]    Categories columns count: 7
[20-Nov-2025 18:41:16 UTC]    Language field in books: YES
[20-Nov-2025 18:41:16 UTC]    Format field in books: YES
[20-Nov-2025 18:41:16 UTC]    Description field in categories: YES
[20-Nov-2025 18:41:16 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:41:16 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:41:16 UTC]    Is_active field in books: YES
[20-Nov-2025 18:41:16 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:41:16 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:41:16 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:41:16 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:41:16 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:41:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:41:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:41:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:41:16 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:41:16 UTC] 📊 Database Info:
[20-Nov-2025 18:41:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:41:16 UTC]    Books columns count: 44
[20-Nov-2025 18:41:16 UTC]    Categories columns count: 7
[20-Nov-2025 18:41:16 UTC]    Language field in books: YES
[20-Nov-2025 18:41:16 UTC]    Format field in books: YES
[20-Nov-2025 18:41:16 UTC]    Description field in categories: YES
[20-Nov-2025 18:41:16 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:41:16 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:41:16 UTC]    Is_active field in books: YES
[20-Nov-2025 18:41:16 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:41:16 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:41:16 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:41:16 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:41:16 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:41:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:41:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:41:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:41:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:41:16 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:41:16 UTC] 📊 Database Info:
[20-Nov-2025 18:41:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:41:16 UTC]    Books columns count: 44
[20-Nov-2025 18:41:16 UTC]    Categories columns count: 7
[20-Nov-2025 18:41:16 UTC]    Language field in books: YES
[20-Nov-2025 18:41:16 UTC]    Format field in books: YES
[20-Nov-2025 18:41:16 UTC]    Description field in categories: YES
[20-Nov-2025 18:41:16 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:41:16 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:41:16 UTC]    Is_active field in books: YES
[20-Nov-2025 18:41:16 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:41:16 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:41:16 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:41:16 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:41:16 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:41:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:41:16 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 18:41:16 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 18:41:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:41:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:41:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 18:41:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:41:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:41:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:41:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:41:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:41:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:41:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:41:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:41:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:41:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:41:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:41:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:41:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:41:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:41:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:41:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:41:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:41:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:41:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:41:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:41:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:41:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:41:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:41:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:41:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:41:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:41:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:41:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:41:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:41:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:41:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:41:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 18:41:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:41:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:41:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 18:41:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 18:41:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 18:41:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 18:41:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column language already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column format already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 18:41:37 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 18:41:37 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 18:41:37 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 18:41:37 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 18:41:37 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 18:41:37 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 18:41:37 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 18:41:37 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:41:37 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:41:37 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:41:37 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:41:37 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:41:37 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:41:37 UTC] 📊 Database Info:
[20-Nov-2025 18:41:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:41:37 UTC]    Books columns count: 44
[20-Nov-2025 18:41:37 UTC]    Categories columns count: 7
[20-Nov-2025 18:41:37 UTC]    Language field in books: YES
[20-Nov-2025 18:41:37 UTC]    Format field in books: YES
[20-Nov-2025 18:41:37 UTC]    Description field in categories: YES
[20-Nov-2025 18:41:37 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:41:37 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:41:37 UTC]    Is_active field in books: YES
[20-Nov-2025 18:41:37 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:41:37 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:41:37 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:41:37 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:41:37 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:41:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:41:37 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:41:37 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:41:37 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:41:37 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:41:37 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:41:37 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:41:37 UTC] 📊 Database Info:
[20-Nov-2025 18:41:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:41:37 UTC]    Books columns count: 44
[20-Nov-2025 18:41:37 UTC]    Categories columns count: 7
[20-Nov-2025 18:41:37 UTC]    Language field in books: YES
[20-Nov-2025 18:41:37 UTC]    Format field in books: YES
[20-Nov-2025 18:41:37 UTC]    Description field in categories: YES
[20-Nov-2025 18:41:37 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:41:37 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:41:37 UTC]    Is_active field in books: YES
[20-Nov-2025 18:41:37 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:41:37 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:41:37 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:41:37 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:41:37 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:41:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:41:37 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 18:41:37 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 18:41:37 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 18:41:37 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 18:41:37 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 18:41:37 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 18:41:37 UTC] 📊 Database Info:
[20-Nov-2025 18:41:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 18:41:37 UTC]    Books columns count: 44
[20-Nov-2025 18:41:37 UTC]    Categories columns count: 7
[20-Nov-2025 18:41:37 UTC]    Language field in books: YES
[20-Nov-2025 18:41:37 UTC]    Format field in books: YES
[20-Nov-2025 18:41:37 UTC]    Description field in categories: YES
[20-Nov-2025 18:41:37 UTC]    Display_order field in categories: YES
[20-Nov-2025 18:41:37 UTC]    Is_active field in categories: YES
[20-Nov-2025 18:41:37 UTC]    Is_active field in books: YES
[20-Nov-2025 18:41:37 UTC]    External_download_link field in books: YES
[20-Nov-2025 18:41:37 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 18:41:37 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 18:41:37 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 18:41:37 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 18:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 18:41:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 18:41:37 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 18:41:37 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:00:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:00:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:00:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:00:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:00:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:00:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:00:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:00:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:00:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:00:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:00:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:00:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:00:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:00:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:00:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:00:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:00:20 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:00:20 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:00:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:00:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:00:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:00:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:00:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:00:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:00:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:00:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:00:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:00:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:00:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:00:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:00:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:00:20 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:00:20 UTC] 📊 Database Info:
[20-Nov-2025 19:00:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:00:20 UTC]    Books columns count: 44
[20-Nov-2025 19:00:20 UTC]    Categories columns count: 7
[20-Nov-2025 19:00:20 UTC]    Language field in books: YES
[20-Nov-2025 19:00:20 UTC]    Format field in books: YES
[20-Nov-2025 19:00:20 UTC]    Description field in categories: YES
[20-Nov-2025 19:00:20 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:00:20 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:00:20 UTC]    Is_active field in books: YES
[20-Nov-2025 19:00:20 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:00:20 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:00:20 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:00:20 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:00:20 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:00:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:00:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:00:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:00:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:00:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:00:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:00:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:00:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:00:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:00:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:00:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:00:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:00:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:00:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:00:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:00:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:00:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:00:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:00:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:00:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:00:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:00:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:00:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:00:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:00:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:00:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:00:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:00:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:00:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:00:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:00:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:00:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:00:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:00:21 UTC] 📊 Database Info:
[20-Nov-2025 19:00:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:00:21 UTC]    Books columns count: 44
[20-Nov-2025 19:00:21 UTC]    Categories columns count: 7
[20-Nov-2025 19:00:21 UTC]    Language field in books: YES
[20-Nov-2025 19:00:21 UTC]    Format field in books: YES
[20-Nov-2025 19:00:21 UTC]    Description field in categories: YES
[20-Nov-2025 19:00:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:00:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:00:21 UTC]    Is_active field in books: YES
[20-Nov-2025 19:00:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:00:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:00:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:00:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:00:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:00:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:00:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:00:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:00:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:00:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:00:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:00:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:00:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:00:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:00:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:00:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:00:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:00:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:00:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:00:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:00:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:00:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:00:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:00:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:00:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:00:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:00:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:00:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:00:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:00:24 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:00:24 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:00:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:00:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:00:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:00:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:00:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:00:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:00:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:00:24 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:00:24 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:00:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:00:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:00:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:00:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:00:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:00:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:00:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:00:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:00:24 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:00:24 UTC] 📊 Database Info:
[20-Nov-2025 19:00:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:00:24 UTC]    Books columns count: 44
[20-Nov-2025 19:00:24 UTC]    Categories columns count: 7
[20-Nov-2025 19:00:24 UTC]    Language field in books: YES
[20-Nov-2025 19:00:24 UTC]    Format field in books: YES
[20-Nov-2025 19:00:24 UTC]    Description field in categories: YES
[20-Nov-2025 19:00:24 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:00:24 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:00:24 UTC]    Is_active field in books: YES
[20-Nov-2025 19:00:24 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:00:24 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:00:24 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:00:24 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:00:24 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:00:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:00:24 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 19:00:24 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 19:00:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:00:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:00:24 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:00:24 UTC] 📊 Database Info:
[20-Nov-2025 19:00:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:00:24 UTC]    Books columns count: 44
[20-Nov-2025 19:00:24 UTC]    Categories columns count: 7
[20-Nov-2025 19:00:24 UTC]    Language field in books: YES
[20-Nov-2025 19:00:24 UTC]    Format field in books: YES
[20-Nov-2025 19:00:24 UTC]    Description field in categories: YES
[20-Nov-2025 19:00:24 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:00:24 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:00:24 UTC]    Is_active field in books: YES
[20-Nov-2025 19:00:24 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:00:24 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:00:24 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:00:24 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:00:24 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:00:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:00:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:00:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:00:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:00:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:00:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:00:24 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:00:24 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:00:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:00:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:00:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:00:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:00:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:00:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:00:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:00:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:00:24 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:00:24 UTC] 📊 Database Info:
[20-Nov-2025 19:00:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:00:24 UTC]    Books columns count: 44
[20-Nov-2025 19:00:24 UTC]    Categories columns count: 7
[20-Nov-2025 19:00:24 UTC]    Language field in books: YES
[20-Nov-2025 19:00:24 UTC]    Format field in books: YES
[20-Nov-2025 19:00:24 UTC]    Description field in categories: YES
[20-Nov-2025 19:00:24 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:00:24 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:00:24 UTC]    Is_active field in books: YES
[20-Nov-2025 19:00:24 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:00:24 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:00:24 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:00:24 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:00:24 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:00:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:00:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:00:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 19:00:24 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 19:00:24 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 19:01:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:01:05 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:05 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:01:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:05 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:01:05 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:01:05 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:05 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:05 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:01:05 UTC] 📊 Database Info:
[20-Nov-2025 19:01:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:01:05 UTC]    Books columns count: 44
[20-Nov-2025 19:01:05 UTC]    Categories columns count: 7
[20-Nov-2025 19:01:05 UTC]    Language field in books: YES
[20-Nov-2025 19:01:05 UTC]    Format field in books: YES
[20-Nov-2025 19:01:05 UTC]    Description field in categories: YES
[20-Nov-2025 19:01:05 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:01:05 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:01:05 UTC]    Is_active field in books: YES
[20-Nov-2025 19:01:05 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:01:05 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:01:05 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:01:05 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:01:05 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:01:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:01:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:01:05 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:05 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:01:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:05 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:01:05 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:01:05 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:05 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:05 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:05 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:05 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:05 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:05 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:05 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:05 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:01:05 UTC] 📊 Database Info:
[20-Nov-2025 19:01:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:01:05 UTC]    Books columns count: 44
[20-Nov-2025 19:01:05 UTC]    Categories columns count: 7
[20-Nov-2025 19:01:05 UTC]    Language field in books: YES
[20-Nov-2025 19:01:05 UTC]    Format field in books: YES
[20-Nov-2025 19:01:05 UTC]    Description field in categories: YES
[20-Nov-2025 19:01:05 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:01:05 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:01:05 UTC]    Is_active field in books: YES
[20-Nov-2025 19:01:05 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:01:05 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:01:05 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:01:05 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:01:05 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:01:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:01:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:01:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:01:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:01:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:01:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:01:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:20 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:01:20 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:01:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:01:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:20 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:01:20 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:01:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:01:20 UTC] 📊 Database Info:
[20-Nov-2025 19:01:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:01:20 UTC]    Books columns count: 44
[20-Nov-2025 19:01:20 UTC]    Categories columns count: 7
[20-Nov-2025 19:01:20 UTC]    Language field in books: YES
[20-Nov-2025 19:01:20 UTC]    Format field in books: YES
[20-Nov-2025 19:01:20 UTC]    Description field in categories: YES
[20-Nov-2025 19:01:20 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:01:20 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:01:20 UTC]    Is_active field in books: YES
[20-Nov-2025 19:01:20 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:01:20 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:01:20 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:01:20 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:20 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:01:20 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:01:20 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:01:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:01:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:01:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:20 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:01:20 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:01:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:01:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:01:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:20 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:01:20 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:01:20 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:01:20 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:01:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:20 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:01:20 UTC] 📊 Database Info:
[20-Nov-2025 19:01:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:01:20 UTC]    Books columns count: 44
[20-Nov-2025 19:01:20 UTC]    Categories columns count: 7
[20-Nov-2025 19:01:20 UTC]    Language field in books: YES
[20-Nov-2025 19:01:20 UTC]    Format field in books: YES
[20-Nov-2025 19:01:20 UTC]    Description field in categories: YES
[20-Nov-2025 19:01:20 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:01:20 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:01:20 UTC]    Is_active field in books: YES
[20-Nov-2025 19:01:20 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:01:20 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:01:20 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:01:20 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:01:20 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:01:20 UTC] 📊 Database Info:
[20-Nov-2025 19:01:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:01:20 UTC]    Books columns count: 44
[20-Nov-2025 19:01:20 UTC]    Categories columns count: 7
[20-Nov-2025 19:01:20 UTC]    Language field in books: YES
[20-Nov-2025 19:01:20 UTC]    Format field in books: YES
[20-Nov-2025 19:01:20 UTC]    Description field in categories: YES
[20-Nov-2025 19:01:20 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:01:20 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:01:20 UTC]    Is_active field in books: YES
[20-Nov-2025 19:01:20 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:01:20 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:01:20 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:01:20 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:01:20 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:01:20 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:01:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:01:20 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:01:20 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:01:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:01:20 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:01:20 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:01:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:20 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:01:20 UTC] 📊 Database Info:
[20-Nov-2025 19:01:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:01:20 UTC]    Books columns count: 44
[20-Nov-2025 19:01:20 UTC]    Categories columns count: 7
[20-Nov-2025 19:01:20 UTC]    Language field in books: YES
[20-Nov-2025 19:01:20 UTC]    Format field in books: YES
[20-Nov-2025 19:01:20 UTC]    Description field in categories: YES
[20-Nov-2025 19:01:20 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:01:20 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:01:20 UTC]    Is_active field in books: YES
[20-Nov-2025 19:01:20 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:01:20 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:01:20 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:01:20 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:01:20 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:01:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:01:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:20 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:01:20 UTC] 📊 Database Info:
[20-Nov-2025 19:01:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:01:20 UTC]    Books columns count: 44
[20-Nov-2025 19:01:20 UTC]    Categories columns count: 7
[20-Nov-2025 19:01:20 UTC]    Language field in books: YES
[20-Nov-2025 19:01:20 UTC]    Format field in books: YES
[20-Nov-2025 19:01:20 UTC]    Description field in categories: YES
[20-Nov-2025 19:01:20 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:01:20 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:01:20 UTC]    Is_active field in books: YES
[20-Nov-2025 19:01:20 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:01:20 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:01:20 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:01:20 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:01:20 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:01:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:01:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:20 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:01:20 UTC] 📊 Database Info:
[20-Nov-2025 19:01:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:01:20 UTC]    Books columns count: 44
[20-Nov-2025 19:01:20 UTC]    Categories columns count: 7
[20-Nov-2025 19:01:20 UTC]    Language field in books: YES
[20-Nov-2025 19:01:20 UTC]    Format field in books: YES
[20-Nov-2025 19:01:20 UTC]    Description field in categories: YES
[20-Nov-2025 19:01:20 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:01:20 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:01:20 UTC]    Is_active field in books: YES
[20-Nov-2025 19:01:20 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:01:20 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:01:20 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:01:20 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:01:20 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:01:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:01:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:01:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:01:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:22 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:01:22 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:01:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:22 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:01:22 UTC] 📊 Database Info:
[20-Nov-2025 19:01:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:01:22 UTC]    Books columns count: 44
[20-Nov-2025 19:01:22 UTC]    Categories columns count: 7
[20-Nov-2025 19:01:22 UTC]    Language field in books: YES
[20-Nov-2025 19:01:22 UTC]    Format field in books: YES
[20-Nov-2025 19:01:22 UTC]    Description field in categories: YES
[20-Nov-2025 19:01:22 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:01:22 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:01:22 UTC]    Is_active field in books: YES
[20-Nov-2025 19:01:22 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:01:22 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:01:22 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:01:22 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:01:22 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:01:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:01:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:01:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:01:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:01:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:01:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:01:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:01:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:01:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:01:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:01:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:01:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:01:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:01:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:01:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:01:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:44 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:01:44 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:01:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:44 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:01:44 UTC] 📊 Database Info:
[20-Nov-2025 19:01:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:01:44 UTC]    Books columns count: 44
[20-Nov-2025 19:01:44 UTC]    Categories columns count: 7
[20-Nov-2025 19:01:44 UTC]    Language field in books: YES
[20-Nov-2025 19:01:44 UTC]    Format field in books: YES
[20-Nov-2025 19:01:44 UTC]    Description field in categories: YES
[20-Nov-2025 19:01:44 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:01:44 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:01:44 UTC]    Is_active field in books: YES
[20-Nov-2025 19:01:44 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:01:44 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:01:44 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:01:44 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:01:44 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:01:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:01:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:01:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:01:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:44 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:01:44 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:01:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:44 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:01:44 UTC] 📊 Database Info:
[20-Nov-2025 19:01:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:01:44 UTC]    Books columns count: 44
[20-Nov-2025 19:01:44 UTC]    Categories columns count: 7
[20-Nov-2025 19:01:44 UTC]    Language field in books: YES
[20-Nov-2025 19:01:44 UTC]    Format field in books: YES
[20-Nov-2025 19:01:44 UTC]    Description field in categories: YES
[20-Nov-2025 19:01:44 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:01:44 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:01:44 UTC]    Is_active field in books: YES
[20-Nov-2025 19:01:44 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:01:44 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:01:44 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:01:44 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:01:44 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:01:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:01:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:01:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:01:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:01:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:01:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:01:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:01:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:01:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:01:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:01:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:01:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:01:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:01:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:01:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:01:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:01:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:01:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:01:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:01:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:01:52 UTC] 📊 Database Info:
[20-Nov-2025 19:01:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:01:52 UTC]    Books columns count: 44
[20-Nov-2025 19:01:52 UTC]    Categories columns count: 7
[20-Nov-2025 19:01:52 UTC]    Language field in books: YES
[20-Nov-2025 19:01:52 UTC]    Format field in books: YES
[20-Nov-2025 19:01:52 UTC]    Description field in categories: YES
[20-Nov-2025 19:01:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:01:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:01:52 UTC]    Is_active field in books: YES
[20-Nov-2025 19:01:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:01:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:01:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:01:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:01:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:01:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:16:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:16:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:16:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:16:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:16:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:16:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:16:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:16:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:16:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:16:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:16:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:16:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:16:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:16:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:16:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:16:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:16:22 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:16:22 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:16:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:16:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:16:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:16:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:16:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:16:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:16:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:16:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:16:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:16:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:16:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:16:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:16:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:16:22 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:16:22 UTC] 📊 Database Info:
[20-Nov-2025 19:16:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:16:22 UTC]    Books columns count: 44
[20-Nov-2025 19:16:22 UTC]    Categories columns count: 7
[20-Nov-2025 19:16:22 UTC]    Language field in books: YES
[20-Nov-2025 19:16:22 UTC]    Format field in books: YES
[20-Nov-2025 19:16:22 UTC]    Description field in categories: YES
[20-Nov-2025 19:16:22 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:16:22 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:16:22 UTC]    Is_active field in books: YES
[20-Nov-2025 19:16:22 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:16:22 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:16:22 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:16:22 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:16:22 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:16:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:16:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:16:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:16:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:16:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:16:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:16:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:16:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:16:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:16:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:16:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:16:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:16:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:16:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:16:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:16:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:16:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:16:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:16:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:16:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:16:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:16:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:16:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:16:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:16:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:16:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:16:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:16:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:16:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:16:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:16:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:16:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:16:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:16:23 UTC] 📊 Database Info:
[20-Nov-2025 19:16:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:16:23 UTC]    Books columns count: 44
[20-Nov-2025 19:16:23 UTC]    Categories columns count: 7
[20-Nov-2025 19:16:23 UTC]    Language field in books: YES
[20-Nov-2025 19:16:23 UTC]    Format field in books: YES
[20-Nov-2025 19:16:23 UTC]    Description field in categories: YES
[20-Nov-2025 19:16:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:16:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:16:23 UTC]    Is_active field in books: YES
[20-Nov-2025 19:16:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:16:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:16:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:16:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:16:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:16:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:17:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:17:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:17:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:17:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:17:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:17:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:17:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:17:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:17:09 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:17:09 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:17:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:17:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:17:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:17:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:17:09 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:17:09 UTC] 📊 Database Info:
[20-Nov-2025 19:17:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:17:09 UTC]    Books columns count: 44
[20-Nov-2025 19:17:09 UTC]    Categories columns count: 7
[20-Nov-2025 19:17:09 UTC]    Language field in books: YES
[20-Nov-2025 19:17:09 UTC]    Format field in books: YES
[20-Nov-2025 19:17:09 UTC]    Description field in categories: YES
[20-Nov-2025 19:17:09 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:17:09 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:17:09 UTC]    Is_active field in books: YES
[20-Nov-2025 19:17:09 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:17:09 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:17:09 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:17:09 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:17:09 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:17:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:17:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:17:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:17:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:17:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:17:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:17:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:17:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:17:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:17:09 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:17:09 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:17:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:17:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:17:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:17:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:17:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:17:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:17:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:17:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:17:09 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:17:09 UTC] 📊 Database Info:
[20-Nov-2025 19:17:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:17:09 UTC]    Books columns count: 44
[20-Nov-2025 19:17:09 UTC]    Categories columns count: 7
[20-Nov-2025 19:17:09 UTC]    Language field in books: YES
[20-Nov-2025 19:17:09 UTC]    Format field in books: YES
[20-Nov-2025 19:17:09 UTC]    Description field in categories: YES
[20-Nov-2025 19:17:09 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:17:09 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:17:09 UTC]    Is_active field in books: YES
[20-Nov-2025 19:17:09 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:17:09 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:17:09 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:17:09 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:17:09 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:17:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:17:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:17:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:17:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:17:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:17:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:17:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:17:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:17:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:17:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:17:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:17:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:17:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:17:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:17:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:17:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:17:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:17:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:17:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:17:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:17:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:17:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:17:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:17:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:17:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:17:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:17:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:17:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:17:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:17:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:17:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:17:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:17:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:17:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:17:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:17:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:17:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:17:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:17:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:17:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:17:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:17:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:17:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:17:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:17:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:17:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:17:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:17:14 UTC] 📊 Database Info:
[20-Nov-2025 19:17:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:17:14 UTC]    Books columns count: 44
[20-Nov-2025 19:17:14 UTC]    Categories columns count: 7
[20-Nov-2025 19:17:14 UTC]    Language field in books: YES
[20-Nov-2025 19:17:14 UTC]    Format field in books: YES
[20-Nov-2025 19:17:14 UTC]    Description field in categories: YES
[20-Nov-2025 19:17:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:17:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:17:14 UTC]    Is_active field in books: YES
[20-Nov-2025 19:17:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:17:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:17:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:17:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:17:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:17:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:17:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:17:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:17:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:17:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:17:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:17:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:17:14 UTC] 📊 Database Info:
[20-Nov-2025 19:17:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:17:14 UTC]    Books columns count: 44
[20-Nov-2025 19:17:14 UTC]    Categories columns count: 7
[20-Nov-2025 19:17:14 UTC]    Language field in books: YES
[20-Nov-2025 19:17:14 UTC]    Format field in books: YES
[20-Nov-2025 19:17:14 UTC]    Description field in categories: YES
[20-Nov-2025 19:17:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:17:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:17:14 UTC]    Is_active field in books: YES
[20-Nov-2025 19:17:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:17:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:17:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:17:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:17:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:17:14 UTC] 📊 Database Info:
[20-Nov-2025 19:17:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:17:14 UTC]    Books columns count: 44
[20-Nov-2025 19:17:14 UTC]    Categories columns count: 7
[20-Nov-2025 19:17:14 UTC]    Language field in books: YES
[20-Nov-2025 19:17:14 UTC]    Format field in books: YES
[20-Nov-2025 19:17:14 UTC]    Description field in categories: YES
[20-Nov-2025 19:17:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:17:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:17:14 UTC]    Is_active field in books: YES
[20-Nov-2025 19:17:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:17:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:17:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:17:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:17:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:17:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:17:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:17:14 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:17:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:17:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:17:14 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:17:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:17:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:17:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:17:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:17:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:17:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:17:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:17:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:17:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:17:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:17:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:17:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:17:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:17:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:17:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:17:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:17:17 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:17:17 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:17:17 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:17:17 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:17:17 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:17:17 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:17:17 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:17:17 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:17:17 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:17:17 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:17:17 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:17:17 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:17:17 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:17:17 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:17:17 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:17:17 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:17:17 UTC] 📊 Database Info:
[20-Nov-2025 19:17:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:17:17 UTC]    Books columns count: 44
[20-Nov-2025 19:17:17 UTC]    Categories columns count: 7
[20-Nov-2025 19:17:17 UTC]    Language field in books: YES
[20-Nov-2025 19:17:17 UTC]    Format field in books: YES
[20-Nov-2025 19:17:17 UTC]    Description field in categories: YES
[20-Nov-2025 19:17:17 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:17:17 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:17:17 UTC]    Is_active field in books: YES
[20-Nov-2025 19:17:17 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:17:17 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:17:17 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:17:17 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:17:17 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:17:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:17:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:17:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:17:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:17:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:17:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:17:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:17:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:17:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:17:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:17:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:17:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:17:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:17:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:17:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:17:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:17:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:17:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:17:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:17:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:17:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:17:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:17:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:17:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:17:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:17:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:17:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:17:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:17:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:17:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:17:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:17:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:17:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:17:58 UTC] 📊 Database Info:
[20-Nov-2025 19:17:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:17:58 UTC]    Books columns count: 44
[20-Nov-2025 19:17:58 UTC]    Categories columns count: 7
[20-Nov-2025 19:17:58 UTC]    Language field in books: YES
[20-Nov-2025 19:17:58 UTC]    Format field in books: YES
[20-Nov-2025 19:17:58 UTC]    Description field in categories: YES
[20-Nov-2025 19:17:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:17:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:17:58 UTC]    Is_active field in books: YES
[20-Nov-2025 19:17:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:17:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:17:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:17:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:17:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:17:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:17:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:17:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:17:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:17:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:17:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:17:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:17:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:17:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:17:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:17:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:17:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:17:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:17:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:17:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:17:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:17:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:17:59 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:17:59 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:17:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:17:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:17:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:17:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:17:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:17:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:17:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:17:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:17:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:17:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:17:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:17:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:17:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:17:59 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:17:59 UTC] 📊 Database Info:
[20-Nov-2025 19:17:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:17:59 UTC]    Books columns count: 44
[20-Nov-2025 19:17:59 UTC]    Categories columns count: 7
[20-Nov-2025 19:17:59 UTC]    Language field in books: YES
[20-Nov-2025 19:17:59 UTC]    Format field in books: YES
[20-Nov-2025 19:17:59 UTC]    Description field in categories: YES
[20-Nov-2025 19:17:59 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:17:59 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:17:59 UTC]    Is_active field in books: YES
[20-Nov-2025 19:17:59 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:17:59 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:17:59 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:17:59 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:17:59 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:17:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:18:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:18:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:18:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:18:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:18:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:18:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:18:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:18:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:18:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:18:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:18:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:18:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:18:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:18:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:18:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:18:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:18:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:18:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:18:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:18:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:18:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:18:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:18:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:18:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:18:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:18:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:18:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:18:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:18:02 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:18:02 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:18:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:18:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:18:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:18:02 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:18:02 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:18:02 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:18:02 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:18:02 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:18:02 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:18:02 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:18:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:18:02 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:18:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:18:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:18:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:18:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:18:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:18:02 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:18:02 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:18:02 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:18:02 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:18:02 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:18:02 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:18:02 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:18:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:18:02 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:18:02 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:18:02 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:18:02 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:18:02 UTC] 📊 Database Info:
[20-Nov-2025 19:18:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:18:02 UTC]    Books columns count: 44
[20-Nov-2025 19:18:02 UTC]    Categories columns count: 7
[20-Nov-2025 19:18:02 UTC]    Language field in books: YES
[20-Nov-2025 19:18:02 UTC]    Format field in books: YES
[20-Nov-2025 19:18:02 UTC]    Description field in categories: YES
[20-Nov-2025 19:18:02 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:18:02 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:18:02 UTC]    Is_active field in books: YES
[20-Nov-2025 19:18:02 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:18:02 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:18:02 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:18:02 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:18:02 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:18:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:18:02 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:18:02 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:18:02 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:18:02 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:18:02 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:18:02 UTC] 📊 Database Info:
[20-Nov-2025 19:18:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:18:02 UTC]    Books columns count: 44
[20-Nov-2025 19:18:02 UTC]    Categories columns count: 7
[20-Nov-2025 19:18:02 UTC]    Language field in books: YES
[20-Nov-2025 19:18:02 UTC]    Format field in books: YES
[20-Nov-2025 19:18:02 UTC]    Description field in categories: YES
[20-Nov-2025 19:18:02 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:18:02 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:18:02 UTC]    Is_active field in books: YES
[20-Nov-2025 19:18:02 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:18:02 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:18:02 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:18:02 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:18:02 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:18:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:18:02 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:18:02 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:18:02 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:18:02 UTC] 📊 Database Info:
[20-Nov-2025 19:18:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:18:02 UTC]    Books columns count: 44
[20-Nov-2025 19:18:02 UTC]    Categories columns count: 7
[20-Nov-2025 19:18:02 UTC]    Language field in books: YES
[20-Nov-2025 19:18:02 UTC]    Format field in books: YES
[20-Nov-2025 19:18:02 UTC]    Description field in categories: YES
[20-Nov-2025 19:18:02 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:18:02 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:18:02 UTC]    Is_active field in books: YES
[20-Nov-2025 19:18:02 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:18:02 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:18:02 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:18:02 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:18:02 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:18:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:18:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:18:02 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:18:02 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:18:02 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:18:02 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:18:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:18:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:18:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:18:02 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:18:02 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:18:02 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:18:02 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:18:02 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:18:02 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:18:02 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:18:02 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:18:02 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:18:02 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:18:02 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:18:02 UTC] 📊 Database Info:
[20-Nov-2025 19:18:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:18:02 UTC]    Books columns count: 44
[20-Nov-2025 19:18:02 UTC]    Categories columns count: 7
[20-Nov-2025 19:18:02 UTC]    Language field in books: YES
[20-Nov-2025 19:18:02 UTC]    Format field in books: YES
[20-Nov-2025 19:18:02 UTC]    Description field in categories: YES
[20-Nov-2025 19:18:02 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:18:02 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:18:02 UTC]    Is_active field in books: YES
[20-Nov-2025 19:18:02 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:18:02 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:18:02 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:18:02 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:18:02 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:18:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:18:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:18:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:18:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:18:53 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:18:53 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:18:53 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:18:53 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:18:53 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:18:53 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:18:53 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:18:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:18:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:18:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:18:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:18:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:18:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:18:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:18:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:18:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:18:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:18:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:18:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:18:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:18:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:18:54 UTC] 📊 Database Info:
[20-Nov-2025 19:18:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:18:54 UTC]    Books columns count: 44
[20-Nov-2025 19:18:54 UTC]    Categories columns count: 7
[20-Nov-2025 19:18:54 UTC]    Language field in books: YES
[20-Nov-2025 19:18:54 UTC]    Format field in books: YES
[20-Nov-2025 19:18:54 UTC]    Description field in categories: YES
[20-Nov-2025 19:18:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:18:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:18:54 UTC]    Is_active field in books: YES
[20-Nov-2025 19:18:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:18:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:18:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:18:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:18:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:18:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:18:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:18:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:18:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:18:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:18:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:18:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:18:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:18:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:18:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:18:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:18:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:18:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:18:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:18:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:18:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:18:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:18:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:18:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:18:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:18:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:18:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:18:54 UTC] 📊 Database Info:
[20-Nov-2025 19:18:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:18:54 UTC]    Books columns count: 44
[20-Nov-2025 19:18:54 UTC]    Categories columns count: 7
[20-Nov-2025 19:18:54 UTC]    Language field in books: YES
[20-Nov-2025 19:18:54 UTC]    Format field in books: YES
[20-Nov-2025 19:18:54 UTC]    Description field in categories: YES
[20-Nov-2025 19:18:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:18:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:18:54 UTC]    Is_active field in books: YES
[20-Nov-2025 19:18:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:18:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:18:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:18:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:18:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:18:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:21:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:21:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:21:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:21:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:21:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:21:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:21:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:21:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:21:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:21:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:21:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:21:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:21:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:21:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:21:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:21:46 UTC] 📊 Database Info:
[20-Nov-2025 19:21:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:21:46 UTC]    Books columns count: 44
[20-Nov-2025 19:21:46 UTC]    Categories columns count: 7
[20-Nov-2025 19:21:46 UTC]    Language field in books: YES
[20-Nov-2025 19:21:46 UTC]    Format field in books: YES
[20-Nov-2025 19:21:46 UTC]    Description field in categories: YES
[20-Nov-2025 19:21:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:21:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:21:46 UTC]    Is_active field in books: YES
[20-Nov-2025 19:21:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:21:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:21:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:21:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:21:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:21:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:21:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:21:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:21:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:21:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:21:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:21:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:21:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:21:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:21:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:21:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:21:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:21:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:21:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:21:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:21:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:21:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:21:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:21:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:21:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:21:46 UTC] 📊 Database Info:
[20-Nov-2025 19:21:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:21:46 UTC]    Books columns count: 44
[20-Nov-2025 19:21:46 UTC]    Categories columns count: 7
[20-Nov-2025 19:21:46 UTC]    Language field in books: YES
[20-Nov-2025 19:21:46 UTC]    Format field in books: YES
[20-Nov-2025 19:21:46 UTC]    Description field in categories: YES
[20-Nov-2025 19:21:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:21:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:21:46 UTC]    Is_active field in books: YES
[20-Nov-2025 19:21:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:21:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:21:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:21:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:21:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:21:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:21:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:21:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:21:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:21:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:21:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:21:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:21:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:21:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:21:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:21:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:21:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:21:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:21:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:21:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:21:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:21:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:21:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:21:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:21:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:21:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:21:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:21:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:21:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:21:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:21:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:21:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:21:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:21:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:21:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:21:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:21:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:21:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:21:50 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:21:50 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:21:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:21:50 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:21:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:21:50 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:21:50 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:21:50 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:21:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:21:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:21:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:21:50 UTC] 📊 Database Info:
[20-Nov-2025 19:21:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:21:50 UTC]    Books columns count: 44
[20-Nov-2025 19:21:50 UTC]    Categories columns count: 7
[20-Nov-2025 19:21:50 UTC]    Language field in books: YES
[20-Nov-2025 19:21:50 UTC]    Format field in books: YES
[20-Nov-2025 19:21:50 UTC]    Description field in categories: YES
[20-Nov-2025 19:21:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:21:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:21:50 UTC]    Is_active field in books: YES
[20-Nov-2025 19:21:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:21:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:21:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:21:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:21:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:21:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:21:50 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:21:50 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:21:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:21:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:21:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:21:50 UTC] 📊 Database Info:
[20-Nov-2025 19:21:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:21:50 UTC]    Books columns count: 44
[20-Nov-2025 19:21:50 UTC]    Categories columns count: 7
[20-Nov-2025 19:21:50 UTC]    Language field in books: YES
[20-Nov-2025 19:21:50 UTC]    Format field in books: YES
[20-Nov-2025 19:21:50 UTC]    Description field in categories: YES
[20-Nov-2025 19:21:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:21:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:21:50 UTC]    Is_active field in books: YES
[20-Nov-2025 19:21:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:21:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:21:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:21:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:21:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:21:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:21:50 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:21:50 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:21:50 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:21:50 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:21:50 UTC] 📊 Database Info:
[20-Nov-2025 19:21:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:21:50 UTC]    Books columns count: 44
[20-Nov-2025 19:21:50 UTC]    Categories columns count: 7
[20-Nov-2025 19:21:50 UTC]    Language field in books: YES
[20-Nov-2025 19:21:50 UTC]    Format field in books: YES
[20-Nov-2025 19:21:50 UTC]    Description field in categories: YES
[20-Nov-2025 19:21:50 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:21:50 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:21:50 UTC]    Is_active field in books: YES
[20-Nov-2025 19:21:50 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:21:50 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:21:50 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:21:50 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:21:50 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:21:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:21:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:21:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:21:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:21:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:21:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:21:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:21:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:21:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:21:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:21:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:21:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:21:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:21:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:21:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:21:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:21:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:21:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:21:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:21:55 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:21:55 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:21:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:21:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:21:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:21:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:21:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:21:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:21:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:21:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:21:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:21:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:21:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:21:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:21:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:21:55 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:21:55 UTC] 📊 Database Info:
[20-Nov-2025 19:21:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:21:55 UTC]    Books columns count: 44
[20-Nov-2025 19:21:55 UTC]    Categories columns count: 7
[20-Nov-2025 19:21:55 UTC]    Language field in books: YES
[20-Nov-2025 19:21:55 UTC]    Format field in books: YES
[20-Nov-2025 19:21:55 UTC]    Description field in categories: YES
[20-Nov-2025 19:21:55 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:21:55 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:21:55 UTC]    Is_active field in books: YES
[20-Nov-2025 19:21:55 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:21:55 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:21:55 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:21:55 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:21:55 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:21:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:22:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:22:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:22:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:22:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:22:09 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:22:09 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:22:10 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:22:10 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:22:10 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:22:10 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:22:10 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:22:10 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:22:10 UTC] 📊 Database Info:
[20-Nov-2025 19:22:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:22:10 UTC]    Books columns count: 44
[20-Nov-2025 19:22:10 UTC]    Categories columns count: 7
[20-Nov-2025 19:22:10 UTC]    Language field in books: YES
[20-Nov-2025 19:22:10 UTC]    Format field in books: YES
[20-Nov-2025 19:22:10 UTC]    Description field in categories: YES
[20-Nov-2025 19:22:10 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:22:10 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:22:10 UTC]    Is_active field in books: YES
[20-Nov-2025 19:22:10 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:22:10 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:22:10 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:22:10 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:22:10 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:22:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:22:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:22:10 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:22:10 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:22:10 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:22:10 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:22:10 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:22:10 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:22:10 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:22:10 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:22:10 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:22:10 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:22:10 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:22:10 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:22:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:22:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:22:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:22:10 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:22:10 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:22:10 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:22:10 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:22:10 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:22:10 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:22:10 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:22:10 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:22:10 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:22:10 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:22:10 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:22:10 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:22:10 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:22:10 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:22:10 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:22:10 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:22:10 UTC] 📊 Database Info:
[20-Nov-2025 19:22:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:22:10 UTC]    Books columns count: 44
[20-Nov-2025 19:22:10 UTC]    Categories columns count: 7
[20-Nov-2025 19:22:10 UTC]    Language field in books: YES
[20-Nov-2025 19:22:10 UTC]    Format field in books: YES
[20-Nov-2025 19:22:10 UTC]    Description field in categories: YES
[20-Nov-2025 19:22:10 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:22:10 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:22:10 UTC]    Is_active field in books: YES
[20-Nov-2025 19:22:10 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:22:10 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:22:10 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:22:10 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:22:10 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:22:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:22:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:22:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:22:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:22:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:22:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:22:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:22:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:22:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:22:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:22:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:22:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:22:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:22:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:22:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:22:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:22:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:22:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:22:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:22:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:22:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:22:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:22:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:22:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:22:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:22:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:22:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:22:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:22:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:22:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:22:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:22:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:22:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:22:14 UTC] 📊 Database Info:
[20-Nov-2025 19:22:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:22:14 UTC]    Books columns count: 44
[20-Nov-2025 19:22:14 UTC]    Categories columns count: 7
[20-Nov-2025 19:22:14 UTC]    Language field in books: YES
[20-Nov-2025 19:22:14 UTC]    Format field in books: YES
[20-Nov-2025 19:22:14 UTC]    Description field in categories: YES
[20-Nov-2025 19:22:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:22:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:22:14 UTC]    Is_active field in books: YES
[20-Nov-2025 19:22:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:22:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:22:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:22:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:22:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:22:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:23:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:23:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:23:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:23:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:23:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:23:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:23:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:23:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:23:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:23:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:23:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:23:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:23:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:23:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:23:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:23:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:23:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:23:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:23:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:23:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:23:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:23:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:23:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:23:13 UTC] 📊 Database Info:
[20-Nov-2025 19:23:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:23:13 UTC]    Books columns count: 44
[20-Nov-2025 19:23:13 UTC]    Categories columns count: 7
[20-Nov-2025 19:23:13 UTC]    Language field in books: YES
[20-Nov-2025 19:23:13 UTC]    Format field in books: YES
[20-Nov-2025 19:23:13 UTC]    Description field in categories: YES
[20-Nov-2025 19:23:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:23:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:23:13 UTC]    Is_active field in books: YES
[20-Nov-2025 19:23:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:23:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:23:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:23:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:23:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:23:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:23:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:23:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:23:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:23:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:23:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:23:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:23:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:23:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:23:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:23:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:23:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:23:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:23:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:23:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:23:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:23:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:23:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:23:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:23:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:23:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:23:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:23:13 UTC] 📊 Database Info:
[20-Nov-2025 19:23:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:23:13 UTC]    Books columns count: 44
[20-Nov-2025 19:23:13 UTC]    Categories columns count: 7
[20-Nov-2025 19:23:13 UTC]    Language field in books: YES
[20-Nov-2025 19:23:13 UTC]    Format field in books: YES
[20-Nov-2025 19:23:13 UTC]    Description field in categories: YES
[20-Nov-2025 19:23:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:23:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:23:13 UTC]    Is_active field in books: YES
[20-Nov-2025 19:23:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:23:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:23:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:23:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:23:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:23:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:23:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:23:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:23:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:23:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:23:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:23:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:23:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:23:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:23:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:23:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:23:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:23:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:23:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:23:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:23:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:23:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:23:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:23:16 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:23:16 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:23:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:23:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:23:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:23:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:23:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:23:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:23:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:23:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:23:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:23:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:23:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:23:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:23:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:23:16 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:23:16 UTC] 📊 Database Info:
[20-Nov-2025 19:23:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:23:16 UTC]    Books columns count: 44
[20-Nov-2025 19:23:16 UTC]    Categories columns count: 7
[20-Nov-2025 19:23:16 UTC]    Language field in books: YES
[20-Nov-2025 19:23:16 UTC]    Format field in books: YES
[20-Nov-2025 19:23:16 UTC]    Description field in categories: YES
[20-Nov-2025 19:23:16 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:23:16 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:23:16 UTC]    Is_active field in books: YES
[20-Nov-2025 19:23:16 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:23:16 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:23:16 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:23:16 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:23:16 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:23:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:23:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:23:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:23:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:23:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:23:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:23:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:23:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:23:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:23:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:23:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:23:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:23:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:23:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:23:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:23:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:23:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:23:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:23:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:23:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:23:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:23:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:23:25 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:23:25 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:23:25 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:23:25 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:23:25 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:23:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:23:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:23:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:23:25 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:23:25 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:23:25 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:23:25 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:23:25 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:23:25 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:23:25 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:23:25 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:23:25 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:23:25 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:23:25 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:23:25 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:23:25 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:23:25 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:23:25 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:23:25 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:23:25 UTC] 📊 Database Info:
[20-Nov-2025 19:23:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:23:25 UTC]    Books columns count: 44
[20-Nov-2025 19:23:25 UTC]    Categories columns count: 7
[20-Nov-2025 19:23:25 UTC]    Language field in books: YES
[20-Nov-2025 19:23:25 UTC]    Format field in books: YES
[20-Nov-2025 19:23:25 UTC]    Description field in categories: YES
[20-Nov-2025 19:23:25 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:23:25 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:23:25 UTC]    Is_active field in books: YES
[20-Nov-2025 19:23:25 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:23:25 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:23:25 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:23:25 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:23:25 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:23:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:23:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:23:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:23:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:23:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:23:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:23:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:23:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:23:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:23:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:23:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:23:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:23:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:23:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:23:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:23:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:23:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:23:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:23:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:23:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:23:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:23:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:23:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:23:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:23:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:23:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:23:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:23:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:23:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:23:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:23:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:23:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:23:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:23:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:23:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:23:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:23:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:23:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:23:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:23:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:23:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:23:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:23:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:23:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:23:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:23:58 UTC] 📊 Database Info:
[20-Nov-2025 19:23:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:23:58 UTC]    Books columns count: 44
[20-Nov-2025 19:23:58 UTC]    Categories columns count: 7
[20-Nov-2025 19:23:58 UTC]    Language field in books: YES
[20-Nov-2025 19:23:58 UTC]    Format field in books: YES
[20-Nov-2025 19:23:58 UTC]    Description field in categories: YES
[20-Nov-2025 19:23:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:23:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:23:58 UTC]    Is_active field in books: YES
[20-Nov-2025 19:23:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:23:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:23:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:23:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:23:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:23:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:23:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:23:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:23:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:23:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:23:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:23:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:23:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:23:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:23:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:23:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:23:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:23:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:23:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:23:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:23:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:23:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:23:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:23:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:23:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:23:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:23:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:23:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:23:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:23:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:23:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:23:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:23:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:23:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:23:59 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:23:59 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:23:59 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:23:59 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:23:59 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:23:59 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:23:59 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:23:59 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:23:59 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:23:59 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:23:59 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:23:59 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:23:59 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:23:59 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:23:59 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:23:59 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:23:59 UTC] 📊 Database Info:
[20-Nov-2025 19:23:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:23:59 UTC]    Books columns count: 44
[20-Nov-2025 19:23:59 UTC]    Categories columns count: 7
[20-Nov-2025 19:23:59 UTC]    Language field in books: YES
[20-Nov-2025 19:23:59 UTC]    Format field in books: YES
[20-Nov-2025 19:23:59 UTC]    Description field in categories: YES
[20-Nov-2025 19:23:59 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:23:59 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:23:59 UTC]    Is_active field in books: YES
[20-Nov-2025 19:23:59 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:23:59 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:23:59 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:23:59 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:23:59 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:23:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:23:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:23:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:23:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:23:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:23:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:23:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:23:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:23:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:23:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:23:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:23:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:23:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:24:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:24:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:24:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:24:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:24:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:24:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:24:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:24:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:24:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:24:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:24:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:24:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:24:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:24:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:24:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:24:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:24:04 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:24:04 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:24:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:24:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:24:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:24:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:24:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:24:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:24:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:24:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:24:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:24:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:24:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:24:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:24:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:24:04 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:24:04 UTC] 📊 Database Info:
[20-Nov-2025 19:24:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:24:04 UTC]    Books columns count: 44
[20-Nov-2025 19:24:04 UTC]    Categories columns count: 7
[20-Nov-2025 19:24:04 UTC]    Language field in books: YES
[20-Nov-2025 19:24:04 UTC]    Format field in books: YES
[20-Nov-2025 19:24:04 UTC]    Description field in categories: YES
[20-Nov-2025 19:24:04 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:24:04 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:24:04 UTC]    Is_active field in books: YES
[20-Nov-2025 19:24:04 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:24:04 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:24:04 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:24:04 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:24:04 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:24:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:24:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:24:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:24:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:24:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:24:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:24:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:24:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:24:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:24:22 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:24:22 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:24:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:24:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:24:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:24:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:24:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:24:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:24:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:24:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:24:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:24:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:24:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:24:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:24:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:24:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:24:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:24:22 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:24:22 UTC] 📊 Database Info:
[20-Nov-2025 19:24:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:24:22 UTC]    Books columns count: 44
[20-Nov-2025 19:24:22 UTC]    Categories columns count: 7
[20-Nov-2025 19:24:22 UTC]    Language field in books: YES
[20-Nov-2025 19:24:22 UTC]    Format field in books: YES
[20-Nov-2025 19:24:22 UTC]    Description field in categories: YES
[20-Nov-2025 19:24:22 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:24:22 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:24:22 UTC]    Is_active field in books: YES
[20-Nov-2025 19:24:22 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:24:22 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:24:22 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:24:22 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:24:22 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:24:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:24:22 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:24:22 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:24:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:24:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:24:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:24:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:24:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:24:22 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:24:22 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:24:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:24:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:24:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:24:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:24:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:24:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:24:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:24:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:24:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:24:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:24:22 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:24:22 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:24:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:24:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:24:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:24:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:24:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:24:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:24:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:24:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:24:22 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:24:22 UTC] 📊 Database Info:
[20-Nov-2025 19:24:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:24:22 UTC]    Books columns count: 44
[20-Nov-2025 19:24:22 UTC]    Categories columns count: 7
[20-Nov-2025 19:24:22 UTC]    Language field in books: YES
[20-Nov-2025 19:24:22 UTC]    Format field in books: YES
[20-Nov-2025 19:24:22 UTC]    Description field in categories: YES
[20-Nov-2025 19:24:22 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:24:22 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:24:22 UTC]    Is_active field in books: YES
[20-Nov-2025 19:24:22 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:24:22 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:24:22 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:24:22 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:24:22 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:24:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:24:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:24:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:24:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:24:22 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:24:22 UTC] 📊 Database Info:
[20-Nov-2025 19:24:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:24:22 UTC]    Books columns count: 44
[20-Nov-2025 19:24:22 UTC]    Categories columns count: 7
[20-Nov-2025 19:24:22 UTC]    Language field in books: YES
[20-Nov-2025 19:24:22 UTC]    Format field in books: YES
[20-Nov-2025 19:24:22 UTC]    Description field in categories: YES
[20-Nov-2025 19:24:22 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:24:22 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:24:22 UTC]    Is_active field in books: YES
[20-Nov-2025 19:24:22 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:24:22 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:24:22 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:24:22 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:24:22 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:24:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:24:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:25:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:25:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:25:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:25:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:25:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:25:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:25:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:25:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:25:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:25:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:25:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:25:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:25:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:25:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:25:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:25:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:25:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:25:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:25:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:25:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:25:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:25:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:25:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:25:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:25:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:25:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:25:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:25:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:25:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:25:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:25:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:25:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:25:07 UTC] 📊 Database Info:
[20-Nov-2025 19:25:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:25:07 UTC]    Books columns count: 44
[20-Nov-2025 19:25:07 UTC]    Categories columns count: 7
[20-Nov-2025 19:25:07 UTC]    Language field in books: YES
[20-Nov-2025 19:25:07 UTC]    Format field in books: YES
[20-Nov-2025 19:25:07 UTC]    Description field in categories: YES
[20-Nov-2025 19:25:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:25:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:25:07 UTC]    Is_active field in books: YES
[20-Nov-2025 19:25:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:25:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:25:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:25:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:25:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:25:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:25:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:25:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:25:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:25:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:25:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:25:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:25:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:25:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:25:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:25:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:25:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:25:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:25:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:25:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:25:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:25:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:25:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:25:08 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:25:08 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:25:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:25:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:25:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:25:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:25:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:25:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:25:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:25:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:25:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:25:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:25:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:25:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:25:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:25:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:25:08 UTC] 📊 Database Info:
[20-Nov-2025 19:25:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:25:08 UTC]    Books columns count: 44
[20-Nov-2025 19:25:08 UTC]    Categories columns count: 7
[20-Nov-2025 19:25:08 UTC]    Language field in books: YES
[20-Nov-2025 19:25:08 UTC]    Format field in books: YES
[20-Nov-2025 19:25:08 UTC]    Description field in categories: YES
[20-Nov-2025 19:25:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:25:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:25:08 UTC]    Is_active field in books: YES
[20-Nov-2025 19:25:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:25:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:25:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:25:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:25:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:25:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:25:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:25:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:25:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:25:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:25:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:25:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:25:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:25:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:25:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:25:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:25:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:25:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:25:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:25:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:25:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:25:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:25:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:25:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:25:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:25:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:25:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:25:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:25:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:25:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:25:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:25:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:25:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:25:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:25:12 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:25:12 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:25:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:25:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:25:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:25:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:25:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:25:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:25:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:25:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:25:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:25:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:25:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:25:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:25:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:25:12 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:25:12 UTC] 📊 Database Info:
[20-Nov-2025 19:25:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:25:12 UTC]    Books columns count: 44
[20-Nov-2025 19:25:12 UTC]    Categories columns count: 7
[20-Nov-2025 19:25:12 UTC]    Language field in books: YES
[20-Nov-2025 19:25:12 UTC]    Format field in books: YES
[20-Nov-2025 19:25:12 UTC]    Description field in categories: YES
[20-Nov-2025 19:25:12 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:25:12 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:25:12 UTC]    Is_active field in books: YES
[20-Nov-2025 19:25:12 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:25:12 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:25:12 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:25:12 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:25:12 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:25:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:25:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:25:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:25:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:25:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:25:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:25:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:25:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:25:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:25:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:25:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:25:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:25:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:25:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:25:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:25:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:25:54 UTC] 📊 Database Info:
[20-Nov-2025 19:25:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:25:54 UTC]    Books columns count: 44
[20-Nov-2025 19:25:54 UTC]    Categories columns count: 7
[20-Nov-2025 19:25:54 UTC]    Language field in books: YES
[20-Nov-2025 19:25:54 UTC]    Format field in books: YES
[20-Nov-2025 19:25:54 UTC]    Description field in categories: YES
[20-Nov-2025 19:25:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:25:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:25:54 UTC]    Is_active field in books: YES
[20-Nov-2025 19:25:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:25:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:25:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:25:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:25:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:25:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:25:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:25:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:25:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:25:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:25:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:25:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:25:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:25:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:25:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:25:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:25:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:25:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:25:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:25:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:25:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:25:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:25:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:25:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:25:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:25:54 UTC] 📊 Database Info:
[20-Nov-2025 19:25:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:25:54 UTC]    Books columns count: 44
[20-Nov-2025 19:25:54 UTC]    Categories columns count: 7
[20-Nov-2025 19:25:54 UTC]    Language field in books: YES
[20-Nov-2025 19:25:54 UTC]    Format field in books: YES
[20-Nov-2025 19:25:54 UTC]    Description field in categories: YES
[20-Nov-2025 19:25:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:25:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:25:54 UTC]    Is_active field in books: YES
[20-Nov-2025 19:25:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:25:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:25:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:25:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:25:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:25:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:26:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:26:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:26:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:26:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:26:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:26:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:26:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:26:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:26:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:26:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:26:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:26:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:26:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:26:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:26:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:26:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:26:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:26:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:26:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:26:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:26:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:26:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:26:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:26:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:26:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:26:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:26:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:26:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:26:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:26:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:26:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:26:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:26:21 UTC] 📊 Database Info:
[20-Nov-2025 19:26:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:26:21 UTC]    Books columns count: 44
[20-Nov-2025 19:26:21 UTC]    Categories columns count: 7
[20-Nov-2025 19:26:21 UTC]    Language field in books: YES
[20-Nov-2025 19:26:21 UTC]    Format field in books: YES
[20-Nov-2025 19:26:21 UTC]    Description field in categories: YES
[20-Nov-2025 19:26:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:26:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:26:21 UTC]    Is_active field in books: YES
[20-Nov-2025 19:26:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:26:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:26:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:26:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:26:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:26:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:26:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:26:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:26:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:26:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:26:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:26:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:26:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:26:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:26:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:26:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:26:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:26:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:27:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:27:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:27:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:27:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:27:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:27:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:27:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:27:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:27:51 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:27:51 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:27:51 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:27:51 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:27:51 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:27:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:27:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:27:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:27:51 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:27:51 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:27:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:27:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:27:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:27:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:27:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:27:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:27:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:27:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:27:51 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:27:51 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:27:51 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:27:51 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:27:51 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:27:51 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:27:51 UTC] 📊 Database Info:
[20-Nov-2025 19:27:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:27:51 UTC]    Books columns count: 44
[20-Nov-2025 19:27:51 UTC]    Categories columns count: 7
[20-Nov-2025 19:27:51 UTC]    Language field in books: YES
[20-Nov-2025 19:27:51 UTC]    Format field in books: YES
[20-Nov-2025 19:27:51 UTC]    Description field in categories: YES
[20-Nov-2025 19:27:51 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:27:51 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:27:51 UTC]    Is_active field in books: YES
[20-Nov-2025 19:27:51 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:27:51 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:27:51 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:27:51 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:27:51 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:27:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:27:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:27:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:27:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:27:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:27:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:27:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:27:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:27:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:27:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:27:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:27:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:27:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:27:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:27:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:27:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:27:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:27:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:27:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:27:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:27:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:27:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:27:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:27:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:27:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:27:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:27:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:27:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:27:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:27:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:27:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:27:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:27:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:27:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:27:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:27:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:27:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:27:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:27:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:27:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:27:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:27:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:27:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:27:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:27:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:27:52 UTC] 📊 Database Info:
[20-Nov-2025 19:27:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:27:52 UTC]    Books columns count: 44
[20-Nov-2025 19:27:52 UTC]    Categories columns count: 7
[20-Nov-2025 19:27:52 UTC]    Language field in books: YES
[20-Nov-2025 19:27:52 UTC]    Format field in books: YES
[20-Nov-2025 19:27:52 UTC]    Description field in categories: YES
[20-Nov-2025 19:27:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:27:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:27:52 UTC]    Is_active field in books: YES
[20-Nov-2025 19:27:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:27:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:27:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:27:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:27:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:27:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:27:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:27:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:27:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:27:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:27:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:27:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:27:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:27:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:27:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:27:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:27:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:27:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:27:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:27:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:27:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:27:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:27:56 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:27:56 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:27:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:27:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:27:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:27:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:27:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:27:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:27:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:27:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:27:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:27:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:27:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:27:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:27:56 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:27:56 UTC] 📊 Database Info:
[20-Nov-2025 19:27:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:27:56 UTC]    Books columns count: 44
[20-Nov-2025 19:27:56 UTC]    Categories columns count: 7
[20-Nov-2025 19:27:56 UTC]    Language field in books: YES
[20-Nov-2025 19:27:56 UTC]    Format field in books: YES
[20-Nov-2025 19:27:56 UTC]    Description field in categories: YES
[20-Nov-2025 19:27:56 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:27:56 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:27:56 UTC]    Is_active field in books: YES
[20-Nov-2025 19:27:56 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:27:56 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:27:56 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:27:56 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:27:56 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:27:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:27:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:27:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:27:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:27:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:27:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:27:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:27:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:27:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:27:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:27:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:27:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:27:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:27:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:27:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:27:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:27:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:27:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:27:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:27:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:27:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:27:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:27:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:27:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:27:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:27:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:27:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:27:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:27:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:27:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:27:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:27:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:27:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:27:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:27:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:27:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:27:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:27:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:27:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:27:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:27:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:27:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:27:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:27:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:27:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:27:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:27:57 UTC] 📊 Database Info:
[20-Nov-2025 19:27:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:27:57 UTC]    Books columns count: 44
[20-Nov-2025 19:27:57 UTC]    Categories columns count: 7
[20-Nov-2025 19:27:57 UTC]    Language field in books: YES
[20-Nov-2025 19:27:57 UTC]    Format field in books: YES
[20-Nov-2025 19:27:57 UTC]    Description field in categories: YES
[20-Nov-2025 19:27:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:27:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:27:57 UTC]    Is_active field in books: YES
[20-Nov-2025 19:27:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:27:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:27:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:27:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:27:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:27:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:28:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:28:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:28:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:28:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:28:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:28:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:28:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:28:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:28:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:28:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:28:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:28:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:28:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:28:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:28:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:28:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:28:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:28:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:28:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:28:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:28:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:28:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:28:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:28:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:28:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:28:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:28:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:28:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:28:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:28:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:28:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:28:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:28:39 UTC] 📊 Database Info:
[20-Nov-2025 19:28:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:28:39 UTC]    Books columns count: 44
[20-Nov-2025 19:28:39 UTC]    Categories columns count: 7
[20-Nov-2025 19:28:39 UTC]    Language field in books: YES
[20-Nov-2025 19:28:39 UTC]    Format field in books: YES
[20-Nov-2025 19:28:39 UTC]    Description field in categories: YES
[20-Nov-2025 19:28:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:28:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:28:39 UTC]    Is_active field in books: YES
[20-Nov-2025 19:28:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:28:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:28:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:28:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:28:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:28:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:28:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:28:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:28:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:28:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:28:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:28:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:28:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:28:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:28:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:28:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:28:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:28:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:32:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:32:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:32:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:32:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:32:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:32:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:32:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:32:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:32:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:32:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:32:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:32:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:32:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:32:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:32:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:32:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:32:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:32:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:32:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:32:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:32:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:32:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:32:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:32:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:32:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:32:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:32:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:32:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:32:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:32:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:32:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:32:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:32:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:32:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:32:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:32:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:32:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:32:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:32:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:32:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:32:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:32:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:32:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:32:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:32:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:32:30 UTC] 📊 Database Info:
[20-Nov-2025 19:32:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:32:30 UTC]    Books columns count: 44
[20-Nov-2025 19:32:30 UTC]    Categories columns count: 7
[20-Nov-2025 19:32:30 UTC]    Language field in books: YES
[20-Nov-2025 19:32:30 UTC]    Format field in books: YES
[20-Nov-2025 19:32:30 UTC]    Description field in categories: YES
[20-Nov-2025 19:32:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:32:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:32:30 UTC]    Is_active field in books: YES
[20-Nov-2025 19:32:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:32:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:32:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:32:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:32:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:32:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:32:30 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 19:32:30 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 19:32:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:32:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:32:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:32:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:32:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:32:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:32:30 UTC] 📊 Database Info:
[20-Nov-2025 19:32:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:32:30 UTC]    Books columns count: 44
[20-Nov-2025 19:32:30 UTC]    Categories columns count: 7
[20-Nov-2025 19:32:30 UTC]    Language field in books: YES
[20-Nov-2025 19:32:30 UTC]    Format field in books: YES
[20-Nov-2025 19:32:30 UTC]    Description field in categories: YES
[20-Nov-2025 19:32:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:32:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:32:30 UTC]    Is_active field in books: YES
[20-Nov-2025 19:32:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:32:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:32:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:32:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:32:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:32:30 UTC] 📊 Database Info:
[20-Nov-2025 19:32:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:32:30 UTC]    Books columns count: 44
[20-Nov-2025 19:32:30 UTC]    Categories columns count: 7
[20-Nov-2025 19:32:30 UTC]    Language field in books: YES
[20-Nov-2025 19:32:30 UTC]    Format field in books: YES
[20-Nov-2025 19:32:30 UTC]    Description field in categories: YES
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:32:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:32:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:32:30 UTC]    Is_active field in books: YES
[20-Nov-2025 19:32:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:32:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:32:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:32:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:32:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:32:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 19:32:30 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:32:30 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:32:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:32:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:33:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:33:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:33:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:33:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:33:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:33:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:33:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:33:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:33:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:33:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:33:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:33:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:33:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:33:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:33:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:33:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:33:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:33:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:33:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:33:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:33:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:33:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:33:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:33:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:33:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:33:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:33:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:33:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:33:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:33:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:33:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:33:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:33:23 UTC] 📊 Database Info:
[20-Nov-2025 19:33:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:33:23 UTC]    Books columns count: 44
[20-Nov-2025 19:33:23 UTC]    Categories columns count: 7
[20-Nov-2025 19:33:23 UTC]    Language field in books: YES
[20-Nov-2025 19:33:23 UTC]    Format field in books: YES
[20-Nov-2025 19:33:23 UTC]    Description field in categories: YES
[20-Nov-2025 19:33:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:33:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:33:23 UTC]    Is_active field in books: YES
[20-Nov-2025 19:33:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:33:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:33:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:33:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:33:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:33:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:33:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:33:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:33:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:33:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:33:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:33:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:33:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:33:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:33:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:33:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:33:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:33:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:33:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:33:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:33:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:33:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:33:24 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:33:24 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:33:24 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:33:24 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:33:24 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:33:24 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:33:24 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:33:24 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:33:24 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:33:24 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:33:24 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:33:24 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:33:24 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:33:24 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:33:24 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:33:24 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:33:24 UTC] 📊 Database Info:
[20-Nov-2025 19:33:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:33:24 UTC]    Books columns count: 44
[20-Nov-2025 19:33:24 UTC]    Categories columns count: 7
[20-Nov-2025 19:33:24 UTC]    Language field in books: YES
[20-Nov-2025 19:33:24 UTC]    Format field in books: YES
[20-Nov-2025 19:33:24 UTC]    Description field in categories: YES
[20-Nov-2025 19:33:24 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:33:24 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:33:24 UTC]    Is_active field in books: YES
[20-Nov-2025 19:33:24 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:33:24 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:33:24 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:33:24 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:33:24 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:33:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:34:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:34:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:34:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:34:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:34:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:34:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:34:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:34:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:34:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:34:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:34:22 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:34:22 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:34:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:34:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:34:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:34:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:34:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:34:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:34:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:34:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:34:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:34:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:34:22 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:34:22 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:34:22 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:34:22 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:34:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:34:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:34:22 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:34:22 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:34:22 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:34:22 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:34:22 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:34:22 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:34:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:34:22 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:34:22 UTC] 📊 Database Info:
[20-Nov-2025 19:34:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:34:22 UTC]    Books columns count: 44
[20-Nov-2025 19:34:22 UTC]    Categories columns count: 7
[20-Nov-2025 19:34:22 UTC]    Language field in books: YES
[20-Nov-2025 19:34:22 UTC]    Format field in books: YES
[20-Nov-2025 19:34:22 UTC]    Description field in categories: YES
[20-Nov-2025 19:34:22 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:34:22 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:34:22 UTC]    Is_active field in books: YES
[20-Nov-2025 19:34:22 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:34:22 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:34:22 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:34:22 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:34:22 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:34:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:34:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:34:22 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:34:22 UTC] 📊 Database Info:
[20-Nov-2025 19:34:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:34:22 UTC]    Books columns count: 44
[20-Nov-2025 19:34:22 UTC]    Categories columns count: 7
[20-Nov-2025 19:34:22 UTC]    Language field in books: YES
[20-Nov-2025 19:34:22 UTC]    Format field in books: YES
[20-Nov-2025 19:34:22 UTC]    Description field in categories: YES
[20-Nov-2025 19:34:22 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:34:22 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:34:22 UTC]    Is_active field in books: YES
[20-Nov-2025 19:34:22 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:34:22 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:34:22 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:34:22 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:34:22 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:34:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:34:22 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:34:22 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:34:22 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:34:22 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:34:22 UTC] 📊 Database Info:
[20-Nov-2025 19:34:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:34:22 UTC]    Books columns count: 44
[20-Nov-2025 19:34:22 UTC]    Categories columns count: 7
[20-Nov-2025 19:34:22 UTC]    Language field in books: YES
[20-Nov-2025 19:34:22 UTC]    Format field in books: YES
[20-Nov-2025 19:34:22 UTC]    Description field in categories: YES
[20-Nov-2025 19:34:22 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:34:22 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:34:22 UTC]    Is_active field in books: YES
[20-Nov-2025 19:34:22 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:34:22 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:34:22 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:34:22 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:34:22 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:34:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:34:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:34:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:34:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:34:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:34:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:34:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:34:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:34:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:34:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:34:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:34:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:34:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:34:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:34:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:34:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:34:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:34:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:34:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:34:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:34:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:34:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:34:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:34:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:34:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:34:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:34:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:34:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:34:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:34:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:34:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:34:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:34:36 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:34:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:34:36 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:34:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:34:36 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:34:36 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:34:36 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:34:36 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:34:36 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:34:36 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:34:36 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:34:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:34:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:34:36 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:34:36 UTC] 📊 Database Info:
[20-Nov-2025 19:34:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:34:36 UTC]    Books columns count: 44
[20-Nov-2025 19:34:36 UTC]    Categories columns count: 7
[20-Nov-2025 19:34:36 UTC]    Language field in books: YES
[20-Nov-2025 19:34:36 UTC]    Format field in books: YES
[20-Nov-2025 19:34:36 UTC]    Description field in categories: YES
[20-Nov-2025 19:34:36 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:34:36 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:34:36 UTC]    Is_active field in books: YES
[20-Nov-2025 19:34:36 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:34:36 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:34:36 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:34:36 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:34:36 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:34:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:34:36 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:34:36 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:34:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:34:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:34:36 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:34:36 UTC] 📊 Database Info:
[20-Nov-2025 19:34:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:34:36 UTC]    Books columns count: 44
[20-Nov-2025 19:34:36 UTC]    Categories columns count: 7
[20-Nov-2025 19:34:36 UTC]    Language field in books: YES
[20-Nov-2025 19:34:36 UTC]    Format field in books: YES
[20-Nov-2025 19:34:36 UTC]    Description field in categories: YES
[20-Nov-2025 19:34:36 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:34:36 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:34:36 UTC]    Is_active field in books: YES
[20-Nov-2025 19:34:36 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:34:36 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:34:36 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:34:36 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:34:36 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:34:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:34:36 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:34:36 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:34:36 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:34:36 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:34:36 UTC] 📊 Database Info:
[20-Nov-2025 19:34:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:34:36 UTC]    Books columns count: 44
[20-Nov-2025 19:34:36 UTC]    Categories columns count: 7
[20-Nov-2025 19:34:36 UTC]    Language field in books: YES
[20-Nov-2025 19:34:36 UTC]    Format field in books: YES
[20-Nov-2025 19:34:36 UTC]    Description field in categories: YES
[20-Nov-2025 19:34:36 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:34:36 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:34:36 UTC]    Is_active field in books: YES
[20-Nov-2025 19:34:36 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:34:36 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:34:36 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:34:36 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:34:36 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:34:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:34:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:34:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:34:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:34:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:34:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:34:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:34:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:34:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:34:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:34:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:34:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:34:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:34:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:34:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:34:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:34:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:34:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:34:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:34:38 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:34:38 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:34:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:34:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:34:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:34:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:34:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:34:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:34:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:34:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:34:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:34:38 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:34:38 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:34:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:34:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:34:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:34:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:34:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:34:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:34:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:34:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:34:38 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:34:38 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:34:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:34:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:34:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:34:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:34:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:34:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:34:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:34:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:34:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:34:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:34:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:34:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:34:38 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:34:38 UTC] 📊 Database Info:
[20-Nov-2025 19:34:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:34:38 UTC]    Books columns count: 44
[20-Nov-2025 19:34:38 UTC]    Categories columns count: 7
[20-Nov-2025 19:34:38 UTC]    Language field in books: YES
[20-Nov-2025 19:34:38 UTC]    Format field in books: YES
[20-Nov-2025 19:34:38 UTC]    Description field in categories: YES
[20-Nov-2025 19:34:38 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:34:38 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:34:38 UTC]    Is_active field in books: YES
[20-Nov-2025 19:34:38 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:34:38 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:34:38 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:34:38 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:34:38 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:34:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:34:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:34:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:34:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:34:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:34:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:34:38 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:34:38 UTC] 📊 Database Info:
[20-Nov-2025 19:34:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:34:38 UTC]    Books columns count: 44
[20-Nov-2025 19:34:38 UTC]    Categories columns count: 7
[20-Nov-2025 19:34:38 UTC]    Language field in books: YES
[20-Nov-2025 19:34:38 UTC]    Format field in books: YES
[20-Nov-2025 19:34:38 UTC]    Description field in categories: YES
[20-Nov-2025 19:34:38 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:34:38 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:34:38 UTC]    Is_active field in books: YES
[20-Nov-2025 19:34:38 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:34:38 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:34:38 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:34:38 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:34:38 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:34:38 UTC] 📊 Database Info:
[20-Nov-2025 19:34:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:34:38 UTC]    Books columns count: 44
[20-Nov-2025 19:34:38 UTC]    Categories columns count: 7
[20-Nov-2025 19:34:38 UTC]    Language field in books: YES
[20-Nov-2025 19:34:38 UTC]    Format field in books: YES
[20-Nov-2025 19:34:38 UTC]    Description field in categories: YES
[20-Nov-2025 19:34:38 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:34:38 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:34:38 UTC]    Is_active field in books: YES
[20-Nov-2025 19:34:38 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:34:38 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:34:38 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:34:38 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:34:38 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:34:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:34:38 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:34:38 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:34:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:34:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:35:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:35:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:35:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:35:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:35:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:35:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:35:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:35:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:35:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:35:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:35:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:35:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:35:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:35:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:35:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:35:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:35:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:35:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:35:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:35:06 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:35:06 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:35:06 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:35:06 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:35:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:35:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:35:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:35:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:35:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:35:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:35:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:35:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:35:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:35:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:35:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:35:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:35:06 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:35:06 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:35:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:35:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:35:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:35:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:35:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:35:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:35:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:35:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:35:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:35:06 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:35:06 UTC] 📊 Database Info:
[20-Nov-2025 19:35:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:35:06 UTC]    Books columns count: 44
[20-Nov-2025 19:35:06 UTC]    Categories columns count: 7
[20-Nov-2025 19:35:06 UTC]    Language field in books: YES
[20-Nov-2025 19:35:06 UTC]    Format field in books: YES
[20-Nov-2025 19:35:06 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:35:06 UTC]    Description field in categories: YES
[20-Nov-2025 19:35:06 UTC] 📊 Database Info:
[20-Nov-2025 19:35:06 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:35:06 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:35:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:35:06 UTC]    Is_active field in books: YES
[20-Nov-2025 19:35:06 UTC]    Books columns count: 44
[20-Nov-2025 19:35:06 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:35:06 UTC]    Categories columns count: 7
[20-Nov-2025 19:35:06 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:35:06 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:35:06 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:35:06 UTC]    Language field in books: YES
[20-Nov-2025 19:35:06 UTC]    Format field in books: YES
[20-Nov-2025 19:35:06 UTC]    Description field in categories: YES
[20-Nov-2025 19:35:06 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:35:06 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:35:06 UTC]    Is_active field in books: YES
[20-Nov-2025 19:35:06 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:35:06 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:35:06 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:35:06 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:35:06 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:35:06 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:35:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:35:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:35:06 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:35:06 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:35:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:35:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:35:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:35:06 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:35:06 UTC] 📊 Database Info:
[20-Nov-2025 19:35:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:35:06 UTC]    Books columns count: 44
[20-Nov-2025 19:35:06 UTC]    Categories columns count: 7
[20-Nov-2025 19:35:06 UTC]    Language field in books: YES
[20-Nov-2025 19:35:06 UTC]    Format field in books: YES
[20-Nov-2025 19:35:06 UTC]    Description field in categories: YES
[20-Nov-2025 19:35:06 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:35:06 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:35:06 UTC]    Is_active field in books: YES
[20-Nov-2025 19:35:06 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:35:06 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:35:06 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:35:06 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:35:06 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:35:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:35:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:35:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:35:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:35:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:35:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:35:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:35:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:35:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:35:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:35:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:35:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:35:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:35:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:35:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:35:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:35:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:35:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:35:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:35:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:35:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:35:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:35:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:35:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:35:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:35:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:35:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:35:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:35:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:35:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:35:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:35:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:35:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:35:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:35:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:35:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:35:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:35:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:35:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:35:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:35:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:35:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:35:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:35:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:35:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:35:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:35:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:35:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:35:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:35:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:35:14 UTC] 📊 Database Info:
[20-Nov-2025 19:35:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:35:14 UTC]    Books columns count: 44
[20-Nov-2025 19:35:14 UTC]    Categories columns count: 7
[20-Nov-2025 19:35:14 UTC]    Language field in books: YES
[20-Nov-2025 19:35:14 UTC]    Format field in books: YES
[20-Nov-2025 19:35:14 UTC]    Description field in categories: YES
[20-Nov-2025 19:35:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:35:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:35:14 UTC]    Is_active field in books: YES
[20-Nov-2025 19:35:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:35:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:35:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:35:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:35:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:35:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:35:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:35:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:35:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:35:14 UTC] 📊 Database Info:
[20-Nov-2025 19:35:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:35:14 UTC]    Books columns count: 44
[20-Nov-2025 19:35:14 UTC]    Categories columns count: 7
[20-Nov-2025 19:35:14 UTC]    Language field in books: YES
[20-Nov-2025 19:35:14 UTC]    Format field in books: YES
[20-Nov-2025 19:35:14 UTC]    Description field in categories: YES
[20-Nov-2025 19:35:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:35:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:35:14 UTC]    Is_active field in books: YES
[20-Nov-2025 19:35:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:35:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:35:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:35:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:35:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:35:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:35:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:35:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:35:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:35:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:35:14 UTC] 📊 Database Info:
[20-Nov-2025 19:35:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:35:14 UTC]    Books columns count: 44
[20-Nov-2025 19:35:14 UTC]    Categories columns count: 7
[20-Nov-2025 19:35:14 UTC]    Language field in books: YES
[20-Nov-2025 19:35:14 UTC]    Format field in books: YES
[20-Nov-2025 19:35:14 UTC]    Description field in categories: YES
[20-Nov-2025 19:35:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:35:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:35:14 UTC]    Is_active field in books: YES
[20-Nov-2025 19:35:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:35:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:35:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:35:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:35:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:35:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:35:14 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:35:14 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:42:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:42:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:42:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:42:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:42:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:42:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:42:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:42:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:42:51 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:42:51 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:42:51 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:42:51 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:42:51 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:42:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:42:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:42:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:42:51 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:42:51 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:42:51 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:42:51 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:42:51 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:42:51 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:42:51 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:42:51 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:42:51 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:42:51 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:42:51 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:42:51 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:42:51 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:42:51 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:42:51 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:42:51 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:42:51 UTC] 📊 Database Info:
[20-Nov-2025 19:42:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:42:51 UTC]    Books columns count: 44
[20-Nov-2025 19:42:51 UTC]    Categories columns count: 7
[20-Nov-2025 19:42:51 UTC]    Language field in books: YES
[20-Nov-2025 19:42:51 UTC]    Format field in books: YES
[20-Nov-2025 19:42:51 UTC]    Description field in categories: YES
[20-Nov-2025 19:42:51 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:42:51 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:42:51 UTC]    Is_active field in books: YES
[20-Nov-2025 19:42:51 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:42:51 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:42:51 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:42:51 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:42:51 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:42:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:42:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:42:51 UTC] 🔄 Processing category - ID: 10, Name: Test, Active: 0, Remove Image: NO
[20-Nov-2025 19:42:51 UTC] 🔍 Checking for duplicate category name: 'Test'
[20-Nov-2025 19:42:51 UTC] ✅ No duplicate category name found
[20-Nov-2025 19:42:51 UTC] 📁 Keeping existing category image: uploads/no-imagee.jpg
[20-Nov-2025 19:42:51 UTC] 🔄 Updating existing category ID: 10
[20-Nov-2025 19:42:51 UTC] ✅ Category updated with new image and active status: 0
[20-Nov-2025 19:42:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:42:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:42:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:42:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:42:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:42:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:42:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:42:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:42:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:42:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:42:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:42:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:42:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:42:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:42:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:42:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:42:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:42:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:42:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:42:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:42:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:42:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:42:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:42:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:42:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:42:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:42:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:42:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:42:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:42:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:42:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:42:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:42:52 UTC] 📊 Database Info:
[20-Nov-2025 19:42:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:42:52 UTC]    Books columns count: 44
[20-Nov-2025 19:42:52 UTC]    Categories columns count: 7
[20-Nov-2025 19:42:52 UTC]    Language field in books: YES
[20-Nov-2025 19:42:52 UTC]    Format field in books: YES
[20-Nov-2025 19:42:52 UTC]    Description field in categories: YES
[20-Nov-2025 19:42:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:42:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:42:52 UTC]    Is_active field in books: YES
[20-Nov-2025 19:42:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:42:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:42:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:42:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:42:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:42:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:42:52 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 19:42:52 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 19:43:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:01 UTC] 📊 Database Info:
[20-Nov-2025 19:43:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:01 UTC]    Books columns count: 44
[20-Nov-2025 19:43:01 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:01 UTC]    Language field in books: YES
[20-Nov-2025 19:43:01 UTC]    Format field in books: YES
[20-Nov-2025 19:43:01 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:01 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:01 UTC] 📊 Database Info:
[20-Nov-2025 19:43:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:01 UTC]    Books columns count: 44
[20-Nov-2025 19:43:01 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:01 UTC]    Language field in books: YES
[20-Nov-2025 19:43:01 UTC]    Format field in books: YES
[20-Nov-2025 19:43:01 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:01 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:01 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:43:01 UTC] ✅ إرجاع 0 تصنيف نشط
[20-Nov-2025 19:43:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:01 UTC] 📊 Database Info:
[20-Nov-2025 19:43:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:01 UTC]    Books columns count: 44
[20-Nov-2025 19:43:01 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:01 UTC]    Language field in books: YES
[20-Nov-2025 19:43:01 UTC]    Format field in books: YES
[20-Nov-2025 19:43:01 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:01 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:01 UTC] 📊 Database Info:
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:01 UTC]    Books columns count: 44
[20-Nov-2025 19:43:01 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:01 UTC]    Language field in books: YES
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:01 UTC]    Format field in books: YES
[20-Nov-2025 19:43:01 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:01 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:01 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:01 UTC] ✅ إرجاع 0 تصنيف نشط
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:01 UTC] 📊 Database Info:
[20-Nov-2025 19:43:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:01 UTC]    Books columns count: 44
[20-Nov-2025 19:43:01 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:01 UTC]    Language field in books: YES
[20-Nov-2025 19:43:01 UTC]    Format field in books: YES
[20-Nov-2025 19:43:01 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:01 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:01 UTC] 📊 Database Info:
[20-Nov-2025 19:43:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:01 UTC]    Books columns count: 44
[20-Nov-2025 19:43:01 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:01 UTC]    Language field in books: YES
[20-Nov-2025 19:43:01 UTC]    Format field in books: YES
[20-Nov-2025 19:43:01 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:01 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:07 UTC] 📊 Database Info:
[20-Nov-2025 19:43:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:07 UTC]    Books columns count: 44
[20-Nov-2025 19:43:07 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:07 UTC]    Language field in books: YES
[20-Nov-2025 19:43:07 UTC]    Format field in books: YES
[20-Nov-2025 19:43:07 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:07 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:07 UTC] 🔄 Processing category - ID: 10, Name: Test, Active: 1, Remove Image: NO
[20-Nov-2025 19:43:07 UTC] 🔍 Checking for duplicate category name: 'Test'
[20-Nov-2025 19:43:07 UTC] ✅ No duplicate category name found
[20-Nov-2025 19:43:07 UTC] 📁 Keeping existing category image: uploads/no-imagee.jpg
[20-Nov-2025 19:43:07 UTC] 🔄 Updating existing category ID: 10
[20-Nov-2025 19:43:07 UTC] ✅ Category updated with new image and active status: 1
[20-Nov-2025 19:43:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:07 UTC] 📊 Database Info:
[20-Nov-2025 19:43:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:07 UTC]    Books columns count: 44
[20-Nov-2025 19:43:07 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:07 UTC]    Language field in books: YES
[20-Nov-2025 19:43:07 UTC]    Format field in books: YES
[20-Nov-2025 19:43:07 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:07 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:07 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 19:43:07 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 19:43:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:12 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:12 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:12 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:12 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:12 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:12 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:12 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:12 UTC] 📊 Database Info:
[20-Nov-2025 19:43:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:12 UTC]    Books columns count: 44
[20-Nov-2025 19:43:12 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:12 UTC]    Language field in books: YES
[20-Nov-2025 19:43:12 UTC]    Format field in books: YES
[20-Nov-2025 19:43:12 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:12 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:12 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:12 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:12 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:12 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:12 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:12 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:12 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:12 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:12 UTC] 📊 Database Info:
[20-Nov-2025 19:43:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:12 UTC]    Books columns count: 44
[20-Nov-2025 19:43:12 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:12 UTC]    Language field in books: YES
[20-Nov-2025 19:43:12 UTC]    Format field in books: YES
[20-Nov-2025 19:43:12 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:12 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:12 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:12 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:12 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:12 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:12 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:12 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:12 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:12 UTC] 📊 Database Info:
[20-Nov-2025 19:43:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:12 UTC]    Books columns count: 44
[20-Nov-2025 19:43:12 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:12 UTC]    Language field in books: YES
[20-Nov-2025 19:43:12 UTC]    Format field in books: YES
[20-Nov-2025 19:43:12 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:12 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:12 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:12 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:12 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:12 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:12 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:12 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:12 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:12 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:43:12 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:43:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:13 UTC] 📊 Database Info:
[20-Nov-2025 19:43:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:13 UTC]    Books columns count: 44
[20-Nov-2025 19:43:13 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:13 UTC]    Language field in books: YES
[20-Nov-2025 19:43:13 UTC]    Format field in books: YES
[20-Nov-2025 19:43:13 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:13 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:30 UTC] 📊 Database Info:
[20-Nov-2025 19:43:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:30 UTC]    Books columns count: 44
[20-Nov-2025 19:43:30 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:30 UTC]    Language field in books: YES
[20-Nov-2025 19:43:30 UTC]    Format field in books: YES
[20-Nov-2025 19:43:30 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:30 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:30 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:43:30 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:43:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:30 UTC] 📊 Database Info:
[20-Nov-2025 19:43:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:30 UTC]    Books columns count: 44
[20-Nov-2025 19:43:30 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:30 UTC]    Language field in books: YES
[20-Nov-2025 19:43:30 UTC]    Format field in books: YES
[20-Nov-2025 19:43:30 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:30 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:30 UTC] 📊 Database Info:
[20-Nov-2025 19:43:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:30 UTC]    Books columns count: 44
[20-Nov-2025 19:43:30 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:30 UTC]    Language field in books: YES
[20-Nov-2025 19:43:30 UTC]    Format field in books: YES
[20-Nov-2025 19:43:30 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:30 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:33 UTC] 📊 Database Info:
[20-Nov-2025 19:43:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:33 UTC]    Books columns count: 44
[20-Nov-2025 19:43:33 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:33 UTC]    Language field in books: YES
[20-Nov-2025 19:43:33 UTC]    Format field in books: YES
[20-Nov-2025 19:43:33 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:33 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:34 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:39 UTC] 📊 Database Info:
[20-Nov-2025 19:43:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:39 UTC]    Books columns count: 44
[20-Nov-2025 19:43:39 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:39 UTC]    Language field in books: YES
[20-Nov-2025 19:43:39 UTC]    Format field in books: YES
[20-Nov-2025 19:43:39 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:39 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:43:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:43:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:43:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:43:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:43:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:43:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:39 UTC] 📊 Database Info:
[20-Nov-2025 19:43:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:39 UTC]    Books columns count: 44
[20-Nov-2025 19:43:39 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:39 UTC]    Language field in books: YES
[20-Nov-2025 19:43:39 UTC]    Format field in books: YES
[20-Nov-2025 19:43:39 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:39 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:43:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:43:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:43:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:43:39 UTC] 📊 Database Info:
[20-Nov-2025 19:43:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:43:39 UTC]    Books columns count: 44
[20-Nov-2025 19:43:39 UTC]    Categories columns count: 7
[20-Nov-2025 19:43:39 UTC]    Language field in books: YES
[20-Nov-2025 19:43:39 UTC]    Format field in books: YES
[20-Nov-2025 19:43:39 UTC]    Description field in categories: YES
[20-Nov-2025 19:43:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:43:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:43:39 UTC]    Is_active field in books: YES
[20-Nov-2025 19:43:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:43:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:43:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:43:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:43:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:43:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:43:39 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:43:39 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:44:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:44:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:44:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:44:11 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:44:11 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:44:11 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:44:11 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:44:11 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:44:11 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:44:11 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:44:11 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:44:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:44:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:44:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:44:11 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:44:11 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:44:11 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:44:11 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:44:11 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:44:11 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:44:11 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:44:11 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:44:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:44:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:44:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:44:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:44:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:44:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:44:11 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:44:11 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:44:11 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:44:11 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:44:11 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:44:11 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:44:11 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:44:11 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:44:11 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:44:11 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:44:11 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:44:11 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:44:11 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:44:11 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:44:11 UTC] 📊 Database Info:
[20-Nov-2025 19:44:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:44:11 UTC]    Books columns count: 44
[20-Nov-2025 19:44:11 UTC]    Categories columns count: 7
[20-Nov-2025 19:44:11 UTC]    Language field in books: YES
[20-Nov-2025 19:44:11 UTC]    Format field in books: YES
[20-Nov-2025 19:44:11 UTC]    Description field in categories: YES
[20-Nov-2025 19:44:11 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:44:11 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:44:11 UTC]    Is_active field in books: YES
[20-Nov-2025 19:44:11 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:44:11 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:44:11 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:44:11 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:44:11 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:44:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:44:11 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:44:11 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:44:11 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:44:11 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:44:11 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:44:11 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:44:11 UTC] 📊 Database Info:
[20-Nov-2025 19:44:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:44:11 UTC]    Books columns count: 44
[20-Nov-2025 19:44:11 UTC]    Categories columns count: 7
[20-Nov-2025 19:44:11 UTC]    Language field in books: YES
[20-Nov-2025 19:44:11 UTC]    Format field in books: YES
[20-Nov-2025 19:44:11 UTC]    Description field in categories: YES
[20-Nov-2025 19:44:11 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:44:11 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:44:11 UTC]    Is_active field in books: YES
[20-Nov-2025 19:44:11 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:44:11 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:44:11 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:44:11 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:44:11 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:44:11 UTC] 📊 Database Info:
[20-Nov-2025 19:44:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:44:11 UTC]    Books columns count: 44
[20-Nov-2025 19:44:11 UTC]    Categories columns count: 7
[20-Nov-2025 19:44:11 UTC]    Language field in books: YES
[20-Nov-2025 19:44:11 UTC]    Format field in books: YES
[20-Nov-2025 19:44:11 UTC]    Description field in categories: YES
[20-Nov-2025 19:44:11 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:44:11 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:44:11 UTC]    Is_active field in books: YES
[20-Nov-2025 19:44:11 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:44:11 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:44:11 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:44:11 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:44:11 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:44:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:44:11 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:44:11 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:44:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:44:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:49:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:49:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:49:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:49:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:49:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:49:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:49:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:49:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:49:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:49:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:49:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:49:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:49:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:49:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:49:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:49:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:49:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:49:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:49:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:49:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:49:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:49:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:49:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:49:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:49:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:49:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:49:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:49:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:49:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:49:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:49:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:49:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:49:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:49:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:49:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:49:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:49:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:49:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:49:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:49:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:49:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:49:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:49:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:49:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:49:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:49:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:49:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:49:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:49:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:49:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:49:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:49:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:49:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:49:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:49:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:49:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:49:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:49:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:49:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:49:07 UTC] 📊 Database Info:
[20-Nov-2025 19:49:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:49:07 UTC]    Books columns count: 44
[20-Nov-2025 19:49:07 UTC]    Categories columns count: 7
[20-Nov-2025 19:49:07 UTC]    Language field in books: YES
[20-Nov-2025 19:49:07 UTC]    Format field in books: YES
[20-Nov-2025 19:49:07 UTC]    Description field in categories: YES
[20-Nov-2025 19:49:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:49:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:49:07 UTC]    Is_active field in books: YES
[20-Nov-2025 19:49:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:49:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:49:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:49:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:49:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:49:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:49:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:49:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:49:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:49:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:49:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:49:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:49:07 UTC] 📊 Database Info:
[20-Nov-2025 19:49:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:49:07 UTC]    Books columns count: 44
[20-Nov-2025 19:49:07 UTC]    Categories columns count: 7
[20-Nov-2025 19:49:07 UTC]    Language field in books: YES
[20-Nov-2025 19:49:07 UTC]    Format field in books: YES
[20-Nov-2025 19:49:07 UTC]    Description field in categories: YES
[20-Nov-2025 19:49:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:49:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:49:07 UTC]    Is_active field in books: YES
[20-Nov-2025 19:49:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:49:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:49:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:49:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:49:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:49:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:49:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:49:07 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:49:07 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:49:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:49:07 UTC] 📊 Database Info:
[20-Nov-2025 19:49:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:49:07 UTC]    Books columns count: 44
[20-Nov-2025 19:49:07 UTC]    Categories columns count: 7
[20-Nov-2025 19:49:07 UTC]    Language field in books: YES
[20-Nov-2025 19:49:07 UTC]    Format field in books: YES
[20-Nov-2025 19:49:07 UTC]    Description field in categories: YES
[20-Nov-2025 19:49:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:49:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:49:07 UTC]    Is_active field in books: YES
[20-Nov-2025 19:49:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:49:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:49:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:49:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:49:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:49:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:49:07 UTC] 📊 Database Info:
[20-Nov-2025 19:49:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:49:07 UTC]    Books columns count: 44
[20-Nov-2025 19:49:07 UTC]    Categories columns count: 7
[20-Nov-2025 19:49:07 UTC]    Language field in books: YES
[20-Nov-2025 19:49:07 UTC]    Format field in books: YES
[20-Nov-2025 19:49:07 UTC]    Description field in categories: YES
[20-Nov-2025 19:49:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:49:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:49:07 UTC]    Is_active field in books: YES
[20-Nov-2025 19:49:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:49:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:49:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:49:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:49:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:49:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:49:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:49:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:49:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:49:07 UTC] 📊 Database Info:
[20-Nov-2025 19:49:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:49:07 UTC]    Books columns count: 44
[20-Nov-2025 19:49:07 UTC]    Categories columns count: 7
[20-Nov-2025 19:49:07 UTC]    Language field in books: YES
[20-Nov-2025 19:49:07 UTC]    Format field in books: YES
[20-Nov-2025 19:49:07 UTC]    Description field in categories: YES
[20-Nov-2025 19:49:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:49:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:49:07 UTC]    Is_active field in books: YES
[20-Nov-2025 19:49:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:49:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:49:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:49:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:49:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:49:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:49:07 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:49:07 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:49:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:49:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:49:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:49:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:49:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:49:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:49:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:49:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:49:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:49:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:49:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:49:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:49:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:49:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:49:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:49:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:49:07 UTC] 📊 Database Info:
[20-Nov-2025 19:49:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:49:07 UTC]    Books columns count: 44
[20-Nov-2025 19:49:07 UTC]    Categories columns count: 7
[20-Nov-2025 19:49:07 UTC]    Language field in books: YES
[20-Nov-2025 19:49:07 UTC]    Format field in books: YES
[20-Nov-2025 19:49:07 UTC]    Description field in categories: YES
[20-Nov-2025 19:49:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:49:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:49:07 UTC]    Is_active field in books: YES
[20-Nov-2025 19:49:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:49:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:49:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:49:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:49:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:49:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:49:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:49:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:49:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:49:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:49:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:49:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:49:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:49:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:49:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:49:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:49:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:49:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:49:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:49:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:49:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:49:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:49:12 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:49:12 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:49:12 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:49:12 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:49:12 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:49:12 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:49:12 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:49:12 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:49:12 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:49:12 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:49:12 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:49:12 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:49:12 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:49:12 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:49:12 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:49:12 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:49:12 UTC] 📊 Database Info:
[20-Nov-2025 19:49:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:49:12 UTC]    Books columns count: 44
[20-Nov-2025 19:49:12 UTC]    Categories columns count: 7
[20-Nov-2025 19:49:12 UTC]    Language field in books: YES
[20-Nov-2025 19:49:12 UTC]    Format field in books: YES
[20-Nov-2025 19:49:12 UTC]    Description field in categories: YES
[20-Nov-2025 19:49:12 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:49:12 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:49:12 UTC]    Is_active field in books: YES
[20-Nov-2025 19:49:12 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:49:12 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:49:12 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:49:12 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:49:12 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:49:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:57:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:57:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:57:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:57:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:57:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:57:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:57:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:57:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:57:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:57:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:57:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:57:32 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:57:32 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:57:32 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:57:32 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:57:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:57:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:57:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:57:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:57:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:57:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:57:32 UTC] 📊 Database Info:
[20-Nov-2025 19:57:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:57:32 UTC]    Books columns count: 44
[20-Nov-2025 19:57:32 UTC]    Categories columns count: 7
[20-Nov-2025 19:57:32 UTC]    Language field in books: YES
[20-Nov-2025 19:57:32 UTC]    Format field in books: YES
[20-Nov-2025 19:57:32 UTC]    Description field in categories: YES
[20-Nov-2025 19:57:32 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:57:32 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:57:32 UTC]    Is_active field in books: YES
[20-Nov-2025 19:57:32 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:57:32 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:57:32 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:57:32 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:57:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:57:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:57:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:57:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:57:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:57:32 UTC] 📊 Database Info:
[20-Nov-2025 19:57:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:57:32 UTC]    Books columns count: 44
[20-Nov-2025 19:57:32 UTC]    Categories columns count: 7
[20-Nov-2025 19:57:32 UTC]    Language field in books: YES
[20-Nov-2025 19:57:32 UTC]    Format field in books: YES
[20-Nov-2025 19:57:32 UTC]    Description field in categories: YES
[20-Nov-2025 19:57:32 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:57:32 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:57:32 UTC]    Is_active field in books: YES
[20-Nov-2025 19:57:32 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:57:32 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:57:32 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:57:32 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:57:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:57:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:57:32 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:57:32 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:57:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:57:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:57:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:57:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:57:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:57:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:57:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:57:32 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:57:32 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:57:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:57:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:57:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:57:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:57:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:57:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:57:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:57:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:57:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:57:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:57:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:57:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:57:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:57:32 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:57:32 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:57:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:57:32 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:57:32 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:57:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:57:32 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:57:32 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:57:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:57:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:57:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:57:32 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:57:32 UTC] 📊 Database Info:
[20-Nov-2025 19:57:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:57:32 UTC]    Books columns count: 44
[20-Nov-2025 19:57:32 UTC]    Categories columns count: 7
[20-Nov-2025 19:57:32 UTC]    Language field in books: YES
[20-Nov-2025 19:57:32 UTC]    Format field in books: YES
[20-Nov-2025 19:57:32 UTC]    Description field in categories: YES
[20-Nov-2025 19:57:32 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:57:32 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:57:32 UTC]    Is_active field in books: YES
[20-Nov-2025 19:57:32 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:57:32 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:57:32 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:57:32 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:57:32 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:57:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:57:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:57:32 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:57:32 UTC] 📊 Database Info:
[20-Nov-2025 19:57:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:57:32 UTC]    Books columns count: 44
[20-Nov-2025 19:57:32 UTC]    Categories columns count: 7
[20-Nov-2025 19:57:32 UTC]    Language field in books: YES
[20-Nov-2025 19:57:32 UTC]    Format field in books: YES
[20-Nov-2025 19:57:32 UTC]    Description field in categories: YES
[20-Nov-2025 19:57:32 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:57:32 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:57:32 UTC]    Is_active field in books: YES
[20-Nov-2025 19:57:32 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:57:32 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:57:32 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:57:32 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:57:32 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:57:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:57:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:57:32 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:57:32 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:57:32 UTC] 📊 Database Info:
[20-Nov-2025 19:57:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:57:32 UTC]    Books columns count: 44
[20-Nov-2025 19:57:32 UTC]    Categories columns count: 7
[20-Nov-2025 19:57:32 UTC]    Language field in books: YES
[20-Nov-2025 19:57:32 UTC]    Format field in books: YES
[20-Nov-2025 19:57:32 UTC]    Description field in categories: YES
[20-Nov-2025 19:57:32 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:57:32 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:57:32 UTC]    Is_active field in books: YES
[20-Nov-2025 19:57:32 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:57:32 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:57:32 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:57:32 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:57:32 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:57:32 UTC] 📊 Database Info:
[20-Nov-2025 19:57:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:57:32 UTC]    Books columns count: 44
[20-Nov-2025 19:57:32 UTC]    Categories columns count: 7
[20-Nov-2025 19:57:32 UTC]    Language field in books: YES
[20-Nov-2025 19:57:32 UTC]    Format field in books: YES
[20-Nov-2025 19:57:32 UTC]    Description field in categories: YES
[20-Nov-2025 19:57:32 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:57:32 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:57:32 UTC]    Is_active field in books: YES
[20-Nov-2025 19:57:32 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:57:32 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:57:32 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:57:32 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:57:32 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:57:32 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:57:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:57:32 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 19:57:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:57:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 19:57:32 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 19:57:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 19:57:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:57:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:57:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:57:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:57:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:57:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:57:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:57:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:57:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:57:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:57:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:57:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:57:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 19:57:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:57:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 19:57:35 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 19:57:35 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 19:57:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 19:57:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 19:57:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 19:57:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 19:57:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 19:57:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 19:57:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 19:57:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 19:57:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 19:57:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 19:57:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 19:57:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 19:57:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 19:57:35 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 19:57:35 UTC] 📊 Database Info:
[20-Nov-2025 19:57:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 19:57:35 UTC]    Books columns count: 44
[20-Nov-2025 19:57:35 UTC]    Categories columns count: 7
[20-Nov-2025 19:57:35 UTC]    Language field in books: YES
[20-Nov-2025 19:57:35 UTC]    Format field in books: YES
[20-Nov-2025 19:57:35 UTC]    Description field in categories: YES
[20-Nov-2025 19:57:35 UTC]    Display_order field in categories: YES
[20-Nov-2025 19:57:35 UTC]    Is_active field in categories: YES
[20-Nov-2025 19:57:35 UTC]    Is_active field in books: YES
[20-Nov-2025 19:57:35 UTC]    External_download_link field in books: YES
[20-Nov-2025 19:57:35 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 19:57:35 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 19:57:35 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 19:57:35 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 19:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 19:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 19:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 19:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 19:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 19:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 19:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 19:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 19:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 19:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 19:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 19:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 19:57:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:17:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:17:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:17:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:17:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:17:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:17:07 UTC] 📊 Database Info:
[20-Nov-2025 20:17:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:17:07 UTC]    Books columns count: 44
[20-Nov-2025 20:17:07 UTC]    Categories columns count: 7
[20-Nov-2025 20:17:07 UTC]    Language field in books: YES
[20-Nov-2025 20:17:07 UTC]    Format field in books: YES
[20-Nov-2025 20:17:07 UTC]    Description field in categories: YES
[20-Nov-2025 20:17:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:17:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:17:07 UTC]    Is_active field in books: YES
[20-Nov-2025 20:17:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:17:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:17:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:17:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:17:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:17:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:17:07 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 20:17:07 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 20:17:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:17:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:17:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:17:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:17:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:17:07 UTC] 📊 Database Info:
[20-Nov-2025 20:17:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:17:07 UTC]    Books columns count: 44
[20-Nov-2025 20:17:07 UTC]    Categories columns count: 7
[20-Nov-2025 20:17:07 UTC]    Language field in books: YES
[20-Nov-2025 20:17:07 UTC]    Format field in books: YES
[20-Nov-2025 20:17:07 UTC]    Description field in categories: YES
[20-Nov-2025 20:17:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:17:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:17:07 UTC]    Is_active field in books: YES
[20-Nov-2025 20:17:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:17:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:17:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:17:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:17:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:17:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:17:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:17:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:17:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:17:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:17:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:17:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:17:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:17:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:17:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:17:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:17:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:17:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:17:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:17:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:17:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:17:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:17:07 UTC] 📊 Database Info:
[20-Nov-2025 20:17:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:17:07 UTC]    Books columns count: 44
[20-Nov-2025 20:17:07 UTC]    Categories columns count: 7
[20-Nov-2025 20:17:07 UTC]    Language field in books: YES
[20-Nov-2025 20:17:07 UTC]    Format field in books: YES
[20-Nov-2025 20:17:07 UTC]    Description field in categories: YES
[20-Nov-2025 20:17:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:17:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:17:07 UTC]    Is_active field in books: YES
[20-Nov-2025 20:17:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:17:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:17:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:17:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:17:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:17:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:17:07 UTC] 📊 Database Info:
[20-Nov-2025 20:17:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:17:07 UTC]    Books columns count: 44
[20-Nov-2025 20:17:07 UTC]    Categories columns count: 7
[20-Nov-2025 20:17:07 UTC]    Language field in books: YES
[20-Nov-2025 20:17:07 UTC]    Format field in books: YES
[20-Nov-2025 20:17:07 UTC]    Description field in categories: YES
[20-Nov-2025 20:17:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:17:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:17:07 UTC]    Is_active field in books: YES
[20-Nov-2025 20:17:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:17:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:17:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:17:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:17:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:17:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:17:07 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 20:17:07 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 20:17:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:17:07 UTC] 📊 Database Info:
[20-Nov-2025 20:17:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:17:07 UTC]    Books columns count: 44
[20-Nov-2025 20:17:07 UTC]    Categories columns count: 7
[20-Nov-2025 20:17:07 UTC]    Language field in books: YES
[20-Nov-2025 20:17:07 UTC]    Format field in books: YES
[20-Nov-2025 20:17:07 UTC]    Description field in categories: YES
[20-Nov-2025 20:17:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:17:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:17:07 UTC]    Is_active field in books: YES
[20-Nov-2025 20:17:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:17:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:17:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:17:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:17:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:17:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:17:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:17:07 UTC] 📊 Database Info:
[20-Nov-2025 20:17:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:17:07 UTC]    Books columns count: 44
[20-Nov-2025 20:17:07 UTC]    Categories columns count: 7
[20-Nov-2025 20:17:07 UTC]    Language field in books: YES
[20-Nov-2025 20:17:07 UTC]    Format field in books: YES
[20-Nov-2025 20:17:07 UTC]    Description field in categories: YES
[20-Nov-2025 20:17:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:17:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:17:07 UTC]    Is_active field in books: YES
[20-Nov-2025 20:17:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:17:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:17:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:17:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:17:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:17:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:17:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:17:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:17:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:17:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:08 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:17:08 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:17:08 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:08 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:08 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:08 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:08 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:08 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:08 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:08 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:08 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:08 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:08 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:08 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:08 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:08 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:17:08 UTC] 📊 Database Info:
[20-Nov-2025 20:17:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:17:08 UTC]    Books columns count: 44
[20-Nov-2025 20:17:08 UTC]    Categories columns count: 7
[20-Nov-2025 20:17:08 UTC]    Language field in books: YES
[20-Nov-2025 20:17:08 UTC]    Format field in books: YES
[20-Nov-2025 20:17:08 UTC]    Description field in categories: YES
[20-Nov-2025 20:17:08 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:17:08 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:17:08 UTC]    Is_active field in books: YES
[20-Nov-2025 20:17:08 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:17:08 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:17:08 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:17:08 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:17:08 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:17:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:17:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:17:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:17:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:28 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:17:28 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:17:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:17:28 UTC] 📊 Database Info:
[20-Nov-2025 20:17:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:17:28 UTC]    Books columns count: 44
[20-Nov-2025 20:17:28 UTC]    Categories columns count: 7
[20-Nov-2025 20:17:28 UTC]    Language field in books: YES
[20-Nov-2025 20:17:28 UTC]    Format field in books: YES
[20-Nov-2025 20:17:28 UTC]    Description field in categories: YES
[20-Nov-2025 20:17:28 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:17:28 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:17:28 UTC]    Is_active field in books: YES
[20-Nov-2025 20:17:28 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:17:28 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:17:28 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:17:28 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:17:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:17:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:17:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:17:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:28 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:17:28 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:17:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:17:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:28 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:17:28 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:17:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:28 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:17:28 UTC] 📊 Database Info:
[20-Nov-2025 20:17:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:17:28 UTC]    Books columns count: 44
[20-Nov-2025 20:17:28 UTC]    Categories columns count: 7
[20-Nov-2025 20:17:28 UTC]    Language field in books: YES
[20-Nov-2025 20:17:28 UTC]    Format field in books: YES
[20-Nov-2025 20:17:28 UTC]    Description field in categories: YES
[20-Nov-2025 20:17:28 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:17:28 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:17:28 UTC]    Is_active field in books: YES
[20-Nov-2025 20:17:28 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:17:28 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:17:28 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:17:28 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:17:28 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:17:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:17:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:28 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:17:28 UTC] 📊 Database Info:
[20-Nov-2025 20:17:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:17:28 UTC]    Books columns count: 44
[20-Nov-2025 20:17:28 UTC]    Categories columns count: 7
[20-Nov-2025 20:17:28 UTC]    Language field in books: YES
[20-Nov-2025 20:17:28 UTC]    Format field in books: YES
[20-Nov-2025 20:17:28 UTC]    Description field in categories: YES
[20-Nov-2025 20:17:28 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:17:28 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:17:28 UTC]    Is_active field in books: YES
[20-Nov-2025 20:17:28 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:17:28 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:17:28 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:17:28 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:17:28 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:17:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:17:28 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 20:17:28 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 20:17:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:17:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:17:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:17:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:17:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:17:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:17:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:17:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:17:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:17:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:17:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:17:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:17:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:17:52 UTC] 📊 Database Info:
[20-Nov-2025 20:17:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:17:52 UTC]    Books columns count: 44
[20-Nov-2025 20:17:52 UTC]    Categories columns count: 7
[20-Nov-2025 20:17:52 UTC]    Language field in books: YES
[20-Nov-2025 20:17:52 UTC]    Format field in books: YES
[20-Nov-2025 20:17:52 UTC]    Description field in categories: YES
[20-Nov-2025 20:17:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:17:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:17:52 UTC]    Is_active field in books: YES
[20-Nov-2025 20:17:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:17:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:17:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:17:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:17:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:17:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:17:52 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 20:17:52 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 20:17:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:17:52 UTC] 📊 Database Info:
[20-Nov-2025 20:17:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:17:52 UTC]    Books columns count: 44
[20-Nov-2025 20:17:52 UTC]    Categories columns count: 7
[20-Nov-2025 20:17:52 UTC]    Language field in books: YES
[20-Nov-2025 20:17:52 UTC]    Format field in books: YES
[20-Nov-2025 20:17:52 UTC]    Description field in categories: YES
[20-Nov-2025 20:17:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:17:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:17:52 UTC]    Is_active field in books: YES
[20-Nov-2025 20:17:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:17:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:17:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:17:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:17:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:17:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:17:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:17:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:17:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:17:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:17:52 UTC] 📊 Database Info:
[20-Nov-2025 20:17:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:17:52 UTC]    Books columns count: 44
[20-Nov-2025 20:17:52 UTC]    Categories columns count: 7
[20-Nov-2025 20:17:52 UTC]    Language field in books: YES
[20-Nov-2025 20:17:52 UTC]    Format field in books: YES
[20-Nov-2025 20:17:52 UTC]    Description field in categories: YES
[20-Nov-2025 20:17:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:17:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:17:52 UTC]    Is_active field in books: YES
[20-Nov-2025 20:17:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:17:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:17:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:17:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:17:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:17:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:18:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:18:03 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:18:03 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:18:03 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:18:03 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:18:03 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:18:03 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:18:03 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:18:03 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:18:03 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:18:03 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:18:03 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:18:03 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:18:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:18:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:18:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:18:03 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:18:03 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:18:03 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:18:03 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:18:03 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:18:03 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:18:03 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:18:03 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:18:03 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:18:03 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:18:03 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:18:03 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:18:03 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:18:03 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:18:03 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:18:03 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:18:03 UTC] 📊 Database Info:
[20-Nov-2025 20:18:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:18:03 UTC]    Books columns count: 44
[20-Nov-2025 20:18:03 UTC]    Categories columns count: 7
[20-Nov-2025 20:18:03 UTC]    Language field in books: YES
[20-Nov-2025 20:18:03 UTC]    Format field in books: YES
[20-Nov-2025 20:18:03 UTC]    Description field in categories: YES
[20-Nov-2025 20:18:03 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:18:03 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:18:03 UTC]    Is_active field in books: YES
[20-Nov-2025 20:18:03 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:18:03 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:18:03 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:18:03 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:18:03 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:18:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:19:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:19:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:19:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:19:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:19:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:19:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:19:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:19:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:19:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:19:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:19:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:19:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:19:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:19:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:19:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:19:00 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:19:00 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:19:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:19:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:19:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:19:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:19:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:19:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:19:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:19:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:19:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:19:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:19:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:19:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:19:00 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:19:00 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:19:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:19:00 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:19:00 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:19:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:19:00 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:19:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:19:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:19:00 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:19:00 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:19:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:19:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:19:00 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:19:00 UTC] 📊 Database Info:
[20-Nov-2025 20:19:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:19:00 UTC]    Books columns count: 44
[20-Nov-2025 20:19:00 UTC]    Categories columns count: 7
[20-Nov-2025 20:19:00 UTC]    Language field in books: YES
[20-Nov-2025 20:19:00 UTC]    Format field in books: YES
[20-Nov-2025 20:19:00 UTC]    Description field in categories: YES
[20-Nov-2025 20:19:00 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:19:00 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:19:00 UTC]    Is_active field in books: YES
[20-Nov-2025 20:19:00 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:19:00 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:19:00 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:19:00 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:19:00 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:19:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:19:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:19:00 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:19:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:19:00 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:19:00 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:19:00 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:19:00 UTC] 📊 Database Info:
[20-Nov-2025 20:19:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:19:00 UTC]    Books columns count: 44
[20-Nov-2025 20:19:00 UTC]    Categories columns count: 7
[20-Nov-2025 20:19:00 UTC]    Language field in books: YES
[20-Nov-2025 20:19:00 UTC]    Format field in books: YES
[20-Nov-2025 20:19:00 UTC]    Description field in categories: YES
[20-Nov-2025 20:19:00 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:19:00 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:19:00 UTC]    Is_active field in books: YES
[20-Nov-2025 20:19:00 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:19:00 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:19:00 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:19:00 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:19:00 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:19:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:19:00 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:19:00 UTC] 📊 Database Info:
[20-Nov-2025 20:19:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:19:00 UTC]    Books columns count: 44
[20-Nov-2025 20:19:00 UTC]    Categories columns count: 7
[20-Nov-2025 20:19:00 UTC]    Language field in books: YES
[20-Nov-2025 20:19:00 UTC]    Format field in books: YES
[20-Nov-2025 20:19:00 UTC]    Description field in categories: YES
[20-Nov-2025 20:19:00 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:19:00 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:19:00 UTC]    Is_active field in books: YES
[20-Nov-2025 20:19:00 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:19:00 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:19:00 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:19:00 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:19:00 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:19:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:19:00 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 20:19:00 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 20:19:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:19:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:19:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:19:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:19:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:19:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:19:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:19:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:19:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:19:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:19:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:19:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:19:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:19:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:19:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:19:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:19:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:19:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:19:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:19:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:19:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:19:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:19:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:19:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:19:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:19:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:19:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:19:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:19:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:19:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:19:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:19:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:19:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:19:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:19:13 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:19:13 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:19:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:19:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:19:13 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:19:13 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:19:13 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:19:13 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:19:13 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:19:13 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:19:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:19:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:19:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:19:13 UTC] 📊 Database Info:
[20-Nov-2025 20:19:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:19:13 UTC]    Books columns count: 44
[20-Nov-2025 20:19:13 UTC]    Categories columns count: 7
[20-Nov-2025 20:19:13 UTC]    Language field in books: YES
[20-Nov-2025 20:19:13 UTC]    Format field in books: YES
[20-Nov-2025 20:19:13 UTC]    Description field in categories: YES
[20-Nov-2025 20:19:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:19:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:19:13 UTC]    Is_active field in books: YES
[20-Nov-2025 20:19:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:19:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:19:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:19:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:19:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:19:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:19:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:19:13 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:19:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:19:13 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:19:13 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:19:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:19:13 UTC] 📊 Database Info:
[20-Nov-2025 20:19:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:19:13 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:19:13 UTC]    Books columns count: 44
[20-Nov-2025 20:19:13 UTC] 📊 Database Info:
[20-Nov-2025 20:19:13 UTC]    Categories columns count: 7
[20-Nov-2025 20:19:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:19:13 UTC]    Books columns count: 44
[20-Nov-2025 20:19:13 UTC]    Categories columns count: 7
[20-Nov-2025 20:19:13 UTC]    Language field in books: YES
[20-Nov-2025 20:19:13 UTC]    Language field in books: YES
[20-Nov-2025 20:19:13 UTC]    Format field in books: YES
[20-Nov-2025 20:19:13 UTC]    Format field in books: YES
[20-Nov-2025 20:19:13 UTC]    Description field in categories: YES
[20-Nov-2025 20:19:13 UTC]    Description field in categories: YES
[20-Nov-2025 20:19:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:19:13 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:19:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:19:13 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:19:13 UTC]    Is_active field in books: YES
[20-Nov-2025 20:19:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:19:13 UTC]    Is_active field in books: YES
[20-Nov-2025 20:19:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:19:13 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:19:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:19:13 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:19:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:19:13 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:19:13 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:19:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:19:13 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:19:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:19:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:19:13 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 20:19:13 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 20:19:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:19:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:19:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:19:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:19:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:19:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:19:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:19:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:19:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:19:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:19:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:19:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:19:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:19:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:19:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:19:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:19:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:19:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:19:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:19:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:19:26 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:19:26 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:19:26 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:19:26 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:19:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:19:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:19:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:19:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:19:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:19:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:19:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:19:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:19:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:19:26 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:19:26 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:19:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:19:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:19:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:19:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:19:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:19:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:19:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:19:26 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:19:26 UTC] 📊 Database Info:
[20-Nov-2025 20:19:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:19:26 UTC]    Books columns count: 44
[20-Nov-2025 20:19:26 UTC]    Categories columns count: 7
[20-Nov-2025 20:19:26 UTC]    Language field in books: YES
[20-Nov-2025 20:19:26 UTC]    Format field in books: YES
[20-Nov-2025 20:19:26 UTC]    Description field in categories: YES
[20-Nov-2025 20:19:26 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:19:26 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:19:26 UTC]    Is_active field in books: YES
[20-Nov-2025 20:19:26 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:19:26 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:19:26 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:19:26 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:19:26 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:19:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:19:26 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 20:19:26 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 20:19:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:19:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:19:26 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:19:26 UTC] 📊 Database Info:
[20-Nov-2025 20:19:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:19:26 UTC]    Books columns count: 44
[20-Nov-2025 20:19:26 UTC]    Categories columns count: 7
[20-Nov-2025 20:19:26 UTC]    Language field in books: YES
[20-Nov-2025 20:19:26 UTC]    Format field in books: YES
[20-Nov-2025 20:19:26 UTC]    Description field in categories: YES
[20-Nov-2025 20:19:26 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:19:26 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:19:26 UTC]    Is_active field in books: YES
[20-Nov-2025 20:19:26 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:19:26 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:19:26 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:19:26 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:19:26 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:19:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:19:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:19:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:19:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:19:26 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:19:26 UTC] 📊 Database Info:
[20-Nov-2025 20:19:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:19:26 UTC]    Books columns count: 44
[20-Nov-2025 20:19:26 UTC]    Categories columns count: 7
[20-Nov-2025 20:19:26 UTC]    Language field in books: YES
[20-Nov-2025 20:19:26 UTC]    Format field in books: YES
[20-Nov-2025 20:19:26 UTC]    Description field in categories: YES
[20-Nov-2025 20:19:26 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:19:26 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:19:26 UTC]    Is_active field in books: YES
[20-Nov-2025 20:19:26 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:19:26 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:19:26 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:19:26 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:19:26 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:19:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:19:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:20:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:20:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:20:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:20:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:20:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:20:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:20:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:20:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:20:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:20:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:20:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:20:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:20:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:20:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:20:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:20:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:20:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:20:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:20:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:20:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:20:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:20:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:20:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:20:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:20:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:20:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:20:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:20:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:20:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:20:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:20:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:20:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:20:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:20:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:20:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:20:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:20:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:20:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:20:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:20:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:20:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:20:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:20:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:20:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:20:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:20:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:20:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:20:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:20:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:20:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:20:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:20:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:20:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:20:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:20:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:20:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:20:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:20:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:20:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:20:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:20:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:20:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:20:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:20:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:20:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:20:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:20:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:20:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:20:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:20:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:20:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:20:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:20:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:20:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:20:21 UTC] 📊 Database Info:
[20-Nov-2025 20:20:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:20:21 UTC]    Books columns count: 44
[20-Nov-2025 20:20:21 UTC]    Categories columns count: 7
[20-Nov-2025 20:20:21 UTC]    Language field in books: YES
[20-Nov-2025 20:20:21 UTC]    Format field in books: YES
[20-Nov-2025 20:20:21 UTC]    Description field in categories: YES
[20-Nov-2025 20:20:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:20:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:20:21 UTC]    Is_active field in books: YES
[20-Nov-2025 20:20:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:20:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:20:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:20:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:20:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:20:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:20:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:20:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:20:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:20:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:20:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:20:21 UTC] 📊 Database Info:
[20-Nov-2025 20:20:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:20:21 UTC]    Books columns count: 44
[20-Nov-2025 20:20:21 UTC]    Categories columns count: 7
[20-Nov-2025 20:20:21 UTC]    Language field in books: YES
[20-Nov-2025 20:20:21 UTC]    Format field in books: YES
[20-Nov-2025 20:20:21 UTC]    Description field in categories: YES
[20-Nov-2025 20:20:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:20:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:20:21 UTC]    Is_active field in books: YES
[20-Nov-2025 20:20:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:20:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:20:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:20:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:20:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:20:21 UTC] 📊 Database Info:
[20-Nov-2025 20:20:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:20:21 UTC]    Books columns count: 44
[20-Nov-2025 20:20:21 UTC]    Categories columns count: 7
[20-Nov-2025 20:20:21 UTC]    Language field in books: YES
[20-Nov-2025 20:20:21 UTC]    Format field in books: YES
[20-Nov-2025 20:20:21 UTC]    Description field in categories: YES
[20-Nov-2025 20:20:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:20:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:20:21 UTC]    Is_active field in books: YES
[20-Nov-2025 20:20:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:20:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:20:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:20:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:20:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:20:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:20:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:20:21 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:20:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:20:21 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 20:20:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:20:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:20:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:20:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:20:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:20:21 UTC] 📊 Database Info:
[20-Nov-2025 20:20:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:20:21 UTC]    Books columns count: 44
[20-Nov-2025 20:20:21 UTC]    Categories columns count: 7
[20-Nov-2025 20:20:21 UTC]    Language field in books: YES
[20-Nov-2025 20:20:21 UTC]    Format field in books: YES
[20-Nov-2025 20:20:21 UTC]    Description field in categories: YES
[20-Nov-2025 20:20:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:20:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:20:21 UTC]    Is_active field in books: YES
[20-Nov-2025 20:20:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:20:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:20:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:20:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:20:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:20:21 UTC] 📊 Database Info:
[20-Nov-2025 20:20:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:20:21 UTC]    Books columns count: 44
[20-Nov-2025 20:20:21 UTC]    Categories columns count: 7
[20-Nov-2025 20:20:21 UTC]    Language field in books: YES
[20-Nov-2025 20:20:21 UTC]    Format field in books: YES
[20-Nov-2025 20:20:21 UTC]    Description field in categories: YES
[20-Nov-2025 20:20:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:20:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:20:21 UTC]    Is_active field in books: YES
[20-Nov-2025 20:20:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:20:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:20:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:20:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:20:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:20:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:20:21 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:20:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:20:21 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 20:20:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:20:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:20:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:20:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:20:21 UTC] 📊 Database Info:
[20-Nov-2025 20:20:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:20:21 UTC]    Books columns count: 44
[20-Nov-2025 20:20:21 UTC]    Categories columns count: 7
[20-Nov-2025 20:20:21 UTC]    Language field in books: YES
[20-Nov-2025 20:20:21 UTC]    Format field in books: YES
[20-Nov-2025 20:20:21 UTC]    Description field in categories: YES
[20-Nov-2025 20:20:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:20:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:20:21 UTC]    Is_active field in books: YES
[20-Nov-2025 20:20:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:20:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:20:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:20:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:20:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:20:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:20:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:20:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:20:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:20:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:20:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:20:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:20:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:20:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:20:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:20:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:20:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:20:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:20:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:20:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:20:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:20:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:20:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:20:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:20:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:20:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:20:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:20:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:20:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:20:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:20:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:20:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:20:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:20:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:20:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:20:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:20:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:20:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:20:39 UTC] 📊 Database Info:
[20-Nov-2025 20:20:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:20:39 UTC]    Books columns count: 44
[20-Nov-2025 20:20:39 UTC]    Categories columns count: 7
[20-Nov-2025 20:20:39 UTC]    Language field in books: YES
[20-Nov-2025 20:20:39 UTC]    Format field in books: YES
[20-Nov-2025 20:20:39 UTC]    Description field in categories: YES
[20-Nov-2025 20:20:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:20:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:20:39 UTC]    Is_active field in books: YES
[20-Nov-2025 20:20:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:20:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:20:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:20:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:20:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:20:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:20:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:20:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:20:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:20:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:20:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:20:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:20:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:20:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:20:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:20:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:20:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:20:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:21:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:21:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:21:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:21:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:21:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:21:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:21:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:21:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:21:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:21:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:21:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:21:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:21:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:21:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:21:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:21:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:21:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:21:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:21:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:21:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:21:33 UTC] 📊 Database Info:
[20-Nov-2025 20:21:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:21:33 UTC]    Books columns count: 44
[20-Nov-2025 20:21:33 UTC]    Categories columns count: 7
[20-Nov-2025 20:21:33 UTC]    Language field in books: YES
[20-Nov-2025 20:21:33 UTC]    Format field in books: YES
[20-Nov-2025 20:21:33 UTC]    Description field in categories: YES
[20-Nov-2025 20:21:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:21:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:21:33 UTC]    Is_active field in books: YES
[20-Nov-2025 20:21:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:21:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:21:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:21:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:21:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:21:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:21:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:21:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:21:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:21:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:21:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:21:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:21:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:21:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:21:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:21:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:21:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:21:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:21:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:21:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:21:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:21:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:21:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:21:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:21:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:21:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:21:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:21:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:21:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:21:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:21:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:21:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:21:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:21:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:21:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:21:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:21:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:21:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:21:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:21:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:21:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:21:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:21:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:21:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:21:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:21:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:21:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:21:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:21:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:21:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:21:33 UTC] 📊 Database Info:
[20-Nov-2025 20:21:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:21:33 UTC]    Books columns count: 44
[20-Nov-2025 20:21:33 UTC]    Categories columns count: 7
[20-Nov-2025 20:21:33 UTC]    Language field in books: YES
[20-Nov-2025 20:21:33 UTC]    Format field in books: YES
[20-Nov-2025 20:21:33 UTC]    Description field in categories: YES
[20-Nov-2025 20:21:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:21:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:21:33 UTC]    Is_active field in books: YES
[20-Nov-2025 20:21:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:21:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:21:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:21:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:21:33 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:21:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:21:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:21:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:21:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:21:33 UTC] 📊 Database Info:
[20-Nov-2025 20:21:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:21:33 UTC]    Books columns count: 44
[20-Nov-2025 20:21:33 UTC]    Categories columns count: 7
[20-Nov-2025 20:21:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:21:33 UTC]    Language field in books: YES
[20-Nov-2025 20:21:33 UTC]    Format field in books: YES
[20-Nov-2025 20:21:33 UTC]    Description field in categories: YES
[20-Nov-2025 20:21:33 UTC] 📊 Database Info:
[20-Nov-2025 20:21:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:21:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:21:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:21:33 UTC]    Is_active field in books: YES
[20-Nov-2025 20:21:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:21:33 UTC]    Books columns count: 44
[20-Nov-2025 20:21:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:21:33 UTC]    Categories columns count: 7
[20-Nov-2025 20:21:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:21:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:21:33 UTC]    Language field in books: YES
[20-Nov-2025 20:21:33 UTC]    Format field in books: YES
[20-Nov-2025 20:21:33 UTC]    Description field in categories: YES
[20-Nov-2025 20:21:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:21:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:21:33 UTC]    Is_active field in books: YES
[20-Nov-2025 20:21:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:21:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:21:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:21:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:21:33 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:21:33 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:21:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:21:33 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:21:33 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:21:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:21:33 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 20:21:33 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 20:21:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:21:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:21:33 UTC] 📊 Database Info:
[20-Nov-2025 20:21:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:21:33 UTC]    Books columns count: 44
[20-Nov-2025 20:21:33 UTC]    Categories columns count: 7
[20-Nov-2025 20:21:33 UTC]    Language field in books: YES
[20-Nov-2025 20:21:33 UTC]    Format field in books: YES
[20-Nov-2025 20:21:33 UTC]    Description field in categories: YES
[20-Nov-2025 20:21:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:21:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:21:33 UTC]    Is_active field in books: YES
[20-Nov-2025 20:21:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:21:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:21:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:21:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:21:33 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:21:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:21:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:21:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:21:33 UTC] 📊 Database Info:
[20-Nov-2025 20:21:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:21:33 UTC]    Books columns count: 44
[20-Nov-2025 20:21:33 UTC]    Categories columns count: 7
[20-Nov-2025 20:21:33 UTC]    Language field in books: YES
[20-Nov-2025 20:21:33 UTC]    Format field in books: YES
[20-Nov-2025 20:21:33 UTC]    Description field in categories: YES
[20-Nov-2025 20:21:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:21:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:21:33 UTC]    Is_active field in books: YES
[20-Nov-2025 20:21:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:21:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:21:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:21:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:21:33 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:21:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:21:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:21:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:21:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:21:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:21:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:21:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:21:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:21:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:21:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:21:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:21:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:21:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:21:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:21:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:21:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:21:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:21:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:21:55 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:21:55 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:21:55 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:21:55 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:21:55 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:21:55 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:21:55 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:21:55 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:21:55 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:21:55 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:21:55 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:21:55 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:21:55 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:21:55 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:21:55 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:21:55 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:21:55 UTC] 📊 Database Info:
[20-Nov-2025 20:21:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:21:55 UTC]    Books columns count: 44
[20-Nov-2025 20:21:55 UTC]    Categories columns count: 7
[20-Nov-2025 20:21:55 UTC]    Language field in books: YES
[20-Nov-2025 20:21:55 UTC]    Format field in books: YES
[20-Nov-2025 20:21:55 UTC]    Description field in categories: YES
[20-Nov-2025 20:21:55 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:21:55 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:21:55 UTC]    Is_active field in books: YES
[20-Nov-2025 20:21:55 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:21:55 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:21:55 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:21:55 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:21:55 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:21:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:21:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:22:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:22:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:22:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:22:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:22:09 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:22:09 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:22:09 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:22:09 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:22:09 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:22:09 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:22:09 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:22:09 UTC] 📊 Database Info:
[20-Nov-2025 20:22:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:22:09 UTC]    Books columns count: 44
[20-Nov-2025 20:22:09 UTC]    Categories columns count: 7
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC]    Language field in books: YES
[20-Nov-2025 20:22:09 UTC]    Format field in books: YES
[20-Nov-2025 20:22:09 UTC]    Description field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:22:09 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:22:09 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:22:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:22:09 UTC] 📊 Database Info:
[20-Nov-2025 20:22:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC]    Books columns count: 44
[20-Nov-2025 20:22:09 UTC]    Categories columns count: 7
[20-Nov-2025 20:22:09 UTC]    Language field in books: YES
[20-Nov-2025 20:22:09 UTC]    Format field in books: YES
[20-Nov-2025 20:22:09 UTC]    Description field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:22:09 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:22:09 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:22:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:22:09 UTC] 📊 Database Info:
[20-Nov-2025 20:22:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:22:09 UTC]    Books columns count: 44
[20-Nov-2025 20:22:09 UTC]    Categories columns count: 7
[20-Nov-2025 20:22:09 UTC]    Language field in books: YES
[20-Nov-2025 20:22:09 UTC]    Format field in books: YES
[20-Nov-2025 20:22:09 UTC]    Description field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:22:09 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:22:09 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:22:09 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:22:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:22:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 20:22:09 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[20-Nov-2025 20:22:09 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:22:09 UTC] 📊 Database Info:
[20-Nov-2025 20:22:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:22:09 UTC]    Books columns count: 44
[20-Nov-2025 20:22:09 UTC]    Categories columns count: 7
[20-Nov-2025 20:22:09 UTC]    Language field in books: YES
[20-Nov-2025 20:22:09 UTC]    Format field in books: YES
[20-Nov-2025 20:22:09 UTC]    Description field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:22:09 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:22:09 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:22:09 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:22:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:22:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 20:22:09 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[20-Nov-2025 20:22:09 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:22:09 UTC] 📊 Database Info:
[20-Nov-2025 20:22:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:22:09 UTC]    Books columns count: 44
[20-Nov-2025 20:22:09 UTC]    Categories columns count: 7
[20-Nov-2025 20:22:09 UTC]    Language field in books: YES
[20-Nov-2025 20:22:09 UTC]    Format field in books: YES
[20-Nov-2025 20:22:09 UTC]    Description field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:22:09 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:22:09 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:22:09 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:22:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:22:09 UTC] 📊 Database Info:
[20-Nov-2025 20:22:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:22:09 UTC]    Books columns count: 44
[20-Nov-2025 20:22:09 UTC]    Categories columns count: 7
[20-Nov-2025 20:22:09 UTC]    Language field in books: YES
[20-Nov-2025 20:22:09 UTC]    Format field in books: YES
[20-Nov-2025 20:22:09 UTC]    Description field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:22:09 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:22:09 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:22:09 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:22:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:22:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 20:22:09 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[20-Nov-2025 20:22:09 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[20-Nov-2025 20:22:09 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:22:09 UTC] 📊 Database Info:
[20-Nov-2025 20:22:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:22:09 UTC]    Books columns count: 44
[20-Nov-2025 20:22:09 UTC]    Categories columns count: 7
[20-Nov-2025 20:22:09 UTC]    Language field in books: YES
[20-Nov-2025 20:22:09 UTC]    Format field in books: YES
[20-Nov-2025 20:22:09 UTC]    Description field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:22:09 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:22:09 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:22:09 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:22:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:22:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:22:09 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:22:09 UTC] 📊 Database Info:
[20-Nov-2025 20:22:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:22:09 UTC]    Books columns count: 44
[20-Nov-2025 20:22:09 UTC]    Categories columns count: 7
[20-Nov-2025 20:22:09 UTC]    Language field in books: YES
[20-Nov-2025 20:22:09 UTC]    Format field in books: YES
[20-Nov-2025 20:22:09 UTC]    Description field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:22:09 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:22:09 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:22:09 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:22:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:22:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 20:22:09 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[20-Nov-2025 20:22:09 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[20-Nov-2025 20:22:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:22:09 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:22:09 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:22:09 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:09 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:09 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:22:09 UTC] 📊 Database Info:
[20-Nov-2025 20:22:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:22:09 UTC]    Books columns count: 44
[20-Nov-2025 20:22:09 UTC]    Categories columns count: 7
[20-Nov-2025 20:22:09 UTC]    Language field in books: YES
[20-Nov-2025 20:22:09 UTC]    Format field in books: YES
[20-Nov-2025 20:22:09 UTC]    Description field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:22:09 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:22:09 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:22:09 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:22:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:22:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 20:22:09 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[20-Nov-2025 20:22:09 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[20-Nov-2025 20:22:09 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:09 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:22:09 UTC] 📊 Database Info:
[20-Nov-2025 20:22:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:22:09 UTC]    Books columns count: 44
[20-Nov-2025 20:22:09 UTC]    Categories columns count: 7
[20-Nov-2025 20:22:09 UTC]    Language field in books: YES
[20-Nov-2025 20:22:09 UTC]    Format field in books: YES
[20-Nov-2025 20:22:09 UTC]    Description field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:22:09 UTC]    Is_active field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:22:09 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:22:09 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:22:09 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:22:09 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:22:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:22:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 20:22:09 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[20-Nov-2025 20:22:09 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[20-Nov-2025 20:22:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:22:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:22:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:20 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:22:20 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:22:20 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:20 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:20 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:20 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:20 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:20 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:20 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:20 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:20 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:20 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:20 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:20 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:20 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:20 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:22:20 UTC] 📊 Database Info:
[20-Nov-2025 20:22:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:22:20 UTC]    Books columns count: 44
[20-Nov-2025 20:22:20 UTC]    Categories columns count: 7
[20-Nov-2025 20:22:20 UTC]    Language field in books: YES
[20-Nov-2025 20:22:20 UTC]    Format field in books: YES
[20-Nov-2025 20:22:20 UTC]    Description field in categories: YES
[20-Nov-2025 20:22:20 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:22:20 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:22:20 UTC]    Is_active field in books: YES
[20-Nov-2025 20:22:20 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:22:20 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:22:20 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:22:20 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:22:20 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:22:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:22:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:22:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:22:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:22:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:22:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:22:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:22:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:22:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:22:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:22:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:22:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:22:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:22:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:22:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:22:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:35 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:22:35 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:22:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:35 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:22:35 UTC] 📊 Database Info:
[20-Nov-2025 20:22:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:22:35 UTC]    Books columns count: 44
[20-Nov-2025 20:22:35 UTC]    Categories columns count: 7
[20-Nov-2025 20:22:35 UTC]    Language field in books: YES
[20-Nov-2025 20:22:35 UTC]    Format field in books: YES
[20-Nov-2025 20:22:35 UTC]    Description field in categories: YES
[20-Nov-2025 20:22:35 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:22:35 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:22:35 UTC]    Is_active field in books: YES
[20-Nov-2025 20:22:35 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:22:35 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:22:35 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:22:35 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:22:35 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:22:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:22:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:22:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:22:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:22:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:22:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:22:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:22:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:22:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:22:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:22:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:22:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:22:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:22:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:22:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:22:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:22:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:22:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:22:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:22:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:22:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:22:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:22:39 UTC] 📊 Database Info:
[20-Nov-2025 20:22:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:22:39 UTC]    Books columns count: 44
[20-Nov-2025 20:22:39 UTC]    Categories columns count: 7
[20-Nov-2025 20:22:39 UTC]    Language field in books: YES
[20-Nov-2025 20:22:39 UTC]    Format field in books: YES
[20-Nov-2025 20:22:39 UTC]    Description field in categories: YES
[20-Nov-2025 20:22:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:22:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:22:39 UTC]    Is_active field in books: YES
[20-Nov-2025 20:22:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:22:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:22:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:22:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:22:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:22:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:22:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:22:39 UTC] 📊 Database Info:
[20-Nov-2025 20:22:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:22:39 UTC]    Books columns count: 44
[20-Nov-2025 20:22:39 UTC]    Categories columns count: 7
[20-Nov-2025 20:22:39 UTC]    Language field in books: YES
[20-Nov-2025 20:22:39 UTC]    Format field in books: YES
[20-Nov-2025 20:22:39 UTC]    Description field in categories: YES
[20-Nov-2025 20:22:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:22:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:22:39 UTC]    Is_active field in books: YES
[20-Nov-2025 20:22:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:22:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:22:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:22:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:22:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:22:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:22:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:22:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:22:39 UTC] 📊 Database Info:
[20-Nov-2025 20:22:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:22:39 UTC]    Books columns count: 44
[20-Nov-2025 20:22:39 UTC]    Categories columns count: 7
[20-Nov-2025 20:22:39 UTC]    Language field in books: YES
[20-Nov-2025 20:22:39 UTC]    Format field in books: YES
[20-Nov-2025 20:22:39 UTC]    Description field in categories: YES
[20-Nov-2025 20:22:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:22:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:22:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:22:39 UTC] 📊 Database Info:
[20-Nov-2025 20:22:39 UTC]    Is_active field in books: YES
[20-Nov-2025 20:22:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:22:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:22:39 UTC]    Books columns count: 44
[20-Nov-2025 20:22:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:22:39 UTC]    Categories columns count: 7
[20-Nov-2025 20:22:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:22:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:22:39 UTC]    Language field in books: YES
[20-Nov-2025 20:22:39 UTC]    Format field in books: YES
[20-Nov-2025 20:22:39 UTC]    Description field in categories: YES
[20-Nov-2025 20:22:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:22:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:22:39 UTC]    Is_active field in books: YES
[20-Nov-2025 20:22:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:22:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:22:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:22:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:22:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:22:39 UTC] 📊 Database Info:
[20-Nov-2025 20:22:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:22:39 UTC]    Books columns count: 44
[20-Nov-2025 20:22:39 UTC]    Categories columns count: 7
[20-Nov-2025 20:22:39 UTC]    Language field in books: YES
[20-Nov-2025 20:22:39 UTC]    Format field in books: YES
[20-Nov-2025 20:22:39 UTC]    Description field in categories: YES
[20-Nov-2025 20:22:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:22:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:22:39 UTC]    Is_active field in books: YES
[20-Nov-2025 20:22:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:22:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:22:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:22:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:22:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:22:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:22:39 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:22:39 UTC] 📊 Database Info:
[20-Nov-2025 20:22:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:22:39 UTC]    Books columns count: 44
[20-Nov-2025 20:22:39 UTC]    Categories columns count: 7
[20-Nov-2025 20:22:39 UTC]    Language field in books: YES
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:22:39 UTC]    Format field in books: YES
[20-Nov-2025 20:22:39 UTC]    Description field in categories: YES
[20-Nov-2025 20:22:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:22:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:22:39 UTC]    Is_active field in books: YES
[20-Nov-2025 20:22:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:22:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:22:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:22:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:22:39 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:22:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:22:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:22:39 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:22:39 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 20:22:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:22:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:23:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:23:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:23:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:23:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:23:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:23:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:23:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:23:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:23:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:23:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:23:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:23:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:23:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:23:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:23:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:23:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:23:04 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:23:04 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:23:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:23:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:23:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:23:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:23:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:23:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:23:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:23:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:23:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:23:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:23:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:23:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:23:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:23:04 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:23:04 UTC] 📊 Database Info:
[20-Nov-2025 20:23:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:23:04 UTC]    Books columns count: 44
[20-Nov-2025 20:23:04 UTC]    Categories columns count: 7
[20-Nov-2025 20:23:04 UTC]    Language field in books: YES
[20-Nov-2025 20:23:04 UTC]    Format field in books: YES
[20-Nov-2025 20:23:04 UTC]    Description field in categories: YES
[20-Nov-2025 20:23:04 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:23:04 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:23:04 UTC]    Is_active field in books: YES
[20-Nov-2025 20:23:04 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:23:04 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:23:04 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:23:04 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:23:04 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:23:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:23:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:23:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:23:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:23:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:23:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:23:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:23:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:23:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:23:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:23:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:23:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:23:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:55:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:55:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:55:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:55:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:55:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:55:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:55:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:55:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:55:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:55:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:55:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:55:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:55:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:55:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:55:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:55:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:55:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:55:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:55:27 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:55:27 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:55:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:55:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:55:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:55:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:55:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:55:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:55:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:55:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:55:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:55:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:55:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:55:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:55:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:55:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:55:27 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:55:27 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:55:27 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 20:55:27 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 20:55:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column institution already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column language already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column format already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:55:27 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 20:55:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:55:27 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 20:55:27 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:55:27 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:55:27 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 20:55:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:55:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:55:27 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:55:27 UTC] 📊 Database Info:
[20-Nov-2025 20:55:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:55:27 UTC]    Books columns count: 44
[20-Nov-2025 20:55:27 UTC]    Categories columns count: 7
[20-Nov-2025 20:55:27 UTC]    Language field in books: YES
[20-Nov-2025 20:55:27 UTC]    Format field in books: YES
[20-Nov-2025 20:55:27 UTC]    Description field in categories: YES
[20-Nov-2025 20:55:27 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:55:27 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:55:27 UTC]    Is_active field in books: YES
[20-Nov-2025 20:55:27 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:55:27 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:55:27 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:55:27 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:55:27 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:55:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:55:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:55:27 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:55:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:55:27 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 20:55:27 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 20:55:27 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:55:27 UTC] 📊 Database Info:
[20-Nov-2025 20:55:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:55:27 UTC]    Books columns count: 44
[20-Nov-2025 20:55:27 UTC]    Categories columns count: 7
[20-Nov-2025 20:55:27 UTC]    Language field in books: YES
[20-Nov-2025 20:55:27 UTC]    Format field in books: YES
[20-Nov-2025 20:55:27 UTC]    Description field in categories: YES
[20-Nov-2025 20:55:27 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:55:27 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:55:27 UTC]    Is_active field in books: YES
[20-Nov-2025 20:55:27 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:55:27 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:55:27 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:55:27 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 20:55:27 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:55:27 UTC] 📊 Database Info:
[20-Nov-2025 20:55:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 20:55:27 UTC]    Books columns count: 44
[20-Nov-2025 20:55:27 UTC]    Categories columns count: 7
[20-Nov-2025 20:55:27 UTC]    Language field in books: YES
[20-Nov-2025 20:55:27 UTC]    Format field in books: YES
[20-Nov-2025 20:55:27 UTC]    Description field in categories: YES
[20-Nov-2025 20:55:27 UTC]    Display_order field in categories: YES
[20-Nov-2025 20:55:27 UTC]    Is_active field in categories: YES
[20-Nov-2025 20:55:27 UTC]    Is_active field in books: YES
[20-Nov-2025 20:55:27 UTC]    External_download_link field in books: YES
[20-Nov-2025 20:55:27 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 20:55:27 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 20:55:27 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 20:55:27 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:55:27 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 20:55:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:55:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 20:55:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 20:55:27 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 20:55:27 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 20:55:27 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 20:55:27 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 21:04:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:04:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:04:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:04:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:04:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:04:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:04:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:04:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:04:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:04:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:04:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:04:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:04:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:04:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:04:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:04:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:04:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:04:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:04:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:04:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:04:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:04:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:04:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:04:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:04:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:04:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:04:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:04:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:04:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:04:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:04:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:04:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:04:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:04:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:04:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:04:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:04:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:04:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:04:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:04:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:04:57 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:04:57 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:04:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:04:57 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:04:57 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:04:57 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:04:57 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:04:57 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:04:57 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:04:57 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:04:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:04:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:04:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:04:57 UTC] 📊 Database Info:
[20-Nov-2025 21:04:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:04:57 UTC]    Books columns count: 44
[20-Nov-2025 21:04:57 UTC]    Categories columns count: 7
[20-Nov-2025 21:04:57 UTC]    Language field in books: YES
[20-Nov-2025 21:04:57 UTC]    Format field in books: YES
[20-Nov-2025 21:04:57 UTC]    Description field in categories: YES
[20-Nov-2025 21:04:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:04:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:04:57 UTC]    Is_active field in books: YES
[20-Nov-2025 21:04:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:04:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:04:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:04:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:04:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:04:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:04:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:04:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:04:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:04:57 UTC] 📊 Database Info:
[20-Nov-2025 21:04:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:04:57 UTC]    Books columns count: 44
[20-Nov-2025 21:04:57 UTC]    Categories columns count: 7
[20-Nov-2025 21:04:57 UTC]    Language field in books: YES
[20-Nov-2025 21:04:57 UTC]    Format field in books: YES
[20-Nov-2025 21:04:57 UTC]    Description field in categories: YES
[20-Nov-2025 21:04:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:04:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:04:57 UTC]    Is_active field in books: YES
[20-Nov-2025 21:04:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:04:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:04:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:04:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:04:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:04:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:04:57 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:04:57 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:04:57 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:04:57 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:04:57 UTC] 📊 Database Info:
[20-Nov-2025 21:04:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:04:57 UTC]    Books columns count: 44
[20-Nov-2025 21:04:57 UTC]    Categories columns count: 7
[20-Nov-2025 21:04:57 UTC]    Language field in books: YES
[20-Nov-2025 21:04:57 UTC]    Format field in books: YES
[20-Nov-2025 21:04:57 UTC]    Description field in categories: YES
[20-Nov-2025 21:04:57 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:04:57 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:04:57 UTC]    Is_active field in books: YES
[20-Nov-2025 21:04:57 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:04:57 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:04:57 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:04:57 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:04:57 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:04:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:04:57 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 21:04:57 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 21:05:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:05:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:05:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:05:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:05:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:05:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:05:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:05:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:05:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:05:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:05:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:05:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:05:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:05:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:05:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:05:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:05:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:05:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:05:29 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:05:29 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:05:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:05:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:05:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:05:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:05:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:05:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:05:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:05:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:05:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:05:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:05:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:05:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:05:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:05:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:05:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:05:29 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:05:29 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:05:29 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:05:29 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:05:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:05:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:05:29 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:05:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:05:29 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:05:29 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:05:29 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:05:29 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:05:29 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:05:29 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:05:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:05:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:05:29 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:05:29 UTC] 📊 Database Info:
[20-Nov-2025 21:05:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:05:29 UTC]    Books columns count: 44
[20-Nov-2025 21:05:29 UTC]    Categories columns count: 7
[20-Nov-2025 21:05:29 UTC]    Language field in books: YES
[20-Nov-2025 21:05:29 UTC]    Format field in books: YES
[20-Nov-2025 21:05:29 UTC]    Description field in categories: YES
[20-Nov-2025 21:05:29 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:05:29 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:05:29 UTC]    Is_active field in books: YES
[20-Nov-2025 21:05:29 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:05:29 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:05:29 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:05:29 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:05:29 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:05:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:05:29 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 21:05:29 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 21:05:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:05:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:05:29 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:05:29 UTC] 📊 Database Info:
[20-Nov-2025 21:05:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:05:29 UTC]    Books columns count: 44
[20-Nov-2025 21:05:29 UTC]    Categories columns count: 7
[20-Nov-2025 21:05:29 UTC]    Language field in books: YES
[20-Nov-2025 21:05:29 UTC]    Format field in books: YES
[20-Nov-2025 21:05:29 UTC]    Description field in categories: YES
[20-Nov-2025 21:05:29 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:05:29 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:05:29 UTC]    Is_active field in books: YES
[20-Nov-2025 21:05:29 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:05:29 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:05:29 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:05:29 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:05:29 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:05:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:05:29 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:05:29 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:05:29 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:05:29 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:05:29 UTC] 📊 Database Info:
[20-Nov-2025 21:05:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:05:29 UTC]    Books columns count: 44
[20-Nov-2025 21:05:29 UTC]    Categories columns count: 7
[20-Nov-2025 21:05:29 UTC]    Language field in books: YES
[20-Nov-2025 21:05:29 UTC]    Format field in books: YES
[20-Nov-2025 21:05:29 UTC]    Description field in categories: YES
[20-Nov-2025 21:05:29 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:05:29 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:05:29 UTC]    Is_active field in books: YES
[20-Nov-2025 21:05:29 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:05:29 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:05:29 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:05:29 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:05:29 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:05:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:05:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:05:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:05:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:05:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:05:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:05:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:05:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:05:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:05:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:05:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:05:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:05:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:05:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:05:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:05:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:05:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:05:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:05:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:05:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:05:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:05:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:05:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:05:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:05:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:05:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:05:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:05:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:05:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:05:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:05:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:05:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:05:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:05:30 UTC] 📊 Database Info:
[20-Nov-2025 21:05:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:05:30 UTC]    Books columns count: 44
[20-Nov-2025 21:05:30 UTC]    Categories columns count: 7
[20-Nov-2025 21:05:30 UTC]    Language field in books: YES
[20-Nov-2025 21:05:30 UTC]    Format field in books: YES
[20-Nov-2025 21:05:30 UTC]    Description field in categories: YES
[20-Nov-2025 21:05:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:05:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:05:30 UTC]    Is_active field in books: YES
[20-Nov-2025 21:05:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:05:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:05:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:05:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:05:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:05:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:05:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:05:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:05:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:05:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:05:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:05:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:05:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:05:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:05:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:05:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:05:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:05:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:05:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:05:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:05:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:05:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:05:48 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:05:48 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:05:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:05:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:05:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:05:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:05:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:05:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:05:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:05:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:05:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:05:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:05:48 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:05:48 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:05:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:05:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:05:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:05:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:05:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:05:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:05:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:05:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:05:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:05:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:05:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:05:48 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:05:48 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:05:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:05:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:05:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:05:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:05:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:05:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:05:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:05:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:05:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:05:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:05:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:05:48 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:05:48 UTC] 📊 Database Info:
[20-Nov-2025 21:05:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:05:48 UTC]    Books columns count: 44
[20-Nov-2025 21:05:48 UTC]    Categories columns count: 7
[20-Nov-2025 21:05:48 UTC]    Language field in books: YES
[20-Nov-2025 21:05:48 UTC]    Format field in books: YES
[20-Nov-2025 21:05:48 UTC]    Description field in categories: YES
[20-Nov-2025 21:05:48 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:05:48 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:05:48 UTC]    Is_active field in books: YES
[20-Nov-2025 21:05:48 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:05:48 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:05:48 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:05:48 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:05:48 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:05:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:05:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:05:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:05:48 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:05:48 UTC] 📊 Database Info:
[20-Nov-2025 21:05:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:05:48 UTC]    Books columns count: 44
[20-Nov-2025 21:05:48 UTC]    Categories columns count: 7
[20-Nov-2025 21:05:48 UTC]    Language field in books: YES
[20-Nov-2025 21:05:48 UTC]    Format field in books: YES
[20-Nov-2025 21:05:48 UTC]    Description field in categories: YES
[20-Nov-2025 21:05:48 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:05:48 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:05:48 UTC]    Is_active field in books: YES
[20-Nov-2025 21:05:48 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:05:48 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:05:48 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:05:48 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:05:48 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:05:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:05:48 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 21:05:48 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 21:05:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:05:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:05:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:05:48 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:05:48 UTC] 📊 Database Info:
[20-Nov-2025 21:05:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:05:48 UTC]    Books columns count: 44
[20-Nov-2025 21:05:48 UTC]    Categories columns count: 7
[20-Nov-2025 21:05:48 UTC]    Language field in books: YES
[20-Nov-2025 21:05:48 UTC]    Format field in books: YES
[20-Nov-2025 21:05:48 UTC]    Description field in categories: YES
[20-Nov-2025 21:05:48 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:05:48 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:05:48 UTC]    Is_active field in books: YES
[20-Nov-2025 21:05:48 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:05:48 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:05:48 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:05:48 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:05:48 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:05:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:06:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:06:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:06:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:06:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:06:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:06:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:06:04 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:06:04 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:06:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:06:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:06:04 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:06:04 UTC] 📊 Database Info:
[20-Nov-2025 21:06:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:06:04 UTC]    Books columns count: 44
[20-Nov-2025 21:06:04 UTC]    Categories columns count: 7
[20-Nov-2025 21:06:04 UTC]    Language field in books: YES
[20-Nov-2025 21:06:04 UTC]    Format field in books: YES
[20-Nov-2025 21:06:04 UTC]    Description field in categories: YES
[20-Nov-2025 21:06:04 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:06:04 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:06:04 UTC]    Is_active field in books: YES
[20-Nov-2025 21:06:04 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:06:04 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:06:04 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:06:04 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:06:04 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:06:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:06:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:06:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:06:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:06:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:06:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:06:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:06:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:06:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:06:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:06:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:06:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:06:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:06:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:06:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:06:04 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:06:04 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:06:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:06:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:06:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:06:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:06:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:06:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:06:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:06:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:06:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:06:04 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:06:04 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:06:04 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:06:04 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:06:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:06:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:06:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:06:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:06:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:06:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:06:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:06:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:06:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:06:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:06:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:06:04 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:06:04 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:06:04 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:06:04 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:06:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:06:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:06:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:06:04 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:06:04 UTC] 📊 Database Info:
[20-Nov-2025 21:06:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:06:04 UTC]    Books columns count: 44
[20-Nov-2025 21:06:04 UTC]    Categories columns count: 7
[20-Nov-2025 21:06:04 UTC]    Language field in books: YES
[20-Nov-2025 21:06:04 UTC]    Format field in books: YES
[20-Nov-2025 21:06:04 UTC]    Description field in categories: YES
[20-Nov-2025 21:06:04 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:06:04 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:06:04 UTC]    Is_active field in books: YES
[20-Nov-2025 21:06:04 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:06:04 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:06:04 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:06:04 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:06:04 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:06:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:06:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:06:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:06:04 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:06:04 UTC] 📊 Database Info:
[20-Nov-2025 21:06:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:06:04 UTC]    Books columns count: 44
[20-Nov-2025 21:06:04 UTC]    Categories columns count: 7
[20-Nov-2025 21:06:04 UTC]    Language field in books: YES
[20-Nov-2025 21:06:04 UTC]    Format field in books: YES
[20-Nov-2025 21:06:04 UTC]    Description field in categories: YES
[20-Nov-2025 21:06:04 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:06:04 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:06:04 UTC]    Is_active field in books: YES
[20-Nov-2025 21:06:04 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:06:04 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:06:04 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:06:04 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:06:04 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:06:04 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:06:04 UTC] 📊 Database Info:
[20-Nov-2025 21:06:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:06:04 UTC]    Books columns count: 44
[20-Nov-2025 21:06:04 UTC]    Categories columns count: 7
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:06:04 UTC]    Language field in books: YES
[20-Nov-2025 21:06:04 UTC]    Format field in books: YES
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:06:04 UTC]    Description field in categories: YES
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:06:04 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:06:04 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:06:04 UTC]    Is_active field in books: YES
[20-Nov-2025 21:06:04 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:06:04 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:06:04 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:06:04 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:06:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:06:04 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 21:06:04 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 21:06:04 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:06:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:06:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:06:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:06:04 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:06:04 UTC] 📊 Database Info:
[20-Nov-2025 21:06:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:06:04 UTC]    Books columns count: 44
[20-Nov-2025 21:06:04 UTC]    Categories columns count: 7
[20-Nov-2025 21:06:04 UTC]    Language field in books: YES
[20-Nov-2025 21:06:04 UTC]    Format field in books: YES
[20-Nov-2025 21:06:04 UTC]    Description field in categories: YES
[20-Nov-2025 21:06:04 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:06:04 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:06:04 UTC]    Is_active field in books: YES
[20-Nov-2025 21:06:04 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:06:04 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:06:04 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:06:04 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:06:04 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:06:04 UTC] 📊 Database Info:
[20-Nov-2025 21:06:04 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:06:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:06:04 UTC]    Books columns count: 44
[20-Nov-2025 21:06:04 UTC]    Categories columns count: 7
[20-Nov-2025 21:06:04 UTC]    Language field in books: YES
[20-Nov-2025 21:06:04 UTC]    Format field in books: YES
[20-Nov-2025 21:06:04 UTC]    Description field in categories: YES
[20-Nov-2025 21:06:04 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:06:04 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:06:04 UTC]    Is_active field in books: YES
[20-Nov-2025 21:06:04 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:06:04 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:06:04 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:06:04 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:06:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:06:04 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:06:04 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:06:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:06:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:06:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:06:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:06:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:06:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:06:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:06:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:06:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:06:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:06:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:06:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:06:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:06:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:06:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:06:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:06:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:06:06 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:06:06 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:06:06 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:06:06 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:06:06 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:06:06 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:06:06 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:06:06 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:06:06 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:06:06 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:06:06 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:06:06 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:06:06 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:06:06 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:06:06 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:06:06 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:06:06 UTC] 📊 Database Info:
[20-Nov-2025 21:06:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:06:06 UTC]    Books columns count: 44
[20-Nov-2025 21:06:06 UTC]    Categories columns count: 7
[20-Nov-2025 21:06:06 UTC]    Language field in books: YES
[20-Nov-2025 21:06:06 UTC]    Format field in books: YES
[20-Nov-2025 21:06:06 UTC]    Description field in categories: YES
[20-Nov-2025 21:06:06 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:06:06 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:06:06 UTC]    Is_active field in books: YES
[20-Nov-2025 21:06:06 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:06:06 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:06:06 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:06:06 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:06:06 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:06:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:08:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:08:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:08:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:08:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:26 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:08:26 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:08:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:08:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:08:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:08:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:08:26 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:26 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:08:26 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:08:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:08:26 UTC] 📊 Database Info:
[20-Nov-2025 21:08:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:08:26 UTC]    Books columns count: 44
[20-Nov-2025 21:08:26 UTC]    Categories columns count: 7
[20-Nov-2025 21:08:26 UTC]    Language field in books: YES
[20-Nov-2025 21:08:26 UTC]    Format field in books: YES
[20-Nov-2025 21:08:26 UTC]    Description field in categories: YES
[20-Nov-2025 21:08:26 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:08:26 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:08:26 UTC]    Is_active field in books: YES
[20-Nov-2025 21:08:26 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:08:26 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:08:26 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:08:26 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:08:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:08:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:08:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:08:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:26 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:08:26 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:08:26 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:08:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:26 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:08:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:26 UTC] 📊 Database Info:
[20-Nov-2025 21:08:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:08:26 UTC]    Books columns count: 44
[20-Nov-2025 21:08:26 UTC]    Categories columns count: 7
[20-Nov-2025 21:08:26 UTC]    Language field in books: YES
[20-Nov-2025 21:08:26 UTC]    Format field in books: YES
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:26 UTC]    Description field in categories: YES
[20-Nov-2025 21:08:26 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:26 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:08:26 UTC]    Is_active field in books: YES
[20-Nov-2025 21:08:26 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:08:26 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:08:26 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:08:26 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:26 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:08:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:08:26 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 21:08:26 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 21:08:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:08:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:26 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:08:26 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:08:26 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:26 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:26 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:26 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:26 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:26 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:08:26 UTC] 📊 Database Info:
[20-Nov-2025 21:08:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:08:26 UTC]    Books columns count: 44
[20-Nov-2025 21:08:26 UTC]    Categories columns count: 7
[20-Nov-2025 21:08:26 UTC]    Language field in books: YES
[20-Nov-2025 21:08:26 UTC]    Format field in books: YES
[20-Nov-2025 21:08:26 UTC]    Description field in categories: YES
[20-Nov-2025 21:08:26 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:08:26 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:08:26 UTC]    Is_active field in books: YES
[20-Nov-2025 21:08:26 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:08:26 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:08:26 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:08:26 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:08:26 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:08:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:08:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:26 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:08:26 UTC] 📊 Database Info:
[20-Nov-2025 21:08:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:08:26 UTC]    Books columns count: 44
[20-Nov-2025 21:08:26 UTC]    Categories columns count: 7
[20-Nov-2025 21:08:26 UTC]    Language field in books: YES
[20-Nov-2025 21:08:26 UTC]    Format field in books: YES
[20-Nov-2025 21:08:26 UTC]    Description field in categories: YES
[20-Nov-2025 21:08:26 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:08:26 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:08:26 UTC]    Is_active field in books: YES
[20-Nov-2025 21:08:26 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:08:26 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:08:26 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:08:26 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:08:26 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:08:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:08:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:26 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:08:26 UTC] 📊 Database Info:
[20-Nov-2025 21:08:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:08:26 UTC]    Books columns count: 44
[20-Nov-2025 21:08:26 UTC]    Categories columns count: 7
[20-Nov-2025 21:08:26 UTC]    Language field in books: YES
[20-Nov-2025 21:08:26 UTC]    Format field in books: YES
[20-Nov-2025 21:08:26 UTC]    Description field in categories: YES
[20-Nov-2025 21:08:26 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:08:26 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:08:26 UTC]    Is_active field in books: YES
[20-Nov-2025 21:08:26 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:08:26 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:08:26 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:08:26 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:08:26 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:08:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:08:26 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:26 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:26 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:26 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:08:26 UTC] 📊 Database Info:
[20-Nov-2025 21:08:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:08:26 UTC]    Books columns count: 44
[20-Nov-2025 21:08:26 UTC]    Categories columns count: 7
[20-Nov-2025 21:08:26 UTC]    Language field in books: YES
[20-Nov-2025 21:08:26 UTC]    Format field in books: YES
[20-Nov-2025 21:08:26 UTC]    Description field in categories: YES
[20-Nov-2025 21:08:26 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:08:26 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:08:26 UTC]    Is_active field in books: YES
[20-Nov-2025 21:08:26 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:08:26 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:08:26 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:08:26 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:08:26 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:08:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:08:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:08:26 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 21:08:26 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 21:08:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:08:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:08:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:08:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:08:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:08:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:08:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:08:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:08:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:08:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:08:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:08:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:08:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:08:54 UTC] 📊 Database Info:
[20-Nov-2025 21:08:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:08:54 UTC]    Books columns count: 44
[20-Nov-2025 21:08:54 UTC]    Categories columns count: 7
[20-Nov-2025 21:08:54 UTC]    Language field in books: YES
[20-Nov-2025 21:08:54 UTC]    Format field in books: YES
[20-Nov-2025 21:08:54 UTC]    Description field in categories: YES
[20-Nov-2025 21:08:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:08:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:08:54 UTC]    Is_active field in books: YES
[20-Nov-2025 21:08:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:08:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:08:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:08:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:08:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:08:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:08:54 UTC] 📊 Database Info:
[20-Nov-2025 21:08:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:08:54 UTC]    Books columns count: 44
[20-Nov-2025 21:08:54 UTC]    Categories columns count: 7
[20-Nov-2025 21:08:54 UTC]    Language field in books: YES
[20-Nov-2025 21:08:54 UTC]    Format field in books: YES
[20-Nov-2025 21:08:54 UTC]    Description field in categories: YES
[20-Nov-2025 21:08:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:08:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:08:54 UTC]    Is_active field in books: YES
[20-Nov-2025 21:08:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:08:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:08:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:08:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:08:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:08:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:08:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:08:54 UTC] 📊 Database Info:
[20-Nov-2025 21:08:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:08:54 UTC]    Books columns count: 44
[20-Nov-2025 21:08:54 UTC]    Categories columns count: 7
[20-Nov-2025 21:08:54 UTC]    Language field in books: YES
[20-Nov-2025 21:08:54 UTC]    Format field in books: YES
[20-Nov-2025 21:08:54 UTC]    Description field in categories: YES
[20-Nov-2025 21:08:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:08:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:08:54 UTC]    Is_active field in books: YES
[20-Nov-2025 21:08:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:08:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:08:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:08:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:08:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:08:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:08:54 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 21:08:54 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 21:08:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:08:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:08:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:08:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:56 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:08:56 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:08:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:08:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:56 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:08:56 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:08:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:08:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:08:56 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:08:56 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:08:56 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:08:56 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:08:56 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:08:56 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:08:56 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:08:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:56 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:08:56 UTC] 📊 Database Info:
[20-Nov-2025 21:08:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:08:56 UTC]    Books columns count: 44
[20-Nov-2025 21:08:56 UTC]    Categories columns count: 7
[20-Nov-2025 21:08:56 UTC]    Language field in books: YES
[20-Nov-2025 21:08:56 UTC]    Format field in books: YES
[20-Nov-2025 21:08:56 UTC]    Description field in categories: YES
[20-Nov-2025 21:08:56 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:08:56 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:08:56 UTC]    Is_active field in books: YES
[20-Nov-2025 21:08:56 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:08:56 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:08:56 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:08:56 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:08:56 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:08:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:08:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:56 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:08:56 UTC] 📊 Database Info:
[20-Nov-2025 21:08:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:08:56 UTC]    Books columns count: 44
[20-Nov-2025 21:08:56 UTC]    Categories columns count: 7
[20-Nov-2025 21:08:56 UTC]    Language field in books: YES
[20-Nov-2025 21:08:56 UTC]    Format field in books: YES
[20-Nov-2025 21:08:56 UTC]    Description field in categories: YES
[20-Nov-2025 21:08:56 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:08:56 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:08:56 UTC]    Is_active field in books: YES
[20-Nov-2025 21:08:56 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:08:56 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:08:56 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:08:56 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:08:56 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:08:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:08:56 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 21:08:56 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 21:08:56 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:08:56 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:08:56 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:08:56 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:08:56 UTC] 📊 Database Info:
[20-Nov-2025 21:08:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:08:56 UTC]    Books columns count: 44
[20-Nov-2025 21:08:56 UTC]    Categories columns count: 7
[20-Nov-2025 21:08:56 UTC]    Language field in books: YES
[20-Nov-2025 21:08:56 UTC]    Format field in books: YES
[20-Nov-2025 21:08:56 UTC]    Description field in categories: YES
[20-Nov-2025 21:08:56 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:08:56 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:08:56 UTC]    Is_active field in books: YES
[20-Nov-2025 21:08:56 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:08:56 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:08:56 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:08:56 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:08:56 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:08:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:09:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:09:10 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:09:10 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:09:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:09:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:09:10 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:09:10 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:09:10 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:09:10 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:09:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:09:10 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:09:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:09:10 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:09:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:09:10 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:09:10 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:09:10 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:09:10 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:09:10 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:09:10 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:09:10 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:09:10 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:09:10 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:09:10 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:09:10 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:09:10 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:09:10 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:09:10 UTC] 📊 Database Info:
[20-Nov-2025 21:09:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:09:10 UTC]    Books columns count: 44
[20-Nov-2025 21:09:10 UTC]    Categories columns count: 7
[20-Nov-2025 21:09:10 UTC]    Language field in books: YES
[20-Nov-2025 21:09:10 UTC]    Format field in books: YES
[20-Nov-2025 21:09:10 UTC]    Description field in categories: YES
[20-Nov-2025 21:09:10 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:09:10 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:09:10 UTC]    Is_active field in books: YES
[20-Nov-2025 21:09:10 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:09:10 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:09:10 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:09:10 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:09:10 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:09:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:09:10 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 21:09:10 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 21:09:10 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:09:10 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:09:10 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:09:10 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:09:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:09:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:09:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:09:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:09:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:09:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:09:10 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:09:10 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:09:10 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:09:10 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:09:10 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:09:10 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:09:10 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:09:10 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:09:10 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:09:10 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:09:10 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:09:10 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:09:10 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:09:10 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:09:10 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:09:10 UTC] 📊 Database Info:
[20-Nov-2025 21:09:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:09:10 UTC]    Books columns count: 44
[20-Nov-2025 21:09:10 UTC]    Categories columns count: 7
[20-Nov-2025 21:09:10 UTC]    Language field in books: YES
[20-Nov-2025 21:09:10 UTC]    Format field in books: YES
[20-Nov-2025 21:09:10 UTC]    Description field in categories: YES
[20-Nov-2025 21:09:10 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:09:10 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:09:10 UTC]    Is_active field in books: YES
[20-Nov-2025 21:09:10 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:09:10 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:09:10 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:09:10 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:09:10 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:09:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:09:10 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:09:10 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:09:10 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:09:10 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:09:10 UTC] 📊 Database Info:
[20-Nov-2025 21:09:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:09:10 UTC]    Books columns count: 44
[20-Nov-2025 21:09:10 UTC]    Categories columns count: 7
[20-Nov-2025 21:09:10 UTC]    Language field in books: YES
[20-Nov-2025 21:09:10 UTC]    Format field in books: YES
[20-Nov-2025 21:09:10 UTC]    Description field in categories: YES
[20-Nov-2025 21:09:10 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:09:10 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:09:10 UTC]    Is_active field in books: YES
[20-Nov-2025 21:09:10 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:09:10 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:09:10 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:09:10 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:09:10 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:09:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:09:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:10:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:10:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:10:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:10:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:10:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:10:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:10:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:10:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:10:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:10:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:10:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:10:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:10:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:10:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:10:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:10:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:10:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:10:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:10:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:10:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:10:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:10:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:10:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:10:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:10:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:10:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:10:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:10:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:10:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:10:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:10:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:10:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:10:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:10:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:10:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:10:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:10:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:10:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:10:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:10:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:10:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:10:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:10:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:10:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:10:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:10:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:10:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:10:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:10:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:10:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:10:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:10:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:10:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:10:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:10:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:10:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:10:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:10:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:10:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:10:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:10:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:10:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:10:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:10:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:10:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:10:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:10:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:10:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:10:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:10:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:10:46 UTC] 📊 Database Info:
[20-Nov-2025 21:10:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:10:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:10:46 UTC]    Books columns count: 44
[20-Nov-2025 21:10:46 UTC]    Categories columns count: 7
[20-Nov-2025 21:10:46 UTC]    Language field in books: YES
[20-Nov-2025 21:10:46 UTC]    Format field in books: YES
[20-Nov-2025 21:10:46 UTC]    Description field in categories: YES
[20-Nov-2025 21:10:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:10:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:10:46 UTC]    Is_active field in books: YES
[20-Nov-2025 21:10:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:10:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:10:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:10:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:10:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:10:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:10:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:10:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:10:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:10:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 21:10:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 21:10:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:10:46 UTC] 📊 Database Info:
[20-Nov-2025 21:10:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:10:46 UTC]    Books columns count: 44
[20-Nov-2025 21:10:46 UTC]    Categories columns count: 7
[20-Nov-2025 21:10:46 UTC]    Language field in books: YES
[20-Nov-2025 21:10:46 UTC]    Format field in books: YES
[20-Nov-2025 21:10:46 UTC]    Description field in categories: YES
[20-Nov-2025 21:10:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:10:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:10:46 UTC]    Is_active field in books: YES
[20-Nov-2025 21:10:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:10:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:10:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:10:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:10:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:10:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:10:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 21:10:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 21:10:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 21:10:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:10:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:10:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:10:46 UTC] 📊 Database Info:
[20-Nov-2025 21:10:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:10:46 UTC]    Books columns count: 44
[20-Nov-2025 21:10:46 UTC]    Categories columns count: 7
[20-Nov-2025 21:10:46 UTC]    Language field in books: YES
[20-Nov-2025 21:10:46 UTC]    Format field in books: YES
[20-Nov-2025 21:10:46 UTC]    Description field in categories: YES
[20-Nov-2025 21:10:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:10:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:10:46 UTC]    Is_active field in books: YES
[20-Nov-2025 21:10:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:10:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:10:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:10:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:10:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:10:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:10:46 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 21:10:46 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 21:10:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:10:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:10:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:10:46 UTC] 📊 Database Info:
[20-Nov-2025 21:10:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:10:46 UTC]    Books columns count: 44
[20-Nov-2025 21:10:46 UTC]    Categories columns count: 7
[20-Nov-2025 21:10:46 UTC]    Language field in books: YES
[20-Nov-2025 21:10:46 UTC]    Format field in books: YES
[20-Nov-2025 21:10:46 UTC]    Description field in categories: YES
[20-Nov-2025 21:10:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:10:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:10:46 UTC]    Is_active field in books: YES
[20-Nov-2025 21:10:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:10:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:10:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:10:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:10:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:10:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:10:46 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 21:10:46 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 21:10:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:10:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:10:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:10:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 21:10:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 21:10:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:10:46 UTC] 📊 Database Info:
[20-Nov-2025 21:10:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:10:46 UTC]    Books columns count: 44
[20-Nov-2025 21:10:46 UTC]    Categories columns count: 7
[20-Nov-2025 21:10:46 UTC]    Language field in books: YES
[20-Nov-2025 21:10:46 UTC]    Format field in books: YES
[20-Nov-2025 21:10:46 UTC]    Description field in categories: YES
[20-Nov-2025 21:10:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:10:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:10:46 UTC]    Is_active field in books: YES
[20-Nov-2025 21:10:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:10:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:10:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:10:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:10:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 21:10:46 UTC] 📊 Database Info:
[20-Nov-2025 21:10:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:10:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 21:10:46 UTC]    Books columns count: 44
[20-Nov-2025 21:10:46 UTC]    Categories columns count: 7
[20-Nov-2025 21:10:46 UTC]    Language field in books: YES
[20-Nov-2025 21:10:46 UTC]    Format field in books: YES
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:10:46 UTC]    Description field in categories: YES
[20-Nov-2025 21:10:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 21:10:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 21:10:46 UTC]    Is_active field in books: YES
[20-Nov-2025 21:10:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 21:10:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 21:10:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 21:10:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:10:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 21:10:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 21:10:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:31:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:31:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:31:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:31:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:31:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:38 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:31:38 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:31:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:31:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:38 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:31:38 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:31:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:38 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:31:38 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:31:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:38 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:31:38 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:31:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:31:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:38 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:31:38 UTC] 📊 Database Info:
[20-Nov-2025 22:31:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:31:38 UTC]    Books columns count: 44
[20-Nov-2025 22:31:38 UTC]    Categories columns count: 7
[20-Nov-2025 22:31:38 UTC]    Language field in books: YES
[20-Nov-2025 22:31:38 UTC]    Format field in books: YES
[20-Nov-2025 22:31:38 UTC]    Description field in categories: YES
[20-Nov-2025 22:31:38 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:31:38 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:31:38 UTC]    Is_active field in books: YES
[20-Nov-2025 22:31:38 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:31:38 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:31:38 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:31:38 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:31:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:31:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:31:38 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 22:31:38 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:38 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:31:38 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:31:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:31:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:38 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:31:38 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:38 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:38 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:38 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:38 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:31:38 UTC] 📊 Database Info:
[20-Nov-2025 22:31:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:31:38 UTC]    Books columns count: 44
[20-Nov-2025 22:31:38 UTC]    Categories columns count: 7
[20-Nov-2025 22:31:38 UTC]    Language field in books: YES
[20-Nov-2025 22:31:38 UTC]    Format field in books: YES
[20-Nov-2025 22:31:38 UTC]    Description field in categories: YES
[20-Nov-2025 22:31:38 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:31:38 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:31:38 UTC]    Is_active field in books: YES
[20-Nov-2025 22:31:38 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:31:38 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:31:38 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:31:38 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:31:38 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:31:38 UTC] 📊 Database Info:
[20-Nov-2025 22:31:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:31:38 UTC]    Books columns count: 44
[20-Nov-2025 22:31:38 UTC]    Categories columns count: 7
[20-Nov-2025 22:31:38 UTC]    Language field in books: YES
[20-Nov-2025 22:31:38 UTC]    Format field in books: YES
[20-Nov-2025 22:31:38 UTC]    Description field in categories: YES
[20-Nov-2025 22:31:38 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:31:38 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:31:38 UTC]    Is_active field in books: YES
[20-Nov-2025 22:31:38 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:31:38 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:31:38 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:31:38 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:31:38 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:31:38 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:31:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:31:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:31:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:38 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:31:38 UTC] 📊 Database Info:
[20-Nov-2025 22:31:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:31:38 UTC]    Books columns count: 44
[20-Nov-2025 22:31:38 UTC]    Categories columns count: 7
[20-Nov-2025 22:31:38 UTC]    Language field in books: YES
[20-Nov-2025 22:31:38 UTC]    Format field in books: YES
[20-Nov-2025 22:31:38 UTC]    Description field in categories: YES
[20-Nov-2025 22:31:38 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:31:38 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:31:38 UTC]    Is_active field in books: YES
[20-Nov-2025 22:31:38 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:31:38 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:31:38 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:31:38 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:31:38 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:31:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:31:38 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 22:31:38 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 22:31:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:38 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:31:38 UTC] 📊 Database Info:
[20-Nov-2025 22:31:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:31:38 UTC]    Books columns count: 44
[20-Nov-2025 22:31:38 UTC]    Categories columns count: 7
[20-Nov-2025 22:31:38 UTC]    Language field in books: YES
[20-Nov-2025 22:31:38 UTC]    Format field in books: YES
[20-Nov-2025 22:31:38 UTC]    Description field in categories: YES
[20-Nov-2025 22:31:38 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:31:38 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:31:38 UTC]    Is_active field in books: YES
[20-Nov-2025 22:31:38 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:31:38 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:31:38 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:31:38 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:31:38 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:31:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:31:38 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:38 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:31:38 UTC] 📊 Database Info:
[20-Nov-2025 22:31:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:31:38 UTC]    Books columns count: 44
[20-Nov-2025 22:31:38 UTC]    Categories columns count: 7
[20-Nov-2025 22:31:38 UTC]    Language field in books: YES
[20-Nov-2025 22:31:38 UTC]    Format field in books: YES
[20-Nov-2025 22:31:38 UTC]    Description field in categories: YES
[20-Nov-2025 22:31:38 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:31:38 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:31:38 UTC]    Is_active field in books: YES
[20-Nov-2025 22:31:38 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:31:38 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:31:38 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:31:38 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:31:38 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:31:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:31:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:31:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:31:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:40 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:31:40 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:31:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:40 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:31:40 UTC] 📊 Database Info:
[20-Nov-2025 22:31:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:31:40 UTC]    Books columns count: 44
[20-Nov-2025 22:31:40 UTC]    Categories columns count: 7
[20-Nov-2025 22:31:40 UTC]    Language field in books: YES
[20-Nov-2025 22:31:40 UTC]    Format field in books: YES
[20-Nov-2025 22:31:40 UTC]    Description field in categories: YES
[20-Nov-2025 22:31:40 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:31:40 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:31:40 UTC]    Is_active field in books: YES
[20-Nov-2025 22:31:40 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:31:40 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:31:40 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:31:40 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:31:40 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:31:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:31:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:31:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:31:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:31:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:31:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:31:54 UTC] 📊 Database Info:
[20-Nov-2025 22:31:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:31:54 UTC]    Books columns count: 44
[20-Nov-2025 22:31:54 UTC]    Categories columns count: 7
[20-Nov-2025 22:31:54 UTC]    Language field in books: YES
[20-Nov-2025 22:31:54 UTC]    Format field in books: YES
[20-Nov-2025 22:31:54 UTC]    Description field in categories: YES
[20-Nov-2025 22:31:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:31:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:31:54 UTC]    Is_active field in books: YES
[20-Nov-2025 22:31:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:31:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:31:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:31:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:31:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:31:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:31:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:31:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:31:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:31:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:31:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:31:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:31:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:31:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:31:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:31:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:31:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:31:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:31:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:31:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:31:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:31:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:31:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:31:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:31:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:31:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:31:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:31:58 UTC] 📊 Database Info:
[20-Nov-2025 22:31:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:31:58 UTC]    Books columns count: 44
[20-Nov-2025 22:31:58 UTC]    Categories columns count: 7
[20-Nov-2025 22:31:58 UTC]    Language field in books: YES
[20-Nov-2025 22:31:58 UTC]    Format field in books: YES
[20-Nov-2025 22:31:58 UTC]    Description field in categories: YES
[20-Nov-2025 22:31:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:31:58 UTC]    Is_active field in books: YES
[20-Nov-2025 22:31:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:31:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:31:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:31:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:31:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:31:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:31:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:58 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:58 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:58 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:31:58 UTC] 📊 Database Info:
[20-Nov-2025 22:31:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:31:58 UTC]    Books columns count: 44
[20-Nov-2025 22:31:58 UTC]    Categories columns count: 7
[20-Nov-2025 22:31:58 UTC]    Language field in books: YES
[20-Nov-2025 22:31:58 UTC]    Format field in books: YES
[20-Nov-2025 22:31:58 UTC]    Description field in categories: YES
[20-Nov-2025 22:31:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:31:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:31:58 UTC]    Is_active field in books: YES
[20-Nov-2025 22:31:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:31:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:31:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:31:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:31:58 UTC] 📊 Database Info:
[20-Nov-2025 22:31:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:31:58 UTC]    Books columns count: 44
[20-Nov-2025 22:31:58 UTC]    Categories columns count: 7
[20-Nov-2025 22:31:58 UTC]    Language field in books: YES
[20-Nov-2025 22:31:58 UTC]    Format field in books: YES
[20-Nov-2025 22:31:58 UTC]    Description field in categories: YES
[20-Nov-2025 22:31:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:31:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:31:58 UTC]    Is_active field in books: YES
[20-Nov-2025 22:31:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:31:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:31:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:31:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:31:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:31:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:31:58 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:31:58 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:31:58 UTC] 📊 Database Info:
[20-Nov-2025 22:31:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:31:58 UTC]    Books columns count: 44
[20-Nov-2025 22:31:58 UTC]    Categories columns count: 7
[20-Nov-2025 22:31:58 UTC]    Language field in books: YES
[20-Nov-2025 22:31:58 UTC]    Format field in books: YES
[20-Nov-2025 22:31:58 UTC]    Description field in categories: YES
[20-Nov-2025 22:31:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:31:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:31:58 UTC]    Is_active field in books: YES
[20-Nov-2025 22:31:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:31:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:31:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:31:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:31:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:31:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:31:58 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 22:31:58 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 22:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:31:58 UTC] 📊 Database Info:
[20-Nov-2025 22:31:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:31:58 UTC]    Books columns count: 44
[20-Nov-2025 22:31:58 UTC]    Categories columns count: 7
[20-Nov-2025 22:31:58 UTC]    Language field in books: YES
[20-Nov-2025 22:31:58 UTC]    Format field in books: YES
[20-Nov-2025 22:31:58 UTC]    Description field in categories: YES
[20-Nov-2025 22:31:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:31:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:31:58 UTC]    Is_active field in books: YES
[20-Nov-2025 22:31:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:31:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:31:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:31:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:31:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:31:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:31:58 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:31:58 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:31:58 UTC] 📊 Database Info:
[20-Nov-2025 22:31:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:31:58 UTC]    Books columns count: 44
[20-Nov-2025 22:31:58 UTC]    Categories columns count: 7
[20-Nov-2025 22:31:58 UTC]    Language field in books: YES
[20-Nov-2025 22:31:58 UTC]    Format field in books: YES
[20-Nov-2025 22:31:58 UTC]    Description field in categories: YES
[20-Nov-2025 22:31:58 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:31:58 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:31:58 UTC]    Is_active field in books: YES
[20-Nov-2025 22:31:58 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:31:58 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:31:58 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:31:58 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:31:58 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:31:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:31:58 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 22:31:58 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 22:42:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:42:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:42:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:42:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:42:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:42:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:42:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:42:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:42:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:42:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:42:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:42:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:42:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:42:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:42:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:42:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:42:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:42:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:42:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:42:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:42:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:42:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:42:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:42:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:42:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:42:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:42:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:42:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:42:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:42:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:42:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:42:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:42:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:42:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:42:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:42:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:42:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:42:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:42:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:42:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:42:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:42:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:42:30 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:42:30 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:42:30 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:42:30 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:42:30 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:42:30 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:42:30 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:42:30 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:42:30 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:42:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:42:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:42:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:42:30 UTC] 📊 Database Info:
[20-Nov-2025 22:42:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:42:30 UTC]    Books columns count: 44
[20-Nov-2025 22:42:30 UTC]    Categories columns count: 7
[20-Nov-2025 22:42:30 UTC]    Language field in books: YES
[20-Nov-2025 22:42:30 UTC]    Format field in books: YES
[20-Nov-2025 22:42:30 UTC]    Description field in categories: YES
[20-Nov-2025 22:42:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:42:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:42:30 UTC]    Is_active field in books: YES
[20-Nov-2025 22:42:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:42:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:42:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:42:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:42:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:42:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:42:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:42:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 22:42:30 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:42:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:42:30 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 22:42:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:42:30 UTC] 📊 Database Info:
[20-Nov-2025 22:42:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:42:30 UTC]    Books columns count: 44
[20-Nov-2025 22:42:30 UTC]    Categories columns count: 7
[20-Nov-2025 22:42:30 UTC]    Language field in books: YES
[20-Nov-2025 22:42:30 UTC]    Format field in books: YES
[20-Nov-2025 22:42:30 UTC]    Description field in categories: YES
[20-Nov-2025 22:42:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:42:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:42:30 UTC]    Is_active field in books: YES
[20-Nov-2025 22:42:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:42:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:42:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:42:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:42:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:42:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:42:30 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:42:30 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:42:30 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:42:30 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:42:30 UTC] 📊 Database Info:
[20-Nov-2025 22:42:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:42:30 UTC]    Books columns count: 44
[20-Nov-2025 22:42:30 UTC]    Categories columns count: 7
[20-Nov-2025 22:42:30 UTC]    Language field in books: YES
[20-Nov-2025 22:42:30 UTC]    Format field in books: YES
[20-Nov-2025 22:42:30 UTC]    Description field in categories: YES
[20-Nov-2025 22:42:30 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:42:30 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:42:30 UTC]    Is_active field in books: YES
[20-Nov-2025 22:42:30 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:42:30 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:42:30 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:42:30 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:42:30 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:42:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:42:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:42:30 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 22:42:30 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 22:42:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:42:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:42:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:42:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:42:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:42:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:42:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:42:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:42:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:42:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:42:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:42:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:42:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:42:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:42:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:42:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:42:48 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:42:48 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:42:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:42:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:42:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:42:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:42:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:42:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:42:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:42:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:42:48 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:42:48 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:42:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:42:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:42:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:42:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:42:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:42:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:42:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:42:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:42:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:42:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:42:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:42:48 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:42:48 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:42:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:42:48 UTC] 📊 Database Info:
[20-Nov-2025 22:42:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:42:48 UTC]    Books columns count: 44
[20-Nov-2025 22:42:48 UTC]    Categories columns count: 7
[20-Nov-2025 22:42:48 UTC]    Language field in books: YES
[20-Nov-2025 22:42:48 UTC]    Format field in books: YES
[20-Nov-2025 22:42:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:42:48 UTC]    Description field in categories: YES
[20-Nov-2025 22:42:48 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:42:48 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:42:48 UTC]    Is_active field in books: YES
[20-Nov-2025 22:42:48 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:42:48 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:42:48 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:42:48 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:42:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:42:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:42:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:42:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 22:42:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:42:48 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:42:48 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 22:42:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:42:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:42:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:42:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:42:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:42:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:42:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:42:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:42:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:42:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:42:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:42:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:42:48 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:42:48 UTC] 📊 Database Info:
[20-Nov-2025 22:42:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:42:48 UTC]    Books columns count: 44
[20-Nov-2025 22:42:48 UTC]    Categories columns count: 7
[20-Nov-2025 22:42:48 UTC]    Language field in books: YES
[20-Nov-2025 22:42:48 UTC]    Format field in books: YES
[20-Nov-2025 22:42:48 UTC]    Description field in categories: YES
[20-Nov-2025 22:42:48 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:42:48 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:42:48 UTC]    Is_active field in books: YES
[20-Nov-2025 22:42:48 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:42:48 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:42:48 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:42:48 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:42:48 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:42:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:42:48 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 22:42:48 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 22:42:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:42:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:42:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:42:48 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:42:48 UTC] 📊 Database Info:
[20-Nov-2025 22:42:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:42:48 UTC]    Books columns count: 44
[20-Nov-2025 22:42:48 UTC]    Categories columns count: 7
[20-Nov-2025 22:42:48 UTC]    Language field in books: YES
[20-Nov-2025 22:42:48 UTC]    Format field in books: YES
[20-Nov-2025 22:42:48 UTC]    Description field in categories: YES
[20-Nov-2025 22:42:48 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:42:48 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:42:48 UTC]    Is_active field in books: YES
[20-Nov-2025 22:42:48 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:42:48 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:42:48 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:42:48 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:42:48 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:42:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:42:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:43:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:43:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:43:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:43:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:43:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:43:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:43:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:43:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:43:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:43:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:43:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:43:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:43:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:43:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:43:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:43:04 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:43:04 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:43:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:43:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:43:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:43:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:43:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:43:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:43:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:43:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:43:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:43:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:43:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:43:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:43:04 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:43:04 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:43:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:43:04 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:43:04 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:43:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:43:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:43:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:43:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:43:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:43:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:43:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:43:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:43:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:43:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:43:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:43:04 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:43:04 UTC] 📊 Database Info:
[20-Nov-2025 22:43:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:43:04 UTC]    Books columns count: 44
[20-Nov-2025 22:43:04 UTC]    Categories columns count: 7
[20-Nov-2025 22:43:04 UTC]    Language field in books: YES
[20-Nov-2025 22:43:04 UTC]    Format field in books: YES
[20-Nov-2025 22:43:04 UTC]    Description field in categories: YES
[20-Nov-2025 22:43:04 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:43:04 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:43:04 UTC]    Is_active field in books: YES
[20-Nov-2025 22:43:04 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:43:04 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:43:04 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:43:04 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:43:04 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:43:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:43:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:43:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:43:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:43:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:43:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:43:04 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:43:04 UTC] 📊 Database Info:
[20-Nov-2025 22:43:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:43:04 UTC]    Books columns count: 44
[20-Nov-2025 22:43:04 UTC]    Categories columns count: 7
[20-Nov-2025 22:43:04 UTC]    Language field in books: YES
[20-Nov-2025 22:43:04 UTC]    Format field in books: YES
[20-Nov-2025 22:43:04 UTC]    Description field in categories: YES
[20-Nov-2025 22:43:04 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:43:04 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:43:04 UTC]    Is_active field in books: YES
[20-Nov-2025 22:43:04 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:43:04 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:43:04 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:43:04 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:43:04 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:43:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:43:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 22:43:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 22:43:04 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 22:43:04 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:43:04 UTC] 📊 Database Info:
[20-Nov-2025 22:43:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:43:04 UTC]    Books columns count: 44
[20-Nov-2025 22:43:04 UTC]    Categories columns count: 7
[20-Nov-2025 22:43:04 UTC]    Language field in books: YES
[20-Nov-2025 22:43:04 UTC]    Format field in books: YES
[20-Nov-2025 22:43:04 UTC]    Description field in categories: YES
[20-Nov-2025 22:43:04 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:43:04 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:43:04 UTC]    Is_active field in books: YES
[20-Nov-2025 22:43:04 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:43:04 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:43:04 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:43:04 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:43:04 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:43:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:43:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:43:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 22:43:04 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 22:43:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:43:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:43:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:43:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:43:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:43:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:43:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:43:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:43:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:43:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:43:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:43:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:43:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:43:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:43:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:43:16 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:43:16 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:43:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:43:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:43:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:43:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:43:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:43:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:43:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:43:16 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:43:16 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:43:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:43:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:43:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:43:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:43:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:43:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:43:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:43:16 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:43:16 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:43:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:43:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:43:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:43:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:43:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:43:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:43:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:43:16 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:43:16 UTC] 📊 Database Info:
[20-Nov-2025 22:43:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:43:16 UTC]    Books columns count: 44
[20-Nov-2025 22:43:16 UTC]    Categories columns count: 7
[20-Nov-2025 22:43:16 UTC]    Language field in books: YES
[20-Nov-2025 22:43:16 UTC]    Format field in books: YES
[20-Nov-2025 22:43:16 UTC]    Description field in categories: YES
[20-Nov-2025 22:43:16 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:43:16 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:43:16 UTC]    Is_active field in books: YES
[20-Nov-2025 22:43:16 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:43:16 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:43:16 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:43:16 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:43:16 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:43:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:43:16 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 22:43:16 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 22:43:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:43:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:43:16 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:43:16 UTC] 📊 Database Info:
[20-Nov-2025 22:43:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:43:16 UTC]    Books columns count: 44
[20-Nov-2025 22:43:16 UTC]    Categories columns count: 7
[20-Nov-2025 22:43:16 UTC]    Language field in books: YES
[20-Nov-2025 22:43:16 UTC]    Format field in books: YES
[20-Nov-2025 22:43:16 UTC]    Description field in categories: YES
[20-Nov-2025 22:43:16 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:43:16 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:43:16 UTC]    Is_active field in books: YES
[20-Nov-2025 22:43:16 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:43:16 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:43:16 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:43:16 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:43:16 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:43:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:43:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 22:43:16 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 22:43:16 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 22:43:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:43:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:43:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:43:16 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:43:16 UTC] 📊 Database Info:
[20-Nov-2025 22:43:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:43:16 UTC]    Books columns count: 44
[20-Nov-2025 22:43:16 UTC]    Categories columns count: 7
[20-Nov-2025 22:43:16 UTC]    Language field in books: YES
[20-Nov-2025 22:43:16 UTC]    Format field in books: YES
[20-Nov-2025 22:43:16 UTC]    Description field in categories: YES
[20-Nov-2025 22:43:16 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:43:16 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:43:16 UTC]    Is_active field in books: YES
[20-Nov-2025 22:43:16 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:43:16 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:43:16 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:43:16 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:43:16 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:43:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:43:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:43:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:43:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:43:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:43:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:43:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:43:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:43:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:43:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:43:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:43:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:43:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:43:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:43:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:43:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:43:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:43:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:43:44 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:43:44 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:43:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:43:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:43:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:43:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:43:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:43:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:43:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:43:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:43:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:43:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:43:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:43:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:43:44 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:43:44 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:43:44 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:43:44 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:43:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:43:44 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:43:44 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:43:44 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:43:44 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:43:44 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:43:44 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:43:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:43:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:43:44 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:43:44 UTC] 📊 Database Info:
[20-Nov-2025 22:43:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:43:44 UTC]    Books columns count: 44
[20-Nov-2025 22:43:44 UTC]    Categories columns count: 7
[20-Nov-2025 22:43:44 UTC]    Language field in books: YES
[20-Nov-2025 22:43:44 UTC]    Format field in books: YES
[20-Nov-2025 22:43:44 UTC]    Description field in categories: YES
[20-Nov-2025 22:43:44 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:43:44 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:43:44 UTC]    Is_active field in books: YES
[20-Nov-2025 22:43:44 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:43:44 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:43:44 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:43:44 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:43:44 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:43:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:43:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 22:43:44 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 22:43:44 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 22:43:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:43:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:43:44 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:43:44 UTC] 📊 Database Info:
[20-Nov-2025 22:43:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:43:44 UTC]    Books columns count: 44
[20-Nov-2025 22:43:44 UTC]    Categories columns count: 7
[20-Nov-2025 22:43:44 UTC]    Language field in books: YES
[20-Nov-2025 22:43:44 UTC]    Format field in books: YES
[20-Nov-2025 22:43:44 UTC]    Description field in categories: YES
[20-Nov-2025 22:43:44 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:43:44 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:43:44 UTC]    Is_active field in books: YES
[20-Nov-2025 22:43:44 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:43:44 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:43:44 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:43:44 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:43:44 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:43:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:43:44 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 22:43:44 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 22:43:44 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:43:44 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:43:44 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:43:44 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:43:44 UTC] 📊 Database Info:
[20-Nov-2025 22:43:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:43:44 UTC]    Books columns count: 44
[20-Nov-2025 22:43:44 UTC]    Categories columns count: 7
[20-Nov-2025 22:43:44 UTC]    Language field in books: YES
[20-Nov-2025 22:43:44 UTC]    Format field in books: YES
[20-Nov-2025 22:43:44 UTC]    Description field in categories: YES
[20-Nov-2025 22:43:44 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:43:44 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:43:44 UTC]    Is_active field in books: YES
[20-Nov-2025 22:43:44 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:43:44 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:43:44 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:43:44 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:43:44 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:43:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:43:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:44:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:44:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:44:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:44:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:44:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:44:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:44:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:44:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:44:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:44:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:44:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:44:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:44:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:44:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:44:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:44:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:44:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:44:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:44:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:44:35 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:44:35 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:44:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:44:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:44:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:44:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:44:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:44:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:44:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:44:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:44:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:44:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:44:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:44:35 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:44:35 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:44:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:44:35 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:44:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:44:35 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:44:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:44:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:44:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:44:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:44:35 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:44:35 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:44:35 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:44:35 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:44:35 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:44:35 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:44:35 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:44:35 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:44:35 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:44:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:44:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:44:35 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:44:35 UTC] 📊 Database Info:
[20-Nov-2025 22:44:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:44:35 UTC]    Books columns count: 44
[20-Nov-2025 22:44:35 UTC]    Categories columns count: 7
[20-Nov-2025 22:44:35 UTC]    Language field in books: YES
[20-Nov-2025 22:44:35 UTC]    Format field in books: YES
[20-Nov-2025 22:44:35 UTC]    Description field in categories: YES
[20-Nov-2025 22:44:35 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:44:35 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:44:35 UTC]    Is_active field in books: YES
[20-Nov-2025 22:44:35 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:44:35 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:44:35 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:44:35 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:44:35 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:44:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:44:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 22:44:35 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 22:44:35 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 22:44:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:44:35 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:44:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:44:35 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:44:35 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:44:35 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:44:35 UTC] 📊 Database Info:
[20-Nov-2025 22:44:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:44:35 UTC]    Books columns count: 44
[20-Nov-2025 22:44:35 UTC]    Categories columns count: 7
[20-Nov-2025 22:44:35 UTC]    Language field in books: YES
[20-Nov-2025 22:44:35 UTC]    Format field in books: YES
[20-Nov-2025 22:44:35 UTC]    Description field in categories: YES
[20-Nov-2025 22:44:35 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:44:35 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:44:35 UTC]    Is_active field in books: YES
[20-Nov-2025 22:44:35 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:44:35 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:44:35 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:44:35 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:44:35 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:44:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:44:35 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 22:44:35 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 22:44:35 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:44:35 UTC] 📊 Database Info:
[20-Nov-2025 22:44:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:44:35 UTC]    Books columns count: 44
[20-Nov-2025 22:44:35 UTC]    Categories columns count: 7
[20-Nov-2025 22:44:35 UTC]    Language field in books: YES
[20-Nov-2025 22:44:35 UTC]    Format field in books: YES
[20-Nov-2025 22:44:35 UTC]    Description field in categories: YES
[20-Nov-2025 22:44:35 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:44:35 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:44:35 UTC]    Is_active field in books: YES
[20-Nov-2025 22:44:35 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:44:35 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:44:35 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:44:35 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:44:35 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:44:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:44:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:44:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:44:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:44:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:44:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:44:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:44:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:44:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:44:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:44:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:44:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:44:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:44:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:44:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:44:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:44:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:44:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:44:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:44:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:44:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:44:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:44:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:44:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:44:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:44:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:44:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:44:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:44:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:44:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:44:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:44:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:44:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:44:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:44:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:44:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:44:46 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:44:46 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:44:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:44:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:44:46 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:44:46 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:44:46 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:44:46 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:44:46 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:44:46 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:44:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:44:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:44:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:44:46 UTC] 📊 Database Info:
[20-Nov-2025 22:44:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:44:46 UTC]    Books columns count: 44
[20-Nov-2025 22:44:46 UTC]    Categories columns count: 7
[20-Nov-2025 22:44:46 UTC]    Language field in books: YES
[20-Nov-2025 22:44:46 UTC]    Format field in books: YES
[20-Nov-2025 22:44:46 UTC]    Description field in categories: YES
[20-Nov-2025 22:44:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:44:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:44:46 UTC]    Is_active field in books: YES
[20-Nov-2025 22:44:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:44:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:44:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:44:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:44:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:44:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:44:46 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 22:44:46 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 22:44:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:44:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:44:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:44:46 UTC] 📊 Database Info:
[20-Nov-2025 22:44:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:44:46 UTC]    Books columns count: 44
[20-Nov-2025 22:44:46 UTC]    Categories columns count: 7
[20-Nov-2025 22:44:46 UTC]    Language field in books: YES
[20-Nov-2025 22:44:46 UTC]    Format field in books: YES
[20-Nov-2025 22:44:46 UTC]    Description field in categories: YES
[20-Nov-2025 22:44:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:44:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:44:46 UTC]    Is_active field in books: YES
[20-Nov-2025 22:44:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:44:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:44:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:44:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:44:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:44:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:44:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 22:44:46 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 22:44:46 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 22:44:46 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:44:46 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:44:46 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:44:46 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:44:46 UTC] 📊 Database Info:
[20-Nov-2025 22:44:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:44:46 UTC]    Books columns count: 44
[20-Nov-2025 22:44:46 UTC]    Categories columns count: 7
[20-Nov-2025 22:44:46 UTC]    Language field in books: YES
[20-Nov-2025 22:44:46 UTC]    Format field in books: YES
[20-Nov-2025 22:44:46 UTC]    Description field in categories: YES
[20-Nov-2025 22:44:46 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:44:46 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:44:46 UTC]    Is_active field in books: YES
[20-Nov-2025 22:44:46 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:44:46 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:44:46 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:44:46 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:44:46 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:44:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:44:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:55:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:55:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:55:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:55:53 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:55:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:55:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:55:53 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:55:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:55:53 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:55:53 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:55:53 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:55:53 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:55:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:55:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:55:53 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:55:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:55:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:55:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:55:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:55:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:55:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:55:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:55:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:55:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:55:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:55:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:55:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:55:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:55:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:55:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:55:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:55:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:55:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:55:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:55:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:55:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:55:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:55:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:55:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:55:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:55:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:55:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:55:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:55:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:55:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:55:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:55:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:55:54 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:55:54 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:55:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:55:54 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:55:54 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:55:54 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:55:54 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:55:54 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:55:54 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:55:54 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:55:54 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:55:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:55:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:55:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:55:54 UTC] 📊 Database Info:
[20-Nov-2025 22:55:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:55:54 UTC]    Books columns count: 44
[20-Nov-2025 22:55:54 UTC]    Categories columns count: 7
[20-Nov-2025 22:55:54 UTC]    Language field in books: YES
[20-Nov-2025 22:55:54 UTC]    Format field in books: YES
[20-Nov-2025 22:55:54 UTC]    Description field in categories: YES
[20-Nov-2025 22:55:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:55:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:55:54 UTC]    Is_active field in books: YES
[20-Nov-2025 22:55:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:55:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:55:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:55:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:55:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:55:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:55:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 22:55:54 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 22:55:54 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 22:55:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:55:54 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:55:54 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:55:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:55:54 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:55:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:55:54 UTC] 📊 Database Info:
[20-Nov-2025 22:55:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:55:54 UTC]    Books columns count: 44
[20-Nov-2025 22:55:54 UTC]    Categories columns count: 7
[20-Nov-2025 22:55:54 UTC]    Language field in books: YES
[20-Nov-2025 22:55:54 UTC]    Format field in books: YES
[20-Nov-2025 22:55:54 UTC]    Description field in categories: YES
[20-Nov-2025 22:55:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:55:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:55:54 UTC]    Is_active field in books: YES
[20-Nov-2025 22:55:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:55:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:55:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:55:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:55:54 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:55:54 UTC] 📊 Database Info:
[20-Nov-2025 22:55:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:55:54 UTC]    Books columns count: 44
[20-Nov-2025 22:55:54 UTC]    Categories columns count: 7
[20-Nov-2025 22:55:54 UTC]    Language field in books: YES
[20-Nov-2025 22:55:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:55:54 UTC]    Format field in books: YES
[20-Nov-2025 22:55:54 UTC]    Description field in categories: YES
[20-Nov-2025 22:55:54 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:55:54 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:55:54 UTC]    Is_active field in books: YES
[20-Nov-2025 22:55:54 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:55:54 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:55:54 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:55:54 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:55:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:55:54 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:55:54 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:55:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:55:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:56:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:56:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:56:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:56:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:56:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:56:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:56:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:56:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:56:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:56:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:56:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:56:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:56:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:56:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:56:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:56:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:56:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:56:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:56:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:56:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:56:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:56:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:56:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:56:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:56:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:56:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:56:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:56:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:56:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:56:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:56:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:56:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:56:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:56:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:56:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:56:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:56:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:56:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:56:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:56:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:56:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:56:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:56:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:56:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:56:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:56:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:56:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:56:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:56:33 UTC] 📊 Database Info:
[20-Nov-2025 22:56:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:56:33 UTC]    Books columns count: 44
[20-Nov-2025 22:56:33 UTC]    Categories columns count: 7
[20-Nov-2025 22:56:33 UTC]    Language field in books: YES
[20-Nov-2025 22:56:33 UTC]    Format field in books: YES
[20-Nov-2025 22:56:33 UTC]    Description field in categories: YES
[20-Nov-2025 22:56:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:56:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:56:33 UTC]    Is_active field in books: YES
[20-Nov-2025 22:56:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:56:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:56:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:56:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:56:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:56:33 UTC] 📊 Database Info:
[20-Nov-2025 22:56:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:56:33 UTC]    Books columns count: 44
[20-Nov-2025 22:56:33 UTC]    Categories columns count: 7
[20-Nov-2025 22:56:33 UTC]    Language field in books: YES
[20-Nov-2025 22:56:33 UTC]    Format field in books: YES
[20-Nov-2025 22:56:33 UTC]    Description field in categories: YES
[20-Nov-2025 22:56:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:56:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:56:33 UTC]    Is_active field in books: YES
[20-Nov-2025 22:56:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:56:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:56:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:56:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:56:33 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:56:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:56:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:56:33 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:56:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:56:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:56:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:56:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:56:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:56:33 UTC] 📊 Database Info:
[20-Nov-2025 22:56:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:56:33 UTC]    Books columns count: 44
[20-Nov-2025 22:56:33 UTC]    Categories columns count: 7
[20-Nov-2025 22:56:33 UTC]    Language field in books: YES
[20-Nov-2025 22:56:33 UTC]    Format field in books: YES
[20-Nov-2025 22:56:33 UTC]    Description field in categories: YES
[20-Nov-2025 22:56:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:56:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:56:34 UTC]    Is_active field in books: YES
[20-Nov-2025 22:56:34 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:56:34 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:56:34 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:56:34 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:56:34 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:56:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:56:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:56:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:56:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:56:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:56:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:56:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:56:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:56:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:56:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:56:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:56:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:56:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:56:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 22:56:34 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 22:56:34 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 22:56:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:56:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:56:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:56:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:56:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:56:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:56:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:56:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:56:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:56:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:56:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:56:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:56:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:56:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:56:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:56:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:56:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:56:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:56:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:56:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:56:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:56:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:56:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:56:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:56:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:56:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:56:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:56:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:56:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:56:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:56:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:56:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:56:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:56:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:56:52 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:56:52 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:56:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:56:52 UTC] 📊 Database Info:
[20-Nov-2025 22:56:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:56:52 UTC]    Books columns count: 44
[20-Nov-2025 22:56:52 UTC]    Categories columns count: 7
[20-Nov-2025 22:56:52 UTC]    Language field in books: YES
[20-Nov-2025 22:56:52 UTC]    Format field in books: YES
[20-Nov-2025 22:56:52 UTC]    Description field in categories: YES
[20-Nov-2025 22:56:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:56:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:56:52 UTC]    Is_active field in books: YES
[20-Nov-2025 22:56:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:56:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:56:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:56:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:56:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:56:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:56:52 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 22:56:52 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:56:52 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 22:56:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:56:52 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:56:52 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:56:52 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:56:52 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:56:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:56:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:56:52 UTC] 📊 Database Info:
[20-Nov-2025 22:56:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:56:52 UTC]    Books columns count: 44
[20-Nov-2025 22:56:52 UTC]    Categories columns count: 7
[20-Nov-2025 22:56:52 UTC]    Language field in books: YES
[20-Nov-2025 22:56:52 UTC]    Format field in books: YES
[20-Nov-2025 22:56:52 UTC]    Description field in categories: YES
[20-Nov-2025 22:56:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:56:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:56:52 UTC]    Is_active field in books: YES
[20-Nov-2025 22:56:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:56:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:56:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:56:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:56:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:56:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:56:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 22:56:52 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 22:56:52 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 22:56:52 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:56:52 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:56:52 UTC] 📊 Database Info:
[20-Nov-2025 22:56:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:56:52 UTC]    Books columns count: 44
[20-Nov-2025 22:56:52 UTC]    Categories columns count: 7
[20-Nov-2025 22:56:52 UTC]    Language field in books: YES
[20-Nov-2025 22:56:52 UTC]    Format field in books: YES
[20-Nov-2025 22:56:52 UTC]    Description field in categories: YES
[20-Nov-2025 22:56:52 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:56:52 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:56:52 UTC]    Is_active field in books: YES
[20-Nov-2025 22:56:52 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:56:52 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:56:52 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:56:52 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:56:52 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:56:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:56:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:58:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:58:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:58:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:58:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:58:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:58:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:58:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:58:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:58:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:58:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:58:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:58:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:58:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:58:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:58:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:58:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:58:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:58:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:58:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:58:04 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:58:04 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:58:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:58:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:58:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:58:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:58:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:58:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:58:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:58:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:58:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:58:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:58:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:58:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:58:04 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:58:04 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:58:04 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:58:04 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:58:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:58:04 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:58:04 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:58:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:58:04 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:58:04 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:58:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:58:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:58:04 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:58:04 UTC] 📊 Database Info:
[20-Nov-2025 22:58:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:58:04 UTC]    Books columns count: 44
[20-Nov-2025 22:58:04 UTC]    Categories columns count: 7
[20-Nov-2025 22:58:04 UTC]    Language field in books: YES
[20-Nov-2025 22:58:04 UTC]    Format field in books: YES
[20-Nov-2025 22:58:04 UTC]    Description field in categories: YES
[20-Nov-2025 22:58:04 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:58:04 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:58:04 UTC]    Is_active field in books: YES
[20-Nov-2025 22:58:04 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:58:04 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:58:04 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:58:04 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:58:04 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:58:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:58:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 22:58:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 22:58:04 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 22:58:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:58:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:58:04 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:58:04 UTC] 📊 Database Info:
[20-Nov-2025 22:58:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:58:04 UTC]    Books columns count: 44
[20-Nov-2025 22:58:04 UTC]    Categories columns count: 7
[20-Nov-2025 22:58:04 UTC]    Language field in books: YES
[20-Nov-2025 22:58:04 UTC]    Format field in books: YES
[20-Nov-2025 22:58:04 UTC]    Description field in categories: YES
[20-Nov-2025 22:58:04 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:58:04 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:58:04 UTC]    Is_active field in books: YES
[20-Nov-2025 22:58:04 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:58:04 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:58:04 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:58:04 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:58:04 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:58:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:58:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 22:58:04 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 22:58:04 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:58:04 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:58:04 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:58:04 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:58:04 UTC] 📊 Database Info:
[20-Nov-2025 22:58:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:58:04 UTC]    Books columns count: 44
[20-Nov-2025 22:58:04 UTC]    Categories columns count: 7
[20-Nov-2025 22:58:04 UTC]    Language field in books: YES
[20-Nov-2025 22:58:04 UTC]    Format field in books: YES
[20-Nov-2025 22:58:04 UTC]    Description field in categories: YES
[20-Nov-2025 22:58:04 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:58:04 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:58:04 UTC]    Is_active field in books: YES
[20-Nov-2025 22:58:04 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:58:04 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:58:04 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:58:04 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:58:04 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:58:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:58:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:58:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:58:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:58:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:58:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:58:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:58:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:58:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:58:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:58:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:58:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:58:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:58:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:58:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:58:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:58:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:58:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:58:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:58:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:58:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:58:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:58:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:58:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:58:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:58:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:58:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:58:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:58:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:58:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:58:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 22:58:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:58:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 22:58:39 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 22:58:39 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:58:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:58:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:58:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column institution already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:58:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:58:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:58:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:58:39 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:58:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column language already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column format already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 22:58:39 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 22:58:39 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 22:58:39 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 22:58:39 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 22:58:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:58:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:58:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:58:39 UTC] 📊 Database Info:
[20-Nov-2025 22:58:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:58:39 UTC]    Books columns count: 44
[20-Nov-2025 22:58:39 UTC]    Categories columns count: 7
[20-Nov-2025 22:58:39 UTC]    Language field in books: YES
[20-Nov-2025 22:58:39 UTC]    Format field in books: YES
[20-Nov-2025 22:58:39 UTC]    Description field in categories: YES
[20-Nov-2025 22:58:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:58:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:58:39 UTC]    Is_active field in books: YES
[20-Nov-2025 22:58:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:58:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:58:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:58:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:58:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:58:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:58:39 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 22:58:39 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 22:58:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:58:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:58:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:58:39 UTC] 📊 Database Info:
[20-Nov-2025 22:58:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:58:39 UTC]    Books columns count: 44
[20-Nov-2025 22:58:39 UTC]    Categories columns count: 7
[20-Nov-2025 22:58:39 UTC]    Language field in books: YES
[20-Nov-2025 22:58:39 UTC]    Format field in books: YES
[20-Nov-2025 22:58:39 UTC]    Description field in categories: YES
[20-Nov-2025 22:58:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:58:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:58:39 UTC]    Is_active field in books: YES
[20-Nov-2025 22:58:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:58:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:58:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:58:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:58:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:58:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 22:58:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 22:58:39 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 22:58:39 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 22:58:39 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 22:58:39 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 22:58:39 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 22:58:39 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 22:58:39 UTC] 📊 Database Info:
[20-Nov-2025 22:58:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 22:58:39 UTC]    Books columns count: 44
[20-Nov-2025 22:58:39 UTC]    Categories columns count: 7
[20-Nov-2025 22:58:39 UTC]    Language field in books: YES
[20-Nov-2025 22:58:39 UTC]    Format field in books: YES
[20-Nov-2025 22:58:39 UTC]    Description field in categories: YES
[20-Nov-2025 22:58:39 UTC]    Display_order field in categories: YES
[20-Nov-2025 22:58:39 UTC]    Is_active field in categories: YES
[20-Nov-2025 22:58:39 UTC]    Is_active field in books: YES
[20-Nov-2025 22:58:39 UTC]    External_download_link field in books: YES
[20-Nov-2025 22:58:39 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 22:58:39 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 22:58:39 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 22:58:39 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 22:58:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 22:58:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:00:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:00:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:00:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:00:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:00:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:00:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:00:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:00:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:00:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:00:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:00:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:00:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:00:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:00:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:00:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:00:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:00:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:00:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:00:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:00:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:00:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:00:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:00:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:00:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:00:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:00:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:00:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:00:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:00:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:00:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:00:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:00:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:00:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:00:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:00:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:00:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:00:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:00:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:00:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:00:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:00:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:00:33 UTC] 📊 Database Info:
[20-Nov-2025 23:00:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:00:33 UTC]    Books columns count: 44
[20-Nov-2025 23:00:33 UTC]    Categories columns count: 7
[20-Nov-2025 23:00:33 UTC]    Language field in books: YES
[20-Nov-2025 23:00:33 UTC]    Format field in books: YES
[20-Nov-2025 23:00:33 UTC]    Description field in categories: YES
[20-Nov-2025 23:00:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:00:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:00:33 UTC]    Is_active field in books: YES
[20-Nov-2025 23:00:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:00:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:00:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:00:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:00:33 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:00:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:00:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:00:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:00:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:00:33 UTC] 📊 Database Info:
[20-Nov-2025 23:00:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:00:33 UTC]    Books columns count: 44
[20-Nov-2025 23:00:33 UTC]    Categories columns count: 7
[20-Nov-2025 23:00:33 UTC]    Language field in books: YES
[20-Nov-2025 23:00:33 UTC]    Format field in books: YES
[20-Nov-2025 23:00:33 UTC]    Description field in categories: YES
[20-Nov-2025 23:00:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:00:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:00:33 UTC]    Is_active field in books: YES
[20-Nov-2025 23:00:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:00:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:00:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:00:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:00:33 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:00:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:00:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:00:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:00:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:00:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 23:00:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 23:00:33 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 23:00:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:00:33 UTC] 📊 Database Info:
[20-Nov-2025 23:00:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:00:33 UTC]    Books columns count: 44
[20-Nov-2025 23:00:33 UTC]    Categories columns count: 7
[20-Nov-2025 23:00:33 UTC]    Language field in books: YES
[20-Nov-2025 23:00:33 UTC]    Format field in books: YES
[20-Nov-2025 23:00:33 UTC]    Description field in categories: YES
[20-Nov-2025 23:00:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:00:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:00:33 UTC]    Is_active field in books: YES
[20-Nov-2025 23:00:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:00:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:00:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:00:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:00:33 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:00:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:00:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:00:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 23:00:33 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 23:00:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:00:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:00:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:00:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:00:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:00:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:00:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:00:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:00:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:00:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:00:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:00:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:00:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:00:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:00:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:00:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:00:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:00:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:00:48 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:00:48 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:00:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:00:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:00:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:00:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:00:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:00:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:00:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:00:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:00:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:00:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:00:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:00:48 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:00:48 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:00:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:00:48 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:00:48 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:00:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:00:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:00:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:00:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:00:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:00:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:00:48 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:00:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:00:48 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:00:48 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:00:48 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:00:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:00:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:00:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:00:48 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:00:48 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:00:48 UTC] 📊 Database Info:
[20-Nov-2025 23:00:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:00:48 UTC]    Books columns count: 44
[20-Nov-2025 23:00:48 UTC]    Categories columns count: 7
[20-Nov-2025 23:00:48 UTC]    Language field in books: YES
[20-Nov-2025 23:00:48 UTC]    Format field in books: YES
[20-Nov-2025 23:00:48 UTC]    Description field in categories: YES
[20-Nov-2025 23:00:48 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:00:48 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:00:48 UTC]    Is_active field in books: YES
[20-Nov-2025 23:00:48 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:00:48 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:00:48 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:00:48 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:00:48 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:00:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:00:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:00:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 23:00:48 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 23:00:48 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 23:00:48 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:00:48 UTC] 📊 Database Info:
[20-Nov-2025 23:00:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:00:48 UTC]    Books columns count: 44
[20-Nov-2025 23:00:48 UTC]    Categories columns count: 7
[20-Nov-2025 23:00:48 UTC]    Language field in books: YES
[20-Nov-2025 23:00:48 UTC]    Format field in books: YES
[20-Nov-2025 23:00:48 UTC]    Description field in categories: YES
[20-Nov-2025 23:00:48 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:00:48 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:00:48 UTC]    Is_active field in books: YES
[20-Nov-2025 23:00:48 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:00:48 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:00:48 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:00:48 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:00:48 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:00:48 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:00:48 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:00:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:00:48 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:00:48 UTC] 📊 Database Info:
[20-Nov-2025 23:00:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:00:48 UTC]    Books columns count: 44
[20-Nov-2025 23:00:48 UTC]    Categories columns count: 7
[20-Nov-2025 23:00:48 UTC]    Language field in books: YES
[20-Nov-2025 23:00:48 UTC]    Format field in books: YES
[20-Nov-2025 23:00:48 UTC]    Description field in categories: YES
[20-Nov-2025 23:00:48 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:00:48 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:00:48 UTC]    Is_active field in books: YES
[20-Nov-2025 23:00:48 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:00:48 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:00:48 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:00:48 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:00:48 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:00:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:00:48 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 23:00:48 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 23:01:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:01:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:01:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:01:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:01:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:01:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:01:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:01:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:01:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:01:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:01:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:01:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:01:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:01:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:01:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:01:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:01:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:01:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:01:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:01:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:01:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:01:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:01:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:01:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:01:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:01:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:01:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:01:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:01:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:01:01 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:01:01 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:01:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:01:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:01:01 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:01:01 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:01:01 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:01:01 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:01:01 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:01:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:01:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:01:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:01:01 UTC] 📊 Database Info:
[20-Nov-2025 23:01:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:01:01 UTC]    Books columns count: 44
[20-Nov-2025 23:01:01 UTC]    Categories columns count: 7
[20-Nov-2025 23:01:01 UTC]    Language field in books: YES
[20-Nov-2025 23:01:01 UTC]    Format field in books: YES
[20-Nov-2025 23:01:01 UTC]    Description field in categories: YES
[20-Nov-2025 23:01:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:01:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:01:01 UTC]    Is_active field in books: YES
[20-Nov-2025 23:01:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:01:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:01:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:01:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:01:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:01:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:01:01 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 23:01:01 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 23:01:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:01:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:01:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:01:01 UTC] 📊 Database Info:
[20-Nov-2025 23:01:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:01:01 UTC]    Books columns count: 44
[20-Nov-2025 23:01:01 UTC]    Categories columns count: 7
[20-Nov-2025 23:01:01 UTC]    Language field in books: YES
[20-Nov-2025 23:01:01 UTC]    Format field in books: YES
[20-Nov-2025 23:01:01 UTC]    Description field in categories: YES
[20-Nov-2025 23:01:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:01:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:01:01 UTC]    Is_active field in books: YES
[20-Nov-2025 23:01:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:01:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:01:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:01:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:01:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:01:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:01:01 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:01:01 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:01:01 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:01:01 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:01:01 UTC] 📊 Database Info:
[20-Nov-2025 23:01:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:01:01 UTC]    Books columns count: 44
[20-Nov-2025 23:01:01 UTC]    Categories columns count: 7
[20-Nov-2025 23:01:01 UTC]    Language field in books: YES
[20-Nov-2025 23:01:01 UTC]    Format field in books: YES
[20-Nov-2025 23:01:01 UTC]    Description field in categories: YES
[20-Nov-2025 23:01:01 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:01:01 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:01:01 UTC]    Is_active field in books: YES
[20-Nov-2025 23:01:01 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:01:01 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:01:01 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:01:01 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:01:01 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:01:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:01:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:01:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 23:01:01 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 23:01:01 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 23:01:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:01:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:01:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:01:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:01:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:01:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:01:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:01:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:01:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:01:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:01:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:01:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:01:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:01:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:01:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:01:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:01:07 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:01:07 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:01:07 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:01:07 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:01:07 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:01:07 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:01:07 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:01:07 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:01:07 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:01:07 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:01:07 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:01:07 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:01:07 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:01:07 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:01:07 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:01:07 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:01:07 UTC] 📊 Database Info:
[20-Nov-2025 23:01:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:01:07 UTC]    Books columns count: 44
[20-Nov-2025 23:01:07 UTC]    Categories columns count: 7
[20-Nov-2025 23:01:07 UTC]    Language field in books: YES
[20-Nov-2025 23:01:07 UTC]    Format field in books: YES
[20-Nov-2025 23:01:07 UTC]    Description field in categories: YES
[20-Nov-2025 23:01:07 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:01:07 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:01:07 UTC]    Is_active field in books: YES
[20-Nov-2025 23:01:07 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:01:07 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:01:07 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:01:07 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:01:07 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:01:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:01:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:01:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:01:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:01:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:01:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:01:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:01:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:01:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:01:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:01:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:01:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:01:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:04:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:04:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:04:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:04:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:04:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:04:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:04:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:04:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:04:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:04:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:04:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:04:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:04:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:04:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:04:28 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:04:28 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:04:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:04:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:04:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:04:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:04:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:04:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:04:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:04:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:04:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:04:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:04:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:04:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:04:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:04:28 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:04:28 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:04:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:04:28 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:04:28 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:04:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:04:28 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:04:28 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:04:28 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:04:28 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:04:28 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:04:28 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:04:28 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:04:28 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:04:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:04:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:04:28 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:04:28 UTC] 📊 Database Info:
[20-Nov-2025 23:04:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:04:28 UTC]    Books columns count: 44
[20-Nov-2025 23:04:28 UTC]    Categories columns count: 7
[20-Nov-2025 23:04:28 UTC]    Language field in books: YES
[20-Nov-2025 23:04:28 UTC]    Format field in books: YES
[20-Nov-2025 23:04:28 UTC]    Description field in categories: YES
[20-Nov-2025 23:04:28 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:04:28 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:04:28 UTC]    Is_active field in books: YES
[20-Nov-2025 23:04:28 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:04:28 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:04:28 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:04:28 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:04:28 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:04:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:04:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 23:04:28 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 23:04:28 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 23:04:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:04:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:04:28 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:04:28 UTC] 📊 Database Info:
[20-Nov-2025 23:04:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:04:28 UTC]    Books columns count: 44
[20-Nov-2025 23:04:28 UTC]    Categories columns count: 7
[20-Nov-2025 23:04:28 UTC]    Language field in books: YES
[20-Nov-2025 23:04:28 UTC]    Format field in books: YES
[20-Nov-2025 23:04:28 UTC]    Description field in categories: YES
[20-Nov-2025 23:04:28 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:04:28 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:04:28 UTC]    Is_active field in books: YES
[20-Nov-2025 23:04:28 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:04:28 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:04:28 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:04:28 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:04:28 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:04:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:04:28 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:04:28 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:04:28 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:04:28 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:04:28 UTC] 📊 Database Info:
[20-Nov-2025 23:04:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:04:28 UTC]    Books columns count: 44
[20-Nov-2025 23:04:28 UTC]    Categories columns count: 7
[20-Nov-2025 23:04:28 UTC]    Language field in books: YES
[20-Nov-2025 23:04:28 UTC]    Format field in books: YES
[20-Nov-2025 23:04:28 UTC]    Description field in categories: YES
[20-Nov-2025 23:04:28 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:04:28 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:04:28 UTC]    Is_active field in books: YES
[20-Nov-2025 23:04:28 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:04:28 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:04:28 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:04:28 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:04:28 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:04:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:04:28 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 23:04:28 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 23:04:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:04:32 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:04:32 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:04:32 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:04:32 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:04:32 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:04:32 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:04:32 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:04:32 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:04:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:04:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:04:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:04:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:04:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:04:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:04:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:04:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:04:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:04:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:04:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:04:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:04:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:04:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:04:33 UTC] 📊 Database Info:
[20-Nov-2025 23:04:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:04:33 UTC]    Books columns count: 44
[20-Nov-2025 23:04:33 UTC]    Categories columns count: 7
[20-Nov-2025 23:04:33 UTC]    Language field in books: YES
[20-Nov-2025 23:04:33 UTC]    Format field in books: YES
[20-Nov-2025 23:04:33 UTC]    Description field in categories: YES
[20-Nov-2025 23:04:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:04:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:04:33 UTC]    Is_active field in books: YES
[20-Nov-2025 23:04:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:04:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:04:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:04:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:04:33 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:04:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:04:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:04:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:04:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:04:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:04:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:04:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:04:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:04:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:04:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:04:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:04:33 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:04:33 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:04:33 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:04:33 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:04:33 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:04:33 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:04:33 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:04:33 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:04:33 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:04:33 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:04:33 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:04:33 UTC] 📊 Database Info:
[20-Nov-2025 23:04:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:04:33 UTC]    Books columns count: 44
[20-Nov-2025 23:04:33 UTC]    Categories columns count: 7
[20-Nov-2025 23:04:33 UTC]    Language field in books: YES
[20-Nov-2025 23:04:33 UTC]    Format field in books: YES
[20-Nov-2025 23:04:33 UTC]    Description field in categories: YES
[20-Nov-2025 23:04:33 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:04:33 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:04:33 UTC]    Is_active field in books: YES
[20-Nov-2025 23:04:33 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:04:33 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:04:33 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:04:33 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:04:33 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:04:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:04:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:05:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:05:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:05:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:05:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:05:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:05:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:05:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:05:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:05:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:05:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:05:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:05:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:05:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:05:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:05:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:05:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:05:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:05:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:05:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:05:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:05:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:05:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:05:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:05:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:05:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:05:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:05:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:05:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:05:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:05:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:05:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:05:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:05:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:05:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:05:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:05:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:05:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:05:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:05:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:05:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:05:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:05:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:05:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:05:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:05:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:05:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:05:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:05:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:05:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:05:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:05:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:05:14 UTC] 📊 Database Info:
[20-Nov-2025 23:05:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:05:14 UTC]    Books columns count: 44
[20-Nov-2025 23:05:14 UTC]    Categories columns count: 7
[20-Nov-2025 23:05:14 UTC]    Language field in books: YES
[20-Nov-2025 23:05:14 UTC]    Format field in books: YES
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:05:14 UTC]    Description field in categories: YES
[20-Nov-2025 23:05:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:05:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:05:14 UTC]    Is_active field in books: YES
[20-Nov-2025 23:05:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:05:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:05:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:05:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:05:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:05:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:05:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 23:05:14 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[20-Nov-2025 23:05:14 UTC] ✅ إرجاع 0 تصنيف بروفايل
[20-Nov-2025 23:05:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:05:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:05:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:05:14 UTC] 📊 Database Info:
[20-Nov-2025 23:05:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:05:14 UTC]    Books columns count: 44
[20-Nov-2025 23:05:14 UTC]    Categories columns count: 7
[20-Nov-2025 23:05:14 UTC]    Language field in books: YES
[20-Nov-2025 23:05:14 UTC]    Format field in books: YES
[20-Nov-2025 23:05:14 UTC]    Description field in categories: YES
[20-Nov-2025 23:05:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:05:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:05:14 UTC]    Is_active field in books: YES
[20-Nov-2025 23:05:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:05:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:05:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:05:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:05:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:05:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:05:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:05:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:05:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:05:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:05:14 UTC] 📊 Database Info:
[20-Nov-2025 23:05:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:05:14 UTC]    Books columns count: 44
[20-Nov-2025 23:05:14 UTC]    Categories columns count: 7
[20-Nov-2025 23:05:14 UTC]    Language field in books: YES
[20-Nov-2025 23:05:14 UTC]    Format field in books: YES
[20-Nov-2025 23:05:14 UTC]    Description field in categories: YES
[20-Nov-2025 23:05:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:05:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:05:14 UTC]    Is_active field in books: YES
[20-Nov-2025 23:05:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:05:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:05:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:05:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:05:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:05:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:05:14 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[20-Nov-2025 23:05:14 UTC] ✅ إرجاع 1 تصنيف
[20-Nov-2025 23:52:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:14 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:14 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:14 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:14 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:14 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:14 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:14 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:14 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:14 UTC] 📊 Database Info:
[20-Nov-2025 23:52:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:14 UTC]    Books columns count: 44
[20-Nov-2025 23:52:14 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:14 UTC]    Language field in books: YES
[20-Nov-2025 23:52:14 UTC]    Format field in books: YES
[20-Nov-2025 23:52:14 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:14 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:14 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:14 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:14 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:14 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:14 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:14 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:14 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:14 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:14 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:14 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:14 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 23:52:14 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 23:52:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:15 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:15 UTC] 📊 Database Info:
[20-Nov-2025 23:52:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:15 UTC]    Books columns count: 44
[20-Nov-2025 23:52:15 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:15 UTC]    Language field in books: YES
[20-Nov-2025 23:52:15 UTC]    Format field in books: YES
[20-Nov-2025 23:52:15 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:15 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:15 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:15 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:15 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:15 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:15 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:15 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:15 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:15 UTC] 📊 Database Info:
[20-Nov-2025 23:52:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:15 UTC]    Books columns count: 44
[20-Nov-2025 23:52:15 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:15 UTC]    Language field in books: YES
[20-Nov-2025 23:52:15 UTC]    Format field in books: YES
[20-Nov-2025 23:52:15 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:15 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:15 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:15 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:15 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:15 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:15 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:15 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:15 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:15 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:15 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:15 UTC] 📊 Database Info:
[20-Nov-2025 23:52:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:15 UTC]    Books columns count: 44
[20-Nov-2025 23:52:15 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:15 UTC]    Language field in books: YES
[20-Nov-2025 23:52:15 UTC]    Format field in books: YES
[20-Nov-2025 23:52:15 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:15 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:15 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:15 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:15 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:15 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:15 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:15 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:15 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:15 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:15 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:15 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:15 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:15 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:15 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:15 UTC] 📊 Database Info:
[20-Nov-2025 23:52:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:15 UTC]    Books columns count: 44
[20-Nov-2025 23:52:15 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:15 UTC]    Language field in books: YES
[20-Nov-2025 23:52:15 UTC]    Format field in books: YES
[20-Nov-2025 23:52:15 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:15 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:15 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:15 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:15 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:15 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:15 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:15 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:15 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:15 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 23:52:15 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:15 UTC] 📊 Database Info:
[20-Nov-2025 23:52:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:15 UTC]    Books columns count: 44
[20-Nov-2025 23:52:15 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:15 UTC]    Language field in books: YES
[20-Nov-2025 23:52:15 UTC]    Format field in books: YES
[20-Nov-2025 23:52:15 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:15 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:15 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:15 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:15 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:15 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:15 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:15 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:15 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 23:52:15 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:16 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:16 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:16 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:16 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:16 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:16 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:16 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:16 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:16 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:16 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:16 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:16 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:16 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:16 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:16 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:16 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:16 UTC] 📊 Database Info:
[20-Nov-2025 23:52:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:16 UTC]    Books columns count: 44
[20-Nov-2025 23:52:16 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:16 UTC]    Language field in books: YES
[20-Nov-2025 23:52:16 UTC]    Format field in books: YES
[20-Nov-2025 23:52:16 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:16 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:16 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:16 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:16 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:16 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:16 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:16 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:16 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:18 UTC] 📊 Database Info:
[20-Nov-2025 23:52:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:18 UTC]    Books columns count: 44
[20-Nov-2025 23:52:18 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:18 UTC]    Language field in books: YES
[20-Nov-2025 23:52:18 UTC]    Format field in books: YES
[20-Nov-2025 23:52:18 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:18 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:18 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:18 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:18 UTC] 📊 Database Info:
[20-Nov-2025 23:52:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:18 UTC]    Books columns count: 44
[20-Nov-2025 23:52:18 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:18 UTC]    Language field in books: YES
[20-Nov-2025 23:52:18 UTC]    Format field in books: YES
[20-Nov-2025 23:52:18 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 23:52:18 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[20-Nov-2025 23:52:18 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[20-Nov-2025 23:52:18 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:18 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:18 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:18 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:18 UTC] 📊 Database Info:
[20-Nov-2025 23:52:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:18 UTC]    Books columns count: 44
[20-Nov-2025 23:52:18 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:18 UTC]    Language field in books: YES
[20-Nov-2025 23:52:18 UTC]    Format field in books: YES
[20-Nov-2025 23:52:18 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 23:52:18 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[20-Nov-2025 23:52:18 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[20-Nov-2025 23:52:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:18 UTC] 📊 Database Info:
[20-Nov-2025 23:52:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:18 UTC]    Books columns count: 44
[20-Nov-2025 23:52:18 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:18 UTC]    Language field in books: YES
[20-Nov-2025 23:52:18 UTC]    Format field in books: YES
[20-Nov-2025 23:52:18 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:18 UTC] 📊 Database Info:
[20-Nov-2025 23:52:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:18 UTC]    Books columns count: 44
[20-Nov-2025 23:52:18 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:18 UTC]    Language field in books: YES
[20-Nov-2025 23:52:18 UTC]    Format field in books: YES
[20-Nov-2025 23:52:18 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:18 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:18 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:18 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:18 UTC] 📊 Database Info:
[20-Nov-2025 23:52:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:18 UTC]    Books columns count: 44
[20-Nov-2025 23:52:18 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:18 UTC]    Language field in books: YES
[20-Nov-2025 23:52:18 UTC]    Format field in books: YES
[20-Nov-2025 23:52:18 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:18 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:18 UTC] 📊 Database Info:
[20-Nov-2025 23:52:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:18 UTC]    Books columns count: 44
[20-Nov-2025 23:52:18 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:18 UTC]    Language field in books: YES
[20-Nov-2025 23:52:18 UTC]    Format field in books: YES
[20-Nov-2025 23:52:18 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:18 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:18 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:18 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:18 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:18 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:18 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 23:52:18 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:18 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:19 UTC] 📊 Database Info:
[20-Nov-2025 23:52:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:19 UTC]    Books columns count: 44
[20-Nov-2025 23:52:19 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:19 UTC]    Language field in books: YES
[20-Nov-2025 23:52:19 UTC]    Format field in books: YES
[20-Nov-2025 23:52:19 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:19 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 23:52:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[20-Nov-2025 23:52:19 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[20-Nov-2025 23:52:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:19 UTC] 📊 Database Info:
[20-Nov-2025 23:52:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:19 UTC]    Books columns count: 44
[20-Nov-2025 23:52:19 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:19 UTC]    Language field in books: YES
[20-Nov-2025 23:52:19 UTC]    Format field in books: YES
[20-Nov-2025 23:52:19 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:19 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 23:52:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[20-Nov-2025 23:52:19 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[20-Nov-2025 23:52:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:19 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:19 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:19 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:19 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:19 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:19 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:19 UTC] 📊 Database Info:
[20-Nov-2025 23:52:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:19 UTC]    Books columns count: 44
[20-Nov-2025 23:52:19 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:19 UTC]    Language field in books: YES
[20-Nov-2025 23:52:19 UTC]    Format field in books: YES
[20-Nov-2025 23:52:19 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:19 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 23:52:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[20-Nov-2025 23:52:19 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[20-Nov-2025 23:52:19 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:19 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:19 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:19 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:19 UTC] 📊 Database Info:
[20-Nov-2025 23:52:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:19 UTC]    Books columns count: 44
[20-Nov-2025 23:52:19 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:19 UTC]    Language field in books: YES
[20-Nov-2025 23:52:19 UTC]    Format field in books: YES
[20-Nov-2025 23:52:19 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:19 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:19 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:19 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:19 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:19 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:19 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:19 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:19 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[20-Nov-2025 23:52:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[20-Nov-2025 23:52:19 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[20-Nov-2025 23:52:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:21 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:21 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:21 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:21 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:21 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:21 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:21 UTC] 📊 Database Info:
[20-Nov-2025 23:52:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:21 UTC]    Books columns count: 44
[20-Nov-2025 23:52:21 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:21 UTC]    Language field in books: YES
[20-Nov-2025 23:52:21 UTC]    Format field in books: YES
[20-Nov-2025 23:52:21 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:21 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:21 UTC] 📊 Database Info:
[20-Nov-2025 23:52:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:21 UTC]    Books columns count: 44
[20-Nov-2025 23:52:21 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:21 UTC]    Language field in books: YES
[20-Nov-2025 23:52:21 UTC]    Format field in books: YES
[20-Nov-2025 23:52:21 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:21 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:21 UTC] 📊 Database Info:
[20-Nov-2025 23:52:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:21 UTC]    Books columns count: 44
[20-Nov-2025 23:52:21 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:21 UTC]    Language field in books: YES
[20-Nov-2025 23:52:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:21 UTC]    Format field in books: YES
[20-Nov-2025 23:52:21 UTC] 📊 Database Info:
[20-Nov-2025 23:52:21 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:21 UTC]    Books columns count: 44
[20-Nov-2025 23:52:21 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:21 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:21 UTC]    Language field in books: YES
[20-Nov-2025 23:52:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:21 UTC]    Format field in books: YES
[20-Nov-2025 23:52:21 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:21 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:21 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 23:52:21 UTC] 📁 جلب التصنيفات النشطة فقط
[20-Nov-2025 23:52:21 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 23:52:21 UTC] ✅ إرجاع 1 تصنيف نشط
[20-Nov-2025 23:52:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:21 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:21 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:21 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:21 UTC] 📊 Database Info:
[20-Nov-2025 23:52:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:21 UTC]    Books columns count: 44
[20-Nov-2025 23:52:21 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:21 UTC]    Language field in books: YES
[20-Nov-2025 23:52:21 UTC]    Format field in books: YES
[20-Nov-2025 23:52:21 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:21 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:21 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:21 UTC] 📊 Database Info:
[20-Nov-2025 23:52:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:21 UTC]    Books columns count: 44
[20-Nov-2025 23:52:21 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:21 UTC]    Language field in books: YES
[20-Nov-2025 23:52:21 UTC]    Format field in books: YES
[20-Nov-2025 23:52:21 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:21 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:21 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:21 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:21 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:21 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:21 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:21 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:21 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:23 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:23 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:23 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:23 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:23 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:23 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:23 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:23 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:23 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:23 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:23 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:23 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:23 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:23 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:23 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:23 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:23 UTC] 📊 Database Info:
[20-Nov-2025 23:52:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:23 UTC]    Books columns count: 44
[20-Nov-2025 23:52:23 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:23 UTC]    Language field in books: YES
[20-Nov-2025 23:52:23 UTC]    Format field in books: YES
[20-Nov-2025 23:52:23 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:23 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:23 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:23 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:23 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:23 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:23 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:23 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:23 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[20-Nov-2025 23:52:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[20-Nov-2025 23:52:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[20-Nov-2025 23:52:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[20-Nov-2025 23:52:40 UTC] ⚠️ Missing columns detected: description, display_order
[20-Nov-2025 23:52:40 UTC] 🔄 Attempting to add missing columns...
[20-Nov-2025 23:52:40 UTC] ℹ️ Column institution already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column publication_year already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column keywords already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column selected_pages_summary already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column selected_pages_toc already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column selected_pages_original already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column is_protected already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column protection_key already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column show_read_button already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column read_button_text already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column is_external_plus already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column custom_file_size already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column show_file_size already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column taille_before_extrait already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column show_download_extrait_button already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column download_extrait_button_text already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column original_pdf_url already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column download_count already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column stockage already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column language already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column format already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column external_download_link already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column show_external_download_button already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column external_download_protection_key already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column is_external_download_protected already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column is_active already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column description already exists in categories
[20-Nov-2025 23:52:40 UTC] ℹ️ Column display_order already exists in categories
[20-Nov-2025 23:52:40 UTC] ℹ️ Column is_active already exists in categories
[20-Nov-2025 23:52:40 UTC] ℹ️ Column show_welcome_section already exists
[20-Nov-2025 23:52:40 UTC] ℹ️ Column company_address already exists
[20-Nov-2025 23:52:40 UTC] ✅ Updated existing books with original_pdf_url
[20-Nov-2025 23:52:40 UTC] ✅ Updated existing books with is_active = TRUE
[20-Nov-2025 23:52:40 UTC] ✅ Updated existing categories with new fields
[20-Nov-2025 23:52:40 UTC] ✅ Default screen texts inserted successfully
[20-Nov-2025 23:52:40 UTC] ✅ Updated existing books with empty language field
[20-Nov-2025 23:52:40 UTC] ✅ Updated existing books with empty format field
[20-Nov-2025 23:52:40 UTC] ✅ Updated existing books with default external download link and protection values
[20-Nov-2025 23:52:40 UTC] ✅ Database tables created/updated successfully with all new fields
[20-Nov-2025 23:52:40 UTC] ℹ️ Favorites table not available for inspection
[20-Nov-2025 23:52:40 UTC] 📊 Database Info:
[20-Nov-2025 23:52:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[20-Nov-2025 23:52:40 UTC]    Books columns count: 44
[20-Nov-2025 23:52:40 UTC]    Categories columns count: 7
[20-Nov-2025 23:52:40 UTC]    Language field in books: YES
[20-Nov-2025 23:52:40 UTC]    Format field in books: YES
[20-Nov-2025 23:52:40 UTC]    Description field in categories: YES
[20-Nov-2025 23:52:40 UTC]    Display_order field in categories: YES
[20-Nov-2025 23:52:40 UTC]    Is_active field in categories: YES
[20-Nov-2025 23:52:40 UTC]    Is_active field in books: YES
[20-Nov-2025 23:52:40 UTC]    External_download_link field in books: YES
[20-Nov-2025 23:52:40 UTC]    Show_external_download_button field in books: YES
[20-Nov-2025 23:52:40 UTC]    External_download_protection_key field in books: YES
[20-Nov-2025 23:52:40 UTC]    Is_external_download_protected field in books: YES
[20-Nov-2025 23:52:40 UTC] ℹ️ Database is already at version 23
[20-Nov-2025 23:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[20-Nov-2025 23:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[20-Nov-2025 23:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[20-Nov-2025 23:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[20-Nov-2025 23:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[20-Nov-2025 23:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[20-Nov-2025 23:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[20-Nov-2025 23:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[20-Nov-2025 23:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[20-Nov-2025 23:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[20-Nov-2025 23:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[20-Nov-2025 23:52:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[20-Nov-2025 23:52:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 01:08:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 01:08:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 01:08:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 01:08:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 01:08:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 01:08:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 01:08:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 01:08:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 01:08:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 01:08:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 01:08:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 01:08:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 01:08:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 01:08:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 01:08:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 01:08:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 01:08:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 01:08:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 01:08:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 01:08:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 01:08:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 01:08:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 01:08:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 01:08:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 01:08:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 01:08:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 01:08:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 01:08:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 01:08:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 01:08:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 01:08:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 01:08:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 01:08:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 01:08:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 01:08:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 01:08:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 01:08:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 01:08:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 01:08:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 01:08:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 01:08:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 01:08:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 01:08:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 01:08:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 01:08:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 01:08:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 01:08:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 01:08:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 01:08:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 01:08:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 01:08:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 01:08:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 01:08:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 01:08:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 01:08:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 01:08:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 01:08:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 01:08:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 01:08:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 01:08:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 01:08:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 01:08:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 01:08:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 01:08:29 UTC] 📊 Database Info:
[21-Nov-2025 01:08:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 01:08:29 UTC]    Books columns count: 44
[21-Nov-2025 01:08:29 UTC]    Categories columns count: 7
[21-Nov-2025 01:08:29 UTC]    Language field in books: YES
[21-Nov-2025 01:08:29 UTC]    Format field in books: YES
[21-Nov-2025 01:08:29 UTC]    Description field in categories: YES
[21-Nov-2025 01:08:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 01:08:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 01:08:29 UTC]    Is_active field in books: YES
[21-Nov-2025 01:08:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 01:08:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 01:08:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 01:08:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 01:08:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 01:08:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 01:08:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 01:08:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 01:08:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 01:08:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 01:08:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 01:08:29 UTC] 📊 Database Info:
[21-Nov-2025 01:08:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 01:08:29 UTC]    Books columns count: 44
[21-Nov-2025 01:08:29 UTC]    Categories columns count: 7
[21-Nov-2025 01:08:29 UTC]    Language field in books: YES
[21-Nov-2025 01:08:29 UTC]    Format field in books: YES
[21-Nov-2025 01:08:29 UTC]    Description field in categories: YES
[21-Nov-2025 01:08:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 01:08:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 01:08:29 UTC]    Is_active field in books: YES
[21-Nov-2025 01:08:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 01:08:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 01:08:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 01:08:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 01:08:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 01:08:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 01:08:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 01:08:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 01:08:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 01:08:29 UTC] 📊 Database Info:
[21-Nov-2025 01:08:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 01:08:29 UTC]    Books columns count: 44
[21-Nov-2025 01:08:29 UTC]    Categories columns count: 7
[21-Nov-2025 01:08:29 UTC]    Language field in books: YES
[21-Nov-2025 01:08:29 UTC]    Format field in books: YES
[21-Nov-2025 01:08:29 UTC]    Description field in categories: YES
[21-Nov-2025 01:08:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 01:08:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 01:08:29 UTC]    Is_active field in books: YES
[21-Nov-2025 01:08:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 01:08:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 01:08:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 01:08:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 01:08:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 01:08:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 01:08:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 01:08:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 01:08:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 01:08:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 01:08:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 01:08:29 UTC] 📊 Database Info:
[21-Nov-2025 01:08:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 01:08:29 UTC]    Books columns count: 44
[21-Nov-2025 01:08:29 UTC]    Categories columns count: 7
[21-Nov-2025 01:08:29 UTC]    Language field in books: YES
[21-Nov-2025 01:08:29 UTC]    Format field in books: YES
[21-Nov-2025 01:08:29 UTC]    Description field in categories: YES
[21-Nov-2025 01:08:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 01:08:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 01:08:29 UTC]    Is_active field in books: YES
[21-Nov-2025 01:08:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 01:08:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 01:08:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 01:08:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 01:08:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 01:08:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 01:08:29 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 01:08:29 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 01:08:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 01:08:29 UTC] 📊 Database Info:
[21-Nov-2025 01:08:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 01:08:29 UTC]    Books columns count: 44
[21-Nov-2025 01:08:29 UTC]    Categories columns count: 7
[21-Nov-2025 01:08:29 UTC]    Language field in books: YES
[21-Nov-2025 01:08:29 UTC]    Format field in books: YES
[21-Nov-2025 01:08:29 UTC]    Description field in categories: YES
[21-Nov-2025 01:08:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 01:08:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 01:08:29 UTC]    Is_active field in books: YES
[21-Nov-2025 01:08:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 01:08:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 01:08:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 01:08:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 01:08:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 01:08:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 01:08:29 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 01:08:29 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 01:08:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 01:08:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 01:08:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 01:08:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 01:08:29 UTC] 📊 Database Info:
[21-Nov-2025 01:08:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 01:08:29 UTC]    Books columns count: 44
[21-Nov-2025 01:08:29 UTC]    Categories columns count: 7
[21-Nov-2025 01:08:29 UTC]    Language field in books: YES
[21-Nov-2025 01:08:29 UTC]    Format field in books: YES
[21-Nov-2025 01:08:29 UTC]    Description field in categories: YES
[21-Nov-2025 01:08:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 01:08:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 01:08:29 UTC]    Is_active field in books: YES
[21-Nov-2025 01:08:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 01:08:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 01:08:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 01:08:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 01:08:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 01:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 01:08:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 01:08:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 01:08:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 01:08:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 01:08:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 01:08:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 01:08:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 01:08:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 01:08:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 01:08:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 01:08:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 01:08:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 01:08:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 01:08:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 01:08:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 01:08:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 01:08:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 01:08:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 01:08:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 01:08:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 01:08:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 01:08:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 01:08:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 01:08:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 01:08:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 01:08:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 01:08:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 01:08:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 01:08:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 01:08:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 01:08:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 01:08:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 01:08:30 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 01:08:30 UTC] 📊 Database Info:
[21-Nov-2025 01:08:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 01:08:30 UTC]    Books columns count: 44
[21-Nov-2025 01:08:30 UTC]    Categories columns count: 7
[21-Nov-2025 01:08:30 UTC]    Language field in books: YES
[21-Nov-2025 01:08:30 UTC]    Format field in books: YES
[21-Nov-2025 01:08:30 UTC]    Description field in categories: YES
[21-Nov-2025 01:08:30 UTC]    Display_order field in categories: YES
[21-Nov-2025 01:08:30 UTC]    Is_active field in categories: YES
[21-Nov-2025 01:08:30 UTC]    Is_active field in books: YES
[21-Nov-2025 01:08:30 UTC]    External_download_link field in books: YES
[21-Nov-2025 01:08:30 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 01:08:30 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 01:08:30 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 01:08:30 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 01:08:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 01:08:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 01:08:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 01:08:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 01:08:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 01:08:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 01:08:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 01:08:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 01:08:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 01:08:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 01:08:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 01:08:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 01:08:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:26:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:26:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:26:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:26:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:26:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:26:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:26:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:26:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:26:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:26:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:26:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:26:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:26:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:26:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:26:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:26:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:26:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:26:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:26:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:26:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:26:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:26:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:26:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:26:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:26:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:26:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:26:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:26:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:26:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:26:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:26:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:26:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:26:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:26:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:26:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:26:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:26:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:26:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:26:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:26:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:26:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:26:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:26:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:26:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:26:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:26:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:26:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:26:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:26:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:26:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:26:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:26:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:26:22 UTC] 📊 Database Info:
[21-Nov-2025 11:26:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:26:22 UTC]    Books columns count: 44
[21-Nov-2025 11:26:22 UTC]    Categories columns count: 7
[21-Nov-2025 11:26:22 UTC]    Language field in books: YES
[21-Nov-2025 11:26:22 UTC]    Format field in books: YES
[21-Nov-2025 11:26:22 UTC]    Description field in categories: YES
[21-Nov-2025 11:26:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:26:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:26:22 UTC]    Is_active field in books: YES
[21-Nov-2025 11:26:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:26:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:26:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:26:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:26:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:26:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:26:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:26:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:26:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:26:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:26:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:26:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:26:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:26:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:26:22 UTC] 📊 Database Info:
[21-Nov-2025 11:26:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:26:22 UTC]    Books columns count: 44
[21-Nov-2025 11:26:22 UTC]    Categories columns count: 7
[21-Nov-2025 11:26:22 UTC]    Language field in books: YES
[21-Nov-2025 11:26:22 UTC]    Format field in books: YES
[21-Nov-2025 11:26:22 UTC]    Description field in categories: YES
[21-Nov-2025 11:26:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:26:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:26:22 UTC]    Is_active field in books: YES
[21-Nov-2025 11:26:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:26:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:26:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:26:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:26:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:26:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:26:22 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:26:22 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:26:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:26:22 UTC] 📊 Database Info:
[21-Nov-2025 11:26:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:26:22 UTC]    Books columns count: 44
[21-Nov-2025 11:26:22 UTC]    Categories columns count: 7
[21-Nov-2025 11:26:22 UTC]    Language field in books: YES
[21-Nov-2025 11:26:22 UTC]    Format field in books: YES
[21-Nov-2025 11:26:22 UTC]    Description field in categories: YES
[21-Nov-2025 11:26:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:26:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:26:22 UTC]    Is_active field in books: YES
[21-Nov-2025 11:26:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:26:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:26:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:26:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:26:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:26:22 UTC] 📊 Database Info:
[21-Nov-2025 11:26:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:26:22 UTC]    Books columns count: 44
[21-Nov-2025 11:26:22 UTC]    Categories columns count: 7
[21-Nov-2025 11:26:22 UTC]    Language field in books: YES
[21-Nov-2025 11:26:22 UTC]    Format field in books: YES
[21-Nov-2025 11:26:22 UTC]    Description field in categories: YES
[21-Nov-2025 11:26:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:26:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:26:22 UTC]    Is_active field in books: YES
[21-Nov-2025 11:26:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:26:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:26:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:26:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:26:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:26:22 UTC] 📊 Database Info:
[21-Nov-2025 11:26:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:26:22 UTC]    Books columns count: 44
[21-Nov-2025 11:26:22 UTC]    Categories columns count: 7
[21-Nov-2025 11:26:22 UTC]    Language field in books: YES
[21-Nov-2025 11:26:22 UTC]    Format field in books: YES
[21-Nov-2025 11:26:22 UTC]    Description field in categories: YES
[21-Nov-2025 11:26:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:26:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:26:22 UTC]    Is_active field in books: YES
[21-Nov-2025 11:26:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:26:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:26:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:26:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:26:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:26:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:26:22 UTC] 📊 Database Info:
[21-Nov-2025 11:26:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:26:22 UTC]    Books columns count: 44
[21-Nov-2025 11:26:22 UTC]    Categories columns count: 7
[21-Nov-2025 11:26:22 UTC]    Language field in books: YES
[21-Nov-2025 11:26:22 UTC]    Format field in books: YES
[21-Nov-2025 11:26:22 UTC]    Description field in categories: YES
[21-Nov-2025 11:26:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:26:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:26:22 UTC]    Is_active field in books: YES
[21-Nov-2025 11:26:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:26:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:26:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:26:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:26:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:26:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:26:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:26:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:26:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:26:22 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:26:22 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:26:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:26:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:26:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:26:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:26:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:26:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:26:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:26:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:26:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:26:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:26:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:26:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:26:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:26:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:26:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:26:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:26:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:26:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:26:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:26:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:26:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:26:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:26:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:26:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:26:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:26:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:26:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:26:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:26:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:26:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:26:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:26:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:26:23 UTC] 📊 Database Info:
[21-Nov-2025 11:26:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:26:23 UTC]    Books columns count: 44
[21-Nov-2025 11:26:23 UTC]    Categories columns count: 7
[21-Nov-2025 11:26:23 UTC]    Language field in books: YES
[21-Nov-2025 11:26:23 UTC]    Format field in books: YES
[21-Nov-2025 11:26:23 UTC]    Description field in categories: YES
[21-Nov-2025 11:26:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:26:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:26:23 UTC]    Is_active field in books: YES
[21-Nov-2025 11:26:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:26:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:26:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:26:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:26:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:26:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:26:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:34:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:34:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:34:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:34:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:34:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:34:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:34:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:34:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:34:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:34:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:34:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:34:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:34:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:34:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:34:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:34:42 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:34:42 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:34:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:34:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:34:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:34:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:34:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:34:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:34:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:34:42 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:34:42 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:34:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:34:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:34:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:34:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:34:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:34:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:34:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:34:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:34:42 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:34:42 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:34:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:34:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:34:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:34:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:34:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:34:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:34:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:34:42 UTC] 📊 Database Info:
[21-Nov-2025 11:34:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:34:42 UTC]    Books columns count: 44
[21-Nov-2025 11:34:42 UTC]    Categories columns count: 7
[21-Nov-2025 11:34:42 UTC]    Language field in books: YES
[21-Nov-2025 11:34:42 UTC]    Format field in books: YES
[21-Nov-2025 11:34:42 UTC]    Description field in categories: YES
[21-Nov-2025 11:34:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:34:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:34:42 UTC]    Is_active field in books: YES
[21-Nov-2025 11:34:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:34:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:34:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:34:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:34:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:34:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:34:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:34:42 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 11:34:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:34:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:34:42 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 11:34:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:34:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:34:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:34:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:34:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:34:42 UTC] 📊 Database Info:
[21-Nov-2025 11:34:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:34:42 UTC]    Books columns count: 44
[21-Nov-2025 11:34:42 UTC]    Categories columns count: 7
[21-Nov-2025 11:34:42 UTC]    Language field in books: YES
[21-Nov-2025 11:34:42 UTC]    Format field in books: YES
[21-Nov-2025 11:34:42 UTC]    Description field in categories: YES
[21-Nov-2025 11:34:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:34:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:34:42 UTC]    Is_active field in books: YES
[21-Nov-2025 11:34:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:34:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:34:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:34:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:34:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:34:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:34:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:34:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:34:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:34:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:34:42 UTC] 📊 Database Info:
[21-Nov-2025 11:34:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:34:42 UTC]    Books columns count: 44
[21-Nov-2025 11:34:42 UTC]    Categories columns count: 7
[21-Nov-2025 11:34:42 UTC]    Language field in books: YES
[21-Nov-2025 11:34:42 UTC]    Format field in books: YES
[21-Nov-2025 11:34:42 UTC]    Description field in categories: YES
[21-Nov-2025 11:34:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:34:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:34:42 UTC]    Is_active field in books: YES
[21-Nov-2025 11:34:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:34:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:34:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:34:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:34:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:34:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:34:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:34:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:34:42 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 11:34:42 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 11:35:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:35:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:35:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:35:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:35:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:35:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:35:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:35:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:35:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:35:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:35:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:35:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:35:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:35:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:35:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:35:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:35:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:35:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:35:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:35:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:35:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:35:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:35:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:35:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:35:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:35:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:35:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:35:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:35:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:35:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:35:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:35:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:35:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:35:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:35:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:35:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:35:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:35:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:35:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:35:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:35:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:35:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:35:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:35:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:35:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:35:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:35:28 UTC] 📊 Database Info:
[21-Nov-2025 11:35:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:35:28 UTC]    Books columns count: 44
[21-Nov-2025 11:35:28 UTC]    Categories columns count: 7
[21-Nov-2025 11:35:28 UTC]    Language field in books: YES
[21-Nov-2025 11:35:28 UTC]    Format field in books: YES
[21-Nov-2025 11:35:28 UTC]    Description field in categories: YES
[21-Nov-2025 11:35:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:35:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:35:28 UTC]    Is_active field in books: YES
[21-Nov-2025 11:35:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:35:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:35:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:35:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:35:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:35:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:35:28 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 11:35:28 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 11:35:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:35:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:35:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:35:28 UTC] 📊 Database Info:
[21-Nov-2025 11:35:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:35:28 UTC]    Books columns count: 44
[21-Nov-2025 11:35:28 UTC]    Categories columns count: 7
[21-Nov-2025 11:35:28 UTC]    Language field in books: YES
[21-Nov-2025 11:35:28 UTC]    Format field in books: YES
[21-Nov-2025 11:35:28 UTC]    Description field in categories: YES
[21-Nov-2025 11:35:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:35:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:35:28 UTC]    Is_active field in books: YES
[21-Nov-2025 11:35:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:35:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:35:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:35:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:35:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:35:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:35:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:35:28 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 11:35:28 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 11:35:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:35:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:35:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:35:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:35:28 UTC] 📊 Database Info:
[21-Nov-2025 11:35:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:35:28 UTC]    Books columns count: 44
[21-Nov-2025 11:35:28 UTC]    Categories columns count: 7
[21-Nov-2025 11:35:28 UTC]    Language field in books: YES
[21-Nov-2025 11:35:28 UTC]    Format field in books: YES
[21-Nov-2025 11:35:28 UTC]    Description field in categories: YES
[21-Nov-2025 11:35:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:35:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:35:28 UTC]    Is_active field in books: YES
[21-Nov-2025 11:35:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:35:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:35:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:35:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:35:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:35:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:38:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:38:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:38:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:38:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:38:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:38:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:38:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:38:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:38:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:38:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:38:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:38:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:38:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:38:29 UTC] 📊 Database Info:
[21-Nov-2025 11:38:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:38:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:38:29 UTC] 📊 Database Info:
[21-Nov-2025 11:38:29 UTC]    Books columns count: 44
[21-Nov-2025 11:38:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:38:29 UTC]    Categories columns count: 7
[21-Nov-2025 11:38:29 UTC]    Books columns count: 44
[21-Nov-2025 11:38:29 UTC]    Categories columns count: 7
[21-Nov-2025 11:38:29 UTC]    Language field in books: YES
[21-Nov-2025 11:38:29 UTC]    Language field in books: YES
[21-Nov-2025 11:38:29 UTC]    Format field in books: YES
[21-Nov-2025 11:38:29 UTC]    Format field in books: YES
[21-Nov-2025 11:38:29 UTC]    Description field in categories: YES
[21-Nov-2025 11:38:29 UTC]    Description field in categories: YES
[21-Nov-2025 11:38:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:38:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:38:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:38:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:38:29 UTC]    Is_active field in books: YES
[21-Nov-2025 11:38:29 UTC]    Is_active field in books: YES
[21-Nov-2025 11:38:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:38:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:38:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:38:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:38:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:38:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:38:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:38:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:38:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:38:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:38:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:38:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:38:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:30 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:38:30 UTC] 📊 Database Info:
[21-Nov-2025 11:38:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:38:30 UTC]    Books columns count: 44
[21-Nov-2025 11:38:30 UTC]    Categories columns count: 7
[21-Nov-2025 11:38:30 UTC]    Language field in books: YES
[21-Nov-2025 11:38:30 UTC]    Format field in books: YES
[21-Nov-2025 11:38:30 UTC]    Description field in categories: YES
[21-Nov-2025 11:38:30 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:38:30 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:38:30 UTC]    Is_active field in books: YES
[21-Nov-2025 11:38:30 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:38:30 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:38:30 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:38:30 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:38:30 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:38:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:38:30 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:38:30 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:38:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:38:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:38:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:38:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:38:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:38:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:38:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:38:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:38:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:38:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:38:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:38:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:38:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:34 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:38:34 UTC] 📊 Database Info:
[21-Nov-2025 11:38:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:38:34 UTC]    Books columns count: 44
[21-Nov-2025 11:38:34 UTC]    Categories columns count: 7
[21-Nov-2025 11:38:34 UTC]    Language field in books: YES
[21-Nov-2025 11:38:34 UTC]    Format field in books: YES
[21-Nov-2025 11:38:34 UTC]    Description field in categories: YES
[21-Nov-2025 11:38:34 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:38:34 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:38:34 UTC]    Is_active field in books: YES
[21-Nov-2025 11:38:34 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:38:34 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:38:34 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:38:34 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:38:34 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:38:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:38:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:34 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:38:34 UTC] 📊 Database Info:
[21-Nov-2025 11:38:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:38:34 UTC]    Books columns count: 44
[21-Nov-2025 11:38:34 UTC]    Categories columns count: 7
[21-Nov-2025 11:38:34 UTC]    Language field in books: YES
[21-Nov-2025 11:38:34 UTC]    Format field in books: YES
[21-Nov-2025 11:38:34 UTC]    Description field in categories: YES
[21-Nov-2025 11:38:34 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:38:34 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:38:34 UTC]    Is_active field in books: YES
[21-Nov-2025 11:38:34 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:38:34 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:38:34 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:38:34 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:38:34 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:38:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:38:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:34 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:38:34 UTC] 📊 Database Info:
[21-Nov-2025 11:38:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:38:34 UTC]    Books columns count: 44
[21-Nov-2025 11:38:34 UTC]    Categories columns count: 7
[21-Nov-2025 11:38:34 UTC]    Language field in books: YES
[21-Nov-2025 11:38:34 UTC]    Format field in books: YES
[21-Nov-2025 11:38:34 UTC]    Description field in categories: YES
[21-Nov-2025 11:38:34 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:38:34 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:38:34 UTC]    Is_active field in books: YES
[21-Nov-2025 11:38:34 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:38:34 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:38:34 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:38:34 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:38:34 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:38:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:38:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:38:34 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:38:34 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:38:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:38:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:38:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:38:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:38:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:38:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:38:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:38:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:38:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:38:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:38:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:38:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:38:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:38:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:38:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:38:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:38:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:38:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:38:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:38:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:38:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:38:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:38:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:38:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:38:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:38:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:38:58 UTC] 📊 Database Info:
[21-Nov-2025 11:38:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:38:58 UTC]    Books columns count: 44
[21-Nov-2025 11:38:58 UTC]    Categories columns count: 7
[21-Nov-2025 11:38:58 UTC]    Language field in books: YES
[21-Nov-2025 11:38:58 UTC]    Format field in books: YES
[21-Nov-2025 11:38:58 UTC]    Description field in categories: YES
[21-Nov-2025 11:38:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:38:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:38:58 UTC]    Is_active field in books: YES
[21-Nov-2025 11:38:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:38:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:38:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:38:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:38:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:38:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:38:58 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:38:58 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:38:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:38:58 UTC] 📊 Database Info:
[21-Nov-2025 11:38:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:38:58 UTC]    Books columns count: 44
[21-Nov-2025 11:38:58 UTC]    Categories columns count: 7
[21-Nov-2025 11:38:58 UTC]    Language field in books: YES
[21-Nov-2025 11:38:58 UTC]    Format field in books: YES
[21-Nov-2025 11:38:58 UTC]    Description field in categories: YES
[21-Nov-2025 11:38:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:38:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:38:58 UTC]    Is_active field in books: YES
[21-Nov-2025 11:38:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:38:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:38:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:38:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:38:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:38:58 UTC] 📊 Database Info:
[21-Nov-2025 11:38:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:38:58 UTC]    Books columns count: 44
[21-Nov-2025 11:38:58 UTC]    Categories columns count: 7
[21-Nov-2025 11:38:58 UTC]    Language field in books: YES
[21-Nov-2025 11:38:58 UTC]    Format field in books: YES
[21-Nov-2025 11:38:58 UTC]    Description field in categories: YES
[21-Nov-2025 11:38:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:38:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:38:58 UTC]    Is_active field in books: YES
[21-Nov-2025 11:38:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:38:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:38:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:38:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:38:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:38:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:38:58 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:38:58 UTC] 📊 Database Info:
[21-Nov-2025 11:38:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:38:58 UTC]    Books columns count: 44
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:38:58 UTC]    Categories columns count: 7
[21-Nov-2025 11:38:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:38:58 UTC]    Language field in books: YES
[21-Nov-2025 11:38:58 UTC]    Format field in books: YES
[21-Nov-2025 11:38:58 UTC]    Description field in categories: YES
[21-Nov-2025 11:38:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:38:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:38:58 UTC]    Is_active field in books: YES
[21-Nov-2025 11:38:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:38:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:38:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:38:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:38:58 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:38:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:38:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:38:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:38:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:38:58 UTC] 📊 Database Info:
[21-Nov-2025 11:38:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:38:58 UTC]    Books columns count: 44
[21-Nov-2025 11:38:58 UTC]    Categories columns count: 7
[21-Nov-2025 11:38:58 UTC]    Language field in books: YES
[21-Nov-2025 11:38:58 UTC]    Format field in books: YES
[21-Nov-2025 11:38:58 UTC]    Description field in categories: YES
[21-Nov-2025 11:38:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:38:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:38:58 UTC]    Is_active field in books: YES
[21-Nov-2025 11:38:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:38:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:38:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:38:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:38:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:38:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:38:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:38:58 UTC] 📊 Database Info:
[21-Nov-2025 11:38:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:38:58 UTC]    Books columns count: 44
[21-Nov-2025 11:38:58 UTC]    Categories columns count: 7
[21-Nov-2025 11:38:58 UTC]    Language field in books: YES
[21-Nov-2025 11:38:58 UTC]    Format field in books: YES
[21-Nov-2025 11:38:58 UTC]    Description field in categories: YES
[21-Nov-2025 11:38:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:38:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:38:58 UTC]    Is_active field in books: YES
[21-Nov-2025 11:38:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:38:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:38:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:38:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:38:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:38:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:40:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:40:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:40:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:40:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:40:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:40:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:40:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:40:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:40:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:40:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:40:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:40:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:40:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:40:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:40:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:40:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:40:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:40:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:40:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:40:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:40:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:40:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:40:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:40:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:40:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:40:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:40:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:40:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:40:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:40:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:40:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:40:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:40:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:40:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:40:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:40:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:40:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:40:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:40:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:40:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:40:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:40:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:40:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:40:30 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:40:30 UTC] 📊 Database Info:
[21-Nov-2025 11:40:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:40:30 UTC]    Books columns count: 44
[21-Nov-2025 11:40:30 UTC]    Categories columns count: 7
[21-Nov-2025 11:40:30 UTC]    Language field in books: YES
[21-Nov-2025 11:40:30 UTC]    Format field in books: YES
[21-Nov-2025 11:40:30 UTC]    Description field in categories: YES
[21-Nov-2025 11:40:30 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:40:30 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:40:30 UTC]    Is_active field in books: YES
[21-Nov-2025 11:40:30 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:40:30 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:40:30 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:40:30 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:40:30 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:40:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:40:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:40:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:40:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:40:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:40:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:40:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:40:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:40:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:40:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:40:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:40:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:40:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:40:30 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:40:30 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:40:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:40:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:40:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:40:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:40:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:40:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:40:31 UTC] 📊 Database Info:
[21-Nov-2025 11:40:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:40:31 UTC]    Books columns count: 44
[21-Nov-2025 11:40:31 UTC]    Categories columns count: 7
[21-Nov-2025 11:40:31 UTC]    Language field in books: YES
[21-Nov-2025 11:40:31 UTC]    Format field in books: YES
[21-Nov-2025 11:40:31 UTC]    Description field in categories: YES
[21-Nov-2025 11:40:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:40:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:40:31 UTC]    Is_active field in books: YES
[21-Nov-2025 11:40:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:40:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:40:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:40:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:40:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:40:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:40:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:40:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:40:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:40:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:40:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:40:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:40:31 UTC] 📊 Database Info:
[21-Nov-2025 11:40:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:40:31 UTC]    Books columns count: 44
[21-Nov-2025 11:40:31 UTC]    Categories columns count: 7
[21-Nov-2025 11:40:31 UTC]    Language field in books: YES
[21-Nov-2025 11:40:31 UTC]    Format field in books: YES
[21-Nov-2025 11:40:31 UTC]    Description field in categories: YES
[21-Nov-2025 11:40:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:40:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:40:31 UTC]    Is_active field in books: YES
[21-Nov-2025 11:40:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:40:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:40:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:40:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:40:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:40:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:40:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:40:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:40:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:40:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:40:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:40:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:40:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:40:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:40:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:40:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:40:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:40:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:40:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:40:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:40:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:40:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:40:47 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:40:47 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:40:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:40:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:40:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:40:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:40:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:40:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:40:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:40:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:40:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:40:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:40:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:40:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:40:47 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:40:47 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:40:47 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:40:47 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:40:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:40:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:40:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:40:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:40:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:40:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:40:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:40:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:40:47 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:40:47 UTC] 📊 Database Info:
[21-Nov-2025 11:40:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:40:47 UTC]    Books columns count: 44
[21-Nov-2025 11:40:47 UTC]    Categories columns count: 7
[21-Nov-2025 11:40:47 UTC]    Language field in books: YES
[21-Nov-2025 11:40:47 UTC]    Format field in books: YES
[21-Nov-2025 11:40:47 UTC]    Description field in categories: YES
[21-Nov-2025 11:40:47 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:40:47 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:40:47 UTC]    Is_active field in books: YES
[21-Nov-2025 11:40:47 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:40:47 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:40:47 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:40:47 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:40:47 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:40:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:40:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:40:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:40:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:40:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:40:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:40:47 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:40:47 UTC] 📊 Database Info:
[21-Nov-2025 11:40:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:40:47 UTC]    Books columns count: 44
[21-Nov-2025 11:40:47 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:40:47 UTC]    Categories columns count: 7
[21-Nov-2025 11:40:47 UTC] 📊 Database Info:
[21-Nov-2025 11:40:47 UTC]    Language field in books: YES
[21-Nov-2025 11:40:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:40:47 UTC]    Format field in books: YES
[21-Nov-2025 11:40:47 UTC]    Books columns count: 44
[21-Nov-2025 11:40:47 UTC]    Description field in categories: YES
[21-Nov-2025 11:40:47 UTC]    Categories columns count: 7
[21-Nov-2025 11:40:47 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:40:47 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:40:47 UTC]    Is_active field in books: YES
[21-Nov-2025 11:40:47 UTC]    Language field in books: YES
[21-Nov-2025 11:40:47 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:40:47 UTC]    Format field in books: YES
[21-Nov-2025 11:40:47 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:40:47 UTC]    Description field in categories: YES
[21-Nov-2025 11:40:47 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:40:47 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:40:47 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:40:47 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:40:47 UTC]    Is_active field in books: YES
[21-Nov-2025 11:40:47 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:40:47 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:40:47 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:40:47 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:40:47 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:40:47 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:40:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:40:47 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:40:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:40:47 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:41:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:41:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:41:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:41:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:41:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:41:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:41:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:41:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:41:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:41:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:41:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:41:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:41:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:41:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:41:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:41:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:41:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:41:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:41:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:41:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:41:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:41:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:41:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:41:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:41:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:41:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:41:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:41:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:41:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:41:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:41:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:41:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:41:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:41:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:41:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:41:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:41:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:41:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:41:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:41:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:41:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:41:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:41:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:41:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:41:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:41:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:41:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:41:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:41:16 UTC] 📊 Database Info:
[21-Nov-2025 11:41:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:41:16 UTC]    Books columns count: 44
[21-Nov-2025 11:41:16 UTC]    Categories columns count: 7
[21-Nov-2025 11:41:16 UTC]    Language field in books: YES
[21-Nov-2025 11:41:16 UTC]    Format field in books: YES
[21-Nov-2025 11:41:16 UTC]    Description field in categories: YES
[21-Nov-2025 11:41:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:41:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:41:16 UTC]    Is_active field in books: YES
[21-Nov-2025 11:41:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:41:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:41:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:41:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:41:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:41:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:41:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:41:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:41:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:41:16 UTC] 📊 Database Info:
[21-Nov-2025 11:41:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:41:16 UTC]    Books columns count: 44
[21-Nov-2025 11:41:16 UTC]    Categories columns count: 7
[21-Nov-2025 11:41:16 UTC]    Language field in books: YES
[21-Nov-2025 11:41:16 UTC]    Format field in books: YES
[21-Nov-2025 11:41:16 UTC]    Description field in categories: YES
[21-Nov-2025 11:41:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:41:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:41:16 UTC]    Is_active field in books: YES
[21-Nov-2025 11:41:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:41:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:41:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:41:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:41:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:41:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:41:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:41:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:41:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:41:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:41:16 UTC] 📊 Database Info:
[21-Nov-2025 11:41:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:41:16 UTC]    Books columns count: 44
[21-Nov-2025 11:41:16 UTC]    Categories columns count: 7
[21-Nov-2025 11:41:16 UTC]    Language field in books: YES
[21-Nov-2025 11:41:16 UTC]    Format field in books: YES
[21-Nov-2025 11:41:16 UTC]    Description field in categories: YES
[21-Nov-2025 11:41:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:41:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:41:16 UTC]    Is_active field in books: YES
[21-Nov-2025 11:41:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:41:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:41:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:41:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:41:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:41:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:41:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:41:16 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:41:16 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:42:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:42:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:42:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:42:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:42:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:42:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:42:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:42:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:42:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:42:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:42:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:42:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:42:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:42:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:42:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:42:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:42:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:42:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:42:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:42:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:42:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:42:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:42:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:42:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:42:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:42:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:42:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:42:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:42:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:42:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:42:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:42:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:42:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:42:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:42:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:42:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:42:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:42:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:42:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:42:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:42:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:42:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:42:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:42:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:42:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:42:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:42:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:42:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:42:09 UTC] 📊 Database Info:
[21-Nov-2025 11:42:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:42:09 UTC]    Books columns count: 44
[21-Nov-2025 11:42:09 UTC]    Categories columns count: 7
[21-Nov-2025 11:42:09 UTC]    Language field in books: YES
[21-Nov-2025 11:42:09 UTC]    Format field in books: YES
[21-Nov-2025 11:42:09 UTC]    Description field in categories: YES
[21-Nov-2025 11:42:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:42:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:42:09 UTC]    Is_active field in books: YES
[21-Nov-2025 11:42:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:42:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:42:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:42:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:42:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:42:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:42:09 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:42:09 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:42:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:42:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:42:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:42:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:42:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:42:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:42:09 UTC] 📊 Database Info:
[21-Nov-2025 11:42:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:42:09 UTC]    Books columns count: 44
[21-Nov-2025 11:42:09 UTC]    Categories columns count: 7
[21-Nov-2025 11:42:09 UTC]    Language field in books: YES
[21-Nov-2025 11:42:09 UTC]    Format field in books: YES
[21-Nov-2025 11:42:09 UTC]    Description field in categories: YES
[21-Nov-2025 11:42:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:42:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:42:09 UTC]    Is_active field in books: YES
[21-Nov-2025 11:42:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:42:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:42:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:42:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:42:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:42:09 UTC] 📊 Database Info:
[21-Nov-2025 11:42:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:42:09 UTC]    Books columns count: 44
[21-Nov-2025 11:42:09 UTC]    Categories columns count: 7
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:42:09 UTC]    Language field in books: YES
[21-Nov-2025 11:42:09 UTC]    Format field in books: YES
[21-Nov-2025 11:42:09 UTC]    Description field in categories: YES
[21-Nov-2025 11:42:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:42:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:42:09 UTC]    Is_active field in books: YES
[21-Nov-2025 11:42:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:42:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:42:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:42:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:42:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:42:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:42:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:42:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:42:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:42:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:42:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:42:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:42:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:42:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:42:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:42:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:42:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:42:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:42:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:42:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:42:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:42:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:42:40 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:42:40 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:42:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:42:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:42:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:42:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:42:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:42:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:42:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:42:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:42:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:42:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:42:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:42:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:42:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:42:40 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:42:40 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:42:40 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:42:40 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:42:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:42:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:42:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:42:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:42:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:42:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:42:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:42:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:42:40 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:42:40 UTC] 📊 Database Info:
[21-Nov-2025 11:42:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:42:40 UTC]    Books columns count: 44
[21-Nov-2025 11:42:40 UTC]    Categories columns count: 7
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:42:40 UTC]    Language field in books: YES
[21-Nov-2025 11:42:40 UTC]    Format field in books: YES
[21-Nov-2025 11:42:40 UTC]    Description field in categories: YES
[21-Nov-2025 11:42:40 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:42:40 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:42:40 UTC]    Is_active field in books: YES
[21-Nov-2025 11:42:40 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:42:40 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:42:40 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:42:40 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:42:40 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:42:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:42:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:42:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:42:40 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:42:40 UTC] 📊 Database Info:
[21-Nov-2025 11:42:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:42:40 UTC]    Books columns count: 44
[21-Nov-2025 11:42:40 UTC]    Categories columns count: 7
[21-Nov-2025 11:42:40 UTC]    Language field in books: YES
[21-Nov-2025 11:42:40 UTC]    Format field in books: YES
[21-Nov-2025 11:42:40 UTC]    Description field in categories: YES
[21-Nov-2025 11:42:40 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:42:40 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:42:40 UTC]    Is_active field in books: YES
[21-Nov-2025 11:42:40 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:42:40 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:42:40 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:42:40 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:42:40 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:42:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:42:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:42:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:42:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:42:40 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:42:40 UTC] 📊 Database Info:
[21-Nov-2025 11:42:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:42:40 UTC]    Books columns count: 44
[21-Nov-2025 11:42:40 UTC]    Categories columns count: 7
[21-Nov-2025 11:42:40 UTC]    Language field in books: YES
[21-Nov-2025 11:42:40 UTC]    Format field in books: YES
[21-Nov-2025 11:42:40 UTC]    Description field in categories: YES
[21-Nov-2025 11:42:40 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:42:40 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:42:40 UTC]    Is_active field in books: YES
[21-Nov-2025 11:42:40 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:42:40 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:42:40 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:42:40 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:42:40 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:42:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:42:40 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:42:40 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:43:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:43:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:43:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:43:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:43:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:43:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:43:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:43:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:43:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:43:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:43:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:43:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:43:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:43:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:43:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:43:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:43:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:43:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:43:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:43:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:43:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:43:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:43:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:43:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:43:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:43:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:43:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:43:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:43:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:43:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:43:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:43:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:43:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:43:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:43:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:43:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:43:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:43:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:43:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:43:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:43:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:43:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:43:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:43:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:43:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:43:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:43:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:43:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:43:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:43:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:43:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:43:16 UTC] 📊 Database Info:
[21-Nov-2025 11:43:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:43:16 UTC]    Books columns count: 44
[21-Nov-2025 11:43:16 UTC]    Categories columns count: 7
[21-Nov-2025 11:43:16 UTC]    Language field in books: YES
[21-Nov-2025 11:43:16 UTC]    Format field in books: YES
[21-Nov-2025 11:43:16 UTC]    Description field in categories: YES
[21-Nov-2025 11:43:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:43:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:43:16 UTC]    Is_active field in books: YES
[21-Nov-2025 11:43:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:43:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:43:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:43:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:43:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:43:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:43:16 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:43:16 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:43:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:43:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:43:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:43:16 UTC] 📊 Database Info:
[21-Nov-2025 11:43:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:43:16 UTC]    Books columns count: 44
[21-Nov-2025 11:43:16 UTC]    Categories columns count: 7
[21-Nov-2025 11:43:16 UTC]    Language field in books: YES
[21-Nov-2025 11:43:16 UTC]    Format field in books: YES
[21-Nov-2025 11:43:16 UTC]    Description field in categories: YES
[21-Nov-2025 11:43:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:43:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:43:16 UTC]    Is_active field in books: YES
[21-Nov-2025 11:43:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:43:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:43:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:43:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:43:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:43:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:43:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:43:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:43:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:43:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:43:16 UTC] 📊 Database Info:
[21-Nov-2025 11:43:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:43:16 UTC]    Books columns count: 44
[21-Nov-2025 11:43:16 UTC]    Categories columns count: 7
[21-Nov-2025 11:43:16 UTC]    Language field in books: YES
[21-Nov-2025 11:43:16 UTC]    Format field in books: YES
[21-Nov-2025 11:43:16 UTC]    Description field in categories: YES
[21-Nov-2025 11:43:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:43:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:43:16 UTC]    Is_active field in books: YES
[21-Nov-2025 11:43:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:43:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:43:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:43:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:43:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:43:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:43:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:43:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:43:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:43:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:43:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:43:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:43:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:43:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:43:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:43:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:43:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:43:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:43:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:43:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:43:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:43:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:43:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:43:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:43:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:43:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:43:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:43:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:43:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:43:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:43:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:43:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:43:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:43:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:43:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:43:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:43:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:43:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:43:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:43:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:43:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:43:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:43:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:43:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:43:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:43:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:43:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:43:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:43:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:43:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:43:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:43:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:43:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:43:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:43:29 UTC] 📊 Database Info:
[21-Nov-2025 11:43:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:43:29 UTC]    Books columns count: 44
[21-Nov-2025 11:43:29 UTC]    Categories columns count: 7
[21-Nov-2025 11:43:29 UTC]    Language field in books: YES
[21-Nov-2025 11:43:29 UTC]    Format field in books: YES
[21-Nov-2025 11:43:29 UTC]    Description field in categories: YES
[21-Nov-2025 11:43:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:43:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:43:29 UTC]    Is_active field in books: YES
[21-Nov-2025 11:43:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:43:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:43:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:43:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:43:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:43:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:43:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:43:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:43:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:43:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:43:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:43:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:43:29 UTC] 📊 Database Info:
[21-Nov-2025 11:43:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:43:29 UTC]    Books columns count: 44
[21-Nov-2025 11:43:29 UTC]    Categories columns count: 7
[21-Nov-2025 11:43:29 UTC]    Language field in books: YES
[21-Nov-2025 11:43:29 UTC]    Format field in books: YES
[21-Nov-2025 11:43:29 UTC]    Description field in categories: YES
[21-Nov-2025 11:43:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:43:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:43:29 UTC]    Is_active field in books: YES
[21-Nov-2025 11:43:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:43:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:43:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:43:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:43:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:43:29 UTC] 📊 Database Info:
[21-Nov-2025 11:43:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:43:29 UTC]    Books columns count: 44
[21-Nov-2025 11:43:29 UTC]    Categories columns count: 7
[21-Nov-2025 11:43:29 UTC]    Language field in books: YES
[21-Nov-2025 11:43:29 UTC]    Format field in books: YES
[21-Nov-2025 11:43:29 UTC]    Description field in categories: YES
[21-Nov-2025 11:43:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:43:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:43:29 UTC]    Is_active field in books: YES
[21-Nov-2025 11:43:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:43:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:43:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:43:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:43:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:43:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:43:29 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:43:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:43:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:43:29 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:43:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:43:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:43:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:43:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:43:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:43:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:43:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:43:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:43:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:43:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:43:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:43:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:43:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:43:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:43:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:43:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:43:45 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:43:45 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:43:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:43:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:43:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:43:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:43:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:43:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:43:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:43:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:43:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:43:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:43:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:43:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:43:45 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:43:45 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:43:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:43:45 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:43:45 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:43:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:43:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:43:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:43:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:43:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:43:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:43:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:43:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:43:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:43:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:43:45 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:43:45 UTC] 📊 Database Info:
[21-Nov-2025 11:43:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:43:45 UTC]    Books columns count: 44
[21-Nov-2025 11:43:45 UTC]    Categories columns count: 7
[21-Nov-2025 11:43:45 UTC]    Language field in books: YES
[21-Nov-2025 11:43:45 UTC]    Format field in books: YES
[21-Nov-2025 11:43:45 UTC]    Description field in categories: YES
[21-Nov-2025 11:43:45 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:43:45 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:43:45 UTC]    Is_active field in books: YES
[21-Nov-2025 11:43:45 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:43:45 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:43:45 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:43:45 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:43:45 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:43:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:43:45 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:43:45 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:43:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:43:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:43:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:43:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:43:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:43:45 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:43:45 UTC] 📊 Database Info:
[21-Nov-2025 11:43:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:43:45 UTC]    Books columns count: 44
[21-Nov-2025 11:43:45 UTC]    Categories columns count: 7
[21-Nov-2025 11:43:45 UTC]    Language field in books: YES
[21-Nov-2025 11:43:45 UTC]    Format field in books: YES
[21-Nov-2025 11:43:45 UTC]    Description field in categories: YES
[21-Nov-2025 11:43:45 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:43:45 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:43:45 UTC]    Is_active field in books: YES
[21-Nov-2025 11:43:45 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:43:45 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:43:45 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:43:45 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:43:45 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:43:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:43:45 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:43:45 UTC] 📊 Database Info:
[21-Nov-2025 11:43:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:43:45 UTC]    Books columns count: 44
[21-Nov-2025 11:43:45 UTC]    Categories columns count: 7
[21-Nov-2025 11:43:45 UTC]    Language field in books: YES
[21-Nov-2025 11:43:45 UTC]    Format field in books: YES
[21-Nov-2025 11:43:45 UTC]    Description field in categories: YES
[21-Nov-2025 11:43:45 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:43:45 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:43:45 UTC]    Is_active field in books: YES
[21-Nov-2025 11:43:45 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:43:45 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:43:45 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:43:45 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:43:45 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:43:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:43:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:47:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:47:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:47:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:47:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:47:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:47:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:47:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:47:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:47:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:47:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:47:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:47:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:47:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:47:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:47:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:47:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:47:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:47:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:47:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:47:31 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:47:31 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:47:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:47:31 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:47:31 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:47:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:47:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:47:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:47:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:47:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:47:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:47:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:47:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:47:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:47:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:47:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:47:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:47:31 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:47:31 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:47:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:47:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:47:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:47:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:47:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:47:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:47:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:47:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:47:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:47:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:47:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:47:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:47:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:47:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:47:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:47:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:47:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:47:31 UTC] 📊 Database Info:
[21-Nov-2025 11:47:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:47:31 UTC]    Books columns count: 44
[21-Nov-2025 11:47:31 UTC]    Categories columns count: 7
[21-Nov-2025 11:47:31 UTC]    Language field in books: YES
[21-Nov-2025 11:47:31 UTC]    Format field in books: YES
[21-Nov-2025 11:47:31 UTC]    Description field in categories: YES
[21-Nov-2025 11:47:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:47:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:47:31 UTC]    Is_active field in books: YES
[21-Nov-2025 11:47:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:47:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:47:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:47:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:47:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:47:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:47:31 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:47:31 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:47:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:47:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:47:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:47:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:47:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:47:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:47:31 UTC] 📊 Database Info:
[21-Nov-2025 11:47:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:47:31 UTC]    Books columns count: 44
[21-Nov-2025 11:47:31 UTC]    Categories columns count: 7
[21-Nov-2025 11:47:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:47:31 UTC] 📊 Database Info:
[21-Nov-2025 11:47:31 UTC]    Language field in books: YES
[21-Nov-2025 11:47:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:47:31 UTC]    Books columns count: 44
[21-Nov-2025 11:47:31 UTC]    Categories columns count: 7
[21-Nov-2025 11:47:31 UTC]    Format field in books: YES
[21-Nov-2025 11:47:31 UTC]    Language field in books: YES
[21-Nov-2025 11:47:31 UTC]    Format field in books: YES
[21-Nov-2025 11:47:31 UTC]    Description field in categories: YES
[21-Nov-2025 11:47:31 UTC]    Description field in categories: YES
[21-Nov-2025 11:47:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:47:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:47:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:47:31 UTC]    Is_active field in books: YES
[21-Nov-2025 11:47:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:47:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:47:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:47:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:47:31 UTC]    Is_active field in books: YES
[21-Nov-2025 11:47:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:47:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:47:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:47:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:47:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:47:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:47:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:47:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:49:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:49:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:49:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:49:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:49:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:49:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:49:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:49:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:49:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:49:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:49:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:49:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:49:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:49:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:49:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:49:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:49:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:49:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:49:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:49:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:49:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:49:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:49:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:49:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:49:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:49:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:49:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:49:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:49:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:49:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:49:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:49:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:49:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:49:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:49:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:49:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:49:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:49:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:49:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:49:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:49:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:49:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:49:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:49:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:49:10 UTC] 📊 Database Info:
[21-Nov-2025 11:49:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:49:10 UTC]    Books columns count: 44
[21-Nov-2025 11:49:10 UTC]    Categories columns count: 7
[21-Nov-2025 11:49:10 UTC]    Language field in books: YES
[21-Nov-2025 11:49:10 UTC]    Format field in books: YES
[21-Nov-2025 11:49:10 UTC]    Description field in categories: YES
[21-Nov-2025 11:49:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:49:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:49:10 UTC]    Is_active field in books: YES
[21-Nov-2025 11:49:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:49:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:49:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:49:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:49:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:49:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:49:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:49:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:49:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:49:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:49:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:49:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:49:10 UTC] 📊 Database Info:
[21-Nov-2025 11:49:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:49:10 UTC]    Books columns count: 44
[21-Nov-2025 11:49:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:49:10 UTC]    Categories columns count: 7
[21-Nov-2025 11:49:10 UTC] 📊 Database Info:
[21-Nov-2025 11:49:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:49:10 UTC]    Language field in books: YES
[21-Nov-2025 11:49:10 UTC]    Books columns count: 44
[21-Nov-2025 11:49:10 UTC]    Format field in books: YES
[21-Nov-2025 11:49:10 UTC]    Categories columns count: 7
[21-Nov-2025 11:49:10 UTC]    Description field in categories: YES
[21-Nov-2025 11:49:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:49:10 UTC]    Language field in books: YES
[21-Nov-2025 11:49:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:49:10 UTC]    Is_active field in books: YES
[21-Nov-2025 11:49:10 UTC]    Format field in books: YES
[21-Nov-2025 11:49:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:49:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:49:10 UTC]    Description field in categories: YES
[21-Nov-2025 11:49:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:49:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:49:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:49:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:49:10 UTC]    Is_active field in books: YES
[21-Nov-2025 11:49:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:49:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:49:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:49:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:49:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:49:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:49:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:49:10 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:49:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:49:10 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:50:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:50:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:50:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:50:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:50:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:50:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:50:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:50:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:50:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:50:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:50:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:50:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:50:00 UTC] 📊 Database Info:
[21-Nov-2025 11:50:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:50:00 UTC]    Books columns count: 44
[21-Nov-2025 11:50:00 UTC]    Categories columns count: 7
[21-Nov-2025 11:50:00 UTC]    Language field in books: YES
[21-Nov-2025 11:50:00 UTC]    Format field in books: YES
[21-Nov-2025 11:50:00 UTC]    Description field in categories: YES
[21-Nov-2025 11:50:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:50:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:50:00 UTC]    Is_active field in books: YES
[21-Nov-2025 11:50:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:50:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:50:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:50:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:50:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:50:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:50:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:50:00 UTC] 📊 Database Info:
[21-Nov-2025 11:50:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:50:00 UTC]    Books columns count: 44
[21-Nov-2025 11:50:00 UTC]    Categories columns count: 7
[21-Nov-2025 11:50:00 UTC]    Language field in books: YES
[21-Nov-2025 11:50:00 UTC]    Format field in books: YES
[21-Nov-2025 11:50:00 UTC]    Description field in categories: YES
[21-Nov-2025 11:50:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:50:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:50:00 UTC]    Is_active field in books: YES
[21-Nov-2025 11:50:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:50:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:50:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:50:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:50:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:50:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:50:00 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:50:00 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:50:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:50:00 UTC] 📊 Database Info:
[21-Nov-2025 11:50:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:50:00 UTC]    Books columns count: 44
[21-Nov-2025 11:50:00 UTC]    Categories columns count: 7
[21-Nov-2025 11:50:00 UTC]    Language field in books: YES
[21-Nov-2025 11:50:00 UTC]    Format field in books: YES
[21-Nov-2025 11:50:00 UTC]    Description field in categories: YES
[21-Nov-2025 11:50:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:50:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:50:00 UTC]    Is_active field in books: YES
[21-Nov-2025 11:50:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:50:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:50:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:50:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:50:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:50:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:50:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:50:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:50:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:50:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:50:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:50:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:50:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:50:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:50:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:50:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:50:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:50:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:50:19 UTC] 📊 Database Info:
[21-Nov-2025 11:50:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:50:19 UTC]    Books columns count: 44
[21-Nov-2025 11:50:19 UTC]    Categories columns count: 7
[21-Nov-2025 11:50:19 UTC]    Language field in books: YES
[21-Nov-2025 11:50:19 UTC]    Format field in books: YES
[21-Nov-2025 11:50:19 UTC]    Description field in categories: YES
[21-Nov-2025 11:50:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:50:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:50:19 UTC]    Is_active field in books: YES
[21-Nov-2025 11:50:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:50:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:50:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:50:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:50:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:50:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:50:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:50:19 UTC] 📊 Database Info:
[21-Nov-2025 11:50:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:50:19 UTC]    Books columns count: 44
[21-Nov-2025 11:50:19 UTC]    Categories columns count: 7
[21-Nov-2025 11:50:19 UTC]    Language field in books: YES
[21-Nov-2025 11:50:19 UTC]    Format field in books: YES
[21-Nov-2025 11:50:19 UTC]    Description field in categories: YES
[21-Nov-2025 11:50:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:50:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:50:19 UTC]    Is_active field in books: YES
[21-Nov-2025 11:50:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:50:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:50:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:50:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:50:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:50:19 UTC] 📊 Database Info:
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:50:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:50:19 UTC]    Books columns count: 44
[21-Nov-2025 11:50:19 UTC]    Categories columns count: 7
[21-Nov-2025 11:50:19 UTC]    Language field in books: YES
[21-Nov-2025 11:50:19 UTC]    Format field in books: YES
[21-Nov-2025 11:50:19 UTC]    Description field in categories: YES
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:50:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:50:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:50:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:50:19 UTC]    Is_active field in books: YES
[21-Nov-2025 11:50:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:50:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:50:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:50:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:50:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:50:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:50:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:50:19 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:50:19 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:50:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:50:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:50:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:50:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:50:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:25 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:50:25 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:50:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:50:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:50:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:25 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:50:25 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:50:25 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:50:25 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:50:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:50:25 UTC] 📊 Database Info:
[21-Nov-2025 11:50:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:50:25 UTC]    Books columns count: 44
[21-Nov-2025 11:50:25 UTC]    Categories columns count: 7
[21-Nov-2025 11:50:25 UTC]    Language field in books: YES
[21-Nov-2025 11:50:25 UTC]    Format field in books: YES
[21-Nov-2025 11:50:25 UTC]    Description field in categories: YES
[21-Nov-2025 11:50:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:50:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:50:25 UTC]    Is_active field in books: YES
[21-Nov-2025 11:50:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:50:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:50:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:50:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:50:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:50:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:50:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:50:25 UTC] 📊 Database Info:
[21-Nov-2025 11:50:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:50:25 UTC]    Books columns count: 44
[21-Nov-2025 11:50:25 UTC]    Categories columns count: 7
[21-Nov-2025 11:50:25 UTC]    Language field in books: YES
[21-Nov-2025 11:50:25 UTC]    Format field in books: YES
[21-Nov-2025 11:50:25 UTC]    Description field in categories: YES
[21-Nov-2025 11:50:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:50:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:50:25 UTC]    Is_active field in books: YES
[21-Nov-2025 11:50:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:50:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:50:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:50:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:50:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:50:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:50:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:50:25 UTC] 📊 Database Info:
[21-Nov-2025 11:50:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:50:25 UTC]    Books columns count: 44
[21-Nov-2025 11:50:25 UTC]    Categories columns count: 7
[21-Nov-2025 11:50:25 UTC]    Language field in books: YES
[21-Nov-2025 11:50:25 UTC]    Format field in books: YES
[21-Nov-2025 11:50:25 UTC]    Description field in categories: YES
[21-Nov-2025 11:50:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:50:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:50:25 UTC]    Is_active field in books: YES
[21-Nov-2025 11:50:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:50:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:50:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:50:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:50:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:50:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:50:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:50:25 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:50:25 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:50:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:50:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:50:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:50:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:50:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:50:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:50:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:50:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:50:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:50:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:50:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:50:57 UTC] 📊 Database Info:
[21-Nov-2025 11:50:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:50:57 UTC]    Books columns count: 44
[21-Nov-2025 11:50:57 UTC]    Categories columns count: 7
[21-Nov-2025 11:50:57 UTC]    Language field in books: YES
[21-Nov-2025 11:50:57 UTC]    Format field in books: YES
[21-Nov-2025 11:50:57 UTC]    Description field in categories: YES
[21-Nov-2025 11:50:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:50:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:50:57 UTC]    Is_active field in books: YES
[21-Nov-2025 11:50:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:50:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:50:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:50:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:50:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:50:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:50:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:50:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:50:57 UTC] 📊 Database Info:
[21-Nov-2025 11:50:57 UTC] 📊 Database Info:
[21-Nov-2025 11:50:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:50:57 UTC]    Books columns count: 44
[21-Nov-2025 11:50:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:50:57 UTC]    Categories columns count: 7
[21-Nov-2025 11:50:57 UTC]    Books columns count: 44
[21-Nov-2025 11:50:57 UTC]    Categories columns count: 7
[21-Nov-2025 11:50:57 UTC]    Language field in books: YES
[21-Nov-2025 11:50:57 UTC]    Format field in books: YES
[21-Nov-2025 11:50:57 UTC]    Description field in categories: YES
[21-Nov-2025 11:50:57 UTC]    Language field in books: YES
[21-Nov-2025 11:50:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:50:57 UTC]    Format field in books: YES
[21-Nov-2025 11:50:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:50:57 UTC]    Description field in categories: YES
[21-Nov-2025 11:50:57 UTC]    Is_active field in books: YES
[21-Nov-2025 11:50:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:50:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:50:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:50:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:50:57 UTC]    Is_active field in books: YES
[21-Nov-2025 11:50:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:50:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:50:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:50:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:50:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:50:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:50:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:50:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:50:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:50:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:50:57 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:50:57 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:50:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:50:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:50:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:50:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:50:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:50:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:50:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:50:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:50:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:50:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:50:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:50:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:50:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:50:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:50:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:50:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:50:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:50:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:50:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:50:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:50:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:51:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:51:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:51:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:51:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:51:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:51:00 UTC] 📊 Database Info:
[21-Nov-2025 11:51:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:51:00 UTC]    Books columns count: 44
[21-Nov-2025 11:51:00 UTC]    Categories columns count: 7
[21-Nov-2025 11:51:00 UTC]    Language field in books: YES
[21-Nov-2025 11:51:00 UTC]    Format field in books: YES
[21-Nov-2025 11:51:00 UTC]    Description field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Is_active field in books: YES
[21-Nov-2025 11:51:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:51:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:51:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:51:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:51:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:51:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:51:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:51:00 UTC] 📊 Database Info:
[21-Nov-2025 11:51:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:51:00 UTC]    Books columns count: 44
[21-Nov-2025 11:51:00 UTC]    Categories columns count: 7
[21-Nov-2025 11:51:00 UTC]    Language field in books: YES
[21-Nov-2025 11:51:00 UTC]    Format field in books: YES
[21-Nov-2025 11:51:00 UTC]    Description field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Is_active field in books: YES
[21-Nov-2025 11:51:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:51:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:51:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:51:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:51:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:51:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:51:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:51:00 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:51:00 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:51:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:51:00 UTC] 📊 Database Info:
[21-Nov-2025 11:51:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:51:00 UTC]    Books columns count: 44
[21-Nov-2025 11:51:00 UTC]    Categories columns count: 7
[21-Nov-2025 11:51:00 UTC]    Language field in books: YES
[21-Nov-2025 11:51:00 UTC]    Format field in books: YES
[21-Nov-2025 11:51:00 UTC]    Description field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Is_active field in books: YES
[21-Nov-2025 11:51:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:51:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:51:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:51:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:51:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:51:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:51:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:51:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:51:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:51:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:51:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:51:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:51:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:51:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:51:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:51:00 UTC] 📊 Database Info:
[21-Nov-2025 11:51:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:51:00 UTC]    Books columns count: 44
[21-Nov-2025 11:51:00 UTC]    Categories columns count: 7
[21-Nov-2025 11:51:00 UTC]    Language field in books: YES
[21-Nov-2025 11:51:00 UTC]    Format field in books: YES
[21-Nov-2025 11:51:00 UTC]    Description field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Is_active field in books: YES
[21-Nov-2025 11:51:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:51:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:51:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:51:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:51:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:51:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:51:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:51:00 UTC] 📊 Database Info:
[21-Nov-2025 11:51:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:51:00 UTC]    Books columns count: 44
[21-Nov-2025 11:51:00 UTC]    Categories columns count: 7
[21-Nov-2025 11:51:00 UTC]    Language field in books: YES
[21-Nov-2025 11:51:00 UTC]    Format field in books: YES
[21-Nov-2025 11:51:00 UTC]    Description field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Is_active field in books: YES
[21-Nov-2025 11:51:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:51:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:51:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:51:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:51:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:51:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:51:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:51:00 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:51:00 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:51:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:51:00 UTC] 📊 Database Info:
[21-Nov-2025 11:51:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:51:00 UTC]    Books columns count: 44
[21-Nov-2025 11:51:00 UTC]    Categories columns count: 7
[21-Nov-2025 11:51:00 UTC]    Language field in books: YES
[21-Nov-2025 11:51:00 UTC]    Format field in books: YES
[21-Nov-2025 11:51:00 UTC]    Description field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Is_active field in books: YES
[21-Nov-2025 11:51:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:51:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:51:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:51:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:51:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:51:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:51:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:51:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:51:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:51:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:51:00 UTC] 📊 Database Info:
[21-Nov-2025 11:51:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:51:00 UTC]    Books columns count: 44
[21-Nov-2025 11:51:00 UTC]    Categories columns count: 7
[21-Nov-2025 11:51:00 UTC]    Language field in books: YES
[21-Nov-2025 11:51:00 UTC]    Format field in books: YES
[21-Nov-2025 11:51:00 UTC]    Description field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Is_active field in books: YES
[21-Nov-2025 11:51:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:51:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:51:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:51:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:51:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:51:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:51:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:51:00 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:51:00 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:51:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:51:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:51:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:51:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:51:00 UTC] 📊 Database Info:
[21-Nov-2025 11:51:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:51:00 UTC]    Books columns count: 44
[21-Nov-2025 11:51:00 UTC]    Categories columns count: 7
[21-Nov-2025 11:51:00 UTC]    Language field in books: YES
[21-Nov-2025 11:51:00 UTC]    Format field in books: YES
[21-Nov-2025 11:51:00 UTC]    Description field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Is_active field in books: YES
[21-Nov-2025 11:51:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:51:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:51:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:51:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:51:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:51:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:51:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:51:00 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:51:00 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:51:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:51:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:51:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:51:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:51:00 UTC] 📊 Database Info:
[21-Nov-2025 11:51:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:51:00 UTC]    Books columns count: 44
[21-Nov-2025 11:51:00 UTC]    Categories columns count: 7
[21-Nov-2025 11:51:00 UTC]    Language field in books: YES
[21-Nov-2025 11:51:00 UTC]    Format field in books: YES
[21-Nov-2025 11:51:00 UTC]    Description field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:51:00 UTC]    Is_active field in books: YES
[21-Nov-2025 11:51:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:51:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:51:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:51:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:51:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:51:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:51:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:51:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:51:00 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:51:00 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:51:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:51:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:51:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:01 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:51:01 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:51:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:01 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:51:01 UTC] 📊 Database Info:
[21-Nov-2025 11:51:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:51:01 UTC]    Books columns count: 44
[21-Nov-2025 11:51:01 UTC]    Categories columns count: 7
[21-Nov-2025 11:51:01 UTC]    Language field in books: YES
[21-Nov-2025 11:51:01 UTC]    Format field in books: YES
[21-Nov-2025 11:51:01 UTC]    Description field in categories: YES
[21-Nov-2025 11:51:01 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:51:01 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:51:01 UTC]    Is_active field in books: YES
[21-Nov-2025 11:51:01 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:51:01 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:51:01 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:51:01 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:51:01 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:51:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:51:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:51:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:51:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:51:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:51:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:51:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:51:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:51:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:51:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:51:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:51:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:51:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:51:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:51:01 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:51:01 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:51:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:51:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:51:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:51:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:51:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:54 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:51:54 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:51:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:51:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:54 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:51:54 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:51:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:54 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:51:54 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:51:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:54 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:51:54 UTC] 📊 Database Info:
[21-Nov-2025 11:51:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:51:54 UTC]    Books columns count: 44
[21-Nov-2025 11:51:54 UTC]    Categories columns count: 7
[21-Nov-2025 11:51:54 UTC]    Language field in books: YES
[21-Nov-2025 11:51:54 UTC]    Format field in books: YES
[21-Nov-2025 11:51:54 UTC]    Description field in categories: YES
[21-Nov-2025 11:51:54 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:51:54 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:51:54 UTC]    Is_active field in books: YES
[21-Nov-2025 11:51:54 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:51:54 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:51:54 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:51:54 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:51:54 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:51:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:51:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:54 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:51:54 UTC] 📊 Database Info:
[21-Nov-2025 11:51:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:51:54 UTC]    Books columns count: 44
[21-Nov-2025 11:51:54 UTC]    Categories columns count: 7
[21-Nov-2025 11:51:54 UTC]    Language field in books: YES
[21-Nov-2025 11:51:54 UTC]    Format field in books: YES
[21-Nov-2025 11:51:54 UTC]    Description field in categories: YES
[21-Nov-2025 11:51:54 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:51:54 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:51:54 UTC]    Is_active field in books: YES
[21-Nov-2025 11:51:54 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:51:54 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:51:54 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:51:54 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:51:54 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:51:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:51:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:54 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:51:54 UTC] 📊 Database Info:
[21-Nov-2025 11:51:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:51:54 UTC]    Books columns count: 44
[21-Nov-2025 11:51:54 UTC]    Categories columns count: 7
[21-Nov-2025 11:51:54 UTC]    Language field in books: YES
[21-Nov-2025 11:51:54 UTC]    Format field in books: YES
[21-Nov-2025 11:51:54 UTC]    Description field in categories: YES
[21-Nov-2025 11:51:54 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:51:54 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:51:54 UTC]    Is_active field in books: YES
[21-Nov-2025 11:51:54 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:51:54 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:51:54 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:51:54 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:51:54 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:51:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:51:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:51:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:51:54 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:51:54 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:51:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:51:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:51:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:51:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:51:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:51:55 UTC] 📊 Database Info:
[21-Nov-2025 11:51:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:51:55 UTC]    Books columns count: 44
[21-Nov-2025 11:51:55 UTC]    Categories columns count: 7
[21-Nov-2025 11:51:55 UTC]    Language field in books: YES
[21-Nov-2025 11:51:55 UTC]    Format field in books: YES
[21-Nov-2025 11:51:55 UTC]    Description field in categories: YES
[21-Nov-2025 11:51:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:51:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:51:55 UTC]    Is_active field in books: YES
[21-Nov-2025 11:51:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:51:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:51:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:51:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:51:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:51:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:51:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:51:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:51:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:51:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:51:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:51:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:51:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:51:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:51:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:51:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:51:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:51:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:51:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:51:55 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:51:55 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:51:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:51:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:51:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:51:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:51:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:51:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:51:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:51:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:51:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:51:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:51:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:51:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:51:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:51:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:51:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:51:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:51:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:51:56 UTC] 📊 Database Info:
[21-Nov-2025 11:51:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:51:56 UTC]    Books columns count: 44
[21-Nov-2025 11:51:56 UTC]    Categories columns count: 7
[21-Nov-2025 11:51:56 UTC]    Language field in books: YES
[21-Nov-2025 11:51:56 UTC]    Format field in books: YES
[21-Nov-2025 11:51:56 UTC]    Description field in categories: YES
[21-Nov-2025 11:51:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:51:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:51:56 UTC]    Is_active field in books: YES
[21-Nov-2025 11:51:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:51:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:51:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:51:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:51:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:51:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:51:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:51:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:51:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:51:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:51:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:51:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:51:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:51:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:51:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:51:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:51:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:51:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:51:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:51:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:51:56 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:52:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:52:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:52:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:08 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:52:08 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:52:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:08 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:52:08 UTC] 📊 Database Info:
[21-Nov-2025 11:52:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:52:08 UTC]    Books columns count: 44
[21-Nov-2025 11:52:08 UTC]    Categories columns count: 7
[21-Nov-2025 11:52:08 UTC]    Language field in books: YES
[21-Nov-2025 11:52:08 UTC]    Format field in books: YES
[21-Nov-2025 11:52:08 UTC]    Description field in categories: YES
[21-Nov-2025 11:52:08 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:52:08 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:52:08 UTC]    Is_active field in books: YES
[21-Nov-2025 11:52:08 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:52:08 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:52:08 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:52:08 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:52:08 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:52:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:52:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:52:08 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:52:08 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:52:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:52:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:52:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:52:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:52:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:11 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:52:11 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:52:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:52:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:11 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:52:11 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:52:11 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:52:11 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:52:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:52:12 UTC] 📊 Database Info:
[21-Nov-2025 11:52:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:52:12 UTC]    Books columns count: 44
[21-Nov-2025 11:52:12 UTC]    Categories columns count: 7
[21-Nov-2025 11:52:12 UTC]    Language field in books: YES
[21-Nov-2025 11:52:12 UTC]    Format field in books: YES
[21-Nov-2025 11:52:12 UTC]    Description field in categories: YES
[21-Nov-2025 11:52:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:52:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:52:12 UTC]    Is_active field in books: YES
[21-Nov-2025 11:52:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:52:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:52:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:52:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:52:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:52:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:52:12 UTC] 📊 Database Info:
[21-Nov-2025 11:52:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:52:12 UTC]    Books columns count: 44
[21-Nov-2025 11:52:12 UTC]    Categories columns count: 7
[21-Nov-2025 11:52:12 UTC]    Language field in books: YES
[21-Nov-2025 11:52:12 UTC]    Format field in books: YES
[21-Nov-2025 11:52:12 UTC]    Description field in categories: YES
[21-Nov-2025 11:52:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:52:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:52:12 UTC]    Is_active field in books: YES
[21-Nov-2025 11:52:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:52:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:52:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:52:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:52:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:52:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:52:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:52:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:52:12 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:52:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:52:12 UTC] 📊 Database Info:
[21-Nov-2025 11:52:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:52:12 UTC]    Books columns count: 44
[21-Nov-2025 11:52:12 UTC]    Categories columns count: 7
[21-Nov-2025 11:52:12 UTC]    Language field in books: YES
[21-Nov-2025 11:52:12 UTC]    Format field in books: YES
[21-Nov-2025 11:52:12 UTC]    Description field in categories: YES
[21-Nov-2025 11:52:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:52:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:52:12 UTC]    Is_active field in books: YES
[21-Nov-2025 11:52:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:52:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:52:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:52:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:52:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:52:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:52:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:52:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:52:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:52:12 UTC] 📊 Database Info:
[21-Nov-2025 11:52:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:52:12 UTC]    Books columns count: 44
[21-Nov-2025 11:52:12 UTC]    Categories columns count: 7
[21-Nov-2025 11:52:12 UTC]    Language field in books: YES
[21-Nov-2025 11:52:12 UTC]    Format field in books: YES
[21-Nov-2025 11:52:12 UTC]    Description field in categories: YES
[21-Nov-2025 11:52:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:52:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:52:12 UTC]    Is_active field in books: YES
[21-Nov-2025 11:52:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:52:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:52:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:52:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:52:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:52:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:52:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:52:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:52:12 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:52:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:52:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:52:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:52:13 UTC] 📊 Database Info:
[21-Nov-2025 11:52:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:52:13 UTC]    Books columns count: 44
[21-Nov-2025 11:52:13 UTC]    Categories columns count: 7
[21-Nov-2025 11:52:13 UTC]    Language field in books: YES
[21-Nov-2025 11:52:13 UTC]    Format field in books: YES
[21-Nov-2025 11:52:13 UTC]    Description field in categories: YES
[21-Nov-2025 11:52:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:52:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:52:13 UTC]    Is_active field in books: YES
[21-Nov-2025 11:52:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:52:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:52:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:52:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:52:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:52:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:52:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:52:13 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:52:13 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:52:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:52:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:52:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:52:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:52:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:43 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:52:43 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:52:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:52:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:52:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:43 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:52:43 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:52:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:43 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:52:43 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:43 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:52:43 UTC] 📊 Database Info:
[21-Nov-2025 11:52:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:52:43 UTC]    Books columns count: 44
[21-Nov-2025 11:52:43 UTC]    Categories columns count: 7
[21-Nov-2025 11:52:43 UTC]    Language field in books: YES
[21-Nov-2025 11:52:43 UTC]    Format field in books: YES
[21-Nov-2025 11:52:43 UTC]    Description field in categories: YES
[21-Nov-2025 11:52:43 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:52:43 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:52:43 UTC]    Is_active field in books: YES
[21-Nov-2025 11:52:43 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:52:43 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:52:43 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:52:43 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:52:43 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:52:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:52:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:52:43 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:52:43 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:52:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:43 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:52:43 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:52:43 UTC] 📊 Database Info:
[21-Nov-2025 11:52:43 UTC] 📊 Database Info:
[21-Nov-2025 11:52:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:52:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:52:43 UTC]    Books columns count: 44
[21-Nov-2025 11:52:43 UTC]    Books columns count: 44
[21-Nov-2025 11:52:43 UTC]    Categories columns count: 7
[21-Nov-2025 11:52:43 UTC]    Categories columns count: 7
[21-Nov-2025 11:52:43 UTC]    Language field in books: YES
[21-Nov-2025 11:52:43 UTC]    Language field in books: YES
[21-Nov-2025 11:52:43 UTC]    Format field in books: YES
[21-Nov-2025 11:52:43 UTC]    Format field in books: YES
[21-Nov-2025 11:52:43 UTC]    Description field in categories: YES
[21-Nov-2025 11:52:43 UTC]    Description field in categories: YES
[21-Nov-2025 11:52:43 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:52:43 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:52:43 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:52:43 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:52:43 UTC]    Is_active field in books: YES
[21-Nov-2025 11:52:43 UTC]    Is_active field in books: YES
[21-Nov-2025 11:52:43 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:52:43 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:52:43 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:52:43 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:52:43 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:52:43 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:52:43 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:52:43 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:52:43 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:52:43 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:52:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:52:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:52:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:52:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:52:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:43 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:52:43 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:52:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:43 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:52:43 UTC] 📊 Database Info:
[21-Nov-2025 11:52:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:52:43 UTC]    Books columns count: 44
[21-Nov-2025 11:52:43 UTC]    Categories columns count: 7
[21-Nov-2025 11:52:43 UTC]    Language field in books: YES
[21-Nov-2025 11:52:43 UTC]    Format field in books: YES
[21-Nov-2025 11:52:43 UTC]    Description field in categories: YES
[21-Nov-2025 11:52:43 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:52:43 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:52:43 UTC]    Is_active field in books: YES
[21-Nov-2025 11:52:43 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:52:43 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:52:43 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:52:43 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:52:43 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:52:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:52:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:52:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:52:43 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:52:43 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:52:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:52:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:52:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:52:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:52:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:52:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:52:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:52:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:52:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:52:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:52:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:52:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:52:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:52:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:52:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:52:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:52:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:52:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:52:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:52:44 UTC] 📊 Database Info:
[21-Nov-2025 11:52:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:52:44 UTC]    Books columns count: 44
[21-Nov-2025 11:52:44 UTC]    Categories columns count: 7
[21-Nov-2025 11:52:44 UTC]    Language field in books: YES
[21-Nov-2025 11:52:44 UTC]    Format field in books: YES
[21-Nov-2025 11:52:44 UTC]    Description field in categories: YES
[21-Nov-2025 11:52:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:52:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:52:44 UTC]    Is_active field in books: YES
[21-Nov-2025 11:52:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:52:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:52:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:52:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:52:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:52:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:52:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:52:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:52:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:52:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:52:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:52:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:52:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:52:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:52:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:52:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:52:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:52:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:52:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:52:44 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:52:44 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:53:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:53:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:53:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:53:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:53:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:53:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:53:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:53:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:53:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:53:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:53:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:53:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:53:23 UTC] 📊 Database Info:
[21-Nov-2025 11:53:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:53:23 UTC]    Books columns count: 44
[21-Nov-2025 11:53:23 UTC]    Categories columns count: 7
[21-Nov-2025 11:53:23 UTC]    Language field in books: YES
[21-Nov-2025 11:53:23 UTC]    Format field in books: YES
[21-Nov-2025 11:53:23 UTC]    Description field in categories: YES
[21-Nov-2025 11:53:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:53:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:53:23 UTC]    Is_active field in books: YES
[21-Nov-2025 11:53:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:53:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:53:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:53:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:53:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:53:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:53:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:53:23 UTC] 📊 Database Info:
[21-Nov-2025 11:53:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:53:23 UTC]    Books columns count: 44
[21-Nov-2025 11:53:23 UTC]    Categories columns count: 7
[21-Nov-2025 11:53:23 UTC]    Language field in books: YES
[21-Nov-2025 11:53:23 UTC]    Format field in books: YES
[21-Nov-2025 11:53:23 UTC]    Description field in categories: YES
[21-Nov-2025 11:53:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:53:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:53:23 UTC]    Is_active field in books: YES
[21-Nov-2025 11:53:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:53:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:53:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:53:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:53:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:53:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:53:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:53:23 UTC] 📊 Database Info:
[21-Nov-2025 11:53:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:53:23 UTC]    Books columns count: 44
[21-Nov-2025 11:53:23 UTC]    Categories columns count: 7
[21-Nov-2025 11:53:23 UTC]    Language field in books: YES
[21-Nov-2025 11:53:23 UTC]    Format field in books: YES
[21-Nov-2025 11:53:23 UTC]    Description field in categories: YES
[21-Nov-2025 11:53:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:53:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:53:23 UTC]    Is_active field in books: YES
[21-Nov-2025 11:53:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:53:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:53:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:53:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:53:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:53:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:53:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:53:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:53:23 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:53:23 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:53:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:53:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:53:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:53:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:53:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:53:24 UTC] 📊 Database Info:
[21-Nov-2025 11:53:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:53:24 UTC]    Books columns count: 44
[21-Nov-2025 11:53:24 UTC]    Categories columns count: 7
[21-Nov-2025 11:53:24 UTC]    Language field in books: YES
[21-Nov-2025 11:53:24 UTC]    Format field in books: YES
[21-Nov-2025 11:53:24 UTC]    Description field in categories: YES
[21-Nov-2025 11:53:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:53:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:53:24 UTC]    Is_active field in books: YES
[21-Nov-2025 11:53:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:53:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:53:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:53:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:53:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:53:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:53:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:53:24 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:53:24 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:53:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:53:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:53:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:53:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:53:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:53:24 UTC] 📊 Database Info:
[21-Nov-2025 11:53:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:53:24 UTC]    Books columns count: 44
[21-Nov-2025 11:53:24 UTC]    Categories columns count: 7
[21-Nov-2025 11:53:24 UTC]    Language field in books: YES
[21-Nov-2025 11:53:24 UTC]    Format field in books: YES
[21-Nov-2025 11:53:24 UTC]    Description field in categories: YES
[21-Nov-2025 11:53:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:53:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:53:24 UTC]    Is_active field in books: YES
[21-Nov-2025 11:53:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:53:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:53:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:53:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:53:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:53:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:53:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:53:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:53:24 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:53:24 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:53:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:53:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:53:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:53:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:53:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:53:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:53:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:53:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:53:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:53:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:53:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:53:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:53:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:53:37 UTC] 📊 Database Info:
[21-Nov-2025 11:53:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:53:37 UTC]    Books columns count: 44
[21-Nov-2025 11:53:37 UTC]    Categories columns count: 7
[21-Nov-2025 11:53:37 UTC]    Language field in books: YES
[21-Nov-2025 11:53:37 UTC]    Format field in books: YES
[21-Nov-2025 11:53:37 UTC]    Description field in categories: YES
[21-Nov-2025 11:53:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:53:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:53:37 UTC]    Is_active field in books: YES
[21-Nov-2025 11:53:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:53:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:53:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:53:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:53:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:53:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:53:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:53:37 UTC] 📊 Database Info:
[21-Nov-2025 11:53:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:53:37 UTC]    Books columns count: 44
[21-Nov-2025 11:53:37 UTC]    Categories columns count: 7
[21-Nov-2025 11:53:37 UTC]    Language field in books: YES
[21-Nov-2025 11:53:37 UTC]    Format field in books: YES
[21-Nov-2025 11:53:37 UTC]    Description field in categories: YES
[21-Nov-2025 11:53:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:53:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:53:37 UTC]    Is_active field in books: YES
[21-Nov-2025 11:53:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:53:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:53:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:53:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:53:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:53:37 UTC] 📊 Database Info:
[21-Nov-2025 11:53:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:53:37 UTC]    Books columns count: 44
[21-Nov-2025 11:53:37 UTC]    Categories columns count: 7
[21-Nov-2025 11:53:37 UTC]    Language field in books: YES
[21-Nov-2025 11:53:37 UTC]    Format field in books: YES
[21-Nov-2025 11:53:37 UTC]    Description field in categories: YES
[21-Nov-2025 11:53:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:53:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:53:37 UTC]    Is_active field in books: YES
[21-Nov-2025 11:53:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:53:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:53:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:53:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:53:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:53:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:53:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:53:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:53:37 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:53:37 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:53:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:53:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:53:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:53:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:53:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:53:38 UTC] 📊 Database Info:
[21-Nov-2025 11:53:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:53:38 UTC]    Books columns count: 44
[21-Nov-2025 11:53:38 UTC]    Categories columns count: 7
[21-Nov-2025 11:53:38 UTC]    Language field in books: YES
[21-Nov-2025 11:53:38 UTC]    Format field in books: YES
[21-Nov-2025 11:53:38 UTC]    Description field in categories: YES
[21-Nov-2025 11:53:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:53:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:53:38 UTC]    Is_active field in books: YES
[21-Nov-2025 11:53:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:53:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:53:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:53:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:53:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:53:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:53:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:53:38 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:53:38 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:53:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:53:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:53:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:53:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:53:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:53:38 UTC] 📊 Database Info:
[21-Nov-2025 11:53:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:53:38 UTC]    Books columns count: 44
[21-Nov-2025 11:53:38 UTC]    Categories columns count: 7
[21-Nov-2025 11:53:38 UTC]    Language field in books: YES
[21-Nov-2025 11:53:38 UTC]    Format field in books: YES
[21-Nov-2025 11:53:38 UTC]    Description field in categories: YES
[21-Nov-2025 11:53:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:53:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:53:38 UTC]    Is_active field in books: YES
[21-Nov-2025 11:53:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:53:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:53:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:53:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:53:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:53:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:53:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:53:38 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:53:38 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:53:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:53:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:53:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:53:40 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:53:40 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:53:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:53:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:53:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:53:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:53:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:53:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:53:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:53:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:53:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:53:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:53:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:53:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:53:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:53:40 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:53:40 UTC] 📊 Database Info:
[21-Nov-2025 11:53:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:53:40 UTC]    Books columns count: 44
[21-Nov-2025 11:53:40 UTC]    Categories columns count: 7
[21-Nov-2025 11:53:40 UTC]    Language field in books: YES
[21-Nov-2025 11:53:40 UTC]    Format field in books: YES
[21-Nov-2025 11:53:40 UTC]    Description field in categories: YES
[21-Nov-2025 11:53:40 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:53:40 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:53:40 UTC]    Is_active field in books: YES
[21-Nov-2025 11:53:40 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:53:40 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:53:40 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:53:40 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:53:40 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:53:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:53:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:53:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:53:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:53:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:53:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:53:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:53:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:53:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:53:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:53:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:53:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:53:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:53:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:53:40 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:53:40 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:55:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:55:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:55:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:55:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:55:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:55:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:55:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:55:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:55:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:55:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:55:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:55:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:55:06 UTC] 📊 Database Info:
[21-Nov-2025 11:55:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:55:06 UTC]    Books columns count: 44
[21-Nov-2025 11:55:06 UTC]    Categories columns count: 7
[21-Nov-2025 11:55:06 UTC]    Language field in books: YES
[21-Nov-2025 11:55:06 UTC]    Format field in books: YES
[21-Nov-2025 11:55:06 UTC]    Description field in categories: YES
[21-Nov-2025 11:55:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:55:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:55:06 UTC]    Is_active field in books: YES
[21-Nov-2025 11:55:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:55:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:55:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:55:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:55:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:55:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:55:06 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 11:55:06 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 11:55:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:55:06 UTC] 📊 Database Info:
[21-Nov-2025 11:55:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:55:06 UTC]    Books columns count: 44
[21-Nov-2025 11:55:06 UTC]    Categories columns count: 7
[21-Nov-2025 11:55:06 UTC]    Language field in books: YES
[21-Nov-2025 11:55:06 UTC]    Format field in books: YES
[21-Nov-2025 11:55:06 UTC]    Description field in categories: YES
[21-Nov-2025 11:55:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:55:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:55:06 UTC]    Is_active field in books: YES
[21-Nov-2025 11:55:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:55:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:55:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:55:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:55:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:55:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:55:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:55:06 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 11:55:06 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 11:55:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:55:06 UTC] 📊 Database Info:
[21-Nov-2025 11:55:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:55:06 UTC]    Books columns count: 44
[21-Nov-2025 11:55:06 UTC]    Categories columns count: 7
[21-Nov-2025 11:55:06 UTC]    Language field in books: YES
[21-Nov-2025 11:55:06 UTC]    Format field in books: YES
[21-Nov-2025 11:55:06 UTC]    Description field in categories: YES
[21-Nov-2025 11:55:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:55:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:55:06 UTC]    Is_active field in books: YES
[21-Nov-2025 11:55:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:55:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:55:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:55:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:55:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:55:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:55:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:55:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:55:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:55:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:55:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:55:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:25 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:55:25 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:55:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:55:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:55:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:25 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:55:25 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:25 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:25 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:55:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:55:25 UTC] 📊 Database Info:
[21-Nov-2025 11:55:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:55:25 UTC]    Books columns count: 44
[21-Nov-2025 11:55:25 UTC]    Categories columns count: 7
[21-Nov-2025 11:55:25 UTC]    Language field in books: YES
[21-Nov-2025 11:55:25 UTC]    Format field in books: YES
[21-Nov-2025 11:55:25 UTC]    Description field in categories: YES
[21-Nov-2025 11:55:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:55:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:55:25 UTC]    Is_active field in books: YES
[21-Nov-2025 11:55:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:55:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:55:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:55:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:55:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:55:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:55:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:55:25 UTC] 📊 Database Info:
[21-Nov-2025 11:55:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:55:25 UTC]    Books columns count: 44
[21-Nov-2025 11:55:25 UTC]    Categories columns count: 7
[21-Nov-2025 11:55:25 UTC]    Language field in books: YES
[21-Nov-2025 11:55:25 UTC]    Format field in books: YES
[21-Nov-2025 11:55:25 UTC]    Description field in categories: YES
[21-Nov-2025 11:55:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:55:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:55:25 UTC]    Is_active field in books: YES
[21-Nov-2025 11:55:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:55:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:55:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:55:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:55:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:55:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:55:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:55:25 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:55:25 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:55:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:55:25 UTC] 📊 Database Info:
[21-Nov-2025 11:55:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:55:25 UTC]    Books columns count: 44
[21-Nov-2025 11:55:25 UTC]    Categories columns count: 7
[21-Nov-2025 11:55:25 UTC]    Language field in books: YES
[21-Nov-2025 11:55:25 UTC]    Format field in books: YES
[21-Nov-2025 11:55:25 UTC]    Description field in categories: YES
[21-Nov-2025 11:55:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:55:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:55:25 UTC]    Is_active field in books: YES
[21-Nov-2025 11:55:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:55:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:55:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:55:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:55:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:55:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:55:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:55:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:55:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:55:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:55:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:55:26 UTC] 📊 Database Info:
[21-Nov-2025 11:55:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:55:26 UTC]    Books columns count: 44
[21-Nov-2025 11:55:26 UTC]    Categories columns count: 7
[21-Nov-2025 11:55:26 UTC]    Language field in books: YES
[21-Nov-2025 11:55:26 UTC]    Format field in books: YES
[21-Nov-2025 11:55:26 UTC]    Description field in categories: YES
[21-Nov-2025 11:55:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:55:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:55:26 UTC]    Is_active field in books: YES
[21-Nov-2025 11:55:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:55:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:55:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:55:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:55:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:55:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:55:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:55:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:55:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:55:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:55:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:55:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:55:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:55:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:55:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:55:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:55:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:55:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:55:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:55:26 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 11:55:26 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 11:55:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:55:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:55:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:55:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:55:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:31 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:55:31 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:55:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:55:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:31 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:55:31 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:55:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:55:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:55:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:55:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:55:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:55:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:55:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:55:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:55:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:55:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:55:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:55:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:55:32 UTC] 📊 Database Info:
[21-Nov-2025 11:55:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:55:32 UTC]    Books columns count: 44
[21-Nov-2025 11:55:32 UTC]    Categories columns count: 7
[21-Nov-2025 11:55:32 UTC]    Language field in books: YES
[21-Nov-2025 11:55:32 UTC]    Format field in books: YES
[21-Nov-2025 11:55:32 UTC]    Description field in categories: YES
[21-Nov-2025 11:55:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:55:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:55:32 UTC]    Is_active field in books: YES
[21-Nov-2025 11:55:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:55:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:55:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:55:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:55:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:55:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:55:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:55:32 UTC] 📊 Database Info:
[21-Nov-2025 11:55:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:55:32 UTC]    Books columns count: 44
[21-Nov-2025 11:55:32 UTC]    Categories columns count: 7
[21-Nov-2025 11:55:32 UTC]    Language field in books: YES
[21-Nov-2025 11:55:32 UTC]    Format field in books: YES
[21-Nov-2025 11:55:32 UTC]    Description field in categories: YES
[21-Nov-2025 11:55:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:55:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:55:32 UTC]    Is_active field in books: YES
[21-Nov-2025 11:55:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:55:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:55:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:55:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:55:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:55:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:55:32 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:55:32 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:55:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:55:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:55:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:55:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:55:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:55:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:55:32 UTC] 📊 Database Info:
[21-Nov-2025 11:55:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:55:32 UTC]    Books columns count: 44
[21-Nov-2025 11:55:32 UTC]    Categories columns count: 7
[21-Nov-2025 11:55:32 UTC]    Language field in books: YES
[21-Nov-2025 11:55:32 UTC]    Format field in books: YES
[21-Nov-2025 11:55:32 UTC]    Description field in categories: YES
[21-Nov-2025 11:55:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:55:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:55:32 UTC]    Is_active field in books: YES
[21-Nov-2025 11:55:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:55:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:55:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:55:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:55:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:55:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:55:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:56:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:56:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:56:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:56:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:56:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:56:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:56:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:56:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:56:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:56:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:56:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:56:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:56:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:56:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:56:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:56:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:56:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:56:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:56:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:56:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:56:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:56:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:56:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:56:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:56:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:56:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:56:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:56:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:56:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:56:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:56:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:56:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:56:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:56:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:56:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:56:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:56:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:56:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:56:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:56:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:56:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:56:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:56:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:56:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:56:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:56:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:56:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:56:06 UTC] 📊 Database Info:
[21-Nov-2025 11:56:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:56:06 UTC]    Books columns count: 44
[21-Nov-2025 11:56:06 UTC]    Categories columns count: 7
[21-Nov-2025 11:56:06 UTC]    Language field in books: YES
[21-Nov-2025 11:56:06 UTC]    Format field in books: YES
[21-Nov-2025 11:56:06 UTC]    Description field in categories: YES
[21-Nov-2025 11:56:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:56:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:56:06 UTC]    Is_active field in books: YES
[21-Nov-2025 11:56:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:56:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:56:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:56:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:56:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:56:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:56:06 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 11:56:06 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 11:56:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:56:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:56:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:56:06 UTC] 📊 Database Info:
[21-Nov-2025 11:56:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:56:06 UTC]    Books columns count: 44
[21-Nov-2025 11:56:06 UTC]    Categories columns count: 7
[21-Nov-2025 11:56:06 UTC]    Language field in books: YES
[21-Nov-2025 11:56:06 UTC]    Format field in books: YES
[21-Nov-2025 11:56:06 UTC]    Description field in categories: YES
[21-Nov-2025 11:56:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:56:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:56:06 UTC]    Is_active field in books: YES
[21-Nov-2025 11:56:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:56:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:56:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:56:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:56:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:56:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:56:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 11:56:06 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 11:56:06 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 11:56:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:56:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:56:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:56:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:56:06 UTC] 📊 Database Info:
[21-Nov-2025 11:56:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:56:06 UTC]    Books columns count: 44
[21-Nov-2025 11:56:06 UTC]    Categories columns count: 7
[21-Nov-2025 11:56:06 UTC]    Language field in books: YES
[21-Nov-2025 11:56:06 UTC]    Format field in books: YES
[21-Nov-2025 11:56:06 UTC]    Description field in categories: YES
[21-Nov-2025 11:56:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:56:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:56:06 UTC]    Is_active field in books: YES
[21-Nov-2025 11:56:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:56:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:56:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:56:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:56:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:56:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:56:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:58:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:58:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:58:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:58:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:58:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:58:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:58:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:58:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:58:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:58:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:58:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:58:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:58:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:58:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:58:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:58:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:58:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:58:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:58:21 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:58:21 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:58:21 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:58:21 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:58:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:58:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:58:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:58:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:58:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:58:21 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:58:21 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:58:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:58:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:58:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:58:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:58:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:58:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:58:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:58:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:58:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:58:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:58:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:58:21 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:58:21 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:58:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:58:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:58:21 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:58:21 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:58:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:58:21 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:58:21 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:58:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:58:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:58:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:58:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:58:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:58:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:58:21 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:58:21 UTC] 📊 Database Info:
[21-Nov-2025 11:58:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:58:21 UTC]    Books columns count: 44
[21-Nov-2025 11:58:21 UTC]    Categories columns count: 7
[21-Nov-2025 11:58:21 UTC]    Language field in books: YES
[21-Nov-2025 11:58:21 UTC]    Format field in books: YES
[21-Nov-2025 11:58:21 UTC]    Description field in categories: YES
[21-Nov-2025 11:58:21 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:58:21 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:58:21 UTC]    Is_active field in books: YES
[21-Nov-2025 11:58:21 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:58:21 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:58:21 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:58:21 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:58:21 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:58:21 UTC] 📊 Database Info:
[21-Nov-2025 11:58:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:58:21 UTC]    Books columns count: 44
[21-Nov-2025 11:58:21 UTC]    Categories columns count: 7
[21-Nov-2025 11:58:21 UTC]    Language field in books: YES
[21-Nov-2025 11:58:21 UTC]    Format field in books: YES
[21-Nov-2025 11:58:21 UTC]    Description field in categories: YES
[21-Nov-2025 11:58:21 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:58:21 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:58:21 UTC]    Is_active field in books: YES
[21-Nov-2025 11:58:21 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:58:21 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:58:21 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:58:21 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:58:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:58:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:58:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:58:21 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:58:21 UTC] 📊 Database Info:
[21-Nov-2025 11:58:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:58:21 UTC]    Books columns count: 44
[21-Nov-2025 11:58:21 UTC]    Categories columns count: 7
[21-Nov-2025 11:58:21 UTC]    Language field in books: YES
[21-Nov-2025 11:58:21 UTC]    Format field in books: YES
[21-Nov-2025 11:58:21 UTC]    Description field in categories: YES
[21-Nov-2025 11:58:21 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:58:21 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:58:21 UTC]    Is_active field in books: YES
[21-Nov-2025 11:58:21 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:58:21 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:58:21 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:58:21 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:58:21 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:58:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:58:21 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:58:21 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:58:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:58:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:58:21 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:58:21 UTC] 📊 Database Info:
[21-Nov-2025 11:58:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:58:21 UTC]    Books columns count: 44
[21-Nov-2025 11:58:21 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:58:21 UTC]    Categories columns count: 7
[21-Nov-2025 11:58:21 UTC] 📊 Database Info:
[21-Nov-2025 11:58:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:58:21 UTC]    Books columns count: 44
[21-Nov-2025 11:58:21 UTC]    Language field in books: YES
[21-Nov-2025 11:58:21 UTC]    Categories columns count: 7
[21-Nov-2025 11:58:21 UTC]    Format field in books: YES
[21-Nov-2025 11:58:21 UTC]    Description field in categories: YES
[21-Nov-2025 11:58:21 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:58:21 UTC]    Language field in books: YES
[21-Nov-2025 11:58:21 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:58:21 UTC]    Format field in books: YES
[21-Nov-2025 11:58:21 UTC]    Is_active field in books: YES
[21-Nov-2025 11:58:21 UTC]    Description field in categories: YES
[21-Nov-2025 11:58:21 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:58:21 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:58:21 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:58:21 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:58:21 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:58:21 UTC]    Is_active field in books: YES
[21-Nov-2025 11:58:21 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:58:21 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:58:21 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:58:21 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:58:21 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:58:21 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:58:21 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:58:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:58:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:58:21 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:58:21 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:58:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:58:21 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:58:21 UTC] 📊 Database Info:
[21-Nov-2025 11:58:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:58:21 UTC]    Books columns count: 44
[21-Nov-2025 11:58:21 UTC]    Categories columns count: 7
[21-Nov-2025 11:58:21 UTC]    Language field in books: YES
[21-Nov-2025 11:58:21 UTC]    Format field in books: YES
[21-Nov-2025 11:58:21 UTC]    Description field in categories: YES
[21-Nov-2025 11:58:21 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:58:21 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:58:21 UTC]    Is_active field in books: YES
[21-Nov-2025 11:58:21 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:58:21 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:58:21 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:58:21 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:58:21 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:58:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:59:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:59:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:59:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 11:59:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:59:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:59:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:59:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:59:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:59:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:59:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:59:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:59:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:59:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:59:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:59:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:59:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:59:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:59:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:59:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:59:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:59:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:59:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:59:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:59:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 11:59:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:59:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:59:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:59:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 11:59:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:59:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:59:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 11:59:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 11:59:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:59:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:59:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:59:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:59:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:59:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 11:59:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 11:59:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 11:59:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 11:59:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 11:59:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:59:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:59:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:59:57 UTC] 📊 Database Info:
[21-Nov-2025 11:59:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:59:57 UTC]    Books columns count: 44
[21-Nov-2025 11:59:57 UTC]    Categories columns count: 7
[21-Nov-2025 11:59:57 UTC]    Language field in books: YES
[21-Nov-2025 11:59:57 UTC]    Format field in books: YES
[21-Nov-2025 11:59:57 UTC]    Description field in categories: YES
[21-Nov-2025 11:59:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:59:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:59:57 UTC]    Is_active field in books: YES
[21-Nov-2025 11:59:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:59:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:59:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:59:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:59:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:59:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:59:57 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 11:59:57 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 11:59:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:59:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:59:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:59:57 UTC] 📊 Database Info:
[21-Nov-2025 11:59:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:59:57 UTC]    Books columns count: 44
[21-Nov-2025 11:59:57 UTC]    Categories columns count: 7
[21-Nov-2025 11:59:57 UTC]    Language field in books: YES
[21-Nov-2025 11:59:57 UTC]    Format field in books: YES
[21-Nov-2025 11:59:57 UTC]    Description field in categories: YES
[21-Nov-2025 11:59:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:59:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:59:57 UTC]    Is_active field in books: YES
[21-Nov-2025 11:59:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:59:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:59:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:59:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:59:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:59:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 11:59:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 11:59:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 11:59:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 11:59:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 11:59:57 UTC] 📊 Database Info:
[21-Nov-2025 11:59:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 11:59:57 UTC]    Books columns count: 44
[21-Nov-2025 11:59:57 UTC]    Categories columns count: 7
[21-Nov-2025 11:59:57 UTC]    Language field in books: YES
[21-Nov-2025 11:59:57 UTC]    Format field in books: YES
[21-Nov-2025 11:59:57 UTC]    Description field in categories: YES
[21-Nov-2025 11:59:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 11:59:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 11:59:57 UTC]    Is_active field in books: YES
[21-Nov-2025 11:59:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 11:59:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 11:59:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 11:59:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 11:59:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 11:59:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 11:59:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:00:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:00:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:00:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:00:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:00:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:00:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:00:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:00:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:00:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:00:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:00:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:00:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:00:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:00:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:00:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:00:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:00:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:00:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:00:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:00:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:00:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:00:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:00:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:00:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:00:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:00:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:00:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:00:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:00:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:00:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:00:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:00:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:00:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:00:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:00:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:00:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:00:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:00:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:00:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:00:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:00:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:00:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:00:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:00:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:00:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:00:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:00:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:00:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:00:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:00:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:00:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:00:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:00:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:00:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:00:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:00:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:00:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:00:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:00:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:00:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:00:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:00:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:00:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:00:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:00:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:00:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:00:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:00:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:00:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:00:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:00:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:00:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:00:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:00:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:00:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:00:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:00:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:00:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:00:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:00:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:00:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:00:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:00:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:00:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:00:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:00:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:00:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:00:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:00:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:00:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:00:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:00:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:00:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:00:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:00:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:00:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:00:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:00:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:00:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:00:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:00:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:00:23 UTC] 📊 Database Info:
[21-Nov-2025 12:00:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:00:23 UTC]    Books columns count: 44
[21-Nov-2025 12:00:23 UTC]    Categories columns count: 7
[21-Nov-2025 12:00:23 UTC]    Language field in books: YES
[21-Nov-2025 12:00:23 UTC]    Format field in books: YES
[21-Nov-2025 12:00:23 UTC]    Description field in categories: YES
[21-Nov-2025 12:00:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:00:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:00:23 UTC]    Is_active field in books: YES
[21-Nov-2025 12:00:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:00:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:00:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:00:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:00:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:00:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:00:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:00:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:00:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:00:23 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 12:00:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:00:23 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 12:00:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:00:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:00:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:00:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:00:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:00:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:00:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:00:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:00:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:00:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:00:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:00:23 UTC] 📊 Database Info:
[21-Nov-2025 12:00:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:00:23 UTC]    Books columns count: 44
[21-Nov-2025 12:00:23 UTC]    Categories columns count: 7
[21-Nov-2025 12:00:23 UTC]    Language field in books: YES
[21-Nov-2025 12:00:23 UTC]    Format field in books: YES
[21-Nov-2025 12:00:23 UTC]    Description field in categories: YES
[21-Nov-2025 12:00:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:00:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:00:23 UTC]    Is_active field in books: YES
[21-Nov-2025 12:00:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:00:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:00:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:00:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:00:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:00:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:00:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:00:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:00:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:00:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:00:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:00:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:00:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:00:23 UTC] 📊 Database Info:
[21-Nov-2025 12:00:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:00:23 UTC]    Books columns count: 44
[21-Nov-2025 12:00:23 UTC]    Categories columns count: 7
[21-Nov-2025 12:00:23 UTC]    Language field in books: YES
[21-Nov-2025 12:00:23 UTC]    Format field in books: YES
[21-Nov-2025 12:00:23 UTC]    Description field in categories: YES
[21-Nov-2025 12:00:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:00:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:00:23 UTC]    Is_active field in books: YES
[21-Nov-2025 12:00:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:00:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:00:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:00:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:00:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:00:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:00:23 UTC] 📊 Database Info:
[21-Nov-2025 12:00:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:00:23 UTC]    Books columns count: 44
[21-Nov-2025 12:00:23 UTC]    Categories columns count: 7
[21-Nov-2025 12:00:23 UTC]    Language field in books: YES
[21-Nov-2025 12:00:23 UTC]    Format field in books: YES
[21-Nov-2025 12:00:23 UTC]    Description field in categories: YES
[21-Nov-2025 12:00:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:00:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:00:23 UTC]    Is_active field in books: YES
[21-Nov-2025 12:00:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:00:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:00:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:00:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:00:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:00:23 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:00:23 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 12:00:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:00:23 UTC] 📊 Database Info:
[21-Nov-2025 12:00:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:00:23 UTC]    Books columns count: 44
[21-Nov-2025 12:00:23 UTC]    Categories columns count: 7
[21-Nov-2025 12:00:23 UTC]    Language field in books: YES
[21-Nov-2025 12:00:23 UTC]    Format field in books: YES
[21-Nov-2025 12:00:23 UTC]    Description field in categories: YES
[21-Nov-2025 12:00:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:00:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:00:23 UTC]    Is_active field in books: YES
[21-Nov-2025 12:00:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:00:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:00:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:00:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:00:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:00:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:00:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:00:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:00:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:00:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:00:23 UTC] 📊 Database Info:
[21-Nov-2025 12:00:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:00:23 UTC]    Books columns count: 44
[21-Nov-2025 12:00:23 UTC]    Categories columns count: 7
[21-Nov-2025 12:00:23 UTC]    Language field in books: YES
[21-Nov-2025 12:00:23 UTC]    Format field in books: YES
[21-Nov-2025 12:00:23 UTC]    Description field in categories: YES
[21-Nov-2025 12:00:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:00:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:00:23 UTC]    Is_active field in books: YES
[21-Nov-2025 12:00:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:00:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:00:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:00:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:00:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:00:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:00:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:02:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:02:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:02:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:02:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:02:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:02:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:02:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:02:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:02:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:02:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:02:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:02:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:02:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:02:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:02:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:02:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:02:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:02:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:02:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:02:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:02:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:02:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:02:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:02:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:02:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:02:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:02:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:02:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:02:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:02:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:02:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:02:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:02:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:02:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:02:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:02:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:02:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:02:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:02:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:02:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:02:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:02:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:02:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:02:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:02:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:02:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:02:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:02:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:02:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:02:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:02:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:02:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:02:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:02:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:02:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:02:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:02:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:02:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:02:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:02:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:02:58 UTC] 📊 Database Info:
[21-Nov-2025 12:02:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:02:58 UTC]    Books columns count: 44
[21-Nov-2025 12:02:58 UTC]    Categories columns count: 7
[21-Nov-2025 12:02:58 UTC]    Language field in books: YES
[21-Nov-2025 12:02:58 UTC]    Format field in books: YES
[21-Nov-2025 12:02:58 UTC]    Description field in categories: YES
[21-Nov-2025 12:02:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:02:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:02:58 UTC]    Is_active field in books: YES
[21-Nov-2025 12:02:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:02:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:02:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:02:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:02:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:02:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:02:58 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:02:58 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:02:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:02:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:02:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:02:58 UTC] 📊 Database Info:
[21-Nov-2025 12:02:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:02:58 UTC]    Books columns count: 44
[21-Nov-2025 12:02:58 UTC]    Categories columns count: 7
[21-Nov-2025 12:02:58 UTC]    Language field in books: YES
[21-Nov-2025 12:02:58 UTC]    Format field in books: YES
[21-Nov-2025 12:02:58 UTC]    Description field in categories: YES
[21-Nov-2025 12:02:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:02:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:02:58 UTC]    Is_active field in books: YES
[21-Nov-2025 12:02:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:02:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:02:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:02:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:02:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:02:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:02:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:02:58 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:02:58 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:02:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:02:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:02:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:02:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:02:58 UTC] 📊 Database Info:
[21-Nov-2025 12:02:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:02:58 UTC]    Books columns count: 44
[21-Nov-2025 12:02:58 UTC]    Categories columns count: 7
[21-Nov-2025 12:02:58 UTC]    Language field in books: YES
[21-Nov-2025 12:02:58 UTC]    Format field in books: YES
[21-Nov-2025 12:02:58 UTC]    Description field in categories: YES
[21-Nov-2025 12:02:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:02:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:02:58 UTC]    Is_active field in books: YES
[21-Nov-2025 12:02:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:02:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:02:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:02:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:02:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:02:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:02:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:03:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:03:33 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:03:33 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:03:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:03:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:03:33 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:03:33 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:03:33 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:03:33 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:03:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:03:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:03:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:03:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:03:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:03:33 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:03:33 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:03:33 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:03:33 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:03:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:03:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:03:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:03:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:03:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:03:33 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:03:33 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:03:33 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:03:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:03:33 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:03:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:03:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:03:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:03:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:03:33 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:03:33 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:03:33 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:03:33 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:03:33 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:03:33 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:03:33 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:03:33 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:03:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:03:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:03:33 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:03:33 UTC] 📊 Database Info:
[21-Nov-2025 12:03:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:03:33 UTC]    Books columns count: 44
[21-Nov-2025 12:03:33 UTC]    Categories columns count: 7
[21-Nov-2025 12:03:33 UTC]    Language field in books: YES
[21-Nov-2025 12:03:33 UTC]    Format field in books: YES
[21-Nov-2025 12:03:33 UTC]    Description field in categories: YES
[21-Nov-2025 12:03:33 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:03:33 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:03:33 UTC]    Is_active field in books: YES
[21-Nov-2025 12:03:33 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:03:33 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:03:33 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:03:33 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:03:33 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:03:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:03:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:03:33 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:03:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:03:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:03:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:03:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:03:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:03:33 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:03:33 UTC] 📊 Database Info:
[21-Nov-2025 12:03:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:03:33 UTC]    Books columns count: 44
[21-Nov-2025 12:03:33 UTC]    Categories columns count: 7
[21-Nov-2025 12:03:33 UTC]    Language field in books: YES
[21-Nov-2025 12:03:33 UTC]    Format field in books: YES
[21-Nov-2025 12:03:33 UTC]    Description field in categories: YES
[21-Nov-2025 12:03:33 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:03:33 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:03:33 UTC]    Is_active field in books: YES
[21-Nov-2025 12:03:33 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:03:33 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:03:33 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:03:33 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:03:33 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:03:33 UTC] 📊 Database Info:
[21-Nov-2025 12:03:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:03:33 UTC]    Books columns count: 44
[21-Nov-2025 12:03:33 UTC]    Categories columns count: 7
[21-Nov-2025 12:03:33 UTC]    Language field in books: YES
[21-Nov-2025 12:03:33 UTC]    Format field in books: YES
[21-Nov-2025 12:03:33 UTC]    Description field in categories: YES
[21-Nov-2025 12:03:33 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:03:33 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:03:33 UTC]    Is_active field in books: YES
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:03:33 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:03:33 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:03:33 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:03:33 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:03:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:03:33 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:03:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:03:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:03:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:03:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:03:33 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:04:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:07 UTC] 📊 Database Info:
[21-Nov-2025 12:04:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:07 UTC]    Books columns count: 44
[21-Nov-2025 12:04:07 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:07 UTC]    Language field in books: YES
[21-Nov-2025 12:04:07 UTC]    Format field in books: YES
[21-Nov-2025 12:04:07 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:07 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:07 UTC] 📊 Database Info:
[21-Nov-2025 12:04:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:07 UTC]    Books columns count: 44
[21-Nov-2025 12:04:07 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:07 UTC]    Language field in books: YES
[21-Nov-2025 12:04:07 UTC]    Format field in books: YES
[21-Nov-2025 12:04:07 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:07 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:07 UTC] 📊 Database Info:
[21-Nov-2025 12:04:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:07 UTC]    Books columns count: 44
[21-Nov-2025 12:04:07 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:07 UTC]    Language field in books: YES
[21-Nov-2025 12:04:07 UTC]    Format field in books: YES
[21-Nov-2025 12:04:07 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:07 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:07 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:04:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:04:07 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:04:07 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:04:07 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:04:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:12 UTC] 📊 Database Info:
[21-Nov-2025 12:04:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:12 UTC]    Books columns count: 44
[21-Nov-2025 12:04:12 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:12 UTC]    Language field in books: YES
[21-Nov-2025 12:04:12 UTC]    Format field in books: YES
[21-Nov-2025 12:04:12 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:12 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:04:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 12:04:12 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 12:04:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:12 UTC] 📊 Database Info:
[21-Nov-2025 12:04:12 UTC] 📊 Database Info:
[21-Nov-2025 12:04:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:12 UTC]    Books columns count: 44
[21-Nov-2025 12:04:12 UTC]    Books columns count: 44
[21-Nov-2025 12:04:12 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:12 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:12 UTC]    Language field in books: YES
[21-Nov-2025 12:04:12 UTC]    Language field in books: YES
[21-Nov-2025 12:04:12 UTC]    Format field in books: YES
[21-Nov-2025 12:04:12 UTC]    Format field in books: YES
[21-Nov-2025 12:04:12 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:12 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:12 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:12 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:13 UTC] 📊 Database Info:
[21-Nov-2025 12:04:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:13 UTC]    Books columns count: 44
[21-Nov-2025 12:04:13 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:13 UTC]    Language field in books: YES
[21-Nov-2025 12:04:13 UTC]    Format field in books: YES
[21-Nov-2025 12:04:13 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:13 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:04:13 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 12:04:13 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 12:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:16 UTC] 📊 Database Info:
[21-Nov-2025 12:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:16 UTC]    Books columns count: 44
[21-Nov-2025 12:04:16 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:16 UTC]    Language field in books: YES
[21-Nov-2025 12:04:16 UTC]    Format field in books: YES
[21-Nov-2025 12:04:16 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:16 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:04:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 12:04:16 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 12:04:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:27 UTC] 📊 Database Info:
[21-Nov-2025 12:04:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:27 UTC]    Books columns count: 44
[21-Nov-2025 12:04:27 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:27 UTC]    Language field in books: YES
[21-Nov-2025 12:04:27 UTC]    Format field in books: YES
[21-Nov-2025 12:04:27 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:27 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:04:27 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 12:04:27 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 12:04:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:27 UTC] 📊 Database Info:
[21-Nov-2025 12:04:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:27 UTC]    Books columns count: 44
[21-Nov-2025 12:04:27 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:27 UTC]    Language field in books: YES
[21-Nov-2025 12:04:27 UTC]    Format field in books: YES
[21-Nov-2025 12:04:27 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:27 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:27 UTC] 📊 Database Info:
[21-Nov-2025 12:04:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:27 UTC]    Books columns count: 44
[21-Nov-2025 12:04:27 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:27 UTC]    Language field in books: YES
[21-Nov-2025 12:04:27 UTC]    Format field in books: YES
[21-Nov-2025 12:04:27 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:27 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:27 UTC] 📊 Database Info:
[21-Nov-2025 12:04:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:27 UTC]    Books columns count: 44
[21-Nov-2025 12:04:27 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:27 UTC]    Language field in books: YES
[21-Nov-2025 12:04:27 UTC]    Format field in books: YES
[21-Nov-2025 12:04:27 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:27 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:04:27 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 12:04:27 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 12:04:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:27 UTC] 📊 Database Info:
[21-Nov-2025 12:04:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:27 UTC]    Books columns count: 44
[21-Nov-2025 12:04:27 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:27 UTC]    Language field in books: YES
[21-Nov-2025 12:04:27 UTC]    Format field in books: YES
[21-Nov-2025 12:04:27 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:27 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:04:27 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 12:04:27 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 12:04:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:28 UTC] 📊 Database Info:
[21-Nov-2025 12:04:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:28 UTC]    Books columns count: 44
[21-Nov-2025 12:04:28 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:28 UTC]    Language field in books: YES
[21-Nov-2025 12:04:28 UTC]    Format field in books: YES
[21-Nov-2025 12:04:28 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:28 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:04:28 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 12:04:28 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 12:04:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:32 UTC] 📊 Database Info:
[21-Nov-2025 12:04:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:32 UTC]    Books columns count: 44
[21-Nov-2025 12:04:32 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:32 UTC]    Language field in books: YES
[21-Nov-2025 12:04:32 UTC]    Format field in books: YES
[21-Nov-2025 12:04:32 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:32 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:41 UTC] 📊 Database Info:
[21-Nov-2025 12:04:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:41 UTC]    Books columns count: 44
[21-Nov-2025 12:04:41 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:41 UTC]    Language field in books: YES
[21-Nov-2025 12:04:41 UTC]    Format field in books: YES
[21-Nov-2025 12:04:41 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:41 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:41 UTC] 📊 Database Info:
[21-Nov-2025 12:04:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:41 UTC]    Books columns count: 44
[21-Nov-2025 12:04:41 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:41 UTC]    Language field in books: YES
[21-Nov-2025 12:04:41 UTC]    Format field in books: YES
[21-Nov-2025 12:04:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:41 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:41 UTC] 📊 Database Info:
[21-Nov-2025 12:04:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:41 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:41 UTC]    Books columns count: 44
[21-Nov-2025 12:04:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:41 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:41 UTC]    Language field in books: YES
[21-Nov-2025 12:04:41 UTC]    Format field in books: YES
[21-Nov-2025 12:04:41 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:41 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:04:41 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 12:04:41 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 12:04:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:41 UTC] 📊 Database Info:
[21-Nov-2025 12:04:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:41 UTC]    Books columns count: 44
[21-Nov-2025 12:04:41 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:41 UTC]    Language field in books: YES
[21-Nov-2025 12:04:41 UTC]    Format field in books: YES
[21-Nov-2025 12:04:41 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:41 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:04:41 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 12:04:41 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 12:04:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:41 UTC] 📊 Database Info:
[21-Nov-2025 12:04:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:41 UTC]    Books columns count: 44
[21-Nov-2025 12:04:41 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:41 UTC]    Language field in books: YES
[21-Nov-2025 12:04:41 UTC]    Format field in books: YES
[21-Nov-2025 12:04:41 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:41 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:04:41 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 12:04:41 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 12:04:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:04:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:04:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:04:42 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:04:42 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:04:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:04:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:04:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:04:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:04:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:04:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:04:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:04:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:04:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:04:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:04:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:04:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:04:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:04:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:04:42 UTC] 📊 Database Info:
[21-Nov-2025 12:04:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:04:42 UTC]    Books columns count: 44
[21-Nov-2025 12:04:42 UTC]    Categories columns count: 7
[21-Nov-2025 12:04:42 UTC]    Language field in books: YES
[21-Nov-2025 12:04:42 UTC]    Format field in books: YES
[21-Nov-2025 12:04:42 UTC]    Description field in categories: YES
[21-Nov-2025 12:04:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:04:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:04:42 UTC]    Is_active field in books: YES
[21-Nov-2025 12:04:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:04:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:04:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:04:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:04:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:04:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:04:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:04:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:04:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:04:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:04:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:04:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:04:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:04:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:04:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:04:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:04:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:04:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:04:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:04:42 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 12:04:42 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 12:08:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:08:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:08:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:08:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:08:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:08:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:08:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:08:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:08:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:08:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:08:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:08:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:08:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:08:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:08:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:08:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:08:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:08:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:08:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:08:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:08:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:08:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:08:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:08:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:08:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:08:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:08:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:08:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:08:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:08:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:08:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:08:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:08:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:08:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:08:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:08:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:08:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:08:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:08:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:08:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:08:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:08:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:08:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:08:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:08:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:08:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:08:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:08:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:08:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:08:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:08:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:08:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:08:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:08:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:08:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:08:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:08:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:08:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:08:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:08:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:08:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:08:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:08:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:08:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:08:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:08:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:08:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:08:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:08:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:08:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:08:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:08:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:08:06 UTC] 📊 Database Info:
[21-Nov-2025 12:08:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:08:06 UTC]    Books columns count: 44
[21-Nov-2025 12:08:06 UTC]    Categories columns count: 7
[21-Nov-2025 12:08:06 UTC]    Language field in books: YES
[21-Nov-2025 12:08:06 UTC]    Format field in books: YES
[21-Nov-2025 12:08:06 UTC]    Description field in categories: YES
[21-Nov-2025 12:08:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:08:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:08:06 UTC]    Is_active field in books: YES
[21-Nov-2025 12:08:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:08:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:08:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:08:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:08:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:08:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:08:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:08:06 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:08:06 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:08:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:08:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:08:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:08:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:08:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:08:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:08:06 UTC] 📊 Database Info:
[21-Nov-2025 12:08:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:08:06 UTC]    Books columns count: 44
[21-Nov-2025 12:08:06 UTC]    Categories columns count: 7
[21-Nov-2025 12:08:06 UTC]    Language field in books: YES
[21-Nov-2025 12:08:06 UTC]    Format field in books: YES
[21-Nov-2025 12:08:06 UTC]    Description field in categories: YES
[21-Nov-2025 12:08:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:08:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:08:06 UTC]    Is_active field in books: YES
[21-Nov-2025 12:08:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:08:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:08:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:08:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:08:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:08:06 UTC] 📊 Database Info:
[21-Nov-2025 12:08:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:08:06 UTC]    Books columns count: 44
[21-Nov-2025 12:08:06 UTC]    Categories columns count: 7
[21-Nov-2025 12:08:06 UTC]    Language field in books: YES
[21-Nov-2025 12:08:06 UTC]    Format field in books: YES
[21-Nov-2025 12:08:06 UTC]    Description field in categories: YES
[21-Nov-2025 12:08:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:08:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:08:06 UTC]    Is_active field in books: YES
[21-Nov-2025 12:08:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:08:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:08:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:08:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:08:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:08:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:08:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:08:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:08:06 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:08:06 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:10:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:10:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:10:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:10:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:10:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:10:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:10:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:10:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:10:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:10:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:10:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:10:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:10:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:10:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:10:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:10:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:10:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:10:11 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:10:11 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:10:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:10:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:10:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:10:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:10:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:10:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:10:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:10:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:10:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:10:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:10:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:10:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:10:11 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:10:11 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:10:11 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:10:11 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:10:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:10:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:10:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:10:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:10:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:10:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:10:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:10:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:10:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:10:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:10:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:10:11 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:10:11 UTC] 📊 Database Info:
[21-Nov-2025 12:10:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:10:11 UTC]    Books columns count: 44
[21-Nov-2025 12:10:11 UTC]    Categories columns count: 7
[21-Nov-2025 12:10:11 UTC]    Language field in books: YES
[21-Nov-2025 12:10:11 UTC]    Format field in books: YES
[21-Nov-2025 12:10:11 UTC]    Description field in categories: YES
[21-Nov-2025 12:10:11 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:10:11 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:10:11 UTC]    Is_active field in books: YES
[21-Nov-2025 12:10:11 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:10:11 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:10:11 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:10:11 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:10:11 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:10:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:10:11 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:10:11 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:10:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:10:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:10:11 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:10:11 UTC] 📊 Database Info:
[21-Nov-2025 12:10:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:10:11 UTC]    Books columns count: 44
[21-Nov-2025 12:10:11 UTC]    Categories columns count: 7
[21-Nov-2025 12:10:11 UTC]    Language field in books: YES
[21-Nov-2025 12:10:11 UTC]    Format field in books: YES
[21-Nov-2025 12:10:11 UTC]    Description field in categories: YES
[21-Nov-2025 12:10:11 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:10:11 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:10:11 UTC]    Is_active field in books: YES
[21-Nov-2025 12:10:11 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:10:11 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:10:11 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:10:11 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:10:11 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:10:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:10:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:10:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:10:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:10:11 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:10:11 UTC] 📊 Database Info:
[21-Nov-2025 12:10:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:10:11 UTC]    Books columns count: 44
[21-Nov-2025 12:10:11 UTC]    Categories columns count: 7
[21-Nov-2025 12:10:11 UTC]    Language field in books: YES
[21-Nov-2025 12:10:11 UTC]    Format field in books: YES
[21-Nov-2025 12:10:11 UTC]    Description field in categories: YES
[21-Nov-2025 12:10:11 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:10:11 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:10:11 UTC]    Is_active field in books: YES
[21-Nov-2025 12:10:11 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:10:11 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:10:11 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:10:11 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:10:11 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:10:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:10:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:10:11 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:10:11 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:10:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:10:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:10:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:10:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:10:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:10:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:10:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:10:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:10:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:10:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:10:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:10:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:10:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:10:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:10:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:10:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:10:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:10:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:10:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:10:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:10:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:10:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:10:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:10:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:10:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:10:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:10:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:10:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:10:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:10:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:10:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:10:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:10:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:10:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:10:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:10:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:10:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:10:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:10:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:10:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:10:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:10:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:10:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:10:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:10:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:10:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:10:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:10:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:10:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:10:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:10:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:10:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:10:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:10:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:10:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:10:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:10:39 UTC] 📊 Database Info:
[21-Nov-2025 12:10:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:10:39 UTC]    Books columns count: 44
[21-Nov-2025 12:10:39 UTC]    Categories columns count: 7
[21-Nov-2025 12:10:39 UTC]    Language field in books: YES
[21-Nov-2025 12:10:39 UTC]    Format field in books: YES
[21-Nov-2025 12:10:39 UTC]    Description field in categories: YES
[21-Nov-2025 12:10:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:10:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:10:39 UTC]    Is_active field in books: YES
[21-Nov-2025 12:10:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:10:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:10:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:10:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:10:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:10:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:10:39 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:10:39 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:10:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:10:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:10:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:10:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:10:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:10:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:10:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:10:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:10:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:10:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:10:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:10:39 UTC] 📊 Database Info:
[21-Nov-2025 12:10:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:10:39 UTC]    Books columns count: 44
[21-Nov-2025 12:10:39 UTC]    Categories columns count: 7
[21-Nov-2025 12:10:39 UTC]    Language field in books: YES
[21-Nov-2025 12:10:39 UTC]    Format field in books: YES
[21-Nov-2025 12:10:39 UTC]    Description field in categories: YES
[21-Nov-2025 12:10:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:10:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:10:39 UTC]    Is_active field in books: YES
[21-Nov-2025 12:10:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:10:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:10:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:10:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:10:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:10:39 UTC] 📊 Database Info:
[21-Nov-2025 12:10:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:10:39 UTC]    Books columns count: 44
[21-Nov-2025 12:10:39 UTC]    Categories columns count: 7
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:10:39 UTC]    Language field in books: YES
[21-Nov-2025 12:10:39 UTC]    Format field in books: YES
[21-Nov-2025 12:10:39 UTC]    Description field in categories: YES
[21-Nov-2025 12:10:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:10:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:10:39 UTC]    Is_active field in books: YES
[21-Nov-2025 12:10:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:10:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:10:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:10:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:10:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:10:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:10:39 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:10:39 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:10:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:11:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:11:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:11:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:11:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:11:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:11:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:11:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:11:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:11:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:11:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:11:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:11:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:11:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:11:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:11:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:11:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:11:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:11:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:11:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:11:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:11:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:11:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:11:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:11:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:11:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:11:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:11:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:11:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:11:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:11:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:11:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:11:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:11:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:11:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:11:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:11:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:11:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:11:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:11:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:11:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:11:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:11:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:11:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:11:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:11:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:11:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:11:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:11:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:11:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:11:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:11:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:11:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:11:58 UTC] 📊 Database Info:
[21-Nov-2025 12:11:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:11:58 UTC]    Books columns count: 44
[21-Nov-2025 12:11:58 UTC]    Categories columns count: 7
[21-Nov-2025 12:11:58 UTC]    Language field in books: YES
[21-Nov-2025 12:11:58 UTC]    Format field in books: YES
[21-Nov-2025 12:11:58 UTC]    Description field in categories: YES
[21-Nov-2025 12:11:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:11:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:11:58 UTC]    Is_active field in books: YES
[21-Nov-2025 12:11:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:11:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:11:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:11:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:11:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:11:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:11:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:11:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:11:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:11:58 UTC] 📊 Database Info:
[21-Nov-2025 12:11:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:11:58 UTC]    Books columns count: 44
[21-Nov-2025 12:11:58 UTC]    Categories columns count: 7
[21-Nov-2025 12:11:58 UTC]    Language field in books: YES
[21-Nov-2025 12:11:58 UTC]    Format field in books: YES
[21-Nov-2025 12:11:58 UTC]    Description field in categories: YES
[21-Nov-2025 12:11:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:11:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:11:58 UTC]    Is_active field in books: YES
[21-Nov-2025 12:11:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:11:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:11:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:11:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:11:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:11:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:11:58 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:11:58 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:11:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:11:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:11:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:11:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:11:58 UTC] 📊 Database Info:
[21-Nov-2025 12:11:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:11:58 UTC]    Books columns count: 44
[21-Nov-2025 12:11:58 UTC]    Categories columns count: 7
[21-Nov-2025 12:11:58 UTC]    Language field in books: YES
[21-Nov-2025 12:11:58 UTC]    Format field in books: YES
[21-Nov-2025 12:11:58 UTC]    Description field in categories: YES
[21-Nov-2025 12:11:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:11:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:11:58 UTC]    Is_active field in books: YES
[21-Nov-2025 12:11:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:11:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:11:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:11:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:11:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:11:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:11:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:11:58 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:11:58 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:26:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:26:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:26:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:26:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:26:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:26:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:26:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:26:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:26:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:26:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:26:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:26:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:26:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:26:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:26:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:26:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:26:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:26:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:26:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:26:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:26:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:26:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:26:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:26:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:26:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:26:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:26:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:26:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:26:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:26:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:26:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:26:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:26:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:26:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:26:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:26:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:26:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:26:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:26:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:26:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:26:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:26:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:26:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:26:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:26:57 UTC] 📊 Database Info:
[21-Nov-2025 12:26:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:26:57 UTC]    Books columns count: 44
[21-Nov-2025 12:26:57 UTC]    Categories columns count: 7
[21-Nov-2025 12:26:57 UTC]    Language field in books: YES
[21-Nov-2025 12:26:57 UTC]    Format field in books: YES
[21-Nov-2025 12:26:57 UTC]    Description field in categories: YES
[21-Nov-2025 12:26:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:26:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:26:57 UTC]    Is_active field in books: YES
[21-Nov-2025 12:26:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:26:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:26:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:26:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:26:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:26:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:26:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:26:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:26:57 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:26:57 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:26:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:26:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:26:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:26:57 UTC] 📊 Database Info:
[21-Nov-2025 12:26:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:26:57 UTC]    Books columns count: 44
[21-Nov-2025 12:26:57 UTC]    Categories columns count: 7
[21-Nov-2025 12:26:57 UTC]    Language field in books: YES
[21-Nov-2025 12:26:57 UTC]    Format field in books: YES
[21-Nov-2025 12:26:57 UTC]    Description field in categories: YES
[21-Nov-2025 12:26:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:26:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:26:57 UTC]    Is_active field in books: YES
[21-Nov-2025 12:26:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:26:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:26:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:26:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:26:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:26:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:26:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:26:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:26:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:26:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:26:57 UTC] 📊 Database Info:
[21-Nov-2025 12:26:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:26:57 UTC]    Books columns count: 44
[21-Nov-2025 12:26:57 UTC]    Categories columns count: 7
[21-Nov-2025 12:26:57 UTC]    Language field in books: YES
[21-Nov-2025 12:26:57 UTC]    Format field in books: YES
[21-Nov-2025 12:26:57 UTC]    Description field in categories: YES
[21-Nov-2025 12:26:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:26:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:26:57 UTC]    Is_active field in books: YES
[21-Nov-2025 12:26:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:26:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:26:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:26:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:26:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:26:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:26:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:26:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:26:57 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:26:57 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:27:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:27:33 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:27:33 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:27:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:27:33 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:27:33 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:27:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:27:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:27:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:27:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:27:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:27:33 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:27:33 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:27:33 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:27:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:27:33 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:27:33 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:27:33 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:27:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:27:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:27:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:27:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:27:33 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:27:33 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:27:33 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:27:33 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:27:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:27:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:27:33 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:27:33 UTC] 📊 Database Info:
[21-Nov-2025 12:27:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:27:33 UTC]    Books columns count: 44
[21-Nov-2025 12:27:33 UTC]    Categories columns count: 7
[21-Nov-2025 12:27:33 UTC]    Language field in books: YES
[21-Nov-2025 12:27:33 UTC]    Format field in books: YES
[21-Nov-2025 12:27:33 UTC]    Description field in categories: YES
[21-Nov-2025 12:27:33 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:27:33 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:27:33 UTC]    Is_active field in books: YES
[21-Nov-2025 12:27:33 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:27:33 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:27:33 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:27:33 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:27:33 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:27:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:27:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:27:33 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:27:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:27:33 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:27:33 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:27:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:27:33 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:27:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:27:33 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:27:33 UTC] 📊 Database Info:
[21-Nov-2025 12:27:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:27:33 UTC]    Books columns count: 44
[21-Nov-2025 12:27:33 UTC]    Categories columns count: 7
[21-Nov-2025 12:27:33 UTC]    Language field in books: YES
[21-Nov-2025 12:27:33 UTC]    Format field in books: YES
[21-Nov-2025 12:27:33 UTC]    Description field in categories: YES
[21-Nov-2025 12:27:33 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:27:33 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:27:33 UTC]    Is_active field in books: YES
[21-Nov-2025 12:27:33 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:27:33 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:27:33 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:27:33 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:27:33 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:27:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:27:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:27:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:27:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:27:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:27:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:27:33 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:27:33 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:27:33 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:27:33 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:27:33 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:27:33 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:27:33 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:27:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:27:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:27:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:27:33 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:27:33 UTC] 📊 Database Info:
[21-Nov-2025 12:27:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:27:33 UTC]    Books columns count: 44
[21-Nov-2025 12:27:33 UTC]    Categories columns count: 7
[21-Nov-2025 12:27:33 UTC]    Language field in books: YES
[21-Nov-2025 12:27:33 UTC]    Format field in books: YES
[21-Nov-2025 12:27:33 UTC]    Description field in categories: YES
[21-Nov-2025 12:27:33 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:27:33 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:27:33 UTC]    Is_active field in books: YES
[21-Nov-2025 12:27:33 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:27:33 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:27:33 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:27:33 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:27:33 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:27:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:27:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:27:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:27:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:27:33 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:28:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:28:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:28:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:28:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:28:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:28:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:28:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:28:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:28:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:28:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:28:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:28:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:28:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:28:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:28:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:28:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:28:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:28:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:28:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:28:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:28:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:28:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:28:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:28:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:28:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:28:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:28:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:28:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:28:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:28:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:28:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:28:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:28:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:28:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:28:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:28:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:28:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:28:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:28:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:28:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:28:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:28:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:28:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:28:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:28:28 UTC] 📊 Database Info:
[21-Nov-2025 12:28:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:28:28 UTC]    Books columns count: 44
[21-Nov-2025 12:28:28 UTC]    Categories columns count: 7
[21-Nov-2025 12:28:28 UTC]    Language field in books: YES
[21-Nov-2025 12:28:28 UTC]    Format field in books: YES
[21-Nov-2025 12:28:28 UTC]    Description field in categories: YES
[21-Nov-2025 12:28:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:28:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:28:28 UTC]    Is_active field in books: YES
[21-Nov-2025 12:28:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:28:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:28:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:28:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:28:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:28:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:28:28 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:28:28 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:28:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:28:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:28:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:28:28 UTC] 📊 Database Info:
[21-Nov-2025 12:28:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:28:28 UTC]    Books columns count: 44
[21-Nov-2025 12:28:28 UTC]    Categories columns count: 7
[21-Nov-2025 12:28:28 UTC]    Language field in books: YES
[21-Nov-2025 12:28:28 UTC]    Format field in books: YES
[21-Nov-2025 12:28:28 UTC]    Description field in categories: YES
[21-Nov-2025 12:28:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:28:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:28:28 UTC]    Is_active field in books: YES
[21-Nov-2025 12:28:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:28:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:28:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:28:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:28:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:28:28 UTC] 📊 Database Info:
[21-Nov-2025 12:28:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:28:28 UTC]    Books columns count: 44
[21-Nov-2025 12:28:28 UTC]    Categories columns count: 7
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:28:28 UTC]    Language field in books: YES
[21-Nov-2025 12:28:28 UTC]    Format field in books: YES
[21-Nov-2025 12:28:28 UTC]    Description field in categories: YES
[21-Nov-2025 12:28:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:28:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:28:28 UTC]    Is_active field in books: YES
[21-Nov-2025 12:28:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:28:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:28:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:28:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:28:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:28:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:28:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:28:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:28:28 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:28:28 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:32:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:32:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:32:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:32:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:32:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:32:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:32:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:32:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:32:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:32:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:32:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:32:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:32:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:32:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:32:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:32:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:32:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:32:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:32:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:32:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:32:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:32:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:32:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:32:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:32:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:32:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:32:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:32:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:32:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:32:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:32:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:32:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:32:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:32:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:32:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:32:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:32:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:32:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:32:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:32:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:32:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:32:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:32:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:32:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:32:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:32:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:32:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:32:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:32:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:32:06 UTC] 📊 Database Info:
[21-Nov-2025 12:32:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:32:06 UTC]    Books columns count: 44
[21-Nov-2025 12:32:06 UTC]    Categories columns count: 7
[21-Nov-2025 12:32:06 UTC]    Language field in books: YES
[21-Nov-2025 12:32:06 UTC]    Format field in books: YES
[21-Nov-2025 12:32:06 UTC]    Description field in categories: YES
[21-Nov-2025 12:32:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:32:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:32:06 UTC]    Is_active field in books: YES
[21-Nov-2025 12:32:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:32:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:32:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:32:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:32:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:32:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:32:06 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:32:06 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:32:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:32:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:32:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:32:06 UTC] 📊 Database Info:
[21-Nov-2025 12:32:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:32:06 UTC]    Books columns count: 44
[21-Nov-2025 12:32:06 UTC]    Categories columns count: 7
[21-Nov-2025 12:32:06 UTC]    Language field in books: YES
[21-Nov-2025 12:32:06 UTC]    Format field in books: YES
[21-Nov-2025 12:32:06 UTC]    Description field in categories: YES
[21-Nov-2025 12:32:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:32:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:32:06 UTC]    Is_active field in books: YES
[21-Nov-2025 12:32:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:32:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:32:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:32:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:32:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:32:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:32:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:32:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:32:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:32:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:32:06 UTC] 📊 Database Info:
[21-Nov-2025 12:32:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:32:06 UTC]    Books columns count: 44
[21-Nov-2025 12:32:06 UTC]    Categories columns count: 7
[21-Nov-2025 12:32:06 UTC]    Language field in books: YES
[21-Nov-2025 12:32:06 UTC]    Format field in books: YES
[21-Nov-2025 12:32:06 UTC]    Description field in categories: YES
[21-Nov-2025 12:32:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:32:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:32:06 UTC]    Is_active field in books: YES
[21-Nov-2025 12:32:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:32:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:32:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:32:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:32:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:32:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:32:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:32:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:32:06 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:32:06 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:32:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:32:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:32:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:32:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:32:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:32:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:32:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:32:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:32:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:32:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:32:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:32:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:32:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:32:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:32:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:32:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:32:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:32:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:32:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:32:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:32:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:32:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:32:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:32:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:32:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:32:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:32:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:32:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:32:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:32:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:32:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:32:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:32:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:32:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:32:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:32:13 UTC] 📊 Database Info:
[21-Nov-2025 12:32:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:32:13 UTC]    Books columns count: 44
[21-Nov-2025 12:32:13 UTC]    Categories columns count: 7
[21-Nov-2025 12:32:13 UTC]    Language field in books: YES
[21-Nov-2025 12:32:13 UTC]    Format field in books: YES
[21-Nov-2025 12:32:13 UTC]    Description field in categories: YES
[21-Nov-2025 12:32:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:32:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:32:13 UTC]    Is_active field in books: YES
[21-Nov-2025 12:32:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:32:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:32:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:32:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:32:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:32:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:32:13 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:32:13 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:32:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:32:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:32:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:32:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:32:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:32:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:32:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:32:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:32:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:32:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:32:13 UTC] 📊 Database Info:
[21-Nov-2025 12:32:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:32:13 UTC]    Books columns count: 44
[21-Nov-2025 12:32:13 UTC]    Categories columns count: 7
[21-Nov-2025 12:32:13 UTC]    Language field in books: YES
[21-Nov-2025 12:32:13 UTC]    Format field in books: YES
[21-Nov-2025 12:32:13 UTC]    Description field in categories: YES
[21-Nov-2025 12:32:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:32:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:32:13 UTC]    Is_active field in books: YES
[21-Nov-2025 12:32:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:32:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:32:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:32:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:32:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:32:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:32:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:32:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:32:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:32:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:32:13 UTC] 📊 Database Info:
[21-Nov-2025 12:32:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:32:13 UTC]    Books columns count: 44
[21-Nov-2025 12:32:13 UTC]    Categories columns count: 7
[21-Nov-2025 12:32:13 UTC]    Language field in books: YES
[21-Nov-2025 12:32:13 UTC]    Format field in books: YES
[21-Nov-2025 12:32:13 UTC]    Description field in categories: YES
[21-Nov-2025 12:32:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:32:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:32:13 UTC]    Is_active field in books: YES
[21-Nov-2025 12:32:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:32:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:32:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:32:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:32:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:32:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:32:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:32:13 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:32:13 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:33:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:33:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:33:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:33:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:33:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:33:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:33:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:33:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:33:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:33:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:33:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:33:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:33:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:33:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:33:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:33:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:33:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:33:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:33:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:33:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:33:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:33:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:33:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:33:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:33:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:33:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:33:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:33:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:33:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:33:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:33:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:33:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:33:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:33:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:33:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:33:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:33:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:33:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:33:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:33:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:33:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:33:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:33:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:33:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:33:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:33:27 UTC] 📊 Database Info:
[21-Nov-2025 12:33:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:33:27 UTC]    Books columns count: 44
[21-Nov-2025 12:33:27 UTC]    Categories columns count: 7
[21-Nov-2025 12:33:27 UTC]    Language field in books: YES
[21-Nov-2025 12:33:27 UTC]    Format field in books: YES
[21-Nov-2025 12:33:27 UTC]    Description field in categories: YES
[21-Nov-2025 12:33:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:33:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:33:27 UTC]    Is_active field in books: YES
[21-Nov-2025 12:33:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:33:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:33:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:33:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:33:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:33:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:33:27 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:33:27 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:33:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:33:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:33:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:33:27 UTC] 📊 Database Info:
[21-Nov-2025 12:33:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:33:27 UTC]    Books columns count: 44
[21-Nov-2025 12:33:27 UTC]    Categories columns count: 7
[21-Nov-2025 12:33:27 UTC]    Language field in books: YES
[21-Nov-2025 12:33:27 UTC]    Format field in books: YES
[21-Nov-2025 12:33:27 UTC]    Description field in categories: YES
[21-Nov-2025 12:33:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:33:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:33:27 UTC]    Is_active field in books: YES
[21-Nov-2025 12:33:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:33:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:33:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:33:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:33:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:33:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:33:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:33:27 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:33:27 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:33:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:33:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:33:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:33:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:33:27 UTC] 📊 Database Info:
[21-Nov-2025 12:33:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:33:27 UTC]    Books columns count: 44
[21-Nov-2025 12:33:27 UTC]    Categories columns count: 7
[21-Nov-2025 12:33:27 UTC]    Language field in books: YES
[21-Nov-2025 12:33:27 UTC]    Format field in books: YES
[21-Nov-2025 12:33:27 UTC]    Description field in categories: YES
[21-Nov-2025 12:33:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:33:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:33:27 UTC]    Is_active field in books: YES
[21-Nov-2025 12:33:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:33:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:33:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:33:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:33:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:33:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:33:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:33:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:33:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:33:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:33:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:33:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:33:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:33:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:33:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:33:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:33:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:33:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:33:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:33:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:33:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:33:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:33:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:33:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:33:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:33:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:33:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:33:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:33:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:33:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:33:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:33:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:33:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:33:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:33:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:33:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:33:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:33:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:33:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:33:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:33:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:33:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:33:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:33:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:33:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:33:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:33:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:33:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:33:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:33:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:33:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:33:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:33:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:33:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:33:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:33:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:33:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:33:38 UTC] 📊 Database Info:
[21-Nov-2025 12:33:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:33:38 UTC]    Books columns count: 44
[21-Nov-2025 12:33:38 UTC]    Categories columns count: 7
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:33:38 UTC]    Language field in books: YES
[21-Nov-2025 12:33:38 UTC]    Format field in books: YES
[21-Nov-2025 12:33:38 UTC]    Description field in categories: YES
[21-Nov-2025 12:33:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:33:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:33:38 UTC]    Is_active field in books: YES
[21-Nov-2025 12:33:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:33:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:33:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:33:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:33:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:33:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:33:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:33:38 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:33:38 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:33:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:33:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:33:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:33:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:33:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:33:38 UTC] 📊 Database Info:
[21-Nov-2025 12:33:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:33:38 UTC]    Books columns count: 44
[21-Nov-2025 12:33:38 UTC]    Categories columns count: 7
[21-Nov-2025 12:33:38 UTC]    Language field in books: YES
[21-Nov-2025 12:33:38 UTC]    Format field in books: YES
[21-Nov-2025 12:33:38 UTC]    Description field in categories: YES
[21-Nov-2025 12:33:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:33:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:33:38 UTC]    Is_active field in books: YES
[21-Nov-2025 12:33:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:33:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:33:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:33:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:33:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:33:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:33:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:33:38 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:33:38 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:33:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:33:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:33:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:33:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:33:38 UTC] 📊 Database Info:
[21-Nov-2025 12:33:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:33:38 UTC]    Books columns count: 44
[21-Nov-2025 12:33:38 UTC]    Categories columns count: 7
[21-Nov-2025 12:33:38 UTC]    Language field in books: YES
[21-Nov-2025 12:33:38 UTC]    Format field in books: YES
[21-Nov-2025 12:33:38 UTC]    Description field in categories: YES
[21-Nov-2025 12:33:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:33:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:33:38 UTC]    Is_active field in books: YES
[21-Nov-2025 12:33:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:33:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:33:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:33:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:33:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:33:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:33:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:35:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:35:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:35:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:35:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:35:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:35:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:35:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:35:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:35:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:35:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:35:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:35:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:35:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:35:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:35:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:35:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:35:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:35:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:35:21 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:35:21 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:35:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:35:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:35:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:35:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:35:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:35:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:35:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:35:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:35:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:35:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:35:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:35:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:35:21 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:35:21 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:35:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:35:21 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:35:21 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:35:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:35:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:35:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:35:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:35:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:35:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:35:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:35:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:35:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:35:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:35:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:35:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:35:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:35:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:35:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:35:21 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:35:21 UTC] 📊 Database Info:
[21-Nov-2025 12:35:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:35:21 UTC]    Books columns count: 44
[21-Nov-2025 12:35:21 UTC]    Categories columns count: 7
[21-Nov-2025 12:35:21 UTC]    Language field in books: YES
[21-Nov-2025 12:35:21 UTC]    Format field in books: YES
[21-Nov-2025 12:35:21 UTC]    Description field in categories: YES
[21-Nov-2025 12:35:21 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:35:21 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:35:21 UTC]    Is_active field in books: YES
[21-Nov-2025 12:35:21 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:35:21 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:35:21 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:35:21 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:35:21 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:35:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:35:21 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:35:21 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:35:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:35:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:35:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:35:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:35:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:35:21 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:35:21 UTC] 📊 Database Info:
[21-Nov-2025 12:35:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:35:21 UTC]    Books columns count: 44
[21-Nov-2025 12:35:21 UTC]    Categories columns count: 7
[21-Nov-2025 12:35:21 UTC]    Language field in books: YES
[21-Nov-2025 12:35:21 UTC]    Format field in books: YES
[21-Nov-2025 12:35:21 UTC]    Description field in categories: YES
[21-Nov-2025 12:35:21 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:35:21 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:35:21 UTC]    Is_active field in books: YES
[21-Nov-2025 12:35:21 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:35:21 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:35:21 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:35:21 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:35:21 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:35:21 UTC] 📊 Database Info:
[21-Nov-2025 12:35:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:35:21 UTC]    Books columns count: 44
[21-Nov-2025 12:35:21 UTC]    Categories columns count: 7
[21-Nov-2025 12:35:21 UTC]    Language field in books: YES
[21-Nov-2025 12:35:21 UTC]    Format field in books: YES
[21-Nov-2025 12:35:21 UTC]    Description field in categories: YES
[21-Nov-2025 12:35:21 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:35:21 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:35:21 UTC]    Is_active field in books: YES
[21-Nov-2025 12:35:21 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:35:21 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:35:21 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:35:21 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:35:21 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:35:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:35:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:35:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:35:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:35:21 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:35:21 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:36:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:36:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:36:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:36:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:36:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:36:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:36:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:36:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:36:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:36:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:36:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:36:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:36:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:36:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:36:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:36:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:36:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:36:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:36:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:36:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:36:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:36:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:36:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:36:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:36:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:36:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:36:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:36:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:36:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:36:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:36:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:36:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:36:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:36:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:36:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:36:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:36:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:36:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:36:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:36:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:36:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:36:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:36:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:36:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:36:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:36:41 UTC] 📊 Database Info:
[21-Nov-2025 12:36:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:36:41 UTC]    Books columns count: 44
[21-Nov-2025 12:36:41 UTC]    Categories columns count: 7
[21-Nov-2025 12:36:41 UTC]    Language field in books: YES
[21-Nov-2025 12:36:41 UTC]    Format field in books: YES
[21-Nov-2025 12:36:41 UTC]    Description field in categories: YES
[21-Nov-2025 12:36:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:36:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:36:41 UTC]    Is_active field in books: YES
[21-Nov-2025 12:36:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:36:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:36:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:36:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:36:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:36:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:36:41 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:36:41 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:36:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:36:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:36:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:36:41 UTC] 📊 Database Info:
[21-Nov-2025 12:36:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:36:41 UTC]    Books columns count: 44
[21-Nov-2025 12:36:41 UTC]    Categories columns count: 7
[21-Nov-2025 12:36:41 UTC]    Language field in books: YES
[21-Nov-2025 12:36:41 UTC]    Format field in books: YES
[21-Nov-2025 12:36:41 UTC]    Description field in categories: YES
[21-Nov-2025 12:36:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:36:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:36:41 UTC]    Is_active field in books: YES
[21-Nov-2025 12:36:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:36:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:36:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:36:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:36:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:36:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:36:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:36:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:36:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:36:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:36:41 UTC] 📊 Database Info:
[21-Nov-2025 12:36:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:36:41 UTC]    Books columns count: 44
[21-Nov-2025 12:36:41 UTC]    Categories columns count: 7
[21-Nov-2025 12:36:41 UTC]    Language field in books: YES
[21-Nov-2025 12:36:41 UTC]    Format field in books: YES
[21-Nov-2025 12:36:41 UTC]    Description field in categories: YES
[21-Nov-2025 12:36:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:36:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:36:41 UTC]    Is_active field in books: YES
[21-Nov-2025 12:36:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:36:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:36:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:36:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:36:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:36:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:36:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:36:41 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:36:41 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:36:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:36:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:36:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:36:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:36:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:36:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:36:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:36:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:36:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:36:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:36:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:36:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:36:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:36:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:36:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:36:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:36:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:36:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:36:46 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:36:46 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:36:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:36:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:36:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:36:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:36:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:36:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:36:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:36:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:36:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:36:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:36:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:36:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:36:46 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:36:46 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:36:46 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:36:46 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:36:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:36:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:36:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:36:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:36:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:36:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:36:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:36:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:36:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:36:46 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:36:46 UTC] 📊 Database Info:
[21-Nov-2025 12:36:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:36:46 UTC]    Books columns count: 44
[21-Nov-2025 12:36:46 UTC]    Categories columns count: 7
[21-Nov-2025 12:36:46 UTC]    Language field in books: YES
[21-Nov-2025 12:36:46 UTC]    Format field in books: YES
[21-Nov-2025 12:36:46 UTC]    Description field in categories: YES
[21-Nov-2025 12:36:46 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:36:46 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:36:46 UTC]    Is_active field in books: YES
[21-Nov-2025 12:36:46 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:36:46 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:36:46 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:36:46 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:36:46 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:36:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:36:46 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:36:46 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:36:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:36:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:36:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:36:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:36:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:36:46 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:36:46 UTC] 📊 Database Info:
[21-Nov-2025 12:36:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:36:46 UTC]    Books columns count: 44
[21-Nov-2025 12:36:46 UTC]    Categories columns count: 7
[21-Nov-2025 12:36:46 UTC]    Language field in books: YES
[21-Nov-2025 12:36:46 UTC]    Format field in books: YES
[21-Nov-2025 12:36:46 UTC]    Description field in categories: YES
[21-Nov-2025 12:36:46 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:36:46 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:36:46 UTC]    Is_active field in books: YES
[21-Nov-2025 12:36:46 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:36:46 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:36:46 UTC] 📊 Database Info:
[21-Nov-2025 12:36:46 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:36:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:36:46 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:36:46 UTC]    Books columns count: 44
[21-Nov-2025 12:36:46 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:36:46 UTC]    Categories columns count: 7
[21-Nov-2025 12:36:46 UTC]    Language field in books: YES
[21-Nov-2025 12:36:46 UTC]    Format field in books: YES
[21-Nov-2025 12:36:46 UTC]    Description field in categories: YES
[21-Nov-2025 12:36:46 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:36:46 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:36:46 UTC]    Is_active field in books: YES
[21-Nov-2025 12:36:46 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:36:46 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:36:46 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:36:46 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:36:46 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:36:46 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:36:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:36:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:36:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:36:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:36:46 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:36:46 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:37:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:37:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:37:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:37:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:37:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:37:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:37:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:37:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:37:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:37:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:37:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:37:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:37:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:37:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:37:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:37:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:37:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:37:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:37:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:37:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:37:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:37:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:37:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:37:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:37:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:37:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:37:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:37:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:37:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:37:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:37:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:37:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:37:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:37:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:37:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:37:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:37:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:37:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:37:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:37:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:37:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:37:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:37:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:37:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:37:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:37:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:37:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:37:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:37:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:37:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:37:32 UTC] 📊 Database Info:
[21-Nov-2025 12:37:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:37:32 UTC]    Books columns count: 44
[21-Nov-2025 12:37:32 UTC]    Categories columns count: 7
[21-Nov-2025 12:37:32 UTC]    Language field in books: YES
[21-Nov-2025 12:37:32 UTC]    Format field in books: YES
[21-Nov-2025 12:37:32 UTC]    Description field in categories: YES
[21-Nov-2025 12:37:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:37:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:37:32 UTC]    Is_active field in books: YES
[21-Nov-2025 12:37:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:37:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:37:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:37:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:37:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:37:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:37:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:37:32 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:37:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:37:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:37:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:37:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:37:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:37:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:37:32 UTC] 📊 Database Info:
[21-Nov-2025 12:37:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:37:32 UTC]    Books columns count: 44
[21-Nov-2025 12:37:32 UTC]    Categories columns count: 7
[21-Nov-2025 12:37:32 UTC]    Language field in books: YES
[21-Nov-2025 12:37:32 UTC]    Format field in books: YES
[21-Nov-2025 12:37:32 UTC]    Description field in categories: YES
[21-Nov-2025 12:37:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:37:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:37:32 UTC]    Is_active field in books: YES
[21-Nov-2025 12:37:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:37:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:37:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:37:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:37:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:37:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:37:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:37:32 UTC] 📊 Database Info:
[21-Nov-2025 12:37:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:37:32 UTC]    Books columns count: 44
[21-Nov-2025 12:37:32 UTC]    Categories columns count: 7
[21-Nov-2025 12:37:32 UTC]    Language field in books: YES
[21-Nov-2025 12:37:32 UTC]    Format field in books: YES
[21-Nov-2025 12:37:32 UTC]    Description field in categories: YES
[21-Nov-2025 12:37:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:37:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:37:32 UTC]    Is_active field in books: YES
[21-Nov-2025 12:37:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:37:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:37:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:37:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:37:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:37:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:37:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:37:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:37:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:37:32 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:38:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:38:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:38:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:38:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:38:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:38:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:38:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:38:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:38:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:38:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:38:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:38:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:38:16 UTC] 📊 Database Info:
[21-Nov-2025 12:38:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:38:16 UTC]    Books columns count: 44
[21-Nov-2025 12:38:16 UTC]    Categories columns count: 7
[21-Nov-2025 12:38:16 UTC]    Language field in books: YES
[21-Nov-2025 12:38:16 UTC]    Format field in books: YES
[21-Nov-2025 12:38:16 UTC]    Description field in categories: YES
[21-Nov-2025 12:38:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:38:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:38:16 UTC]    Is_active field in books: YES
[21-Nov-2025 12:38:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:38:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:38:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:38:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:38:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:38:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:38:16 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:38:16 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:38:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:38:16 UTC] 📊 Database Info:
[21-Nov-2025 12:38:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:38:16 UTC]    Books columns count: 44
[21-Nov-2025 12:38:16 UTC]    Categories columns count: 7
[21-Nov-2025 12:38:16 UTC]    Language field in books: YES
[21-Nov-2025 12:38:16 UTC]    Format field in books: YES
[21-Nov-2025 12:38:16 UTC]    Description field in categories: YES
[21-Nov-2025 12:38:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:38:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:38:16 UTC]    Is_active field in books: YES
[21-Nov-2025 12:38:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:38:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:38:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:38:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:38:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:38:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:38:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:38:16 UTC] 📊 Database Info:
[21-Nov-2025 12:38:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:38:16 UTC]    Books columns count: 44
[21-Nov-2025 12:38:16 UTC]    Categories columns count: 7
[21-Nov-2025 12:38:16 UTC]    Language field in books: YES
[21-Nov-2025 12:38:16 UTC]    Format field in books: YES
[21-Nov-2025 12:38:16 UTC]    Description field in categories: YES
[21-Nov-2025 12:38:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:38:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:38:16 UTC]    Is_active field in books: YES
[21-Nov-2025 12:38:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:38:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:38:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:38:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:38:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:38:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:38:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:38:16 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:38:16 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:38:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:38:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:38:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:38:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:38:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:38:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:38:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:38:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:38:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:38:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:38:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:38:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:38:20 UTC] 📊 Database Info:
[21-Nov-2025 12:38:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:38:20 UTC]    Books columns count: 44
[21-Nov-2025 12:38:20 UTC]    Categories columns count: 7
[21-Nov-2025 12:38:20 UTC]    Language field in books: YES
[21-Nov-2025 12:38:20 UTC]    Format field in books: YES
[21-Nov-2025 12:38:20 UTC]    Description field in categories: YES
[21-Nov-2025 12:38:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:38:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:38:20 UTC]    Is_active field in books: YES
[21-Nov-2025 12:38:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:38:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:38:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:38:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:38:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:38:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:38:20 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:38:20 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:38:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:38:20 UTC] 📊 Database Info:
[21-Nov-2025 12:38:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:38:20 UTC]    Books columns count: 44
[21-Nov-2025 12:38:20 UTC]    Categories columns count: 7
[21-Nov-2025 12:38:20 UTC]    Language field in books: YES
[21-Nov-2025 12:38:20 UTC]    Format field in books: YES
[21-Nov-2025 12:38:20 UTC]    Description field in categories: YES
[21-Nov-2025 12:38:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:38:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:38:20 UTC]    Is_active field in books: YES
[21-Nov-2025 12:38:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:38:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:38:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:38:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:38:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:38:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:38:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:38:20 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:38:20 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:38:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:38:20 UTC] 📊 Database Info:
[21-Nov-2025 12:38:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:38:20 UTC]    Books columns count: 44
[21-Nov-2025 12:38:20 UTC]    Categories columns count: 7
[21-Nov-2025 12:38:20 UTC]    Language field in books: YES
[21-Nov-2025 12:38:20 UTC]    Format field in books: YES
[21-Nov-2025 12:38:20 UTC]    Description field in categories: YES
[21-Nov-2025 12:38:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:38:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:38:20 UTC]    Is_active field in books: YES
[21-Nov-2025 12:38:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:38:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:38:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:38:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:38:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:38:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:38:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:38:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:38:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:38:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:38:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:38:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:38:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:38:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:38:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:38:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:38:24 UTC] 📊 Database Info:
[21-Nov-2025 12:38:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:38:24 UTC]    Books columns count: 44
[21-Nov-2025 12:38:24 UTC]    Categories columns count: 7
[21-Nov-2025 12:38:24 UTC]    Language field in books: YES
[21-Nov-2025 12:38:24 UTC]    Format field in books: YES
[21-Nov-2025 12:38:24 UTC]    Description field in categories: YES
[21-Nov-2025 12:38:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:38:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:38:24 UTC]    Is_active field in books: YES
[21-Nov-2025 12:38:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:38:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:38:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:38:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:38:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:38:24 UTC] 📊 Database Info:
[21-Nov-2025 12:38:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:38:24 UTC]    Books columns count: 44
[21-Nov-2025 12:38:24 UTC]    Categories columns count: 7
[21-Nov-2025 12:38:24 UTC]    Language field in books: YES
[21-Nov-2025 12:38:24 UTC]    Format field in books: YES
[21-Nov-2025 12:38:24 UTC]    Description field in categories: YES
[21-Nov-2025 12:38:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:38:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:38:24 UTC]    Is_active field in books: YES
[21-Nov-2025 12:38:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:38:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:38:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:38:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:38:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:38:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:38:24 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:38:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:38:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:38:24 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:38:24 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:38:24 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:38:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:38:24 UTC] 📊 Database Info:
[21-Nov-2025 12:38:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:38:24 UTC]    Books columns count: 44
[21-Nov-2025 12:38:24 UTC]    Categories columns count: 7
[21-Nov-2025 12:38:24 UTC]    Language field in books: YES
[21-Nov-2025 12:38:24 UTC]    Format field in books: YES
[21-Nov-2025 12:38:24 UTC]    Description field in categories: YES
[21-Nov-2025 12:38:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:38:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:38:24 UTC]    Is_active field in books: YES
[21-Nov-2025 12:38:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:38:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:38:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:38:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:38:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:38:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:38:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:38:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:38:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:38:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:38:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:38:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:38:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:38:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:38:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:38:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:38:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:38:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:38:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:38:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:38:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:38:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:38:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:38:56 UTC] 📊 Database Info:
[21-Nov-2025 12:38:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:38:56 UTC]    Books columns count: 44
[21-Nov-2025 12:38:56 UTC]    Categories columns count: 7
[21-Nov-2025 12:38:56 UTC]    Language field in books: YES
[21-Nov-2025 12:38:56 UTC]    Format field in books: YES
[21-Nov-2025 12:38:56 UTC]    Description field in categories: YES
[21-Nov-2025 12:38:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:38:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:38:56 UTC]    Is_active field in books: YES
[21-Nov-2025 12:38:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:38:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:38:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:38:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:38:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:38:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:38:56 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:38:56 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:38:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:38:56 UTC] 📊 Database Info:
[21-Nov-2025 12:38:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:38:56 UTC]    Books columns count: 44
[21-Nov-2025 12:38:56 UTC]    Categories columns count: 7
[21-Nov-2025 12:38:56 UTC]    Language field in books: YES
[21-Nov-2025 12:38:56 UTC]    Format field in books: YES
[21-Nov-2025 12:38:56 UTC]    Description field in categories: YES
[21-Nov-2025 12:38:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:38:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:38:56 UTC]    Is_active field in books: YES
[21-Nov-2025 12:38:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:38:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:38:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:38:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:38:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:38:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:38:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:38:56 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:38:56 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:38:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:38:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:38:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:38:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:38:56 UTC] 📊 Database Info:
[21-Nov-2025 12:38:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:38:56 UTC]    Books columns count: 44
[21-Nov-2025 12:38:56 UTC]    Categories columns count: 7
[21-Nov-2025 12:38:56 UTC]    Language field in books: YES
[21-Nov-2025 12:38:56 UTC]    Format field in books: YES
[21-Nov-2025 12:38:56 UTC]    Description field in categories: YES
[21-Nov-2025 12:38:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:38:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:38:56 UTC]    Is_active field in books: YES
[21-Nov-2025 12:38:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:38:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:38:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:38:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:38:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:38:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:39:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:39:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:39:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:39:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:39:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:39:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:39:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:39:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:39:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:39:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:39:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:39:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:39:01 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:39:01 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:39:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:39:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:39:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:39:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:39:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:39:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:39:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:39:01 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:39:01 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:39:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:39:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:39:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:39:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:39:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:39:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:39:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:39:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:39:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:39:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:39:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:39:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:39:01 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:39:01 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:39:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:39:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:39:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:39:01 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:39:01 UTC] 📊 Database Info:
[21-Nov-2025 12:39:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:39:01 UTC]    Books columns count: 44
[21-Nov-2025 12:39:01 UTC]    Categories columns count: 7
[21-Nov-2025 12:39:01 UTC]    Language field in books: YES
[21-Nov-2025 12:39:01 UTC]    Format field in books: YES
[21-Nov-2025 12:39:01 UTC]    Description field in categories: YES
[21-Nov-2025 12:39:01 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:39:01 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:39:01 UTC]    Is_active field in books: YES
[21-Nov-2025 12:39:01 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:39:01 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:39:01 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:39:01 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:39:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:39:01 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:39:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:39:01 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:39:01 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:39:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:39:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:39:01 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:39:01 UTC] 📊 Database Info:
[21-Nov-2025 12:39:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:39:01 UTC]    Books columns count: 44
[21-Nov-2025 12:39:01 UTC]    Categories columns count: 7
[21-Nov-2025 12:39:01 UTC]    Language field in books: YES
[21-Nov-2025 12:39:01 UTC]    Format field in books: YES
[21-Nov-2025 12:39:01 UTC]    Description field in categories: YES
[21-Nov-2025 12:39:01 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:39:01 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:39:01 UTC]    Is_active field in books: YES
[21-Nov-2025 12:39:01 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:39:01 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:39:01 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:39:01 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:39:01 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:39:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:39:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:39:01 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:39:01 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:39:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:39:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:39:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:39:01 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:39:01 UTC] 📊 Database Info:
[21-Nov-2025 12:39:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:39:01 UTC]    Books columns count: 44
[21-Nov-2025 12:39:01 UTC]    Categories columns count: 7
[21-Nov-2025 12:39:01 UTC]    Language field in books: YES
[21-Nov-2025 12:39:01 UTC]    Format field in books: YES
[21-Nov-2025 12:39:01 UTC]    Description field in categories: YES
[21-Nov-2025 12:39:01 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:39:01 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:39:01 UTC]    Is_active field in books: YES
[21-Nov-2025 12:39:01 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:39:01 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:39:01 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:39:01 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:39:01 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:39:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:39:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:39:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:39:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:39:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:39:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:39:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:39:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:39:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:39:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:39:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:39:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:39:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:39:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:39:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:39:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:39:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:39:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:39:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:39:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:39:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:39:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:39:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:39:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:39:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:39:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:39:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:39:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:39:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:39:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:39:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:39:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:39:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:39:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:39:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:39:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:39:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:39:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:39:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:39:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:39:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:39:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:39:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:39:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:39:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:39:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:39:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:39:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:39:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:39:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:39:07 UTC] 📊 Database Info:
[21-Nov-2025 12:39:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:39:07 UTC]    Books columns count: 44
[21-Nov-2025 12:39:07 UTC]    Categories columns count: 7
[21-Nov-2025 12:39:07 UTC]    Language field in books: YES
[21-Nov-2025 12:39:07 UTC]    Format field in books: YES
[21-Nov-2025 12:39:07 UTC]    Description field in categories: YES
[21-Nov-2025 12:39:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:39:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:39:07 UTC]    Is_active field in books: YES
[21-Nov-2025 12:39:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:39:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:39:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:39:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:39:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:39:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:39:07 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:39:07 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:39:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:39:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:39:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:39:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:39:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:39:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:39:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:39:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:39:07 UTC] 📊 Database Info:
[21-Nov-2025 12:39:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:39:07 UTC]    Books columns count: 44
[21-Nov-2025 12:39:07 UTC]    Categories columns count: 7
[21-Nov-2025 12:39:07 UTC]    Language field in books: YES
[21-Nov-2025 12:39:07 UTC]    Format field in books: YES
[21-Nov-2025 12:39:07 UTC]    Description field in categories: YES
[21-Nov-2025 12:39:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:39:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:39:07 UTC]    Is_active field in books: YES
[21-Nov-2025 12:39:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:39:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:39:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:39:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:39:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:39:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:39:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:39:07 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:39:07 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:39:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:39:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:39:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:39:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:39:07 UTC] 📊 Database Info:
[21-Nov-2025 12:39:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:39:07 UTC]    Books columns count: 44
[21-Nov-2025 12:39:07 UTC]    Categories columns count: 7
[21-Nov-2025 12:39:07 UTC]    Language field in books: YES
[21-Nov-2025 12:39:07 UTC]    Format field in books: YES
[21-Nov-2025 12:39:07 UTC]    Description field in categories: YES
[21-Nov-2025 12:39:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:39:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:39:07 UTC]    Is_active field in books: YES
[21-Nov-2025 12:39:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:39:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:39:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:39:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:39:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:39:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:39:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:42:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:42:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:42:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:42:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:42:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:42:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:42:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:42:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:42:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:42:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:42:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:42:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:42:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:42:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:42:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:42:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:42:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:42:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:42:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:42:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:42:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:42:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:42:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:42:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:42:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:42:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:42:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:42:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:42:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:42:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:42:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:42:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:42:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:42:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:42:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:42:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:42:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:42:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:42:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:42:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:42:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:42:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:42:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:42:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:42:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:42:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:42:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:42:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:42:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:42:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:42:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:42:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:42:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:42:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:42:58 UTC] 📊 Database Info:
[21-Nov-2025 12:42:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:42:58 UTC]    Books columns count: 44
[21-Nov-2025 12:42:58 UTC]    Categories columns count: 7
[21-Nov-2025 12:42:58 UTC]    Language field in books: YES
[21-Nov-2025 12:42:58 UTC]    Format field in books: YES
[21-Nov-2025 12:42:58 UTC]    Description field in categories: YES
[21-Nov-2025 12:42:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:42:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:42:58 UTC]    Is_active field in books: YES
[21-Nov-2025 12:42:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:42:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:42:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:42:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:42:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:42:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:42:58 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:42:58 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:42:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:42:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:42:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:42:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:42:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:42:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:42:58 UTC] 📊 Database Info:
[21-Nov-2025 12:42:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:42:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:42:58 UTC]    Books columns count: 44
[21-Nov-2025 12:42:58 UTC] 📊 Database Info:
[21-Nov-2025 12:42:58 UTC]    Categories columns count: 7
[21-Nov-2025 12:42:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:42:58 UTC]    Books columns count: 44
[21-Nov-2025 12:42:58 UTC]    Language field in books: YES
[21-Nov-2025 12:42:58 UTC]    Categories columns count: 7
[21-Nov-2025 12:42:58 UTC]    Format field in books: YES
[21-Nov-2025 12:42:58 UTC]    Description field in categories: YES
[21-Nov-2025 12:42:58 UTC]    Language field in books: YES
[21-Nov-2025 12:42:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:42:58 UTC]    Format field in books: YES
[21-Nov-2025 12:42:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:42:58 UTC]    Description field in categories: YES
[21-Nov-2025 12:42:58 UTC]    Is_active field in books: YES
[21-Nov-2025 12:42:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:42:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:42:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:42:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:42:58 UTC]    Is_active field in books: YES
[21-Nov-2025 12:42:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:42:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:42:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:42:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:42:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:42:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:42:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:42:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:42:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:42:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:42:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:42:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:42:58 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:42:58 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:43:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:43:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:43:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:43:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:43:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:43:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:43:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:43:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:43:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:43:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:43:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:43:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:43:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:43:00 UTC] 📊 Database Info:
[21-Nov-2025 12:43:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:43:00 UTC]    Books columns count: 44
[21-Nov-2025 12:43:00 UTC]    Categories columns count: 7
[21-Nov-2025 12:43:00 UTC]    Language field in books: YES
[21-Nov-2025 12:43:00 UTC]    Format field in books: YES
[21-Nov-2025 12:43:00 UTC]    Description field in categories: YES
[21-Nov-2025 12:43:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:43:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:43:00 UTC]    Is_active field in books: YES
[21-Nov-2025 12:43:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:43:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:43:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:43:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:43:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:43:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:43:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:43:00 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:43:00 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:43:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:43:00 UTC] 📊 Database Info:
[21-Nov-2025 12:43:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:43:00 UTC]    Books columns count: 44
[21-Nov-2025 12:43:00 UTC]    Categories columns count: 7
[21-Nov-2025 12:43:00 UTC]    Language field in books: YES
[21-Nov-2025 12:43:00 UTC]    Format field in books: YES
[21-Nov-2025 12:43:00 UTC]    Description field in categories: YES
[21-Nov-2025 12:43:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:43:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:43:00 UTC]    Is_active field in books: YES
[21-Nov-2025 12:43:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:43:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:43:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:43:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:43:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:43:00 UTC] 📊 Database Info:
[21-Nov-2025 12:43:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:43:00 UTC]    Books columns count: 44
[21-Nov-2025 12:43:00 UTC]    Categories columns count: 7
[21-Nov-2025 12:43:00 UTC]    Language field in books: YES
[21-Nov-2025 12:43:00 UTC]    Format field in books: YES
[21-Nov-2025 12:43:00 UTC]    Description field in categories: YES
[21-Nov-2025 12:43:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:43:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:43:00 UTC]    Is_active field in books: YES
[21-Nov-2025 12:43:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:43:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:43:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:43:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:43:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:43:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:43:00 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:43:00 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:43:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:43:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:43:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:43:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:43:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:43:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:43:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:43:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:43:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:43:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:43:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:43:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:43:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:43:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:43:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:43:05 UTC] 📊 Database Info:
[21-Nov-2025 12:43:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:43:05 UTC]    Books columns count: 44
[21-Nov-2025 12:43:05 UTC]    Categories columns count: 7
[21-Nov-2025 12:43:05 UTC]    Language field in books: YES
[21-Nov-2025 12:43:05 UTC]    Format field in books: YES
[21-Nov-2025 12:43:05 UTC]    Description field in categories: YES
[21-Nov-2025 12:43:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:43:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:43:05 UTC]    Is_active field in books: YES
[21-Nov-2025 12:43:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:43:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:43:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:43:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:43:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:43:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:43:05 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:43:05 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:43:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:43:05 UTC] 📊 Database Info:
[21-Nov-2025 12:43:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:43:05 UTC]    Books columns count: 44
[21-Nov-2025 12:43:05 UTC]    Categories columns count: 7
[21-Nov-2025 12:43:05 UTC]    Language field in books: YES
[21-Nov-2025 12:43:05 UTC]    Format field in books: YES
[21-Nov-2025 12:43:05 UTC]    Description field in categories: YES
[21-Nov-2025 12:43:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:43:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:43:05 UTC]    Is_active field in books: YES
[21-Nov-2025 12:43:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:43:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:43:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:43:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:43:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:43:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:43:05 UTC] 📊 Database Info:
[21-Nov-2025 12:43:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:43:05 UTC]    Books columns count: 44
[21-Nov-2025 12:43:05 UTC]    Categories columns count: 7
[21-Nov-2025 12:43:05 UTC]    Language field in books: YES
[21-Nov-2025 12:43:05 UTC]    Format field in books: YES
[21-Nov-2025 12:43:05 UTC]    Description field in categories: YES
[21-Nov-2025 12:43:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:43:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:43:05 UTC]    Is_active field in books: YES
[21-Nov-2025 12:43:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:43:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:43:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:43:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:43:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:43:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:43:05 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:43:05 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:43:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:43:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:43:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:43:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:43:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:43:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:43:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:43:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:43:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:43:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:43:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:43:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:43:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:43:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:43:32 UTC] 📊 Database Info:
[21-Nov-2025 12:43:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:43:32 UTC]    Books columns count: 44
[21-Nov-2025 12:43:32 UTC]    Categories columns count: 7
[21-Nov-2025 12:43:32 UTC]    Language field in books: YES
[21-Nov-2025 12:43:32 UTC]    Format field in books: YES
[21-Nov-2025 12:43:32 UTC]    Description field in categories: YES
[21-Nov-2025 12:43:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:43:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:43:32 UTC]    Is_active field in books: YES
[21-Nov-2025 12:43:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:43:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:43:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:43:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:43:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:43:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:43:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:43:32 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:43:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:43:32 UTC] 📊 Database Info:
[21-Nov-2025 12:43:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:43:32 UTC]    Books columns count: 44
[21-Nov-2025 12:43:32 UTC]    Categories columns count: 7
[21-Nov-2025 12:43:32 UTC]    Language field in books: YES
[21-Nov-2025 12:43:32 UTC]    Format field in books: YES
[21-Nov-2025 12:43:32 UTC]    Description field in categories: YES
[21-Nov-2025 12:43:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:43:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:43:32 UTC]    Is_active field in books: YES
[21-Nov-2025 12:43:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:43:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:43:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:43:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:43:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:43:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:43:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:43:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:43:32 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:43:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:43:32 UTC] 📊 Database Info:
[21-Nov-2025 12:43:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:43:32 UTC]    Books columns count: 44
[21-Nov-2025 12:43:32 UTC]    Categories columns count: 7
[21-Nov-2025 12:43:32 UTC]    Language field in books: YES
[21-Nov-2025 12:43:32 UTC]    Format field in books: YES
[21-Nov-2025 12:43:32 UTC]    Description field in categories: YES
[21-Nov-2025 12:43:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:43:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:43:32 UTC]    Is_active field in books: YES
[21-Nov-2025 12:43:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:43:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:43:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:43:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:43:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:43:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:43:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:43:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:43:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:43:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:43:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:43:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:43:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:43:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:43:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:43:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:43:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:43:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:43:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:43:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:43:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:43:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:43:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:43:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:43:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:34 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:43:34 UTC] 📊 Database Info:
[21-Nov-2025 12:43:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:43:34 UTC]    Books columns count: 44
[21-Nov-2025 12:43:34 UTC]    Categories columns count: 7
[21-Nov-2025 12:43:34 UTC]    Language field in books: YES
[21-Nov-2025 12:43:34 UTC]    Format field in books: YES
[21-Nov-2025 12:43:34 UTC]    Description field in categories: YES
[21-Nov-2025 12:43:34 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:43:34 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:43:34 UTC]    Is_active field in books: YES
[21-Nov-2025 12:43:34 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:43:34 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:43:34 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:43:34 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:43:34 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:43:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:43:34 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:43:34 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:43:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:34 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:43:34 UTC] 📊 Database Info:
[21-Nov-2025 12:43:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:43:34 UTC]    Books columns count: 44
[21-Nov-2025 12:43:34 UTC]    Categories columns count: 7
[21-Nov-2025 12:43:34 UTC]    Language field in books: YES
[21-Nov-2025 12:43:34 UTC]    Format field in books: YES
[21-Nov-2025 12:43:34 UTC]    Description field in categories: YES
[21-Nov-2025 12:43:34 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:43:34 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:43:34 UTC]    Is_active field in books: YES
[21-Nov-2025 12:43:34 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:43:34 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:43:34 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:43:34 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:43:34 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:43:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:43:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:43:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:43:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:43:34 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:43:34 UTC] 📊 Database Info:
[21-Nov-2025 12:43:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:43:34 UTC]    Books columns count: 44
[21-Nov-2025 12:43:34 UTC]    Categories columns count: 7
[21-Nov-2025 12:43:34 UTC]    Language field in books: YES
[21-Nov-2025 12:43:34 UTC]    Format field in books: YES
[21-Nov-2025 12:43:34 UTC]    Description field in categories: YES
[21-Nov-2025 12:43:34 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:43:34 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:43:34 UTC]    Is_active field in books: YES
[21-Nov-2025 12:43:34 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:43:34 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:43:34 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:43:34 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:43:34 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:43:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:43:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:43:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:43:34 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:43:34 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:44:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:44:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:44:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:44:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:44:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:42 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:44:42 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:44:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:42 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:44:42 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:44:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:42 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:44:42 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:44:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:44:42 UTC] 📊 Database Info:
[21-Nov-2025 12:44:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:44:42 UTC]    Books columns count: 44
[21-Nov-2025 12:44:42 UTC]    Categories columns count: 7
[21-Nov-2025 12:44:42 UTC]    Language field in books: YES
[21-Nov-2025 12:44:42 UTC]    Format field in books: YES
[21-Nov-2025 12:44:42 UTC]    Description field in categories: YES
[21-Nov-2025 12:44:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:44:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:44:42 UTC]    Is_active field in books: YES
[21-Nov-2025 12:44:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:44:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:44:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:44:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:44:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:44:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:44:42 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:44:42 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:44:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:44:42 UTC] 📊 Database Info:
[21-Nov-2025 12:44:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:44:42 UTC]    Books columns count: 44
[21-Nov-2025 12:44:42 UTC]    Categories columns count: 7
[21-Nov-2025 12:44:42 UTC]    Language field in books: YES
[21-Nov-2025 12:44:42 UTC]    Format field in books: YES
[21-Nov-2025 12:44:42 UTC]    Description field in categories: YES
[21-Nov-2025 12:44:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:44:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:44:42 UTC]    Is_active field in books: YES
[21-Nov-2025 12:44:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:44:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:44:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:44:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:44:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:44:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:44:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:44:42 UTC] 📊 Database Info:
[21-Nov-2025 12:44:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:44:42 UTC]    Books columns count: 44
[21-Nov-2025 12:44:42 UTC]    Categories columns count: 7
[21-Nov-2025 12:44:42 UTC]    Language field in books: YES
[21-Nov-2025 12:44:42 UTC]    Format field in books: YES
[21-Nov-2025 12:44:42 UTC]    Description field in categories: YES
[21-Nov-2025 12:44:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:44:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:44:42 UTC]    Is_active field in books: YES
[21-Nov-2025 12:44:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:44:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:44:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:44:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:44:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:44:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:44:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:44:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:44:42 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:44:42 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:44:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:44:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:44:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:44:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:44:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:44:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:44:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:44:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:44:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:44:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:44:44 UTC] 📊 Database Info:
[21-Nov-2025 12:44:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:44:44 UTC]    Books columns count: 44
[21-Nov-2025 12:44:44 UTC]    Categories columns count: 7
[21-Nov-2025 12:44:44 UTC]    Language field in books: YES
[21-Nov-2025 12:44:44 UTC]    Format field in books: YES
[21-Nov-2025 12:44:44 UTC]    Description field in categories: YES
[21-Nov-2025 12:44:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:44:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:44:44 UTC]    Is_active field in books: YES
[21-Nov-2025 12:44:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:44:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:44:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:44:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:44:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:44:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:44:44 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:44:44 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:44:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:45 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:44:45 UTC] 📊 Database Info:
[21-Nov-2025 12:44:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:44:45 UTC]    Books columns count: 44
[21-Nov-2025 12:44:45 UTC]    Categories columns count: 7
[21-Nov-2025 12:44:45 UTC]    Language field in books: YES
[21-Nov-2025 12:44:45 UTC]    Format field in books: YES
[21-Nov-2025 12:44:45 UTC]    Description field in categories: YES
[21-Nov-2025 12:44:45 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:44:45 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:44:45 UTC]    Is_active field in books: YES
[21-Nov-2025 12:44:45 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:44:45 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:44:45 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:44:45 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:44:45 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:44:45 UTC] 📊 Database Info:
[21-Nov-2025 12:44:45 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:44:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:44:45 UTC]    Books columns count: 44
[21-Nov-2025 12:44:45 UTC]    Categories columns count: 7
[21-Nov-2025 12:44:45 UTC]    Language field in books: YES
[21-Nov-2025 12:44:45 UTC]    Format field in books: YES
[21-Nov-2025 12:44:45 UTC]    Description field in categories: YES
[21-Nov-2025 12:44:45 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:44:45 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:44:45 UTC]    Is_active field in books: YES
[21-Nov-2025 12:44:45 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:44:45 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:44:45 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:44:45 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:44:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:44:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:44:45 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:44:45 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:44:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:44:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:44:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:44:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:44:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:44:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:44:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:44:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:44:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:44:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:44:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:44:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:44:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:44:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:44:51 UTC] 📊 Database Info:
[21-Nov-2025 12:44:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:44:51 UTC]    Books columns count: 44
[21-Nov-2025 12:44:51 UTC]    Categories columns count: 7
[21-Nov-2025 12:44:51 UTC]    Language field in books: YES
[21-Nov-2025 12:44:51 UTC]    Format field in books: YES
[21-Nov-2025 12:44:51 UTC]    Description field in categories: YES
[21-Nov-2025 12:44:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:44:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:44:51 UTC]    Is_active field in books: YES
[21-Nov-2025 12:44:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:44:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:44:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:44:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:44:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:44:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:44:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:44:51 UTC] 📊 Database Info:
[21-Nov-2025 12:44:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:44:51 UTC]    Books columns count: 44
[21-Nov-2025 12:44:51 UTC]    Categories columns count: 7
[21-Nov-2025 12:44:51 UTC]    Language field in books: YES
[21-Nov-2025 12:44:51 UTC]    Format field in books: YES
[21-Nov-2025 12:44:51 UTC]    Description field in categories: YES
[21-Nov-2025 12:44:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:44:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:44:51 UTC]    Is_active field in books: YES
[21-Nov-2025 12:44:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:44:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:44:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:44:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:44:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:44:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:44:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:44:51 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:44:51 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:44:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:44:51 UTC] 📊 Database Info:
[21-Nov-2025 12:44:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:44:51 UTC]    Books columns count: 44
[21-Nov-2025 12:44:51 UTC]    Categories columns count: 7
[21-Nov-2025 12:44:51 UTC]    Language field in books: YES
[21-Nov-2025 12:44:51 UTC]    Format field in books: YES
[21-Nov-2025 12:44:51 UTC]    Description field in categories: YES
[21-Nov-2025 12:44:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:44:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:44:51 UTC]    Is_active field in books: YES
[21-Nov-2025 12:44:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:44:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:44:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:44:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:44:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:44:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:44:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:44:51 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:44:51 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:44:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:44:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:44:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:44:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:44:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:54 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:44:54 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:44:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:44:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:44:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:54 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:44:54 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:44:54 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:44:54 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:44:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:54 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:44:54 UTC] 📊 Database Info:
[21-Nov-2025 12:44:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:44:54 UTC]    Books columns count: 44
[21-Nov-2025 12:44:54 UTC]    Categories columns count: 7
[21-Nov-2025 12:44:54 UTC]    Language field in books: YES
[21-Nov-2025 12:44:54 UTC]    Format field in books: YES
[21-Nov-2025 12:44:54 UTC]    Description field in categories: YES
[21-Nov-2025 12:44:54 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:44:54 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:44:54 UTC]    Is_active field in books: YES
[21-Nov-2025 12:44:54 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:44:54 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:44:54 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:44:54 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:44:54 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:44:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:44:54 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:44:54 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:44:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:54 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:44:54 UTC] 📊 Database Info:
[21-Nov-2025 12:44:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:44:54 UTC]    Books columns count: 44
[21-Nov-2025 12:44:54 UTC]    Categories columns count: 7
[21-Nov-2025 12:44:54 UTC]    Language field in books: YES
[21-Nov-2025 12:44:54 UTC]    Format field in books: YES
[21-Nov-2025 12:44:54 UTC]    Description field in categories: YES
[21-Nov-2025 12:44:54 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:44:54 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:44:54 UTC]    Is_active field in books: YES
[21-Nov-2025 12:44:54 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:44:54 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:44:54 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:44:54 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:44:54 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:44:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:44:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:44:54 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:44:54 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:44:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:54 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:44:54 UTC] 📊 Database Info:
[21-Nov-2025 12:44:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:44:54 UTC]    Books columns count: 44
[21-Nov-2025 12:44:54 UTC]    Categories columns count: 7
[21-Nov-2025 12:44:54 UTC]    Language field in books: YES
[21-Nov-2025 12:44:54 UTC]    Format field in books: YES
[21-Nov-2025 12:44:54 UTC]    Description field in categories: YES
[21-Nov-2025 12:44:54 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:44:54 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:44:54 UTC]    Is_active field in books: YES
[21-Nov-2025 12:44:54 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:44:54 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:44:54 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:44:54 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:44:54 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:44:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:44:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:44:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:44:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:44:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:44:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:44:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:44:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:44:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:44:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:44:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:44:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:44:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:44:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:44:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:44:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:44:57 UTC] 📊 Database Info:
[21-Nov-2025 12:44:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:44:57 UTC]    Books columns count: 44
[21-Nov-2025 12:44:57 UTC]    Categories columns count: 7
[21-Nov-2025 12:44:57 UTC]    Language field in books: YES
[21-Nov-2025 12:44:57 UTC]    Format field in books: YES
[21-Nov-2025 12:44:57 UTC]    Description field in categories: YES
[21-Nov-2025 12:44:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:44:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:44:57 UTC]    Is_active field in books: YES
[21-Nov-2025 12:44:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:44:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:44:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:44:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:44:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:44:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:44:57 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:44:57 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:44:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:44:57 UTC] 📊 Database Info:
[21-Nov-2025 12:44:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:44:57 UTC]    Books columns count: 44
[21-Nov-2025 12:44:57 UTC]    Categories columns count: 7
[21-Nov-2025 12:44:57 UTC]    Language field in books: YES
[21-Nov-2025 12:44:57 UTC]    Format field in books: YES
[21-Nov-2025 12:44:57 UTC]    Description field in categories: YES
[21-Nov-2025 12:44:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:44:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:44:57 UTC]    Is_active field in books: YES
[21-Nov-2025 12:44:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:44:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:44:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:44:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:44:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:44:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:44:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:44:57 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:44:57 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:44:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:44:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:44:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:44:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:44:57 UTC] 📊 Database Info:
[21-Nov-2025 12:44:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:44:57 UTC]    Books columns count: 44
[21-Nov-2025 12:44:57 UTC]    Categories columns count: 7
[21-Nov-2025 12:44:57 UTC]    Language field in books: YES
[21-Nov-2025 12:44:57 UTC]    Format field in books: YES
[21-Nov-2025 12:44:57 UTC]    Description field in categories: YES
[21-Nov-2025 12:44:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:44:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:44:57 UTC]    Is_active field in books: YES
[21-Nov-2025 12:44:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:44:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:44:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:44:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:44:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:44:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:45:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:45:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:45:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:45:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:45:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:45:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:45:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:45:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:45:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:45:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:45:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:45:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:45:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:45:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:45:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:45:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:45:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:45:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:45:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:45:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:45:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:45:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:45:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:45:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:45:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:45:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:45:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:45:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:45:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:45:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:45:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:45:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:45:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:45:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:45:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:45:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:45:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:45:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:45:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:45:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:45:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:45:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:45:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:45:04 UTC] 📊 Database Info:
[21-Nov-2025 12:45:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:45:04 UTC]    Books columns count: 44
[21-Nov-2025 12:45:04 UTC]    Categories columns count: 7
[21-Nov-2025 12:45:04 UTC]    Language field in books: YES
[21-Nov-2025 12:45:04 UTC]    Format field in books: YES
[21-Nov-2025 12:45:04 UTC]    Description field in categories: YES
[21-Nov-2025 12:45:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:45:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:45:04 UTC]    Is_active field in books: YES
[21-Nov-2025 12:45:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:45:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:45:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:45:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:45:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:45:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:45:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:45:04 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:45:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:45:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:45:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:45:04 UTC] 📊 Database Info:
[21-Nov-2025 12:45:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:45:04 UTC]    Books columns count: 44
[21-Nov-2025 12:45:04 UTC]    Categories columns count: 7
[21-Nov-2025 12:45:04 UTC]    Language field in books: YES
[21-Nov-2025 12:45:04 UTC]    Format field in books: YES
[21-Nov-2025 12:45:04 UTC]    Description field in categories: YES
[21-Nov-2025 12:45:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:45:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:45:04 UTC]    Is_active field in books: YES
[21-Nov-2025 12:45:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:45:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:45:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:45:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:45:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:45:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:45:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:45:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:45:04 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:45:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:45:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:45:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:45:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:45:04 UTC] 📊 Database Info:
[21-Nov-2025 12:45:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:45:04 UTC]    Books columns count: 44
[21-Nov-2025 12:45:04 UTC]    Categories columns count: 7
[21-Nov-2025 12:45:04 UTC]    Language field in books: YES
[21-Nov-2025 12:45:04 UTC]    Format field in books: YES
[21-Nov-2025 12:45:04 UTC]    Description field in categories: YES
[21-Nov-2025 12:45:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:45:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:45:04 UTC]    Is_active field in books: YES
[21-Nov-2025 12:45:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:45:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:45:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:45:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:45:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:45:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:45:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:45:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:45:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:45:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:45:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:45:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:45:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:45:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:45:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:45:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:45:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:45:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:45:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:45:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:45:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:45:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:45:08 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:45:08 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:45:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:45:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:45:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:45:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:45:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:45:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:45:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:45:08 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:45:08 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:45:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:45:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:45:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:45:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:45:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:45:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:45:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:45:08 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:45:08 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:45:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:45:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:45:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:45:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:45:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:45:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:45:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:45:08 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:45:08 UTC] 📊 Database Info:
[21-Nov-2025 12:45:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:45:08 UTC]    Books columns count: 44
[21-Nov-2025 12:45:08 UTC]    Categories columns count: 7
[21-Nov-2025 12:45:08 UTC]    Language field in books: YES
[21-Nov-2025 12:45:08 UTC]    Format field in books: YES
[21-Nov-2025 12:45:08 UTC]    Description field in categories: YES
[21-Nov-2025 12:45:08 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:45:08 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:45:08 UTC]    Is_active field in books: YES
[21-Nov-2025 12:45:08 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:45:08 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:45:08 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:45:08 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:45:08 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:45:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:45:08 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:45:08 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:45:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:45:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:45:08 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:45:08 UTC] 📊 Database Info:
[21-Nov-2025 12:45:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:45:08 UTC]    Books columns count: 44
[21-Nov-2025 12:45:08 UTC]    Categories columns count: 7
[21-Nov-2025 12:45:08 UTC]    Language field in books: YES
[21-Nov-2025 12:45:08 UTC]    Format field in books: YES
[21-Nov-2025 12:45:08 UTC]    Description field in categories: YES
[21-Nov-2025 12:45:08 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:45:08 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:45:08 UTC]    Is_active field in books: YES
[21-Nov-2025 12:45:08 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:45:08 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:45:08 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:45:08 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:45:08 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:45:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:45:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:45:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:45:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:45:08 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:45:08 UTC] 📊 Database Info:
[21-Nov-2025 12:45:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:45:08 UTC]    Books columns count: 44
[21-Nov-2025 12:45:08 UTC]    Categories columns count: 7
[21-Nov-2025 12:45:08 UTC]    Language field in books: YES
[21-Nov-2025 12:45:08 UTC]    Format field in books: YES
[21-Nov-2025 12:45:08 UTC]    Description field in categories: YES
[21-Nov-2025 12:45:08 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:45:08 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:45:08 UTC]    Is_active field in books: YES
[21-Nov-2025 12:45:08 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:45:08 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:45:08 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:45:08 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:45:08 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:45:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:45:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:45:08 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:45:08 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:46:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:46:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:46:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:46:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:46:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:46:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:46:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:46:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:46:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:46:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:46:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:46:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:46:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:46:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:46:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:46:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:46:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:46:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:46:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:46:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:46:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:46:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:46:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:46:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:46:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:46:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:46:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:46:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:46:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:46:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:46:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:46:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:46:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:46:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:46:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:46:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:46:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:46:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:46:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:46:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:46:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:46:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:46:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:46:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:46:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:46:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:46:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:46:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:46:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:46:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:46:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:46:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:46:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:46:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:46:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:46:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:46:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:46:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:46:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:46:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:46:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:46:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:46:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:46:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:46:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:46:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:46:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:46:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:46:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:46:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:46:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:46:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:46:32 UTC] 📊 Database Info:
[21-Nov-2025 12:46:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:46:32 UTC]    Books columns count: 44
[21-Nov-2025 12:46:32 UTC]    Categories columns count: 7
[21-Nov-2025 12:46:32 UTC]    Language field in books: YES
[21-Nov-2025 12:46:32 UTC]    Format field in books: YES
[21-Nov-2025 12:46:32 UTC]    Description field in categories: YES
[21-Nov-2025 12:46:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:46:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:46:32 UTC]    Is_active field in books: YES
[21-Nov-2025 12:46:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:46:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:46:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:46:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:46:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:46:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:46:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:46:32 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:46:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:46:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:46:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:46:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:46:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:46:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:46:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:46:32 UTC] 📊 Database Info:
[21-Nov-2025 12:46:32 UTC] 📊 Database Info:
[21-Nov-2025 12:46:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:46:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:46:32 UTC]    Books columns count: 44
[21-Nov-2025 12:46:32 UTC]    Books columns count: 44
[21-Nov-2025 12:46:32 UTC]    Categories columns count: 7
[21-Nov-2025 12:46:32 UTC]    Categories columns count: 7
[21-Nov-2025 12:46:32 UTC]    Language field in books: YES
[21-Nov-2025 12:46:32 UTC]    Language field in books: YES
[21-Nov-2025 12:46:32 UTC]    Format field in books: YES
[21-Nov-2025 12:46:32 UTC]    Format field in books: YES
[21-Nov-2025 12:46:32 UTC]    Description field in categories: YES
[21-Nov-2025 12:46:32 UTC]    Description field in categories: YES
[21-Nov-2025 12:46:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:46:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:46:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:46:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:46:32 UTC]    Is_active field in books: YES
[21-Nov-2025 12:46:32 UTC]    Is_active field in books: YES
[21-Nov-2025 12:46:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:46:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:46:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:46:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:46:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:46:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:46:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:46:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:46:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:46:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:46:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:46:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:46:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:46:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:46:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:46:32 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:46:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:46:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:46:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:46:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:46:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:46:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:46:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:46:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:46:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:46:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:46:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:46:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:46:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:46:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:46:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:46:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:46:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:46:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:46:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:46:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:46:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:46:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:46:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:46:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:46:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:46:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:46:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:46:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:46:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:46:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:46:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:46:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:46:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:46:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:46:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:46:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:46:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:46:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:46:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:46:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:46:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:46:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:46:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:46:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:46:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:46:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:46:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:46:35 UTC] 📊 Database Info:
[21-Nov-2025 12:46:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:46:35 UTC]    Books columns count: 44
[21-Nov-2025 12:46:35 UTC]    Categories columns count: 7
[21-Nov-2025 12:46:35 UTC]    Language field in books: YES
[21-Nov-2025 12:46:35 UTC]    Format field in books: YES
[21-Nov-2025 12:46:35 UTC]    Description field in categories: YES
[21-Nov-2025 12:46:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:46:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:46:35 UTC]    Is_active field in books: YES
[21-Nov-2025 12:46:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:46:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:46:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:46:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:46:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:46:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:46:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:46:35 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:46:35 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:46:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:46:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:46:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:46:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:46:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:46:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:46:35 UTC] 📊 Database Info:
[21-Nov-2025 12:46:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:46:35 UTC]    Books columns count: 44
[21-Nov-2025 12:46:35 UTC]    Categories columns count: 7
[21-Nov-2025 12:46:35 UTC]    Language field in books: YES
[21-Nov-2025 12:46:35 UTC]    Format field in books: YES
[21-Nov-2025 12:46:35 UTC]    Description field in categories: YES
[21-Nov-2025 12:46:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:46:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:46:35 UTC]    Is_active field in books: YES
[21-Nov-2025 12:46:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:46:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:46:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:46:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:46:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:46:35 UTC] 📊 Database Info:
[21-Nov-2025 12:46:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:46:35 UTC]    Books columns count: 44
[21-Nov-2025 12:46:35 UTC]    Categories columns count: 7
[21-Nov-2025 12:46:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:46:35 UTC]    Language field in books: YES
[21-Nov-2025 12:46:35 UTC]    Format field in books: YES
[21-Nov-2025 12:46:35 UTC]    Description field in categories: YES
[21-Nov-2025 12:46:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:46:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:46:35 UTC]    Is_active field in books: YES
[21-Nov-2025 12:46:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:46:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:46:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:46:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:46:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:46:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:46:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:46:35 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:46:35 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:47:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:47:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:47:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:47:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:47:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:47:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:47:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:47:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:47:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:47:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:47:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:47:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:47:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:47:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:47:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:47:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:47:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:47:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:47:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:47:47 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:47:47 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:47:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:47:47 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:47:47 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:47:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:47:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:47:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:47:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:47:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:47:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:47:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:47:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:47:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:47:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:47:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:47:47 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:47:47 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:47:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:47:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:47:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:47:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:47:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:47:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:47:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:47:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:47:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:47:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:47:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:47:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:47:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:47:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:47:48 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:47:48 UTC] 📊 Database Info:
[21-Nov-2025 12:47:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:47:48 UTC]    Books columns count: 44
[21-Nov-2025 12:47:48 UTC]    Categories columns count: 7
[21-Nov-2025 12:47:48 UTC]    Language field in books: YES
[21-Nov-2025 12:47:48 UTC]    Format field in books: YES
[21-Nov-2025 12:47:48 UTC]    Description field in categories: YES
[21-Nov-2025 12:47:48 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:47:48 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:47:48 UTC]    Is_active field in books: YES
[21-Nov-2025 12:47:48 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:47:48 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:47:48 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:47:48 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:47:48 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:47:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:47:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:47:48 UTC] 📊 Database Info:
[21-Nov-2025 12:47:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:47:48 UTC]    Books columns count: 44
[21-Nov-2025 12:47:48 UTC]    Categories columns count: 7
[21-Nov-2025 12:47:48 UTC]    Language field in books: YES
[21-Nov-2025 12:47:48 UTC]    Format field in books: YES
[21-Nov-2025 12:47:48 UTC]    Description field in categories: YES
[21-Nov-2025 12:47:48 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:47:48 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:47:48 UTC]    Is_active field in books: YES
[21-Nov-2025 12:47:48 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:47:48 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:47:48 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:47:48 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:47:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:47:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:47:48 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:47:48 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:47:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:47:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:47:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:47:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:47:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:47:48 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:47:48 UTC] 📊 Database Info:
[21-Nov-2025 12:47:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:47:48 UTC]    Books columns count: 44
[21-Nov-2025 12:47:48 UTC]    Categories columns count: 7
[21-Nov-2025 12:47:48 UTC]    Language field in books: YES
[21-Nov-2025 12:47:48 UTC]    Format field in books: YES
[21-Nov-2025 12:47:48 UTC]    Description field in categories: YES
[21-Nov-2025 12:47:48 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:47:48 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:47:48 UTC]    Is_active field in books: YES
[21-Nov-2025 12:47:48 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:47:48 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:47:48 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:47:48 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:47:48 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:47:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:47:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:47:48 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:47:48 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:47:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:47:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:47:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:47:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:47:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:47:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:47:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:47:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:47:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:47:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:47:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:47:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:47:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:47:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:47:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:47:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:47:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:47:49 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:47:49 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:47:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:47:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:47:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:47:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:47:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:47:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:47:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:47:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:47:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:47:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:47:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:47:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:47:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:47:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:47:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:47:49 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:47:49 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:47:49 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:47:49 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:47:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:47:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:47:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:47:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:47:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:47:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:47:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:47:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:47:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:47:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:47:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:47:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:47:49 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:47:49 UTC] 📊 Database Info:
[21-Nov-2025 12:47:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:47:49 UTC]    Books columns count: 44
[21-Nov-2025 12:47:49 UTC]    Categories columns count: 7
[21-Nov-2025 12:47:49 UTC]    Language field in books: YES
[21-Nov-2025 12:47:49 UTC]    Format field in books: YES
[21-Nov-2025 12:47:49 UTC]    Description field in categories: YES
[21-Nov-2025 12:47:49 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:47:49 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:47:49 UTC]    Is_active field in books: YES
[21-Nov-2025 12:47:49 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:47:49 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:47:49 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:47:49 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:47:49 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:47:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:47:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:47:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:47:49 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:47:49 UTC] 📊 Database Info:
[21-Nov-2025 12:47:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:47:49 UTC]    Books columns count: 44
[21-Nov-2025 12:47:49 UTC]    Categories columns count: 7
[21-Nov-2025 12:47:49 UTC]    Language field in books: YES
[21-Nov-2025 12:47:49 UTC]    Format field in books: YES
[21-Nov-2025 12:47:49 UTC]    Description field in categories: YES
[21-Nov-2025 12:47:49 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:47:49 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:47:49 UTC]    Is_active field in books: YES
[21-Nov-2025 12:47:49 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:47:49 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:47:49 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:47:49 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:47:49 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:47:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:47:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:47:49 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:47:49 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:47:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:47:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:47:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:47:49 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:47:49 UTC] 📊 Database Info:
[21-Nov-2025 12:47:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:47:49 UTC]    Books columns count: 44
[21-Nov-2025 12:47:49 UTC]    Categories columns count: 7
[21-Nov-2025 12:47:49 UTC]    Language field in books: YES
[21-Nov-2025 12:47:49 UTC]    Format field in books: YES
[21-Nov-2025 12:47:49 UTC]    Description field in categories: YES
[21-Nov-2025 12:47:49 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:47:49 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:47:49 UTC]    Is_active field in books: YES
[21-Nov-2025 12:47:49 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:47:49 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:47:49 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:47:49 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:47:49 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:47:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:47:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:47:49 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:47:49 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:48:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:48:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:48:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:48:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:48:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:48:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:48:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:48:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:48:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:48:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:48:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:48:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:48:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:48:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:48:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:48:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:48:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:48:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:48:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:48:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:48:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:48:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:48:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:48:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:48:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:48:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:48:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:48:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:48:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:48:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:48:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:48:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:48:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:48:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:48:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:48:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:48:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:48:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:48:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:48:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:48:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:48:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:48:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:48:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:48:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:48:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:48:24 UTC] 📊 Database Info:
[21-Nov-2025 12:48:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:48:24 UTC]    Books columns count: 44
[21-Nov-2025 12:48:24 UTC]    Categories columns count: 7
[21-Nov-2025 12:48:24 UTC]    Language field in books: YES
[21-Nov-2025 12:48:24 UTC]    Format field in books: YES
[21-Nov-2025 12:48:24 UTC]    Description field in categories: YES
[21-Nov-2025 12:48:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:48:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:48:24 UTC]    Is_active field in books: YES
[21-Nov-2025 12:48:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:48:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:48:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:48:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:48:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:48:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:48:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:48:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:48:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:48:24 UTC] 📊 Database Info:
[21-Nov-2025 12:48:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:48:24 UTC]    Books columns count: 44
[21-Nov-2025 12:48:24 UTC]    Categories columns count: 7
[21-Nov-2025 12:48:24 UTC]    Language field in books: YES
[21-Nov-2025 12:48:24 UTC]    Format field in books: YES
[21-Nov-2025 12:48:24 UTC]    Description field in categories: YES
[21-Nov-2025 12:48:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:48:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:48:24 UTC]    Is_active field in books: YES
[21-Nov-2025 12:48:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:48:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:48:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:48:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:48:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:48:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:48:24 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:48:24 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:48:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:48:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:48:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:48:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:48:24 UTC] 📊 Database Info:
[21-Nov-2025 12:48:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:48:24 UTC]    Books columns count: 44
[21-Nov-2025 12:48:24 UTC]    Categories columns count: 7
[21-Nov-2025 12:48:24 UTC]    Language field in books: YES
[21-Nov-2025 12:48:24 UTC]    Format field in books: YES
[21-Nov-2025 12:48:24 UTC]    Description field in categories: YES
[21-Nov-2025 12:48:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:48:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:48:24 UTC]    Is_active field in books: YES
[21-Nov-2025 12:48:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:48:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:48:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:48:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:48:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:48:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:48:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:48:24 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:48:24 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:48:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:48:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:48:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:48:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:48:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:48:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:48:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:48:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:48:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:48:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:48:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:48:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:48:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:48:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:48:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:48:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:48:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:48:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:48:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:48:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:48:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:48:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:48:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:48:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:48:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:48:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:48:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:48:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:48:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:48:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:48:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:48:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:48:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:48:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:48:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:48:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:48:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:48:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:48:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:48:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:48:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:48:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:48:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:48:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:48:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:48:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:48:26 UTC] 📊 Database Info:
[21-Nov-2025 12:48:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:48:26 UTC]    Books columns count: 44
[21-Nov-2025 12:48:26 UTC]    Categories columns count: 7
[21-Nov-2025 12:48:26 UTC]    Language field in books: YES
[21-Nov-2025 12:48:26 UTC]    Format field in books: YES
[21-Nov-2025 12:48:26 UTC]    Description field in categories: YES
[21-Nov-2025 12:48:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:48:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:48:26 UTC]    Is_active field in books: YES
[21-Nov-2025 12:48:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:48:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:48:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:48:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:48:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:48:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:48:26 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:48:26 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:48:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:48:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:48:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:48:26 UTC] 📊 Database Info:
[21-Nov-2025 12:48:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:48:26 UTC]    Books columns count: 44
[21-Nov-2025 12:48:26 UTC]    Categories columns count: 7
[21-Nov-2025 12:48:26 UTC]    Language field in books: YES
[21-Nov-2025 12:48:26 UTC]    Format field in books: YES
[21-Nov-2025 12:48:26 UTC]    Description field in categories: YES
[21-Nov-2025 12:48:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:48:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:48:26 UTC]    Is_active field in books: YES
[21-Nov-2025 12:48:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:48:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:48:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:48:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:48:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:48:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:48:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:48:26 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:48:26 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:48:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:48:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:48:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:48:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:48:26 UTC] 📊 Database Info:
[21-Nov-2025 12:48:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:48:26 UTC]    Books columns count: 44
[21-Nov-2025 12:48:26 UTC]    Categories columns count: 7
[21-Nov-2025 12:48:26 UTC]    Language field in books: YES
[21-Nov-2025 12:48:26 UTC]    Format field in books: YES
[21-Nov-2025 12:48:26 UTC]    Description field in categories: YES
[21-Nov-2025 12:48:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:48:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:48:26 UTC]    Is_active field in books: YES
[21-Nov-2025 12:48:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:48:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:48:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:48:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:48:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:48:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:48:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:48:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:48:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:48:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:48:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:48:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:48:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:48:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:48:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:48:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:48:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:48:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:48:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:48:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:48:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:48:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:48:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:48:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 12:48:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:48:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:48:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:48:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:48:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:48:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:48:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:48:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:48:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:48:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:48:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:48:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:48:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:48:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:48:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:48:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:48:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:48:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:48:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:48:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:48:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:48:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:48:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:48:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:48:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:48:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:48:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:48:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:48:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:48:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:48:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:48:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 12:48:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:48:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 12:48:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 12:48:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 12:48:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 12:48:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 12:48:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 12:48:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 12:48:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 12:48:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:48:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:48:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:48:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:48:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:48:38 UTC] 📊 Database Info:
[21-Nov-2025 12:48:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:48:38 UTC]    Books columns count: 44
[21-Nov-2025 12:48:38 UTC]    Categories columns count: 7
[21-Nov-2025 12:48:38 UTC]    Language field in books: YES
[21-Nov-2025 12:48:38 UTC]    Format field in books: YES
[21-Nov-2025 12:48:38 UTC]    Description field in categories: YES
[21-Nov-2025 12:48:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:48:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:48:38 UTC]    Is_active field in books: YES
[21-Nov-2025 12:48:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:48:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:48:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:48:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:48:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:48:38 UTC] 📊 Database Info:
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:48:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:48:38 UTC]    Books columns count: 44
[21-Nov-2025 12:48:38 UTC]    Categories columns count: 7
[21-Nov-2025 12:48:38 UTC]    Language field in books: YES
[21-Nov-2025 12:48:38 UTC]    Format field in books: YES
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:48:38 UTC]    Description field in categories: YES
[21-Nov-2025 12:48:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:48:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:48:38 UTC]    Is_active field in books: YES
[21-Nov-2025 12:48:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:48:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:48:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:48:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:48:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:48:38 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 12:48:38 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 12:48:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:48:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 12:48:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:48:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 12:48:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 12:48:38 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 12:48:38 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 12:48:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 12:48:38 UTC] 📊 Database Info:
[21-Nov-2025 12:48:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 12:48:38 UTC]    Books columns count: 44
[21-Nov-2025 12:48:38 UTC]    Categories columns count: 7
[21-Nov-2025 12:48:38 UTC]    Language field in books: YES
[21-Nov-2025 12:48:38 UTC]    Format field in books: YES
[21-Nov-2025 12:48:38 UTC]    Description field in categories: YES
[21-Nov-2025 12:48:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 12:48:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 12:48:38 UTC]    Is_active field in books: YES
[21-Nov-2025 12:48:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 12:48:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 12:48:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 12:48:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 12:48:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 12:48:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 12:48:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:35:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:35:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:35:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:35:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:35:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:35:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:35:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:35:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:35:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:35:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:35:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:35:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:35:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:35:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:35:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:35:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:35:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:35:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:35:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:35:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:35:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:35:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:35:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:35:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:35:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:35:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:35:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:35:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:35:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:35:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:35:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:35:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:35:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:35:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:35:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:35:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:35:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:35:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:35:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:35:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:35:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:35:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:35:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:35:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:35:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:35:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:35:04 UTC] 📊 Database Info:
[21-Nov-2025 13:35:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:35:04 UTC]    Books columns count: 44
[21-Nov-2025 13:35:04 UTC]    Categories columns count: 7
[21-Nov-2025 13:35:04 UTC]    Language field in books: YES
[21-Nov-2025 13:35:04 UTC]    Format field in books: YES
[21-Nov-2025 13:35:04 UTC]    Description field in categories: YES
[21-Nov-2025 13:35:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:35:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:35:04 UTC]    Is_active field in books: YES
[21-Nov-2025 13:35:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:35:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:35:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:35:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:35:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:35:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:35:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 13:35:04 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 13:35:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:35:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:35:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:35:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:35:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:35:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:35:04 UTC] 📊 Database Info:
[21-Nov-2025 13:35:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:35:04 UTC]    Books columns count: 44
[21-Nov-2025 13:35:04 UTC]    Categories columns count: 7
[21-Nov-2025 13:35:04 UTC]    Language field in books: YES
[21-Nov-2025 13:35:04 UTC]    Format field in books: YES
[21-Nov-2025 13:35:04 UTC]    Description field in categories: YES
[21-Nov-2025 13:35:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:35:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:35:04 UTC]    Is_active field in books: YES
[21-Nov-2025 13:35:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:35:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:35:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:35:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:35:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:35:04 UTC] 📊 Database Info:
[21-Nov-2025 13:35:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:35:04 UTC]    Books columns count: 44
[21-Nov-2025 13:35:04 UTC]    Categories columns count: 7
[21-Nov-2025 13:35:04 UTC]    Language field in books: YES
[21-Nov-2025 13:35:04 UTC]    Format field in books: YES
[21-Nov-2025 13:35:04 UTC]    Description field in categories: YES
[21-Nov-2025 13:35:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:35:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:35:04 UTC]    Is_active field in books: YES
[21-Nov-2025 13:35:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:35:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:35:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:35:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:35:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:35:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:35:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 13:35:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:35:04 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:35:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:35:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:35:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:35:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:35:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:35:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:35:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:35:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:35:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:35:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:35:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:35:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:35:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:35:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:35:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:35:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:35:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:35:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:35:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:35:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:35:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:35:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:35:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:35:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:35:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:35:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:35:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:35:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:35:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:35:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:35:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:35:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:35:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:35:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:35:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:35:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:35:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:35:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:35:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:35:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:35:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:35:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:35:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:35:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:35:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:35:09 UTC] 📊 Database Info:
[21-Nov-2025 13:35:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:35:09 UTC]    Books columns count: 44
[21-Nov-2025 13:35:09 UTC]    Categories columns count: 7
[21-Nov-2025 13:35:09 UTC]    Language field in books: YES
[21-Nov-2025 13:35:09 UTC]    Format field in books: YES
[21-Nov-2025 13:35:09 UTC]    Description field in categories: YES
[21-Nov-2025 13:35:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:35:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:35:09 UTC]    Is_active field in books: YES
[21-Nov-2025 13:35:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:35:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:35:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:35:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:35:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:35:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:35:09 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 13:35:09 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 13:35:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:35:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:35:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:35:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:35:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:35:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:35:09 UTC] 📊 Database Info:
[21-Nov-2025 13:35:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:35:09 UTC]    Books columns count: 44
[21-Nov-2025 13:35:09 UTC]    Categories columns count: 7
[21-Nov-2025 13:35:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:35:09 UTC]    Language field in books: YES
[21-Nov-2025 13:35:09 UTC] 📊 Database Info:
[21-Nov-2025 13:35:09 UTC]    Format field in books: YES
[21-Nov-2025 13:35:09 UTC]    Description field in categories: YES
[21-Nov-2025 13:35:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:35:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:35:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:35:09 UTC]    Books columns count: 44
[21-Nov-2025 13:35:09 UTC]    Is_active field in books: YES
[21-Nov-2025 13:35:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:35:09 UTC]    Categories columns count: 7
[21-Nov-2025 13:35:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:35:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:35:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:35:09 UTC]    Language field in books: YES
[21-Nov-2025 13:35:09 UTC]    Format field in books: YES
[21-Nov-2025 13:35:09 UTC]    Description field in categories: YES
[21-Nov-2025 13:35:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:35:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:35:09 UTC]    Is_active field in books: YES
[21-Nov-2025 13:35:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:35:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:35:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:35:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:35:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:35:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:35:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:35:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 13:35:09 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:35:09 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:35:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:35:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:39:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:39:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:39:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:39:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:39:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:39:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:39:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:39:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:39:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:39:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:39:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:39:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:39:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:39:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:39:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:39:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:39:15 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:39:15 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:39:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:39:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:39:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:39:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:39:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:39:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:39:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:39:15 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:39:15 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:39:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:39:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:39:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:39:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:39:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:39:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:39:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:39:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:39:15 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:39:15 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:39:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:39:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:39:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:39:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:39:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:39:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:39:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:39:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:39:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:39:15 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:39:15 UTC] 📊 Database Info:
[21-Nov-2025 13:39:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:39:15 UTC]    Books columns count: 44
[21-Nov-2025 13:39:15 UTC]    Categories columns count: 7
[21-Nov-2025 13:39:15 UTC]    Language field in books: YES
[21-Nov-2025 13:39:15 UTC]    Format field in books: YES
[21-Nov-2025 13:39:15 UTC]    Description field in categories: YES
[21-Nov-2025 13:39:15 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:39:15 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:39:15 UTC]    Is_active field in books: YES
[21-Nov-2025 13:39:15 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:39:15 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:39:15 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:39:15 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:39:15 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:39:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:39:15 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 13:39:15 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 13:39:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:39:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:39:15 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:39:15 UTC] 📊 Database Info:
[21-Nov-2025 13:39:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:39:15 UTC]    Books columns count: 44
[21-Nov-2025 13:39:15 UTC]    Categories columns count: 7
[21-Nov-2025 13:39:15 UTC]    Language field in books: YES
[21-Nov-2025 13:39:15 UTC]    Format field in books: YES
[21-Nov-2025 13:39:15 UTC]    Description field in categories: YES
[21-Nov-2025 13:39:15 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:39:15 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:39:15 UTC]    Is_active field in books: YES
[21-Nov-2025 13:39:15 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:39:15 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:39:15 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:39:15 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:39:15 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:39:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:39:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:39:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:39:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:39:15 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:39:15 UTC] 📊 Database Info:
[21-Nov-2025 13:39:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:39:15 UTC]    Books columns count: 44
[21-Nov-2025 13:39:15 UTC]    Categories columns count: 7
[21-Nov-2025 13:39:15 UTC]    Language field in books: YES
[21-Nov-2025 13:39:15 UTC]    Format field in books: YES
[21-Nov-2025 13:39:15 UTC]    Description field in categories: YES
[21-Nov-2025 13:39:15 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:39:15 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:39:15 UTC]    Is_active field in books: YES
[21-Nov-2025 13:39:15 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:39:15 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:39:15 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:39:15 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:39:15 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:39:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:39:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:41:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:41:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:41:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:41:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:41:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:41:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:41:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:41:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:41:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:41:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:41:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:41:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:41:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:41:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:41:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:41:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:41:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:41:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:41:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:41:02 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:41:02 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:41:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:41:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:41:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:41:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:41:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:41:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:41:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:41:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:41:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:41:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:41:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:41:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:41:02 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:41:02 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:41:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:41:02 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:41:02 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:41:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:41:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:41:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:41:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:41:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:41:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:41:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:41:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:41:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:41:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:41:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:41:02 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:41:02 UTC] 📊 Database Info:
[21-Nov-2025 13:41:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:41:02 UTC]    Books columns count: 44
[21-Nov-2025 13:41:02 UTC]    Categories columns count: 7
[21-Nov-2025 13:41:02 UTC]    Language field in books: YES
[21-Nov-2025 13:41:02 UTC]    Format field in books: YES
[21-Nov-2025 13:41:02 UTC]    Description field in categories: YES
[21-Nov-2025 13:41:02 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:41:02 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:41:02 UTC]    Is_active field in books: YES
[21-Nov-2025 13:41:02 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:41:02 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:41:02 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:41:02 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:41:02 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:41:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:41:02 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 13:41:02 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 13:41:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:41:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:41:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:41:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:41:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:41:02 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:41:02 UTC] 📊 Database Info:
[21-Nov-2025 13:41:02 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:41:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:41:02 UTC] 📊 Database Info:
[21-Nov-2025 13:41:02 UTC]    Books columns count: 44
[21-Nov-2025 13:41:02 UTC]    Categories columns count: 7
[21-Nov-2025 13:41:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:41:02 UTC]    Books columns count: 44
[21-Nov-2025 13:41:02 UTC]    Categories columns count: 7
[21-Nov-2025 13:41:02 UTC]    Language field in books: YES
[21-Nov-2025 13:41:02 UTC]    Format field in books: YES
[21-Nov-2025 13:41:02 UTC]    Language field in books: YES
[21-Nov-2025 13:41:02 UTC]    Description field in categories: YES
[21-Nov-2025 13:41:02 UTC]    Format field in books: YES
[21-Nov-2025 13:41:02 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:41:02 UTC]    Description field in categories: YES
[21-Nov-2025 13:41:02 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:41:02 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:41:02 UTC]    Is_active field in books: YES
[21-Nov-2025 13:41:02 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:41:02 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:41:02 UTC]    Is_active field in books: YES
[21-Nov-2025 13:41:02 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:41:02 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:41:02 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:41:02 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:41:02 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:41:02 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:41:02 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:41:02 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:41:02 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:41:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:41:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:41:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 13:41:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:41:02 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 13:41:02 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 13:41:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:41:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:41:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:41:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:41:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:41:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:41:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:41:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:41:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:41:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:41:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:41:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:41:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:41:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:41:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:41:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:41:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:41:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:41:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:41:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:41:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:41:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:41:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:41:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:41:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:41:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:41:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:41:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:41:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:41:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:41:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:41:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:41:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:41:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:41:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:41:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:41:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:41:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:41:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:41:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:41:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:41:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:41:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:41:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:41:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:41:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:41:29 UTC] 📊 Database Info:
[21-Nov-2025 13:41:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:41:29 UTC]    Books columns count: 44
[21-Nov-2025 13:41:29 UTC]    Categories columns count: 7
[21-Nov-2025 13:41:29 UTC]    Language field in books: YES
[21-Nov-2025 13:41:29 UTC]    Format field in books: YES
[21-Nov-2025 13:41:29 UTC]    Description field in categories: YES
[21-Nov-2025 13:41:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:41:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:41:29 UTC]    Is_active field in books: YES
[21-Nov-2025 13:41:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:41:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:41:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:41:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:41:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:41:29 UTC] 📊 Database Info:
[21-Nov-2025 13:41:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:41:29 UTC]    Books columns count: 44
[21-Nov-2025 13:41:29 UTC]    Categories columns count: 7
[21-Nov-2025 13:41:29 UTC]    Language field in books: YES
[21-Nov-2025 13:41:29 UTC]    Format field in books: YES
[21-Nov-2025 13:41:29 UTC]    Description field in categories: YES
[21-Nov-2025 13:41:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:41:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:41:29 UTC]    Is_active field in books: YES
[21-Nov-2025 13:41:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:41:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:41:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:41:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:41:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:41:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:41:29 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:41:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:41:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 13:41:29 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 13:41:29 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 13:41:29 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 13:41:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:41:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:41:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:41:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:41:29 UTC] 📊 Database Info:
[21-Nov-2025 13:41:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:41:29 UTC]    Books columns count: 44
[21-Nov-2025 13:41:29 UTC]    Categories columns count: 7
[21-Nov-2025 13:41:29 UTC]    Language field in books: YES
[21-Nov-2025 13:41:29 UTC]    Format field in books: YES
[21-Nov-2025 13:41:29 UTC]    Description field in categories: YES
[21-Nov-2025 13:41:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:41:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:41:29 UTC]    Is_active field in books: YES
[21-Nov-2025 13:41:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:41:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:41:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:41:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:41:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:41:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:41:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:44:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:44:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:44:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:44:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:44:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:44:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:44:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:44:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:44:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:44:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:44:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:44:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:44:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:44:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:44:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:44:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:44:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:44:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:44:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:44:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:44:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:44:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:44:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:44:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:44:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:44:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:44:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:44:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:44:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:44:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:44:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:44:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:44:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:44:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:44:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:44:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:44:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:44:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:44:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:44:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:44:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:44:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:44:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:44:27 UTC] 📊 Database Info:
[21-Nov-2025 13:44:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:44:27 UTC]    Books columns count: 44
[21-Nov-2025 13:44:27 UTC]    Categories columns count: 7
[21-Nov-2025 13:44:27 UTC]    Language field in books: YES
[21-Nov-2025 13:44:27 UTC]    Format field in books: YES
[21-Nov-2025 13:44:27 UTC]    Description field in categories: YES
[21-Nov-2025 13:44:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:44:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:44:27 UTC]    Is_active field in books: YES
[21-Nov-2025 13:44:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:44:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:44:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:44:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:44:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:44:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:44:27 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 13:44:27 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 13:44:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:44:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:44:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:44:27 UTC] 📊 Database Info:
[21-Nov-2025 13:44:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:44:27 UTC]    Books columns count: 44
[21-Nov-2025 13:44:27 UTC]    Categories columns count: 7
[21-Nov-2025 13:44:27 UTC]    Language field in books: YES
[21-Nov-2025 13:44:27 UTC]    Format field in books: YES
[21-Nov-2025 13:44:27 UTC]    Description field in categories: YES
[21-Nov-2025 13:44:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:44:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:44:27 UTC]    Is_active field in books: YES
[21-Nov-2025 13:44:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:44:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:44:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:44:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:44:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:44:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:44:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:44:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:44:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:44:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:44:27 UTC] 📊 Database Info:
[21-Nov-2025 13:44:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:44:27 UTC]    Books columns count: 44
[21-Nov-2025 13:44:27 UTC]    Categories columns count: 7
[21-Nov-2025 13:44:27 UTC]    Language field in books: YES
[21-Nov-2025 13:44:27 UTC]    Format field in books: YES
[21-Nov-2025 13:44:27 UTC]    Description field in categories: YES
[21-Nov-2025 13:44:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:44:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:44:27 UTC]    Is_active field in books: YES
[21-Nov-2025 13:44:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:44:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:44:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:44:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:44:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:44:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:44:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:44:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 13:44:27 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 13:44:27 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 13:46:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:46:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:46:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:46:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:46:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:46:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:46:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:46:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:46:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:46:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:46:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:46:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:46:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:46:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:46:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:46:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:46:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:46:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:46:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:46:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:46:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:46:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:46:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:46:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:46:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:46:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:46:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:46:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:46:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:46:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:46:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:46:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:46:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:46:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:46:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:46:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:46:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:46:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:46:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:46:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:46:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:46:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:46:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:46:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:46:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:46:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:46:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:46:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:46:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:46:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:46:05 UTC] 📊 Database Info:
[21-Nov-2025 13:46:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:46:05 UTC]    Books columns count: 44
[21-Nov-2025 13:46:05 UTC]    Categories columns count: 7
[21-Nov-2025 13:46:05 UTC]    Language field in books: YES
[21-Nov-2025 13:46:05 UTC]    Format field in books: YES
[21-Nov-2025 13:46:05 UTC]    Description field in categories: YES
[21-Nov-2025 13:46:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:46:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:46:05 UTC]    Is_active field in books: YES
[21-Nov-2025 13:46:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:46:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:46:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:46:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:46:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:46:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:46:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 13:46:05 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 13:46:05 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 13:46:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:46:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:46:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:46:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:46:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:46:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:46:05 UTC] 📊 Database Info:
[21-Nov-2025 13:46:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:46:05 UTC]    Books columns count: 44
[21-Nov-2025 13:46:05 UTC]    Categories columns count: 7
[21-Nov-2025 13:46:05 UTC]    Language field in books: YES
[21-Nov-2025 13:46:05 UTC]    Format field in books: YES
[21-Nov-2025 13:46:05 UTC]    Description field in categories: YES
[21-Nov-2025 13:46:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:46:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:46:05 UTC]    Is_active field in books: YES
[21-Nov-2025 13:46:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:46:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:46:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:46:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:46:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:46:05 UTC] 📊 Database Info:
[21-Nov-2025 13:46:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:46:05 UTC]    Books columns count: 44
[21-Nov-2025 13:46:05 UTC]    Categories columns count: 7
[21-Nov-2025 13:46:05 UTC]    Language field in books: YES
[21-Nov-2025 13:46:05 UTC]    Format field in books: YES
[21-Nov-2025 13:46:05 UTC]    Description field in categories: YES
[21-Nov-2025 13:46:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:46:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:46:05 UTC]    Is_active field in books: YES
[21-Nov-2025 13:46:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:46:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:46:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:46:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:46:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:46:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:46:05 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:46:05 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:46:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:46:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:47:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:47:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:47:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:47:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:47:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:47:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:47:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:47:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:47:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:47:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:47:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:47:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:47:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:47:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:47:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:47:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:47:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:47:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:47:40 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:47:40 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:47:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:47:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:47:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:47:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:47:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:47:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:47:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:47:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:47:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:47:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:47:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:47:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:47:40 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:47:40 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:47:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:47:40 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:47:40 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:47:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:47:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:47:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:47:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:47:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:47:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:47:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:47:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:47:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:47:40 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:47:40 UTC] 📊 Database Info:
[21-Nov-2025 13:47:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:47:40 UTC]    Books columns count: 44
[21-Nov-2025 13:47:40 UTC]    Categories columns count: 7
[21-Nov-2025 13:47:40 UTC]    Language field in books: YES
[21-Nov-2025 13:47:40 UTC]    Format field in books: YES
[21-Nov-2025 13:47:40 UTC]    Description field in categories: YES
[21-Nov-2025 13:47:40 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:47:40 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:47:40 UTC]    Is_active field in books: YES
[21-Nov-2025 13:47:40 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:47:40 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:47:40 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:47:40 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:47:40 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:47:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:47:40 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 13:47:40 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 13:47:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:47:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:47:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:47:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:47:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:47:40 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:47:40 UTC] 📊 Database Info:
[21-Nov-2025 13:47:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:47:40 UTC]    Books columns count: 44
[21-Nov-2025 13:47:40 UTC]    Categories columns count: 7
[21-Nov-2025 13:47:40 UTC]    Language field in books: YES
[21-Nov-2025 13:47:40 UTC]    Format field in books: YES
[21-Nov-2025 13:47:40 UTC]    Description field in categories: YES
[21-Nov-2025 13:47:40 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:47:40 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:47:40 UTC]    Is_active field in books: YES
[21-Nov-2025 13:47:40 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:47:40 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:47:40 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:47:40 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:47:40 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:47:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:47:40 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:47:40 UTC] 📊 Database Info:
[21-Nov-2025 13:47:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:47:40 UTC]    Books columns count: 44
[21-Nov-2025 13:47:40 UTC]    Categories columns count: 7
[21-Nov-2025 13:47:40 UTC]    Language field in books: YES
[21-Nov-2025 13:47:40 UTC]    Format field in books: YES
[21-Nov-2025 13:47:40 UTC]    Description field in categories: YES
[21-Nov-2025 13:47:40 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:47:40 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:47:40 UTC]    Is_active field in books: YES
[21-Nov-2025 13:47:40 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:47:40 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:47:40 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:47:40 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:47:40 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:47:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:47:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:47:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 13:47:40 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 13:47:40 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 13:48:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:48:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:48:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:48:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:48:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:48:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:48:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:48:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:48:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:48:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:48:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:48:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:48:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:48:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:48:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:48:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:48:42 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:48:42 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:48:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:48:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:48:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:48:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:48:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:48:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:48:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:48:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:48:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:48:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:48:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:48:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:48:42 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:48:42 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:48:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:48:42 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:48:42 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:48:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:48:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:48:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:48:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:48:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:48:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:48:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:48:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:48:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:48:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:48:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:48:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:48:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:48:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:48:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:48:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:48:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:48:42 UTC] 📊 Database Info:
[21-Nov-2025 13:48:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:48:42 UTC]    Books columns count: 44
[21-Nov-2025 13:48:42 UTC]    Categories columns count: 7
[21-Nov-2025 13:48:42 UTC]    Language field in books: YES
[21-Nov-2025 13:48:42 UTC]    Format field in books: YES
[21-Nov-2025 13:48:42 UTC]    Description field in categories: YES
[21-Nov-2025 13:48:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:48:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:48:42 UTC]    Is_active field in books: YES
[21-Nov-2025 13:48:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:48:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:48:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:48:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:48:42 UTC] 📊 Database Info:
[21-Nov-2025 13:48:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:48:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:48:42 UTC]    Books columns count: 44
[21-Nov-2025 13:48:42 UTC]    Categories columns count: 7
[21-Nov-2025 13:48:42 UTC]    Language field in books: YES
[21-Nov-2025 13:48:42 UTC]    Format field in books: YES
[21-Nov-2025 13:48:42 UTC]    Description field in categories: YES
[21-Nov-2025 13:48:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:48:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:48:42 UTC]    Is_active field in books: YES
[21-Nov-2025 13:48:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:48:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:48:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:48:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:48:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:48:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:48:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:48:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:48:42 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 13:48:42 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 13:48:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:48:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:48:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:48:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:48:42 UTC] 📊 Database Info:
[21-Nov-2025 13:48:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:48:42 UTC]    Books columns count: 44
[21-Nov-2025 13:48:42 UTC]    Categories columns count: 7
[21-Nov-2025 13:48:42 UTC]    Language field in books: YES
[21-Nov-2025 13:48:42 UTC]    Format field in books: YES
[21-Nov-2025 13:48:42 UTC]    Description field in categories: YES
[21-Nov-2025 13:48:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:48:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:48:42 UTC]    Is_active field in books: YES
[21-Nov-2025 13:48:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:48:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:48:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:48:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:48:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:48:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:48:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 13:48:42 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 13:48:42 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 13:56:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:56:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:56:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:56:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:56:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:56:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:56:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:56:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:56:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:56:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:56:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:56:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:56:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:56:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:56:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:56:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:56:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:56:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:56:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:56:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:56:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:56:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:56:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:56:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:56:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:56:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:56:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:56:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:56:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:56:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:56:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:56:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:56:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:56:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:56:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:56:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:56:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:56:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:56:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:56:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:56:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:56:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:56:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:56:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:56:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:56:22 UTC] 📊 Database Info:
[21-Nov-2025 13:56:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:56:22 UTC]    Books columns count: 44
[21-Nov-2025 13:56:22 UTC]    Categories columns count: 7
[21-Nov-2025 13:56:22 UTC]    Language field in books: YES
[21-Nov-2025 13:56:22 UTC]    Format field in books: YES
[21-Nov-2025 13:56:22 UTC]    Description field in categories: YES
[21-Nov-2025 13:56:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:56:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:56:22 UTC]    Is_active field in books: YES
[21-Nov-2025 13:56:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:56:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:56:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:56:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:56:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:56:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:56:22 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 13:56:22 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 13:56:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:56:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:56:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:56:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:56:23 UTC] 📊 Database Info:
[21-Nov-2025 13:56:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:56:23 UTC]    Books columns count: 44
[21-Nov-2025 13:56:23 UTC]    Categories columns count: 7
[21-Nov-2025 13:56:23 UTC]    Language field in books: YES
[21-Nov-2025 13:56:23 UTC]    Format field in books: YES
[21-Nov-2025 13:56:23 UTC]    Description field in categories: YES
[21-Nov-2025 13:56:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:56:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:56:23 UTC]    Is_active field in books: YES
[21-Nov-2025 13:56:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:56:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:56:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:56:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:56:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:56:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:56:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:56:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:56:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:56:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:56:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:56:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:56:23 UTC] 📊 Database Info:
[21-Nov-2025 13:56:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:56:23 UTC]    Books columns count: 44
[21-Nov-2025 13:56:23 UTC]    Categories columns count: 7
[21-Nov-2025 13:56:23 UTC]    Language field in books: YES
[21-Nov-2025 13:56:23 UTC]    Format field in books: YES
[21-Nov-2025 13:56:23 UTC]    Description field in categories: YES
[21-Nov-2025 13:56:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:56:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:56:23 UTC]    Is_active field in books: YES
[21-Nov-2025 13:56:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:56:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:56:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:56:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:56:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:56:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:56:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 13:56:23 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 13:56:23 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 13:57:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:57:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:57:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:57:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:57:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:57:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:57:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:57:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:57:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:57:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:57:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:57:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:57:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:57:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:57:39 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:57:39 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:57:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:57:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:57:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:57:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:57:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:57:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:57:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:57:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:57:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:57:39 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:57:39 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:57:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:57:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:57:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:57:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:57:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:57:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:57:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:57:39 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:57:39 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:57:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:57:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:57:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:57:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:57:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:57:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:57:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:57:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:57:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:57:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:57:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:57:39 UTC] 📊 Database Info:
[21-Nov-2025 13:57:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:57:39 UTC]    Books columns count: 44
[21-Nov-2025 13:57:39 UTC]    Categories columns count: 7
[21-Nov-2025 13:57:39 UTC]    Language field in books: YES
[21-Nov-2025 13:57:39 UTC]    Format field in books: YES
[21-Nov-2025 13:57:39 UTC]    Description field in categories: YES
[21-Nov-2025 13:57:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:57:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:57:39 UTC]    Is_active field in books: YES
[21-Nov-2025 13:57:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:57:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:57:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:57:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:57:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:57:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:57:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 13:57:39 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 13:57:39 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 13:57:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:57:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:57:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:57:39 UTC] 📊 Database Info:
[21-Nov-2025 13:57:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:57:39 UTC]    Books columns count: 44
[21-Nov-2025 13:57:39 UTC]    Categories columns count: 7
[21-Nov-2025 13:57:39 UTC]    Language field in books: YES
[21-Nov-2025 13:57:39 UTC]    Format field in books: YES
[21-Nov-2025 13:57:39 UTC]    Description field in categories: YES
[21-Nov-2025 13:57:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:57:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:57:39 UTC]    Is_active field in books: YES
[21-Nov-2025 13:57:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:57:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:57:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:57:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:57:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:57:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:57:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:57:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:57:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:57:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:57:39 UTC] 📊 Database Info:
[21-Nov-2025 13:57:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:57:39 UTC]    Books columns count: 44
[21-Nov-2025 13:57:39 UTC]    Categories columns count: 7
[21-Nov-2025 13:57:39 UTC]    Language field in books: YES
[21-Nov-2025 13:57:39 UTC]    Format field in books: YES
[21-Nov-2025 13:57:39 UTC]    Description field in categories: YES
[21-Nov-2025 13:57:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:57:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:57:39 UTC]    Is_active field in books: YES
[21-Nov-2025 13:57:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:57:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:57:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:57:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:57:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:57:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:57:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:57:39 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 13:57:39 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 13:58:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:58:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:58:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:58:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 13:58:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:58:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:58:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:58:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:58:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:58:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:58:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:58:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:58:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:58:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:58:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:58:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:58:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:58:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:58:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:58:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:58:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:58:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:58:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:58:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:58:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 13:58:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:58:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:58:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:58:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 13:58:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:58:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:58:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 13:58:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 13:58:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:58:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:58:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:58:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 13:58:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:58:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 13:58:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 13:58:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:58:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:58:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:58:06 UTC] 📊 Database Info:
[21-Nov-2025 13:58:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:58:06 UTC]    Books columns count: 44
[21-Nov-2025 13:58:06 UTC]    Categories columns count: 7
[21-Nov-2025 13:58:06 UTC]    Language field in books: YES
[21-Nov-2025 13:58:06 UTC]    Format field in books: YES
[21-Nov-2025 13:58:06 UTC]    Description field in categories: YES
[21-Nov-2025 13:58:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:58:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:58:06 UTC]    Is_active field in books: YES
[21-Nov-2025 13:58:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:58:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:58:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:58:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:58:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:58:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:58:06 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 13:58:06 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 13:58:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:58:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:58:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:58:06 UTC] 📊 Database Info:
[21-Nov-2025 13:58:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:58:06 UTC]    Books columns count: 44
[21-Nov-2025 13:58:06 UTC]    Categories columns count: 7
[21-Nov-2025 13:58:06 UTC]    Language field in books: YES
[21-Nov-2025 13:58:06 UTC]    Format field in books: YES
[21-Nov-2025 13:58:06 UTC]    Description field in categories: YES
[21-Nov-2025 13:58:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:58:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:58:06 UTC]    Is_active field in books: YES
[21-Nov-2025 13:58:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:58:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:58:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:58:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:58:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:58:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 13:58:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 13:58:06 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 13:58:06 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 13:58:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 13:58:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 13:58:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 13:58:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 13:58:06 UTC] 📊 Database Info:
[21-Nov-2025 13:58:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 13:58:06 UTC]    Books columns count: 44
[21-Nov-2025 13:58:06 UTC]    Categories columns count: 7
[21-Nov-2025 13:58:06 UTC]    Language field in books: YES
[21-Nov-2025 13:58:06 UTC]    Format field in books: YES
[21-Nov-2025 13:58:06 UTC]    Description field in categories: YES
[21-Nov-2025 13:58:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 13:58:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 13:58:06 UTC]    Is_active field in books: YES
[21-Nov-2025 13:58:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 13:58:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 13:58:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 13:58:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 13:58:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 13:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 13:58:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:02:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:02:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:02:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:02:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:02:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:02:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:02:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:02:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:02:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:02:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:02:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:02:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:02:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:02:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:02:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:02:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:02:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:02:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:02:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:02:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:02:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:02:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:02:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:02:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:03:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:03:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:03:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:03:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:03:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:03:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:03:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:03:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:03:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:03:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:03:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:03:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:03:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:03:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:03:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:03:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:03:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:03:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:03:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:03:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:03:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:03:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:03:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:03:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:03:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:03:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:03:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:03:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:03:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:03:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:03:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:03:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:03:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:03:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:03:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:03:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:03:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:03:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:03:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:03:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:03:00 UTC] 📊 Database Info:
[21-Nov-2025 14:03:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:03:00 UTC]    Books columns count: 44
[21-Nov-2025 14:03:00 UTC]    Categories columns count: 7
[21-Nov-2025 14:03:00 UTC]    Language field in books: YES
[21-Nov-2025 14:03:00 UTC]    Format field in books: YES
[21-Nov-2025 14:03:00 UTC]    Description field in categories: YES
[21-Nov-2025 14:03:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:03:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:03:00 UTC]    Is_active field in books: YES
[21-Nov-2025 14:03:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:03:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:03:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:03:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:03:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:03:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:03:00 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 14:03:00 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 14:03:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:03:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:03:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:03:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:03:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:03:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:03:00 UTC] 📊 Database Info:
[21-Nov-2025 14:03:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:03:00 UTC]    Books columns count: 44
[21-Nov-2025 14:03:00 UTC]    Categories columns count: 7
[21-Nov-2025 14:03:00 UTC]    Language field in books: YES
[21-Nov-2025 14:03:00 UTC]    Format field in books: YES
[21-Nov-2025 14:03:00 UTC]    Description field in categories: YES
[21-Nov-2025 14:03:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:03:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:03:00 UTC]    Is_active field in books: YES
[21-Nov-2025 14:03:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:03:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:03:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:03:00 UTC] 📊 Database Info:
[21-Nov-2025 14:03:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:03:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:03:00 UTC]    Books columns count: 44
[21-Nov-2025 14:03:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:03:00 UTC]    Categories columns count: 7
[21-Nov-2025 14:03:00 UTC]    Language field in books: YES
[21-Nov-2025 14:03:00 UTC]    Format field in books: YES
[21-Nov-2025 14:03:00 UTC]    Description field in categories: YES
[21-Nov-2025 14:03:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:03:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:03:00 UTC]    Is_active field in books: YES
[21-Nov-2025 14:03:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:03:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:03:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:03:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:03:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:03:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:03:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:03:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:03:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:03:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:03:00 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 14:03:00 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 14:03:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:03:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:03:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:03:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:03:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:03:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:03:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:03:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:03:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:03:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:03:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:03:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:03:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:03:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:03:03 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:03:03 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:03:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:03:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:03:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:03:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:03:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:03:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:03:03 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:03:03 UTC] 📊 Database Info:
[21-Nov-2025 14:03:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:03:03 UTC]    Books columns count: 44
[21-Nov-2025 14:03:03 UTC]    Categories columns count: 7
[21-Nov-2025 14:03:03 UTC]    Language field in books: YES
[21-Nov-2025 14:03:03 UTC]    Format field in books: YES
[21-Nov-2025 14:03:03 UTC]    Description field in categories: YES
[21-Nov-2025 14:03:03 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:03:03 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:03:03 UTC]    Is_active field in books: YES
[21-Nov-2025 14:03:03 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:03:03 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:03:03 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:03:03 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:03:03 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:03:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:03:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:03:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:03:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:03:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:03:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:03:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:03:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:03:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:03:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:03:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:03:03 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:03:03 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:03:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:03:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:03:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:03:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:03:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:03:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:03:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:03:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:03:03 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:03:03 UTC] 📊 Database Info:
[21-Nov-2025 14:03:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:03:03 UTC]    Books columns count: 44
[21-Nov-2025 14:03:03 UTC]    Categories columns count: 7
[21-Nov-2025 14:03:03 UTC]    Language field in books: YES
[21-Nov-2025 14:03:03 UTC]    Format field in books: YES
[21-Nov-2025 14:03:03 UTC]    Description field in categories: YES
[21-Nov-2025 14:03:03 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:03:03 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:03:03 UTC]    Is_active field in books: YES
[21-Nov-2025 14:03:03 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:03:03 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:03:03 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:03:03 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:03:03 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:03:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:03:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:11:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:11:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:11:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:11:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:11:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:11:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:11:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:11:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:11:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:11:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:11:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:11:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:11:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:11:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:11:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:11:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:11:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:11:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:11:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:11:49 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:11:49 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:11:49 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:11:49 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:11:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:11:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:11:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:11:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:11:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:11:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:11:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:11:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:11:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:11:49 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:11:49 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:11:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:11:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:11:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:11:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:11:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:11:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:11:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:11:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:11:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:11:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:11:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:11:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:11:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:11:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:11:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:11:50 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:11:50 UTC] 📊 Database Info:
[21-Nov-2025 14:11:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:11:50 UTC]    Books columns count: 44
[21-Nov-2025 14:11:50 UTC]    Categories columns count: 7
[21-Nov-2025 14:11:50 UTC]    Language field in books: YES
[21-Nov-2025 14:11:50 UTC]    Format field in books: YES
[21-Nov-2025 14:11:50 UTC]    Description field in categories: YES
[21-Nov-2025 14:11:50 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:11:50 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:11:50 UTC]    Is_active field in books: YES
[21-Nov-2025 14:11:50 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:11:50 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:11:50 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:11:50 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:11:50 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:11:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:11:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:11:50 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:11:50 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:11:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:11:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:11:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:11:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:11:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:11:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:11:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:11:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:11:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:11:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:11:50 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:11:50 UTC] 📊 Database Info:
[21-Nov-2025 14:11:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:11:50 UTC]    Books columns count: 44
[21-Nov-2025 14:11:50 UTC]    Categories columns count: 7
[21-Nov-2025 14:11:50 UTC]    Language field in books: YES
[21-Nov-2025 14:11:50 UTC]    Format field in books: YES
[21-Nov-2025 14:11:50 UTC]    Description field in categories: YES
[21-Nov-2025 14:11:50 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:11:50 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:11:50 UTC]    Is_active field in books: YES
[21-Nov-2025 14:11:50 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:11:50 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:11:50 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:11:50 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:11:50 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:11:50 UTC] 📊 Database Info:
[21-Nov-2025 14:11:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:11:50 UTC]    Books columns count: 44
[21-Nov-2025 14:11:50 UTC]    Categories columns count: 7
[21-Nov-2025 14:11:50 UTC]    Language field in books: YES
[21-Nov-2025 14:11:50 UTC]    Format field in books: YES
[21-Nov-2025 14:11:50 UTC]    Description field in categories: YES
[21-Nov-2025 14:11:50 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:11:50 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:11:50 UTC]    Is_active field in books: YES
[21-Nov-2025 14:11:50 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:11:50 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:11:50 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:11:50 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:11:50 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:11:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:11:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:11:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:11:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:11:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:11:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:11:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:11:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:11:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:11:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:11:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:11:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:11:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:11:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:11:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:11:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:11:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:11:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:11:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:11:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:11:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:11:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:11:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:11:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:11:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:11:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:11:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:11:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:11:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:11:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:11:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:11:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:11:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:11:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:11:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:11:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:11:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:11:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:11:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:11:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:11:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:11:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:11:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:11:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:11:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:11:52 UTC] 📊 Database Info:
[21-Nov-2025 14:11:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:11:52 UTC]    Books columns count: 44
[21-Nov-2025 14:11:52 UTC]    Categories columns count: 7
[21-Nov-2025 14:11:52 UTC]    Language field in books: YES
[21-Nov-2025 14:11:52 UTC]    Format field in books: YES
[21-Nov-2025 14:11:52 UTC]    Description field in categories: YES
[21-Nov-2025 14:11:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:11:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:11:52 UTC]    Is_active field in books: YES
[21-Nov-2025 14:11:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:11:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:11:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:11:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:11:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:11:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:11:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:11:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:11:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:11:52 UTC] 📊 Database Info:
[21-Nov-2025 14:11:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:11:52 UTC]    Books columns count: 44
[21-Nov-2025 14:11:52 UTC]    Categories columns count: 7
[21-Nov-2025 14:11:52 UTC]    Language field in books: YES
[21-Nov-2025 14:11:52 UTC]    Format field in books: YES
[21-Nov-2025 14:11:52 UTC]    Description field in categories: YES
[21-Nov-2025 14:11:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:11:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:11:52 UTC]    Is_active field in books: YES
[21-Nov-2025 14:11:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:11:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:11:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:11:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:11:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:11:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:11:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:11:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:11:52 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:11:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:11:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:11:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:11:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:11:52 UTC] 📊 Database Info:
[21-Nov-2025 14:11:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:11:52 UTC]    Books columns count: 44
[21-Nov-2025 14:11:52 UTC]    Categories columns count: 7
[21-Nov-2025 14:11:52 UTC]    Language field in books: YES
[21-Nov-2025 14:11:52 UTC]    Format field in books: YES
[21-Nov-2025 14:11:52 UTC]    Description field in categories: YES
[21-Nov-2025 14:11:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:11:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:11:52 UTC]    Is_active field in books: YES
[21-Nov-2025 14:11:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:11:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:11:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:11:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:11:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:11:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:11:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:11:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:11:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:11:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:11:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:11:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:11:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:11:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:11:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:11:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:11:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:11:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:11:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:11:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:11:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:11:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:11:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:11:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:11:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:11:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:11:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:11:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:11:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:11:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:11:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:11:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:11:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:11:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:11:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:11:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:11:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:11:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:11:53 UTC] 📊 Database Info:
[21-Nov-2025 14:11:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:11:53 UTC]    Books columns count: 44
[21-Nov-2025 14:11:53 UTC]    Categories columns count: 7
[21-Nov-2025 14:11:53 UTC]    Language field in books: YES
[21-Nov-2025 14:11:53 UTC]    Format field in books: YES
[21-Nov-2025 14:11:53 UTC]    Description field in categories: YES
[21-Nov-2025 14:11:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:11:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:11:53 UTC]    Is_active field in books: YES
[21-Nov-2025 14:11:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:11:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:11:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:11:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:11:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:11:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:11:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:11:53 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:11:53 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:16:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:16:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:16:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:16:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:16:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:16:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:16:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:16:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:16:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:16:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:16:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:16:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:16:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:16:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:16:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:16:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:16:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:16:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:16:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:16:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:16:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:16:14 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:16:14 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:16:14 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:16:14 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:16:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:16:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:16:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:16:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:16:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:16:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:16:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:16:14 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:16:14 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:16:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:16:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:16:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:16:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:16:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:16:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:16:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:16:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:16:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:16:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:16:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:16:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:16:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:16:14 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:16:14 UTC] 📊 Database Info:
[21-Nov-2025 14:16:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:16:14 UTC]    Books columns count: 44
[21-Nov-2025 14:16:14 UTC]    Categories columns count: 7
[21-Nov-2025 14:16:14 UTC]    Language field in books: YES
[21-Nov-2025 14:16:14 UTC]    Format field in books: YES
[21-Nov-2025 14:16:14 UTC]    Description field in categories: YES
[21-Nov-2025 14:16:14 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:16:14 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:16:14 UTC]    Is_active field in books: YES
[21-Nov-2025 14:16:14 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:16:14 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:16:14 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:16:14 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:16:14 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:16:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:16:14 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 14:16:14 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 14:16:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:16:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:16:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:16:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:16:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:16:14 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:16:14 UTC] 📊 Database Info:
[21-Nov-2025 14:16:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:16:14 UTC]    Books columns count: 44
[21-Nov-2025 14:16:14 UTC]    Categories columns count: 7
[21-Nov-2025 14:16:14 UTC]    Language field in books: YES
[21-Nov-2025 14:16:14 UTC]    Format field in books: YES
[21-Nov-2025 14:16:14 UTC]    Description field in categories: YES
[21-Nov-2025 14:16:14 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:16:14 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:16:14 UTC]    Is_active field in books: YES
[21-Nov-2025 14:16:14 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:16:14 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:16:14 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:16:14 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:16:14 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:16:14 UTC] 📊 Database Info:
[21-Nov-2025 14:16:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:16:14 UTC]    Books columns count: 44
[21-Nov-2025 14:16:14 UTC]    Categories columns count: 7
[21-Nov-2025 14:16:14 UTC]    Language field in books: YES
[21-Nov-2025 14:16:14 UTC]    Format field in books: YES
[21-Nov-2025 14:16:14 UTC]    Description field in categories: YES
[21-Nov-2025 14:16:14 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:16:14 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:16:14 UTC]    Is_active field in books: YES
[21-Nov-2025 14:16:14 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:16:14 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:16:14 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:16:14 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:16:14 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:16:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:16:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:16:14 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 14:16:14 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:16:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:16:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:16:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:16:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:16:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:16:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:16:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:16:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:16:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:16:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:16:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:16:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:16:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:16:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:16:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:16:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:16:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:16:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:16:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:16:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:16:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:16:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:16:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:16:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:16:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:16:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:16:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:16:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:16:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:16:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:16:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:16:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:16:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:16:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:16:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:16:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:16:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:16:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:16:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:16:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:16:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:16:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:16:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:16:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:16:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:16:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:16:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:16:33 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:16:33 UTC] 📊 Database Info:
[21-Nov-2025 14:16:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:16:33 UTC]    Books columns count: 44
[21-Nov-2025 14:16:33 UTC]    Categories columns count: 7
[21-Nov-2025 14:16:33 UTC]    Language field in books: YES
[21-Nov-2025 14:16:33 UTC]    Format field in books: YES
[21-Nov-2025 14:16:33 UTC]    Description field in categories: YES
[21-Nov-2025 14:16:33 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:16:33 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:16:33 UTC]    Is_active field in books: YES
[21-Nov-2025 14:16:33 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:16:33 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:16:33 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:16:33 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:16:33 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:16:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:16:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 14:16:33 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 14:16:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:16:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:16:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:16:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:16:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:16:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:16:33 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:16:33 UTC] 📊 Database Info:
[21-Nov-2025 14:16:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:16:33 UTC]    Books columns count: 44
[21-Nov-2025 14:16:33 UTC]    Categories columns count: 7
[21-Nov-2025 14:16:33 UTC]    Language field in books: YES
[21-Nov-2025 14:16:33 UTC]    Format field in books: YES
[21-Nov-2025 14:16:33 UTC]    Description field in categories: YES
[21-Nov-2025 14:16:33 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:16:33 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:16:33 UTC]    Is_active field in books: YES
[21-Nov-2025 14:16:33 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:16:33 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:16:33 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:16:33 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:16:33 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:16:33 UTC] 📊 Database Info:
[21-Nov-2025 14:16:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:16:33 UTC]    Books columns count: 44
[21-Nov-2025 14:16:33 UTC]    Categories columns count: 7
[21-Nov-2025 14:16:33 UTC]    Language field in books: YES
[21-Nov-2025 14:16:33 UTC]    Format field in books: YES
[21-Nov-2025 14:16:33 UTC]    Description field in categories: YES
[21-Nov-2025 14:16:33 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:16:33 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:16:33 UTC]    Is_active field in books: YES
[21-Nov-2025 14:16:33 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:16:33 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:16:33 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:16:33 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:16:33 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:16:33 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:16:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:16:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:16:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:16:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 14:16:33 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 14:20:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:20:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:20:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:20:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:20:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:20:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:20:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:20:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:20:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:20:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:20:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:20:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:20:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:20:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:20:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:20:02 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:20:02 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:20:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:20:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:20:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:20:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:20:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:20:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:20:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:20:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:20:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:20:02 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:20:02 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:20:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:20:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:20:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:20:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:20:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:20:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:20:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:20:02 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:20:02 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:20:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:20:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:20:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:20:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:20:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:20:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:20:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:20:02 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:20:02 UTC] 📊 Database Info:
[21-Nov-2025 14:20:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:20:02 UTC]    Books columns count: 44
[21-Nov-2025 14:20:02 UTC]    Categories columns count: 7
[21-Nov-2025 14:20:02 UTC]    Language field in books: YES
[21-Nov-2025 14:20:02 UTC]    Format field in books: YES
[21-Nov-2025 14:20:02 UTC]    Description field in categories: YES
[21-Nov-2025 14:20:02 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:20:02 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:20:02 UTC]    Is_active field in books: YES
[21-Nov-2025 14:20:02 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:20:02 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:20:02 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:20:02 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:20:02 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:20:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:20:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:20:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:20:02 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:20:02 UTC] 📊 Database Info:
[21-Nov-2025 14:20:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:20:02 UTC]    Books columns count: 44
[21-Nov-2025 14:20:02 UTC]    Categories columns count: 7
[21-Nov-2025 14:20:02 UTC]    Language field in books: YES
[21-Nov-2025 14:20:02 UTC]    Format field in books: YES
[21-Nov-2025 14:20:02 UTC]    Description field in categories: YES
[21-Nov-2025 14:20:02 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:20:02 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:20:02 UTC]    Is_active field in books: YES
[21-Nov-2025 14:20:02 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:20:02 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:20:02 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:20:02 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:20:02 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:20:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:20:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:20:02 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:20:02 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:20:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:20:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:20:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:20:02 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:20:02 UTC] 📊 Database Info:
[21-Nov-2025 14:20:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:20:02 UTC]    Books columns count: 44
[21-Nov-2025 14:20:02 UTC]    Categories columns count: 7
[21-Nov-2025 14:20:02 UTC]    Language field in books: YES
[21-Nov-2025 14:20:02 UTC]    Format field in books: YES
[21-Nov-2025 14:20:02 UTC]    Description field in categories: YES
[21-Nov-2025 14:20:02 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:20:02 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:20:02 UTC]    Is_active field in books: YES
[21-Nov-2025 14:20:02 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:20:02 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:20:02 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:20:02 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:20:02 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:20:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:20:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:20:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:20:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:20:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:20:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:20:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:20:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:20:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:20:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:20:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:20:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:20:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:20:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:20:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:20:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:20:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:20:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:20:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:20:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:20:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:20:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:20:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:20:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:20:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:20:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:20:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:20:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:20:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:20:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:20:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:20:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:20:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:20:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:20:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:20:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:20:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:20:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:20:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:20:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:20:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:20:04 UTC] 📊 Database Info:
[21-Nov-2025 14:20:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:20:04 UTC]    Books columns count: 44
[21-Nov-2025 14:20:04 UTC]    Categories columns count: 7
[21-Nov-2025 14:20:04 UTC]    Language field in books: YES
[21-Nov-2025 14:20:04 UTC]    Format field in books: YES
[21-Nov-2025 14:20:04 UTC]    Description field in categories: YES
[21-Nov-2025 14:20:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:20:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:20:04 UTC]    Is_active field in books: YES
[21-Nov-2025 14:20:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:20:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:20:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:20:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:20:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:20:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:20:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:20:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:20:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:20:04 UTC] 📊 Database Info:
[21-Nov-2025 14:20:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:20:04 UTC]    Books columns count: 44
[21-Nov-2025 14:20:04 UTC]    Categories columns count: 7
[21-Nov-2025 14:20:04 UTC]    Language field in books: YES
[21-Nov-2025 14:20:04 UTC]    Format field in books: YES
[21-Nov-2025 14:20:04 UTC]    Description field in categories: YES
[21-Nov-2025 14:20:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:20:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:20:04 UTC]    Is_active field in books: YES
[21-Nov-2025 14:20:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:20:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:20:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:20:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:20:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:20:04 UTC] 📊 Database Info:
[21-Nov-2025 14:20:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:20:04 UTC]    Books columns count: 44
[21-Nov-2025 14:20:04 UTC]    Categories columns count: 7
[21-Nov-2025 14:20:04 UTC]    Language field in books: YES
[21-Nov-2025 14:20:04 UTC]    Format field in books: YES
[21-Nov-2025 14:20:04 UTC]    Description field in categories: YES
[21-Nov-2025 14:20:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:20:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:20:04 UTC]    Is_active field in books: YES
[21-Nov-2025 14:20:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:20:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:20:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:20:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:20:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:20:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:20:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:20:04 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:20:04 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:20:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:20:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:20:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:20:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:20:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:20:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:20:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:20:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:20:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:20:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:20:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:20:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:20:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:20:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:20:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:20:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:20:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:20:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:20:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:20:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:20:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:20:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:20:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:20:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:20:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:20:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:20:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:20:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:20:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:20:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:20:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:20:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:20:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:20:05 UTC] 📊 Database Info:
[21-Nov-2025 14:20:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:20:05 UTC]    Books columns count: 44
[21-Nov-2025 14:20:05 UTC]    Categories columns count: 7
[21-Nov-2025 14:20:05 UTC]    Language field in books: YES
[21-Nov-2025 14:20:05 UTC]    Format field in books: YES
[21-Nov-2025 14:20:05 UTC]    Description field in categories: YES
[21-Nov-2025 14:20:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:20:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:20:05 UTC]    Is_active field in books: YES
[21-Nov-2025 14:20:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:20:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:20:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:20:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:20:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:20:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:20:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:20:05 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:20:05 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:21:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:21:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:21:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:21:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:21:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:21:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:21:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:21:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:21:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:21:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:21:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:21:20 UTC] 📊 Database Info:
[21-Nov-2025 14:21:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:21:20 UTC]    Books columns count: 44
[21-Nov-2025 14:21:20 UTC]    Categories columns count: 7
[21-Nov-2025 14:21:20 UTC]    Language field in books: YES
[21-Nov-2025 14:21:20 UTC]    Format field in books: YES
[21-Nov-2025 14:21:20 UTC]    Description field in categories: YES
[21-Nov-2025 14:21:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:21:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:21:20 UTC]    Is_active field in books: YES
[21-Nov-2025 14:21:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:21:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:21:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:21:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:21:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:21:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:21:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:21:20 UTC] 📊 Database Info:
[21-Nov-2025 14:21:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:21:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:21:20 UTC] 📊 Database Info:
[21-Nov-2025 14:21:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:21:20 UTC]    Books columns count: 44
[21-Nov-2025 14:21:20 UTC]    Books columns count: 44
[21-Nov-2025 14:21:20 UTC]    Categories columns count: 7
[21-Nov-2025 14:21:20 UTC]    Categories columns count: 7
[21-Nov-2025 14:21:20 UTC]    Language field in books: YES
[21-Nov-2025 14:21:20 UTC]    Format field in books: YES
[21-Nov-2025 14:21:20 UTC]    Language field in books: YES
[21-Nov-2025 14:21:20 UTC]    Description field in categories: YES
[21-Nov-2025 14:21:20 UTC]    Format field in books: YES
[21-Nov-2025 14:21:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:21:20 UTC]    Description field in categories: YES
[21-Nov-2025 14:21:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:21:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:21:20 UTC]    Is_active field in books: YES
[21-Nov-2025 14:21:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:21:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:21:20 UTC]    Is_active field in books: YES
[21-Nov-2025 14:21:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:21:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:21:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:21:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:21:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:21:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:21:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:21:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:21:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:21:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:21:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:21:20 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:21:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:21:20 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:21:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:21:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:21:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:21:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:21:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:21:20 UTC] 📊 Database Info:
[21-Nov-2025 14:21:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:21:20 UTC]    Books columns count: 44
[21-Nov-2025 14:21:20 UTC]    Categories columns count: 7
[21-Nov-2025 14:21:20 UTC]    Language field in books: YES
[21-Nov-2025 14:21:20 UTC]    Format field in books: YES
[21-Nov-2025 14:21:20 UTC]    Description field in categories: YES
[21-Nov-2025 14:21:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:21:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:21:20 UTC]    Is_active field in books: YES
[21-Nov-2025 14:21:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:21:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:21:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:21:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:21:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:21:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:21:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:21:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:21:20 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:21:20 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:21:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:21:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:21:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:21 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:21:21 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:21:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:21 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:21:21 UTC] 📊 Database Info:
[21-Nov-2025 14:21:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:21:21 UTC]    Books columns count: 44
[21-Nov-2025 14:21:21 UTC]    Categories columns count: 7
[21-Nov-2025 14:21:21 UTC]    Language field in books: YES
[21-Nov-2025 14:21:21 UTC]    Format field in books: YES
[21-Nov-2025 14:21:21 UTC]    Description field in categories: YES
[21-Nov-2025 14:21:21 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:21:21 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:21:21 UTC]    Is_active field in books: YES
[21-Nov-2025 14:21:21 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:21:21 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:21:21 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:21:21 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:21:21 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:21:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:21:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:21:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:21:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:21:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:21:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:21:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:21:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:21:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:21:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:21:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:21:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:21:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:21:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:21:21 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:21:21 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:21:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:21:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:21:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:21:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:21:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:21:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:21:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:21:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:21:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:21:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:21:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:21:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:21:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:34 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:21:34 UTC] 📊 Database Info:
[21-Nov-2025 14:21:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:21:34 UTC]    Books columns count: 44
[21-Nov-2025 14:21:34 UTC]    Categories columns count: 7
[21-Nov-2025 14:21:34 UTC]    Language field in books: YES
[21-Nov-2025 14:21:34 UTC]    Format field in books: YES
[21-Nov-2025 14:21:34 UTC]    Description field in categories: YES
[21-Nov-2025 14:21:34 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:21:34 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:21:34 UTC]    Is_active field in books: YES
[21-Nov-2025 14:21:34 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:21:34 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:21:34 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:21:34 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:21:34 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:21:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:21:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:34 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:21:34 UTC] 📊 Database Info:
[21-Nov-2025 14:21:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:21:34 UTC]    Books columns count: 44
[21-Nov-2025 14:21:34 UTC]    Categories columns count: 7
[21-Nov-2025 14:21:34 UTC]    Language field in books: YES
[21-Nov-2025 14:21:34 UTC]    Format field in books: YES
[21-Nov-2025 14:21:34 UTC]    Description field in categories: YES
[21-Nov-2025 14:21:34 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:21:34 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:21:34 UTC]    Is_active field in books: YES
[21-Nov-2025 14:21:34 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:21:34 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:21:34 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:21:34 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:21:34 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:21:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:21:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:34 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:21:34 UTC] 📊 Database Info:
[21-Nov-2025 14:21:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:21:34 UTC]    Books columns count: 44
[21-Nov-2025 14:21:34 UTC]    Categories columns count: 7
[21-Nov-2025 14:21:34 UTC]    Language field in books: YES
[21-Nov-2025 14:21:34 UTC]    Format field in books: YES
[21-Nov-2025 14:21:34 UTC]    Description field in categories: YES
[21-Nov-2025 14:21:34 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:21:34 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:21:34 UTC]    Is_active field in books: YES
[21-Nov-2025 14:21:34 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:21:34 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:21:34 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:21:34 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:21:34 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:21:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:21:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:21:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:21:34 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:21:34 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:21:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:21:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:21:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:21:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:21:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:21:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:21:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:21:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:21:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:21:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:21:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:21:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:21:35 UTC] 📊 Database Info:
[21-Nov-2025 14:21:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:21:35 UTC]    Books columns count: 44
[21-Nov-2025 14:21:35 UTC]    Categories columns count: 7
[21-Nov-2025 14:21:35 UTC]    Language field in books: YES
[21-Nov-2025 14:21:35 UTC]    Format field in books: YES
[21-Nov-2025 14:21:35 UTC]    Description field in categories: YES
[21-Nov-2025 14:21:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:21:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:21:35 UTC]    Is_active field in books: YES
[21-Nov-2025 14:21:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:21:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:21:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:21:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:21:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:21:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:21:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:21:35 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:21:35 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:21:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:21:35 UTC] 📊 Database Info:
[21-Nov-2025 14:21:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:21:35 UTC]    Books columns count: 44
[21-Nov-2025 14:21:35 UTC]    Categories columns count: 7
[21-Nov-2025 14:21:35 UTC]    Language field in books: YES
[21-Nov-2025 14:21:35 UTC]    Format field in books: YES
[21-Nov-2025 14:21:35 UTC]    Description field in categories: YES
[21-Nov-2025 14:21:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:21:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:21:35 UTC]    Is_active field in books: YES
[21-Nov-2025 14:21:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:21:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:21:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:21:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:21:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:21:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:21:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:21:35 UTC] 📊 Database Info:
[21-Nov-2025 14:21:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:21:35 UTC]    Books columns count: 44
[21-Nov-2025 14:21:35 UTC]    Categories columns count: 7
[21-Nov-2025 14:21:35 UTC]    Language field in books: YES
[21-Nov-2025 14:21:35 UTC]    Format field in books: YES
[21-Nov-2025 14:21:35 UTC]    Description field in categories: YES
[21-Nov-2025 14:21:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:21:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:21:35 UTC]    Is_active field in books: YES
[21-Nov-2025 14:21:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:21:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:21:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:21:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:21:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:21:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:21:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:21:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:21:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:21:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:21:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:21:35 UTC] 📊 Database Info:
[21-Nov-2025 14:21:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:21:35 UTC]    Books columns count: 44
[21-Nov-2025 14:21:35 UTC]    Categories columns count: 7
[21-Nov-2025 14:21:35 UTC]    Language field in books: YES
[21-Nov-2025 14:21:35 UTC]    Format field in books: YES
[21-Nov-2025 14:21:35 UTC]    Description field in categories: YES
[21-Nov-2025 14:21:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:21:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:21:35 UTC]    Is_active field in books: YES
[21-Nov-2025 14:21:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:21:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:21:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:21:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:21:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:21:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:21:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:21:35 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:21:35 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:21:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:21:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:21:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:21:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:21:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:21:35 UTC] 📊 Database Info:
[21-Nov-2025 14:21:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:21:35 UTC]    Books columns count: 44
[21-Nov-2025 14:21:35 UTC]    Categories columns count: 7
[21-Nov-2025 14:21:35 UTC]    Language field in books: YES
[21-Nov-2025 14:21:35 UTC]    Format field in books: YES
[21-Nov-2025 14:21:35 UTC]    Description field in categories: YES
[21-Nov-2025 14:21:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:21:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:21:35 UTC]    Is_active field in books: YES
[21-Nov-2025 14:21:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:21:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:21:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:21:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:21:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:21:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:21:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:21:35 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:21:35 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:21:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:21:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:21:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:21:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:21:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:21:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:21:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:21:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:21:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:21:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:21:35 UTC] 📊 Database Info:
[21-Nov-2025 14:21:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:21:35 UTC]    Books columns count: 44
[21-Nov-2025 14:21:35 UTC]    Categories columns count: 7
[21-Nov-2025 14:21:35 UTC]    Language field in books: YES
[21-Nov-2025 14:21:35 UTC]    Format field in books: YES
[21-Nov-2025 14:21:35 UTC]    Description field in categories: YES
[21-Nov-2025 14:21:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:21:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:21:35 UTC]    Is_active field in books: YES
[21-Nov-2025 14:21:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:21:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:21:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:21:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:21:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:21:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:21:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:21:35 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:21:35 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:22:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:22:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:22:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:22:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:22:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:22:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:22:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:22:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:22:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:22:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:22:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:22:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:22:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:22:41 UTC] 📊 Database Info:
[21-Nov-2025 14:22:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:22:41 UTC]    Books columns count: 44
[21-Nov-2025 14:22:41 UTC]    Categories columns count: 7
[21-Nov-2025 14:22:41 UTC]    Language field in books: YES
[21-Nov-2025 14:22:41 UTC]    Format field in books: YES
[21-Nov-2025 14:22:41 UTC]    Description field in categories: YES
[21-Nov-2025 14:22:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:22:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:22:41 UTC]    Is_active field in books: YES
[21-Nov-2025 14:22:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:22:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:22:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:22:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:22:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:22:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:22:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:22:41 UTC] 📊 Database Info:
[21-Nov-2025 14:22:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:22:41 UTC]    Books columns count: 44
[21-Nov-2025 14:22:41 UTC]    Categories columns count: 7
[21-Nov-2025 14:22:41 UTC]    Language field in books: YES
[21-Nov-2025 14:22:41 UTC]    Format field in books: YES
[21-Nov-2025 14:22:41 UTC]    Description field in categories: YES
[21-Nov-2025 14:22:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:22:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:22:41 UTC]    Is_active field in books: YES
[21-Nov-2025 14:22:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:22:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:22:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:22:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:22:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:22:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:22:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:22:41 UTC] 📊 Database Info:
[21-Nov-2025 14:22:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:22:41 UTC]    Books columns count: 44
[21-Nov-2025 14:22:41 UTC]    Categories columns count: 7
[21-Nov-2025 14:22:41 UTC]    Language field in books: YES
[21-Nov-2025 14:22:41 UTC]    Format field in books: YES
[21-Nov-2025 14:22:41 UTC]    Description field in categories: YES
[21-Nov-2025 14:22:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:22:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:22:41 UTC]    Is_active field in books: YES
[21-Nov-2025 14:22:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:22:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:22:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:22:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:22:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:22:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:22:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:22:41 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:22:41 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:22:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:22:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:22:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:22:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:22:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:22:41 UTC] 📊 Database Info:
[21-Nov-2025 14:22:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:22:41 UTC]    Books columns count: 44
[21-Nov-2025 14:22:41 UTC]    Categories columns count: 7
[21-Nov-2025 14:22:41 UTC]    Language field in books: YES
[21-Nov-2025 14:22:41 UTC]    Format field in books: YES
[21-Nov-2025 14:22:41 UTC]    Description field in categories: YES
[21-Nov-2025 14:22:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:22:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:22:41 UTC]    Is_active field in books: YES
[21-Nov-2025 14:22:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:22:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:22:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:22:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:22:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:22:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:22:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:22:41 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:22:41 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:22:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:22:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:22:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:22:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:22:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:22:41 UTC] 📊 Database Info:
[21-Nov-2025 14:22:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:22:41 UTC]    Books columns count: 44
[21-Nov-2025 14:22:41 UTC]    Categories columns count: 7
[21-Nov-2025 14:22:41 UTC]    Language field in books: YES
[21-Nov-2025 14:22:41 UTC]    Format field in books: YES
[21-Nov-2025 14:22:41 UTC]    Description field in categories: YES
[21-Nov-2025 14:22:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:22:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:22:41 UTC]    Is_active field in books: YES
[21-Nov-2025 14:22:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:22:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:22:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:22:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:22:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:22:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:22:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:22:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:22:41 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:22:41 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:22:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:22:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:22:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:22:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:22:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:49 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:22:49 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:22:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:22:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:49 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:22:49 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:22:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:49 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:22:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:49 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:22:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:49 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:22:49 UTC] 📊 Database Info:
[21-Nov-2025 14:22:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:22:49 UTC]    Books columns count: 44
[21-Nov-2025 14:22:49 UTC]    Categories columns count: 7
[21-Nov-2025 14:22:49 UTC]    Language field in books: YES
[21-Nov-2025 14:22:49 UTC]    Format field in books: YES
[21-Nov-2025 14:22:49 UTC]    Description field in categories: YES
[21-Nov-2025 14:22:49 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:22:49 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:22:49 UTC]    Is_active field in books: YES
[21-Nov-2025 14:22:49 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:22:49 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:22:49 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:22:49 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:22:49 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:22:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:22:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:22:49 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:22:49 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:22:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:49 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:22:49 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:22:49 UTC] 📊 Database Info:
[21-Nov-2025 14:22:49 UTC] 📊 Database Info:
[21-Nov-2025 14:22:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:22:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:22:49 UTC]    Books columns count: 44
[21-Nov-2025 14:22:49 UTC]    Books columns count: 44
[21-Nov-2025 14:22:49 UTC]    Categories columns count: 7
[21-Nov-2025 14:22:49 UTC]    Categories columns count: 7
[21-Nov-2025 14:22:49 UTC]    Language field in books: YES
[21-Nov-2025 14:22:49 UTC]    Format field in books: YES
[21-Nov-2025 14:22:49 UTC]    Description field in categories: YES
[21-Nov-2025 14:22:49 UTC]    Language field in books: YES
[21-Nov-2025 14:22:49 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:22:49 UTC]    Format field in books: YES
[21-Nov-2025 14:22:49 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:22:49 UTC]    Description field in categories: YES
[21-Nov-2025 14:22:49 UTC]    Is_active field in books: YES
[21-Nov-2025 14:22:49 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:22:49 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:22:49 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:22:49 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:22:49 UTC]    Is_active field in books: YES
[21-Nov-2025 14:22:49 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:22:49 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:22:49 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:22:49 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:22:49 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:22:49 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:22:49 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:22:49 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:22:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:22:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:22:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:22:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:22:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:22:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:50 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:22:50 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:22:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:50 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:22:50 UTC] 📊 Database Info:
[21-Nov-2025 14:22:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:22:50 UTC]    Books columns count: 44
[21-Nov-2025 14:22:50 UTC]    Categories columns count: 7
[21-Nov-2025 14:22:50 UTC]    Language field in books: YES
[21-Nov-2025 14:22:50 UTC]    Format field in books: YES
[21-Nov-2025 14:22:50 UTC]    Description field in categories: YES
[21-Nov-2025 14:22:50 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:22:50 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:22:50 UTC]    Is_active field in books: YES
[21-Nov-2025 14:22:50 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:22:50 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:22:50 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:22:50 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:22:50 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:22:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:22:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:22:50 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:22:50 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:22:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:22:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:22:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:50 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:22:50 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:22:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:50 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:22:50 UTC] 📊 Database Info:
[21-Nov-2025 14:22:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:22:50 UTC]    Books columns count: 44
[21-Nov-2025 14:22:50 UTC]    Categories columns count: 7
[21-Nov-2025 14:22:50 UTC]    Language field in books: YES
[21-Nov-2025 14:22:50 UTC]    Format field in books: YES
[21-Nov-2025 14:22:50 UTC]    Description field in categories: YES
[21-Nov-2025 14:22:50 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:22:50 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:22:50 UTC]    Is_active field in books: YES
[21-Nov-2025 14:22:50 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:22:50 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:22:50 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:22:50 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:22:50 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:22:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:22:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:22:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:22:50 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:22:50 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:22:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:22:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:22:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:22:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:22:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:22:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:22:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:22:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:22:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:22:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:22:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:22:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:22:52 UTC] 📊 Database Info:
[21-Nov-2025 14:22:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:22:52 UTC]    Books columns count: 44
[21-Nov-2025 14:22:52 UTC]    Categories columns count: 7
[21-Nov-2025 14:22:52 UTC]    Language field in books: YES
[21-Nov-2025 14:22:52 UTC]    Format field in books: YES
[21-Nov-2025 14:22:52 UTC]    Description field in categories: YES
[21-Nov-2025 14:22:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:22:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:22:52 UTC]    Is_active field in books: YES
[21-Nov-2025 14:22:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:22:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:22:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:22:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:22:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:22:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:22:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:22:52 UTC] 📊 Database Info:
[21-Nov-2025 14:22:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:22:52 UTC]    Books columns count: 44
[21-Nov-2025 14:22:52 UTC]    Categories columns count: 7
[21-Nov-2025 14:22:52 UTC]    Language field in books: YES
[21-Nov-2025 14:22:52 UTC]    Format field in books: YES
[21-Nov-2025 14:22:52 UTC]    Description field in categories: YES
[21-Nov-2025 14:22:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:22:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:22:52 UTC]    Is_active field in books: YES
[21-Nov-2025 14:22:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:22:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:22:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:22:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:22:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:22:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:22:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:22:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:22:52 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:22:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:22:52 UTC] 📊 Database Info:
[21-Nov-2025 14:22:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:22:52 UTC]    Books columns count: 44
[21-Nov-2025 14:22:52 UTC]    Categories columns count: 7
[21-Nov-2025 14:22:52 UTC]    Language field in books: YES
[21-Nov-2025 14:22:52 UTC]    Format field in books: YES
[21-Nov-2025 14:22:52 UTC]    Description field in categories: YES
[21-Nov-2025 14:22:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:22:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:22:52 UTC]    Is_active field in books: YES
[21-Nov-2025 14:22:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:22:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:22:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:22:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:22:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:22:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:22:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:22:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:22:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:22:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:22:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:22:52 UTC] 📊 Database Info:
[21-Nov-2025 14:22:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:22:52 UTC]    Books columns count: 44
[21-Nov-2025 14:22:52 UTC]    Categories columns count: 7
[21-Nov-2025 14:22:52 UTC]    Language field in books: YES
[21-Nov-2025 14:22:52 UTC]    Format field in books: YES
[21-Nov-2025 14:22:52 UTC]    Description field in categories: YES
[21-Nov-2025 14:22:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:22:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:22:52 UTC]    Is_active field in books: YES
[21-Nov-2025 14:22:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:22:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:22:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:22:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:22:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:22:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:22:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:22:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:22:52 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:22:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:22:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:22:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:22:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:22:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:22:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:22:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:22:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:22:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:22:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:22:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:22:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:22:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:22:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:22:52 UTC] 📊 Database Info:
[21-Nov-2025 14:22:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:22:52 UTC]    Books columns count: 44
[21-Nov-2025 14:22:52 UTC]    Categories columns count: 7
[21-Nov-2025 14:22:52 UTC]    Language field in books: YES
[21-Nov-2025 14:22:52 UTC]    Format field in books: YES
[21-Nov-2025 14:22:52 UTC]    Description field in categories: YES
[21-Nov-2025 14:22:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:22:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:22:52 UTC]    Is_active field in books: YES
[21-Nov-2025 14:22:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:22:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:22:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:22:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:22:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:22:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:22:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:22:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:22:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:22:52 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:23:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:23:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:23:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:23:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:23:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:23:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:23:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:23:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:23:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:23:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:23:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:23:00 UTC] 📊 Database Info:
[21-Nov-2025 14:23:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:23:00 UTC]    Books columns count: 44
[21-Nov-2025 14:23:00 UTC]    Categories columns count: 7
[21-Nov-2025 14:23:00 UTC]    Language field in books: YES
[21-Nov-2025 14:23:00 UTC]    Format field in books: YES
[21-Nov-2025 14:23:00 UTC]    Description field in categories: YES
[21-Nov-2025 14:23:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:23:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:23:00 UTC]    Is_active field in books: YES
[21-Nov-2025 14:23:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:23:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:23:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:23:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:23:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:23:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:23:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:23:00 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:23:00 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:23:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:23:00 UTC] 📊 Database Info:
[21-Nov-2025 14:23:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:23:00 UTC]    Books columns count: 44
[21-Nov-2025 14:23:00 UTC]    Categories columns count: 7
[21-Nov-2025 14:23:00 UTC]    Language field in books: YES
[21-Nov-2025 14:23:00 UTC]    Format field in books: YES
[21-Nov-2025 14:23:00 UTC]    Description field in categories: YES
[21-Nov-2025 14:23:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:23:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:23:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:23:00 UTC] 📊 Database Info:
[21-Nov-2025 14:23:00 UTC]    Is_active field in books: YES
[21-Nov-2025 14:23:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:23:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:23:00 UTC]    Books columns count: 44
[21-Nov-2025 14:23:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:23:00 UTC]    Categories columns count: 7
[21-Nov-2025 14:23:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:23:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:23:00 UTC]    Language field in books: YES
[21-Nov-2025 14:23:00 UTC]    Format field in books: YES
[21-Nov-2025 14:23:00 UTC]    Description field in categories: YES
[21-Nov-2025 14:23:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:23:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:23:00 UTC]    Is_active field in books: YES
[21-Nov-2025 14:23:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:23:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:23:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:23:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:23:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:23:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:23:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:23:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:23:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:23:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:23:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:23:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:01 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:23:01 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:23:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:01 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:23:01 UTC] 📊 Database Info:
[21-Nov-2025 14:23:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:23:01 UTC]    Books columns count: 44
[21-Nov-2025 14:23:01 UTC]    Categories columns count: 7
[21-Nov-2025 14:23:01 UTC]    Language field in books: YES
[21-Nov-2025 14:23:01 UTC]    Format field in books: YES
[21-Nov-2025 14:23:01 UTC]    Description field in categories: YES
[21-Nov-2025 14:23:01 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:23:01 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:23:01 UTC]    Is_active field in books: YES
[21-Nov-2025 14:23:01 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:23:01 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:23:01 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:23:01 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:23:01 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:23:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:23:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:23:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:23:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:23:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:23:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:23:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:23:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:23:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:23:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:23:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:23:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:23:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:23:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:23:01 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:23:01 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:23:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:23:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:23:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:23:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:23:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:23:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:23:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:23:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:23:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:23:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:23:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:23:28 UTC] 📊 Database Info:
[21-Nov-2025 14:23:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:23:28 UTC]    Books columns count: 44
[21-Nov-2025 14:23:28 UTC]    Categories columns count: 7
[21-Nov-2025 14:23:28 UTC]    Language field in books: YES
[21-Nov-2025 14:23:28 UTC]    Format field in books: YES
[21-Nov-2025 14:23:28 UTC]    Description field in categories: YES
[21-Nov-2025 14:23:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:23:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:23:28 UTC]    Is_active field in books: YES
[21-Nov-2025 14:23:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:23:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:23:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:23:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:23:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:23:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:23:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:23:28 UTC] 📊 Database Info:
[21-Nov-2025 14:23:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:23:28 UTC]    Books columns count: 44
[21-Nov-2025 14:23:28 UTC]    Categories columns count: 7
[21-Nov-2025 14:23:28 UTC]    Language field in books: YES
[21-Nov-2025 14:23:28 UTC]    Format field in books: YES
[21-Nov-2025 14:23:28 UTC]    Description field in categories: YES
[21-Nov-2025 14:23:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:23:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:23:28 UTC]    Is_active field in books: YES
[21-Nov-2025 14:23:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:23:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:23:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:23:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:23:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:23:28 UTC] 📊 Database Info:
[21-Nov-2025 14:23:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:23:28 UTC]    Books columns count: 44
[21-Nov-2025 14:23:28 UTC]    Categories columns count: 7
[21-Nov-2025 14:23:28 UTC]    Language field in books: YES
[21-Nov-2025 14:23:28 UTC]    Format field in books: YES
[21-Nov-2025 14:23:28 UTC]    Description field in categories: YES
[21-Nov-2025 14:23:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:23:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:23:28 UTC]    Is_active field in books: YES
[21-Nov-2025 14:23:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:23:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:23:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:23:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:23:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:23:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:23:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:23:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:23:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:23:28 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:23:28 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:23:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:23:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:23:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:23:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:23:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:23:29 UTC] 📊 Database Info:
[21-Nov-2025 14:23:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:23:29 UTC]    Books columns count: 44
[21-Nov-2025 14:23:29 UTC]    Categories columns count: 7
[21-Nov-2025 14:23:29 UTC]    Language field in books: YES
[21-Nov-2025 14:23:29 UTC]    Format field in books: YES
[21-Nov-2025 14:23:29 UTC]    Description field in categories: YES
[21-Nov-2025 14:23:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:23:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:23:29 UTC]    Is_active field in books: YES
[21-Nov-2025 14:23:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:23:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:23:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:23:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:23:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:23:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:23:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:23:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:23:29 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:23:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:23:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:23:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:23:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:23:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:23:29 UTC] 📊 Database Info:
[21-Nov-2025 14:23:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:23:29 UTC]    Books columns count: 44
[21-Nov-2025 14:23:29 UTC]    Categories columns count: 7
[21-Nov-2025 14:23:29 UTC]    Language field in books: YES
[21-Nov-2025 14:23:29 UTC]    Format field in books: YES
[21-Nov-2025 14:23:29 UTC]    Description field in categories: YES
[21-Nov-2025 14:23:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:23:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:23:29 UTC]    Is_active field in books: YES
[21-Nov-2025 14:23:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:23:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:23:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:23:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:23:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:23:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:23:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:23:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:23:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:23:29 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:23:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:23:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:23:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:23:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:23:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:45 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:23:45 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:23:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:23:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:45 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:23:45 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:23:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:23:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:45 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:23:45 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:23:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:45 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:23:45 UTC] 📊 Database Info:
[21-Nov-2025 14:23:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:23:45 UTC]    Books columns count: 44
[21-Nov-2025 14:23:45 UTC]    Categories columns count: 7
[21-Nov-2025 14:23:45 UTC]    Language field in books: YES
[21-Nov-2025 14:23:45 UTC]    Format field in books: YES
[21-Nov-2025 14:23:45 UTC]    Description field in categories: YES
[21-Nov-2025 14:23:45 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:23:45 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:23:45 UTC]    Is_active field in books: YES
[21-Nov-2025 14:23:45 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:23:45 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:23:45 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:23:45 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:23:45 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:23:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:23:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:45 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:23:45 UTC] 📊 Database Info:
[21-Nov-2025 14:23:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:23:45 UTC]    Books columns count: 44
[21-Nov-2025 14:23:45 UTC]    Categories columns count: 7
[21-Nov-2025 14:23:45 UTC]    Language field in books: YES
[21-Nov-2025 14:23:45 UTC]    Format field in books: YES
[21-Nov-2025 14:23:45 UTC]    Description field in categories: YES
[21-Nov-2025 14:23:45 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:23:45 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:23:45 UTC]    Is_active field in books: YES
[21-Nov-2025 14:23:45 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:23:45 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:23:45 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:23:45 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:23:45 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:23:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:23:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:45 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:23:45 UTC] 📊 Database Info:
[21-Nov-2025 14:23:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:23:45 UTC]    Books columns count: 44
[21-Nov-2025 14:23:45 UTC]    Categories columns count: 7
[21-Nov-2025 14:23:45 UTC]    Language field in books: YES
[21-Nov-2025 14:23:45 UTC]    Format field in books: YES
[21-Nov-2025 14:23:45 UTC]    Description field in categories: YES
[21-Nov-2025 14:23:45 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:23:45 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:23:45 UTC]    Is_active field in books: YES
[21-Nov-2025 14:23:45 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:23:45 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:23:45 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:23:45 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:23:45 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:23:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:23:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:23:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:23:45 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:23:45 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:23:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:23:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:23:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:46 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:23:46 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:23:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:46 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:23:46 UTC] 📊 Database Info:
[21-Nov-2025 14:23:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:23:46 UTC]    Books columns count: 44
[21-Nov-2025 14:23:46 UTC]    Categories columns count: 7
[21-Nov-2025 14:23:46 UTC]    Language field in books: YES
[21-Nov-2025 14:23:46 UTC]    Format field in books: YES
[21-Nov-2025 14:23:46 UTC]    Description field in categories: YES
[21-Nov-2025 14:23:46 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:23:46 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:23:46 UTC]    Is_active field in books: YES
[21-Nov-2025 14:23:46 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:23:46 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:23:46 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:23:46 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:23:46 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:23:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:23:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:23:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:23:46 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:23:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:23:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:23:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:23:46 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:23:46 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:23:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:23:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:23:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:23:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:23:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:23:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:23:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:23:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:23:46 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:23:46 UTC] 📊 Database Info:
[21-Nov-2025 14:23:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:23:46 UTC]    Books columns count: 44
[21-Nov-2025 14:23:46 UTC]    Categories columns count: 7
[21-Nov-2025 14:23:46 UTC]    Language field in books: YES
[21-Nov-2025 14:23:46 UTC]    Format field in books: YES
[21-Nov-2025 14:23:46 UTC]    Description field in categories: YES
[21-Nov-2025 14:23:46 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:23:46 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:23:46 UTC]    Is_active field in books: YES
[21-Nov-2025 14:23:46 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:23:46 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:23:46 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:23:46 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:23:46 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:23:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:23:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:23:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:23:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:23:46 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:24:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:24:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:24:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:24:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:24:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:03 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:24:03 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:24:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:24:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:24:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:03 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:24:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:03 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:24:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:03 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:24:03 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:03 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:24:03 UTC] 📊 Database Info:
[21-Nov-2025 14:24:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:24:03 UTC]    Books columns count: 44
[21-Nov-2025 14:24:03 UTC]    Categories columns count: 7
[21-Nov-2025 14:24:03 UTC]    Language field in books: YES
[21-Nov-2025 14:24:03 UTC]    Format field in books: YES
[21-Nov-2025 14:24:03 UTC]    Description field in categories: YES
[21-Nov-2025 14:24:03 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:24:03 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:24:03 UTC]    Is_active field in books: YES
[21-Nov-2025 14:24:03 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:24:03 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:24:03 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:24:03 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:24:03 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:24:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:24:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:24:03 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:24:03 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:24:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:03 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:24:03 UTC] 📊 Database Info:
[21-Nov-2025 14:24:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:24:03 UTC]    Books columns count: 44
[21-Nov-2025 14:24:03 UTC]    Categories columns count: 7
[21-Nov-2025 14:24:03 UTC]    Language field in books: YES
[21-Nov-2025 14:24:03 UTC]    Format field in books: YES
[21-Nov-2025 14:24:03 UTC]    Description field in categories: YES
[21-Nov-2025 14:24:03 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:24:03 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:24:03 UTC]    Is_active field in books: YES
[21-Nov-2025 14:24:03 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:24:03 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:24:03 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:24:03 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:24:03 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:24:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:24:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:03 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:24:03 UTC] 📊 Database Info:
[21-Nov-2025 14:24:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:24:03 UTC]    Books columns count: 44
[21-Nov-2025 14:24:03 UTC]    Categories columns count: 7
[21-Nov-2025 14:24:03 UTC]    Language field in books: YES
[21-Nov-2025 14:24:03 UTC]    Format field in books: YES
[21-Nov-2025 14:24:03 UTC]    Description field in categories: YES
[21-Nov-2025 14:24:03 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:24:03 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:24:03 UTC]    Is_active field in books: YES
[21-Nov-2025 14:24:03 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:24:03 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:24:03 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:24:03 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:24:03 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:24:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:24:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:24:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:24:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:24:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:24:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:24:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:24:04 UTC] 📊 Database Info:
[21-Nov-2025 14:24:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:24:04 UTC]    Books columns count: 44
[21-Nov-2025 14:24:04 UTC]    Categories columns count: 7
[21-Nov-2025 14:24:04 UTC]    Language field in books: YES
[21-Nov-2025 14:24:04 UTC]    Format field in books: YES
[21-Nov-2025 14:24:04 UTC]    Description field in categories: YES
[21-Nov-2025 14:24:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:24:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:24:04 UTC]    Is_active field in books: YES
[21-Nov-2025 14:24:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:24:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:24:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:24:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:24:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:24:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:24:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:24:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:24:04 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:24:04 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:24:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:24:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:24:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:24:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:24:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:25 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:24:25 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:24:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:24:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:25 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:24:25 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:24:25 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:24:25 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:24:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:24:25 UTC] 📊 Database Info:
[21-Nov-2025 14:24:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:24:25 UTC]    Books columns count: 44
[21-Nov-2025 14:24:25 UTC]    Categories columns count: 7
[21-Nov-2025 14:24:25 UTC]    Language field in books: YES
[21-Nov-2025 14:24:25 UTC]    Format field in books: YES
[21-Nov-2025 14:24:25 UTC]    Description field in categories: YES
[21-Nov-2025 14:24:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:24:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:24:25 UTC]    Is_active field in books: YES
[21-Nov-2025 14:24:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:24:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:24:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:24:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:24:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:24:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:24:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:24:25 UTC] 📊 Database Info:
[21-Nov-2025 14:24:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:24:25 UTC]    Books columns count: 44
[21-Nov-2025 14:24:25 UTC]    Categories columns count: 7
[21-Nov-2025 14:24:25 UTC]    Language field in books: YES
[21-Nov-2025 14:24:25 UTC]    Format field in books: YES
[21-Nov-2025 14:24:25 UTC]    Description field in categories: YES
[21-Nov-2025 14:24:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:24:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:24:25 UTC]    Is_active field in books: YES
[21-Nov-2025 14:24:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:24:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:24:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:24:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:24:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:24:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:24:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:24:25 UTC] 📊 Database Info:
[21-Nov-2025 14:24:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:24:25 UTC]    Books columns count: 44
[21-Nov-2025 14:24:25 UTC]    Categories columns count: 7
[21-Nov-2025 14:24:25 UTC]    Language field in books: YES
[21-Nov-2025 14:24:25 UTC]    Format field in books: YES
[21-Nov-2025 14:24:25 UTC]    Description field in categories: YES
[21-Nov-2025 14:24:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:24:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:24:25 UTC]    Is_active field in books: YES
[21-Nov-2025 14:24:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:24:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:24:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:24:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:24:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:24:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:24:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:24:25 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:24:25 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:24:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:24:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:24:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:25 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:24:25 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:24:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:24:25 UTC] 📊 Database Info:
[21-Nov-2025 14:24:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:24:25 UTC]    Books columns count: 44
[21-Nov-2025 14:24:25 UTC]    Categories columns count: 7
[21-Nov-2025 14:24:25 UTC]    Language field in books: YES
[21-Nov-2025 14:24:25 UTC]    Format field in books: YES
[21-Nov-2025 14:24:25 UTC]    Description field in categories: YES
[21-Nov-2025 14:24:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:24:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:24:25 UTC]    Is_active field in books: YES
[21-Nov-2025 14:24:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:24:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:24:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:24:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:24:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:24:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:24:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:24:25 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:24:25 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:24:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:24:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:24:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:25 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:24:25 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:24:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:24:25 UTC] 📊 Database Info:
[21-Nov-2025 14:24:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:24:25 UTC]    Books columns count: 44
[21-Nov-2025 14:24:25 UTC]    Categories columns count: 7
[21-Nov-2025 14:24:25 UTC]    Language field in books: YES
[21-Nov-2025 14:24:25 UTC]    Format field in books: YES
[21-Nov-2025 14:24:25 UTC]    Description field in categories: YES
[21-Nov-2025 14:24:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:24:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:24:25 UTC]    Is_active field in books: YES
[21-Nov-2025 14:24:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:24:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:24:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:24:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:24:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:24:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:24:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:24:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:24:25 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:24:25 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:24:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:24:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:24:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:24:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:24:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:24:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:24:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:24:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:24:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:24:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:24:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:24:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:24:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:24:37 UTC] 📊 Database Info:
[21-Nov-2025 14:24:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:24:37 UTC]    Books columns count: 44
[21-Nov-2025 14:24:37 UTC]    Categories columns count: 7
[21-Nov-2025 14:24:37 UTC]    Language field in books: YES
[21-Nov-2025 14:24:37 UTC]    Format field in books: YES
[21-Nov-2025 14:24:37 UTC]    Description field in categories: YES
[21-Nov-2025 14:24:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:24:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:24:37 UTC]    Is_active field in books: YES
[21-Nov-2025 14:24:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:24:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:24:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:24:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:24:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:24:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:24:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:24:37 UTC] 📊 Database Info:
[21-Nov-2025 14:24:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:24:37 UTC]    Books columns count: 44
[21-Nov-2025 14:24:37 UTC]    Categories columns count: 7
[21-Nov-2025 14:24:37 UTC]    Language field in books: YES
[21-Nov-2025 14:24:37 UTC]    Format field in books: YES
[21-Nov-2025 14:24:37 UTC]    Description field in categories: YES
[21-Nov-2025 14:24:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:24:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:24:37 UTC]    Is_active field in books: YES
[21-Nov-2025 14:24:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:24:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:24:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:24:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:24:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:24:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:24:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:24:37 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:24:37 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:24:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:24:37 UTC] 📊 Database Info:
[21-Nov-2025 14:24:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:24:37 UTC]    Books columns count: 44
[21-Nov-2025 14:24:37 UTC]    Categories columns count: 7
[21-Nov-2025 14:24:37 UTC]    Language field in books: YES
[21-Nov-2025 14:24:37 UTC]    Format field in books: YES
[21-Nov-2025 14:24:37 UTC]    Description field in categories: YES
[21-Nov-2025 14:24:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:24:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:24:37 UTC]    Is_active field in books: YES
[21-Nov-2025 14:24:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:24:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:24:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:24:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:24:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:24:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:24:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:24:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:24:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:24:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:24:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:24:37 UTC] 📊 Database Info:
[21-Nov-2025 14:24:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:24:37 UTC]    Books columns count: 44
[21-Nov-2025 14:24:37 UTC]    Categories columns count: 7
[21-Nov-2025 14:24:37 UTC]    Language field in books: YES
[21-Nov-2025 14:24:37 UTC]    Format field in books: YES
[21-Nov-2025 14:24:37 UTC]    Description field in categories: YES
[21-Nov-2025 14:24:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:24:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:24:37 UTC]    Is_active field in books: YES
[21-Nov-2025 14:24:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:24:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:24:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:24:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:24:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:24:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:24:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:24:37 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:24:37 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:24:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:24:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:24:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:24:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:24:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:24:38 UTC] 📊 Database Info:
[21-Nov-2025 14:24:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:24:38 UTC]    Books columns count: 44
[21-Nov-2025 14:24:38 UTC]    Categories columns count: 7
[21-Nov-2025 14:24:38 UTC]    Language field in books: YES
[21-Nov-2025 14:24:38 UTC]    Format field in books: YES
[21-Nov-2025 14:24:38 UTC]    Description field in categories: YES
[21-Nov-2025 14:24:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:24:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:24:38 UTC]    Is_active field in books: YES
[21-Nov-2025 14:24:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:24:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:24:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:24:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:24:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:24:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:24:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:24:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:24:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:24:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:24:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:24:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:24:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:24:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:24:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:24:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:24:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:24:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:24:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:24:38 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:24:38 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:24:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:24:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:24:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:24:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:24:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:39 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:24:39 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:24:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:24:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:39 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:24:39 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:24:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:39 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:24:39 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:24:39 UTC] 📊 Database Info:
[21-Nov-2025 14:24:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:24:39 UTC]    Books columns count: 44
[21-Nov-2025 14:24:39 UTC]    Categories columns count: 7
[21-Nov-2025 14:24:39 UTC]    Language field in books: YES
[21-Nov-2025 14:24:39 UTC]    Format field in books: YES
[21-Nov-2025 14:24:39 UTC]    Description field in categories: YES
[21-Nov-2025 14:24:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:24:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:24:39 UTC]    Is_active field in books: YES
[21-Nov-2025 14:24:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:24:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:24:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:24:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:24:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:24:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:24:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:24:39 UTC] 📊 Database Info:
[21-Nov-2025 14:24:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:24:39 UTC]    Books columns count: 44
[21-Nov-2025 14:24:39 UTC]    Categories columns count: 7
[21-Nov-2025 14:24:39 UTC]    Language field in books: YES
[21-Nov-2025 14:24:39 UTC]    Format field in books: YES
[21-Nov-2025 14:24:39 UTC]    Description field in categories: YES
[21-Nov-2025 14:24:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:24:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:24:39 UTC]    Is_active field in books: YES
[21-Nov-2025 14:24:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:24:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:24:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:24:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:24:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:24:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:24:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:24:39 UTC] 📊 Database Info:
[21-Nov-2025 14:24:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:24:39 UTC]    Books columns count: 44
[21-Nov-2025 14:24:39 UTC]    Categories columns count: 7
[21-Nov-2025 14:24:39 UTC]    Language field in books: YES
[21-Nov-2025 14:24:39 UTC]    Format field in books: YES
[21-Nov-2025 14:24:39 UTC]    Description field in categories: YES
[21-Nov-2025 14:24:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:24:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:24:39 UTC]    Is_active field in books: YES
[21-Nov-2025 14:24:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:24:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:24:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:24:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:24:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:24:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:24:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:24:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:24:39 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:24:39 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:24:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:24:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:24:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:24:40 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:24:40 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:24:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:24:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:24:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:24:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:24:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:24:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:24:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:24:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:24:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:24:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:24:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:24:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:24:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:24:40 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:24:40 UTC] 📊 Database Info:
[21-Nov-2025 14:24:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:24:40 UTC]    Books columns count: 44
[21-Nov-2025 14:24:40 UTC]    Categories columns count: 7
[21-Nov-2025 14:24:40 UTC]    Language field in books: YES
[21-Nov-2025 14:24:40 UTC]    Format field in books: YES
[21-Nov-2025 14:24:40 UTC]    Description field in categories: YES
[21-Nov-2025 14:24:40 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:24:40 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:24:40 UTC]    Is_active field in books: YES
[21-Nov-2025 14:24:40 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:24:40 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:24:40 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:24:40 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:24:40 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:24:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:24:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:24:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:24:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:24:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:24:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:24:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:24:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:24:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:24:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:24:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:24:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:24:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:24:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:24:40 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:24:40 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:29:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:29:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:29:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:29:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:29:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:29:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:29:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:29:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:29:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:29:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:29:35 UTC] 📊 Database Info:
[21-Nov-2025 14:29:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:29:35 UTC]    Books columns count: 44
[21-Nov-2025 14:29:35 UTC]    Categories columns count: 7
[21-Nov-2025 14:29:35 UTC]    Language field in books: YES
[21-Nov-2025 14:29:35 UTC]    Format field in books: YES
[21-Nov-2025 14:29:35 UTC]    Description field in categories: YES
[21-Nov-2025 14:29:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:29:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:29:35 UTC]    Is_active field in books: YES
[21-Nov-2025 14:29:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:29:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:29:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:29:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:29:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:29:35 UTC] 📊 Database Info:
[21-Nov-2025 14:29:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:29:35 UTC]    Books columns count: 44
[21-Nov-2025 14:29:35 UTC]    Categories columns count: 7
[21-Nov-2025 14:29:35 UTC]    Language field in books: YES
[21-Nov-2025 14:29:35 UTC]    Format field in books: YES
[21-Nov-2025 14:29:35 UTC]    Description field in categories: YES
[21-Nov-2025 14:29:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:29:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:29:35 UTC]    Is_active field in books: YES
[21-Nov-2025 14:29:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:29:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:29:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:29:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:29:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:29:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:29:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:29:35 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:29:35 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:29:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:29:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:29:35 UTC] 📊 Database Info:
[21-Nov-2025 14:29:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:29:35 UTC]    Books columns count: 44
[21-Nov-2025 14:29:35 UTC]    Categories columns count: 7
[21-Nov-2025 14:29:35 UTC]    Language field in books: YES
[21-Nov-2025 14:29:35 UTC]    Format field in books: YES
[21-Nov-2025 14:29:35 UTC]    Description field in categories: YES
[21-Nov-2025 14:29:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:29:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:29:35 UTC]    Is_active field in books: YES
[21-Nov-2025 14:29:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:29:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:29:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:29:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:29:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:29:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:29:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:29:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:29:36 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:36 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:36 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:36 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:36 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:36 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:36 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:36 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:36 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:36 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:36 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:36 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:29:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:36 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:29:36 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:29:36 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:36 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:36 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:36 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:36 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:36 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:36 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:36 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:36 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:36 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:36 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:36 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:36 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:36 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:29:36 UTC] 📊 Database Info:
[21-Nov-2025 14:29:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:29:36 UTC]    Books columns count: 44
[21-Nov-2025 14:29:36 UTC]    Categories columns count: 7
[21-Nov-2025 14:29:36 UTC]    Language field in books: YES
[21-Nov-2025 14:29:36 UTC]    Format field in books: YES
[21-Nov-2025 14:29:36 UTC]    Description field in categories: YES
[21-Nov-2025 14:29:36 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:29:36 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:29:36 UTC]    Is_active field in books: YES
[21-Nov-2025 14:29:36 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:29:36 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:29:36 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:29:36 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:29:36 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:29:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:29:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:29:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:29:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:29:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:29:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:29:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:29:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:29:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:29:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:29:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:29:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:29:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:29:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 14:29:36 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 14:29:36 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 14:29:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:29:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:29:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:29:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:29:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:29:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:29:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:29:38 UTC] 📊 Database Info:
[21-Nov-2025 14:29:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:29:38 UTC]    Books columns count: 44
[21-Nov-2025 14:29:38 UTC]    Categories columns count: 7
[21-Nov-2025 14:29:38 UTC]    Language field in books: YES
[21-Nov-2025 14:29:38 UTC]    Format field in books: YES
[21-Nov-2025 14:29:38 UTC]    Description field in categories: YES
[21-Nov-2025 14:29:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:29:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:29:38 UTC]    Is_active field in books: YES
[21-Nov-2025 14:29:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:29:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:29:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:29:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:29:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:29:38 UTC] 📊 Database Info:
[21-Nov-2025 14:29:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:29:38 UTC]    Books columns count: 44
[21-Nov-2025 14:29:38 UTC]    Categories columns count: 7
[21-Nov-2025 14:29:38 UTC]    Language field in books: YES
[21-Nov-2025 14:29:38 UTC]    Format field in books: YES
[21-Nov-2025 14:29:38 UTC]    Description field in categories: YES
[21-Nov-2025 14:29:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:29:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:29:38 UTC]    Is_active field in books: YES
[21-Nov-2025 14:29:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:29:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:29:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:29:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:29:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:29:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:29:38 UTC] 📊 Database Info:
[21-Nov-2025 14:29:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:29:38 UTC]    Books columns count: 44
[21-Nov-2025 14:29:38 UTC]    Categories columns count: 7
[21-Nov-2025 14:29:38 UTC]    Language field in books: YES
[21-Nov-2025 14:29:38 UTC]    Format field in books: YES
[21-Nov-2025 14:29:38 UTC]    Description field in categories: YES
[21-Nov-2025 14:29:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:29:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:29:38 UTC]    Is_active field in books: YES
[21-Nov-2025 14:29:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:29:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:29:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:29:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:29:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:29:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:29:38 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 14:29:38 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 14:29:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:29:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:29:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:29:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:29:38 UTC] 📊 Database Info:
[21-Nov-2025 14:29:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:29:38 UTC]    Books columns count: 44
[21-Nov-2025 14:29:38 UTC]    Categories columns count: 7
[21-Nov-2025 14:29:38 UTC]    Language field in books: YES
[21-Nov-2025 14:29:38 UTC]    Format field in books: YES
[21-Nov-2025 14:29:38 UTC]    Description field in categories: YES
[21-Nov-2025 14:29:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:29:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:29:38 UTC]    Is_active field in books: YES
[21-Nov-2025 14:29:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:29:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:29:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:29:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:29:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:29:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:29:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:29:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:29:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:29:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:29:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:29:38 UTC] 📊 Database Info:
[21-Nov-2025 14:29:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:29:38 UTC]    Books columns count: 44
[21-Nov-2025 14:29:38 UTC]    Categories columns count: 7
[21-Nov-2025 14:29:38 UTC]    Language field in books: YES
[21-Nov-2025 14:29:38 UTC]    Format field in books: YES
[21-Nov-2025 14:29:38 UTC]    Description field in categories: YES
[21-Nov-2025 14:29:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:29:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:29:38 UTC]    Is_active field in books: YES
[21-Nov-2025 14:29:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:29:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:29:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:29:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:29:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:29:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:29:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:29:38 UTC] 📊 Database Info:
[21-Nov-2025 14:29:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:29:38 UTC]    Books columns count: 44
[21-Nov-2025 14:29:38 UTC]    Categories columns count: 7
[21-Nov-2025 14:29:38 UTC]    Language field in books: YES
[21-Nov-2025 14:29:38 UTC]    Format field in books: YES
[21-Nov-2025 14:29:38 UTC]    Description field in categories: YES
[21-Nov-2025 14:29:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:29:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:29:38 UTC]    Is_active field in books: YES
[21-Nov-2025 14:29:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:29:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:29:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:29:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:29:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:29:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:29:38 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 14:29:38 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 14:31:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:31:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:31:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:31:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:31:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:31:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:31:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:31:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:31:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:31:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:31:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:31:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:31:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:31:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:31:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:31:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:31:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:31:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:31:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:31:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:31:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:31:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:31:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:31:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:31:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:31:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:31:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:31:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:31:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:31:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:31:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:31:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:31:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:31:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:31:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:31:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:31:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:31:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:31:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:31:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:31:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:31:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:31:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:31:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:31:04 UTC] 📊 Database Info:
[21-Nov-2025 14:31:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:31:04 UTC]    Books columns count: 44
[21-Nov-2025 14:31:04 UTC]    Categories columns count: 7
[21-Nov-2025 14:31:04 UTC]    Language field in books: YES
[21-Nov-2025 14:31:04 UTC]    Format field in books: YES
[21-Nov-2025 14:31:04 UTC]    Description field in categories: YES
[21-Nov-2025 14:31:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:31:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:31:04 UTC]    Is_active field in books: YES
[21-Nov-2025 14:31:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:31:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:31:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:31:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:31:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:31:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:31:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:31:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:31:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:31:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:31:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:31:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:31:04 UTC] 📊 Database Info:
[21-Nov-2025 14:31:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:31:04 UTC]    Books columns count: 44
[21-Nov-2025 14:31:04 UTC]    Categories columns count: 7
[21-Nov-2025 14:31:04 UTC]    Language field in books: YES
[21-Nov-2025 14:31:04 UTC]    Format field in books: YES
[21-Nov-2025 14:31:04 UTC]    Description field in categories: YES
[21-Nov-2025 14:31:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:31:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:31:04 UTC]    Is_active field in books: YES
[21-Nov-2025 14:31:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:31:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:31:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:31:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:31:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:31:04 UTC] 📊 Database Info:
[21-Nov-2025 14:31:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:31:04 UTC]    Books columns count: 44
[21-Nov-2025 14:31:04 UTC]    Categories columns count: 7
[21-Nov-2025 14:31:04 UTC]    Language field in books: YES
[21-Nov-2025 14:31:04 UTC]    Format field in books: YES
[21-Nov-2025 14:31:04 UTC]    Description field in categories: YES
[21-Nov-2025 14:31:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:31:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:31:04 UTC]    Is_active field in books: YES
[21-Nov-2025 14:31:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:31:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:31:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:31:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:31:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:31:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:31:04 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:31:04 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 14:31:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:31:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:32:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:32:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:32:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:32:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:32:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:32:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:32:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:32:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:32:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:32:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:32:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:32:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:32:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:32:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:32:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:32:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:32:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:32:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:32:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:32:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:32:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:32:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:32:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:32:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:32:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:32:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:32:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:32:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:32:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:32:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:32:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:32:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:32:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:32:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:32:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:32:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:32:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:32:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:32:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:32:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:32:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:32:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:32:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:32:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:32:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:32:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:32:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:32:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:32:07 UTC] 📊 Database Info:
[21-Nov-2025 14:32:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:32:07 UTC]    Books columns count: 44
[21-Nov-2025 14:32:07 UTC]    Categories columns count: 7
[21-Nov-2025 14:32:07 UTC]    Language field in books: YES
[21-Nov-2025 14:32:07 UTC]    Format field in books: YES
[21-Nov-2025 14:32:07 UTC]    Description field in categories: YES
[21-Nov-2025 14:32:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:32:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:32:07 UTC]    Is_active field in books: YES
[21-Nov-2025 14:32:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:32:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:32:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:32:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:32:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:32:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:32:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:32:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:32:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:32:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:32:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:32:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:32:07 UTC] 📊 Database Info:
[21-Nov-2025 14:32:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:32:07 UTC]    Books columns count: 44
[21-Nov-2025 14:32:07 UTC]    Categories columns count: 7
[21-Nov-2025 14:32:07 UTC]    Language field in books: YES
[21-Nov-2025 14:32:07 UTC]    Format field in books: YES
[21-Nov-2025 14:32:07 UTC]    Description field in categories: YES
[21-Nov-2025 14:32:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:32:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:32:07 UTC]    Is_active field in books: YES
[21-Nov-2025 14:32:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:32:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:32:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:32:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:32:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:32:07 UTC] 📊 Database Info:
[21-Nov-2025 14:32:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:32:07 UTC]    Books columns count: 44
[21-Nov-2025 14:32:07 UTC]    Categories columns count: 7
[21-Nov-2025 14:32:07 UTC]    Language field in books: YES
[21-Nov-2025 14:32:07 UTC]    Format field in books: YES
[21-Nov-2025 14:32:07 UTC]    Description field in categories: YES
[21-Nov-2025 14:32:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:32:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:32:07 UTC]    Is_active field in books: YES
[21-Nov-2025 14:32:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:32:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:32:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:32:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:32:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:32:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:32:07 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:32:07 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:32:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:32:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:32:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:32:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:32:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:32:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:32:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:32:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:32:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:32:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:32:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:32:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:32:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:32:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:32:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:32:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:32:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:32:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:32:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:32:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:32:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:32:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:32:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:32:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:32:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:32:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:32:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:32:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:32:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:32:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:32:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:32:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:32:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:32:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:32:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:32:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:32:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:32:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:32:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:32:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:32:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:32:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:32:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:32:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:32:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:32:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:32:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:32:59 UTC] 📊 Database Info:
[21-Nov-2025 14:32:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:32:59 UTC]    Books columns count: 44
[21-Nov-2025 14:32:59 UTC]    Categories columns count: 7
[21-Nov-2025 14:32:59 UTC]    Language field in books: YES
[21-Nov-2025 14:32:59 UTC]    Format field in books: YES
[21-Nov-2025 14:32:59 UTC]    Description field in categories: YES
[21-Nov-2025 14:32:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:32:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:32:59 UTC]    Is_active field in books: YES
[21-Nov-2025 14:32:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:32:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:32:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:32:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:32:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:32:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:32:59 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 14:32:59 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 14:32:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:32:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:32:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:32:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:32:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:32:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:32:59 UTC] 📊 Database Info:
[21-Nov-2025 14:32:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:32:59 UTC]    Books columns count: 44
[21-Nov-2025 14:32:59 UTC]    Categories columns count: 7
[21-Nov-2025 14:32:59 UTC]    Language field in books: YES
[21-Nov-2025 14:32:59 UTC]    Format field in books: YES
[21-Nov-2025 14:32:59 UTC]    Description field in categories: YES
[21-Nov-2025 14:32:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:32:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:32:59 UTC]    Is_active field in books: YES
[21-Nov-2025 14:32:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:32:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:32:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:32:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:32:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:32:59 UTC] 📊 Database Info:
[21-Nov-2025 14:32:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:32:59 UTC]    Books columns count: 44
[21-Nov-2025 14:32:59 UTC]    Categories columns count: 7
[21-Nov-2025 14:32:59 UTC]    Language field in books: YES
[21-Nov-2025 14:32:59 UTC]    Format field in books: YES
[21-Nov-2025 14:32:59 UTC]    Description field in categories: YES
[21-Nov-2025 14:32:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:32:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:32:59 UTC]    Is_active field in books: YES
[21-Nov-2025 14:32:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:32:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:32:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:32:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:32:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:32:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:32:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:32:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:36:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:36:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:36:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:36:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:36:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:36:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:36:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:36:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:36:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:36:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:36:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:36:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:36:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:36:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:36:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:36:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:36:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:36:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:36:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:36:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:36:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:36:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:36:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:36:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:36:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:36:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:36:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:36:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:36:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:36:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:36:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:36:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:36:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:36:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:36:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:36:44 UTC] 📊 Database Info:
[21-Nov-2025 14:36:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:36:44 UTC]    Books columns count: 44
[21-Nov-2025 14:36:44 UTC]    Categories columns count: 7
[21-Nov-2025 14:36:44 UTC]    Language field in books: YES
[21-Nov-2025 14:36:44 UTC]    Format field in books: YES
[21-Nov-2025 14:36:44 UTC]    Description field in categories: YES
[21-Nov-2025 14:36:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:36:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:36:44 UTC]    Is_active field in books: YES
[21-Nov-2025 14:36:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:36:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:36:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:36:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:36:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:36:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:36:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:36:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:36:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:36:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:36:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:36:44 UTC] 📊 Database Info:
[21-Nov-2025 14:36:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:36:44 UTC]    Books columns count: 44
[21-Nov-2025 14:36:44 UTC]    Categories columns count: 7
[21-Nov-2025 14:36:44 UTC]    Language field in books: YES
[21-Nov-2025 14:36:44 UTC]    Format field in books: YES
[21-Nov-2025 14:36:44 UTC]    Description field in categories: YES
[21-Nov-2025 14:36:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:36:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:36:44 UTC]    Is_active field in books: YES
[21-Nov-2025 14:36:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:36:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:36:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:36:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:36:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:36:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:36:44 UTC] 📊 Database Info:
[21-Nov-2025 14:36:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:36:44 UTC]    Books columns count: 44
[21-Nov-2025 14:36:44 UTC]    Categories columns count: 7
[21-Nov-2025 14:36:44 UTC]    Language field in books: YES
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:36:44 UTC]    Format field in books: YES
[21-Nov-2025 14:36:44 UTC]    Description field in categories: YES
[21-Nov-2025 14:36:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:36:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:36:44 UTC]    Is_active field in books: YES
[21-Nov-2025 14:36:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:36:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:36:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:36:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:36:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:36:44 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 14:36:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:36:44 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:36:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:36:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:36:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:36:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:36:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 14:36:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:36:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:36:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:36:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:36:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:36:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:36:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:36:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:36:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:36:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:36:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:36:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:36:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:36:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:36:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:36:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 14:36:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:36:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:36:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:36:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 14:36:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:36:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:36:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 14:36:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 14:36:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:36:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 14:36:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:36:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:36:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:36:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:36:44 UTC] 📊 Database Info:
[21-Nov-2025 14:36:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:36:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 14:36:44 UTC]    Books columns count: 44
[21-Nov-2025 14:36:44 UTC]    Categories columns count: 7
[21-Nov-2025 14:36:44 UTC]    Language field in books: YES
[21-Nov-2025 14:36:44 UTC]    Format field in books: YES
[21-Nov-2025 14:36:44 UTC]    Description field in categories: YES
[21-Nov-2025 14:36:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:36:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:36:44 UTC]    Is_active field in books: YES
[21-Nov-2025 14:36:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:36:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:36:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:36:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:36:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:36:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 14:36:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:36:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:36:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:36:44 UTC] 📊 Database Info:
[21-Nov-2025 14:36:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:36:44 UTC]    Books columns count: 44
[21-Nov-2025 14:36:44 UTC]    Categories columns count: 7
[21-Nov-2025 14:36:44 UTC]    Language field in books: YES
[21-Nov-2025 14:36:44 UTC]    Format field in books: YES
[21-Nov-2025 14:36:44 UTC]    Description field in categories: YES
[21-Nov-2025 14:36:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:36:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:36:44 UTC]    Is_active field in books: YES
[21-Nov-2025 14:36:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:36:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:36:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:36:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:36:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:36:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:36:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 14:36:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 14:36:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 14:36:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 14:36:44 UTC] 📊 Database Info:
[21-Nov-2025 14:36:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 14:36:44 UTC]    Books columns count: 44
[21-Nov-2025 14:36:44 UTC]    Categories columns count: 7
[21-Nov-2025 14:36:44 UTC]    Language field in books: YES
[21-Nov-2025 14:36:44 UTC]    Format field in books: YES
[21-Nov-2025 14:36:44 UTC]    Description field in categories: YES
[21-Nov-2025 14:36:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 14:36:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 14:36:44 UTC]    Is_active field in books: YES
[21-Nov-2025 14:36:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 14:36:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 14:36:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 14:36:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 14:36:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 14:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 14:36:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 14:36:44 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 14:36:44 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 15:39:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 15:39:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:39:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:39:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:39:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:39:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:39:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:39:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:39:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 15:39:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:39:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 15:39:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:39:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:39:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:39:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:39:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:39:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:39:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:39:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:39:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:39:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:39:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:39:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:39:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:39:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:39:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:40:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:40:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:40:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 15:40:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:40:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:40:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 15:40:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 15:40:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:40:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:40:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:40:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:40:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:40:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:40:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 15:40:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:40:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:40:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:40:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:40:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:40:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:40:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:40:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:40:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 15:40:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 15:40:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:40:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:40:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:40:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:40:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:40:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:40:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 15:40:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:40:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:40:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 15:40:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 15:40:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:40:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:40:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:40:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:40:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:40:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:40:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:40:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 15:40:00 UTC] 📊 Database Info:
[21-Nov-2025 15:40:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 15:40:00 UTC]    Books columns count: 44
[21-Nov-2025 15:40:00 UTC]    Categories columns count: 7
[21-Nov-2025 15:40:00 UTC]    Language field in books: YES
[21-Nov-2025 15:40:00 UTC]    Format field in books: YES
[21-Nov-2025 15:40:00 UTC]    Description field in categories: YES
[21-Nov-2025 15:40:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 15:40:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 15:40:00 UTC]    Is_active field in books: YES
[21-Nov-2025 15:40:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 15:40:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 15:40:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 15:40:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 15:40:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 15:40:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 15:40:00 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 15:40:00 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 15:40:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:40:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:40:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 15:40:00 UTC] 📊 Database Info:
[21-Nov-2025 15:40:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 15:40:00 UTC]    Books columns count: 44
[21-Nov-2025 15:40:00 UTC]    Categories columns count: 7
[21-Nov-2025 15:40:00 UTC]    Language field in books: YES
[21-Nov-2025 15:40:00 UTC]    Format field in books: YES
[21-Nov-2025 15:40:00 UTC]    Description field in categories: YES
[21-Nov-2025 15:40:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 15:40:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 15:40:00 UTC]    Is_active field in books: YES
[21-Nov-2025 15:40:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 15:40:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 15:40:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 15:40:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 15:40:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 15:40:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 15:40:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:40:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:40:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:40:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 15:40:00 UTC] 📊 Database Info:
[21-Nov-2025 15:40:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 15:40:00 UTC]    Books columns count: 44
[21-Nov-2025 15:40:00 UTC]    Categories columns count: 7
[21-Nov-2025 15:40:00 UTC]    Language field in books: YES
[21-Nov-2025 15:40:00 UTC]    Format field in books: YES
[21-Nov-2025 15:40:00 UTC]    Description field in categories: YES
[21-Nov-2025 15:40:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 15:40:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 15:40:00 UTC]    Is_active field in books: YES
[21-Nov-2025 15:40:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 15:40:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 15:40:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 15:40:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 15:40:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 15:40:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 15:40:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 15:40:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 15:40:00 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 15:40:00 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 15:40:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 15:40:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 15:40:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:40:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 15:40:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:40:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:40:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:40:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:40:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:40:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:40:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:40:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:40:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:40:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 15:40:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:40:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:40:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 15:40:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 15:40:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:40:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:40:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:40:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:40:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:40:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:40:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:40:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:40:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 15:40:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:40:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:40:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:40:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 15:40:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 15:40:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 15:40:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 15:40:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:40:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:40:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:40:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:40:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:40:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:40:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:40:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:40:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:40:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:40:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 15:40:19 UTC] 📊 Database Info:
[21-Nov-2025 15:40:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 15:40:19 UTC]    Books columns count: 44
[21-Nov-2025 15:40:19 UTC]    Categories columns count: 7
[21-Nov-2025 15:40:19 UTC]    Language field in books: YES
[21-Nov-2025 15:40:19 UTC]    Format field in books: YES
[21-Nov-2025 15:40:19 UTC]    Description field in categories: YES
[21-Nov-2025 15:40:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 15:40:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 15:40:19 UTC]    Is_active field in books: YES
[21-Nov-2025 15:40:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 15:40:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 15:40:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 15:40:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 15:40:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 15:40:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 15:40:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 15:40:19 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 15:40:19 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 15:40:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:40:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:40:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:40:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:40:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:40:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 15:40:19 UTC] 📊 Database Info:
[21-Nov-2025 15:40:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 15:40:19 UTC]    Books columns count: 44
[21-Nov-2025 15:40:19 UTC]    Categories columns count: 7
[21-Nov-2025 15:40:19 UTC]    Language field in books: YES
[21-Nov-2025 15:40:19 UTC]    Format field in books: YES
[21-Nov-2025 15:40:19 UTC]    Description field in categories: YES
[21-Nov-2025 15:40:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 15:40:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 15:40:19 UTC]    Is_active field in books: YES
[21-Nov-2025 15:40:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 15:40:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 15:40:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 15:40:19 UTC] 📊 Database Info:
[21-Nov-2025 15:40:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 15:40:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 15:40:19 UTC]    Books columns count: 44
[21-Nov-2025 15:40:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 15:40:19 UTC]    Categories columns count: 7
[21-Nov-2025 15:40:19 UTC]    Language field in books: YES
[21-Nov-2025 15:40:19 UTC]    Format field in books: YES
[21-Nov-2025 15:40:19 UTC]    Description field in categories: YES
[21-Nov-2025 15:40:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 15:40:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 15:40:19 UTC]    Is_active field in books: YES
[21-Nov-2025 15:40:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 15:40:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 15:40:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 15:40:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 15:40:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 15:40:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 15:40:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 15:40:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 15:40:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 15:40:19 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 15:40:19 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 15:40:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 15:40:33 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:40:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:40:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 15:40:33 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:40:33 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:40:33 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:40:33 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:40:33 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:40:33 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:40:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:40:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:40:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 15:40:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:40:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:40:33 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 15:40:33 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 15:40:33 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:40:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:40:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:40:33 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:40:33 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:40:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:40:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 15:40:33 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:40:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:40:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:40:33 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:40:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:40:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:40:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:40:33 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:40:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:40:33 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:40:33 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 15:40:33 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 15:40:33 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:40:33 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 15:40:33 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:40:33 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:40:33 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:40:33 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:40:33 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:40:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:40:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:40:33 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 15:40:33 UTC] 📊 Database Info:
[21-Nov-2025 15:40:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 15:40:33 UTC]    Books columns count: 44
[21-Nov-2025 15:40:33 UTC]    Categories columns count: 7
[21-Nov-2025 15:40:33 UTC]    Language field in books: YES
[21-Nov-2025 15:40:33 UTC]    Format field in books: YES
[21-Nov-2025 15:40:33 UTC]    Description field in categories: YES
[21-Nov-2025 15:40:33 UTC]    Display_order field in categories: YES
[21-Nov-2025 15:40:33 UTC]    Is_active field in categories: YES
[21-Nov-2025 15:40:33 UTC]    Is_active field in books: YES
[21-Nov-2025 15:40:33 UTC]    External_download_link field in books: YES
[21-Nov-2025 15:40:33 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 15:40:33 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 15:40:33 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 15:40:33 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 15:40:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 15:40:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 15:40:33 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 15:40:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:40:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:40:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:40:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:40:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:40:33 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 15:40:33 UTC] 📊 Database Info:
[21-Nov-2025 15:40:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 15:40:33 UTC]    Books columns count: 44
[21-Nov-2025 15:40:33 UTC]    Categories columns count: 7
[21-Nov-2025 15:40:33 UTC]    Language field in books: YES
[21-Nov-2025 15:40:33 UTC]    Format field in books: YES
[21-Nov-2025 15:40:33 UTC]    Description field in categories: YES
[21-Nov-2025 15:40:33 UTC]    Display_order field in categories: YES
[21-Nov-2025 15:40:33 UTC]    Is_active field in categories: YES
[21-Nov-2025 15:40:33 UTC]    Is_active field in books: YES
[21-Nov-2025 15:40:33 UTC]    External_download_link field in books: YES
[21-Nov-2025 15:40:33 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 15:40:33 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 15:40:33 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 15:40:33 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 15:40:33 UTC] 📊 Database Info:
[21-Nov-2025 15:40:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 15:40:33 UTC]    Books columns count: 44
[21-Nov-2025 15:40:33 UTC]    Categories columns count: 7
[21-Nov-2025 15:40:33 UTC]    Language field in books: YES
[21-Nov-2025 15:40:33 UTC]    Format field in books: YES
[21-Nov-2025 15:40:33 UTC]    Description field in categories: YES
[21-Nov-2025 15:40:33 UTC]    Display_order field in categories: YES
[21-Nov-2025 15:40:33 UTC]    Is_active field in categories: YES
[21-Nov-2025 15:40:33 UTC]    Is_active field in books: YES
[21-Nov-2025 15:40:33 UTC]    External_download_link field in books: YES
[21-Nov-2025 15:40:33 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 15:40:33 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 15:40:33 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 15:40:33 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 15:40:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 15:40:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 15:40:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 15:40:33 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 15:40:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 15:59:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 15:59:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 15:59:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:59:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 15:59:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:59:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:59:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:59:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:59:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:59:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:59:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:59:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:59:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:59:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:59:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:59:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:59:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:59:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:59:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:59:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:59:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:59:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:59:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:59:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:59:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:59:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:59:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:59:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:59:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:59:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:59:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:59:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 15:59:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:59:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:59:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 15:59:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 15:59:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:59:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:59:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:59:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:59:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:59:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:59:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:59:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:59:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:59:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 15:59:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:59:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:59:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:59:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 15:59:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 15:59:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:59:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 15:59:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:59:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:59:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:59:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 15:59:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:59:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:59:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:59:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:59:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 15:59:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 15:59:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:59:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:59:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 15:59:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 15:59:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 15:59:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 15:59:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 15:59:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:59:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:59:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 15:59:05 UTC] 📊 Database Info:
[21-Nov-2025 15:59:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 15:59:05 UTC]    Books columns count: 44
[21-Nov-2025 15:59:05 UTC]    Categories columns count: 7
[21-Nov-2025 15:59:05 UTC]    Language field in books: YES
[21-Nov-2025 15:59:05 UTC]    Format field in books: YES
[21-Nov-2025 15:59:05 UTC]    Description field in categories: YES
[21-Nov-2025 15:59:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 15:59:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 15:59:05 UTC]    Is_active field in books: YES
[21-Nov-2025 15:59:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 15:59:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 15:59:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 15:59:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 15:59:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 15:59:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 15:59:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:59:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:59:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 15:59:05 UTC] 📊 Database Info:
[21-Nov-2025 15:59:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 15:59:05 UTC]    Books columns count: 44
[21-Nov-2025 15:59:05 UTC]    Categories columns count: 7
[21-Nov-2025 15:59:05 UTC]    Language field in books: YES
[21-Nov-2025 15:59:05 UTC]    Format field in books: YES
[21-Nov-2025 15:59:05 UTC]    Description field in categories: YES
[21-Nov-2025 15:59:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 15:59:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 15:59:05 UTC]    Is_active field in books: YES
[21-Nov-2025 15:59:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 15:59:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 15:59:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 15:59:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 15:59:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 15:59:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 15:59:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 15:59:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 15:59:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 15:59:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 15:59:05 UTC] 📊 Database Info:
[21-Nov-2025 15:59:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 15:59:05 UTC]    Books columns count: 44
[21-Nov-2025 15:59:05 UTC]    Categories columns count: 7
[21-Nov-2025 15:59:05 UTC]    Language field in books: YES
[21-Nov-2025 15:59:05 UTC]    Format field in books: YES
[21-Nov-2025 15:59:05 UTC]    Description field in categories: YES
[21-Nov-2025 15:59:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 15:59:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 15:59:05 UTC]    Is_active field in books: YES
[21-Nov-2025 15:59:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 15:59:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 15:59:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 15:59:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 15:59:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 15:59:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 15:59:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 15:59:05 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 15:59:05 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:00:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:00:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:00:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:00:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:00:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:00:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:00:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:00:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:00:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:00:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:00:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:00:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:00:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:00:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:00:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:00:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:00:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:00:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:00:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:00:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:00:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:00:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:00:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:00:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:00:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:00:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:00:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:00:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:00:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:00:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:00:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:00:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:00:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:00:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:00:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:00:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:00:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:00:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:00:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:00:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:00:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:00:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:00:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:00:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:00:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:00:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:00:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:00:28 UTC] 📊 Database Info:
[21-Nov-2025 16:00:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:00:28 UTC]    Books columns count: 44
[21-Nov-2025 16:00:28 UTC]    Categories columns count: 7
[21-Nov-2025 16:00:28 UTC]    Language field in books: YES
[21-Nov-2025 16:00:28 UTC]    Format field in books: YES
[21-Nov-2025 16:00:28 UTC]    Description field in categories: YES
[21-Nov-2025 16:00:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:00:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:00:28 UTC]    Is_active field in books: YES
[21-Nov-2025 16:00:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:00:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:00:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:00:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:00:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:00:28 UTC] 📊 Database Info:
[21-Nov-2025 16:00:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:00:28 UTC]    Books columns count: 44
[21-Nov-2025 16:00:28 UTC]    Categories columns count: 7
[21-Nov-2025 16:00:28 UTC]    Language field in books: YES
[21-Nov-2025 16:00:28 UTC]    Format field in books: YES
[21-Nov-2025 16:00:28 UTC]    Description field in categories: YES
[21-Nov-2025 16:00:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:00:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:00:28 UTC]    Is_active field in books: YES
[21-Nov-2025 16:00:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:00:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:00:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:00:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:00:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:00:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:00:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:00:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:00:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:00:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:00:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:00:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:00:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:00:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:00:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:00:29 UTC] 📊 Database Info:
[21-Nov-2025 16:00:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:00:29 UTC]    Books columns count: 44
[21-Nov-2025 16:00:29 UTC]    Categories columns count: 7
[21-Nov-2025 16:00:29 UTC]    Language field in books: YES
[21-Nov-2025 16:00:29 UTC]    Format field in books: YES
[21-Nov-2025 16:00:29 UTC]    Description field in categories: YES
[21-Nov-2025 16:00:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:00:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:00:29 UTC]    Is_active field in books: YES
[21-Nov-2025 16:00:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:00:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:00:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:00:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:00:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:00:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:00:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:00:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:00:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:00:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:00:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:00:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:00:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:00:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:00:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:00:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:00:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:00:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:00:29 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:00:29 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:01:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:01:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:01:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:01:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:01:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:01:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:01:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:01:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:01:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:01:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:01:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:01:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:01:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:01:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:01:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:01:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:01:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:01:18 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:01:18 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:01:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:01:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:01:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:01:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:01:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:01:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:01:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:01:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:01:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:01:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:01:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:01:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:01:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:01:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:01:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:01:18 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:01:18 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:01:18 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:01:18 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:01:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:01:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:01:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:01:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:01:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:01:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:01:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:01:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:01:18 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:01:18 UTC] 📊 Database Info:
[21-Nov-2025 16:01:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:01:18 UTC]    Books columns count: 44
[21-Nov-2025 16:01:18 UTC]    Categories columns count: 7
[21-Nov-2025 16:01:18 UTC]    Language field in books: YES
[21-Nov-2025 16:01:18 UTC]    Format field in books: YES
[21-Nov-2025 16:01:18 UTC]    Description field in categories: YES
[21-Nov-2025 16:01:18 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:01:18 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:01:18 UTC]    Is_active field in books: YES
[21-Nov-2025 16:01:18 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:01:18 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:01:18 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:01:18 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:01:18 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:01:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:01:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:01:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:01:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:01:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:01:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:01:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:01:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:01:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:01:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:01:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:01:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:01:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:01:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:01:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:01:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:01:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:01:19 UTC] 📊 Database Info:
[21-Nov-2025 16:01:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:01:19 UTC]    Books columns count: 44
[21-Nov-2025 16:01:19 UTC]    Categories columns count: 7
[21-Nov-2025 16:01:19 UTC]    Language field in books: YES
[21-Nov-2025 16:01:19 UTC]    Format field in books: YES
[21-Nov-2025 16:01:19 UTC]    Description field in categories: YES
[21-Nov-2025 16:01:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:01:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:01:19 UTC]    Is_active field in books: YES
[21-Nov-2025 16:01:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:01:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:01:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:01:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:01:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:01:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:01:19 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:01:19 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:01:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:01:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:01:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:01:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:01:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:01:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:01:19 UTC] 📊 Database Info:
[21-Nov-2025 16:01:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:01:19 UTC]    Books columns count: 44
[21-Nov-2025 16:01:19 UTC]    Categories columns count: 7
[21-Nov-2025 16:01:19 UTC]    Language field in books: YES
[21-Nov-2025 16:01:19 UTC]    Format field in books: YES
[21-Nov-2025 16:01:19 UTC]    Description field in categories: YES
[21-Nov-2025 16:01:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:01:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:01:19 UTC]    Is_active field in books: YES
[21-Nov-2025 16:01:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:01:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:01:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:01:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:01:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:01:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:01:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:02:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:02:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:02:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:02:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:02:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:02:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:02:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:02:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:02:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:02:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:02:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:02:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:02:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:02:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:02:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:02:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:02:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:02:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:02:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:02:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:02:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:02:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:02:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:02:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:02:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:02:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:02:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:02:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:02:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:02:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:02:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:02:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:02:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:02:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:02:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:02:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:02:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:02:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:02:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:02:07 UTC] 📊 Database Info:
[21-Nov-2025 16:02:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:02:07 UTC]    Books columns count: 44
[21-Nov-2025 16:02:07 UTC]    Categories columns count: 7
[21-Nov-2025 16:02:07 UTC]    Language field in books: YES
[21-Nov-2025 16:02:07 UTC]    Format field in books: YES
[21-Nov-2025 16:02:07 UTC]    Description field in categories: YES
[21-Nov-2025 16:02:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:02:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:02:07 UTC]    Is_active field in books: YES
[21-Nov-2025 16:02:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:02:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:02:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:02:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:02:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:02:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:02:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:02:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:02:07 UTC] 📊 Database Info:
[21-Nov-2025 16:02:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:02:07 UTC]    Books columns count: 44
[21-Nov-2025 16:02:07 UTC]    Categories columns count: 7
[21-Nov-2025 16:02:07 UTC]    Language field in books: YES
[21-Nov-2025 16:02:07 UTC]    Format field in books: YES
[21-Nov-2025 16:02:07 UTC]    Description field in categories: YES
[21-Nov-2025 16:02:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:02:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:02:07 UTC]    Is_active field in books: YES
[21-Nov-2025 16:02:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:02:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:02:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:02:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:02:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:02:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:02:07 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:02:07 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:02:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:02:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:02:07 UTC] 📊 Database Info:
[21-Nov-2025 16:02:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:02:07 UTC]    Books columns count: 44
[21-Nov-2025 16:02:07 UTC]    Categories columns count: 7
[21-Nov-2025 16:02:07 UTC]    Language field in books: YES
[21-Nov-2025 16:02:07 UTC]    Format field in books: YES
[21-Nov-2025 16:02:07 UTC]    Description field in categories: YES
[21-Nov-2025 16:02:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:02:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:02:07 UTC]    Is_active field in books: YES
[21-Nov-2025 16:02:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:02:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:02:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:02:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:02:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:02:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:03:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:03:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:03:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:03:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:03:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:03:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:03:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:03:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:03:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:03:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:03:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:03:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:03:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:03:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:03:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:03:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:03:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:03:02 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:03:02 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:03:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:03:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:03:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:03:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:03:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:03:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:03:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:03:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:03:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:03:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:03:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:03:02 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:03:02 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:03:02 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:03:02 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:03:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:03:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:03:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:03:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:03:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:03:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:03:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:03:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:03:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:03:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:03:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:03:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:03:02 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:03:02 UTC] 📊 Database Info:
[21-Nov-2025 16:03:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:03:02 UTC]    Books columns count: 44
[21-Nov-2025 16:03:02 UTC]    Categories columns count: 7
[21-Nov-2025 16:03:02 UTC]    Language field in books: YES
[21-Nov-2025 16:03:02 UTC]    Format field in books: YES
[21-Nov-2025 16:03:02 UTC]    Description field in categories: YES
[21-Nov-2025 16:03:02 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:03:02 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:03:02 UTC]    Is_active field in books: YES
[21-Nov-2025 16:03:02 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:03:02 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:03:02 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:03:02 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:03:02 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:03:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:03:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:03:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:03:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:03:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:03:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:03:02 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:03:02 UTC] 📊 Database Info:
[21-Nov-2025 16:03:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:03:02 UTC]    Books columns count: 44
[21-Nov-2025 16:03:02 UTC]    Categories columns count: 7
[21-Nov-2025 16:03:02 UTC]    Language field in books: YES
[21-Nov-2025 16:03:02 UTC]    Format field in books: YES
[21-Nov-2025 16:03:02 UTC]    Description field in categories: YES
[21-Nov-2025 16:03:02 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:03:02 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:03:02 UTC]    Is_active field in books: YES
[21-Nov-2025 16:03:02 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:03:02 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:03:02 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:03:02 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:03:02 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:03:02 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:03:02 UTC] 📊 Database Info:
[21-Nov-2025 16:03:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:03:02 UTC]    Books columns count: 44
[21-Nov-2025 16:03:02 UTC]    Categories columns count: 7
[21-Nov-2025 16:03:02 UTC]    Language field in books: YES
[21-Nov-2025 16:03:02 UTC]    Format field in books: YES
[21-Nov-2025 16:03:02 UTC]    Description field in categories: YES
[21-Nov-2025 16:03:02 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:03:02 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:03:02 UTC]    Is_active field in books: YES
[21-Nov-2025 16:03:02 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:03:02 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:03:02 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:03:02 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:03:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:03:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:03:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:03:02 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:03:02 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:03:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:03:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:03:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:03:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:03:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:03:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:03:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:03:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:03:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:03:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:03:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:03:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:03:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:03:46 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:03:46 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:03:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:03:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:03:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:03:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:03:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:03:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:03:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:03:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:03:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:03:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:03:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:03:46 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:03:46 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:03:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:03:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:03:46 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:03:46 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:03:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:03:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:03:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:03:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:03:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:03:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:03:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:03:46 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:03:46 UTC] 📊 Database Info:
[21-Nov-2025 16:03:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:03:46 UTC]    Books columns count: 44
[21-Nov-2025 16:03:46 UTC]    Categories columns count: 7
[21-Nov-2025 16:03:46 UTC]    Language field in books: YES
[21-Nov-2025 16:03:46 UTC]    Format field in books: YES
[21-Nov-2025 16:03:46 UTC]    Description field in categories: YES
[21-Nov-2025 16:03:46 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:03:46 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:03:46 UTC]    Is_active field in books: YES
[21-Nov-2025 16:03:46 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:03:46 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:03:46 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:03:46 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:03:46 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:03:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:03:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:03:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:03:46 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:03:46 UTC] 📊 Database Info:
[21-Nov-2025 16:03:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:03:46 UTC]    Books columns count: 44
[21-Nov-2025 16:03:46 UTC]    Categories columns count: 7
[21-Nov-2025 16:03:46 UTC]    Language field in books: YES
[21-Nov-2025 16:03:46 UTC]    Format field in books: YES
[21-Nov-2025 16:03:46 UTC]    Description field in categories: YES
[21-Nov-2025 16:03:46 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:03:46 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:03:46 UTC]    Is_active field in books: YES
[21-Nov-2025 16:03:46 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:03:46 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:03:46 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:03:46 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:03:46 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:03:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:03:46 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:03:46 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:03:46 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:03:46 UTC] 📊 Database Info:
[21-Nov-2025 16:03:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:03:46 UTC]    Books columns count: 44
[21-Nov-2025 16:03:46 UTC]    Categories columns count: 7
[21-Nov-2025 16:03:46 UTC]    Language field in books: YES
[21-Nov-2025 16:03:46 UTC]    Format field in books: YES
[21-Nov-2025 16:03:46 UTC]    Description field in categories: YES
[21-Nov-2025 16:03:46 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:03:46 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:03:46 UTC]    Is_active field in books: YES
[21-Nov-2025 16:03:46 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:03:46 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:03:46 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:03:46 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:03:46 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:03:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:10:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:10:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:10:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:10:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:10:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:10:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:10:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:10:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:10:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:10:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:10:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:10:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:10:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:10:27 UTC] 📊 Database Info:
[21-Nov-2025 16:10:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:10:27 UTC]    Books columns count: 44
[21-Nov-2025 16:10:27 UTC]    Categories columns count: 7
[21-Nov-2025 16:10:27 UTC]    Language field in books: YES
[21-Nov-2025 16:10:27 UTC]    Format field in books: YES
[21-Nov-2025 16:10:27 UTC]    Description field in categories: YES
[21-Nov-2025 16:10:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:10:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:10:27 UTC]    Is_active field in books: YES
[21-Nov-2025 16:10:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:10:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:10:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:10:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:10:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:10:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:10:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:10:27 UTC] 📊 Database Info:
[21-Nov-2025 16:10:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:10:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:10:27 UTC]    Books columns count: 44
[21-Nov-2025 16:10:27 UTC] 📊 Database Info:
[21-Nov-2025 16:10:27 UTC]    Categories columns count: 7
[21-Nov-2025 16:10:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:10:27 UTC]    Books columns count: 44
[21-Nov-2025 16:10:27 UTC]    Language field in books: YES
[21-Nov-2025 16:10:27 UTC]    Categories columns count: 7
[21-Nov-2025 16:10:27 UTC]    Format field in books: YES
[21-Nov-2025 16:10:27 UTC]    Description field in categories: YES
[21-Nov-2025 16:10:27 UTC]    Language field in books: YES
[21-Nov-2025 16:10:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:10:27 UTC]    Format field in books: YES
[21-Nov-2025 16:10:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:10:27 UTC]    Description field in categories: YES
[21-Nov-2025 16:10:27 UTC]    Is_active field in books: YES
[21-Nov-2025 16:10:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:10:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:10:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:10:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:10:27 UTC]    Is_active field in books: YES
[21-Nov-2025 16:10:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:10:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:10:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:10:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:10:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:10:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:10:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:10:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:10:27 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:10:27 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:10:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:10:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:10:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:10:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:10:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:10:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:10:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:10:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:10:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:10:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:10:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:10:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:30 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:10:30 UTC] 📊 Database Info:
[21-Nov-2025 16:10:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:10:30 UTC]    Books columns count: 44
[21-Nov-2025 16:10:30 UTC]    Categories columns count: 7
[21-Nov-2025 16:10:30 UTC]    Language field in books: YES
[21-Nov-2025 16:10:30 UTC]    Format field in books: YES
[21-Nov-2025 16:10:30 UTC]    Description field in categories: YES
[21-Nov-2025 16:10:30 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:10:30 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:10:30 UTC]    Is_active field in books: YES
[21-Nov-2025 16:10:30 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:10:30 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:10:30 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:10:30 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:10:30 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:10:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:10:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:30 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:10:30 UTC] 📊 Database Info:
[21-Nov-2025 16:10:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:10:30 UTC]    Books columns count: 44
[21-Nov-2025 16:10:30 UTC]    Categories columns count: 7
[21-Nov-2025 16:10:30 UTC]    Language field in books: YES
[21-Nov-2025 16:10:30 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:10:30 UTC]    Format field in books: YES
[21-Nov-2025 16:10:30 UTC] 📊 Database Info:
[21-Nov-2025 16:10:30 UTC]    Description field in categories: YES
[21-Nov-2025 16:10:30 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:10:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:10:30 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:10:30 UTC]    Books columns count: 44
[21-Nov-2025 16:10:30 UTC]    Is_active field in books: YES
[21-Nov-2025 16:10:30 UTC]    Categories columns count: 7
[21-Nov-2025 16:10:30 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:10:30 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:10:30 UTC]    Language field in books: YES
[21-Nov-2025 16:10:30 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:10:30 UTC]    Format field in books: YES
[21-Nov-2025 16:10:30 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:10:30 UTC]    Description field in categories: YES
[21-Nov-2025 16:10:30 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:10:30 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:10:30 UTC]    Is_active field in books: YES
[21-Nov-2025 16:10:30 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:10:30 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:10:30 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:10:30 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:10:30 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:10:30 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:10:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:10:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:10:30 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:10:30 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:10:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:10:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:10:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:10:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:10:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:10:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:10:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:10:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:10:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:30 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:30 UTC] 📊 Database Info:
[21-Nov-2025 16:10:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:10:30 UTC]    Books columns count: 44
[21-Nov-2025 16:10:30 UTC]    Categories columns count: 7
[21-Nov-2025 16:10:30 UTC]    Language field in books: YES
[21-Nov-2025 16:10:30 UTC]    Format field in books: YES
[21-Nov-2025 16:10:30 UTC]    Description field in categories: YES
[21-Nov-2025 16:10:30 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:10:30 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:10:30 UTC]    Is_active field in books: YES
[21-Nov-2025 16:10:30 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:10:30 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:10:30 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:10:30 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:10:30 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:10:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:10:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:30 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:10:30 UTC] 📊 Database Info:
[21-Nov-2025 16:10:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:10:30 UTC]    Books columns count: 44
[21-Nov-2025 16:10:30 UTC]    Categories columns count: 7
[21-Nov-2025 16:10:30 UTC]    Language field in books: YES
[21-Nov-2025 16:10:30 UTC]    Format field in books: YES
[21-Nov-2025 16:10:30 UTC]    Description field in categories: YES
[21-Nov-2025 16:10:30 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:10:30 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:10:30 UTC]    Is_active field in books: YES
[21-Nov-2025 16:10:30 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:10:30 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:10:30 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:10:30 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:10:30 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:10:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:10:30 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:10:30 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:10:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:30 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:10:30 UTC] 📊 Database Info:
[21-Nov-2025 16:10:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:10:30 UTC]    Books columns count: 44
[21-Nov-2025 16:10:30 UTC]    Categories columns count: 7
[21-Nov-2025 16:10:30 UTC]    Language field in books: YES
[21-Nov-2025 16:10:30 UTC]    Format field in books: YES
[21-Nov-2025 16:10:30 UTC]    Description field in categories: YES
[21-Nov-2025 16:10:30 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:10:30 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:10:30 UTC]    Is_active field in books: YES
[21-Nov-2025 16:10:30 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:10:30 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:10:30 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:10:30 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:10:30 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:10:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:10:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:10:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:10:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:10:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:10:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:10:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:10:31 UTC] 📊 Database Info:
[21-Nov-2025 16:10:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:10:31 UTC]    Books columns count: 44
[21-Nov-2025 16:10:31 UTC]    Categories columns count: 7
[21-Nov-2025 16:10:31 UTC]    Language field in books: YES
[21-Nov-2025 16:10:31 UTC]    Format field in books: YES
[21-Nov-2025 16:10:31 UTC]    Description field in categories: YES
[21-Nov-2025 16:10:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:10:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:10:31 UTC]    Is_active field in books: YES
[21-Nov-2025 16:10:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:10:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:10:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:10:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:10:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:10:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:10:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:10:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:31 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:10:31 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:10:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:10:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:10:31 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:10:31 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:10:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:10:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:10:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:10:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:10:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:10:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:10:31 UTC] 📊 Database Info:
[21-Nov-2025 16:10:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:10:31 UTC]    Books columns count: 44
[21-Nov-2025 16:10:31 UTC]    Categories columns count: 7
[21-Nov-2025 16:10:31 UTC]    Language field in books: YES
[21-Nov-2025 16:10:31 UTC]    Format field in books: YES
[21-Nov-2025 16:10:31 UTC]    Description field in categories: YES
[21-Nov-2025 16:10:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:10:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:10:31 UTC]    Is_active field in books: YES
[21-Nov-2025 16:10:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:10:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:10:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:10:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:10:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:10:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:10:31 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:10:31 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:10:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:10:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:10:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:10:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:10:31 UTC] 📊 Database Info:
[21-Nov-2025 16:10:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:10:31 UTC]    Books columns count: 44
[21-Nov-2025 16:10:31 UTC]    Categories columns count: 7
[21-Nov-2025 16:10:31 UTC]    Language field in books: YES
[21-Nov-2025 16:10:31 UTC]    Format field in books: YES
[21-Nov-2025 16:10:31 UTC]    Description field in categories: YES
[21-Nov-2025 16:10:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:10:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:10:31 UTC]    Is_active field in books: YES
[21-Nov-2025 16:10:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:10:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:10:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:10:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:10:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:10:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:10:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:13:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:13:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:13:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:13:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:13:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:13:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:13:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:13:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:13:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:13:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:13:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:13:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:13:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:13:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:13:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:13:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:13:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:13:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:13:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:13:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:13:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:13:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:13:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:13:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:13:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:13:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:13:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:13:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:13:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:13:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:13:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:13:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:13:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:13:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:13:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:13:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:13:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:13:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:13:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:13:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:13:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:13:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:13:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:13:04 UTC] 📊 Database Info:
[21-Nov-2025 16:13:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:13:04 UTC]    Books columns count: 44
[21-Nov-2025 16:13:04 UTC]    Categories columns count: 7
[21-Nov-2025 16:13:04 UTC]    Language field in books: YES
[21-Nov-2025 16:13:04 UTC]    Format field in books: YES
[21-Nov-2025 16:13:04 UTC]    Description field in categories: YES
[21-Nov-2025 16:13:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:13:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:13:04 UTC]    Is_active field in books: YES
[21-Nov-2025 16:13:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:13:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:13:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:13:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:13:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:13:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:13:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:13:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:13:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:13:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:13:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:13:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:13:04 UTC] 📊 Database Info:
[21-Nov-2025 16:13:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:13:04 UTC]    Books columns count: 44
[21-Nov-2025 16:13:04 UTC]    Categories columns count: 7
[21-Nov-2025 16:13:04 UTC]    Language field in books: YES
[21-Nov-2025 16:13:04 UTC]    Format field in books: YES
[21-Nov-2025 16:13:04 UTC]    Description field in categories: YES
[21-Nov-2025 16:13:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:13:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:13:04 UTC]    Is_active field in books: YES
[21-Nov-2025 16:13:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:13:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:13:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:13:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:13:04 UTC] 📊 Database Info:
[21-Nov-2025 16:13:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:13:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:13:04 UTC]    Books columns count: 44
[21-Nov-2025 16:13:04 UTC]    Categories columns count: 7
[21-Nov-2025 16:13:04 UTC]    Language field in books: YES
[21-Nov-2025 16:13:04 UTC]    Format field in books: YES
[21-Nov-2025 16:13:04 UTC]    Description field in categories: YES
[21-Nov-2025 16:13:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:13:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:13:04 UTC]    Is_active field in books: YES
[21-Nov-2025 16:13:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:13:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:13:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:13:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:13:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:13:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:13:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:13:04 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:13:04 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:13:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:13:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:13:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:13:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:13:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:13:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:13:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:13:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:13:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:13:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:13:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:13:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:13:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:13:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:13:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:13:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:13:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:13:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:13:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:13:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:13:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:13:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:13:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:13:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:13:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:13:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:13:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:13:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:13:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:13:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:13:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:13:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:13:17 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:13:17 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:13:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:13:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:13:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:13:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:13:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:13:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:13:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:13:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:13:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:13:17 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:13:17 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:13:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:13:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:13:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:13:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:13:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:13:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:13:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:13:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:13:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:13:17 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:13:17 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:13:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:13:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:13:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:13:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:13:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:13:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:13:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:13:17 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:13:17 UTC] 📊 Database Info:
[21-Nov-2025 16:13:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:13:17 UTC]    Books columns count: 44
[21-Nov-2025 16:13:17 UTC]    Categories columns count: 7
[21-Nov-2025 16:13:17 UTC]    Language field in books: YES
[21-Nov-2025 16:13:17 UTC]    Format field in books: YES
[21-Nov-2025 16:13:17 UTC]    Description field in categories: YES
[21-Nov-2025 16:13:17 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:13:17 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:13:17 UTC]    Is_active field in books: YES
[21-Nov-2025 16:13:17 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:13:17 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:13:17 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:13:17 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:13:17 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:13:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:13:17 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:13:17 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:13:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:13:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:13:17 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:13:17 UTC] 📊 Database Info:
[21-Nov-2025 16:13:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:13:17 UTC]    Books columns count: 44
[21-Nov-2025 16:13:17 UTC]    Categories columns count: 7
[21-Nov-2025 16:13:17 UTC]    Language field in books: YES
[21-Nov-2025 16:13:17 UTC]    Format field in books: YES
[21-Nov-2025 16:13:17 UTC]    Description field in categories: YES
[21-Nov-2025 16:13:17 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:13:17 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:13:17 UTC]    Is_active field in books: YES
[21-Nov-2025 16:13:17 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:13:17 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:13:17 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:13:17 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:13:17 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:13:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:13:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:13:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:13:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:13:17 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:13:17 UTC] 📊 Database Info:
[21-Nov-2025 16:13:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:13:17 UTC]    Books columns count: 44
[21-Nov-2025 16:13:17 UTC]    Categories columns count: 7
[21-Nov-2025 16:13:17 UTC]    Language field in books: YES
[21-Nov-2025 16:13:17 UTC]    Format field in books: YES
[21-Nov-2025 16:13:17 UTC]    Description field in categories: YES
[21-Nov-2025 16:13:17 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:13:17 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:13:17 UTC]    Is_active field in books: YES
[21-Nov-2025 16:13:17 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:13:17 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:13:17 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:13:17 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:13:17 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:13:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:14:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:14:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:14:36 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:14:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:14:36 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:14:36 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:14:36 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:14:36 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:14:36 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:14:36 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:14:36 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:14:36 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:14:36 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:14:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:14:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:14:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:14:36 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:14:36 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:14:36 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:14:36 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:14:36 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:14:36 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:14:36 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:14:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:14:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:14:36 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:14:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:14:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:14:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:14:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:14:36 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:14:36 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:14:36 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:14:36 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:14:36 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:14:36 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:14:36 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:14:36 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:14:36 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:14:36 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:14:36 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:14:36 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:14:36 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:14:36 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:14:36 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:14:36 UTC] 📊 Database Info:
[21-Nov-2025 16:14:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:14:36 UTC]    Books columns count: 44
[21-Nov-2025 16:14:36 UTC]    Categories columns count: 7
[21-Nov-2025 16:14:36 UTC]    Language field in books: YES
[21-Nov-2025 16:14:36 UTC]    Format field in books: YES
[21-Nov-2025 16:14:36 UTC]    Description field in categories: YES
[21-Nov-2025 16:14:36 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:14:36 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:14:36 UTC]    Is_active field in books: YES
[21-Nov-2025 16:14:36 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:14:36 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:14:36 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:14:36 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:14:36 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:14:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:14:36 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:14:36 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:14:36 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:14:36 UTC] 📊 Database Info:
[21-Nov-2025 16:14:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:14:36 UTC]    Books columns count: 44
[21-Nov-2025 16:14:36 UTC]    Categories columns count: 7
[21-Nov-2025 16:14:36 UTC]    Language field in books: YES
[21-Nov-2025 16:14:36 UTC]    Format field in books: YES
[21-Nov-2025 16:14:36 UTC]    Description field in categories: YES
[21-Nov-2025 16:14:36 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:14:36 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:14:36 UTC]    Is_active field in books: YES
[21-Nov-2025 16:14:36 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:14:36 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:14:36 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:14:36 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:14:36 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:14:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:14:36 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:14:36 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:14:36 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:14:36 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:14:36 UTC] 📊 Database Info:
[21-Nov-2025 16:14:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:14:36 UTC]    Books columns count: 44
[21-Nov-2025 16:14:36 UTC]    Categories columns count: 7
[21-Nov-2025 16:14:36 UTC]    Language field in books: YES
[21-Nov-2025 16:14:36 UTC]    Format field in books: YES
[21-Nov-2025 16:14:36 UTC]    Description field in categories: YES
[21-Nov-2025 16:14:36 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:14:36 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:14:36 UTC]    Is_active field in books: YES
[21-Nov-2025 16:14:36 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:14:36 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:14:36 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:14:36 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:14:36 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:14:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:14:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:14:36 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:14:36 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:14:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:14:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:14:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:14:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:14:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:14:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:14:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:14:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:14:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:14:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:14:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:14:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:14:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:14:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:14:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:14:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:14:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:14:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:14:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:14:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:14:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:14:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:14:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:14:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:14:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:14:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:14:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:14:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:14:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:14:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:14:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:14:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:14:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:14:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:14:59 UTC] 📊 Database Info:
[21-Nov-2025 16:14:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:14:59 UTC]    Books columns count: 44
[21-Nov-2025 16:14:59 UTC]    Categories columns count: 7
[21-Nov-2025 16:14:59 UTC]    Language field in books: YES
[21-Nov-2025 16:14:59 UTC]    Format field in books: YES
[21-Nov-2025 16:14:59 UTC]    Description field in categories: YES
[21-Nov-2025 16:14:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:14:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:14:59 UTC]    Is_active field in books: YES
[21-Nov-2025 16:14:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:14:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:14:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:14:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:14:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:14:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:14:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:14:59 UTC] 📊 Database Info:
[21-Nov-2025 16:14:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:14:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:14:59 UTC] 📊 Database Info:
[21-Nov-2025 16:14:59 UTC]    Books columns count: 44
[21-Nov-2025 16:14:59 UTC]    Categories columns count: 7
[21-Nov-2025 16:14:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:14:59 UTC]    Language field in books: YES
[21-Nov-2025 16:14:59 UTC]    Books columns count: 44
[21-Nov-2025 16:14:59 UTC]    Format field in books: YES
[21-Nov-2025 16:14:59 UTC]    Categories columns count: 7
[21-Nov-2025 16:14:59 UTC]    Description field in categories: YES
[21-Nov-2025 16:14:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:14:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:14:59 UTC]    Language field in books: YES
[21-Nov-2025 16:14:59 UTC]    Is_active field in books: YES
[21-Nov-2025 16:14:59 UTC]    Format field in books: YES
[21-Nov-2025 16:14:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:14:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:14:59 UTC]    Description field in categories: YES
[21-Nov-2025 16:14:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:14:59 UTC] 📊 Database Info:
[21-Nov-2025 16:14:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:14:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:14:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:14:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:14:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:14:59 UTC]    Books columns count: 44
[21-Nov-2025 16:14:59 UTC]    Is_active field in books: YES
[21-Nov-2025 16:14:59 UTC]    Categories columns count: 7
[21-Nov-2025 16:14:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:14:59 UTC]    Language field in books: YES
[21-Nov-2025 16:14:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:14:59 UTC]    Format field in books: YES
[21-Nov-2025 16:14:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:14:59 UTC]    Description field in categories: YES
[21-Nov-2025 16:14:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:14:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:14:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:14:59 UTC]    Is_active field in books: YES
[21-Nov-2025 16:14:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:14:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:14:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:14:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:14:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:14:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:14:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:14:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:14:59 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:14:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:14:59 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:14:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:14:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:14:59 UTC] 📊 Database Info:
[21-Nov-2025 16:14:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:14:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:14:59 UTC] 📊 Database Info:
[21-Nov-2025 16:14:59 UTC]    Books columns count: 44
[21-Nov-2025 16:14:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:14:59 UTC]    Categories columns count: 7
[21-Nov-2025 16:14:59 UTC]    Books columns count: 44
[21-Nov-2025 16:14:59 UTC]    Categories columns count: 7
[21-Nov-2025 16:14:59 UTC]    Language field in books: YES
[21-Nov-2025 16:14:59 UTC]    Format field in books: YES
[21-Nov-2025 16:14:59 UTC]    Language field in books: YES
[21-Nov-2025 16:14:59 UTC]    Description field in categories: YES
[21-Nov-2025 16:14:59 UTC]    Format field in books: YES
[21-Nov-2025 16:14:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:14:59 UTC]    Description field in categories: YES
[21-Nov-2025 16:14:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:14:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:14:59 UTC]    Is_active field in books: YES
[21-Nov-2025 16:14:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:14:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:14:59 UTC]    Is_active field in books: YES
[21-Nov-2025 16:14:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:14:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:14:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:14:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:14:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:14:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:14:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:14:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:14:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:14:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:14:59 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:14:59 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:15:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:15:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:15:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:15:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:15:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:15:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:15:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:15:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:15:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:15:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:15:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:15:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:15:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:15:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:15:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:15:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:15:03 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:15:03 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:15:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:15:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:15:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:15:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:15:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:15:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:15:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:15:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:15:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:15:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:15:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:15:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:15:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:15:03 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:15:03 UTC] 📊 Database Info:
[21-Nov-2025 16:15:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:15:03 UTC]    Books columns count: 44
[21-Nov-2025 16:15:03 UTC]    Categories columns count: 7
[21-Nov-2025 16:15:03 UTC]    Language field in books: YES
[21-Nov-2025 16:15:03 UTC]    Format field in books: YES
[21-Nov-2025 16:15:03 UTC]    Description field in categories: YES
[21-Nov-2025 16:15:03 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:15:03 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:15:03 UTC]    Is_active field in books: YES
[21-Nov-2025 16:15:03 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:15:03 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:15:03 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:15:03 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:15:03 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:15:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:15:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:15:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:15:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:15:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:15:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:15:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:15:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:15:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:15:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:15:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:15:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:15:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:15:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:15:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:15:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:15:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:15:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:15:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:15:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:15:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:15:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:15:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:15:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:15:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:15:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:15:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:15:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:15:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:15:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:15:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:15:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:15:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:15:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:15:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:15:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:15:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:15:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:15:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:15:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:15:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:15:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:15:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:15:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:15:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:15:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:15:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:15:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:15:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:15:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:15:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:15:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:15:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:15:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:15:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:15:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:15:35 UTC] 📊 Database Info:
[21-Nov-2025 16:15:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:15:35 UTC]    Books columns count: 44
[21-Nov-2025 16:15:35 UTC]    Categories columns count: 7
[21-Nov-2025 16:15:35 UTC]    Language field in books: YES
[21-Nov-2025 16:15:35 UTC]    Format field in books: YES
[21-Nov-2025 16:15:35 UTC]    Description field in categories: YES
[21-Nov-2025 16:15:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:15:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:15:35 UTC]    Is_active field in books: YES
[21-Nov-2025 16:15:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:15:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:15:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:15:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:15:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:15:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:15:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:15:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:15:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:15:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:15:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:15:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:15:35 UTC] 📊 Database Info:
[21-Nov-2025 16:15:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:15:35 UTC]    Books columns count: 44
[21-Nov-2025 16:15:35 UTC]    Categories columns count: 7
[21-Nov-2025 16:15:35 UTC]    Language field in books: YES
[21-Nov-2025 16:15:35 UTC]    Format field in books: YES
[21-Nov-2025 16:15:35 UTC]    Description field in categories: YES
[21-Nov-2025 16:15:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:15:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:15:35 UTC]    Is_active field in books: YES
[21-Nov-2025 16:15:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:15:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:15:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:15:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:15:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:15:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:15:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:15:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:15:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:15:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:15:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:15:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:15:35 UTC] 📊 Database Info:
[21-Nov-2025 16:15:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:15:35 UTC]    Books columns count: 44
[21-Nov-2025 16:15:35 UTC]    Categories columns count: 7
[21-Nov-2025 16:15:35 UTC]    Language field in books: YES
[21-Nov-2025 16:15:35 UTC]    Format field in books: YES
[21-Nov-2025 16:15:35 UTC]    Description field in categories: YES
[21-Nov-2025 16:15:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:15:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:15:35 UTC]    Is_active field in books: YES
[21-Nov-2025 16:15:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:15:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:15:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:15:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:15:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:15:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:15:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:15:35 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:15:35 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:19:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:19:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:19:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:19:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:19:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:19:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:19:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:19:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:19:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:19:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:19:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:19:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:19:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:19:18 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:19:18 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:19:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:19:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:19:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:19:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:19:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:19:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:19:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:19:18 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:19:18 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:19:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:19:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:19:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:19:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:19:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:19:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:19:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:19:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:19:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:19:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:19:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:19:18 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:19:18 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:19:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:19:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:19:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:19:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:19:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:19:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:19:18 UTC] 📊 Database Info:
[21-Nov-2025 16:19:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:19:18 UTC]    Books columns count: 44
[21-Nov-2025 16:19:18 UTC]    Categories columns count: 7
[21-Nov-2025 16:19:18 UTC]    Language field in books: YES
[21-Nov-2025 16:19:18 UTC]    Format field in books: YES
[21-Nov-2025 16:19:18 UTC]    Description field in categories: YES
[21-Nov-2025 16:19:18 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:19:18 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:19:18 UTC]    Is_active field in books: YES
[21-Nov-2025 16:19:18 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:19:18 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:19:18 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:19:18 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:19:18 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:19:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:19:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:19:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:19:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:19:18 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:19:18 UTC] 📊 Database Info:
[21-Nov-2025 16:19:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:19:18 UTC]    Books columns count: 44
[21-Nov-2025 16:19:18 UTC]    Categories columns count: 7
[21-Nov-2025 16:19:18 UTC]    Language field in books: YES
[21-Nov-2025 16:19:18 UTC]    Format field in books: YES
[21-Nov-2025 16:19:18 UTC]    Description field in categories: YES
[21-Nov-2025 16:19:18 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:19:18 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:19:18 UTC]    Is_active field in books: YES
[21-Nov-2025 16:19:18 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:19:18 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:19:18 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:19:18 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:19:18 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:19:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:19:18 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:19:18 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:19:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:19:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:19:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:19:18 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:19:18 UTC] 📊 Database Info:
[21-Nov-2025 16:19:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:19:18 UTC]    Books columns count: 44
[21-Nov-2025 16:19:18 UTC]    Categories columns count: 7
[21-Nov-2025 16:19:18 UTC]    Language field in books: YES
[21-Nov-2025 16:19:18 UTC]    Format field in books: YES
[21-Nov-2025 16:19:18 UTC]    Description field in categories: YES
[21-Nov-2025 16:19:18 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:19:18 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:19:18 UTC]    Is_active field in books: YES
[21-Nov-2025 16:19:18 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:19:18 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:19:18 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:19:18 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:19:18 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:19:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:19:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:19:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:19:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:19:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:19:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:19:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:19:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:19:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:19:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:19:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:19:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:19:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:19:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:19:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:19:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:19:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:19:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:19:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:19:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:19:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:19:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:19:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:19:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:19:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:19:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:19:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:19:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:19:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:19:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:19:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:19:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:19:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:19:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:19:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:19:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:19:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:19:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:19:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:19:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:19:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:19:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:19:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:19:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:19:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:19:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:19:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:19:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:19:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:19:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:19:53 UTC] 📊 Database Info:
[21-Nov-2025 16:19:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:19:53 UTC]    Books columns count: 44
[21-Nov-2025 16:19:53 UTC]    Categories columns count: 7
[21-Nov-2025 16:19:53 UTC]    Language field in books: YES
[21-Nov-2025 16:19:53 UTC]    Format field in books: YES
[21-Nov-2025 16:19:53 UTC]    Description field in categories: YES
[21-Nov-2025 16:19:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:19:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:19:53 UTC]    Is_active field in books: YES
[21-Nov-2025 16:19:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:19:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:19:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:19:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:19:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:19:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:19:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:19:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:19:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:19:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:19:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:19:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:19:53 UTC] 📊 Database Info:
[21-Nov-2025 16:19:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:19:53 UTC]    Books columns count: 44
[21-Nov-2025 16:19:53 UTC]    Categories columns count: 7
[21-Nov-2025 16:19:53 UTC]    Language field in books: YES
[21-Nov-2025 16:19:53 UTC]    Format field in books: YES
[21-Nov-2025 16:19:53 UTC]    Description field in categories: YES
[21-Nov-2025 16:19:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:19:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:19:53 UTC]    Is_active field in books: YES
[21-Nov-2025 16:19:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:19:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:19:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:19:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:19:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:19:53 UTC] 📊 Database Info:
[21-Nov-2025 16:19:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:19:53 UTC]    Books columns count: 44
[21-Nov-2025 16:19:53 UTC]    Categories columns count: 7
[21-Nov-2025 16:19:53 UTC]    Language field in books: YES
[21-Nov-2025 16:19:53 UTC]    Format field in books: YES
[21-Nov-2025 16:19:53 UTC]    Description field in categories: YES
[21-Nov-2025 16:19:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:19:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:19:53 UTC]    Is_active field in books: YES
[21-Nov-2025 16:19:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:19:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:19:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:19:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:19:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:19:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:19:53 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:19:53 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:19:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:19:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:20:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:20:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:20:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:20:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:20:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:20:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:20:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:20:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:20:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:20:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:20:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:20:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:20:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:20:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:20:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:20:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:20:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:20:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:20:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:20:17 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:20:17 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:20:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:20:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:20:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:20:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:20:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:20:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:20:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:20:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:20:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:20:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:20:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:20:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:20:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:20:17 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:20:17 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:20:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:20:17 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:20:17 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:20:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:20:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:20:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:20:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:20:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:20:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:20:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:20:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:20:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:20:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:20:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:20:17 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:20:17 UTC] 📊 Database Info:
[21-Nov-2025 16:20:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:20:17 UTC]    Books columns count: 44
[21-Nov-2025 16:20:17 UTC]    Categories columns count: 7
[21-Nov-2025 16:20:17 UTC]    Language field in books: YES
[21-Nov-2025 16:20:17 UTC]    Format field in books: YES
[21-Nov-2025 16:20:17 UTC]    Description field in categories: YES
[21-Nov-2025 16:20:17 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:20:17 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:20:17 UTC]    Is_active field in books: YES
[21-Nov-2025 16:20:17 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:20:17 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:20:17 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:20:17 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:20:17 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:20:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:20:17 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:20:17 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:20:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:20:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:20:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:20:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:20:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:20:17 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:20:17 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:20:17 UTC] 📊 Database Info:
[21-Nov-2025 16:20:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:20:17 UTC] 📊 Database Info:
[21-Nov-2025 16:20:17 UTC]    Books columns count: 44
[21-Nov-2025 16:20:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:20:17 UTC]    Categories columns count: 7
[21-Nov-2025 16:20:17 UTC]    Books columns count: 44
[21-Nov-2025 16:20:17 UTC]    Categories columns count: 7
[21-Nov-2025 16:20:17 UTC]    Language field in books: YES
[21-Nov-2025 16:20:17 UTC]    Format field in books: YES
[21-Nov-2025 16:20:17 UTC]    Language field in books: YES
[21-Nov-2025 16:20:17 UTC]    Description field in categories: YES
[21-Nov-2025 16:20:17 UTC]    Format field in books: YES
[21-Nov-2025 16:20:17 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:20:17 UTC]    Description field in categories: YES
[21-Nov-2025 16:20:17 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:20:17 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:20:17 UTC]    Is_active field in books: YES
[21-Nov-2025 16:20:17 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:20:17 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:20:17 UTC]    Is_active field in books: YES
[21-Nov-2025 16:20:17 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:20:17 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:20:17 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:20:17 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:20:17 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:20:17 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:20:17 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:20:17 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:20:17 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:20:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:20:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:20:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:21:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:21:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:21:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:21:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:21:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:21:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:21:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:21:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:21:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:21:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:21:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:21:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:21:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:21:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:21:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:21:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:21:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:21:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:21:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:21:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:21:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:21:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:21:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:21:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:21:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:21:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:21:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:21:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:21:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:21:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:21:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:21:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:21:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:21:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:21:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:21:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:21:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:21:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:21:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:21:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:21:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:21:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:21:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:21:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:21:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:21:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:21:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:21:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:21:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:21:04 UTC] 📊 Database Info:
[21-Nov-2025 16:21:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:21:04 UTC]    Books columns count: 44
[21-Nov-2025 16:21:04 UTC]    Categories columns count: 7
[21-Nov-2025 16:21:04 UTC]    Language field in books: YES
[21-Nov-2025 16:21:04 UTC]    Format field in books: YES
[21-Nov-2025 16:21:04 UTC]    Description field in categories: YES
[21-Nov-2025 16:21:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:21:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:21:04 UTC]    Is_active field in books: YES
[21-Nov-2025 16:21:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:21:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:21:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:21:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:21:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:21:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:21:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:21:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:21:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:21:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:21:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:21:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:21:04 UTC] 📊 Database Info:
[21-Nov-2025 16:21:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:21:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:21:04 UTC] 📊 Database Info:
[21-Nov-2025 16:21:04 UTC]    Books columns count: 44
[21-Nov-2025 16:21:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:21:04 UTC]    Categories columns count: 7
[21-Nov-2025 16:21:04 UTC]    Books columns count: 44
[21-Nov-2025 16:21:04 UTC]    Categories columns count: 7
[21-Nov-2025 16:21:04 UTC]    Language field in books: YES
[21-Nov-2025 16:21:04 UTC]    Format field in books: YES
[21-Nov-2025 16:21:04 UTC]    Language field in books: YES
[21-Nov-2025 16:21:04 UTC]    Description field in categories: YES
[21-Nov-2025 16:21:04 UTC]    Format field in books: YES
[21-Nov-2025 16:21:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:21:04 UTC]    Description field in categories: YES
[21-Nov-2025 16:21:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:21:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:21:04 UTC]    Is_active field in books: YES
[21-Nov-2025 16:21:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:21:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:21:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:21:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:21:04 UTC]    Is_active field in books: YES
[21-Nov-2025 16:21:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:21:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:21:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:21:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:21:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:21:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:21:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:21:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:21:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:21:04 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:21:04 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:22:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:22:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:22:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:22:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:22:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:22:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:22:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:22:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:22:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:22:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:22:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:22:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:22:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:22:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:22:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:22:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:22:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:22:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:22:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:22:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:22:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:22:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:22:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:22:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:22:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:22:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:22:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:22:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:22:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:22:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:22:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:22:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:22:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:22:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:22:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:22:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:22:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:22:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:22:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:22:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:22:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:22:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:22:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:22:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:22:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:22:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:22:35 UTC] 📊 Database Info:
[21-Nov-2025 16:22:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:22:35 UTC]    Books columns count: 44
[21-Nov-2025 16:22:35 UTC]    Categories columns count: 7
[21-Nov-2025 16:22:35 UTC]    Language field in books: YES
[21-Nov-2025 16:22:35 UTC]    Format field in books: YES
[21-Nov-2025 16:22:35 UTC]    Description field in categories: YES
[21-Nov-2025 16:22:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:22:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:22:35 UTC]    Is_active field in books: YES
[21-Nov-2025 16:22:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:22:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:22:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:22:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:22:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:22:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:22:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:22:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:22:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:22:35 UTC] 📊 Database Info:
[21-Nov-2025 16:22:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:22:35 UTC]    Books columns count: 44
[21-Nov-2025 16:22:35 UTC]    Categories columns count: 7
[21-Nov-2025 16:22:35 UTC]    Language field in books: YES
[21-Nov-2025 16:22:35 UTC]    Format field in books: YES
[21-Nov-2025 16:22:35 UTC]    Description field in categories: YES
[21-Nov-2025 16:22:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:22:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:22:35 UTC]    Is_active field in books: YES
[21-Nov-2025 16:22:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:22:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:22:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:22:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:22:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:22:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:22:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:22:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:22:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:22:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:22:35 UTC] 📊 Database Info:
[21-Nov-2025 16:22:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:22:35 UTC]    Books columns count: 44
[21-Nov-2025 16:22:35 UTC]    Categories columns count: 7
[21-Nov-2025 16:22:35 UTC]    Language field in books: YES
[21-Nov-2025 16:22:35 UTC]    Format field in books: YES
[21-Nov-2025 16:22:35 UTC]    Description field in categories: YES
[21-Nov-2025 16:22:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:22:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:22:35 UTC]    Is_active field in books: YES
[21-Nov-2025 16:22:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:22:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:22:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:22:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:22:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:22:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:22:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:22:35 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:22:35 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:26:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:26:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:26:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:26:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:26:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:26:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:26:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:26:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:26:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:26:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:26:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:26:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:26:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:26:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:26:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:26:15 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:26:15 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:26:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:26:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:26:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:26:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:26:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:26:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:26:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:26:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:26:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:26:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:26:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:26:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:26:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:26:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:26:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:26:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:26:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:26:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:26:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:26:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:26:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:26:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:26:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:26:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:26:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:26:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:26:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:26:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:26:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:26:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:26:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:26:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:26:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:26:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:26:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:26:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:26:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:26:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:26:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:26:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:26:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:26:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:26:16 UTC] 📊 Database Info:
[21-Nov-2025 16:26:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:26:16 UTC]    Books columns count: 44
[21-Nov-2025 16:26:16 UTC]    Categories columns count: 7
[21-Nov-2025 16:26:16 UTC]    Language field in books: YES
[21-Nov-2025 16:26:16 UTC]    Format field in books: YES
[21-Nov-2025 16:26:16 UTC]    Description field in categories: YES
[21-Nov-2025 16:26:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:26:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:26:16 UTC]    Is_active field in books: YES
[21-Nov-2025 16:26:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:26:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:26:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:26:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:26:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:26:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:26:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:26:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:26:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:26:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:26:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:26:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:26:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:26:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:26:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:26:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:26:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:26:16 UTC] 📊 Database Info:
[21-Nov-2025 16:26:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:26:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:26:16 UTC] 📊 Database Info:
[21-Nov-2025 16:26:16 UTC]    Books columns count: 44
[21-Nov-2025 16:26:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:26:16 UTC]    Categories columns count: 7
[21-Nov-2025 16:26:16 UTC]    Books columns count: 44
[21-Nov-2025 16:26:16 UTC]    Categories columns count: 7
[21-Nov-2025 16:26:16 UTC]    Language field in books: YES
[21-Nov-2025 16:26:16 UTC]    Format field in books: YES
[21-Nov-2025 16:26:16 UTC]    Language field in books: YES
[21-Nov-2025 16:26:16 UTC]    Description field in categories: YES
[21-Nov-2025 16:26:16 UTC]    Format field in books: YES
[21-Nov-2025 16:26:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:26:16 UTC]    Description field in categories: YES
[21-Nov-2025 16:26:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:26:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:26:16 UTC]    Is_active field in books: YES
[21-Nov-2025 16:26:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:26:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:26:16 UTC]    Is_active field in books: YES
[21-Nov-2025 16:26:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:26:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:26:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:26:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:26:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:26:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:26:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:26:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:26:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:26:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:26:16 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:26:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:26:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:26:16 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:26:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:26:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:26:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:26:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:26:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:26:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:26:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:26:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:26:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:26:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:26:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:26:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:26:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:26:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:26:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:26:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:26:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:26:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:26:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:26:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:26:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:26:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:26:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:26:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:26:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:26:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:26:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:26:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:26:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:26:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:26:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:26:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:26:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:26:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:26:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:26:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:26:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:26:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:26:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:26:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:26:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:26:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:26:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:26:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:26:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:26:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:26:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:26:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:26:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:26:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:26:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:26:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:26:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:26:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:26:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:26:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:26:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:26:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:26:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:26:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:26:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:26:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:26:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:26:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:26:52 UTC] 📊 Database Info:
[21-Nov-2025 16:26:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:26:52 UTC]    Books columns count: 44
[21-Nov-2025 16:26:52 UTC]    Categories columns count: 7
[21-Nov-2025 16:26:52 UTC]    Language field in books: YES
[21-Nov-2025 16:26:52 UTC]    Format field in books: YES
[21-Nov-2025 16:26:52 UTC]    Description field in categories: YES
[21-Nov-2025 16:26:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:26:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:26:52 UTC]    Is_active field in books: YES
[21-Nov-2025 16:26:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:26:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:26:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:26:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:26:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:26:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:26:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:26:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:26:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:26:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:26:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:26:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:26:52 UTC] 📊 Database Info:
[21-Nov-2025 16:26:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:26:52 UTC]    Books columns count: 44
[21-Nov-2025 16:26:52 UTC]    Categories columns count: 7
[21-Nov-2025 16:26:52 UTC]    Language field in books: YES
[21-Nov-2025 16:26:52 UTC]    Format field in books: YES
[21-Nov-2025 16:26:52 UTC]    Description field in categories: YES
[21-Nov-2025 16:26:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:26:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:26:52 UTC]    Is_active field in books: YES
[21-Nov-2025 16:26:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:26:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:26:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:26:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:26:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:26:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:26:52 UTC] 📊 Database Info:
[21-Nov-2025 16:26:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:26:52 UTC]    Books columns count: 44
[21-Nov-2025 16:26:52 UTC]    Categories columns count: 7
[21-Nov-2025 16:26:52 UTC]    Language field in books: YES
[21-Nov-2025 16:26:52 UTC]    Format field in books: YES
[21-Nov-2025 16:26:52 UTC]    Description field in categories: YES
[21-Nov-2025 16:26:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:26:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:26:52 UTC]    Is_active field in books: YES
[21-Nov-2025 16:26:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:26:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:26:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:26:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:26:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:26:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:26:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:26:52 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:26:52 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:28:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:28:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:28:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:28:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:28:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:28:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:28:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:28:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:28:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:28:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:28:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:28:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:28:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:28:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:28:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:28:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:28:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:28:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:28:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:28:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:28:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:28:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:28:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:28:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:28:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:28:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:28:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:28:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:28:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:28:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:28:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:28:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:28:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:28:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:28:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:28:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:28:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:28:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:28:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:28:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:28:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:28:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:28:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:28:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:28:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:28:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:28:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:28:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:28:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:28:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:28:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:28:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:28:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:28:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:28:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:28:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:28:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:28:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:28:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:28:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:28:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:28:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:28:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:28:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:28:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:28:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:28:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:28:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:28:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:28:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:28:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:28:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:28:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:28:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:28:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:28:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:28:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:28:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:28:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:28:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:28:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:28:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:28:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:28:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:28:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:28:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:28:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:28:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:28:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:28:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:28:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:28:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:28:23 UTC] 📊 Database Info:
[21-Nov-2025 16:28:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:28:23 UTC]    Books columns count: 44
[21-Nov-2025 16:28:23 UTC]    Categories columns count: 7
[21-Nov-2025 16:28:23 UTC]    Language field in books: YES
[21-Nov-2025 16:28:23 UTC]    Format field in books: YES
[21-Nov-2025 16:28:23 UTC]    Description field in categories: YES
[21-Nov-2025 16:28:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:28:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:28:23 UTC]    Is_active field in books: YES
[21-Nov-2025 16:28:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:28:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:28:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:28:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:28:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:28:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:28:23 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:28:23 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:28:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:28:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:28:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:28:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:28:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:28:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:28:23 UTC] 📊 Database Info:
[21-Nov-2025 16:28:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:28:23 UTC]    Books columns count: 44
[21-Nov-2025 16:28:23 UTC]    Categories columns count: 7
[21-Nov-2025 16:28:23 UTC]    Language field in books: YES
[21-Nov-2025 16:28:23 UTC]    Format field in books: YES
[21-Nov-2025 16:28:23 UTC]    Description field in categories: YES
[21-Nov-2025 16:28:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:28:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:28:23 UTC]    Is_active field in books: YES
[21-Nov-2025 16:28:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:28:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:28:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:28:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:28:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:28:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:28:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:28:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:28:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:28:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:28:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:28:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:28:23 UTC] 📊 Database Info:
[21-Nov-2025 16:28:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:28:23 UTC]    Books columns count: 44
[21-Nov-2025 16:28:23 UTC]    Categories columns count: 7
[21-Nov-2025 16:28:23 UTC]    Language field in books: YES
[21-Nov-2025 16:28:23 UTC]    Format field in books: YES
[21-Nov-2025 16:28:23 UTC]    Description field in categories: YES
[21-Nov-2025 16:28:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:28:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:28:23 UTC]    Is_active field in books: YES
[21-Nov-2025 16:28:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:28:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:28:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:28:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:28:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:28:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:28:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:32:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:32:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:32:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:32:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:32:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:32:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:32:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:32:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:32:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:32:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:32:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:32:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:32:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:32:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:32:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:32:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:32:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:32:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:32:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:32:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:32:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:32:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:32:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:32:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:32:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:32:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:32:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:32:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:32:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:32:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:32:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:32:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:32:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:32:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:32:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:32:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:32:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:32:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:32:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:32:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:32:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:32:35 UTC] 📊 Database Info:
[21-Nov-2025 16:32:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:32:35 UTC]    Books columns count: 44
[21-Nov-2025 16:32:35 UTC]    Categories columns count: 7
[21-Nov-2025 16:32:35 UTC]    Language field in books: YES
[21-Nov-2025 16:32:35 UTC]    Format field in books: YES
[21-Nov-2025 16:32:35 UTC]    Description field in categories: YES
[21-Nov-2025 16:32:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:32:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:32:35 UTC]    Is_active field in books: YES
[21-Nov-2025 16:32:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:32:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:32:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:32:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:32:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:32:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:32:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:32:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:32:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:32:35 UTC] 📊 Database Info:
[21-Nov-2025 16:32:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:32:35 UTC]    Books columns count: 44
[21-Nov-2025 16:32:35 UTC]    Categories columns count: 7
[21-Nov-2025 16:32:35 UTC]    Language field in books: YES
[21-Nov-2025 16:32:35 UTC]    Format field in books: YES
[21-Nov-2025 16:32:35 UTC]    Description field in categories: YES
[21-Nov-2025 16:32:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:32:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:32:35 UTC]    Is_active field in books: YES
[21-Nov-2025 16:32:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:32:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:32:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:32:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:32:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:32:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:32:35 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:32:35 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:32:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:32:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:32:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:32:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:32:35 UTC] 📊 Database Info:
[21-Nov-2025 16:32:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:32:35 UTC]    Books columns count: 44
[21-Nov-2025 16:32:35 UTC]    Categories columns count: 7
[21-Nov-2025 16:32:35 UTC]    Language field in books: YES
[21-Nov-2025 16:32:35 UTC]    Format field in books: YES
[21-Nov-2025 16:32:35 UTC]    Description field in categories: YES
[21-Nov-2025 16:32:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:32:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:32:35 UTC]    Is_active field in books: YES
[21-Nov-2025 16:32:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:32:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:32:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:32:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:32:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:32:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:32:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:44:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:44:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:44:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:44:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:44:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:44:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:44:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:44:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:44:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:44:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:44:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:44:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:44:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:44:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:44:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:44:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:44:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:44:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:44:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:44:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:44:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:44:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:44:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:44:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:44:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:44:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:44:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:44:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:44:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:44:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:44:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:44:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:44:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:44:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:44:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:44:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:44:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:44:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:44:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:44:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:44:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:44:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:44:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:44:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:44:32 UTC] 📊 Database Info:
[21-Nov-2025 16:44:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:44:32 UTC]    Books columns count: 44
[21-Nov-2025 16:44:32 UTC]    Categories columns count: 7
[21-Nov-2025 16:44:32 UTC]    Language field in books: YES
[21-Nov-2025 16:44:32 UTC]    Format field in books: YES
[21-Nov-2025 16:44:32 UTC]    Description field in categories: YES
[21-Nov-2025 16:44:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:44:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:44:32 UTC]    Is_active field in books: YES
[21-Nov-2025 16:44:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:44:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:44:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:44:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:44:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:44:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:44:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:44:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:44:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:44:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:44:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:44:32 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 16:44:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:44:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:44:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:44:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:44:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:44:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:44:33 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:44:33 UTC] 📊 Database Info:
[21-Nov-2025 16:44:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:44:33 UTC]    Books columns count: 44
[21-Nov-2025 16:44:33 UTC]    Categories columns count: 7
[21-Nov-2025 16:44:33 UTC]    Language field in books: YES
[21-Nov-2025 16:44:33 UTC]    Format field in books: YES
[21-Nov-2025 16:44:33 UTC]    Description field in categories: YES
[21-Nov-2025 16:44:33 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:44:33 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:44:33 UTC]    Is_active field in books: YES
[21-Nov-2025 16:44:33 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:44:33 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:44:33 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:44:33 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:44:33 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:44:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:44:33 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:44:33 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:44:33 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:44:33 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:44:33 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:44:33 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:44:33 UTC] 📊 Database Info:
[21-Nov-2025 16:44:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:44:33 UTC]    Books columns count: 44
[21-Nov-2025 16:44:33 UTC]    Categories columns count: 7
[21-Nov-2025 16:44:33 UTC]    Language field in books: YES
[21-Nov-2025 16:44:33 UTC]    Format field in books: YES
[21-Nov-2025 16:44:33 UTC]    Description field in categories: YES
[21-Nov-2025 16:44:33 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:44:33 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:44:33 UTC]    Is_active field in books: YES
[21-Nov-2025 16:44:33 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:44:33 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:44:33 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:44:33 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:44:33 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:44:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:44:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:44:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 16:44:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 16:44:33 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 16:47:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:47:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:47:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:47:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:47:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:47:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:47:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:47:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:47:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:47:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:47:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:47:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:47:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:47:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:47:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:47:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:47:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:47:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:47:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:47:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:47:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:47:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:47:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:47:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:47:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:47:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:47:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:47:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:47:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:47:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:47:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:47:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:47:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:47:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:47:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:47:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:47:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:47:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:47:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:47:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:47:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:47:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:47:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:47:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:47:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:47:52 UTC] 📊 Database Info:
[21-Nov-2025 16:47:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:47:52 UTC]    Books columns count: 44
[21-Nov-2025 16:47:52 UTC]    Categories columns count: 7
[21-Nov-2025 16:47:52 UTC]    Language field in books: YES
[21-Nov-2025 16:47:52 UTC]    Format field in books: YES
[21-Nov-2025 16:47:52 UTC]    Description field in categories: YES
[21-Nov-2025 16:47:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:47:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:47:52 UTC]    Is_active field in books: YES
[21-Nov-2025 16:47:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:47:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:47:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:47:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:47:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:47:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:47:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:47:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:47:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:47:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:47:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:47:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:47:52 UTC] 📊 Database Info:
[21-Nov-2025 16:47:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:47:52 UTC]    Books columns count: 44
[21-Nov-2025 16:47:52 UTC]    Categories columns count: 7
[21-Nov-2025 16:47:52 UTC]    Language field in books: YES
[21-Nov-2025 16:47:52 UTC]    Format field in books: YES
[21-Nov-2025 16:47:52 UTC]    Description field in categories: YES
[21-Nov-2025 16:47:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:47:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:47:52 UTC]    Is_active field in books: YES
[21-Nov-2025 16:47:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:47:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:47:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:47:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:47:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:47:52 UTC] 📊 Database Info:
[21-Nov-2025 16:47:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:47:52 UTC]    Books columns count: 44
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:47:52 UTC]    Categories columns count: 7
[21-Nov-2025 16:47:52 UTC]    Language field in books: YES
[21-Nov-2025 16:47:52 UTC]    Format field in books: YES
[21-Nov-2025 16:47:52 UTC]    Description field in categories: YES
[21-Nov-2025 16:47:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:47:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:47:52 UTC]    Is_active field in books: YES
[21-Nov-2025 16:47:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:47:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:47:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:47:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:47:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:47:52 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:47:52 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:47:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:47:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:47:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:47:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:47:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:47:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:47:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:47:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:47:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:47:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:47:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:47:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:47:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:47:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:47:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:47:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:47:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:47:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:47:54 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:47:54 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:47:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:47:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:47:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:47:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:47:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:47:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:47:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:47:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:47:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:47:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:47:54 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:47:54 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:47:54 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:47:54 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:47:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:47:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:47:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:47:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:47:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:47:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:47:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:47:54 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:47:54 UTC] 📊 Database Info:
[21-Nov-2025 16:47:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:47:54 UTC]    Books columns count: 44
[21-Nov-2025 16:47:54 UTC]    Categories columns count: 7
[21-Nov-2025 16:47:54 UTC]    Language field in books: YES
[21-Nov-2025 16:47:54 UTC]    Format field in books: YES
[21-Nov-2025 16:47:54 UTC]    Description field in categories: YES
[21-Nov-2025 16:47:54 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:47:54 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:47:54 UTC]    Is_active field in books: YES
[21-Nov-2025 16:47:54 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:47:54 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:47:54 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:47:54 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:47:54 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:47:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:47:54 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:47:54 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:47:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:47:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:47:54 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:47:54 UTC] 📊 Database Info:
[21-Nov-2025 16:47:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:47:54 UTC]    Books columns count: 44
[21-Nov-2025 16:47:54 UTC]    Categories columns count: 7
[21-Nov-2025 16:47:54 UTC]    Language field in books: YES
[21-Nov-2025 16:47:54 UTC]    Format field in books: YES
[21-Nov-2025 16:47:54 UTC]    Description field in categories: YES
[21-Nov-2025 16:47:54 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:47:54 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:47:54 UTC]    Is_active field in books: YES
[21-Nov-2025 16:47:54 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:47:54 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:47:54 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:47:54 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:47:54 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:47:54 UTC] 📊 Database Info:
[21-Nov-2025 16:47:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:47:54 UTC]    Books columns count: 44
[21-Nov-2025 16:47:54 UTC]    Categories columns count: 7
[21-Nov-2025 16:47:54 UTC]    Language field in books: YES
[21-Nov-2025 16:47:54 UTC]    Format field in books: YES
[21-Nov-2025 16:47:54 UTC]    Description field in categories: YES
[21-Nov-2025 16:47:54 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:47:54 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:47:54 UTC]    Is_active field in books: YES
[21-Nov-2025 16:47:54 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:47:54 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:47:54 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:47:54 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:47:54 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:47:54 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:47:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:47:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:49:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:49:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:49:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:49:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:49:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:49:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:49:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:49:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:49:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:49:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:49:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:49:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:49:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:49:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:49:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:49:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:49:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:49:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:49:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:49:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:49:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:49:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:49:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:49:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:49:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:49:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:49:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:49:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:49:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:49:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:49:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:49:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:49:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:49:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:49:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:49:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:49:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:49:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:49:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:49:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:49:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:49:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:49:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:49:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:49:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:49:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:49:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:49:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:49:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:49:44 UTC] 📊 Database Info:
[21-Nov-2025 16:49:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:49:44 UTC]    Books columns count: 44
[21-Nov-2025 16:49:44 UTC]    Categories columns count: 7
[21-Nov-2025 16:49:44 UTC]    Language field in books: YES
[21-Nov-2025 16:49:44 UTC]    Format field in books: YES
[21-Nov-2025 16:49:44 UTC]    Description field in categories: YES
[21-Nov-2025 16:49:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:49:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:49:44 UTC]    Is_active field in books: YES
[21-Nov-2025 16:49:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:49:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:49:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:49:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:49:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:49:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:49:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:49:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:49:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:49:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:49:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:49:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:49:44 UTC] 📊 Database Info:
[21-Nov-2025 16:49:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:49:44 UTC]    Books columns count: 44
[21-Nov-2025 16:49:44 UTC]    Categories columns count: 7
[21-Nov-2025 16:49:44 UTC]    Language field in books: YES
[21-Nov-2025 16:49:44 UTC]    Format field in books: YES
[21-Nov-2025 16:49:44 UTC]    Description field in categories: YES
[21-Nov-2025 16:49:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:49:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:49:44 UTC]    Is_active field in books: YES
[21-Nov-2025 16:49:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:49:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:49:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:49:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:49:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:49:44 UTC] 📊 Database Info:
[21-Nov-2025 16:49:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:49:44 UTC]    Books columns count: 44
[21-Nov-2025 16:49:44 UTC]    Categories columns count: 7
[21-Nov-2025 16:49:44 UTC]    Language field in books: YES
[21-Nov-2025 16:49:44 UTC]    Format field in books: YES
[21-Nov-2025 16:49:44 UTC]    Description field in categories: YES
[21-Nov-2025 16:49:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:49:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:49:44 UTC]    Is_active field in books: YES
[21-Nov-2025 16:49:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:49:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:49:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:49:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:49:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:49:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:49:44 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:49:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:49:44 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:59:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:59:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:59:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:59:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:59:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:59:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:59:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:59:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:59:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:59:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:59:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:59:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:59:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:59:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:59:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:59:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:59:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:59:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:59:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:59:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:59:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:59:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:59:49 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:59:49 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:59:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:59:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:59:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:59:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:59:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:59:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:59:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:59:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:59:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:59:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:59:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:59:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:59:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:59:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:59:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:59:49 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:59:49 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:59:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:59:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:59:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:59:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:59:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:59:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:59:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:59:50 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:59:50 UTC] 📊 Database Info:
[21-Nov-2025 16:59:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:59:50 UTC]    Books columns count: 44
[21-Nov-2025 16:59:50 UTC]    Categories columns count: 7
[21-Nov-2025 16:59:50 UTC]    Language field in books: YES
[21-Nov-2025 16:59:50 UTC]    Format field in books: YES
[21-Nov-2025 16:59:50 UTC]    Description field in categories: YES
[21-Nov-2025 16:59:50 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:59:50 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:59:50 UTC]    Is_active field in books: YES
[21-Nov-2025 16:59:50 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:59:50 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:59:50 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:59:50 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:59:50 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:59:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:59:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:59:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:59:50 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:59:50 UTC] 📊 Database Info:
[21-Nov-2025 16:59:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:59:50 UTC]    Books columns count: 44
[21-Nov-2025 16:59:50 UTC]    Categories columns count: 7
[21-Nov-2025 16:59:50 UTC]    Language field in books: YES
[21-Nov-2025 16:59:50 UTC]    Format field in books: YES
[21-Nov-2025 16:59:50 UTC]    Description field in categories: YES
[21-Nov-2025 16:59:50 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:59:50 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:59:50 UTC]    Is_active field in books: YES
[21-Nov-2025 16:59:50 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:59:50 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:59:50 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:59:50 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:59:50 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:59:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:59:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:59:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:59:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:59:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:59:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:59:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:59:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:59:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:59:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:59:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:59:50 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:59:50 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:59:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:59:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:59:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:59:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:59:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:59:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:59:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:59:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:59:50 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:59:50 UTC] 📊 Database Info:
[21-Nov-2025 16:59:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:59:50 UTC]    Books columns count: 44
[21-Nov-2025 16:59:50 UTC]    Categories columns count: 7
[21-Nov-2025 16:59:50 UTC]    Language field in books: YES
[21-Nov-2025 16:59:50 UTC]    Format field in books: YES
[21-Nov-2025 16:59:50 UTC]    Description field in categories: YES
[21-Nov-2025 16:59:50 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:59:50 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:59:50 UTC]    Is_active field in books: YES
[21-Nov-2025 16:59:50 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:59:50 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:59:50 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:59:50 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:59:50 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:59:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:59:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:59:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:59:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:59:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:59:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:59:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 16:59:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:59:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:59:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:59:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:59:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:59:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:59:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:59:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:59:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:59:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:59:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:59:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:59:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:59:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:59:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:59:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:59:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:59:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:59:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:59:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:59:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:59:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:59:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:59:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:59:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:59:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:59:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:59:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:59:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:59:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:59:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:59:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:59:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 16:59:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:59:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 16:59:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:59:51 UTC] 📊 Database Info:
[21-Nov-2025 16:59:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:59:51 UTC]    Books columns count: 44
[21-Nov-2025 16:59:51 UTC]    Categories columns count: 7
[21-Nov-2025 16:59:51 UTC]    Language field in books: YES
[21-Nov-2025 16:59:51 UTC]    Format field in books: YES
[21-Nov-2025 16:59:51 UTC]    Description field in categories: YES
[21-Nov-2025 16:59:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:59:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:59:51 UTC]    Is_active field in books: YES
[21-Nov-2025 16:59:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:59:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:59:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:59:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:59:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:59:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:59:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 16:59:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 16:59:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 16:59:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 16:59:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 16:59:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 16:59:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 16:59:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:59:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:59:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:59:51 UTC] 📊 Database Info:
[21-Nov-2025 16:59:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:59:51 UTC]    Books columns count: 44
[21-Nov-2025 16:59:51 UTC]    Categories columns count: 7
[21-Nov-2025 16:59:51 UTC]    Language field in books: YES
[21-Nov-2025 16:59:51 UTC]    Format field in books: YES
[21-Nov-2025 16:59:51 UTC]    Description field in categories: YES
[21-Nov-2025 16:59:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:59:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:59:51 UTC]    Is_active field in books: YES
[21-Nov-2025 16:59:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:59:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:59:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:59:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:59:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:59:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:59:51 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:59:51 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 16:59:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 16:59:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 16:59:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 16:59:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 16:59:51 UTC] 📊 Database Info:
[21-Nov-2025 16:59:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 16:59:51 UTC]    Books columns count: 44
[21-Nov-2025 16:59:51 UTC]    Categories columns count: 7
[21-Nov-2025 16:59:51 UTC]    Language field in books: YES
[21-Nov-2025 16:59:51 UTC]    Format field in books: YES
[21-Nov-2025 16:59:51 UTC]    Description field in categories: YES
[21-Nov-2025 16:59:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 16:59:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 16:59:51 UTC]    Is_active field in books: YES
[21-Nov-2025 16:59:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 16:59:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 16:59:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 16:59:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 16:59:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 16:59:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 16:59:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 16:59:51 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 16:59:51 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:00:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:00:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:00:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:00:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:00:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:00:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:00:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:00:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:00:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:00:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:00:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:00:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:00:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:00:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:00:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:00:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:00:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:00:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:00:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:00:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:00:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:00:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:00:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:00:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:00:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:00:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:00:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:00:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:00:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:00:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:00:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:00:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:00:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:00:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:00:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:00:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:00:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:00:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:00:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:00:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:00:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:00:26 UTC] 📊 Database Info:
[21-Nov-2025 17:00:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:00:26 UTC]    Books columns count: 44
[21-Nov-2025 17:00:26 UTC]    Categories columns count: 7
[21-Nov-2025 17:00:26 UTC]    Language field in books: YES
[21-Nov-2025 17:00:26 UTC]    Format field in books: YES
[21-Nov-2025 17:00:26 UTC]    Description field in categories: YES
[21-Nov-2025 17:00:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:00:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:00:26 UTC]    Is_active field in books: YES
[21-Nov-2025 17:00:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:00:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:00:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:00:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:00:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:00:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:00:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:00:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:00:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:00:26 UTC] 📊 Database Info:
[21-Nov-2025 17:00:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:00:26 UTC]    Books columns count: 44
[21-Nov-2025 17:00:26 UTC]    Categories columns count: 7
[21-Nov-2025 17:00:26 UTC]    Language field in books: YES
[21-Nov-2025 17:00:26 UTC]    Format field in books: YES
[21-Nov-2025 17:00:26 UTC]    Description field in categories: YES
[21-Nov-2025 17:00:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:00:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:00:26 UTC]    Is_active field in books: YES
[21-Nov-2025 17:00:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:00:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:00:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:00:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:00:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:00:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:00:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:00:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:00:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:00:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:00:26 UTC] 📊 Database Info:
[21-Nov-2025 17:00:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:00:26 UTC]    Books columns count: 44
[21-Nov-2025 17:00:26 UTC]    Categories columns count: 7
[21-Nov-2025 17:00:26 UTC]    Language field in books: YES
[21-Nov-2025 17:00:26 UTC]    Format field in books: YES
[21-Nov-2025 17:00:26 UTC]    Description field in categories: YES
[21-Nov-2025 17:00:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:00:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:00:26 UTC]    Is_active field in books: YES
[21-Nov-2025 17:00:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:00:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:00:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:00:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:00:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:00:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:00:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:00:26 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:00:26 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:00:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:00:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:00:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:00:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:00:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:00:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:00:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:00:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:00:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:00:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:00:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:00:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:00:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:00:46 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:00:46 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:00:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:00:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:00:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:00:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:00:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:00:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:00:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:00:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:00:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:00:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:00:46 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:00:46 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:00:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:00:46 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:00:46 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:00:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:00:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:00:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:00:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:00:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:00:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:00:46 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:00:46 UTC] 📊 Database Info:
[21-Nov-2025 17:00:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:00:46 UTC]    Books columns count: 44
[21-Nov-2025 17:00:46 UTC]    Categories columns count: 7
[21-Nov-2025 17:00:46 UTC]    Language field in books: YES
[21-Nov-2025 17:00:46 UTC]    Format field in books: YES
[21-Nov-2025 17:00:46 UTC]    Description field in categories: YES
[21-Nov-2025 17:00:46 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:00:46 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:00:46 UTC]    Is_active field in books: YES
[21-Nov-2025 17:00:46 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:00:46 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:00:46 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:00:46 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:00:46 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:00:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:00:46 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:00:46 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:00:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:00:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:00:46 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:00:46 UTC] 📊 Database Info:
[21-Nov-2025 17:00:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:00:46 UTC]    Books columns count: 44
[21-Nov-2025 17:00:46 UTC]    Categories columns count: 7
[21-Nov-2025 17:00:46 UTC]    Language field in books: YES
[21-Nov-2025 17:00:46 UTC]    Format field in books: YES
[21-Nov-2025 17:00:46 UTC]    Description field in categories: YES
[21-Nov-2025 17:00:46 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:00:46 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:00:46 UTC]    Is_active field in books: YES
[21-Nov-2025 17:00:46 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:00:46 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:00:46 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:00:46 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:00:46 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:00:46 UTC] 📊 Database Info:
[21-Nov-2025 17:00:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:00:46 UTC]    Books columns count: 44
[21-Nov-2025 17:00:46 UTC]    Categories columns count: 7
[21-Nov-2025 17:00:46 UTC]    Language field in books: YES
[21-Nov-2025 17:00:46 UTC]    Format field in books: YES
[21-Nov-2025 17:00:46 UTC]    Description field in categories: YES
[21-Nov-2025 17:00:46 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:00:46 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:00:46 UTC]    Is_active field in books: YES
[21-Nov-2025 17:00:46 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:00:46 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:00:46 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:00:46 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:00:46 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:00:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:00:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:00:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:01:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:01:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:01:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:01:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:01:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:01:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:01:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:01:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:01:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:01:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:01:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:01:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:01:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:01:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:01:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:01:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:01:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:01:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:01:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:01:52 UTC] 📊 Database Info:
[21-Nov-2025 17:01:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:01:52 UTC]    Books columns count: 44
[21-Nov-2025 17:01:52 UTC]    Categories columns count: 7
[21-Nov-2025 17:01:52 UTC]    Language field in books: YES
[21-Nov-2025 17:01:52 UTC]    Format field in books: YES
[21-Nov-2025 17:01:52 UTC]    Description field in categories: YES
[21-Nov-2025 17:01:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:01:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:01:52 UTC]    Is_active field in books: YES
[21-Nov-2025 17:01:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:01:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:01:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:01:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:01:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:01:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:01:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:01:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:01:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:01:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:01:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:01:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:01:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:01:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:01:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:01:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:01:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:01:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:01:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:01:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:01:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:01:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:01:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:01:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:01:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:01:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:01:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:01:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:01:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:01:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:01:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:01:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:01:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:01:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:01:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:01:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:01:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:01:52 UTC] 📊 Database Info:
[21-Nov-2025 17:01:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:01:52 UTC]    Books columns count: 44
[21-Nov-2025 17:01:52 UTC]    Categories columns count: 7
[21-Nov-2025 17:01:52 UTC]    Language field in books: YES
[21-Nov-2025 17:01:52 UTC]    Format field in books: YES
[21-Nov-2025 17:01:52 UTC]    Description field in categories: YES
[21-Nov-2025 17:01:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:01:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:01:52 UTC]    Is_active field in books: YES
[21-Nov-2025 17:01:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:01:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:01:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:01:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:01:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:01:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:01:52 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:01:52 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:01:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:01:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:01:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:01:52 UTC] 📊 Database Info:
[21-Nov-2025 17:01:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:01:52 UTC]    Books columns count: 44
[21-Nov-2025 17:01:52 UTC]    Categories columns count: 7
[21-Nov-2025 17:01:52 UTC]    Language field in books: YES
[21-Nov-2025 17:01:52 UTC]    Format field in books: YES
[21-Nov-2025 17:01:52 UTC]    Description field in categories: YES
[21-Nov-2025 17:01:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:01:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:01:52 UTC]    Is_active field in books: YES
[21-Nov-2025 17:01:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:01:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:01:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:01:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:01:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:01:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:01:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:01:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:01:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:01:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:01:52 UTC] 📊 Database Info:
[21-Nov-2025 17:01:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:01:52 UTC]    Books columns count: 44
[21-Nov-2025 17:01:52 UTC]    Categories columns count: 7
[21-Nov-2025 17:01:52 UTC]    Language field in books: YES
[21-Nov-2025 17:01:52 UTC]    Format field in books: YES
[21-Nov-2025 17:01:52 UTC]    Description field in categories: YES
[21-Nov-2025 17:01:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:01:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:01:52 UTC]    Is_active field in books: YES
[21-Nov-2025 17:01:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:01:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:01:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:01:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:01:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:01:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:01:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:01:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:01:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:01:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:01:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:01:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:01:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:01:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:01:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:01:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:01:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:01:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:01:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:01:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:01:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:01:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:01:53 UTC] 📊 Database Info:
[21-Nov-2025 17:01:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:01:53 UTC]    Books columns count: 44
[21-Nov-2025 17:01:53 UTC]    Categories columns count: 7
[21-Nov-2025 17:01:53 UTC]    Language field in books: YES
[21-Nov-2025 17:01:53 UTC]    Format field in books: YES
[21-Nov-2025 17:01:53 UTC]    Description field in categories: YES
[21-Nov-2025 17:01:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:01:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:01:53 UTC]    Is_active field in books: YES
[21-Nov-2025 17:01:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:01:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:01:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:01:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:01:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:01:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:01:53 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:01:53 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:01:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:01:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:01:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:01:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:01:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:01:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:01:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:01:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:01:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:01:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:01:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:01:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:01:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:01:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:01:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:01:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:01:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:01:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:01:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:01:53 UTC] 📊 Database Info:
[21-Nov-2025 17:01:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:01:53 UTC]    Books columns count: 44
[21-Nov-2025 17:01:53 UTC]    Categories columns count: 7
[21-Nov-2025 17:01:53 UTC]    Language field in books: YES
[21-Nov-2025 17:01:53 UTC]    Format field in books: YES
[21-Nov-2025 17:01:53 UTC]    Description field in categories: YES
[21-Nov-2025 17:01:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:01:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:01:53 UTC]    Is_active field in books: YES
[21-Nov-2025 17:01:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:01:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:01:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:01:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:01:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:01:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:01:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:01:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:01:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:01:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:01:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:01:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:01:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:01:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:01:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:01:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:01:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:01:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:01:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:01:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:01:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:01:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:01:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:01:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:01:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:01:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:01:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:01:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:01:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:01:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:01:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:01:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:01:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:01:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:02:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:02:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:02:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:02:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:02:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:02:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:02:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:02:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:02:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:02:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:02:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:02:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:02:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:02:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:02:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:02:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:02:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:02:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:02:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:02:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:02:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:02:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:02:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:02:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:02:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:02:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:02:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:02:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:02:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:02:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:02:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:02:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:02:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:02:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:02:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:02:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:02:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:02:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:02:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:02:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:02:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:02:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:02:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:02:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:02:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:02:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:02:00 UTC] 📊 Database Info:
[21-Nov-2025 17:02:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:02:00 UTC]    Books columns count: 44
[21-Nov-2025 17:02:00 UTC]    Categories columns count: 7
[21-Nov-2025 17:02:00 UTC]    Language field in books: YES
[21-Nov-2025 17:02:00 UTC]    Format field in books: YES
[21-Nov-2025 17:02:00 UTC]    Description field in categories: YES
[21-Nov-2025 17:02:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:02:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:02:00 UTC]    Is_active field in books: YES
[21-Nov-2025 17:02:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:02:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:02:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:02:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:02:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:02:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:02:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:02:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:02:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:02:00 UTC] 📊 Database Info:
[21-Nov-2025 17:02:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:02:00 UTC]    Books columns count: 44
[21-Nov-2025 17:02:00 UTC]    Categories columns count: 7
[21-Nov-2025 17:02:00 UTC]    Language field in books: YES
[21-Nov-2025 17:02:00 UTC]    Format field in books: YES
[21-Nov-2025 17:02:00 UTC]    Description field in categories: YES
[21-Nov-2025 17:02:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:02:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:02:00 UTC]    Is_active field in books: YES
[21-Nov-2025 17:02:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:02:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:02:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:02:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:02:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:02:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:02:00 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:02:00 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:02:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:02:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:02:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:02:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:02:00 UTC] 📊 Database Info:
[21-Nov-2025 17:02:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:02:00 UTC]    Books columns count: 44
[21-Nov-2025 17:02:00 UTC]    Categories columns count: 7
[21-Nov-2025 17:02:00 UTC]    Language field in books: YES
[21-Nov-2025 17:02:00 UTC]    Format field in books: YES
[21-Nov-2025 17:02:00 UTC]    Description field in categories: YES
[21-Nov-2025 17:02:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:02:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:02:00 UTC]    Is_active field in books: YES
[21-Nov-2025 17:02:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:02:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:02:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:02:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:02:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:02:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:02:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:13 UTC] 📊 Database Info:
[21-Nov-2025 17:03:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:13 UTC]    Books columns count: 44
[21-Nov-2025 17:03:13 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:13 UTC]    Language field in books: YES
[21-Nov-2025 17:03:13 UTC]    Format field in books: YES
[21-Nov-2025 17:03:13 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:13 UTC] 📊 Database Info:
[21-Nov-2025 17:03:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:13 UTC]    Books columns count: 44
[21-Nov-2025 17:03:13 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:13 UTC]    Language field in books: YES
[21-Nov-2025 17:03:13 UTC]    Format field in books: YES
[21-Nov-2025 17:03:13 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:03:13 UTC] 📊 Database Info:
[21-Nov-2025 17:03:13 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:03:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:13 UTC]    Books columns count: 44
[21-Nov-2025 17:03:13 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:13 UTC]    Language field in books: YES
[21-Nov-2025 17:03:13 UTC]    Format field in books: YES
[21-Nov-2025 17:03:13 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:13 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:03:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:13 UTC] 📊 Database Info:
[21-Nov-2025 17:03:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:13 UTC]    Books columns count: 44
[21-Nov-2025 17:03:13 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:13 UTC]    Language field in books: YES
[21-Nov-2025 17:03:13 UTC]    Format field in books: YES
[21-Nov-2025 17:03:13 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:03:13 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:03:13 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:03:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:13 UTC] 📊 Database Info:
[21-Nov-2025 17:03:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:13 UTC]    Books columns count: 44
[21-Nov-2025 17:03:13 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:13 UTC]    Language field in books: YES
[21-Nov-2025 17:03:13 UTC]    Format field in books: YES
[21-Nov-2025 17:03:13 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:13 UTC] 📊 Database Info:
[21-Nov-2025 17:03:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:13 UTC]    Books columns count: 44
[21-Nov-2025 17:03:13 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:13 UTC]    Language field in books: YES
[21-Nov-2025 17:03:13 UTC]    Format field in books: YES
[21-Nov-2025 17:03:13 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:13 UTC] 📊 Database Info:
[21-Nov-2025 17:03:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:13 UTC]    Books columns count: 44
[21-Nov-2025 17:03:13 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:13 UTC]    Language field in books: YES
[21-Nov-2025 17:03:13 UTC]    Format field in books: YES
[21-Nov-2025 17:03:13 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:13 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:03:13 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:13 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:03:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:20 UTC] 📊 Database Info:
[21-Nov-2025 17:03:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:20 UTC]    Books columns count: 44
[21-Nov-2025 17:03:20 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:20 UTC]    Language field in books: YES
[21-Nov-2025 17:03:20 UTC]    Format field in books: YES
[21-Nov-2025 17:03:20 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:20 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:20 UTC] 📊 Database Info:
[21-Nov-2025 17:03:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:20 UTC]    Books columns count: 44
[21-Nov-2025 17:03:20 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:20 UTC]    Language field in books: YES
[21-Nov-2025 17:03:20 UTC]    Format field in books: YES
[21-Nov-2025 17:03:20 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:20 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:20 UTC] 📊 Database Info:
[21-Nov-2025 17:03:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:20 UTC]    Books columns count: 44
[21-Nov-2025 17:03:20 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:20 UTC]    Language field in books: YES
[21-Nov-2025 17:03:20 UTC]    Format field in books: YES
[21-Nov-2025 17:03:20 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:20 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:20 UTC] 📊 Database Info:
[21-Nov-2025 17:03:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:20 UTC]    Books columns count: 44
[21-Nov-2025 17:03:20 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:20 UTC]    Language field in books: YES
[21-Nov-2025 17:03:20 UTC]    Format field in books: YES
[21-Nov-2025 17:03:20 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:20 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:20 UTC] 📊 Database Info:
[21-Nov-2025 17:03:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:20 UTC]    Books columns count: 44
[21-Nov-2025 17:03:20 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:20 UTC]    Language field in books: YES
[21-Nov-2025 17:03:20 UTC]    Format field in books: YES
[21-Nov-2025 17:03:20 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:20 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:20 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:03:20 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:03:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:22 UTC] 📊 Database Info:
[21-Nov-2025 17:03:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:22 UTC]    Books columns count: 44
[21-Nov-2025 17:03:22 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:22 UTC]    Language field in books: YES
[21-Nov-2025 17:03:22 UTC]    Format field in books: YES
[21-Nov-2025 17:03:22 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:22 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:22 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:03:22 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:03:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:26 UTC] 📊 Database Info:
[21-Nov-2025 17:03:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:26 UTC]    Books columns count: 44
[21-Nov-2025 17:03:26 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:26 UTC]    Language field in books: YES
[21-Nov-2025 17:03:26 UTC]    Format field in books: YES
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:03:26 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:26 UTC] 📊 Database Info:
[21-Nov-2025 17:03:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:26 UTC]    Books columns count: 44
[21-Nov-2025 17:03:26 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:26 UTC]    Language field in books: YES
[21-Nov-2025 17:03:26 UTC]    Format field in books: YES
[21-Nov-2025 17:03:26 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:26 UTC] 📊 Database Info:
[21-Nov-2025 17:03:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:26 UTC]    Books columns count: 44
[21-Nov-2025 17:03:26 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:26 UTC]    Language field in books: YES
[21-Nov-2025 17:03:26 UTC]    Format field in books: YES
[21-Nov-2025 17:03:26 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:03:26 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:26 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:03:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:26 UTC] 📊 Database Info:
[21-Nov-2025 17:03:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:26 UTC]    Books columns count: 44
[21-Nov-2025 17:03:26 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:26 UTC]    Language field in books: YES
[21-Nov-2025 17:03:26 UTC]    Format field in books: YES
[21-Nov-2025 17:03:26 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:26 UTC] 📊 Database Info:
[21-Nov-2025 17:03:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:26 UTC]    Books columns count: 44
[21-Nov-2025 17:03:26 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:26 UTC]    Language field in books: YES
[21-Nov-2025 17:03:26 UTC]    Format field in books: YES
[21-Nov-2025 17:03:26 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:26 UTC] 📊 Database Info:
[21-Nov-2025 17:03:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:26 UTC]    Books columns count: 44
[21-Nov-2025 17:03:26 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:26 UTC]    Language field in books: YES
[21-Nov-2025 17:03:26 UTC]    Format field in books: YES
[21-Nov-2025 17:03:26 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:26 UTC] 📊 Database Info:
[21-Nov-2025 17:03:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:26 UTC]    Books columns count: 44
[21-Nov-2025 17:03:26 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:26 UTC]    Language field in books: YES
[21-Nov-2025 17:03:26 UTC]    Format field in books: YES
[21-Nov-2025 17:03:26 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:03:26 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:03:26 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:03:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:26 UTC] 📊 Database Info:
[21-Nov-2025 17:03:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:26 UTC]    Books columns count: 44
[21-Nov-2025 17:03:26 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:26 UTC]    Language field in books: YES
[21-Nov-2025 17:03:26 UTC]    Format field in books: YES
[21-Nov-2025 17:03:26 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:03:26 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:03:26 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:03:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:03:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:03:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:03:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:03:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:26 UTC] 📊 Database Info:
[21-Nov-2025 17:03:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:26 UTC]    Books columns count: 44
[21-Nov-2025 17:03:26 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:26 UTC]    Language field in books: YES
[21-Nov-2025 17:03:26 UTC]    Format field in books: YES
[21-Nov-2025 17:03:26 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:03:26 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:03:26 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:03:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:03:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:03:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:03:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:03:26 UTC] 📊 Database Info:
[21-Nov-2025 17:03:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:03:26 UTC]    Books columns count: 44
[21-Nov-2025 17:03:26 UTC]    Categories columns count: 7
[21-Nov-2025 17:03:26 UTC]    Language field in books: YES
[21-Nov-2025 17:03:26 UTC]    Format field in books: YES
[21-Nov-2025 17:03:26 UTC]    Description field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:03:26 UTC]    Is_active field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:03:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:03:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:03:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:03:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:03:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:03:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:03:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:03:26 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:03:26 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:09:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:09:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:09:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:09:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:09:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:09:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:09:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:09:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:09:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:09:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:09:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:09:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:09:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:09:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:09:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:09:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:09:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:09:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:09:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:09:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:09:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:09:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:09:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:09:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:09:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:09:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:09:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:09:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:09:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:09:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:09:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:09:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:09:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:09:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:09:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:09:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:09:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:09:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:09:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:09:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:09:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:09:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:09:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:09:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:09:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:09:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:09:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:09:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:09:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:09:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:09:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:09:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:09:29 UTC] 📊 Database Info:
[21-Nov-2025 17:09:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:09:29 UTC]    Books columns count: 44
[21-Nov-2025 17:09:29 UTC]    Categories columns count: 7
[21-Nov-2025 17:09:29 UTC]    Language field in books: YES
[21-Nov-2025 17:09:29 UTC]    Format field in books: YES
[21-Nov-2025 17:09:29 UTC]    Description field in categories: YES
[21-Nov-2025 17:09:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:09:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:09:29 UTC]    Is_active field in books: YES
[21-Nov-2025 17:09:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:09:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:09:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:09:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:09:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:09:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:09:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:09:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:09:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:09:29 UTC] 📊 Database Info:
[21-Nov-2025 17:09:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:09:29 UTC]    Books columns count: 44
[21-Nov-2025 17:09:29 UTC]    Categories columns count: 7
[21-Nov-2025 17:09:29 UTC]    Language field in books: YES
[21-Nov-2025 17:09:29 UTC]    Format field in books: YES
[21-Nov-2025 17:09:29 UTC]    Description field in categories: YES
[21-Nov-2025 17:09:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:09:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:09:29 UTC]    Is_active field in books: YES
[21-Nov-2025 17:09:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:09:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:09:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:09:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:09:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:09:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:09:29 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:09:29 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:09:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:09:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:09:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:09:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:09:29 UTC] 📊 Database Info:
[21-Nov-2025 17:09:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:09:29 UTC]    Books columns count: 44
[21-Nov-2025 17:09:29 UTC]    Categories columns count: 7
[21-Nov-2025 17:09:29 UTC]    Language field in books: YES
[21-Nov-2025 17:09:29 UTC]    Format field in books: YES
[21-Nov-2025 17:09:29 UTC]    Description field in categories: YES
[21-Nov-2025 17:09:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:09:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:09:29 UTC]    Is_active field in books: YES
[21-Nov-2025 17:09:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:09:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:09:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:09:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:09:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:09:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:10:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:10:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:10:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:10:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:10:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:10:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:10:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:10:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:10:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:10:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:10:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:10:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:10:04 UTC] 📊 Database Info:
[21-Nov-2025 17:10:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:10:04 UTC]    Books columns count: 44
[21-Nov-2025 17:10:04 UTC]    Categories columns count: 7
[21-Nov-2025 17:10:04 UTC]    Language field in books: YES
[21-Nov-2025 17:10:04 UTC]    Format field in books: YES
[21-Nov-2025 17:10:04 UTC]    Description field in categories: YES
[21-Nov-2025 17:10:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:10:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:10:04 UTC]    Is_active field in books: YES
[21-Nov-2025 17:10:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:10:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:10:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:10:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:10:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:10:04 UTC] 📊 Database Info:
[21-Nov-2025 17:10:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:10:04 UTC]    Books columns count: 44
[21-Nov-2025 17:10:04 UTC]    Categories columns count: 7
[21-Nov-2025 17:10:04 UTC]    Language field in books: YES
[21-Nov-2025 17:10:04 UTC]    Format field in books: YES
[21-Nov-2025 17:10:04 UTC]    Description field in categories: YES
[21-Nov-2025 17:10:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:10:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:10:04 UTC]    Is_active field in books: YES
[21-Nov-2025 17:10:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:10:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:10:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:10:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:10:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:10:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:10:04 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:10:04 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:10:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:10:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:10:04 UTC] 📊 Database Info:
[21-Nov-2025 17:10:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:10:04 UTC]    Books columns count: 44
[21-Nov-2025 17:10:04 UTC]    Categories columns count: 7
[21-Nov-2025 17:10:04 UTC]    Language field in books: YES
[21-Nov-2025 17:10:04 UTC]    Format field in books: YES
[21-Nov-2025 17:10:04 UTC]    Description field in categories: YES
[21-Nov-2025 17:10:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:10:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:10:04 UTC]    Is_active field in books: YES
[21-Nov-2025 17:10:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:10:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:10:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:10:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:10:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:10:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:10:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:10:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:10:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:10:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:10:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:18 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:10:18 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:10:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:10:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:10:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:18 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:10:18 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:10:18 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:10:18 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:10:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:18 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:10:18 UTC] 📊 Database Info:
[21-Nov-2025 17:10:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:10:18 UTC]    Books columns count: 44
[21-Nov-2025 17:10:18 UTC]    Categories columns count: 7
[21-Nov-2025 17:10:18 UTC]    Language field in books: YES
[21-Nov-2025 17:10:18 UTC]    Format field in books: YES
[21-Nov-2025 17:10:18 UTC]    Description field in categories: YES
[21-Nov-2025 17:10:18 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:10:18 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:10:18 UTC]    Is_active field in books: YES
[21-Nov-2025 17:10:18 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:10:18 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:10:18 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:10:18 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:10:18 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:10:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:10:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:18 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:10:18 UTC] 📊 Database Info:
[21-Nov-2025 17:10:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:10:18 UTC]    Books columns count: 44
[21-Nov-2025 17:10:18 UTC]    Categories columns count: 7
[21-Nov-2025 17:10:18 UTC]    Language field in books: YES
[21-Nov-2025 17:10:18 UTC]    Format field in books: YES
[21-Nov-2025 17:10:18 UTC]    Description field in categories: YES
[21-Nov-2025 17:10:18 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:10:18 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:10:18 UTC]    Is_active field in books: YES
[21-Nov-2025 17:10:18 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:10:18 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:10:18 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:10:18 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:10:18 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:10:18 UTC] 📊 Database Info:
[21-Nov-2025 17:10:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:10:18 UTC]    Books columns count: 44
[21-Nov-2025 17:10:18 UTC]    Categories columns count: 7
[21-Nov-2025 17:10:18 UTC]    Language field in books: YES
[21-Nov-2025 17:10:18 UTC]    Format field in books: YES
[21-Nov-2025 17:10:18 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:10:18 UTC]    Description field in categories: YES
[21-Nov-2025 17:10:18 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:10:18 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:10:18 UTC]    Is_active field in books: YES
[21-Nov-2025 17:10:18 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:10:18 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:10:18 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:10:18 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:10:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:10:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:10:18 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:10:18 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:10:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:10:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:10:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:10:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:10:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:10:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:10:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:10:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:10:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:10:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:10:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:10:19 UTC] 📊 Database Info:
[21-Nov-2025 17:10:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:10:19 UTC]    Books columns count: 44
[21-Nov-2025 17:10:19 UTC]    Categories columns count: 7
[21-Nov-2025 17:10:19 UTC]    Language field in books: YES
[21-Nov-2025 17:10:19 UTC]    Format field in books: YES
[21-Nov-2025 17:10:19 UTC]    Description field in categories: YES
[21-Nov-2025 17:10:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:10:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:10:19 UTC]    Is_active field in books: YES
[21-Nov-2025 17:10:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:10:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:10:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:10:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:10:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:10:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:10:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:10:19 UTC] 📊 Database Info:
[21-Nov-2025 17:10:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:10:19 UTC]    Books columns count: 44
[21-Nov-2025 17:10:19 UTC]    Categories columns count: 7
[21-Nov-2025 17:10:19 UTC]    Language field in books: YES
[21-Nov-2025 17:10:19 UTC]    Format field in books: YES
[21-Nov-2025 17:10:19 UTC]    Description field in categories: YES
[21-Nov-2025 17:10:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:10:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:10:19 UTC]    Is_active field in books: YES
[21-Nov-2025 17:10:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:10:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:10:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:10:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:10:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:10:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:10:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:10:19 UTC] 📊 Database Info:
[21-Nov-2025 17:10:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:10:19 UTC]    Books columns count: 44
[21-Nov-2025 17:10:19 UTC]    Categories columns count: 7
[21-Nov-2025 17:10:19 UTC]    Language field in books: YES
[21-Nov-2025 17:10:19 UTC]    Format field in books: YES
[21-Nov-2025 17:10:19 UTC]    Description field in categories: YES
[21-Nov-2025 17:10:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:10:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:10:19 UTC]    Is_active field in books: YES
[21-Nov-2025 17:10:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:10:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:10:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:10:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:10:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:10:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:10:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:10:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:10:19 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:10:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:10:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:10:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:10:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:10:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:10:19 UTC] 📊 Database Info:
[21-Nov-2025 17:10:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:10:19 UTC]    Books columns count: 44
[21-Nov-2025 17:10:19 UTC]    Categories columns count: 7
[21-Nov-2025 17:10:19 UTC]    Language field in books: YES
[21-Nov-2025 17:10:19 UTC]    Format field in books: YES
[21-Nov-2025 17:10:19 UTC]    Description field in categories: YES
[21-Nov-2025 17:10:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:10:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:10:19 UTC]    Is_active field in books: YES
[21-Nov-2025 17:10:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:10:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:10:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:10:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:10:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:10:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:10:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:10:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:10:19 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:10:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:10:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:10:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:10:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:10:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:10:19 UTC] 📊 Database Info:
[21-Nov-2025 17:10:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:10:19 UTC]    Books columns count: 44
[21-Nov-2025 17:10:19 UTC]    Categories columns count: 7
[21-Nov-2025 17:10:19 UTC]    Language field in books: YES
[21-Nov-2025 17:10:19 UTC]    Format field in books: YES
[21-Nov-2025 17:10:19 UTC]    Description field in categories: YES
[21-Nov-2025 17:10:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:10:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:10:19 UTC]    Is_active field in books: YES
[21-Nov-2025 17:10:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:10:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:10:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:10:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:10:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:10:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:10:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:10:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:10:19 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:10:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:10:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:10:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:10:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:10:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:10:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:10:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:10:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:10:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:10:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:10:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:10:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:10:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:10:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:10:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:10:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:10:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:10:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:10:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:10:20 UTC] 📊 Database Info:
[21-Nov-2025 17:10:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:10:20 UTC]    Books columns count: 44
[21-Nov-2025 17:10:20 UTC]    Categories columns count: 7
[21-Nov-2025 17:10:20 UTC]    Language field in books: YES
[21-Nov-2025 17:10:20 UTC]    Format field in books: YES
[21-Nov-2025 17:10:20 UTC]    Description field in categories: YES
[21-Nov-2025 17:10:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:10:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:10:20 UTC]    Is_active field in books: YES
[21-Nov-2025 17:10:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:10:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:10:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:10:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:10:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:10:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:10:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:10:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:10:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:10:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:10:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:10:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:10:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:10:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:10:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:10:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:10:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:10:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:10:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:10:20 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:10:20 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:16:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:16:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:16:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:16:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:16:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:16:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:21 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:16:21 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:16:21 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:16:21 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:16:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:16:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:21 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:16:21 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:16:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:21 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:16:21 UTC] 📊 Database Info:
[21-Nov-2025 17:16:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:16:21 UTC]    Books columns count: 44
[21-Nov-2025 17:16:21 UTC]    Categories columns count: 7
[21-Nov-2025 17:16:21 UTC]    Language field in books: YES
[21-Nov-2025 17:16:21 UTC]    Format field in books: YES
[21-Nov-2025 17:16:21 UTC]    Description field in categories: YES
[21-Nov-2025 17:16:21 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:16:21 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:16:21 UTC]    Is_active field in books: YES
[21-Nov-2025 17:16:21 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:16:21 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:16:21 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:16:21 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:16:21 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:16:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:16:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:21 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:16:21 UTC] 📊 Database Info:
[21-Nov-2025 17:16:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:16:21 UTC]    Books columns count: 44
[21-Nov-2025 17:16:21 UTC]    Categories columns count: 7
[21-Nov-2025 17:16:21 UTC]    Language field in books: YES
[21-Nov-2025 17:16:21 UTC]    Format field in books: YES
[21-Nov-2025 17:16:21 UTC]    Description field in categories: YES
[21-Nov-2025 17:16:21 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:16:21 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:16:21 UTC]    Is_active field in books: YES
[21-Nov-2025 17:16:21 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:16:21 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:16:21 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:16:21 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:16:21 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:16:21 UTC] 📊 Database Info:
[21-Nov-2025 17:16:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:16:21 UTC]    Books columns count: 44
[21-Nov-2025 17:16:21 UTC]    Categories columns count: 7
[21-Nov-2025 17:16:21 UTC]    Language field in books: YES
[21-Nov-2025 17:16:21 UTC]    Format field in books: YES
[21-Nov-2025 17:16:21 UTC]    Description field in categories: YES
[21-Nov-2025 17:16:21 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:16:21 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:16:21 UTC]    Is_active field in books: YES
[21-Nov-2025 17:16:21 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:16:21 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:16:21 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:16:21 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:16:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:16:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:16:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:16:21 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:16:21 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:16:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:16:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:16:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:21 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:16:21 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:16:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:21 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:16:21 UTC] 📊 Database Info:
[21-Nov-2025 17:16:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:16:21 UTC]    Books columns count: 44
[21-Nov-2025 17:16:21 UTC]    Categories columns count: 7
[21-Nov-2025 17:16:21 UTC]    Language field in books: YES
[21-Nov-2025 17:16:21 UTC]    Format field in books: YES
[21-Nov-2025 17:16:21 UTC]    Description field in categories: YES
[21-Nov-2025 17:16:21 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:16:21 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:16:21 UTC]    Is_active field in books: YES
[21-Nov-2025 17:16:21 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:16:21 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:16:21 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:16:21 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:16:21 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:16:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:16:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:16:21 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:16:21 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:16:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:16:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:16:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:16:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:16:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:16:22 UTC] 📊 Database Info:
[21-Nov-2025 17:16:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:16:22 UTC]    Books columns count: 44
[21-Nov-2025 17:16:22 UTC]    Categories columns count: 7
[21-Nov-2025 17:16:22 UTC]    Language field in books: YES
[21-Nov-2025 17:16:22 UTC]    Format field in books: YES
[21-Nov-2025 17:16:22 UTC]    Description field in categories: YES
[21-Nov-2025 17:16:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:16:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:16:22 UTC]    Is_active field in books: YES
[21-Nov-2025 17:16:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:16:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:16:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:16:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:16:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:16:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:16:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:16:22 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:16:22 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:16:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:16:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:16:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:25 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:16:25 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:16:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:16:25 UTC] 📊 Database Info:
[21-Nov-2025 17:16:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:16:25 UTC]    Books columns count: 44
[21-Nov-2025 17:16:25 UTC]    Categories columns count: 7
[21-Nov-2025 17:16:25 UTC]    Language field in books: YES
[21-Nov-2025 17:16:25 UTC]    Format field in books: YES
[21-Nov-2025 17:16:25 UTC]    Description field in categories: YES
[21-Nov-2025 17:16:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:16:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:16:25 UTC]    Is_active field in books: YES
[21-Nov-2025 17:16:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:16:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:16:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:16:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:16:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:16:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:16:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:16:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:16:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:16:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:16:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:16:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:16:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:16:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:16:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:16:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:16:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:16:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:16:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:16:25 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:16:25 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:16:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:16:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:16:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:16:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:16:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:16:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:16:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:16:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:16:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:16:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:16:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:16:53 UTC] 📊 Database Info:
[21-Nov-2025 17:16:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:16:53 UTC]    Books columns count: 44
[21-Nov-2025 17:16:53 UTC]    Categories columns count: 7
[21-Nov-2025 17:16:53 UTC]    Language field in books: YES
[21-Nov-2025 17:16:53 UTC]    Format field in books: YES
[21-Nov-2025 17:16:53 UTC]    Description field in categories: YES
[21-Nov-2025 17:16:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:16:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:16:53 UTC]    Is_active field in books: YES
[21-Nov-2025 17:16:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:16:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:16:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:16:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:16:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:16:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:16:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:16:53 UTC] 📊 Database Info:
[21-Nov-2025 17:16:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:16:53 UTC]    Books columns count: 44
[21-Nov-2025 17:16:53 UTC]    Categories columns count: 7
[21-Nov-2025 17:16:53 UTC]    Language field in books: YES
[21-Nov-2025 17:16:53 UTC]    Format field in books: YES
[21-Nov-2025 17:16:53 UTC]    Description field in categories: YES
[21-Nov-2025 17:16:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:16:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:16:53 UTC]    Is_active field in books: YES
[21-Nov-2025 17:16:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:16:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:16:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:16:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:16:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:16:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:16:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:16:53 UTC] 📊 Database Info:
[21-Nov-2025 17:16:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:16:53 UTC]    Books columns count: 44
[21-Nov-2025 17:16:53 UTC]    Categories columns count: 7
[21-Nov-2025 17:16:53 UTC]    Language field in books: YES
[21-Nov-2025 17:16:53 UTC]    Format field in books: YES
[21-Nov-2025 17:16:53 UTC]    Description field in categories: YES
[21-Nov-2025 17:16:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:16:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:16:53 UTC]    Is_active field in books: YES
[21-Nov-2025 17:16:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:16:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:16:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:16:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:16:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:16:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:16:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:16:53 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:16:53 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:16:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:16:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:16:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:54 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:16:54 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:16:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:54 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:16:54 UTC] 📊 Database Info:
[21-Nov-2025 17:16:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:16:54 UTC]    Books columns count: 44
[21-Nov-2025 17:16:54 UTC]    Categories columns count: 7
[21-Nov-2025 17:16:54 UTC]    Language field in books: YES
[21-Nov-2025 17:16:54 UTC]    Format field in books: YES
[21-Nov-2025 17:16:54 UTC]    Description field in categories: YES
[21-Nov-2025 17:16:54 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:16:54 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:16:54 UTC]    Is_active field in books: YES
[21-Nov-2025 17:16:54 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:16:54 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:16:54 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:16:54 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:16:54 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:16:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:16:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:16:54 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:16:54 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:16:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:16:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:16:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:54 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:16:54 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:16:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:54 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:16:54 UTC] 📊 Database Info:
[21-Nov-2025 17:16:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:16:54 UTC]    Books columns count: 44
[21-Nov-2025 17:16:54 UTC]    Categories columns count: 7
[21-Nov-2025 17:16:54 UTC]    Language field in books: YES
[21-Nov-2025 17:16:54 UTC]    Format field in books: YES
[21-Nov-2025 17:16:54 UTC]    Description field in categories: YES
[21-Nov-2025 17:16:54 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:16:54 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:16:54 UTC]    Is_active field in books: YES
[21-Nov-2025 17:16:54 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:16:54 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:16:54 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:16:54 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:16:54 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:16:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:16:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:16:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:16:54 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:16:54 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:16:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:16:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:16:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:16:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:16:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:16:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:16:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:16:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:16:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:16:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:16:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:16:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:16:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:16:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:16:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:16:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:16:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:16:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:16:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:16:56 UTC] 📊 Database Info:
[21-Nov-2025 17:16:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:16:56 UTC]    Books columns count: 44
[21-Nov-2025 17:16:56 UTC]    Categories columns count: 7
[21-Nov-2025 17:16:56 UTC]    Language field in books: YES
[21-Nov-2025 17:16:56 UTC]    Format field in books: YES
[21-Nov-2025 17:16:56 UTC]    Description field in categories: YES
[21-Nov-2025 17:16:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:16:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:16:56 UTC]    Is_active field in books: YES
[21-Nov-2025 17:16:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:16:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:16:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:16:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:16:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:16:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:16:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:16:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:16:56 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:17:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:17:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:17:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:17:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:17:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:17:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:17:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:17:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:17:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:17:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:17:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:17:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:17:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:17:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:17:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:17:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:17:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:17:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:17:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:17:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:17:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:17:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:17:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:17:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:17:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:17:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:17:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:17:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:17:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:17:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:17:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:17:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:17:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:17:05 UTC] 📊 Database Info:
[21-Nov-2025 17:17:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:17:05 UTC]    Books columns count: 44
[21-Nov-2025 17:17:05 UTC]    Categories columns count: 7
[21-Nov-2025 17:17:05 UTC]    Language field in books: YES
[21-Nov-2025 17:17:05 UTC]    Format field in books: YES
[21-Nov-2025 17:17:05 UTC]    Description field in categories: YES
[21-Nov-2025 17:17:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:17:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:17:05 UTC]    Is_active field in books: YES
[21-Nov-2025 17:17:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:17:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:17:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:17:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:17:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:17:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:17:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:17:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:17:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:17:05 UTC] 📊 Database Info:
[21-Nov-2025 17:17:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:17:05 UTC]    Books columns count: 44
[21-Nov-2025 17:17:05 UTC]    Categories columns count: 7
[21-Nov-2025 17:17:05 UTC]    Language field in books: YES
[21-Nov-2025 17:17:05 UTC]    Format field in books: YES
[21-Nov-2025 17:17:05 UTC]    Description field in categories: YES
[21-Nov-2025 17:17:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:17:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:17:05 UTC]    Is_active field in books: YES
[21-Nov-2025 17:17:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:17:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:17:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:17:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:17:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:17:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:17:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:17:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:17:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:17:05 UTC] 📊 Database Info:
[21-Nov-2025 17:17:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:17:05 UTC]    Books columns count: 44
[21-Nov-2025 17:17:05 UTC]    Categories columns count: 7
[21-Nov-2025 17:17:05 UTC]    Language field in books: YES
[21-Nov-2025 17:17:05 UTC]    Format field in books: YES
[21-Nov-2025 17:17:05 UTC]    Description field in categories: YES
[21-Nov-2025 17:17:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:17:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:17:05 UTC]    Is_active field in books: YES
[21-Nov-2025 17:17:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:17:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:17:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:17:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:17:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:17:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:17:05 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:17:05 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:17:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:17:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:17:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:17:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:17:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:17:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:17:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:17:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:17:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:17:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:17:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:17:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:17:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:17:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:17:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:17:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:17:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:17:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:17:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:17:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:17:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:17:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:17:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:17:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:17:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:17:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:17:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:17:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:17:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:17:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:17:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:17:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:17:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:17:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:17:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:17:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:17:05 UTC] 📊 Database Info:
[21-Nov-2025 17:17:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:17:05 UTC]    Books columns count: 44
[21-Nov-2025 17:17:05 UTC]    Categories columns count: 7
[21-Nov-2025 17:17:05 UTC]    Language field in books: YES
[21-Nov-2025 17:17:05 UTC]    Format field in books: YES
[21-Nov-2025 17:17:05 UTC]    Description field in categories: YES
[21-Nov-2025 17:17:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:17:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:17:05 UTC]    Is_active field in books: YES
[21-Nov-2025 17:17:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:17:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:17:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:17:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:17:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:17:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:17:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:17:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:17:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:17:05 UTC] 📊 Database Info:
[21-Nov-2025 17:17:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:17:05 UTC]    Books columns count: 44
[21-Nov-2025 17:17:05 UTC]    Categories columns count: 7
[21-Nov-2025 17:17:05 UTC]    Language field in books: YES
[21-Nov-2025 17:17:05 UTC]    Format field in books: YES
[21-Nov-2025 17:17:05 UTC]    Description field in categories: YES
[21-Nov-2025 17:17:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:17:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:17:05 UTC]    Is_active field in books: YES
[21-Nov-2025 17:17:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:17:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:17:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:17:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:17:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:17:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:17:05 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:17:05 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:17:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:17:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:17:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:17:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:17:05 UTC] 📊 Database Info:
[21-Nov-2025 17:17:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:17:05 UTC]    Books columns count: 44
[21-Nov-2025 17:17:05 UTC]    Categories columns count: 7
[21-Nov-2025 17:17:05 UTC]    Language field in books: YES
[21-Nov-2025 17:17:05 UTC]    Format field in books: YES
[21-Nov-2025 17:17:05 UTC]    Description field in categories: YES
[21-Nov-2025 17:17:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:17:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:17:05 UTC]    Is_active field in books: YES
[21-Nov-2025 17:17:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:17:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:17:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:17:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:17:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:17:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:37 UTC] 📊 Database Info:
[21-Nov-2025 17:18:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:37 UTC]    Books columns count: 44
[21-Nov-2025 17:18:37 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:37 UTC]    Language field in books: YES
[21-Nov-2025 17:18:37 UTC]    Format field in books: YES
[21-Nov-2025 17:18:37 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:37 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:37 UTC] 📊 Database Info:
[21-Nov-2025 17:18:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:37 UTC]    Books columns count: 44
[21-Nov-2025 17:18:37 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:37 UTC]    Language field in books: YES
[21-Nov-2025 17:18:37 UTC]    Format field in books: YES
[21-Nov-2025 17:18:37 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:37 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:37 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:18:37 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:18:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:37 UTC] 📊 Database Info:
[21-Nov-2025 17:18:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:37 UTC]    Books columns count: 44
[21-Nov-2025 17:18:37 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:37 UTC]    Language field in books: YES
[21-Nov-2025 17:18:37 UTC] 📊 Database Info:
[21-Nov-2025 17:18:37 UTC]    Format field in books: YES
[21-Nov-2025 17:18:37 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:37 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:37 UTC]    Books columns count: 44
[21-Nov-2025 17:18:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:37 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:37 UTC]    Language field in books: YES
[21-Nov-2025 17:18:37 UTC]    Format field in books: YES
[21-Nov-2025 17:18:37 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:37 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:37 UTC] 📊 Database Info:
[21-Nov-2025 17:18:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:37 UTC]    Books columns count: 44
[21-Nov-2025 17:18:37 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:37 UTC]    Language field in books: YES
[21-Nov-2025 17:18:37 UTC]    Format field in books: YES
[21-Nov-2025 17:18:37 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:37 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:37 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:18:37 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:18:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:37 UTC] 📊 Database Info:
[21-Nov-2025 17:18:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:37 UTC]    Books columns count: 44
[21-Nov-2025 17:18:37 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:37 UTC]    Language field in books: YES
[21-Nov-2025 17:18:37 UTC]    Format field in books: YES
[21-Nov-2025 17:18:37 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:37 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:50 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:50 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:50 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:50 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:50 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:50 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:50 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:50 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:50 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:50 UTC] 📊 Database Info:
[21-Nov-2025 17:18:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:50 UTC]    Books columns count: 44
[21-Nov-2025 17:18:50 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:50 UTC]    Language field in books: YES
[21-Nov-2025 17:18:50 UTC]    Format field in books: YES
[21-Nov-2025 17:18:50 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:50 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:50 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:50 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:50 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:50 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:18:50 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:18:50 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:18:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:50 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:50 UTC] 📊 Database Info:
[21-Nov-2025 17:18:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:50 UTC]    Books columns count: 44
[21-Nov-2025 17:18:50 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:50 UTC]    Language field in books: YES
[21-Nov-2025 17:18:50 UTC]    Format field in books: YES
[21-Nov-2025 17:18:50 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:50 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:50 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:50 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:50 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:50 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:50 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:50 UTC] 📊 Database Info:
[21-Nov-2025 17:18:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:50 UTC]    Books columns count: 44
[21-Nov-2025 17:18:50 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:50 UTC]    Language field in books: YES
[21-Nov-2025 17:18:50 UTC]    Format field in books: YES
[21-Nov-2025 17:18:50 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:50 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:50 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:50 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:50 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:50 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:50 UTC] 📊 Database Info:
[21-Nov-2025 17:18:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:50 UTC]    Books columns count: 44
[21-Nov-2025 17:18:50 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:50 UTC]    Language field in books: YES
[21-Nov-2025 17:18:50 UTC]    Format field in books: YES
[21-Nov-2025 17:18:50 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:50 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:50 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:50 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:50 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:50 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:50 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:18:50 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:50 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:18:50 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:18:50 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:18:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:50 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:50 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:50 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:50 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:50 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:50 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:50 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:50 UTC] 📊 Database Info:
[21-Nov-2025 17:18:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:50 UTC]    Books columns count: 44
[21-Nov-2025 17:18:50 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:50 UTC]    Language field in books: YES
[21-Nov-2025 17:18:50 UTC]    Format field in books: YES
[21-Nov-2025 17:18:50 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:50 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:50 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:50 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:50 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:50 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:50 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:50 UTC] 📊 Database Info:
[21-Nov-2025 17:18:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:50 UTC]    Books columns count: 44
[21-Nov-2025 17:18:50 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:50 UTC]    Language field in books: YES
[21-Nov-2025 17:18:50 UTC]    Format field in books: YES
[21-Nov-2025 17:18:50 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:50 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:50 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:50 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:50 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:50 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:50 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:50 UTC] 📊 Database Info:
[21-Nov-2025 17:18:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:50 UTC]    Books columns count: 44
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:50 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:50 UTC]    Language field in books: YES
[21-Nov-2025 17:18:50 UTC]    Format field in books: YES
[21-Nov-2025 17:18:50 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:50 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:50 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:50 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:50 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:50 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:50 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:51 UTC] 📊 Database Info:
[21-Nov-2025 17:18:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:51 UTC]    Books columns count: 44
[21-Nov-2025 17:18:51 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:51 UTC]    Language field in books: YES
[21-Nov-2025 17:18:51 UTC]    Format field in books: YES
[21-Nov-2025 17:18:51 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:51 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:18:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:18:51 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:18:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:56 UTC] 📊 Database Info:
[21-Nov-2025 17:18:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:56 UTC]    Books columns count: 44
[21-Nov-2025 17:18:56 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:56 UTC]    Language field in books: YES
[21-Nov-2025 17:18:56 UTC]    Format field in books: YES
[21-Nov-2025 17:18:56 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:56 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:56 UTC] 📊 Database Info:
[21-Nov-2025 17:18:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:56 UTC]    Books columns count: 44
[21-Nov-2025 17:18:56 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:56 UTC]    Language field in books: YES
[21-Nov-2025 17:18:56 UTC]    Format field in books: YES
[21-Nov-2025 17:18:56 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:56 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:56 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:18:56 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:18:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:56 UTC] 📊 Database Info:
[21-Nov-2025 17:18:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:56 UTC]    Books columns count: 44
[21-Nov-2025 17:18:56 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:56 UTC]    Language field in books: YES
[21-Nov-2025 17:18:56 UTC]    Format field in books: YES
[21-Nov-2025 17:18:56 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:56 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:56 UTC] 📊 Database Info:
[21-Nov-2025 17:18:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:56 UTC]    Books columns count: 44
[21-Nov-2025 17:18:56 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:56 UTC]    Language field in books: YES
[21-Nov-2025 17:18:56 UTC]    Format field in books: YES
[21-Nov-2025 17:18:56 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:56 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:56 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:18:56 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:18:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:18:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:18:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:18:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:18:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:18:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:18:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:18:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:18:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:18:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:18:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:57 UTC] 📊 Database Info:
[21-Nov-2025 17:18:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:57 UTC]    Books columns count: 44
[21-Nov-2025 17:18:57 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:57 UTC]    Language field in books: YES
[21-Nov-2025 17:18:57 UTC]    Format field in books: YES
[21-Nov-2025 17:18:57 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:57 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:18:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:18:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:18:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:18:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:18:57 UTC] 📊 Database Info:
[21-Nov-2025 17:18:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:18:57 UTC]    Books columns count: 44
[21-Nov-2025 17:18:57 UTC]    Categories columns count: 7
[21-Nov-2025 17:18:57 UTC]    Language field in books: YES
[21-Nov-2025 17:18:57 UTC]    Format field in books: YES
[21-Nov-2025 17:18:57 UTC]    Description field in categories: YES
[21-Nov-2025 17:18:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:18:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:18:57 UTC]    Is_active field in books: YES
[21-Nov-2025 17:18:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:18:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:18:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:18:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:18:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:18:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:18:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:19:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:19:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:19:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:19:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:19:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:19:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:19:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:19:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:19:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:19:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:19:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:19:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:19:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:19:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:19:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:19:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:19:01 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:19:01 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:19:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:19:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:19:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:19:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:19:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:19:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:19:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:19:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:19:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:19:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:19:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:19:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:19:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:19:01 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:19:01 UTC] 📊 Database Info:
[21-Nov-2025 17:19:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:19:01 UTC]    Books columns count: 44
[21-Nov-2025 17:19:01 UTC]    Categories columns count: 7
[21-Nov-2025 17:19:01 UTC]    Language field in books: YES
[21-Nov-2025 17:19:01 UTC]    Format field in books: YES
[21-Nov-2025 17:19:01 UTC]    Description field in categories: YES
[21-Nov-2025 17:19:01 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:19:01 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:19:01 UTC]    Is_active field in books: YES
[21-Nov-2025 17:19:01 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:19:01 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:19:01 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:19:01 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:19:01 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:19:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:20:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:20:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:20:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:20:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:20:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:20:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:20:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:20:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:20:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:20:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:20:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:20:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:20:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:20:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:20:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:20:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:20:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:20:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:20:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:20:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:20:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:20:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:20:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:20:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:20:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:20:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:20:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:20:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:20:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:20:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:20:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:20:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:20:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:20:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:20:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:20:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:20:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:20:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:20:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:20:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:20:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:20:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:20:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:20:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:20:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:20:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:20:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:20:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:20:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:20:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:20:24 UTC] 📊 Database Info:
[21-Nov-2025 17:20:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:20:24 UTC]    Books columns count: 44
[21-Nov-2025 17:20:24 UTC]    Categories columns count: 7
[21-Nov-2025 17:20:24 UTC]    Language field in books: YES
[21-Nov-2025 17:20:24 UTC]    Format field in books: YES
[21-Nov-2025 17:20:24 UTC]    Description field in categories: YES
[21-Nov-2025 17:20:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:20:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:20:24 UTC]    Is_active field in books: YES
[21-Nov-2025 17:20:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:20:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:20:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:20:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:20:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:20:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:20:24 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 17:20:24 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 17:20:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:20:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:20:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:20:24 UTC] 📊 Database Info:
[21-Nov-2025 17:20:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:20:24 UTC]    Books columns count: 44
[21-Nov-2025 17:20:24 UTC]    Categories columns count: 7
[21-Nov-2025 17:20:24 UTC]    Language field in books: YES
[21-Nov-2025 17:20:24 UTC]    Format field in books: YES
[21-Nov-2025 17:20:24 UTC]    Description field in categories: YES
[21-Nov-2025 17:20:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:20:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:20:24 UTC]    Is_active field in books: YES
[21-Nov-2025 17:20:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:20:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:20:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:20:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:20:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:20:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:20:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:20:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:20:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:20:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:20:24 UTC] 📊 Database Info:
[21-Nov-2025 17:20:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:20:24 UTC]    Books columns count: 44
[21-Nov-2025 17:20:24 UTC]    Categories columns count: 7
[21-Nov-2025 17:20:24 UTC]    Language field in books: YES
[21-Nov-2025 17:20:24 UTC]    Format field in books: YES
[21-Nov-2025 17:20:24 UTC]    Description field in categories: YES
[21-Nov-2025 17:20:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:20:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:20:24 UTC]    Is_active field in books: YES
[21-Nov-2025 17:20:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:20:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:20:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:20:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:20:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:20:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:20:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:20:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:20:24 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 17:20:24 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 17:20:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:20:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:20:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:20:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:20:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:20:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:20:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:20:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:20:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:20:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:20:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:20:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:20:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:20:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:20:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:20:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:20:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:20:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:20:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:20:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:20:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:20:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:20:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:20:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:20:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:20:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:20:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:20:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:20:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:20:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:20:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:20:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:20:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:20:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:20:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:20:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:20:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:20:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:20:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:20:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:20:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:20:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:20:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:20:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:20:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:20:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:20:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:20:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:20:51 UTC] 📊 Database Info:
[21-Nov-2025 17:20:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:20:51 UTC]    Books columns count: 44
[21-Nov-2025 17:20:51 UTC]    Categories columns count: 7
[21-Nov-2025 17:20:51 UTC]    Language field in books: YES
[21-Nov-2025 17:20:51 UTC]    Format field in books: YES
[21-Nov-2025 17:20:51 UTC]    Description field in categories: YES
[21-Nov-2025 17:20:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:20:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:20:51 UTC]    Is_active field in books: YES
[21-Nov-2025 17:20:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:20:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:20:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:20:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:20:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:20:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:20:51 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 17:20:51 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 17:20:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:20:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:20:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:20:51 UTC] 📊 Database Info:
[21-Nov-2025 17:20:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:20:51 UTC]    Books columns count: 44
[21-Nov-2025 17:20:51 UTC]    Categories columns count: 7
[21-Nov-2025 17:20:51 UTC]    Language field in books: YES
[21-Nov-2025 17:20:51 UTC]    Format field in books: YES
[21-Nov-2025 17:20:51 UTC]    Description field in categories: YES
[21-Nov-2025 17:20:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:20:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:20:51 UTC]    Is_active field in books: YES
[21-Nov-2025 17:20:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:20:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:20:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:20:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:20:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:20:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:20:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:20:51 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 17:20:51 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 17:20:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:20:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:20:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:20:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:20:51 UTC] 📊 Database Info:
[21-Nov-2025 17:20:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:20:51 UTC]    Books columns count: 44
[21-Nov-2025 17:20:51 UTC]    Categories columns count: 7
[21-Nov-2025 17:20:51 UTC]    Language field in books: YES
[21-Nov-2025 17:20:51 UTC]    Format field in books: YES
[21-Nov-2025 17:20:51 UTC]    Description field in categories: YES
[21-Nov-2025 17:20:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:20:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:20:51 UTC]    Is_active field in books: YES
[21-Nov-2025 17:20:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:20:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:20:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:20:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:20:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:20:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:20:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:21:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:21:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:21:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:21:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:21:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:21:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:21:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:21:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:21:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:21:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:21:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:21:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:21:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:21:05 UTC] 📊 Database Info:
[21-Nov-2025 17:21:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:21:05 UTC]    Books columns count: 44
[21-Nov-2025 17:21:05 UTC]    Categories columns count: 7
[21-Nov-2025 17:21:05 UTC]    Language field in books: YES
[21-Nov-2025 17:21:05 UTC]    Format field in books: YES
[21-Nov-2025 17:21:05 UTC]    Description field in categories: YES
[21-Nov-2025 17:21:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:21:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:21:05 UTC]    Is_active field in books: YES
[21-Nov-2025 17:21:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:21:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:21:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:21:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:21:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:21:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:21:05 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 17:21:05 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 17:21:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:21:05 UTC] 📊 Database Info:
[21-Nov-2025 17:21:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:21:05 UTC]    Books columns count: 44
[21-Nov-2025 17:21:05 UTC]    Categories columns count: 7
[21-Nov-2025 17:21:05 UTC]    Language field in books: YES
[21-Nov-2025 17:21:05 UTC]    Format field in books: YES
[21-Nov-2025 17:21:05 UTC]    Description field in categories: YES
[21-Nov-2025 17:21:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:21:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:21:05 UTC]    Is_active field in books: YES
[21-Nov-2025 17:21:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:21:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:21:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:21:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:21:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:21:05 UTC] 📊 Database Info:
[21-Nov-2025 17:21:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:21:05 UTC]    Books columns count: 44
[21-Nov-2025 17:21:05 UTC]    Categories columns count: 7
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:21:05 UTC]    Language field in books: YES
[21-Nov-2025 17:21:05 UTC]    Format field in books: YES
[21-Nov-2025 17:21:05 UTC]    Description field in categories: YES
[21-Nov-2025 17:21:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:21:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:21:05 UTC]    Is_active field in books: YES
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:21:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:21:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:21:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:21:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:21:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:21:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:21:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:21:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:21:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:21:05 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 17:21:05 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 17:21:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:21:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:21:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:21:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:21:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:11 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:21:11 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:21:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:21:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:11 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:21:11 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:21:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:21:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:11 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:21:11 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:11 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:21:11 UTC] 📊 Database Info:
[21-Nov-2025 17:21:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:21:11 UTC]    Books columns count: 44
[21-Nov-2025 17:21:11 UTC]    Categories columns count: 7
[21-Nov-2025 17:21:11 UTC]    Language field in books: YES
[21-Nov-2025 17:21:11 UTC]    Format field in books: YES
[21-Nov-2025 17:21:11 UTC]    Description field in categories: YES
[21-Nov-2025 17:21:11 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:21:11 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:21:11 UTC]    Is_active field in books: YES
[21-Nov-2025 17:21:11 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:21:11 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:21:11 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:21:11 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:21:11 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:21:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:21:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:11 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:21:11 UTC] 📊 Database Info:
[21-Nov-2025 17:21:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:21:11 UTC]    Books columns count: 44
[21-Nov-2025 17:21:11 UTC]    Categories columns count: 7
[21-Nov-2025 17:21:11 UTC]    Language field in books: YES
[21-Nov-2025 17:21:11 UTC]    Format field in books: YES
[21-Nov-2025 17:21:11 UTC]    Description field in categories: YES
[21-Nov-2025 17:21:11 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:21:11 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:21:11 UTC]    Is_active field in books: YES
[21-Nov-2025 17:21:11 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:21:11 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:21:11 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:21:11 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:21:11 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:21:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:21:11 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 17:21:11 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 17:21:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:11 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:21:11 UTC] 📊 Database Info:
[21-Nov-2025 17:21:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:21:11 UTC]    Books columns count: 44
[21-Nov-2025 17:21:11 UTC]    Categories columns count: 7
[21-Nov-2025 17:21:11 UTC]    Language field in books: YES
[21-Nov-2025 17:21:11 UTC]    Format field in books: YES
[21-Nov-2025 17:21:11 UTC]    Description field in categories: YES
[21-Nov-2025 17:21:11 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:21:11 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:21:11 UTC]    Is_active field in books: YES
[21-Nov-2025 17:21:11 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:21:11 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:21:11 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:21:11 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:21:11 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:21:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:21:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:21:11 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 17:21:11 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 17:21:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:21:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:21:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:21:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:21:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:21:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:21:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:21:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:21:32 UTC] 📊 Database Info:
[21-Nov-2025 17:21:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:21:32 UTC]    Books columns count: 44
[21-Nov-2025 17:21:32 UTC]    Categories columns count: 7
[21-Nov-2025 17:21:32 UTC]    Language field in books: YES
[21-Nov-2025 17:21:32 UTC]    Format field in books: YES
[21-Nov-2025 17:21:32 UTC]    Description field in categories: YES
[21-Nov-2025 17:21:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:21:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:21:32 UTC]    Is_active field in books: YES
[21-Nov-2025 17:21:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:21:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:21:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:21:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:21:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:21:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:21:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:21:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 17:21:32 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 17:21:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:21:32 UTC] 📊 Database Info:
[21-Nov-2025 17:21:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:21:32 UTC]    Books columns count: 44
[21-Nov-2025 17:21:32 UTC]    Categories columns count: 7
[21-Nov-2025 17:21:32 UTC]    Language field in books: YES
[21-Nov-2025 17:21:32 UTC]    Format field in books: YES
[21-Nov-2025 17:21:32 UTC]    Description field in categories: YES
[21-Nov-2025 17:21:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:21:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:21:32 UTC]    Is_active field in books: YES
[21-Nov-2025 17:21:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:21:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:21:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:21:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:21:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:21:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:21:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:21:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:21:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:21:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:21:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:21:32 UTC] 📊 Database Info:
[21-Nov-2025 17:21:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:21:32 UTC]    Books columns count: 44
[21-Nov-2025 17:21:32 UTC]    Categories columns count: 7
[21-Nov-2025 17:21:32 UTC]    Language field in books: YES
[21-Nov-2025 17:21:32 UTC]    Format field in books: YES
[21-Nov-2025 17:21:32 UTC]    Description field in categories: YES
[21-Nov-2025 17:21:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:21:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:21:32 UTC]    Is_active field in books: YES
[21-Nov-2025 17:21:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:21:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:21:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:21:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:21:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:21:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:21:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:21:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 17:21:32 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 17:21:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:21:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:21:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:21:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:21:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:21:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:21:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:21:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:21:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:21:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:21:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:21:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:21:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:21:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:21:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:21:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:21:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:21:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:21:44 UTC] 📊 Database Info:
[21-Nov-2025 17:21:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:21:44 UTC]    Books columns count: 44
[21-Nov-2025 17:21:44 UTC]    Categories columns count: 7
[21-Nov-2025 17:21:44 UTC]    Language field in books: YES
[21-Nov-2025 17:21:44 UTC]    Format field in books: YES
[21-Nov-2025 17:21:44 UTC]    Description field in categories: YES
[21-Nov-2025 17:21:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:21:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:21:44 UTC]    Is_active field in books: YES
[21-Nov-2025 17:21:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:21:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:21:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:21:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:21:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:21:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:21:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:21:44 UTC] 📊 Database Info:
[21-Nov-2025 17:21:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:21:44 UTC]    Books columns count: 44
[21-Nov-2025 17:21:44 UTC]    Categories columns count: 7
[21-Nov-2025 17:21:44 UTC]    Language field in books: YES
[21-Nov-2025 17:21:44 UTC]    Format field in books: YES
[21-Nov-2025 17:21:44 UTC]    Description field in categories: YES
[21-Nov-2025 17:21:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:21:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:21:44 UTC]    Is_active field in books: YES
[21-Nov-2025 17:21:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:21:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:21:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:21:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:21:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:21:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:21:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:21:44 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 17:21:44 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 17:21:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:21:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:21:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:21:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:21:44 UTC] 📊 Database Info:
[21-Nov-2025 17:21:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:21:44 UTC]    Books columns count: 44
[21-Nov-2025 17:21:44 UTC]    Categories columns count: 7
[21-Nov-2025 17:21:44 UTC]    Language field in books: YES
[21-Nov-2025 17:21:44 UTC]    Format field in books: YES
[21-Nov-2025 17:21:44 UTC]    Description field in categories: YES
[21-Nov-2025 17:21:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:21:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:21:44 UTC]    Is_active field in books: YES
[21-Nov-2025 17:21:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:21:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:21:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:21:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:21:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:21:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:21:44 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 17:21:44 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 17:27:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:27:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:27:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:27:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:27:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:27:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:27:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:27:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:27:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:27:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:27:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:27:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:27:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:27:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:27:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:27:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:27:17 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:27:17 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:27:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:27:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:27:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:27:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:27:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:27:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:27:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:27:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:27:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:27:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:27:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:27:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:27:17 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:27:17 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:27:17 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:27:17 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:27:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:27:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:27:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:27:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:27:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:27:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:27:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:27:17 UTC] 📊 Database Info:
[21-Nov-2025 17:27:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:27:17 UTC]    Books columns count: 44
[21-Nov-2025 17:27:17 UTC]    Categories columns count: 7
[21-Nov-2025 17:27:17 UTC]    Language field in books: YES
[21-Nov-2025 17:27:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:27:17 UTC]    Format field in books: YES
[21-Nov-2025 17:27:17 UTC]    Description field in categories: YES
[21-Nov-2025 17:27:17 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:27:17 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:27:17 UTC]    Is_active field in books: YES
[21-Nov-2025 17:27:17 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:27:17 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:27:17 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:27:17 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:27:17 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:27:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:27:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:27:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:27:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:27:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:27:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:27:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:27:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:27:17 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:27:17 UTC] 📊 Database Info:
[21-Nov-2025 17:27:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:27:17 UTC]    Books columns count: 44
[21-Nov-2025 17:27:17 UTC]    Categories columns count: 7
[21-Nov-2025 17:27:17 UTC]    Language field in books: YES
[21-Nov-2025 17:27:17 UTC]    Format field in books: YES
[21-Nov-2025 17:27:17 UTC]    Description field in categories: YES
[21-Nov-2025 17:27:17 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:27:17 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:27:17 UTC]    Is_active field in books: YES
[21-Nov-2025 17:27:17 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:27:17 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:27:17 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:27:17 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:27:17 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:27:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:27:17 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:27:17 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:27:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:27:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:27:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:27:17 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:27:17 UTC] 📊 Database Info:
[21-Nov-2025 17:27:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:27:17 UTC]    Books columns count: 44
[21-Nov-2025 17:27:17 UTC]    Categories columns count: 7
[21-Nov-2025 17:27:17 UTC]    Language field in books: YES
[21-Nov-2025 17:27:17 UTC]    Format field in books: YES
[21-Nov-2025 17:27:17 UTC]    Description field in categories: YES
[21-Nov-2025 17:27:17 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:27:17 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:27:17 UTC]    Is_active field in books: YES
[21-Nov-2025 17:27:17 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:27:17 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:27:17 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:27:17 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:27:17 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:27:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:27:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:38 UTC] 📊 Database Info:
[21-Nov-2025 17:29:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:38 UTC]    Books columns count: 44
[21-Nov-2025 17:29:38 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:38 UTC]    Language field in books: YES
[21-Nov-2025 17:29:38 UTC]    Format field in books: YES
[21-Nov-2025 17:29:38 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:38 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:38 UTC] 📊 Database Info:
[21-Nov-2025 17:29:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:38 UTC]    Books columns count: 44
[21-Nov-2025 17:29:38 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:38 UTC]    Language field in books: YES
[21-Nov-2025 17:29:38 UTC]    Format field in books: YES
[21-Nov-2025 17:29:38 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:38 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:38 UTC] 📊 Database Info:
[21-Nov-2025 17:29:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:38 UTC]    Books columns count: 44
[21-Nov-2025 17:29:38 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:38 UTC]    Language field in books: YES
[21-Nov-2025 17:29:38 UTC]    Format field in books: YES
[21-Nov-2025 17:29:38 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:38 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:38 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:29:38 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:38 UTC] 📊 Database Info:
[21-Nov-2025 17:29:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:38 UTC]    Books columns count: 44
[21-Nov-2025 17:29:38 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:38 UTC]    Language field in books: YES
[21-Nov-2025 17:29:38 UTC]    Format field in books: YES
[21-Nov-2025 17:29:38 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:38 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:38 UTC] 📊 Database Info:
[21-Nov-2025 17:29:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:38 UTC]    Books columns count: 44
[21-Nov-2025 17:29:38 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:38 UTC]    Language field in books: YES
[21-Nov-2025 17:29:38 UTC]    Format field in books: YES
[21-Nov-2025 17:29:38 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:38 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:38 UTC] 📊 Database Info:
[21-Nov-2025 17:29:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:38 UTC]    Books columns count: 44
[21-Nov-2025 17:29:38 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:38 UTC]    Language field in books: YES
[21-Nov-2025 17:29:38 UTC]    Format field in books: YES
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:38 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:38 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:38 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:29:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:38 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:41 UTC] 📊 Database Info:
[21-Nov-2025 17:29:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:41 UTC]    Books columns count: 44
[21-Nov-2025 17:29:41 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:41 UTC]    Language field in books: YES
[21-Nov-2025 17:29:41 UTC]    Format field in books: YES
[21-Nov-2025 17:29:41 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:41 UTC] 📊 Database Info:
[21-Nov-2025 17:29:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:41 UTC]    Books columns count: 44
[21-Nov-2025 17:29:41 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:41 UTC]    Language field in books: YES
[21-Nov-2025 17:29:41 UTC]    Format field in books: YES
[21-Nov-2025 17:29:41 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:29:41 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:29:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:41 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:41 UTC] 📊 Database Info:
[21-Nov-2025 17:29:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:41 UTC]    Books columns count: 44
[21-Nov-2025 17:29:41 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:41 UTC]    Language field in books: YES
[21-Nov-2025 17:29:41 UTC]    Format field in books: YES
[21-Nov-2025 17:29:41 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:41 UTC] 📊 Database Info:
[21-Nov-2025 17:29:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:41 UTC]    Books columns count: 44
[21-Nov-2025 17:29:41 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:41 UTC]    Language field in books: YES
[21-Nov-2025 17:29:41 UTC]    Format field in books: YES
[21-Nov-2025 17:29:41 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:41 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:41 UTC] 📊 Database Info:
[21-Nov-2025 17:29:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:41 UTC]    Books columns count: 44
[21-Nov-2025 17:29:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:41 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:41 UTC]    Language field in books: YES
[21-Nov-2025 17:29:41 UTC]    Format field in books: YES
[21-Nov-2025 17:29:41 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:41 UTC] 📊 Database Info:
[21-Nov-2025 17:29:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:41 UTC]    Books columns count: 44
[21-Nov-2025 17:29:41 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:41 UTC]    Language field in books: YES
[21-Nov-2025 17:29:41 UTC]    Format field in books: YES
[21-Nov-2025 17:29:41 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:29:41 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:29:41 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:29:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:41 UTC] 📊 Database Info:
[21-Nov-2025 17:29:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:41 UTC]    Books columns count: 44
[21-Nov-2025 17:29:41 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:41 UTC]    Language field in books: YES
[21-Nov-2025 17:29:41 UTC]    Format field in books: YES
[21-Nov-2025 17:29:41 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:41 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:29:41 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:29:41 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:29:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:42 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:42 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:42 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:42 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:42 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:42 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:42 UTC] 📊 Database Info:
[21-Nov-2025 17:29:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:42 UTC]    Books columns count: 44
[21-Nov-2025 17:29:42 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:42 UTC]    Language field in books: YES
[21-Nov-2025 17:29:42 UTC]    Format field in books: YES
[21-Nov-2025 17:29:42 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:42 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:29:42 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:29:42 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:29:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:42 UTC] 📊 Database Info:
[21-Nov-2025 17:29:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:42 UTC]    Books columns count: 44
[21-Nov-2025 17:29:42 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:42 UTC]    Language field in books: YES
[21-Nov-2025 17:29:42 UTC]    Format field in books: YES
[21-Nov-2025 17:29:42 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:42 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:29:42 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:29:42 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:29:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:42 UTC] 📊 Database Info:
[21-Nov-2025 17:29:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:42 UTC]    Books columns count: 44
[21-Nov-2025 17:29:42 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:42 UTC]    Language field in books: YES
[21-Nov-2025 17:29:42 UTC]    Format field in books: YES
[21-Nov-2025 17:29:42 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:42 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:29:42 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:29:42 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:29:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:47 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:47 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:47 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:47 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:47 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:47 UTC] 📊 Database Info:
[21-Nov-2025 17:29:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:47 UTC]    Books columns count: 44
[21-Nov-2025 17:29:47 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:47 UTC]    Language field in books: YES
[21-Nov-2025 17:29:47 UTC]    Format field in books: YES
[21-Nov-2025 17:29:47 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:47 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:47 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:47 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:47 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:47 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:47 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:47 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:47 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:47 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:29:47 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:29:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:47 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:47 UTC] 📊 Database Info:
[21-Nov-2025 17:29:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:47 UTC]    Books columns count: 44
[21-Nov-2025 17:29:47 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:47 UTC]    Language field in books: YES
[21-Nov-2025 17:29:47 UTC]    Format field in books: YES
[21-Nov-2025 17:29:47 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:47 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:47 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:47 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:47 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:47 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:47 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:47 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:47 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:48 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:48 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:48 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:29:48 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:48 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:48 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:48 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:48 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:48 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:48 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:48 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:48 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:29:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:29:48 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:29:48 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:29:48 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:29:48 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:29:48 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:29:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:48 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:48 UTC] 📊 Database Info:
[21-Nov-2025 17:29:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:48 UTC]    Books columns count: 44
[21-Nov-2025 17:29:48 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:48 UTC]    Language field in books: YES
[21-Nov-2025 17:29:48 UTC]    Format field in books: YES
[21-Nov-2025 17:29:48 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:48 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:48 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:48 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:48 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:48 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:48 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:48 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:48 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:48 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:48 UTC] 📊 Database Info:
[21-Nov-2025 17:29:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:48 UTC]    Books columns count: 44
[21-Nov-2025 17:29:48 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:48 UTC]    Language field in books: YES
[21-Nov-2025 17:29:48 UTC]    Format field in books: YES
[21-Nov-2025 17:29:48 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:48 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:48 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:48 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:48 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:48 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:48 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:48 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:48 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:48 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:48 UTC] 📊 Database Info:
[21-Nov-2025 17:29:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:48 UTC]    Books columns count: 44
[21-Nov-2025 17:29:48 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:48 UTC]    Language field in books: YES
[21-Nov-2025 17:29:48 UTC]    Format field in books: YES
[21-Nov-2025 17:29:48 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:48 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:48 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:48 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:48 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:48 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:48 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:48 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:48 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:29:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:29:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:29:48 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:29:48 UTC] 📊 Database Info:
[21-Nov-2025 17:29:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:29:48 UTC]    Books columns count: 44
[21-Nov-2025 17:29:48 UTC]    Categories columns count: 7
[21-Nov-2025 17:29:48 UTC]    Language field in books: YES
[21-Nov-2025 17:29:48 UTC]    Format field in books: YES
[21-Nov-2025 17:29:48 UTC]    Description field in categories: YES
[21-Nov-2025 17:29:48 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:29:48 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:29:48 UTC]    Is_active field in books: YES
[21-Nov-2025 17:29:48 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:29:48 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:29:48 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:29:48 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:29:48 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:29:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:29:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:29:48 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:29:48 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:30:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:09 UTC] 📊 Database Info:
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:09 UTC]    Books columns count: 44
[21-Nov-2025 17:30:09 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:09 UTC]    Language field in books: YES
[21-Nov-2025 17:30:09 UTC]    Format field in books: YES
[21-Nov-2025 17:30:09 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:09 UTC] 📊 Database Info:
[21-Nov-2025 17:30:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:09 UTC]    Books columns count: 44
[21-Nov-2025 17:30:09 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:09 UTC]    Language field in books: YES
[21-Nov-2025 17:30:09 UTC]    Format field in books: YES
[21-Nov-2025 17:30:09 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:09 UTC] 📊 Database Info:
[21-Nov-2025 17:30:09 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:09 UTC]    Books columns count: 44
[21-Nov-2025 17:30:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:09 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:09 UTC]    Language field in books: YES
[21-Nov-2025 17:30:09 UTC]    Format field in books: YES
[21-Nov-2025 17:30:09 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:09 UTC] 📊 Database Info:
[21-Nov-2025 17:30:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:09 UTC]    Books columns count: 44
[21-Nov-2025 17:30:09 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:09 UTC]    Language field in books: YES
[21-Nov-2025 17:30:09 UTC]    Format field in books: YES
[21-Nov-2025 17:30:09 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:09 UTC] 📊 Database Info:
[21-Nov-2025 17:30:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:09 UTC]    Books columns count: 44
[21-Nov-2025 17:30:09 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:09 UTC]    Language field in books: YES
[21-Nov-2025 17:30:09 UTC]    Format field in books: YES
[21-Nov-2025 17:30:09 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:30:09 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:09 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:30:09 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:30:09 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:30:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:09 UTC] 📊 Database Info:
[21-Nov-2025 17:30:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:09 UTC]    Books columns count: 44
[21-Nov-2025 17:30:09 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:09 UTC]    Language field in books: YES
[21-Nov-2025 17:30:09 UTC]    Format field in books: YES
[21-Nov-2025 17:30:09 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:09 UTC] 📊 Database Info:
[21-Nov-2025 17:30:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:09 UTC]    Books columns count: 44
[21-Nov-2025 17:30:09 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:09 UTC]    Language field in books: YES
[21-Nov-2025 17:30:09 UTC]    Format field in books: YES
[21-Nov-2025 17:30:09 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:09 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:30:09 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:30:09 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:30:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:10 UTC] 📊 Database Info:
[21-Nov-2025 17:30:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:10 UTC]    Books columns count: 44
[21-Nov-2025 17:30:10 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:10 UTC]    Language field in books: YES
[21-Nov-2025 17:30:10 UTC]    Format field in books: YES
[21-Nov-2025 17:30:10 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:10 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:30:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:30:10 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:30:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:10 UTC] 📊 Database Info:
[21-Nov-2025 17:30:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:10 UTC]    Books columns count: 44
[21-Nov-2025 17:30:10 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:10 UTC]    Language field in books: YES
[21-Nov-2025 17:30:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:10 UTC]    Format field in books: YES
[21-Nov-2025 17:30:10 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:10 UTC] 📊 Database Info:
[21-Nov-2025 17:30:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:10 UTC]    Books columns count: 44
[21-Nov-2025 17:30:10 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:10 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:10 UTC]    Language field in books: YES
[21-Nov-2025 17:30:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:10 UTC]    Format field in books: YES
[21-Nov-2025 17:30:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:10 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:10 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:10 UTC] 📊 Database Info:
[21-Nov-2025 17:30:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:10 UTC]    Books columns count: 44
[21-Nov-2025 17:30:10 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:10 UTC]    Language field in books: YES
[21-Nov-2025 17:30:10 UTC]    Format field in books: YES
[21-Nov-2025 17:30:10 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:10 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:30:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:10 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:30:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:30:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:30:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:30:10 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:30:10 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:30:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:23 UTC] 📊 Database Info:
[21-Nov-2025 17:30:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:23 UTC]    Books columns count: 44
[21-Nov-2025 17:30:23 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:23 UTC]    Language field in books: YES
[21-Nov-2025 17:30:23 UTC]    Format field in books: YES
[21-Nov-2025 17:30:23 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:23 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:23 UTC] 📊 Database Info:
[21-Nov-2025 17:30:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:23 UTC]    Books columns count: 44
[21-Nov-2025 17:30:23 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:23 UTC]    Language field in books: YES
[21-Nov-2025 17:30:23 UTC]    Format field in books: YES
[21-Nov-2025 17:30:23 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:23 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:23 UTC] 📊 Database Info:
[21-Nov-2025 17:30:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:23 UTC]    Books columns count: 44
[21-Nov-2025 17:30:23 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:23 UTC]    Language field in books: YES
[21-Nov-2025 17:30:23 UTC]    Format field in books: YES
[21-Nov-2025 17:30:23 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:23 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:23 UTC] 📊 Database Info:
[21-Nov-2025 17:30:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:23 UTC]    Books columns count: 44
[21-Nov-2025 17:30:23 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:23 UTC]    Language field in books: YES
[21-Nov-2025 17:30:23 UTC]    Format field in books: YES
[21-Nov-2025 17:30:23 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:23 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:23 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:30:23 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:30:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:24 UTC] 📊 Database Info:
[21-Nov-2025 17:30:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:24 UTC]    Books columns count: 44
[21-Nov-2025 17:30:24 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:24 UTC]    Language field in books: YES
[21-Nov-2025 17:30:24 UTC]    Format field in books: YES
[21-Nov-2025 17:30:24 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:24 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:24 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:30:24 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:30:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:24 UTC] 📊 Database Info:
[21-Nov-2025 17:30:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:24 UTC]    Books columns count: 44
[21-Nov-2025 17:30:24 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:24 UTC]    Language field in books: YES
[21-Nov-2025 17:30:24 UTC]    Format field in books: YES
[21-Nov-2025 17:30:24 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:24 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:32 UTC] 📊 Database Info:
[21-Nov-2025 17:30:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:32 UTC]    Books columns count: 44
[21-Nov-2025 17:30:32 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:32 UTC]    Language field in books: YES
[21-Nov-2025 17:30:32 UTC]    Format field in books: YES
[21-Nov-2025 17:30:32 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:32 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:32 UTC] 📊 Database Info:
[21-Nov-2025 17:30:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:32 UTC]    Books columns count: 44
[21-Nov-2025 17:30:32 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:32 UTC]    Language field in books: YES
[21-Nov-2025 17:30:32 UTC]    Format field in books: YES
[21-Nov-2025 17:30:32 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:32 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:32 UTC] 📊 Database Info:
[21-Nov-2025 17:30:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:32 UTC]    Books columns count: 44
[21-Nov-2025 17:30:32 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:32 UTC]    Language field in books: YES
[21-Nov-2025 17:30:32 UTC]    Format field in books: YES
[21-Nov-2025 17:30:32 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:32 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:32 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:30:32 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:30:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:35 UTC] 📊 Database Info:
[21-Nov-2025 17:30:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:35 UTC]    Books columns count: 44
[21-Nov-2025 17:30:35 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:35 UTC]    Language field in books: YES
[21-Nov-2025 17:30:35 UTC]    Format field in books: YES
[21-Nov-2025 17:30:35 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:35 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:35 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:30:35 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:30:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:35 UTC] 📊 Database Info:
[21-Nov-2025 17:30:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:35 UTC]    Books columns count: 44
[21-Nov-2025 17:30:35 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:35 UTC]    Language field in books: YES
[21-Nov-2025 17:30:35 UTC]    Format field in books: YES
[21-Nov-2025 17:30:35 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:35 UTC] 📊 Database Info:
[21-Nov-2025 17:30:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:35 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:35 UTC]    Books columns count: 44
[21-Nov-2025 17:30:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:35 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:35 UTC]    Language field in books: YES
[21-Nov-2025 17:30:35 UTC]    Format field in books: YES
[21-Nov-2025 17:30:35 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:35 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:39 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:39 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:39 UTC] 📊 Database Info:
[21-Nov-2025 17:30:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:39 UTC]    Books columns count: 44
[21-Nov-2025 17:30:39 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:39 UTC]    Language field in books: YES
[21-Nov-2025 17:30:39 UTC]    Format field in books: YES
[21-Nov-2025 17:30:39 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:39 UTC] 📊 Database Info:
[21-Nov-2025 17:30:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:39 UTC]    Books columns count: 44
[21-Nov-2025 17:30:39 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:39 UTC]    Language field in books: YES
[21-Nov-2025 17:30:39 UTC]    Format field in books: YES
[21-Nov-2025 17:30:39 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:39 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:30:39 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:39 UTC] 📊 Database Info:
[21-Nov-2025 17:30:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:39 UTC]    Books columns count: 44
[21-Nov-2025 17:30:39 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:39 UTC]    Language field in books: YES
[21-Nov-2025 17:30:39 UTC]    Format field in books: YES
[21-Nov-2025 17:30:39 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:39 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:39 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:39 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:39 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:39 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:39 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:39 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:39 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:39 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:39 UTC] 📊 Database Info:
[21-Nov-2025 17:30:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:39 UTC]    Books columns count: 44
[21-Nov-2025 17:30:39 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:39 UTC]    Language field in books: YES
[21-Nov-2025 17:30:39 UTC]    Format field in books: YES
[21-Nov-2025 17:30:39 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:39 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:39 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:39 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:39 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:39 UTC] 📊 Database Info:
[21-Nov-2025 17:30:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:39 UTC]    Books columns count: 44
[21-Nov-2025 17:30:39 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:39 UTC]    Language field in books: YES
[21-Nov-2025 17:30:39 UTC]    Format field in books: YES
[21-Nov-2025 17:30:39 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:39 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:39 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:39 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:39 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:39 UTC] 📊 Database Info:
[21-Nov-2025 17:30:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:39 UTC]    Books columns count: 44
[21-Nov-2025 17:30:39 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:39 UTC]    Language field in books: YES
[21-Nov-2025 17:30:39 UTC]    Format field in books: YES
[21-Nov-2025 17:30:39 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:30:39 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:30:39 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:39 UTC] 📊 Database Info:
[21-Nov-2025 17:30:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:39 UTC]    Books columns count: 44
[21-Nov-2025 17:30:39 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:39 UTC]    Language field in books: YES
[21-Nov-2025 17:30:39 UTC]    Format field in books: YES
[21-Nov-2025 17:30:39 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:39 UTC] 📊 Database Info:
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:39 UTC]    Books columns count: 44
[21-Nov-2025 17:30:39 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:39 UTC]    Language field in books: YES
[21-Nov-2025 17:30:39 UTC]    Format field in books: YES
[21-Nov-2025 17:30:39 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:30:39 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:30:39 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:39 UTC] 📊 Database Info:
[21-Nov-2025 17:30:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:39 UTC]    Books columns count: 44
[21-Nov-2025 17:30:39 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:39 UTC]    Language field in books: YES
[21-Nov-2025 17:30:39 UTC]    Format field in books: YES
[21-Nov-2025 17:30:39 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:39 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:39 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:39 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:39 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:39 UTC] 📊 Database Info:
[21-Nov-2025 17:30:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:39 UTC]    Books columns count: 44
[21-Nov-2025 17:30:39 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:39 UTC]    Language field in books: YES
[21-Nov-2025 17:30:39 UTC]    Format field in books: YES
[21-Nov-2025 17:30:39 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:39 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:39 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:39 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:39 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:39 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:30:39 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:30:39 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:30:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:40 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:40 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:40 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:40 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:40 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:40 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:40 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:40 UTC] 📊 Database Info:
[21-Nov-2025 17:30:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:40 UTC]    Books columns count: 44
[21-Nov-2025 17:30:40 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:40 UTC]    Language field in books: YES
[21-Nov-2025 17:30:40 UTC]    Format field in books: YES
[21-Nov-2025 17:30:40 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:40 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:40 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:40 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:40 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:40 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:40 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:40 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:40 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:30:40 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:30:40 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:30:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:40 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:40 UTC] 📊 Database Info:
[21-Nov-2025 17:30:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:40 UTC]    Books columns count: 44
[21-Nov-2025 17:30:40 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:40 UTC]    Language field in books: YES
[21-Nov-2025 17:30:40 UTC]    Format field in books: YES
[21-Nov-2025 17:30:40 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:40 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:40 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:40 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:40 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:40 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:40 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:40 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:40 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:30:40 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:30:40 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:30:40 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:40 UTC] 📊 Database Info:
[21-Nov-2025 17:30:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:40 UTC]    Books columns count: 44
[21-Nov-2025 17:30:40 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:40 UTC]    Language field in books: YES
[21-Nov-2025 17:30:40 UTC]    Format field in books: YES
[21-Nov-2025 17:30:40 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:40 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:40 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:40 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:40 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:40 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:40 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:40 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:40 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:30:40 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:30:40 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:30:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:42 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:42 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:42 UTC] 📊 Database Info:
[21-Nov-2025 17:30:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:42 UTC]    Books columns count: 44
[21-Nov-2025 17:30:42 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:42 UTC]    Language field in books: YES
[21-Nov-2025 17:30:42 UTC]    Format field in books: YES
[21-Nov-2025 17:30:42 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:42 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:30:42 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:30:42 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:30:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:42 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:42 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:42 UTC] 📊 Database Info:
[21-Nov-2025 17:30:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:42 UTC]    Books columns count: 44
[21-Nov-2025 17:30:42 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:42 UTC]    Language field in books: YES
[21-Nov-2025 17:30:42 UTC]    Format field in books: YES
[21-Nov-2025 17:30:42 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:42 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:43 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:43 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:43 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:43 UTC] 📊 Database Info:
[21-Nov-2025 17:30:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:43 UTC]    Books columns count: 44
[21-Nov-2025 17:30:43 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:43 UTC]    Language field in books: YES
[21-Nov-2025 17:30:43 UTC]    Format field in books: YES
[21-Nov-2025 17:30:43 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:43 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:43 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:43 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:43 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:43 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:43 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:43 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:43 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:30:43 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:30:43 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:30:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:44 UTC] 📊 Database Info:
[21-Nov-2025 17:30:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:44 UTC]    Books columns count: 44
[21-Nov-2025 17:30:44 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:44 UTC]    Language field in books: YES
[21-Nov-2025 17:30:44 UTC]    Format field in books: YES
[21-Nov-2025 17:30:44 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:44 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:30:44 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:30:44 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:30:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:44 UTC] 📊 Database Info:
[21-Nov-2025 17:30:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:44 UTC]    Books columns count: 44
[21-Nov-2025 17:30:44 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:44 UTC]    Language field in books: YES
[21-Nov-2025 17:30:44 UTC]    Format field in books: YES
[21-Nov-2025 17:30:44 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:44 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:44 UTC] 📊 Database Info:
[21-Nov-2025 17:30:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:44 UTC]    Books columns count: 44
[21-Nov-2025 17:30:44 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:44 UTC]    Language field in books: YES
[21-Nov-2025 17:30:44 UTC]    Format field in books: YES
[21-Nov-2025 17:30:44 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:44 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:30:44 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:30:44 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:30:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:44 UTC] 📊 Database Info:
[21-Nov-2025 17:30:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:44 UTC]    Books columns count: 44
[21-Nov-2025 17:30:44 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:44 UTC]    Language field in books: YES
[21-Nov-2025 17:30:44 UTC]    Format field in books: YES
[21-Nov-2025 17:30:44 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:44 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:44 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:30:44 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:30:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:44 UTC] 📊 Database Info:
[21-Nov-2025 17:30:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:44 UTC]    Books columns count: 44
[21-Nov-2025 17:30:44 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:44 UTC]    Language field in books: YES
[21-Nov-2025 17:30:44 UTC]    Format field in books: YES
[21-Nov-2025 17:30:44 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:44 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:44 UTC] 📊 Database Info:
[21-Nov-2025 17:30:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:44 UTC]    Books columns count: 44
[21-Nov-2025 17:30:44 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:44 UTC]    Language field in books: YES
[21-Nov-2025 17:30:44 UTC]    Format field in books: YES
[21-Nov-2025 17:30:44 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:44 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:45 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:45 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:45 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:45 UTC] 📊 Database Info:
[21-Nov-2025 17:30:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:45 UTC]    Books columns count: 44
[21-Nov-2025 17:30:45 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:45 UTC]    Language field in books: YES
[21-Nov-2025 17:30:45 UTC]    Format field in books: YES
[21-Nov-2025 17:30:45 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:45 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:45 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:45 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:45 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:45 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:45 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:45 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:45 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:30:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:45 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:45 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:45 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:30:45 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:30:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:30:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:30:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:30:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:30:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:30:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:45 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:45 UTC] 📊 Database Info:
[21-Nov-2025 17:30:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:45 UTC]    Books columns count: 44
[21-Nov-2025 17:30:45 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:45 UTC]    Language field in books: YES
[21-Nov-2025 17:30:45 UTC]    Format field in books: YES
[21-Nov-2025 17:30:45 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:45 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:45 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:45 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:45 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:45 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:45 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:45 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:45 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:30:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:30:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:30:45 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:30:45 UTC] 📊 Database Info:
[21-Nov-2025 17:30:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:30:45 UTC]    Books columns count: 44
[21-Nov-2025 17:30:45 UTC]    Categories columns count: 7
[21-Nov-2025 17:30:45 UTC]    Language field in books: YES
[21-Nov-2025 17:30:45 UTC]    Format field in books: YES
[21-Nov-2025 17:30:45 UTC]    Description field in categories: YES
[21-Nov-2025 17:30:45 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:30:45 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:30:45 UTC]    Is_active field in books: YES
[21-Nov-2025 17:30:45 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:30:45 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:30:45 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:30:45 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:30:45 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:30:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:30:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:30:45 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:30:45 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:33:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:04 UTC] 📊 Database Info:
[21-Nov-2025 17:33:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:04 UTC]    Books columns count: 44
[21-Nov-2025 17:33:04 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:04 UTC]    Language field in books: YES
[21-Nov-2025 17:33:04 UTC]    Format field in books: YES
[21-Nov-2025 17:33:04 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:04 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:04 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:33:04 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:33:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:04 UTC] 📊 Database Info:
[21-Nov-2025 17:33:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:04 UTC]    Books columns count: 44
[21-Nov-2025 17:33:04 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:04 UTC]    Language field in books: YES
[21-Nov-2025 17:33:04 UTC]    Format field in books: YES
[21-Nov-2025 17:33:04 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:04 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:04 UTC] 📊 Database Info:
[21-Nov-2025 17:33:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:04 UTC]    Books columns count: 44
[21-Nov-2025 17:33:04 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:04 UTC]    Language field in books: YES
[21-Nov-2025 17:33:04 UTC]    Format field in books: YES
[21-Nov-2025 17:33:04 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:04 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:04 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:33:04 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:33:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:04 UTC] 📊 Database Info:
[21-Nov-2025 17:33:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:04 UTC]    Books columns count: 44
[21-Nov-2025 17:33:04 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:04 UTC]    Language field in books: YES
[21-Nov-2025 17:33:04 UTC]    Format field in books: YES
[21-Nov-2025 17:33:04 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:04 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:05 UTC] 📊 Database Info:
[21-Nov-2025 17:33:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:05 UTC]    Books columns count: 44
[21-Nov-2025 17:33:05 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:05 UTC]    Language field in books: YES
[21-Nov-2025 17:33:05 UTC]    Format field in books: YES
[21-Nov-2025 17:33:05 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:05 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:05 UTC] 📊 Database Info:
[21-Nov-2025 17:33:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:05 UTC]    Books columns count: 44
[21-Nov-2025 17:33:05 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:05 UTC]    Language field in books: YES
[21-Nov-2025 17:33:05 UTC]    Format field in books: YES
[21-Nov-2025 17:33:05 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:05 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:09 UTC] 📊 Database Info:
[21-Nov-2025 17:33:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:09 UTC]    Books columns count: 44
[21-Nov-2025 17:33:09 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:09 UTC]    Language field in books: YES
[21-Nov-2025 17:33:09 UTC]    Format field in books: YES
[21-Nov-2025 17:33:09 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:09 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:10 UTC] 📊 Database Info:
[21-Nov-2025 17:33:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:10 UTC]    Books columns count: 44
[21-Nov-2025 17:33:10 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:10 UTC]    Language field in books: YES
[21-Nov-2025 17:33:10 UTC]    Format field in books: YES
[21-Nov-2025 17:33:10 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:10 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:10 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:33:10 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:33:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:11 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:11 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:11 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:11 UTC] 📊 Database Info:
[21-Nov-2025 17:33:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:11 UTC]    Books columns count: 44
[21-Nov-2025 17:33:11 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:11 UTC]    Language field in books: YES
[21-Nov-2025 17:33:11 UTC]    Format field in books: YES
[21-Nov-2025 17:33:11 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:11 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:11 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:11 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:11 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:11 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:11 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:11 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:11 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:16 UTC] 📊 Database Info:
[21-Nov-2025 17:33:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:16 UTC]    Books columns count: 44
[21-Nov-2025 17:33:16 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:16 UTC]    Language field in books: YES
[21-Nov-2025 17:33:16 UTC]    Format field in books: YES
[21-Nov-2025 17:33:16 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:16 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:17 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:17 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:17 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:17 UTC] 📊 Database Info:
[21-Nov-2025 17:33:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:17 UTC]    Books columns count: 44
[21-Nov-2025 17:33:17 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:17 UTC]    Language field in books: YES
[21-Nov-2025 17:33:17 UTC]    Format field in books: YES
[21-Nov-2025 17:33:17 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:17 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:17 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:17 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:17 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:17 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:17 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:17 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:17 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:17 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:33:17 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:33:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:19 UTC] 📊 Database Info:
[21-Nov-2025 17:33:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:19 UTC]    Books columns count: 44
[21-Nov-2025 17:33:19 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:19 UTC]    Language field in books: YES
[21-Nov-2025 17:33:19 UTC]    Format field in books: YES
[21-Nov-2025 17:33:19 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:19 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:19 UTC] 📊 Database Info:
[21-Nov-2025 17:33:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:19 UTC] 📊 Database Info:
[21-Nov-2025 17:33:19 UTC]    Books columns count: 44
[21-Nov-2025 17:33:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:19 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:19 UTC]    Books columns count: 44
[21-Nov-2025 17:33:19 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:19 UTC]    Language field in books: YES
[21-Nov-2025 17:33:19 UTC]    Language field in books: YES
[21-Nov-2025 17:33:19 UTC]    Format field in books: YES
[21-Nov-2025 17:33:19 UTC]    Format field in books: YES
[21-Nov-2025 17:33:19 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:19 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:19 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:19 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:19 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:19 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:20 UTC] 📊 Database Info:
[21-Nov-2025 17:33:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:20 UTC]    Books columns count: 44
[21-Nov-2025 17:33:20 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:20 UTC]    Language field in books: YES
[21-Nov-2025 17:33:20 UTC]    Format field in books: YES
[21-Nov-2025 17:33:20 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:20 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:28 UTC] 📊 Database Info:
[21-Nov-2025 17:33:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:28 UTC]    Books columns count: 44
[21-Nov-2025 17:33:28 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:28 UTC]    Language field in books: YES
[21-Nov-2025 17:33:28 UTC]    Format field in books: YES
[21-Nov-2025 17:33:28 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:28 UTC] 📊 Database Info:
[21-Nov-2025 17:33:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:28 UTC]    Books columns count: 44
[21-Nov-2025 17:33:28 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:28 UTC]    Language field in books: YES
[21-Nov-2025 17:33:28 UTC]    Format field in books: YES
[21-Nov-2025 17:33:28 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:28 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:28 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:33:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:28 UTC] 📊 Database Info:
[21-Nov-2025 17:33:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:28 UTC]    Books columns count: 44
[21-Nov-2025 17:33:28 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:28 UTC]    Language field in books: YES
[21-Nov-2025 17:33:28 UTC]    Format field in books: YES
[21-Nov-2025 17:33:28 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:28 UTC] 📊 Database Info:
[21-Nov-2025 17:33:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:28 UTC]    Books columns count: 44
[21-Nov-2025 17:33:28 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:28 UTC]    Language field in books: YES
[21-Nov-2025 17:33:28 UTC]    Format field in books: YES
[21-Nov-2025 17:33:28 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:33:28 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:33:28 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:33:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:28 UTC] 📊 Database Info:
[21-Nov-2025 17:33:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:28 UTC]    Books columns count: 44
[21-Nov-2025 17:33:28 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:28 UTC]    Language field in books: YES
[21-Nov-2025 17:33:28 UTC]    Format field in books: YES
[21-Nov-2025 17:33:28 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:28 UTC] 📊 Database Info:
[21-Nov-2025 17:33:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:28 UTC]    Books columns count: 44
[21-Nov-2025 17:33:28 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:28 UTC]    Language field in books: YES
[21-Nov-2025 17:33:28 UTC]    Format field in books: YES
[21-Nov-2025 17:33:28 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:28 UTC] 📊 Database Info:
[21-Nov-2025 17:33:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:28 UTC]    Books columns count: 44
[21-Nov-2025 17:33:28 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:28 UTC]    Language field in books: YES
[21-Nov-2025 17:33:28 UTC]    Format field in books: YES
[21-Nov-2025 17:33:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:28 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:28 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:33:28 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:33:28 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:33:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:29 UTC] 📊 Database Info:
[21-Nov-2025 17:33:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:29 UTC]    Books columns count: 44
[21-Nov-2025 17:33:29 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:29 UTC]    Language field in books: YES
[21-Nov-2025 17:33:29 UTC]    Format field in books: YES
[21-Nov-2025 17:33:29 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:29 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:33:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:33:29 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:33:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:29 UTC] 📊 Database Info:
[21-Nov-2025 17:33:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:29 UTC]    Books columns count: 44
[21-Nov-2025 17:33:29 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:29 UTC]    Language field in books: YES
[21-Nov-2025 17:33:29 UTC]    Format field in books: YES
[21-Nov-2025 17:33:29 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:29 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:33:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:33:29 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:33:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:29 UTC] 📊 Database Info:
[21-Nov-2025 17:33:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:29 UTC]    Books columns count: 44
[21-Nov-2025 17:33:29 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:29 UTC]    Language field in books: YES
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:29 UTC]    Format field in books: YES
[21-Nov-2025 17:33:29 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:29 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:33:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:29 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:29 UTC] 📊 Database Info:
[21-Nov-2025 17:33:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:29 UTC]    Books columns count: 44
[21-Nov-2025 17:33:29 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:29 UTC]    Language field in books: YES
[21-Nov-2025 17:33:29 UTC]    Format field in books: YES
[21-Nov-2025 17:33:29 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:29 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:33:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:33:29 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:33:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:29 UTC] 📊 Database Info:
[21-Nov-2025 17:33:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:29 UTC]    Books columns count: 44
[21-Nov-2025 17:33:29 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:29 UTC]    Language field in books: YES
[21-Nov-2025 17:33:29 UTC]    Format field in books: YES
[21-Nov-2025 17:33:29 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:29 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:33:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:33:29 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:33:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:31 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:31 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:31 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:31 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:31 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:31 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:31 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:31 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:31 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:31 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:31 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:31 UTC] 📊 Database Info:
[21-Nov-2025 17:33:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:31 UTC]    Books columns count: 44
[21-Nov-2025 17:33:31 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:31 UTC]    Language field in books: YES
[21-Nov-2025 17:33:31 UTC]    Format field in books: YES
[21-Nov-2025 17:33:31 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:31 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:31 UTC] 📊 Database Info:
[21-Nov-2025 17:33:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:31 UTC]    Books columns count: 44
[21-Nov-2025 17:33:31 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:31 UTC]    Language field in books: YES
[21-Nov-2025 17:33:31 UTC]    Format field in books: YES
[21-Nov-2025 17:33:31 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:31 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:31 UTC] 📊 Database Info:
[21-Nov-2025 17:33:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:31 UTC]    Books columns count: 44
[21-Nov-2025 17:33:31 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:31 UTC]    Language field in books: YES
[21-Nov-2025 17:33:31 UTC]    Format field in books: YES
[21-Nov-2025 17:33:31 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:31 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:31 UTC] 📊 Database Info:
[21-Nov-2025 17:33:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:31 UTC]    Books columns count: 44
[21-Nov-2025 17:33:31 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:31 UTC]    Language field in books: YES
[21-Nov-2025 17:33:31 UTC]    Format field in books: YES
[21-Nov-2025 17:33:31 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:31 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:31 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:33:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:31 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:31 UTC] 📊 Database Info:
[21-Nov-2025 17:33:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:31 UTC]    Books columns count: 44
[21-Nov-2025 17:33:31 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:31 UTC]    Language field in books: YES
[21-Nov-2025 17:33:31 UTC]    Format field in books: YES
[21-Nov-2025 17:33:31 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:31 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:31 UTC] 📊 Database Info:
[21-Nov-2025 17:33:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:31 UTC]    Books columns count: 44
[21-Nov-2025 17:33:31 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:31 UTC]    Language field in books: YES
[21-Nov-2025 17:33:31 UTC]    Format field in books: YES
[21-Nov-2025 17:33:31 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:31 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:31 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:33:31 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:33:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:32 UTC] 📊 Database Info:
[21-Nov-2025 17:33:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:32 UTC]    Books columns count: 44
[21-Nov-2025 17:33:32 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:32 UTC]    Language field in books: YES
[21-Nov-2025 17:33:32 UTC]    Format field in books: YES
[21-Nov-2025 17:33:32 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:32 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:32 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:33:32 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:33:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:32 UTC] 📊 Database Info:
[21-Nov-2025 17:33:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:32 UTC]    Books columns count: 44
[21-Nov-2025 17:33:32 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:32 UTC]    Language field in books: YES
[21-Nov-2025 17:33:32 UTC]    Format field in books: YES
[21-Nov-2025 17:33:32 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:32 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:32 UTC] 📊 Database Info:
[21-Nov-2025 17:33:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:32 UTC]    Books columns count: 44
[21-Nov-2025 17:33:32 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:32 UTC]    Language field in books: YES
[21-Nov-2025 17:33:32 UTC]    Format field in books: YES
[21-Nov-2025 17:33:32 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:32 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:34 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:34 UTC] 📊 Database Info:
[21-Nov-2025 17:33:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:34 UTC]    Books columns count: 44
[21-Nov-2025 17:33:34 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:34 UTC]    Language field in books: YES
[21-Nov-2025 17:33:34 UTC]    Format field in books: YES
[21-Nov-2025 17:33:34 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:34 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:34 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:34 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:34 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:34 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:34 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:34 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:34 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:34 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:34 UTC] 📊 Database Info:
[21-Nov-2025 17:33:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:34 UTC]    Books columns count: 44
[21-Nov-2025 17:33:34 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:34 UTC]    Language field in books: YES
[21-Nov-2025 17:33:34 UTC]    Format field in books: YES
[21-Nov-2025 17:33:34 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:34 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:34 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:34 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:34 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:34 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:34 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:34 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:34 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:35 UTC] 📊 Database Info:
[21-Nov-2025 17:33:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:35 UTC]    Books columns count: 44
[21-Nov-2025 17:33:35 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:35 UTC]    Language field in books: YES
[21-Nov-2025 17:33:35 UTC]    Format field in books: YES
[21-Nov-2025 17:33:35 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:35 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:35 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:33:35 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:33:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:33:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:33:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:33:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:33:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:53 UTC] 📊 Database Info:
[21-Nov-2025 17:33:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:53 UTC]    Books columns count: 44
[21-Nov-2025 17:33:53 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:53 UTC]    Language field in books: YES
[21-Nov-2025 17:33:53 UTC]    Format field in books: YES
[21-Nov-2025 17:33:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:53 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:53 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:53 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:33:53 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:33:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:33:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:33:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:53 UTC] 📊 Database Info:
[21-Nov-2025 17:33:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:53 UTC]    Books columns count: 44
[21-Nov-2025 17:33:53 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:53 UTC]    Language field in books: YES
[21-Nov-2025 17:33:53 UTC]    Format field in books: YES
[21-Nov-2025 17:33:53 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:53 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:33:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:33:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:53 UTC] 📊 Database Info:
[21-Nov-2025 17:33:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:53 UTC]    Books columns count: 44
[21-Nov-2025 17:33:53 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:53 UTC]    Language field in books: YES
[21-Nov-2025 17:33:53 UTC]    Format field in books: YES
[21-Nov-2025 17:33:53 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:53 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:53 UTC] 📊 Database Info:
[21-Nov-2025 17:33:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:53 UTC]    Books columns count: 44
[21-Nov-2025 17:33:53 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:53 UTC]    Language field in books: YES
[21-Nov-2025 17:33:53 UTC]    Format field in books: YES
[21-Nov-2025 17:33:53 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:53 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:53 UTC] 📊 Database Info:
[21-Nov-2025 17:33:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:53 UTC]    Books columns count: 44
[21-Nov-2025 17:33:53 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:53 UTC]    Language field in books: YES
[21-Nov-2025 17:33:53 UTC]    Format field in books: YES
[21-Nov-2025 17:33:53 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:53 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:33:53 UTC] 📊 Database Info:
[21-Nov-2025 17:33:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:33:53 UTC]    Books columns count: 44
[21-Nov-2025 17:33:53 UTC]    Categories columns count: 7
[21-Nov-2025 17:33:53 UTC]    Language field in books: YES
[21-Nov-2025 17:33:53 UTC]    Format field in books: YES
[21-Nov-2025 17:33:53 UTC]    Description field in categories: YES
[21-Nov-2025 17:33:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:33:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:33:53 UTC]    Is_active field in books: YES
[21-Nov-2025 17:33:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:33:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:33:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:33:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:33:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:33:53 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:33:53 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:33:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:33:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:34:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:34:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:34:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:34:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:34:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:34:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:34:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:34:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:34:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:34:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:34:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:34:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:34:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:34:05 UTC] 📊 Database Info:
[21-Nov-2025 17:34:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:34:05 UTC]    Books columns count: 44
[21-Nov-2025 17:34:05 UTC]    Categories columns count: 7
[21-Nov-2025 17:34:05 UTC]    Language field in books: YES
[21-Nov-2025 17:34:05 UTC]    Format field in books: YES
[21-Nov-2025 17:34:05 UTC]    Description field in categories: YES
[21-Nov-2025 17:34:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:34:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:34:05 UTC]    Is_active field in books: YES
[21-Nov-2025 17:34:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:34:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:34:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:34:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:34:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:34:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:34:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:34:05 UTC] 📊 Database Info:
[21-Nov-2025 17:34:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:34:05 UTC]    Books columns count: 44
[21-Nov-2025 17:34:05 UTC]    Categories columns count: 7
[21-Nov-2025 17:34:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:34:05 UTC]    Language field in books: YES
[21-Nov-2025 17:34:05 UTC] 📊 Database Info:
[21-Nov-2025 17:34:05 UTC]    Format field in books: YES
[21-Nov-2025 17:34:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:34:05 UTC]    Description field in categories: YES
[21-Nov-2025 17:34:05 UTC]    Books columns count: 44
[21-Nov-2025 17:34:05 UTC]    Categories columns count: 7
[21-Nov-2025 17:34:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:34:05 UTC]    Language field in books: YES
[21-Nov-2025 17:34:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:34:05 UTC]    Format field in books: YES
[21-Nov-2025 17:34:05 UTC]    Description field in categories: YES
[21-Nov-2025 17:34:05 UTC]    Is_active field in books: YES
[21-Nov-2025 17:34:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:34:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:34:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:34:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:34:05 UTC]    Is_active field in books: YES
[21-Nov-2025 17:34:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:34:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:34:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:34:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:34:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:34:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:34:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:34:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:34:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:34:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:34:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:34:06 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:34:06 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:34:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:34:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:34:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:34:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:34:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:34:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:34:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:34:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:34:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:34:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:34:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:34:16 UTC] 📊 Database Info:
[21-Nov-2025 17:34:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:34:16 UTC]    Books columns count: 44
[21-Nov-2025 17:34:16 UTC]    Categories columns count: 7
[21-Nov-2025 17:34:16 UTC]    Language field in books: YES
[21-Nov-2025 17:34:16 UTC]    Format field in books: YES
[21-Nov-2025 17:34:16 UTC]    Description field in categories: YES
[21-Nov-2025 17:34:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:34:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:34:16 UTC]    Is_active field in books: YES
[21-Nov-2025 17:34:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:34:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:34:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:34:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:34:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:34:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:34:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:34:16 UTC] 📊 Database Info:
[21-Nov-2025 17:34:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:34:16 UTC]    Books columns count: 44
[21-Nov-2025 17:34:16 UTC]    Categories columns count: 7
[21-Nov-2025 17:34:16 UTC]    Language field in books: YES
[21-Nov-2025 17:34:16 UTC]    Format field in books: YES
[21-Nov-2025 17:34:16 UTC]    Description field in categories: YES
[21-Nov-2025 17:34:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:34:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:34:16 UTC]    Is_active field in books: YES
[21-Nov-2025 17:34:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:34:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:34:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:34:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:34:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:34:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:34:16 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:34:16 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:34:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:34:16 UTC] 📊 Database Info:
[21-Nov-2025 17:34:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:34:16 UTC]    Books columns count: 44
[21-Nov-2025 17:34:16 UTC]    Categories columns count: 7
[21-Nov-2025 17:34:16 UTC]    Language field in books: YES
[21-Nov-2025 17:34:16 UTC]    Format field in books: YES
[21-Nov-2025 17:34:16 UTC]    Description field in categories: YES
[21-Nov-2025 17:34:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:34:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:34:16 UTC]    Is_active field in books: YES
[21-Nov-2025 17:34:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:34:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:34:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:34:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:34:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:34:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:34:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:34:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:34:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:34:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:34:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:34:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:34:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:34:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:34:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:34:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:34:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:34:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:34:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:34:22 UTC] 📊 Database Info:
[21-Nov-2025 17:34:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:34:22 UTC]    Books columns count: 44
[21-Nov-2025 17:34:22 UTC]    Categories columns count: 7
[21-Nov-2025 17:34:22 UTC]    Language field in books: YES
[21-Nov-2025 17:34:22 UTC]    Format field in books: YES
[21-Nov-2025 17:34:22 UTC]    Description field in categories: YES
[21-Nov-2025 17:34:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:34:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:34:22 UTC]    Is_active field in books: YES
[21-Nov-2025 17:34:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:34:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:34:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:34:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:34:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:34:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:34:22 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:34:22 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:34:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:34:22 UTC] 📊 Database Info:
[21-Nov-2025 17:34:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:34:22 UTC]    Books columns count: 44
[21-Nov-2025 17:34:22 UTC]    Categories columns count: 7
[21-Nov-2025 17:34:22 UTC]    Language field in books: YES
[21-Nov-2025 17:34:22 UTC]    Format field in books: YES
[21-Nov-2025 17:34:22 UTC]    Description field in categories: YES
[21-Nov-2025 17:34:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:34:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:34:22 UTC]    Is_active field in books: YES
[21-Nov-2025 17:34:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:34:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:34:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:34:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:34:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:34:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:34:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:34:22 UTC] 📊 Database Info:
[21-Nov-2025 17:34:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:34:22 UTC]    Books columns count: 44
[21-Nov-2025 17:34:22 UTC]    Categories columns count: 7
[21-Nov-2025 17:34:22 UTC]    Language field in books: YES
[21-Nov-2025 17:34:22 UTC]    Format field in books: YES
[21-Nov-2025 17:34:22 UTC]    Description field in categories: YES
[21-Nov-2025 17:34:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:34:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:34:22 UTC]    Is_active field in books: YES
[21-Nov-2025 17:34:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:34:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:34:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:34:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:34:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:34:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:34:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:34:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:34:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:34:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:34:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:34:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:34:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:34:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:34:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:34:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:34:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:34:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:34:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:34:37 UTC] 📊 Database Info:
[21-Nov-2025 17:34:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:34:37 UTC]    Books columns count: 44
[21-Nov-2025 17:34:37 UTC]    Categories columns count: 7
[21-Nov-2025 17:34:37 UTC]    Language field in books: YES
[21-Nov-2025 17:34:37 UTC]    Format field in books: YES
[21-Nov-2025 17:34:37 UTC]    Description field in categories: YES
[21-Nov-2025 17:34:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:34:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:34:37 UTC]    Is_active field in books: YES
[21-Nov-2025 17:34:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:34:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:34:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:34:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:34:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:34:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:34:37 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:34:37 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:34:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:34:37 UTC] 📊 Database Info:
[21-Nov-2025 17:34:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:34:37 UTC]    Books columns count: 44
[21-Nov-2025 17:34:37 UTC]    Categories columns count: 7
[21-Nov-2025 17:34:37 UTC]    Language field in books: YES
[21-Nov-2025 17:34:37 UTC]    Format field in books: YES
[21-Nov-2025 17:34:37 UTC]    Description field in categories: YES
[21-Nov-2025 17:34:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:34:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:34:37 UTC]    Is_active field in books: YES
[21-Nov-2025 17:34:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:34:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:34:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:34:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:34:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:34:37 UTC] 📊 Database Info:
[21-Nov-2025 17:34:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:34:37 UTC]    Books columns count: 44
[21-Nov-2025 17:34:37 UTC]    Categories columns count: 7
[21-Nov-2025 17:34:37 UTC]    Language field in books: YES
[21-Nov-2025 17:34:37 UTC]    Format field in books: YES
[21-Nov-2025 17:34:37 UTC]    Description field in categories: YES
[21-Nov-2025 17:34:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:34:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:34:37 UTC]    Is_active field in books: YES
[21-Nov-2025 17:34:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:34:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:34:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:34:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:34:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:34:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:34:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:34:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:34:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:34:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:34:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:34:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:34:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:34:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:34:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:34:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:34:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:34:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:34:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:34:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:34:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:34:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:34:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:34:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:34:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:34:55 UTC] 📊 Database Info:
[21-Nov-2025 17:34:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:34:55 UTC]    Books columns count: 44
[21-Nov-2025 17:34:55 UTC]    Categories columns count: 7
[21-Nov-2025 17:34:55 UTC]    Language field in books: YES
[21-Nov-2025 17:34:55 UTC]    Format field in books: YES
[21-Nov-2025 17:34:55 UTC]    Description field in categories: YES
[21-Nov-2025 17:34:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:34:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:34:55 UTC]    Is_active field in books: YES
[21-Nov-2025 17:34:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:34:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:34:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:34:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:34:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:34:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:34:55 UTC] 📊 Database Info:
[21-Nov-2025 17:34:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:34:55 UTC]    Books columns count: 44
[21-Nov-2025 17:34:55 UTC]    Categories columns count: 7
[21-Nov-2025 17:34:55 UTC]    Language field in books: YES
[21-Nov-2025 17:34:55 UTC]    Format field in books: YES
[21-Nov-2025 17:34:55 UTC]    Description field in categories: YES
[21-Nov-2025 17:34:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:34:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:34:55 UTC]    Is_active field in books: YES
[21-Nov-2025 17:34:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:34:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:34:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:34:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:34:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:34:55 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:34:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:34:55 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:34:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:34:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:34:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:34:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:34:55 UTC] 📊 Database Info:
[21-Nov-2025 17:34:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:34:55 UTC]    Books columns count: 44
[21-Nov-2025 17:34:55 UTC]    Categories columns count: 7
[21-Nov-2025 17:34:55 UTC]    Language field in books: YES
[21-Nov-2025 17:34:55 UTC]    Format field in books: YES
[21-Nov-2025 17:34:55 UTC]    Description field in categories: YES
[21-Nov-2025 17:34:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:34:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:34:55 UTC]    Is_active field in books: YES
[21-Nov-2025 17:34:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:34:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:34:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:34:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:34:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:34:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:34:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:35:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:35:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:35:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:35:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:35:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:35:20 UTC] 📊 Database Info:
[21-Nov-2025 17:35:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:35:20 UTC]    Books columns count: 44
[21-Nov-2025 17:35:20 UTC]    Categories columns count: 7
[21-Nov-2025 17:35:20 UTC]    Language field in books: YES
[21-Nov-2025 17:35:20 UTC]    Format field in books: YES
[21-Nov-2025 17:35:20 UTC]    Description field in categories: YES
[21-Nov-2025 17:35:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:35:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:35:20 UTC]    Is_active field in books: YES
[21-Nov-2025 17:35:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:35:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:35:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:35:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:35:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:35:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:35:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:35:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:35:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:35:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:35:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:35:52 UTC] 📊 Database Info:
[21-Nov-2025 17:35:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:35:52 UTC]    Books columns count: 44
[21-Nov-2025 17:35:52 UTC]    Categories columns count: 7
[21-Nov-2025 17:35:52 UTC]    Language field in books: YES
[21-Nov-2025 17:35:52 UTC]    Format field in books: YES
[21-Nov-2025 17:35:52 UTC]    Description field in categories: YES
[21-Nov-2025 17:35:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:35:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:35:52 UTC]    Is_active field in books: YES
[21-Nov-2025 17:35:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:35:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:35:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:35:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:35:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:35:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:35:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:35:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:35:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:35:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:35:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:35:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:35:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:35:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:35:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:35:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:35:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:35:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:35:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:35:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:35:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:35:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:35:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:35:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:35:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:35:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:35:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:35:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:35:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:35:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:35:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:35:56 UTC] 📊 Database Info:
[21-Nov-2025 17:35:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:35:56 UTC]    Books columns count: 44
[21-Nov-2025 17:35:56 UTC]    Categories columns count: 7
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:56 UTC]    Language field in books: YES
[21-Nov-2025 17:35:56 UTC]    Format field in books: YES
[21-Nov-2025 17:35:56 UTC]    Description field in categories: YES
[21-Nov-2025 17:35:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:35:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:35:56 UTC]    Is_active field in books: YES
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:35:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:35:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:35:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:35:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:35:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:35:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:35:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:35:56 UTC] 📊 Database Info:
[21-Nov-2025 17:35:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:35:56 UTC]    Books columns count: 44
[21-Nov-2025 17:35:56 UTC]    Categories columns count: 7
[21-Nov-2025 17:35:56 UTC]    Language field in books: YES
[21-Nov-2025 17:35:56 UTC]    Format field in books: YES
[21-Nov-2025 17:35:56 UTC]    Description field in categories: YES
[21-Nov-2025 17:35:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:35:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:35:56 UTC]    Is_active field in books: YES
[21-Nov-2025 17:35:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:35:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:35:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:35:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:35:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:35:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:35:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:35:56 UTC] 📊 Database Info:
[21-Nov-2025 17:35:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:35:56 UTC]    Books columns count: 44
[21-Nov-2025 17:35:56 UTC]    Categories columns count: 7
[21-Nov-2025 17:35:56 UTC]    Language field in books: YES
[21-Nov-2025 17:35:56 UTC]    Format field in books: YES
[21-Nov-2025 17:35:56 UTC]    Description field in categories: YES
[21-Nov-2025 17:35:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:35:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:35:56 UTC]    Is_active field in books: YES
[21-Nov-2025 17:35:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:35:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:35:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:35:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:35:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:35:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:35:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:35:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:35:56 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:35:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:35:56 UTC] 📊 Database Info:
[21-Nov-2025 17:35:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:35:56 UTC]    Books columns count: 44
[21-Nov-2025 17:35:56 UTC]    Categories columns count: 7
[21-Nov-2025 17:35:56 UTC]    Language field in books: YES
[21-Nov-2025 17:35:56 UTC]    Format field in books: YES
[21-Nov-2025 17:35:56 UTC]    Description field in categories: YES
[21-Nov-2025 17:35:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:35:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:35:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:35:56 UTC] 📊 Database Info:
[21-Nov-2025 17:35:56 UTC]    Is_active field in books: YES
[21-Nov-2025 17:35:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:35:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:35:56 UTC]    Books columns count: 44
[21-Nov-2025 17:35:56 UTC]    Categories columns count: 7
[21-Nov-2025 17:35:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:35:56 UTC]    Language field in books: YES
[21-Nov-2025 17:35:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:35:56 UTC]    Format field in books: YES
[21-Nov-2025 17:35:56 UTC]    Description field in categories: YES
[21-Nov-2025 17:35:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:35:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:35:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:35:56 UTC]    Is_active field in books: YES
[21-Nov-2025 17:35:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:35:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:35:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:35:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:35:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:35:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:35:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:35:56 UTC] 📊 Database Info:
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:35:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:35:56 UTC]    Books columns count: 44
[21-Nov-2025 17:35:56 UTC]    Categories columns count: 7
[21-Nov-2025 17:35:56 UTC]    Language field in books: YES
[21-Nov-2025 17:35:56 UTC]    Format field in books: YES
[21-Nov-2025 17:35:56 UTC]    Description field in categories: YES
[21-Nov-2025 17:35:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:35:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:35:56 UTC]    Is_active field in books: YES
[21-Nov-2025 17:35:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:35:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:35:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:35:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:35:56 UTC] 📊 Database Info:
[21-Nov-2025 17:35:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:35:56 UTC]    Books columns count: 44
[21-Nov-2025 17:35:56 UTC]    Categories columns count: 7
[21-Nov-2025 17:35:56 UTC]    Language field in books: YES
[21-Nov-2025 17:35:56 UTC]    Format field in books: YES
[21-Nov-2025 17:35:56 UTC]    Description field in categories: YES
[21-Nov-2025 17:35:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:35:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:35:56 UTC]    Is_active field in books: YES
[21-Nov-2025 17:35:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:35:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:35:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:35:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:35:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:35:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:35:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:35:56 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:35:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:35:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:35:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:35:56 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:35:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:35:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:35:56 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:35:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:35:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:35:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:35:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:35:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:35:57 UTC] 📊 Database Info:
[21-Nov-2025 17:35:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:35:57 UTC]    Books columns count: 44
[21-Nov-2025 17:35:57 UTC]    Categories columns count: 7
[21-Nov-2025 17:35:57 UTC]    Language field in books: YES
[21-Nov-2025 17:35:57 UTC]    Format field in books: YES
[21-Nov-2025 17:35:57 UTC]    Description field in categories: YES
[21-Nov-2025 17:35:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:35:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:35:57 UTC]    Is_active field in books: YES
[21-Nov-2025 17:35:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:35:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:35:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:35:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:35:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:35:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:35:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:35:57 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:35:57 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:35:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:35:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:35:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:35:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:35:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:35:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:35:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:35:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:35:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:35:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:35:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:35:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:35:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:35:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:35:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:35:57 UTC] 📊 Database Info:
[21-Nov-2025 17:35:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:35:57 UTC]    Books columns count: 44
[21-Nov-2025 17:35:57 UTC]    Categories columns count: 7
[21-Nov-2025 17:35:57 UTC]    Language field in books: YES
[21-Nov-2025 17:35:57 UTC]    Format field in books: YES
[21-Nov-2025 17:35:57 UTC]    Description field in categories: YES
[21-Nov-2025 17:35:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:35:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:35:57 UTC]    Is_active field in books: YES
[21-Nov-2025 17:35:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:35:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:35:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:35:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:35:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:35:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:35:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:35:57 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:35:57 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:35:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:35:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:35:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:35:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:35:57 UTC] 📊 Database Info:
[21-Nov-2025 17:35:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:35:57 UTC]    Books columns count: 44
[21-Nov-2025 17:35:57 UTC]    Categories columns count: 7
[21-Nov-2025 17:35:57 UTC]    Language field in books: YES
[21-Nov-2025 17:35:57 UTC]    Format field in books: YES
[21-Nov-2025 17:35:57 UTC]    Description field in categories: YES
[21-Nov-2025 17:35:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:35:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:35:57 UTC]    Is_active field in books: YES
[21-Nov-2025 17:35:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:35:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:35:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:35:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:35:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:35:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:35:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:35:57 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:35:57 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:36:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:36:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:36:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:36:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:36:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:36:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:36:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:36:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:36:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:36:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:36:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:36:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:36:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:36:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:36:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:36:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:36:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:36:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:36:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:36:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:36:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:36:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:36:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:36:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:36:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:36:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:36:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:36:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:36:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:36:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:36:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:36:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:36:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:36:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:36:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:36:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:36:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:36:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:36:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:36:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:36:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:36:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:36:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:36:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:36:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:36:04 UTC] 📊 Database Info:
[21-Nov-2025 17:36:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:36:04 UTC]    Books columns count: 44
[21-Nov-2025 17:36:04 UTC]    Categories columns count: 7
[21-Nov-2025 17:36:04 UTC]    Language field in books: YES
[21-Nov-2025 17:36:04 UTC]    Format field in books: YES
[21-Nov-2025 17:36:04 UTC]    Description field in categories: YES
[21-Nov-2025 17:36:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:36:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:36:04 UTC]    Is_active field in books: YES
[21-Nov-2025 17:36:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:36:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:36:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:36:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:36:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:36:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:36:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:36:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:36:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:36:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:36:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:36:04 UTC] 📊 Database Info:
[21-Nov-2025 17:36:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:36:04 UTC]    Books columns count: 44
[21-Nov-2025 17:36:04 UTC]    Categories columns count: 7
[21-Nov-2025 17:36:04 UTC]    Language field in books: YES
[21-Nov-2025 17:36:04 UTC]    Format field in books: YES
[21-Nov-2025 17:36:04 UTC]    Description field in categories: YES
[21-Nov-2025 17:36:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:36:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:36:04 UTC]    Is_active field in books: YES
[21-Nov-2025 17:36:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:36:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:36:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:36:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:36:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:36:04 UTC] 📊 Database Info:
[21-Nov-2025 17:36:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:36:04 UTC]    Books columns count: 44
[21-Nov-2025 17:36:04 UTC]    Categories columns count: 7
[21-Nov-2025 17:36:04 UTC]    Language field in books: YES
[21-Nov-2025 17:36:04 UTC]    Format field in books: YES
[21-Nov-2025 17:36:04 UTC]    Description field in categories: YES
[21-Nov-2025 17:36:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:36:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:36:04 UTC]    Is_active field in books: YES
[21-Nov-2025 17:36:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:36:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:36:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:36:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:36:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:36:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:36:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:36:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:36:04 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:36:04 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:36:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:36:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:36:04 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:36:04 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:36:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:36:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:36:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:36:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:36:04 UTC] 📊 Database Info:
[21-Nov-2025 17:36:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:36:04 UTC]    Books columns count: 44
[21-Nov-2025 17:36:04 UTC]    Categories columns count: 7
[21-Nov-2025 17:36:04 UTC]    Language field in books: YES
[21-Nov-2025 17:36:04 UTC]    Format field in books: YES
[21-Nov-2025 17:36:04 UTC]    Description field in categories: YES
[21-Nov-2025 17:36:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:36:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:36:04 UTC]    Is_active field in books: YES
[21-Nov-2025 17:36:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:36:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:36:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:36:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:36:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:36:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:36:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:36:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:36:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:36:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:36:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:36:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:36:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:36:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:36:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:36:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:36:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:36:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:36:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:36:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:36:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:36:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:36:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:36:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:36:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:36:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:36:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:36:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:36:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:36:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:36:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:36:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:36:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:36:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:36:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:36:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:36:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:36:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:36:05 UTC] 📊 Database Info:
[21-Nov-2025 17:36:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:36:05 UTC]    Books columns count: 44
[21-Nov-2025 17:36:05 UTC]    Categories columns count: 7
[21-Nov-2025 17:36:05 UTC]    Language field in books: YES
[21-Nov-2025 17:36:05 UTC]    Format field in books: YES
[21-Nov-2025 17:36:05 UTC]    Description field in categories: YES
[21-Nov-2025 17:36:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:36:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:36:05 UTC]    Is_active field in books: YES
[21-Nov-2025 17:36:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:36:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:36:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:36:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:36:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:36:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:36:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:36:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:36:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:36:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:36:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:36:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:36:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:36:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:36:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:36:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:36:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:36:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:36:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 17:36:05 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 17:36:05 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 17:36:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:36:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:36:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:36:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:36:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:36:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:36:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:36:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:36:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:36:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:36:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:36:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:36:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:36:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:36:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:36:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:36:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:36:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:36:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:36:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:36:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:36:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:36:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:36:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:36:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:36:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:36:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:36:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:36:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:36:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:36:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:36:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:36:06 UTC] 📊 Database Info:
[21-Nov-2025 17:36:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:36:06 UTC]    Books columns count: 44
[21-Nov-2025 17:36:06 UTC]    Categories columns count: 7
[21-Nov-2025 17:36:06 UTC]    Language field in books: YES
[21-Nov-2025 17:36:06 UTC]    Format field in books: YES
[21-Nov-2025 17:36:06 UTC]    Description field in categories: YES
[21-Nov-2025 17:36:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:36:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:36:06 UTC]    Is_active field in books: YES
[21-Nov-2025 17:36:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:36:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:36:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:36:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:36:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:36:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:36:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:36:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:36:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:36:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:36:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:36:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:36:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:36:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:36:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:36:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:36:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:36:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:43:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:43:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:43:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:43:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:43:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:43:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:43:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:43:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:43:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:43:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:43:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:43:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:43:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:43:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:43:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:43:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:43:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:43:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:43:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:43:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:43:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:43:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:43:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:43:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:43:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:43:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:43:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:43:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:43:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:43:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:43:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:43:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:43:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:43:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:43:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:43:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:43:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:43:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:43:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:43:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:43:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:43:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:43:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:43:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:43:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:43:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:43:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:43:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:43:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:43:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:43:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:43:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:43:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:43:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:43:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:43:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:43:09 UTC] 📊 Database Info:
[21-Nov-2025 17:43:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:43:09 UTC]    Books columns count: 44
[21-Nov-2025 17:43:09 UTC]    Categories columns count: 7
[21-Nov-2025 17:43:09 UTC]    Language field in books: YES
[21-Nov-2025 17:43:09 UTC]    Format field in books: YES
[21-Nov-2025 17:43:09 UTC]    Description field in categories: YES
[21-Nov-2025 17:43:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:43:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:43:09 UTC]    Is_active field in books: YES
[21-Nov-2025 17:43:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:43:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:43:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:43:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:43:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:43:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:43:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:43:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:43:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:43:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:43:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:43:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:43:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:43:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:43:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:43:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:43:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:43:09 UTC] 📊 Database Info:
[21-Nov-2025 17:43:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:43:09 UTC]    Books columns count: 44
[21-Nov-2025 17:43:09 UTC]    Categories columns count: 7
[21-Nov-2025 17:43:09 UTC]    Language field in books: YES
[21-Nov-2025 17:43:09 UTC]    Format field in books: YES
[21-Nov-2025 17:43:09 UTC]    Description field in categories: YES
[21-Nov-2025 17:43:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:43:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:43:09 UTC]    Is_active field in books: YES
[21-Nov-2025 17:43:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:43:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:43:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:43:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:43:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:43:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:43:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:43:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:43:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:43:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:43:09 UTC] 📊 Database Info:
[21-Nov-2025 17:43:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:43:09 UTC]    Books columns count: 44
[21-Nov-2025 17:43:09 UTC]    Categories columns count: 7
[21-Nov-2025 17:43:09 UTC]    Language field in books: YES
[21-Nov-2025 17:43:09 UTC]    Format field in books: YES
[21-Nov-2025 17:43:09 UTC]    Description field in categories: YES
[21-Nov-2025 17:43:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:43:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:43:09 UTC]    Is_active field in books: YES
[21-Nov-2025 17:43:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:43:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:43:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:43:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:43:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:43:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:43:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:43:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:43:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:43:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:43:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:43:09 UTC] 📊 Database Info:
[21-Nov-2025 17:43:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:43:09 UTC]    Books columns count: 44
[21-Nov-2025 17:43:09 UTC]    Categories columns count: 7
[21-Nov-2025 17:43:09 UTC]    Language field in books: YES
[21-Nov-2025 17:43:09 UTC]    Format field in books: YES
[21-Nov-2025 17:43:09 UTC]    Description field in categories: YES
[21-Nov-2025 17:43:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:43:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:43:09 UTC]    Is_active field in books: YES
[21-Nov-2025 17:43:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:43:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:43:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:43:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:43:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:43:09 UTC] 📊 Database Info:
[21-Nov-2025 17:43:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:43:09 UTC]    Books columns count: 44
[21-Nov-2025 17:43:09 UTC]    Categories columns count: 7
[21-Nov-2025 17:43:09 UTC]    Language field in books: YES
[21-Nov-2025 17:43:09 UTC]    Format field in books: YES
[21-Nov-2025 17:43:09 UTC]    Description field in categories: YES
[21-Nov-2025 17:43:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:43:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:43:09 UTC]    Is_active field in books: YES
[21-Nov-2025 17:43:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:43:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:43:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:43:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:43:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:43:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:43:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:43:09 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:43:09 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:43:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:43:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:43:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:43:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:43:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:43:09 UTC] 📊 Database Info:
[21-Nov-2025 17:43:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:43:09 UTC]    Books columns count: 44
[21-Nov-2025 17:43:09 UTC]    Categories columns count: 7
[21-Nov-2025 17:43:09 UTC]    Language field in books: YES
[21-Nov-2025 17:43:09 UTC]    Format field in books: YES
[21-Nov-2025 17:43:09 UTC]    Description field in categories: YES
[21-Nov-2025 17:43:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:43:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:43:09 UTC]    Is_active field in books: YES
[21-Nov-2025 17:43:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:43:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:43:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:43:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:43:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:43:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:43:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:43:09 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:43:09 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:43:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:43:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:43:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:43:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:43:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:43:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:43:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:43:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:43:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:43:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:43:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:43:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:43:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:43:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:43:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:43:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:43:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:43:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:43:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:43:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:43:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:43:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:43:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:43:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:43:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:43:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:43:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:43:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:43:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:43:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:43:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:43:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:43:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:43:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:43:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:43:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:43:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:43:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:43:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:43:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:43:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:43:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:43:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:43:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:43:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:43:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:43:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:43:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:43:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:43:12 UTC] 📊 Database Info:
[21-Nov-2025 17:43:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:43:12 UTC]    Books columns count: 44
[21-Nov-2025 17:43:12 UTC]    Categories columns count: 7
[21-Nov-2025 17:43:12 UTC]    Language field in books: YES
[21-Nov-2025 17:43:12 UTC]    Format field in books: YES
[21-Nov-2025 17:43:12 UTC]    Description field in categories: YES
[21-Nov-2025 17:43:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:43:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:43:12 UTC]    Is_active field in books: YES
[21-Nov-2025 17:43:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:43:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:43:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:43:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:43:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:43:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:43:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:43:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:43:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:43:12 UTC] 📊 Database Info:
[21-Nov-2025 17:43:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:43:12 UTC]    Books columns count: 44
[21-Nov-2025 17:43:12 UTC]    Categories columns count: 7
[21-Nov-2025 17:43:12 UTC]    Language field in books: YES
[21-Nov-2025 17:43:12 UTC]    Format field in books: YES
[21-Nov-2025 17:43:12 UTC]    Description field in categories: YES
[21-Nov-2025 17:43:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:43:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:43:12 UTC]    Is_active field in books: YES
[21-Nov-2025 17:43:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:43:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:43:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:43:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:43:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:43:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:43:12 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:43:12 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:43:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:43:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:43:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:43:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:43:12 UTC] 📊 Database Info:
[21-Nov-2025 17:43:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:43:12 UTC]    Books columns count: 44
[21-Nov-2025 17:43:12 UTC]    Categories columns count: 7
[21-Nov-2025 17:43:12 UTC]    Language field in books: YES
[21-Nov-2025 17:43:12 UTC]    Format field in books: YES
[21-Nov-2025 17:43:12 UTC]    Description field in categories: YES
[21-Nov-2025 17:43:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:43:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:43:12 UTC]    Is_active field in books: YES
[21-Nov-2025 17:43:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:43:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:43:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:43:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:43:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:43:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:43:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:44:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:44:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:44:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:44:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:44:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:44:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:44:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:44:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:44:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:44:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:44:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:44:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:44:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:44:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:44:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:44:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:44:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:44:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:44:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:44:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:44:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:44:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:44:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:44:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:44:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:44:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:44:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:44:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:44:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:44:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:44:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:44:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:44:04 UTC] 📊 Database Info:
[21-Nov-2025 17:44:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:44:04 UTC]    Books columns count: 44
[21-Nov-2025 17:44:04 UTC]    Categories columns count: 7
[21-Nov-2025 17:44:04 UTC]    Language field in books: YES
[21-Nov-2025 17:44:04 UTC]    Format field in books: YES
[21-Nov-2025 17:44:04 UTC]    Description field in categories: YES
[21-Nov-2025 17:44:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:44:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:44:04 UTC]    Is_active field in books: YES
[21-Nov-2025 17:44:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:44:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:44:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:44:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:44:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:44:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:44:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:44:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:44:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:44:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:44:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:44:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:44:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:44:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:44:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:44:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:44:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:44:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:44:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:44:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:44:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:44:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:44:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:44:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:44:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:44:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:44:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:44:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:44:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:44:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:44:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:44:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:44:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:44:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:44:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:44:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:44:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:44:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:44:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:44:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:44:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:44:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:44:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:44:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:44:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:44:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:44:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:44:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:44:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:44:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:44:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:44:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:44:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:44:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:44:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:44:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:44:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:44:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:44:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:44:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:44:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 17:44:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:44:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 17:44:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 17:44:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 17:44:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 17:44:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 17:44:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 17:44:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:44:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:44:06 UTC] 📊 Database Info:
[21-Nov-2025 17:44:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:44:06 UTC]    Books columns count: 44
[21-Nov-2025 17:44:06 UTC]    Categories columns count: 7
[21-Nov-2025 17:44:06 UTC]    Language field in books: YES
[21-Nov-2025 17:44:06 UTC]    Format field in books: YES
[21-Nov-2025 17:44:06 UTC]    Description field in categories: YES
[21-Nov-2025 17:44:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:44:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:44:06 UTC]    Is_active field in books: YES
[21-Nov-2025 17:44:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:44:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:44:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:44:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:44:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:44:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:44:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:44:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:44:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:44:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:44:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:44:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:44:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:44:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:44:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:44:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:44:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:44:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:44:06 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:44:06 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:44:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:44:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:44:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:44:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:44:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:44:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:44:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:44:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:44:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:44:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:44:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:44:07 UTC] 📊 Database Info:
[21-Nov-2025 17:44:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:44:07 UTC]    Books columns count: 44
[21-Nov-2025 17:44:07 UTC]    Categories columns count: 7
[21-Nov-2025 17:44:07 UTC]    Language field in books: YES
[21-Nov-2025 17:44:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:44:07 UTC]    Format field in books: YES
[21-Nov-2025 17:44:07 UTC]    Description field in categories: YES
[21-Nov-2025 17:44:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:44:07 UTC] 📊 Database Info:
[21-Nov-2025 17:44:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:44:07 UTC]    Is_active field in books: YES
[21-Nov-2025 17:44:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:44:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:44:07 UTC]    Books columns count: 44
[21-Nov-2025 17:44:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:44:07 UTC]    Categories columns count: 7
[21-Nov-2025 17:44:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:44:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:44:07 UTC]    Language field in books: YES
[21-Nov-2025 17:44:07 UTC]    Format field in books: YES
[21-Nov-2025 17:44:07 UTC]    Description field in categories: YES
[21-Nov-2025 17:44:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:44:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:44:07 UTC]    Is_active field in books: YES
[21-Nov-2025 17:44:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:44:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:44:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:44:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:44:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:44:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:44:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:44:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:44:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:44:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:44:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:44:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:44:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:44:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:44:07 UTC] 📊 Database Info:
[21-Nov-2025 17:44:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:44:07 UTC]    Books columns count: 44
[21-Nov-2025 17:44:07 UTC]    Categories columns count: 7
[21-Nov-2025 17:44:07 UTC]    Language field in books: YES
[21-Nov-2025 17:44:07 UTC]    Format field in books: YES
[21-Nov-2025 17:44:07 UTC]    Description field in categories: YES
[21-Nov-2025 17:44:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:44:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:44:07 UTC]    Is_active field in books: YES
[21-Nov-2025 17:44:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:44:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:44:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:44:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:44:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:44:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:44:07 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 17:44:07 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 17:44:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:44:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 17:44:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:44:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:44:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 17:44:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:44:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:44:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 17:44:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:44:07 UTC] 📊 Database Info:
[21-Nov-2025 17:44:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:44:07 UTC]    Books columns count: 44
[21-Nov-2025 17:44:07 UTC]    Categories columns count: 7
[21-Nov-2025 17:44:07 UTC]    Language field in books: YES
[21-Nov-2025 17:44:07 UTC]    Format field in books: YES
[21-Nov-2025 17:44:07 UTC]    Description field in categories: YES
[21-Nov-2025 17:44:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:44:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:44:07 UTC]    Is_active field in books: YES
[21-Nov-2025 17:44:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:44:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:44:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:44:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:44:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 17:44:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 17:44:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:44:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 17:44:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 17:44:07 UTC] 📊 Database Info:
[21-Nov-2025 17:44:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 17:44:07 UTC]    Books columns count: 44
[21-Nov-2025 17:44:07 UTC]    Categories columns count: 7
[21-Nov-2025 17:44:07 UTC]    Language field in books: YES
[21-Nov-2025 17:44:07 UTC]    Format field in books: YES
[21-Nov-2025 17:44:07 UTC]    Description field in categories: YES
[21-Nov-2025 17:44:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 17:44:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 17:44:07 UTC]    Is_active field in books: YES
[21-Nov-2025 17:44:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 17:44:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 17:44:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 17:44:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 17:44:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 17:44:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 17:44:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 18:02:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 18:02:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 18:02:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 18:02:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:02:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:02:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:02:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:02:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:02:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:02:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:02:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:02:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:02:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:02:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:02:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 18:02:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:02:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:02:11 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 18:02:11 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 18:02:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:02:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:02:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:02:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:02:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:02:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:02:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:02:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:02:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:02:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:02:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:02:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:02:11 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 18:02:11 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 18:02:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 18:02:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:02:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:02:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:02:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:02:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:02:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:02:11 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 18:02:11 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:02:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:02:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:02:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:02:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:02:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:02:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:02:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:02:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:02:11 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 18:02:11 UTC] 📊 Database Info:
[21-Nov-2025 18:02:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 18:02:11 UTC]    Books columns count: 44
[21-Nov-2025 18:02:11 UTC]    Categories columns count: 7
[21-Nov-2025 18:02:11 UTC]    Language field in books: YES
[21-Nov-2025 18:02:11 UTC]    Format field in books: YES
[21-Nov-2025 18:02:11 UTC]    Description field in categories: YES
[21-Nov-2025 18:02:11 UTC]    Display_order field in categories: YES
[21-Nov-2025 18:02:11 UTC]    Is_active field in categories: YES
[21-Nov-2025 18:02:11 UTC]    Is_active field in books: YES
[21-Nov-2025 18:02:11 UTC]    External_download_link field in books: YES
[21-Nov-2025 18:02:11 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 18:02:11 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 18:02:11 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 18:02:11 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 18:02:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 18:02:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:02:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:02:11 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 18:02:11 UTC] 📊 Database Info:
[21-Nov-2025 18:02:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 18:02:11 UTC]    Books columns count: 44
[21-Nov-2025 18:02:11 UTC]    Categories columns count: 7
[21-Nov-2025 18:02:11 UTC]    Language field in books: YES
[21-Nov-2025 18:02:11 UTC]    Format field in books: YES
[21-Nov-2025 18:02:11 UTC]    Description field in categories: YES
[21-Nov-2025 18:02:11 UTC]    Display_order field in categories: YES
[21-Nov-2025 18:02:11 UTC]    Is_active field in categories: YES
[21-Nov-2025 18:02:11 UTC]    Is_active field in books: YES
[21-Nov-2025 18:02:11 UTC]    External_download_link field in books: YES
[21-Nov-2025 18:02:11 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 18:02:11 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 18:02:11 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 18:02:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:02:11 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 18:02:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:02:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 18:02:11 UTC] 📊 Database Info:
[21-Nov-2025 18:02:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 18:02:11 UTC]    Books columns count: 44
[21-Nov-2025 18:02:11 UTC]    Categories columns count: 7
[21-Nov-2025 18:02:11 UTC]    Language field in books: YES
[21-Nov-2025 18:02:11 UTC]    Format field in books: YES
[21-Nov-2025 18:02:11 UTC]    Description field in categories: YES
[21-Nov-2025 18:02:11 UTC]    Display_order field in categories: YES
[21-Nov-2025 18:02:11 UTC]    Is_active field in categories: YES
[21-Nov-2025 18:02:11 UTC]    Is_active field in books: YES
[21-Nov-2025 18:02:11 UTC]    External_download_link field in books: YES
[21-Nov-2025 18:02:11 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 18:02:11 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 18:02:11 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 18:02:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 18:02:11 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 18:02:11 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 18:02:11 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 18:02:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 18:02:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 18:31:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 18:31:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:31:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 18:31:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 18:31:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:31:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:31:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:31:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 18:31:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:31:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:31:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:31:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:31:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:31:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:31:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:31:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:31:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:31:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:31:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 18:31:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:31:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:31:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:31:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 18:31:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 18:31:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 18:31:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 18:31:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:31:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:31:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:31:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:31:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:31:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:31:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:31:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:31:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:31:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:31:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:31:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:31:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:31:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 18:31:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:31:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:31:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:31:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 18:31:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 18:31:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 18:31:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 18:31:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 18:31:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:31:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:31:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 18:31:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 18:31:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 18:31:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 18:31:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:31:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:31:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:31:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:31:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:31:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:31:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 18:31:53 UTC] 📊 Database Info:
[21-Nov-2025 18:31:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 18:31:53 UTC]    Books columns count: 44
[21-Nov-2025 18:31:53 UTC]    Categories columns count: 7
[21-Nov-2025 18:31:53 UTC]    Language field in books: YES
[21-Nov-2025 18:31:53 UTC]    Format field in books: YES
[21-Nov-2025 18:31:53 UTC]    Description field in categories: YES
[21-Nov-2025 18:31:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 18:31:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 18:31:53 UTC]    Is_active field in books: YES
[21-Nov-2025 18:31:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 18:31:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 18:31:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 18:31:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 18:31:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 18:31:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 18:31:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:31:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:31:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 18:31:53 UTC] 📊 Database Info:
[21-Nov-2025 18:31:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 18:31:53 UTC]    Books columns count: 44
[21-Nov-2025 18:31:53 UTC]    Categories columns count: 7
[21-Nov-2025 18:31:53 UTC]    Language field in books: YES
[21-Nov-2025 18:31:53 UTC]    Format field in books: YES
[21-Nov-2025 18:31:53 UTC]    Description field in categories: YES
[21-Nov-2025 18:31:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 18:31:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 18:31:53 UTC]    Is_active field in books: YES
[21-Nov-2025 18:31:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 18:31:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 18:31:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 18:31:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 18:31:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 18:31:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 18:31:53 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 18:31:53 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 18:31:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:31:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:31:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:31:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:31:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:31:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:31:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:31:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:31:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:31:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 18:31:53 UTC] 📊 Database Info:
[21-Nov-2025 18:31:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 18:31:53 UTC]    Books columns count: 44
[21-Nov-2025 18:31:53 UTC]    Categories columns count: 7
[21-Nov-2025 18:31:53 UTC]    Language field in books: YES
[21-Nov-2025 18:31:53 UTC]    Format field in books: YES
[21-Nov-2025 18:31:53 UTC]    Description field in categories: YES
[21-Nov-2025 18:31:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 18:31:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 18:31:53 UTC]    Is_active field in books: YES
[21-Nov-2025 18:31:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 18:31:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 18:31:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 18:31:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 18:31:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 18:31:53 UTC] 📊 Database Info:
[21-Nov-2025 18:31:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 18:31:53 UTC]    Books columns count: 44
[21-Nov-2025 18:31:53 UTC]    Categories columns count: 7
[21-Nov-2025 18:31:53 UTC]    Language field in books: YES
[21-Nov-2025 18:31:53 UTC]    Format field in books: YES
[21-Nov-2025 18:31:53 UTC]    Description field in categories: YES
[21-Nov-2025 18:31:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 18:31:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 18:31:53 UTC]    Is_active field in books: YES
[21-Nov-2025 18:31:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 18:31:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 18:31:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 18:31:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 18:31:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 18:31:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 18:31:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 18:31:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 18:31:53 UTC] 📊 Database Info:
[21-Nov-2025 18:31:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 18:31:53 UTC]    Books columns count: 44
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 18:31:53 UTC]    Categories columns count: 7
[21-Nov-2025 18:31:53 UTC]    Language field in books: YES
[21-Nov-2025 18:31:53 UTC]    Format field in books: YES
[21-Nov-2025 18:31:53 UTC]    Description field in categories: YES
[21-Nov-2025 18:31:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 18:31:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 18:31:53 UTC]    Is_active field in books: YES
[21-Nov-2025 18:31:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 18:31:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 18:31:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 18:31:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 18:31:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 18:31:53 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 18:31:53 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 18:31:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 18:31:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 18:31:53 UTC] 📊 Database Info:
[21-Nov-2025 18:31:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 18:31:53 UTC]    Books columns count: 44
[21-Nov-2025 18:31:53 UTC]    Categories columns count: 7
[21-Nov-2025 18:31:53 UTC]    Language field in books: YES
[21-Nov-2025 18:31:53 UTC]    Format field in books: YES
[21-Nov-2025 18:31:53 UTC]    Description field in categories: YES
[21-Nov-2025 18:31:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 18:31:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 18:31:53 UTC]    Is_active field in books: YES
[21-Nov-2025 18:31:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 18:31:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 18:31:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 18:31:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 18:31:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 18:31:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 18:31:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 18:31:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 18:31:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:31:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:31:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:31:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:31:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:31:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:31:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:31:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:31:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:31:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:31:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:31:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:31:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 18:31:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:31:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 18:31:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 18:31:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 18:31:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 18:31:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 18:31:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 18:31:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 18:31:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 18:31:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 18:31:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 18:31:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 18:31:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 18:31:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 18:31:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 18:31:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 18:31:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 18:31:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 18:31:55 UTC] 📊 Database Info:
[21-Nov-2025 18:31:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 18:31:55 UTC]    Books columns count: 44
[21-Nov-2025 18:31:55 UTC]    Categories columns count: 7
[21-Nov-2025 18:31:55 UTC]    Language field in books: YES
[21-Nov-2025 18:31:55 UTC]    Format field in books: YES
[21-Nov-2025 18:31:55 UTC]    Description field in categories: YES
[21-Nov-2025 18:31:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 18:31:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 18:31:55 UTC]    Is_active field in books: YES
[21-Nov-2025 18:31:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 18:31:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 18:31:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 18:31:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 18:31:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 18:31:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 18:31:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 18:31:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 18:31:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 18:31:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 18:31:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 18:31:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 18:31:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 18:31:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 18:31:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 18:31:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 18:31:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 18:31:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:44:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:44:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:44:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:44:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:44:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:44:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:44:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:44:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:44:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:44:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:44:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:44:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:44:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:44:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:44:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:44:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:44:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:44:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:44:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:44:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:44:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:44:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:44:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:44:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:44:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:44:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:44:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:44:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:44:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:44:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:44:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:44:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:44:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:44:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:44:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:44:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:44:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:44:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:44:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:44:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:44:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:44:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:44:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:44:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:44:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:44:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:44:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:44:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:44:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:44:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:44:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:44:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:44:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:44:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:44:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:44:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:44:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:44:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:44:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:44:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:44:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:44:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:44:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:44:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:44:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:44:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:44:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:44:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:44:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:44:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:44:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:44:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:44:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:44:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:44:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:44:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:44:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:44:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:44:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:44:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:44:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:44:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:44:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:44:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:44:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:44:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:44:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:44:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:44:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:44:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:44:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:44:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:44:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:44:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:44:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:44:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:44:55 UTC] 📊 Database Info:
[21-Nov-2025 19:44:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:44:55 UTC]    Books columns count: 44
[21-Nov-2025 19:44:55 UTC]    Categories columns count: 7
[21-Nov-2025 19:44:55 UTC]    Language field in books: YES
[21-Nov-2025 19:44:55 UTC]    Format field in books: YES
[21-Nov-2025 19:44:55 UTC]    Description field in categories: YES
[21-Nov-2025 19:44:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:44:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:44:55 UTC]    Is_active field in books: YES
[21-Nov-2025 19:44:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:44:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:44:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:44:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:44:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:44:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:44:55 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 19:44:55 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 19:44:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:44:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:44:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:44:55 UTC] 📊 Database Info:
[21-Nov-2025 19:44:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:44:55 UTC]    Books columns count: 44
[21-Nov-2025 19:44:55 UTC]    Categories columns count: 7
[21-Nov-2025 19:44:55 UTC]    Language field in books: YES
[21-Nov-2025 19:44:55 UTC]    Format field in books: YES
[21-Nov-2025 19:44:55 UTC]    Description field in categories: YES
[21-Nov-2025 19:44:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:44:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:44:55 UTC]    Is_active field in books: YES
[21-Nov-2025 19:44:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:44:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:44:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:44:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:44:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:44:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:44:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:44:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:44:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:44:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:44:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:44:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:44:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:44:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:44:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:44:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:44:55 UTC] 📊 Database Info:
[21-Nov-2025 19:44:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:44:55 UTC]    Books columns count: 44
[21-Nov-2025 19:44:55 UTC]    Categories columns count: 7
[21-Nov-2025 19:44:55 UTC]    Language field in books: YES
[21-Nov-2025 19:44:55 UTC]    Format field in books: YES
[21-Nov-2025 19:44:55 UTC]    Description field in categories: YES
[21-Nov-2025 19:44:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:44:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:44:55 UTC]    Is_active field in books: YES
[21-Nov-2025 19:44:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:44:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:44:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:44:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:44:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:44:55 UTC] 📊 Database Info:
[21-Nov-2025 19:44:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:44:55 UTC]    Books columns count: 44
[21-Nov-2025 19:44:55 UTC]    Categories columns count: 7
[21-Nov-2025 19:44:55 UTC]    Language field in books: YES
[21-Nov-2025 19:44:55 UTC]    Format field in books: YES
[21-Nov-2025 19:44:55 UTC]    Description field in categories: YES
[21-Nov-2025 19:44:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:44:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:44:55 UTC]    Is_active field in books: YES
[21-Nov-2025 19:44:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:44:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:44:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:44:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:44:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:44:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:44:55 UTC] 📊 Database Info:
[21-Nov-2025 19:44:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:44:55 UTC]    Books columns count: 44
[21-Nov-2025 19:44:55 UTC]    Categories columns count: 7
[21-Nov-2025 19:44:55 UTC]    Language field in books: YES
[21-Nov-2025 19:44:55 UTC]    Format field in books: YES
[21-Nov-2025 19:44:55 UTC]    Description field in categories: YES
[21-Nov-2025 19:44:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:44:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:44:55 UTC]    Is_active field in books: YES
[21-Nov-2025 19:44:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:44:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:44:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:44:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:44:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:44:55 UTC] 📊 Database Info:
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:44:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:44:55 UTC]    Books columns count: 44
[21-Nov-2025 19:44:55 UTC]    Categories columns count: 7
[21-Nov-2025 19:44:55 UTC]    Language field in books: YES
[21-Nov-2025 19:44:55 UTC]    Format field in books: YES
[21-Nov-2025 19:44:55 UTC]    Description field in categories: YES
[21-Nov-2025 19:44:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:44:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:44:55 UTC]    Is_active field in books: YES
[21-Nov-2025 19:44:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:44:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:44:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:44:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:44:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:44:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:44:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:44:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:44:55 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 19:44:55 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 19:44:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:44:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:44:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:44:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:44:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:44:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:44:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:44:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:44:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:44:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:44:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:44:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:44:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:44:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:44:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:44:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:44:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:44:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:44:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:44:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:44:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:44:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:44:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:44:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:44:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:44:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:44:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:44:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:44:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:44:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:44:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:44:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:44:57 UTC] 📊 Database Info:
[21-Nov-2025 19:44:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:44:57 UTC]    Books columns count: 44
[21-Nov-2025 19:44:57 UTC]    Categories columns count: 7
[21-Nov-2025 19:44:57 UTC]    Language field in books: YES
[21-Nov-2025 19:44:57 UTC]    Format field in books: YES
[21-Nov-2025 19:44:57 UTC]    Description field in categories: YES
[21-Nov-2025 19:44:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:44:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:44:57 UTC]    Is_active field in books: YES
[21-Nov-2025 19:44:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:44:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:44:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:44:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:44:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:44:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:44:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:03 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:03 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:03 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:03 UTC] 📊 Database Info:
[21-Nov-2025 19:45:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:03 UTC]    Books columns count: 44
[21-Nov-2025 19:45:03 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:03 UTC]    Language field in books: YES
[21-Nov-2025 19:45:03 UTC]    Format field in books: YES
[21-Nov-2025 19:45:03 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:03 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:03 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:03 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:03 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:03 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:03 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:03 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:03 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:04 UTC] 📊 Database Info:
[21-Nov-2025 19:45:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:04 UTC]    Books columns count: 44
[21-Nov-2025 19:45:04 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:04 UTC]    Language field in books: YES
[21-Nov-2025 19:45:04 UTC]    Format field in books: YES
[21-Nov-2025 19:45:04 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:04 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 19:45:04 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 19:45:04 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 19:45:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:04 UTC] 📊 Database Info:
[21-Nov-2025 19:45:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:04 UTC]    Books columns count: 44
[21-Nov-2025 19:45:04 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:04 UTC]    Language field in books: YES
[21-Nov-2025 19:45:04 UTC]    Format field in books: YES
[21-Nov-2025 19:45:04 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:04 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 19:45:05 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 19:45:05 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 19:45:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:05 UTC] 📊 Database Info:
[21-Nov-2025 19:45:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:05 UTC]    Books columns count: 44
[21-Nov-2025 19:45:05 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:05 UTC]    Language field in books: YES
[21-Nov-2025 19:45:05 UTC]    Format field in books: YES
[21-Nov-2025 19:45:05 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:05 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 19:45:05 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 19:45:05 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 19:45:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:05 UTC] 📊 Database Info:
[21-Nov-2025 19:45:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:05 UTC]    Books columns count: 44
[21-Nov-2025 19:45:05 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:05 UTC]    Language field in books: YES
[21-Nov-2025 19:45:05 UTC]    Format field in books: YES
[21-Nov-2025 19:45:05 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:05 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:05 UTC] 📊 Database Info:
[21-Nov-2025 19:45:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:05 UTC]    Books columns count: 44
[21-Nov-2025 19:45:05 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:05 UTC]    Language field in books: YES
[21-Nov-2025 19:45:05 UTC]    Format field in books: YES
[21-Nov-2025 19:45:05 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:05 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:05 UTC] 📊 Database Info:
[21-Nov-2025 19:45:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:05 UTC]    Books columns count: 44
[21-Nov-2025 19:45:05 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:05 UTC]    Language field in books: YES
[21-Nov-2025 19:45:05 UTC]    Format field in books: YES
[21-Nov-2025 19:45:05 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:05 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 19:45:05 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 19:45:05 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 19:45:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:06 UTC] 📊 Database Info:
[21-Nov-2025 19:45:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:06 UTC]    Books columns count: 44
[21-Nov-2025 19:45:06 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:06 UTC]    Language field in books: YES
[21-Nov-2025 19:45:06 UTC]    Format field in books: YES
[21-Nov-2025 19:45:06 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:06 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 19:45:06 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 19:45:06 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 19:45:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:07 UTC] 📊 Database Info:
[21-Nov-2025 19:45:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:07 UTC]    Books columns count: 44
[21-Nov-2025 19:45:07 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:07 UTC]    Language field in books: YES
[21-Nov-2025 19:45:07 UTC]    Format field in books: YES
[21-Nov-2025 19:45:07 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:07 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:07 UTC] 📊 Database Info:
[21-Nov-2025 19:45:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:07 UTC]    Books columns count: 44
[21-Nov-2025 19:45:07 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:07 UTC]    Language field in books: YES
[21-Nov-2025 19:45:07 UTC]    Format field in books: YES
[21-Nov-2025 19:45:07 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:07 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 19:45:07 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:07 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 19:45:07 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 19:45:07 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 19:45:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:07 UTC] 📊 Database Info:
[21-Nov-2025 19:45:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:07 UTC]    Books columns count: 44
[21-Nov-2025 19:45:07 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:07 UTC]    Language field in books: YES
[21-Nov-2025 19:45:07 UTC]    Format field in books: YES
[21-Nov-2025 19:45:07 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:07 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 19:45:07 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 19:45:07 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 19:45:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:07 UTC] 📊 Database Info:
[21-Nov-2025 19:45:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:07 UTC]    Books columns count: 44
[21-Nov-2025 19:45:07 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:07 UTC]    Language field in books: YES
[21-Nov-2025 19:45:07 UTC]    Format field in books: YES
[21-Nov-2025 19:45:07 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:07 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:08 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:08 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:08 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:08 UTC] 📊 Database Info:
[21-Nov-2025 19:45:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:08 UTC]    Books columns count: 44
[21-Nov-2025 19:45:08 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:08 UTC]    Language field in books: YES
[21-Nov-2025 19:45:08 UTC]    Format field in books: YES
[21-Nov-2025 19:45:08 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:08 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:08 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:08 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:08 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:08 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:08 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:08 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:08 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:08 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:08 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:08 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:08 UTC] 📊 Database Info:
[21-Nov-2025 19:45:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:08 UTC]    Books columns count: 44
[21-Nov-2025 19:45:08 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:08 UTC]    Language field in books: YES
[21-Nov-2025 19:45:08 UTC]    Format field in books: YES
[21-Nov-2025 19:45:08 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:08 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:08 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:08 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:08 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:08 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:08 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:08 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:08 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 19:45:08 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 19:45:08 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 19:45:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:10 UTC] 📊 Database Info:
[21-Nov-2025 19:45:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:10 UTC]    Books columns count: 44
[21-Nov-2025 19:45:10 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:10 UTC]    Language field in books: YES
[21-Nov-2025 19:45:10 UTC]    Format field in books: YES
[21-Nov-2025 19:45:10 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:10 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 19:45:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 19:45:10 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 19:45:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:10 UTC] 📊 Database Info:
[21-Nov-2025 19:45:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:10 UTC]    Books columns count: 44
[21-Nov-2025 19:45:10 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:10 UTC]    Language field in books: YES
[21-Nov-2025 19:45:10 UTC]    Format field in books: YES
[21-Nov-2025 19:45:10 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:10 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 19:45:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 19:45:10 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 19:45:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:10 UTC] 📊 Database Info:
[21-Nov-2025 19:45:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:10 UTC]    Books columns count: 44
[21-Nov-2025 19:45:10 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:10 UTC]    Language field in books: YES
[21-Nov-2025 19:45:10 UTC]    Format field in books: YES
[21-Nov-2025 19:45:10 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:10 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 19:45:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 19:45:10 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 19:45:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:11 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:11 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:11 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:11 UTC] 📊 Database Info:
[21-Nov-2025 19:45:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:11 UTC]    Books columns count: 44
[21-Nov-2025 19:45:11 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:11 UTC]    Language field in books: YES
[21-Nov-2025 19:45:11 UTC]    Format field in books: YES
[21-Nov-2025 19:45:11 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:11 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:11 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:11 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:11 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:11 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:11 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:11 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:11 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:13 UTC] 📊 Database Info:
[21-Nov-2025 19:45:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:13 UTC]    Books columns count: 44
[21-Nov-2025 19:45:13 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:13 UTC]    Language field in books: YES
[21-Nov-2025 19:45:13 UTC]    Format field in books: YES
[21-Nov-2025 19:45:13 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:13 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 19:45:13 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 19:45:13 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 19:45:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:15 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:15 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:15 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:15 UTC] 📊 Database Info:
[21-Nov-2025 19:45:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:15 UTC]    Books columns count: 44
[21-Nov-2025 19:45:15 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:15 UTC]    Language field in books: YES
[21-Nov-2025 19:45:15 UTC]    Format field in books: YES
[21-Nov-2025 19:45:15 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:15 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:15 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:15 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:15 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:15 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:15 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:15 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:15 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:16 UTC] 📊 Database Info:
[21-Nov-2025 19:45:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:16 UTC]    Books columns count: 44
[21-Nov-2025 19:45:16 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:16 UTC]    Language field in books: YES
[21-Nov-2025 19:45:16 UTC]    Format field in books: YES
[21-Nov-2025 19:45:16 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:16 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:17 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:17 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:17 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:17 UTC] 📊 Database Info:
[21-Nov-2025 19:45:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:17 UTC]    Books columns count: 44
[21-Nov-2025 19:45:17 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:17 UTC]    Language field in books: YES
[21-Nov-2025 19:45:17 UTC]    Format field in books: YES
[21-Nov-2025 19:45:17 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:17 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:17 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:17 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:17 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:17 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:17 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:17 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:17 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 19:45:17 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 19:45:17 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 19:45:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:18 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:18 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:18 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:18 UTC] 📊 Database Info:
[21-Nov-2025 19:45:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:18 UTC]    Books columns count: 44
[21-Nov-2025 19:45:18 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:18 UTC]    Language field in books: YES
[21-Nov-2025 19:45:18 UTC]    Format field in books: YES
[21-Nov-2025 19:45:18 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:18 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:18 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:18 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:18 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:18 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:18 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:18 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:18 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 19:45:18 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 19:45:18 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 19:45:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:18 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:18 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:18 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:18 UTC] 📊 Database Info:
[21-Nov-2025 19:45:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:18 UTC]    Books columns count: 44
[21-Nov-2025 19:45:18 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:18 UTC]    Language field in books: YES
[21-Nov-2025 19:45:18 UTC]    Format field in books: YES
[21-Nov-2025 19:45:18 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:18 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:18 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:18 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:18 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:18 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:18 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:18 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:18 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 19:45:18 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 19:45:18 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 19:45:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:45:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:45:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:45:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:45:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:45:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:45:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:45:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:45:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:45:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:45:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:45:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:45:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:45:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:45:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:45:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:45:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:45:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:45:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:45:20 UTC] 📊 Database Info:
[21-Nov-2025 19:45:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:45:20 UTC]    Books columns count: 44
[21-Nov-2025 19:45:20 UTC]    Categories columns count: 7
[21-Nov-2025 19:45:20 UTC]    Language field in books: YES
[21-Nov-2025 19:45:20 UTC]    Format field in books: YES
[21-Nov-2025 19:45:20 UTC]    Description field in categories: YES
[21-Nov-2025 19:45:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:45:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:45:20 UTC]    Is_active field in books: YES
[21-Nov-2025 19:45:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:45:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:45:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:45:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:45:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:45:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:45:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 19:45:20 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 19:45:20 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 19:56:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:56:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:56:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:56:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:56:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:56:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:56:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:56:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 19:56:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:56:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:56:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:56:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:56:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:56:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:56:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:56:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:56:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:56:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:56:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:56:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:56:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:56:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:56:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:56:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:56:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:56:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:56:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:56:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:56:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:56:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:56:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:56:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:56:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:56:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:56:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:56:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:56:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:56:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:56:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:56:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:56:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:56:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:56:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:56:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:56:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:56:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:56:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:56:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:56:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 19:56:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:56:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:56:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:56:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 19:56:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:56:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:56:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:56:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:56:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:56:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:56:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:56:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 19:56:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 19:56:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:56:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:56:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:56:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:56:35 UTC] 📊 Database Info:
[21-Nov-2025 19:56:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:56:35 UTC]    Books columns count: 44
[21-Nov-2025 19:56:35 UTC]    Categories columns count: 7
[21-Nov-2025 19:56:35 UTC]    Language field in books: YES
[21-Nov-2025 19:56:35 UTC]    Format field in books: YES
[21-Nov-2025 19:56:35 UTC]    Description field in categories: YES
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:56:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:56:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:56:35 UTC]    Is_active field in books: YES
[21-Nov-2025 19:56:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:56:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:56:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:56:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:56:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:56:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:56:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:56:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 19:56:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 19:56:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 19:56:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:56:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:56:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:56:35 UTC] 📊 Database Info:
[21-Nov-2025 19:56:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:56:35 UTC]    Books columns count: 44
[21-Nov-2025 19:56:35 UTC]    Categories columns count: 7
[21-Nov-2025 19:56:35 UTC]    Language field in books: YES
[21-Nov-2025 19:56:35 UTC]    Format field in books: YES
[21-Nov-2025 19:56:35 UTC]    Description field in categories: YES
[21-Nov-2025 19:56:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:56:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:56:35 UTC]    Is_active field in books: YES
[21-Nov-2025 19:56:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:56:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:56:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:56:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:56:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:56:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:56:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:56:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:56:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:56:35 UTC] 📊 Database Info:
[21-Nov-2025 19:56:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:56:35 UTC]    Books columns count: 44
[21-Nov-2025 19:56:35 UTC]    Categories columns count: 7
[21-Nov-2025 19:56:35 UTC]    Language field in books: YES
[21-Nov-2025 19:56:35 UTC]    Format field in books: YES
[21-Nov-2025 19:56:35 UTC]    Description field in categories: YES
[21-Nov-2025 19:56:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:56:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:56:35 UTC]    Is_active field in books: YES
[21-Nov-2025 19:56:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:56:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:56:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:56:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:56:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:56:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:56:35 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 19:56:35 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 19:56:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:56:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:56:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:56:35 UTC] 📊 Database Info:
[21-Nov-2025 19:56:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:56:35 UTC]    Books columns count: 44
[21-Nov-2025 19:56:35 UTC]    Categories columns count: 7
[21-Nov-2025 19:56:35 UTC]    Language field in books: YES
[21-Nov-2025 19:56:35 UTC]    Format field in books: YES
[21-Nov-2025 19:56:35 UTC]    Description field in categories: YES
[21-Nov-2025 19:56:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:56:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:56:35 UTC]    Is_active field in books: YES
[21-Nov-2025 19:56:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:56:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:56:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:56:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:56:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:56:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:56:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:56:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:56:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:56:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 19:56:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 19:56:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:56:35 UTC] 📊 Database Info:
[21-Nov-2025 19:56:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:56:35 UTC]    Books columns count: 44
[21-Nov-2025 19:56:35 UTC]    Categories columns count: 7
[21-Nov-2025 19:56:35 UTC]    Language field in books: YES
[21-Nov-2025 19:56:35 UTC]    Format field in books: YES
[21-Nov-2025 19:56:35 UTC]    Description field in categories: YES
[21-Nov-2025 19:56:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:56:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:56:35 UTC]    Is_active field in books: YES
[21-Nov-2025 19:56:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:56:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:56:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:56:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:56:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 19:56:35 UTC] 📊 Database Info:
[21-Nov-2025 19:56:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 19:56:35 UTC]    Books columns count: 44
[21-Nov-2025 19:56:35 UTC]    Categories columns count: 7
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:56:35 UTC]    Language field in books: YES
[21-Nov-2025 19:56:35 UTC]    Format field in books: YES
[21-Nov-2025 19:56:35 UTC]    Description field in categories: YES
[21-Nov-2025 19:56:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 19:56:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 19:56:35 UTC]    Is_active field in books: YES
[21-Nov-2025 19:56:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 19:56:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 19:56:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:56:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 19:56:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 19:56:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 19:56:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 19:56:35 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 19:56:35 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 20:04:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 20:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:04:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 20:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:04:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 20:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:04:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:04:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:04:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 20:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:04:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:04:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 20:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 20:04:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 20:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:04:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 20:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:04:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:04:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 20:04:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:04:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 20:04:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:04:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:04:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 20:04:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 20:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:04:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:04:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 20:04:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:04:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:04:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:04:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:04:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 20:04:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 20:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:04:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 20:04:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:04:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 20:04:24 UTC] 📊 Database Info:
[21-Nov-2025 20:04:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 20:04:24 UTC]    Books columns count: 44
[21-Nov-2025 20:04:24 UTC]    Categories columns count: 7
[21-Nov-2025 20:04:24 UTC]    Language field in books: YES
[21-Nov-2025 20:04:24 UTC]    Format field in books: YES
[21-Nov-2025 20:04:24 UTC]    Description field in categories: YES
[21-Nov-2025 20:04:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 20:04:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 20:04:24 UTC]    Is_active field in books: YES
[21-Nov-2025 20:04:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 20:04:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 20:04:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 20:04:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 20:04:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 20:04:24 UTC] 📊 Database Info:
[21-Nov-2025 20:04:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 20:04:24 UTC]    Books columns count: 44
[21-Nov-2025 20:04:24 UTC]    Categories columns count: 7
[21-Nov-2025 20:04:24 UTC]    Language field in books: YES
[21-Nov-2025 20:04:24 UTC]    Format field in books: YES
[21-Nov-2025 20:04:24 UTC]    Description field in categories: YES
[21-Nov-2025 20:04:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 20:04:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 20:04:24 UTC]    Is_active field in books: YES
[21-Nov-2025 20:04:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 20:04:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 20:04:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 20:04:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 20:04:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 20:04:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 20:04:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 20:04:24 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 20:04:24 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:04:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 20:04:24 UTC] 📊 Database Info:
[21-Nov-2025 20:04:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 20:04:24 UTC]    Books columns count: 44
[21-Nov-2025 20:04:24 UTC]    Categories columns count: 7
[21-Nov-2025 20:04:24 UTC]    Language field in books: YES
[21-Nov-2025 20:04:24 UTC]    Format field in books: YES
[21-Nov-2025 20:04:24 UTC]    Description field in categories: YES
[21-Nov-2025 20:04:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 20:04:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 20:04:24 UTC]    Is_active field in books: YES
[21-Nov-2025 20:04:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 20:04:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 20:04:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 20:04:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 20:04:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 20:04:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 20:04:24 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 20:04:24 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 20:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:04:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 20:04:24 UTC] 📊 Database Info:
[21-Nov-2025 20:04:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 20:04:24 UTC]    Books columns count: 44
[21-Nov-2025 20:04:24 UTC]    Categories columns count: 7
[21-Nov-2025 20:04:24 UTC]    Language field in books: YES
[21-Nov-2025 20:04:24 UTC]    Format field in books: YES
[21-Nov-2025 20:04:24 UTC]    Description field in categories: YES
[21-Nov-2025 20:04:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 20:04:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 20:04:24 UTC]    Is_active field in books: YES
[21-Nov-2025 20:04:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 20:04:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 20:04:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 20:04:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 20:04:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 20:04:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 20:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:04:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 20:04:24 UTC] 📊 Database Info:
[21-Nov-2025 20:04:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 20:04:24 UTC]    Books columns count: 44
[21-Nov-2025 20:04:24 UTC]    Categories columns count: 7
[21-Nov-2025 20:04:24 UTC]    Language field in books: YES
[21-Nov-2025 20:04:24 UTC]    Format field in books: YES
[21-Nov-2025 20:04:24 UTC]    Description field in categories: YES
[21-Nov-2025 20:04:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 20:04:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 20:04:24 UTC]    Is_active field in books: YES
[21-Nov-2025 20:04:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 20:04:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 20:04:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 20:04:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 20:04:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 20:04:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 20:04:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 20:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:04:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 20:04:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:04:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:04:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 20:04:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 20:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:04:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 20:04:24 UTC] 📊 Database Info:
[21-Nov-2025 20:04:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 20:04:24 UTC]    Books columns count: 44
[21-Nov-2025 20:04:24 UTC]    Categories columns count: 7
[21-Nov-2025 20:04:24 UTC]    Language field in books: YES
[21-Nov-2025 20:04:24 UTC]    Format field in books: YES
[21-Nov-2025 20:04:24 UTC]    Description field in categories: YES
[21-Nov-2025 20:04:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 20:04:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 20:04:24 UTC]    Is_active field in books: YES
[21-Nov-2025 20:04:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 20:04:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 20:04:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 20:04:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 20:04:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 20:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 20:04:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 20:04:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 20:04:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:04:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:04:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 20:04:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 20:04:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:04:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:04:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:04:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:04:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:04:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 20:04:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:04:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:04:43 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 20:04:43 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 20:04:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:04:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:04:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:04:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:04:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:04:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:04:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:04:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:04:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 20:04:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 20:04:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:04:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:04:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:04:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:04:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:04:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:04:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:04:43 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 20:04:43 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 20:04:43 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 20:04:43 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 20:04:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:04:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:04:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:04:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:04:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:04:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:04:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:04:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:04:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:04:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:04:43 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 20:04:43 UTC] 📊 Database Info:
[21-Nov-2025 20:04:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 20:04:43 UTC]    Books columns count: 44
[21-Nov-2025 20:04:43 UTC]    Categories columns count: 7
[21-Nov-2025 20:04:43 UTC]    Language field in books: YES
[21-Nov-2025 20:04:43 UTC]    Format field in books: YES
[21-Nov-2025 20:04:43 UTC]    Description field in categories: YES
[21-Nov-2025 20:04:43 UTC]    Display_order field in categories: YES
[21-Nov-2025 20:04:43 UTC]    Is_active field in categories: YES
[21-Nov-2025 20:04:43 UTC]    Is_active field in books: YES
[21-Nov-2025 20:04:43 UTC]    External_download_link field in books: YES
[21-Nov-2025 20:04:43 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 20:04:43 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 20:04:43 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 20:04:43 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 20:04:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 20:04:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:04:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:04:43 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 20:04:43 UTC] 📊 Database Info:
[21-Nov-2025 20:04:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 20:04:43 UTC]    Books columns count: 44
[21-Nov-2025 20:04:43 UTC]    Categories columns count: 7
[21-Nov-2025 20:04:43 UTC]    Language field in books: YES
[21-Nov-2025 20:04:43 UTC]    Format field in books: YES
[21-Nov-2025 20:04:43 UTC]    Description field in categories: YES
[21-Nov-2025 20:04:43 UTC]    Display_order field in categories: YES
[21-Nov-2025 20:04:43 UTC]    Is_active field in categories: YES
[21-Nov-2025 20:04:43 UTC]    Is_active field in books: YES
[21-Nov-2025 20:04:43 UTC]    External_download_link field in books: YES
[21-Nov-2025 20:04:43 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 20:04:43 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 20:04:43 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 20:04:43 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 20:04:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 20:04:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:04:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:04:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:04:43 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 20:04:43 UTC] 📊 Database Info:
[21-Nov-2025 20:04:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 20:04:43 UTC]    Books columns count: 44
[21-Nov-2025 20:04:43 UTC]    Categories columns count: 7
[21-Nov-2025 20:04:43 UTC]    Language field in books: YES
[21-Nov-2025 20:04:43 UTC]    Format field in books: YES
[21-Nov-2025 20:04:43 UTC]    Description field in categories: YES
[21-Nov-2025 20:04:43 UTC]    Display_order field in categories: YES
[21-Nov-2025 20:04:43 UTC]    Is_active field in categories: YES
[21-Nov-2025 20:04:43 UTC]    Is_active field in books: YES
[21-Nov-2025 20:04:43 UTC]    External_download_link field in books: YES
[21-Nov-2025 20:04:43 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 20:04:43 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 20:04:43 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 20:04:43 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 20:04:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 20:04:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 20:04:43 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 20:04:43 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 20:45:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 20:45:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:45:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 20:45:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:45:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:45:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:45:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:45:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:45:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:45:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 20:45:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:45:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:45:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 20:45:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 20:45:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:45:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:45:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:45:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:45:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:45:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 20:45:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:45:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:45:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 20:45:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 20:45:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:45:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:45:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:45:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:45:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:45:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 20:45:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 20:45:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:45:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:45:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:45:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:45:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:45:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 20:45:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 20:45:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:45:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:45:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:45:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:45:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:45:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:45:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:45:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 20:45:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 20:45:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 20:45:09 UTC] 📊 Database Info:
[21-Nov-2025 20:45:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 20:45:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:45:09 UTC]    Books columns count: 44
[21-Nov-2025 20:45:09 UTC]    Categories columns count: 7
[21-Nov-2025 20:45:09 UTC]    Language field in books: YES
[21-Nov-2025 20:45:09 UTC]    Format field in books: YES
[21-Nov-2025 20:45:09 UTC]    Description field in categories: YES
[21-Nov-2025 20:45:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 20:45:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 20:45:09 UTC]    Is_active field in books: YES
[21-Nov-2025 20:45:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 20:45:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 20:45:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 20:45:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 20:45:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 20:45:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 20:45:09 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 20:45:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:45:09 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:45:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:45:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:45:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:45:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:45:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:45:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:45:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 20:45:09 UTC] 📊 Database Info:
[21-Nov-2025 20:45:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 20:45:09 UTC]    Books columns count: 44
[21-Nov-2025 20:45:09 UTC]    Categories columns count: 7
[21-Nov-2025 20:45:09 UTC]    Language field in books: YES
[21-Nov-2025 20:45:09 UTC]    Format field in books: YES
[21-Nov-2025 20:45:09 UTC]    Description field in categories: YES
[21-Nov-2025 20:45:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 20:45:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 20:45:09 UTC]    Is_active field in books: YES
[21-Nov-2025 20:45:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 20:45:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 20:45:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 20:45:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 20:45:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 20:45:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 20:45:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:45:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:45:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 20:45:09 UTC] 📊 Database Info:
[21-Nov-2025 20:45:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 20:45:09 UTC]    Books columns count: 44
[21-Nov-2025 20:45:09 UTC]    Categories columns count: 7
[21-Nov-2025 20:45:09 UTC]    Language field in books: YES
[21-Nov-2025 20:45:09 UTC]    Format field in books: YES
[21-Nov-2025 20:45:09 UTC]    Description field in categories: YES
[21-Nov-2025 20:45:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 20:45:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 20:45:09 UTC]    Is_active field in books: YES
[21-Nov-2025 20:45:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 20:45:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 20:45:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 20:45:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 20:45:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 20:45:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 20:45:09 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 20:45:09 UTC] ✅ إرجاع 1 تصنيف نشط
[21-Nov-2025 20:45:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:45:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:45:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:45:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 20:45:09 UTC] 📊 Database Info:
[21-Nov-2025 20:45:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 20:45:09 UTC]    Books columns count: 44
[21-Nov-2025 20:45:09 UTC]    Categories columns count: 7
[21-Nov-2025 20:45:09 UTC]    Language field in books: YES
[21-Nov-2025 20:45:09 UTC]    Format field in books: YES
[21-Nov-2025 20:45:09 UTC]    Description field in categories: YES
[21-Nov-2025 20:45:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 20:45:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 20:45:09 UTC]    Is_active field in books: YES
[21-Nov-2025 20:45:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 20:45:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 20:45:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 20:45:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 20:45:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 20:45:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 20:45:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 20:45:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 20:45:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:45:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:45:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:45:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:45:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:45:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:45:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:45:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:45:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:45:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:45:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:45:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:45:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 20:45:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:45:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:45:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 20:45:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 20:45:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:45:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:45:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:45:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:45:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:45:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:45:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:45:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:45:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:45:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:45:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:45:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:45:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:45:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 20:45:10 UTC] 📊 Database Info:
[21-Nov-2025 20:45:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 20:45:10 UTC]    Books columns count: 44
[21-Nov-2025 20:45:10 UTC]    Categories columns count: 7
[21-Nov-2025 20:45:10 UTC]    Language field in books: YES
[21-Nov-2025 20:45:10 UTC]    Format field in books: YES
[21-Nov-2025 20:45:10 UTC]    Description field in categories: YES
[21-Nov-2025 20:45:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 20:45:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 20:45:10 UTC]    Is_active field in books: YES
[21-Nov-2025 20:45:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 20:45:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 20:45:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 20:45:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 20:45:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 20:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 20:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 20:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 20:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 20:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 20:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 20:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 20:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 20:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 20:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 20:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 20:45:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 20:45:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 20:45:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 20:45:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:45:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:45:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:45:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:45:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:45:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:45:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:45:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:45:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:45:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:45:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:45:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:45:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 20:45:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:45:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:45:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 20:45:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 20:45:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:45:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:45:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:45:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:45:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:45:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:45:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:45:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:45:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:45:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:45:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:45:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:45:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:45:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 20:45:12 UTC] 📊 Database Info:
[21-Nov-2025 20:45:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 20:45:12 UTC]    Books columns count: 44
[21-Nov-2025 20:45:12 UTC]    Categories columns count: 7
[21-Nov-2025 20:45:12 UTC]    Language field in books: YES
[21-Nov-2025 20:45:12 UTC]    Format field in books: YES
[21-Nov-2025 20:45:12 UTC]    Description field in categories: YES
[21-Nov-2025 20:45:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 20:45:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 20:45:12 UTC]    Is_active field in books: YES
[21-Nov-2025 20:45:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 20:45:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 20:45:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 20:45:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 20:45:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 20:45:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 20:45:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 20:45:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 20:45:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 20:45:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 20:45:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 20:45:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 20:45:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 20:45:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 20:45:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 20:45:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 20:45:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 20:45:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 20:45:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 20:45:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:45:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:45:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:45:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:45:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:45:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:45:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:45:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:45:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:45:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:45:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:45:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:45:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 20:45:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:45:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 20:45:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 20:45:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 20:45:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 20:45:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 20:45:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 20:45:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 20:45:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 20:45:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 20:45:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 20:45:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 20:45:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 20:45:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 20:45:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 20:45:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 20:45:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 20:45:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 20:45:13 UTC] 📊 Database Info:
[21-Nov-2025 20:45:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 20:45:13 UTC]    Books columns count: 44
[21-Nov-2025 20:45:13 UTC]    Categories columns count: 7
[21-Nov-2025 20:45:13 UTC]    Language field in books: YES
[21-Nov-2025 20:45:13 UTC]    Format field in books: YES
[21-Nov-2025 20:45:13 UTC]    Description field in categories: YES
[21-Nov-2025 20:45:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 20:45:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 20:45:13 UTC]    Is_active field in books: YES
[21-Nov-2025 20:45:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 20:45:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 20:45:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 20:45:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 20:45:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 20:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 20:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 20:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 20:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 20:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 20:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 20:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 20:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 20:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 20:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 20:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 20:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 20:45:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 21:53:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 21:53:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 21:53:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 21:53:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 21:53:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 21:53:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 21:53:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 21:53:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 21:53:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 21:53:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 21:53:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 21:53:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 21:53:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 21:53:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 21:53:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 21:53:02 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 21:53:02 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 21:53:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 21:53:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 21:53:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 21:53:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 21:53:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 21:53:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 21:53:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 21:53:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 21:53:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 21:53:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 21:53:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 21:53:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 21:53:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 21:53:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 21:53:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 21:53:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 21:53:02 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 21:53:02 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 21:53:02 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 21:53:02 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 21:53:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 21:53:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 21:53:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 21:53:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 21:53:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 21:53:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 21:53:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 21:53:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 21:53:02 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 21:53:02 UTC] 📊 Database Info:
[21-Nov-2025 21:53:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 21:53:02 UTC]    Books columns count: 44
[21-Nov-2025 21:53:02 UTC]    Categories columns count: 7
[21-Nov-2025 21:53:02 UTC]    Language field in books: YES
[21-Nov-2025 21:53:02 UTC]    Format field in books: YES
[21-Nov-2025 21:53:02 UTC]    Description field in categories: YES
[21-Nov-2025 21:53:02 UTC]    Display_order field in categories: YES
[21-Nov-2025 21:53:02 UTC]    Is_active field in categories: YES
[21-Nov-2025 21:53:02 UTC]    Is_active field in books: YES
[21-Nov-2025 21:53:02 UTC]    External_download_link field in books: YES
[21-Nov-2025 21:53:02 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 21:53:02 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 21:53:02 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 21:53:02 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 21:53:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 21:53:02 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 21:53:02 UTC] ✅ إرجاع 1 تصنيف
[21-Nov-2025 21:53:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 21:53:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 21:53:02 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 21:53:02 UTC] 📊 Database Info:
[21-Nov-2025 21:53:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 21:53:02 UTC]    Books columns count: 44
[21-Nov-2025 21:53:02 UTC]    Categories columns count: 7
[21-Nov-2025 21:53:02 UTC]    Language field in books: YES
[21-Nov-2025 21:53:02 UTC]    Format field in books: YES
[21-Nov-2025 21:53:02 UTC]    Description field in categories: YES
[21-Nov-2025 21:53:02 UTC]    Display_order field in categories: YES
[21-Nov-2025 21:53:02 UTC]    Is_active field in categories: YES
[21-Nov-2025 21:53:02 UTC]    Is_active field in books: YES
[21-Nov-2025 21:53:02 UTC]    External_download_link field in books: YES
[21-Nov-2025 21:53:02 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 21:53:02 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 21:53:02 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 21:53:02 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 21:53:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 21:53:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 21:53:02 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 21:53:02 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 21:53:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 21:53:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 21:53:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 21:53:02 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 21:53:02 UTC] 📊 Database Info:
[21-Nov-2025 21:53:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 21:53:02 UTC]    Books columns count: 44
[21-Nov-2025 21:53:02 UTC]    Categories columns count: 7
[21-Nov-2025 21:53:02 UTC]    Language field in books: YES
[21-Nov-2025 21:53:02 UTC]    Format field in books: YES
[21-Nov-2025 21:53:02 UTC]    Description field in categories: YES
[21-Nov-2025 21:53:02 UTC]    Display_order field in categories: YES
[21-Nov-2025 21:53:02 UTC]    Is_active field in categories: YES
[21-Nov-2025 21:53:02 UTC]    Is_active field in books: YES
[21-Nov-2025 21:53:02 UTC]    External_download_link field in books: YES
[21-Nov-2025 21:53:02 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 21:53:02 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 21:53:02 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 21:53:02 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 21:53:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 21:53:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 21:53:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 21:53:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 21:53:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 21:53:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 21:53:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 21:53:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 21:53:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 21:53:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 21:53:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 21:53:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 21:53:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 21:53:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 21:53:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 21:53:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 21:53:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 21:53:57 UTC] 📊 Database Info:
[21-Nov-2025 21:53:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 21:53:57 UTC]    Books columns count: 44
[21-Nov-2025 21:53:57 UTC]    Categories columns count: 7
[21-Nov-2025 21:53:57 UTC]    Language field in books: YES
[21-Nov-2025 21:53:57 UTC]    Format field in books: YES
[21-Nov-2025 21:53:57 UTC]    Description field in categories: YES
[21-Nov-2025 21:53:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 21:53:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 21:53:57 UTC]    Is_active field in books: YES
[21-Nov-2025 21:53:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 21:53:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 21:53:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 21:53:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 21:53:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 21:53:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 21:53:57 UTC] 🔄 Processing category - ID: , Name: Agricultural science project topics, Active: 1, Remove Image: NO
[21-Nov-2025 21:53:57 UTC] 🔍 Checking for duplicate category name: 'Agricultural science project topics'
[21-Nov-2025 21:53:57 UTC] ✅ No duplicate category name found
[21-Nov-2025 21:53:57 UTC] ✅ Using default category image: uploads/no-imagee.jpg
[21-Nov-2025 21:53:57 UTC] 🆕 Adding new category with active status: 1
[21-Nov-2025 21:53:57 UTC] ✅ New category added with ID: 11 and active status: 1
[21-Nov-2025 21:53:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 21:53:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 21:53:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 21:53:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 21:53:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 21:53:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 21:53:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 21:53:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 21:53:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 21:53:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 21:53:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 21:53:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 21:53:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 21:53:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 21:53:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 21:53:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 21:53:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 21:53:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 21:53:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 21:53:57 UTC] 📊 Database Info:
[21-Nov-2025 21:53:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 21:53:57 UTC]    Books columns count: 44
[21-Nov-2025 21:53:57 UTC]    Categories columns count: 7
[21-Nov-2025 21:53:57 UTC]    Language field in books: YES
[21-Nov-2025 21:53:57 UTC]    Format field in books: YES
[21-Nov-2025 21:53:57 UTC]    Description field in categories: YES
[21-Nov-2025 21:53:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 21:53:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 21:53:57 UTC]    Is_active field in books: YES
[21-Nov-2025 21:53:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 21:53:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 21:53:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 21:53:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 21:53:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 21:53:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 21:53:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 21:53:57 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 21:53:57 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 21:54:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 21:54:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 21:54:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 21:54:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 21:54:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 21:54:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 21:54:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 21:54:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 21:54:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 21:54:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 21:54:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 21:54:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 21:54:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 21:54:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 21:54:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 21:54:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 21:54:14 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 21:54:14 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 21:54:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 21:54:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 21:54:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 21:54:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 21:54:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 21:54:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 21:54:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 21:54:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 21:54:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 21:54:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 21:54:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 21:54:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 21:54:14 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 21:54:14 UTC] 📊 Database Info:
[21-Nov-2025 21:54:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 21:54:14 UTC]    Books columns count: 44
[21-Nov-2025 21:54:14 UTC]    Categories columns count: 7
[21-Nov-2025 21:54:14 UTC]    Language field in books: YES
[21-Nov-2025 21:54:14 UTC]    Format field in books: YES
[21-Nov-2025 21:54:14 UTC]    Description field in categories: YES
[21-Nov-2025 21:54:14 UTC]    Display_order field in categories: YES
[21-Nov-2025 21:54:14 UTC]    Is_active field in categories: YES
[21-Nov-2025 21:54:14 UTC]    Is_active field in books: YES
[21-Nov-2025 21:54:14 UTC]    External_download_link field in books: YES
[21-Nov-2025 21:54:14 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 21:54:14 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 21:54:14 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 21:54:14 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 21:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 21:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 21:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 21:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 21:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 21:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 21:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 21:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 21:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 21:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 21:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 21:54:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 21:54:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 21:54:14 UTC] 🔄 Processing category - ID: 10, Name: Banking & finance project topics, Active: 1, Remove Image: NO
[21-Nov-2025 21:54:14 UTC] 🔍 Checking for duplicate category name: 'Banking & finance project topics'
[21-Nov-2025 21:54:14 UTC] ✅ No duplicate category name found
[21-Nov-2025 21:54:14 UTC] 📁 Keeping existing category image: uploads/no-imagee.jpg
[21-Nov-2025 21:54:14 UTC] 🔄 Updating existing category ID: 10
[21-Nov-2025 21:54:14 UTC] ✅ Category updated with new image and active status: 1
[21-Nov-2025 21:54:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 21:54:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 21:54:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 21:54:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 21:54:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 21:54:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 21:54:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 21:54:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 21:54:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 21:54:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 21:54:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 21:54:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 21:54:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 21:54:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 21:54:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 21:54:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 21:54:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 21:54:15 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 21:54:15 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 21:54:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 21:54:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 21:54:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 21:54:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 21:54:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 21:54:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 21:54:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 21:54:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 21:54:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 21:54:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 21:54:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 21:54:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 21:54:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 21:54:15 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 21:54:15 UTC] 📊 Database Info:
[21-Nov-2025 21:54:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 21:54:15 UTC]    Books columns count: 44
[21-Nov-2025 21:54:15 UTC]    Categories columns count: 7
[21-Nov-2025 21:54:15 UTC]    Language field in books: YES
[21-Nov-2025 21:54:15 UTC]    Format field in books: YES
[21-Nov-2025 21:54:15 UTC]    Description field in categories: YES
[21-Nov-2025 21:54:15 UTC]    Display_order field in categories: YES
[21-Nov-2025 21:54:15 UTC]    Is_active field in categories: YES
[21-Nov-2025 21:54:15 UTC]    Is_active field in books: YES
[21-Nov-2025 21:54:15 UTC]    External_download_link field in books: YES
[21-Nov-2025 21:54:15 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 21:54:15 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 21:54:15 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 21:54:15 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 21:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 21:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 21:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 21:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 21:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 21:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 21:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 21:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 21:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 21:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 21:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 21:54:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 21:54:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 21:54:15 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 21:54:15 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 22:01:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:01:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:01:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:01:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:01:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:01:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:01:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:01:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:01:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:01:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:01:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:01:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:01:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:01:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:01:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:01:20 UTC] 📊 Database Info:
[21-Nov-2025 22:01:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:01:20 UTC]    Books columns count: 44
[21-Nov-2025 22:01:20 UTC]    Categories columns count: 7
[21-Nov-2025 22:01:20 UTC]    Language field in books: YES
[21-Nov-2025 22:01:20 UTC]    Format field in books: YES
[21-Nov-2025 22:01:20 UTC]    Description field in categories: YES
[21-Nov-2025 22:01:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:01:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:01:20 UTC]    Is_active field in books: YES
[21-Nov-2025 22:01:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:01:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:01:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:01:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:01:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:01:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:01:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:01:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:01:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:01:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:01:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:01:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:01:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:01:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:01:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:01:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:01:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:01:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:01:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:01:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:01:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:01:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:01:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:01:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:01:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:01:20 UTC] 📊 Database Info:
[21-Nov-2025 22:01:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:01:20 UTC]    Books columns count: 44
[21-Nov-2025 22:01:20 UTC]    Categories columns count: 7
[21-Nov-2025 22:01:20 UTC]    Language field in books: YES
[21-Nov-2025 22:01:20 UTC]    Format field in books: YES
[21-Nov-2025 22:01:20 UTC]    Description field in categories: YES
[21-Nov-2025 22:01:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:01:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:01:20 UTC]    Is_active field in books: YES
[21-Nov-2025 22:01:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:01:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:01:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:01:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:01:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:01:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:01:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:06 UTC] 📊 Database Info:
[21-Nov-2025 22:02:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:06 UTC]    Books columns count: 44
[21-Nov-2025 22:02:06 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:06 UTC]    Language field in books: YES
[21-Nov-2025 22:02:06 UTC]    Format field in books: YES
[21-Nov-2025 22:02:06 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:06 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:06 UTC] 📊 Database Info:
[21-Nov-2025 22:02:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:06 UTC]    Books columns count: 44
[21-Nov-2025 22:02:06 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:06 UTC]    Language field in books: YES
[21-Nov-2025 22:02:06 UTC]    Format field in books: YES
[21-Nov-2025 22:02:06 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:06 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:06 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:02:06 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:02:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:06 UTC] 📊 Database Info:
[21-Nov-2025 22:02:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:06 UTC]    Books columns count: 44
[21-Nov-2025 22:02:06 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:06 UTC]    Language field in books: YES
[21-Nov-2025 22:02:06 UTC]    Format field in books: YES
[21-Nov-2025 22:02:06 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:06 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:06 UTC] 📊 Database Info:
[21-Nov-2025 22:02:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:06 UTC]    Books columns count: 44
[21-Nov-2025 22:02:06 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:06 UTC]    Language field in books: YES
[21-Nov-2025 22:02:06 UTC]    Format field in books: YES
[21-Nov-2025 22:02:06 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:06 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:06 UTC] 📊 Database Info:
[21-Nov-2025 22:02:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:06 UTC]    Books columns count: 44
[21-Nov-2025 22:02:06 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:06 UTC]    Language field in books: YES
[21-Nov-2025 22:02:06 UTC]    Format field in books: YES
[21-Nov-2025 22:02:06 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:06 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:06 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:02:06 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:02:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:06 UTC] 📊 Database Info:
[21-Nov-2025 22:02:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:06 UTC]    Books columns count: 44
[21-Nov-2025 22:02:06 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:06 UTC]    Language field in books: YES
[21-Nov-2025 22:02:06 UTC]    Format field in books: YES
[21-Nov-2025 22:02:06 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:06 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:08 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:08 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:08 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:08 UTC] 📊 Database Info:
[21-Nov-2025 22:02:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:08 UTC]    Books columns count: 44
[21-Nov-2025 22:02:08 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:08 UTC]    Language field in books: YES
[21-Nov-2025 22:02:08 UTC]    Format field in books: YES
[21-Nov-2025 22:02:08 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:08 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:08 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:08 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:08 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:08 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:08 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:08 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:08 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:17 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:17 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:17 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:17 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:17 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:17 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:17 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:17 UTC] 📊 Database Info:
[21-Nov-2025 22:02:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:17 UTC]    Books columns count: 44
[21-Nov-2025 22:02:17 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:17 UTC]    Language field in books: YES
[21-Nov-2025 22:02:17 UTC]    Format field in books: YES
[21-Nov-2025 22:02:17 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:17 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:17 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:17 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:17 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:17 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:17 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:17 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:17 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:17 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:17 UTC] 📊 Database Info:
[21-Nov-2025 22:02:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:17 UTC]    Books columns count: 44
[21-Nov-2025 22:02:17 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:17 UTC]    Language field in books: YES
[21-Nov-2025 22:02:17 UTC]    Format field in books: YES
[21-Nov-2025 22:02:17 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:17 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:17 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:17 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:17 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:17 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:17 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:17 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:17 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:17 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:02:17 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:02:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:17 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:17 UTC] 📊 Database Info:
[21-Nov-2025 22:02:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:17 UTC]    Books columns count: 44
[21-Nov-2025 22:02:17 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:17 UTC]    Language field in books: YES
[21-Nov-2025 22:02:17 UTC]    Format field in books: YES
[21-Nov-2025 22:02:17 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:17 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:17 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:17 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:17 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:17 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:17 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:17 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:17 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:20 UTC] 📊 Database Info:
[21-Nov-2025 22:02:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:20 UTC]    Books columns count: 44
[21-Nov-2025 22:02:20 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:20 UTC]    Language field in books: YES
[21-Nov-2025 22:02:20 UTC]    Format field in books: YES
[21-Nov-2025 22:02:20 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:20 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:21 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:21 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:21 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:21 UTC] 📊 Database Info:
[21-Nov-2025 22:02:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:21 UTC]    Books columns count: 44
[21-Nov-2025 22:02:21 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:21 UTC]    Language field in books: YES
[21-Nov-2025 22:02:21 UTC]    Format field in books: YES
[21-Nov-2025 22:02:21 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:21 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:21 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:21 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:21 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:21 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:21 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:21 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:21 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:24 UTC] 📊 Database Info:
[21-Nov-2025 22:02:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:24 UTC]    Books columns count: 44
[21-Nov-2025 22:02:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:24 UTC]    Language field in books: YES
[21-Nov-2025 22:02:24 UTC]    Format field in books: YES
[21-Nov-2025 22:02:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:24 UTC] 📊 Database Info:
[21-Nov-2025 22:02:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:24 UTC]    Books columns count: 44
[21-Nov-2025 22:02:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:24 UTC]    Language field in books: YES
[21-Nov-2025 22:02:24 UTC]    Format field in books: YES
[21-Nov-2025 22:02:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:24 UTC] 📊 Database Info:
[21-Nov-2025 22:02:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:24 UTC]    Books columns count: 44
[21-Nov-2025 22:02:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:24 UTC]    Language field in books: YES
[21-Nov-2025 22:02:24 UTC]    Format field in books: YES
[21-Nov-2025 22:02:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 22:02:24 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 22:02:24 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:24 UTC] 📊 Database Info:
[21-Nov-2025 22:02:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:24 UTC]    Books columns count: 44
[21-Nov-2025 22:02:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:24 UTC]    Language field in books: YES
[21-Nov-2025 22:02:24 UTC]    Format field in books: YES
[21-Nov-2025 22:02:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:24 UTC] 📊 Database Info:
[21-Nov-2025 22:02:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:24 UTC]    Books columns count: 44
[21-Nov-2025 22:02:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:24 UTC]    Language field in books: YES
[21-Nov-2025 22:02:24 UTC]    Format field in books: YES
[21-Nov-2025 22:02:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 22:02:24 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 22:02:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:24 UTC] 📊 Database Info:
[21-Nov-2025 22:02:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:24 UTC]    Books columns count: 44
[21-Nov-2025 22:02:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:24 UTC]    Language field in books: YES
[21-Nov-2025 22:02:24 UTC]    Format field in books: YES
[21-Nov-2025 22:02:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:24 UTC] 📊 Database Info:
[21-Nov-2025 22:02:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:24 UTC]    Books columns count: 44
[21-Nov-2025 22:02:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:24 UTC]    Language field in books: YES
[21-Nov-2025 22:02:24 UTC]    Format field in books: YES
[21-Nov-2025 22:02:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 22:02:24 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:24 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:24 UTC] 📊 Database Info:
[21-Nov-2025 22:02:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:24 UTC]    Books columns count: 44
[21-Nov-2025 22:02:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:24 UTC]    Language field in books: YES
[21-Nov-2025 22:02:24 UTC]    Format field in books: YES
[21-Nov-2025 22:02:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 22:02:24 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 22:02:24 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 22:02:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:24 UTC] 📊 Database Info:
[21-Nov-2025 22:02:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:24 UTC]    Books columns count: 44
[21-Nov-2025 22:02:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:24 UTC]    Language field in books: YES
[21-Nov-2025 22:02:24 UTC]    Format field in books: YES
[21-Nov-2025 22:02:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 22:02:24 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 22:02:24 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 22:02:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:24 UTC] 📊 Database Info:
[21-Nov-2025 22:02:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:24 UTC]    Books columns count: 44
[21-Nov-2025 22:02:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:24 UTC]    Language field in books: YES
[21-Nov-2025 22:02:24 UTC]    Format field in books: YES
[21-Nov-2025 22:02:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 22:02:24 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 22:02:24 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 22:02:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:26 UTC] 📊 Database Info:
[21-Nov-2025 22:02:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:26 UTC]    Books columns count: 44
[21-Nov-2025 22:02:26 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:26 UTC]    Language field in books: YES
[21-Nov-2025 22:02:26 UTC]    Format field in books: YES
[21-Nov-2025 22:02:26 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:26 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:26 UTC] 📊 Database Info:
[21-Nov-2025 22:02:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:26 UTC]    Books columns count: 44
[21-Nov-2025 22:02:26 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:26 UTC]    Language field in books: YES
[21-Nov-2025 22:02:26 UTC]    Format field in books: YES
[21-Nov-2025 22:02:26 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:26 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:26 UTC] 📊 Database Info:
[21-Nov-2025 22:02:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:26 UTC]    Books columns count: 44
[21-Nov-2025 22:02:26 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:26 UTC]    Language field in books: YES
[21-Nov-2025 22:02:26 UTC]    Format field in books: YES
[21-Nov-2025 22:02:26 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:26 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:26 UTC] 📊 Database Info:
[21-Nov-2025 22:02:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:26 UTC]    Books columns count: 44
[21-Nov-2025 22:02:26 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:26 UTC]    Language field in books: YES
[21-Nov-2025 22:02:26 UTC]    Format field in books: YES
[21-Nov-2025 22:02:26 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:26 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:26 UTC] 📊 Database Info:
[21-Nov-2025 22:02:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:26 UTC]    Books columns count: 44
[21-Nov-2025 22:02:26 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:26 UTC]    Language field in books: YES
[21-Nov-2025 22:02:26 UTC]    Format field in books: YES
[21-Nov-2025 22:02:26 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:26 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:26 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:02:26 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:02:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:26 UTC] 📊 Database Info:
[21-Nov-2025 22:02:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:26 UTC]    Books columns count: 44
[21-Nov-2025 22:02:26 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:26 UTC]    Language field in books: YES
[21-Nov-2025 22:02:26 UTC]    Format field in books: YES
[21-Nov-2025 22:02:26 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:26 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:02:26 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:02:26 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:02:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:02:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:02:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:02:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:02:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:02:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:02:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:02:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:02:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:02:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:02:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:02:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:02:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:02:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:02:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:02:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:02:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:02:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:02:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:02:27 UTC] 📊 Database Info:
[21-Nov-2025 22:02:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:02:27 UTC]    Books columns count: 44
[21-Nov-2025 22:02:27 UTC]    Categories columns count: 7
[21-Nov-2025 22:02:27 UTC]    Language field in books: YES
[21-Nov-2025 22:02:27 UTC]    Format field in books: YES
[21-Nov-2025 22:02:27 UTC]    Description field in categories: YES
[21-Nov-2025 22:02:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:02:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:02:27 UTC]    Is_active field in books: YES
[21-Nov-2025 22:02:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:02:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:02:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:02:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:02:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:02:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:02:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:02:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:02:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:02:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:02:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:02:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:02:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:02:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:02:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:02:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:02:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:02:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:04 UTC] 📊 Database Info:
[21-Nov-2025 22:03:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:04 UTC]    Books columns count: 44
[21-Nov-2025 22:03:04 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:04 UTC]    Language field in books: YES
[21-Nov-2025 22:03:04 UTC]    Format field in books: YES
[21-Nov-2025 22:03:04 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:04 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:04 UTC] 📊 Database Info:
[21-Nov-2025 22:03:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:04 UTC]    Books columns count: 44
[21-Nov-2025 22:03:04 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:04 UTC]    Language field in books: YES
[21-Nov-2025 22:03:04 UTC]    Format field in books: YES
[21-Nov-2025 22:03:04 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:04 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:04 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:03:04 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:03:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:04 UTC] 📊 Database Info:
[21-Nov-2025 22:03:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:04 UTC]    Books columns count: 44
[21-Nov-2025 22:03:04 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:04 UTC]    Language field in books: YES
[21-Nov-2025 22:03:04 UTC]    Format field in books: YES
[21-Nov-2025 22:03:04 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:04 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:07 UTC] 📊 Database Info:
[21-Nov-2025 22:03:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:07 UTC]    Books columns count: 44
[21-Nov-2025 22:03:07 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:07 UTC]    Language field in books: YES
[21-Nov-2025 22:03:07 UTC]    Format field in books: YES
[21-Nov-2025 22:03:07 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:07 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:07 UTC] 📊 Database Info:
[21-Nov-2025 22:03:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:07 UTC]    Books columns count: 44
[21-Nov-2025 22:03:07 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:07 UTC]    Language field in books: YES
[21-Nov-2025 22:03:07 UTC]    Format field in books: YES
[21-Nov-2025 22:03:07 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:07 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:07 UTC] 📊 Database Info:
[21-Nov-2025 22:03:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:07 UTC]    Books columns count: 44
[21-Nov-2025 22:03:07 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:07 UTC]    Language field in books: YES
[21-Nov-2025 22:03:07 UTC]    Format field in books: YES
[21-Nov-2025 22:03:07 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:07 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:07 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:03:07 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:03:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:09 UTC] 📊 Database Info:
[21-Nov-2025 22:03:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:09 UTC]    Books columns count: 44
[21-Nov-2025 22:03:09 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:09 UTC]    Language field in books: YES
[21-Nov-2025 22:03:09 UTC]    Format field in books: YES
[21-Nov-2025 22:03:09 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:09 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:09 UTC] 📊 Database Info:
[21-Nov-2025 22:03:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:09 UTC]    Books columns count: 44
[21-Nov-2025 22:03:09 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:09 UTC]    Language field in books: YES
[21-Nov-2025 22:03:09 UTC]    Format field in books: YES
[21-Nov-2025 22:03:09 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:09 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:09 UTC] 📊 Database Info:
[21-Nov-2025 22:03:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:09 UTC]    Books columns count: 44
[21-Nov-2025 22:03:09 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:09 UTC]    Language field in books: YES
[21-Nov-2025 22:03:09 UTC]    Format field in books: YES
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:09 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:09 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:09 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:03:09 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:03:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:10 UTC] 📊 Database Info:
[21-Nov-2025 22:03:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:10 UTC]    Books columns count: 44
[21-Nov-2025 22:03:10 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:10 UTC]    Language field in books: YES
[21-Nov-2025 22:03:10 UTC]    Format field in books: YES
[21-Nov-2025 22:03:10 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:10 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:12 UTC] 📊 Database Info:
[21-Nov-2025 22:03:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:12 UTC]    Books columns count: 44
[21-Nov-2025 22:03:12 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:12 UTC]    Language field in books: YES
[21-Nov-2025 22:03:12 UTC]    Format field in books: YES
[21-Nov-2025 22:03:12 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:12 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:16 UTC] 📊 Database Info:
[21-Nov-2025 22:03:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:16 UTC]    Books columns count: 44
[21-Nov-2025 22:03:16 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:16 UTC]    Language field in books: YES
[21-Nov-2025 22:03:16 UTC]    Format field in books: YES
[21-Nov-2025 22:03:16 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:16 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:23 UTC] 📊 Database Info:
[21-Nov-2025 22:03:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:23 UTC]    Books columns count: 44
[21-Nov-2025 22:03:23 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:23 UTC]    Language field in books: YES
[21-Nov-2025 22:03:23 UTC]    Format field in books: YES
[21-Nov-2025 22:03:23 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:23 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:29 UTC] 📊 Database Info:
[21-Nov-2025 22:03:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:29 UTC]    Books columns count: 44
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:29 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:29 UTC]    Language field in books: YES
[21-Nov-2025 22:03:29 UTC]    Format field in books: YES
[21-Nov-2025 22:03:29 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 22:03:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 22:03:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:29 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:29 UTC] 📊 Database Info:
[21-Nov-2025 22:03:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:29 UTC]    Books columns count: 44
[21-Nov-2025 22:03:29 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:29 UTC]    Language field in books: YES
[21-Nov-2025 22:03:29 UTC]    Format field in books: YES
[21-Nov-2025 22:03:29 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:29 UTC] 📊 Database Info:
[21-Nov-2025 22:03:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:29 UTC]    Books columns count: 44
[21-Nov-2025 22:03:29 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:29 UTC]    Language field in books: YES
[21-Nov-2025 22:03:29 UTC]    Format field in books: YES
[21-Nov-2025 22:03:29 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 22:03:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 22:03:29 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 22:03:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:29 UTC] 📊 Database Info:
[21-Nov-2025 22:03:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:29 UTC]    Books columns count: 44
[21-Nov-2025 22:03:29 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:29 UTC]    Language field in books: YES
[21-Nov-2025 22:03:29 UTC]    Format field in books: YES
[21-Nov-2025 22:03:29 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:29 UTC] 📊 Database Info:
[21-Nov-2025 22:03:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:29 UTC]    Books columns count: 44
[21-Nov-2025 22:03:29 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:29 UTC]    Language field in books: YES
[21-Nov-2025 22:03:29 UTC]    Format field in books: YES
[21-Nov-2025 22:03:29 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 22:03:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:29 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 22:03:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:29 UTC] 📊 Database Info:
[21-Nov-2025 22:03:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:29 UTC]    Books columns count: 44
[21-Nov-2025 22:03:29 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:29 UTC]    Language field in books: YES
[21-Nov-2025 22:03:29 UTC]    Format field in books: YES
[21-Nov-2025 22:03:29 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:29 UTC] 📊 Database Info:
[21-Nov-2025 22:03:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:29 UTC]    Books columns count: 44
[21-Nov-2025 22:03:29 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:29 UTC]    Language field in books: YES
[21-Nov-2025 22:03:29 UTC]    Format field in books: YES
[21-Nov-2025 22:03:29 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:29 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:30 UTC] 📊 Database Info:
[21-Nov-2025 22:03:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:30 UTC]    Books columns count: 44
[21-Nov-2025 22:03:30 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:30 UTC]    Language field in books: YES
[21-Nov-2025 22:03:30 UTC]    Format field in books: YES
[21-Nov-2025 22:03:30 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:30 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:30 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:30 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:30 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:30 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:30 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:30 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 22:03:30 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 22:03:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:30 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 22:03:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:30 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:30 UTC] 📊 Database Info:
[21-Nov-2025 22:03:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:30 UTC]    Books columns count: 44
[21-Nov-2025 22:03:30 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:30 UTC]    Language field in books: YES
[21-Nov-2025 22:03:30 UTC]    Format field in books: YES
[21-Nov-2025 22:03:30 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:30 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:30 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:30 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:30 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:30 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:30 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:30 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:30 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 22:03:30 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 22:03:30 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 22:03:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:30 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:30 UTC] 📊 Database Info:
[21-Nov-2025 22:03:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:30 UTC]    Books columns count: 44
[21-Nov-2025 22:03:30 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:30 UTC]    Language field in books: YES
[21-Nov-2025 22:03:30 UTC]    Format field in books: YES
[21-Nov-2025 22:03:30 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:30 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:30 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:30 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:30 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:30 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:30 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:30 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:30 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 22:03:30 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 22:03:30 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 22:03:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:30 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:30 UTC] 📊 Database Info:
[21-Nov-2025 22:03:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:30 UTC]    Books columns count: 44
[21-Nov-2025 22:03:30 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:30 UTC]    Language field in books: YES
[21-Nov-2025 22:03:30 UTC]    Format field in books: YES
[21-Nov-2025 22:03:30 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:30 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:30 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:30 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:30 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:30 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:30 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:30 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:30 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 22:03:30 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 22:03:30 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 22:03:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:32 UTC] 📊 Database Info:
[21-Nov-2025 22:03:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:32 UTC]    Books columns count: 44
[21-Nov-2025 22:03:32 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:32 UTC]    Language field in books: YES
[21-Nov-2025 22:03:32 UTC]    Format field in books: YES
[21-Nov-2025 22:03:32 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:32 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:38 UTC] 📊 Database Info:
[21-Nov-2025 22:03:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:38 UTC]    Books columns count: 44
[21-Nov-2025 22:03:38 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:38 UTC]    Language field in books: YES
[21-Nov-2025 22:03:38 UTC]    Format field in books: YES
[21-Nov-2025 22:03:38 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:38 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:38 UTC] 📊 Database Info:
[21-Nov-2025 22:03:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:38 UTC]    Books columns count: 44
[21-Nov-2025 22:03:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:38 UTC] 📊 Database Info:
[21-Nov-2025 22:03:38 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:38 UTC]    Books columns count: 44
[21-Nov-2025 22:03:38 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:38 UTC]    Language field in books: YES
[21-Nov-2025 22:03:38 UTC]    Language field in books: YES
[21-Nov-2025 22:03:38 UTC]    Format field in books: YES
[21-Nov-2025 22:03:38 UTC]    Format field in books: YES
[21-Nov-2025 22:03:38 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:38 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:38 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:38 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:38 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:03:38 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:03:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:42 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:42 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:42 UTC] 📊 Database Info:
[21-Nov-2025 22:03:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:42 UTC] 📊 Database Info:
[21-Nov-2025 22:03:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:42 UTC]    Books columns count: 44
[21-Nov-2025 22:03:42 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:42 UTC]    Language field in books: YES
[21-Nov-2025 22:03:42 UTC]    Format field in books: YES
[21-Nov-2025 22:03:42 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:42 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:42 UTC]    Books columns count: 44
[21-Nov-2025 22:03:42 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:42 UTC]    Language field in books: YES
[21-Nov-2025 22:03:42 UTC]    Format field in books: YES
[21-Nov-2025 22:03:42 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:42 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:42 UTC] 📊 Database Info:
[21-Nov-2025 22:03:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:42 UTC]    Books columns count: 44
[21-Nov-2025 22:03:42 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:42 UTC]    Language field in books: YES
[21-Nov-2025 22:03:42 UTC]    Format field in books: YES
[21-Nov-2025 22:03:42 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:42 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:42 UTC] 📊 Database Info:
[21-Nov-2025 22:03:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:42 UTC]    Books columns count: 44
[21-Nov-2025 22:03:42 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:42 UTC]    Language field in books: YES
[21-Nov-2025 22:03:42 UTC]    Format field in books: YES
[21-Nov-2025 22:03:42 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:42 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:42 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:42 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:03:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:42 UTC] 📊 Database Info:
[21-Nov-2025 22:03:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:42 UTC]    Books columns count: 44
[21-Nov-2025 22:03:42 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:42 UTC]    Language field in books: YES
[21-Nov-2025 22:03:42 UTC]    Format field in books: YES
[21-Nov-2025 22:03:42 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:42 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:42 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:03:42 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:03:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:42 UTC] 📊 Database Info:
[21-Nov-2025 22:03:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:42 UTC]    Books columns count: 44
[21-Nov-2025 22:03:42 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:42 UTC]    Language field in books: YES
[21-Nov-2025 22:03:42 UTC]    Format field in books: YES
[21-Nov-2025 22:03:42 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:42 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:44 UTC] 📊 Database Info:
[21-Nov-2025 22:03:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:44 UTC]    Books columns count: 44
[21-Nov-2025 22:03:44 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:44 UTC]    Language field in books: YES
[21-Nov-2025 22:03:44 UTC]    Format field in books: YES
[21-Nov-2025 22:03:44 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:44 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:44 UTC] 📊 Database Info:
[21-Nov-2025 22:03:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:44 UTC]    Books columns count: 44
[21-Nov-2025 22:03:44 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:44 UTC]    Language field in books: YES
[21-Nov-2025 22:03:44 UTC]    Format field in books: YES
[21-Nov-2025 22:03:44 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:44 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:51 UTC] 📊 Database Info:
[21-Nov-2025 22:03:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:51 UTC]    Books columns count: 44
[21-Nov-2025 22:03:51 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:51 UTC]    Language field in books: YES
[21-Nov-2025 22:03:51 UTC]    Format field in books: YES
[21-Nov-2025 22:03:51 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:51 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:51 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:51 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:03:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:51 UTC] 📊 Database Info:
[21-Nov-2025 22:03:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:51 UTC]    Books columns count: 44
[21-Nov-2025 22:03:51 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:51 UTC]    Language field in books: YES
[21-Nov-2025 22:03:51 UTC]    Format field in books: YES
[21-Nov-2025 22:03:51 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:51 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:51 UTC] 📊 Database Info:
[21-Nov-2025 22:03:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:51 UTC]    Books columns count: 44
[21-Nov-2025 22:03:51 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:51 UTC]    Language field in books: YES
[21-Nov-2025 22:03:51 UTC]    Format field in books: YES
[21-Nov-2025 22:03:51 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:51 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:03:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:03:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:03:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:03:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:03:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:03:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:03:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:03:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:03:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:03:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:03:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:03:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:03:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:03:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:03:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:03:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:03:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:03:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:03:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:03:52 UTC] 📊 Database Info:
[21-Nov-2025 22:03:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:03:52 UTC]    Books columns count: 44
[21-Nov-2025 22:03:52 UTC]    Categories columns count: 7
[21-Nov-2025 22:03:52 UTC]    Language field in books: YES
[21-Nov-2025 22:03:52 UTC]    Format field in books: YES
[21-Nov-2025 22:03:52 UTC]    Description field in categories: YES
[21-Nov-2025 22:03:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:03:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:03:52 UTC]    Is_active field in books: YES
[21-Nov-2025 22:03:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:03:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:03:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:03:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:03:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:03:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:03:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:03:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:03:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:03:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:03:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:03:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:03:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:03:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:03:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:03:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:03:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:03:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:05:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:05:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:05:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:05:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:05:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:05:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:05:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:05:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:05:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:05:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:05:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:05:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:05:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:05:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:05:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:05:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:05:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:05:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:05:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:05:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:05:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:05:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:05:06 UTC] 📊 Database Info:
[21-Nov-2025 22:05:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:05:06 UTC]    Books columns count: 44
[21-Nov-2025 22:05:06 UTC]    Categories columns count: 7
[21-Nov-2025 22:05:06 UTC]    Language field in books: YES
[21-Nov-2025 22:05:06 UTC]    Format field in books: YES
[21-Nov-2025 22:05:06 UTC]    Description field in categories: YES
[21-Nov-2025 22:05:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:05:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:05:06 UTC]    Is_active field in books: YES
[21-Nov-2025 22:05:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:05:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:05:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:05:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:05:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:05:07 UTC] 📊 Database Info:
[21-Nov-2025 22:05:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:05:07 UTC]    Books columns count: 44
[21-Nov-2025 22:05:07 UTC]    Categories columns count: 7
[21-Nov-2025 22:05:07 UTC]    Language field in books: YES
[21-Nov-2025 22:05:07 UTC]    Format field in books: YES
[21-Nov-2025 22:05:07 UTC]    Description field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Is_active field in books: YES
[21-Nov-2025 22:05:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:05:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:05:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:05:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:05:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:05:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:05:07 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:05:07 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:05:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:05:07 UTC] 📊 Database Info:
[21-Nov-2025 22:05:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:05:07 UTC]    Books columns count: 44
[21-Nov-2025 22:05:07 UTC]    Categories columns count: 7
[21-Nov-2025 22:05:07 UTC]    Language field in books: YES
[21-Nov-2025 22:05:07 UTC]    Format field in books: YES
[21-Nov-2025 22:05:07 UTC]    Description field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Is_active field in books: YES
[21-Nov-2025 22:05:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:05:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:05:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:05:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:05:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:05:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:05:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:05:07 UTC] 📊 Database Info:
[21-Nov-2025 22:05:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:05:07 UTC]    Books columns count: 44
[21-Nov-2025 22:05:07 UTC]    Categories columns count: 7
[21-Nov-2025 22:05:07 UTC]    Language field in books: YES
[21-Nov-2025 22:05:07 UTC]    Format field in books: YES
[21-Nov-2025 22:05:07 UTC]    Description field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Is_active field in books: YES
[21-Nov-2025 22:05:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:05:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:05:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:05:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:05:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:05:07 UTC] 📊 Database Info:
[21-Nov-2025 22:05:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:05:07 UTC]    Books columns count: 44
[21-Nov-2025 22:05:07 UTC]    Categories columns count: 7
[21-Nov-2025 22:05:07 UTC]    Language field in books: YES
[21-Nov-2025 22:05:07 UTC]    Format field in books: YES
[21-Nov-2025 22:05:07 UTC]    Description field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Is_active field in books: YES
[21-Nov-2025 22:05:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:05:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:05:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:05:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:05:07 UTC] 📊 Database Info:
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:05:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:05:07 UTC]    Books columns count: 44
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:05:07 UTC]    Categories columns count: 7
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:05:07 UTC]    Language field in books: YES
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:05:07 UTC]    Format field in books: YES
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:05:07 UTC]    Description field in categories: YES
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:05:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:05:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:05:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:05:07 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:05:07 UTC]    Is_active field in books: YES
[21-Nov-2025 22:05:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:05:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:05:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:05:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:05:07 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:05:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:05:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:05:07 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:05:07 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:05:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:05:07 UTC] 📊 Database Info:
[21-Nov-2025 22:05:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:05:07 UTC]    Books columns count: 44
[21-Nov-2025 22:05:07 UTC]    Categories columns count: 7
[21-Nov-2025 22:05:07 UTC]    Language field in books: YES
[21-Nov-2025 22:05:07 UTC]    Format field in books: YES
[21-Nov-2025 22:05:07 UTC]    Description field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Is_active field in books: YES
[21-Nov-2025 22:05:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:05:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:05:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:05:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:05:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:05:07 UTC] 📊 Database Info:
[21-Nov-2025 22:05:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:05:07 UTC]    Books columns count: 44
[21-Nov-2025 22:05:07 UTC]    Categories columns count: 7
[21-Nov-2025 22:05:07 UTC]    Language field in books: YES
[21-Nov-2025 22:05:07 UTC]    Format field in books: YES
[21-Nov-2025 22:05:07 UTC]    Description field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Is_active field in books: YES
[21-Nov-2025 22:05:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:05:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:05:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:05:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:05:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:05:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:05:07 UTC] 📊 Database Info:
[21-Nov-2025 22:05:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:05:07 UTC]    Books columns count: 44
[21-Nov-2025 22:05:07 UTC]    Categories columns count: 7
[21-Nov-2025 22:05:07 UTC]    Language field in books: YES
[21-Nov-2025 22:05:07 UTC]    Format field in books: YES
[21-Nov-2025 22:05:07 UTC]    Description field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:05:07 UTC]    Is_active field in books: YES
[21-Nov-2025 22:05:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:05:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:05:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:05:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:05:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:05:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:05:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:05:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:05:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:05:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:05:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:05:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:05:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:05:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:05:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:05:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:05:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:05:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:05:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:05:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:05:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:05:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:05:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:05:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:05:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:05:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:05:09 UTC] 📊 Database Info:
[21-Nov-2025 22:05:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:05:09 UTC]    Books columns count: 44
[21-Nov-2025 22:05:09 UTC]    Categories columns count: 7
[21-Nov-2025 22:05:09 UTC]    Language field in books: YES
[21-Nov-2025 22:05:09 UTC]    Format field in books: YES
[21-Nov-2025 22:05:09 UTC]    Description field in categories: YES
[21-Nov-2025 22:05:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:05:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:05:09 UTC]    Is_active field in books: YES
[21-Nov-2025 22:05:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:05:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:05:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:05:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:05:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:05:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:05:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:05:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:05:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:05:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:05:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:05:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:05:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:05:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:05:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:05:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:05:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:05:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:15 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:15 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:15 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:15 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:15 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:15 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:15 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:15 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:15 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:15 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:15 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:15 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:15 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:15 UTC] 📊 Database Info:
[21-Nov-2025 22:08:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:15 UTC]    Books columns count: 44
[21-Nov-2025 22:08:15 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:15 UTC]    Language field in books: YES
[21-Nov-2025 22:08:15 UTC]    Format field in books: YES
[21-Nov-2025 22:08:15 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:15 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:15 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:15 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:15 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:15 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:15 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:15 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:15 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:15 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:15 UTC] 📊 Database Info:
[21-Nov-2025 22:08:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:15 UTC]    Books columns count: 44
[21-Nov-2025 22:08:15 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:15 UTC]    Language field in books: YES
[21-Nov-2025 22:08:15 UTC]    Format field in books: YES
[21-Nov-2025 22:08:15 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:15 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:15 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:15 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:15 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:15 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:15 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:15 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:15 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:15 UTC] 📊 Database Info:
[21-Nov-2025 22:08:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:15 UTC]    Books columns count: 44
[21-Nov-2025 22:08:15 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:15 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:15 UTC]    Language field in books: YES
[21-Nov-2025 22:08:15 UTC]    Format field in books: YES
[21-Nov-2025 22:08:15 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:15 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:15 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:15 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:15 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:15 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:15 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:15 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:15 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:08:15 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:08:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:15 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:15 UTC] 📊 Database Info:
[21-Nov-2025 22:08:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:15 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:15 UTC]    Books columns count: 44
[21-Nov-2025 22:08:15 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:15 UTC] 📊 Database Info:
[21-Nov-2025 22:08:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:15 UTC]    Language field in books: YES
[21-Nov-2025 22:08:15 UTC]    Books columns count: 44
[21-Nov-2025 22:08:15 UTC]    Format field in books: YES
[21-Nov-2025 22:08:15 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:15 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:15 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:15 UTC]    Language field in books: YES
[21-Nov-2025 22:08:15 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:15 UTC]    Format field in books: YES
[21-Nov-2025 22:08:15 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:15 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:15 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:15 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:15 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:15 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:15 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:15 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:15 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:15 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:15 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:15 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:15 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:15 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:15 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:08:15 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:15 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:15 UTC] 📊 Database Info:
[21-Nov-2025 22:08:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:15 UTC]    Books columns count: 44
[21-Nov-2025 22:08:15 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:15 UTC]    Language field in books: YES
[21-Nov-2025 22:08:15 UTC]    Format field in books: YES
[21-Nov-2025 22:08:15 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:15 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:15 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:15 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:15 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:15 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:15 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:15 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:15 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:31 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:31 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:31 UTC] 📊 Database Info:
[21-Nov-2025 22:08:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:31 UTC]    Books columns count: 44
[21-Nov-2025 22:08:31 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:31 UTC]    Language field in books: YES
[21-Nov-2025 22:08:31 UTC]    Format field in books: YES
[21-Nov-2025 22:08:31 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:31 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:34 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:34 UTC] 📊 Database Info:
[21-Nov-2025 22:08:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:34 UTC]    Books columns count: 44
[21-Nov-2025 22:08:34 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:34 UTC]    Language field in books: YES
[21-Nov-2025 22:08:34 UTC]    Format field in books: YES
[21-Nov-2025 22:08:34 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:34 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:34 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:34 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:34 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:34 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:34 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:34 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:34 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:34 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:08:34 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:08:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:34 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:34 UTC] 📊 Database Info:
[21-Nov-2025 22:08:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:34 UTC]    Books columns count: 44
[21-Nov-2025 22:08:34 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:34 UTC]    Language field in books: YES
[21-Nov-2025 22:08:34 UTC]    Format field in books: YES
[21-Nov-2025 22:08:34 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:34 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:34 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:34 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:34 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:34 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:34 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:34 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:34 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:34 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:34 UTC] 📊 Database Info:
[21-Nov-2025 22:08:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:34 UTC]    Books columns count: 44
[21-Nov-2025 22:08:34 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:34 UTC]    Language field in books: YES
[21-Nov-2025 22:08:34 UTC]    Format field in books: YES
[21-Nov-2025 22:08:34 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:34 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:34 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:34 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:34 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:34 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:34 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:34 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:34 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:41 UTC] 📊 Database Info:
[21-Nov-2025 22:08:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:41 UTC]    Books columns count: 44
[21-Nov-2025 22:08:41 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:41 UTC]    Language field in books: YES
[21-Nov-2025 22:08:41 UTC]    Format field in books: YES
[21-Nov-2025 22:08:41 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:41 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:41 UTC] 📊 Database Info:
[21-Nov-2025 22:08:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:41 UTC]    Books columns count: 44
[21-Nov-2025 22:08:41 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:41 UTC]    Language field in books: YES
[21-Nov-2025 22:08:41 UTC]    Format field in books: YES
[21-Nov-2025 22:08:41 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:41 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:41 UTC] 📊 Database Info:
[21-Nov-2025 22:08:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:41 UTC]    Books columns count: 44
[21-Nov-2025 22:08:41 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:41 UTC]    Language field in books: YES
[21-Nov-2025 22:08:41 UTC]    Format field in books: YES
[21-Nov-2025 22:08:41 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:41 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:41 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:08:41 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:08:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:41 UTC] 📊 Database Info:
[21-Nov-2025 22:08:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:41 UTC]    Books columns count: 44
[21-Nov-2025 22:08:41 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:41 UTC]    Language field in books: YES
[21-Nov-2025 22:08:41 UTC]    Format field in books: YES
[21-Nov-2025 22:08:41 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:41 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:41 UTC] 📊 Database Info:
[21-Nov-2025 22:08:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:41 UTC]    Books columns count: 44
[21-Nov-2025 22:08:41 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:41 UTC]    Language field in books: YES
[21-Nov-2025 22:08:41 UTC]    Format field in books: YES
[21-Nov-2025 22:08:41 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:41 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:43 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:43 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:43 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:43 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:43 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:43 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:43 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:43 UTC] 📊 Database Info:
[21-Nov-2025 22:08:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:43 UTC]    Books columns count: 44
[21-Nov-2025 22:08:43 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:43 UTC]    Language field in books: YES
[21-Nov-2025 22:08:43 UTC]    Format field in books: YES
[21-Nov-2025 22:08:43 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:43 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:43 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:43 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:43 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:43 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:43 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:43 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:43 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:43 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:43 UTC] 📊 Database Info:
[21-Nov-2025 22:08:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:43 UTC]    Books columns count: 44
[21-Nov-2025 22:08:43 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:43 UTC]    Language field in books: YES
[21-Nov-2025 22:08:43 UTC]    Format field in books: YES
[21-Nov-2025 22:08:43 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:43 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:43 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:43 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:43 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:43 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:43 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:43 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:43 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:43 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:43 UTC] 📊 Database Info:
[21-Nov-2025 22:08:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:43 UTC]    Books columns count: 44
[21-Nov-2025 22:08:43 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:43 UTC]    Language field in books: YES
[21-Nov-2025 22:08:43 UTC]    Format field in books: YES
[21-Nov-2025 22:08:43 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:43 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:43 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:43 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:43 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:43 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:43 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:43 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:43 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:43 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:08:43 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:08:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:08:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:08:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:08:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:08:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:08:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:08:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:08:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:08:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:56 UTC] 📊 Database Info:
[21-Nov-2025 22:08:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:56 UTC]    Books columns count: 44
[21-Nov-2025 22:08:56 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:56 UTC]    Language field in books: YES
[21-Nov-2025 22:08:56 UTC]    Format field in books: YES
[21-Nov-2025 22:08:56 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:56 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:56 UTC] 📊 Database Info:
[21-Nov-2025 22:08:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:56 UTC]    Books columns count: 44
[21-Nov-2025 22:08:56 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:56 UTC]    Language field in books: YES
[21-Nov-2025 22:08:56 UTC]    Format field in books: YES
[21-Nov-2025 22:08:56 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:56 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:08:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:08:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:08:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:08:56 UTC] 📊 Database Info:
[21-Nov-2025 22:08:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:08:56 UTC]    Books columns count: 44
[21-Nov-2025 22:08:56 UTC]    Categories columns count: 7
[21-Nov-2025 22:08:56 UTC]    Language field in books: YES
[21-Nov-2025 22:08:56 UTC]    Format field in books: YES
[21-Nov-2025 22:08:56 UTC]    Description field in categories: YES
[21-Nov-2025 22:08:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:08:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:08:56 UTC]    Is_active field in books: YES
[21-Nov-2025 22:08:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:08:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:08:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:08:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:08:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:08:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:08:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:08:56 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:08:56 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:09:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:09:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:09:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:09:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:09:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:09:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:09:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:09:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:09:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:09:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:09:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:09:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:09:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:09:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:09:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:09:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:09:01 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:09:01 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:09:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:09:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:09:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:09:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:09:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:09:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:09:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:09:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:09:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:09:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:09:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:09:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:09:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:09:01 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:09:01 UTC] 📊 Database Info:
[21-Nov-2025 22:09:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:09:01 UTC]    Books columns count: 44
[21-Nov-2025 22:09:01 UTC]    Categories columns count: 7
[21-Nov-2025 22:09:01 UTC]    Language field in books: YES
[21-Nov-2025 22:09:01 UTC]    Format field in books: YES
[21-Nov-2025 22:09:01 UTC]    Description field in categories: YES
[21-Nov-2025 22:09:01 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:09:01 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:09:01 UTC]    Is_active field in books: YES
[21-Nov-2025 22:09:01 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:09:01 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:09:01 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:09:01 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:09:01 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:09:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:09:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:09:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:09:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:09:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:09:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:09:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:09:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:09:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:09:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:09:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:09:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:09:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:09:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:09:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:09:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:09:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:09:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:09:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:09:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:09:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:09:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:09:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:09:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:09:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:09:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:09:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:09:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:09:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:09:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:09:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:09:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:09:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:09:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:09:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:09:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:09:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:09:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:09:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:09:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:09:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:09:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:09:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:09:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:09:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:09:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:09:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:09:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:09:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:09:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:09:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:09:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:09:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:09:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:09:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:09:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:09:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:09:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:09:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:09:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:09:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:09:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:09:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:09:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:09:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:09:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:09:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:09:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:09:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:09:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:09:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:09:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:09:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:09:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:09:06 UTC] 📊 Database Info:
[21-Nov-2025 22:09:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:09:06 UTC]    Books columns count: 44
[21-Nov-2025 22:09:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:09:06 UTC]    Categories columns count: 7
[21-Nov-2025 22:09:06 UTC]    Language field in books: YES
[21-Nov-2025 22:09:06 UTC]    Format field in books: YES
[21-Nov-2025 22:09:06 UTC]    Description field in categories: YES
[21-Nov-2025 22:09:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:09:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:09:06 UTC]    Is_active field in books: YES
[21-Nov-2025 22:09:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:09:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:09:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:09:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:09:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:09:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:09:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:09:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:09:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:09:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:09:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:09:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:09:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:09:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:09:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:09:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:09:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:09:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:09:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:09:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:09:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:09:06 UTC] 📊 Database Info:
[21-Nov-2025 22:09:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:09:06 UTC]    Books columns count: 44
[21-Nov-2025 22:09:06 UTC]    Categories columns count: 7
[21-Nov-2025 22:09:06 UTC]    Language field in books: YES
[21-Nov-2025 22:09:06 UTC]    Format field in books: YES
[21-Nov-2025 22:09:06 UTC]    Description field in categories: YES
[21-Nov-2025 22:09:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:09:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:09:06 UTC]    Is_active field in books: YES
[21-Nov-2025 22:09:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:09:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:09:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:09:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:09:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:09:06 UTC] 📊 Database Info:
[21-Nov-2025 22:09:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:09:06 UTC]    Books columns count: 44
[21-Nov-2025 22:09:06 UTC]    Categories columns count: 7
[21-Nov-2025 22:09:06 UTC]    Language field in books: YES
[21-Nov-2025 22:09:06 UTC]    Format field in books: YES
[21-Nov-2025 22:09:06 UTC]    Description field in categories: YES
[21-Nov-2025 22:09:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:09:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:09:06 UTC]    Is_active field in books: YES
[21-Nov-2025 22:09:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:09:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:09:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:09:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:09:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:09:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:09:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:09:06 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:09:06 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:09:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:09:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:09:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:09:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:09:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:09:06 UTC] 📊 Database Info:
[21-Nov-2025 22:09:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:09:06 UTC]    Books columns count: 44
[21-Nov-2025 22:09:06 UTC]    Categories columns count: 7
[21-Nov-2025 22:09:06 UTC]    Language field in books: YES
[21-Nov-2025 22:09:06 UTC]    Format field in books: YES
[21-Nov-2025 22:09:06 UTC]    Description field in categories: YES
[21-Nov-2025 22:09:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:09:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:09:06 UTC]    Is_active field in books: YES
[21-Nov-2025 22:09:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:09:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:09:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:09:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:09:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:09:06 UTC] 📊 Database Info:
[21-Nov-2025 22:09:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:09:06 UTC]    Books columns count: 44
[21-Nov-2025 22:09:06 UTC]    Categories columns count: 7
[21-Nov-2025 22:09:06 UTC]    Language field in books: YES
[21-Nov-2025 22:09:06 UTC]    Format field in books: YES
[21-Nov-2025 22:09:06 UTC]    Description field in categories: YES
[21-Nov-2025 22:09:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:09:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:09:06 UTC]    Is_active field in books: YES
[21-Nov-2025 22:09:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:09:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:09:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:09:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:09:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:09:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:09:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:09:06 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:09:06 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:09:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:09:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:09:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:09:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:09:06 UTC] 📊 Database Info:
[21-Nov-2025 22:09:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:09:06 UTC]    Books columns count: 44
[21-Nov-2025 22:09:06 UTC]    Categories columns count: 7
[21-Nov-2025 22:09:06 UTC]    Language field in books: YES
[21-Nov-2025 22:09:06 UTC]    Format field in books: YES
[21-Nov-2025 22:09:06 UTC]    Description field in categories: YES
[21-Nov-2025 22:09:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:09:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:09:06 UTC]    Is_active field in books: YES
[21-Nov-2025 22:09:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:09:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:09:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:09:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:09:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:09:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:09:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:10:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:10:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:10:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:10:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:10:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:10:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:10:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:10:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:10:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:10:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:10:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:10:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:10:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:10:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:10:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:10:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:10:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:10:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:10:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:10:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:10:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:10:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:10:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:10:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:10:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:10:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:10:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:10:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:10:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:10:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:10:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:10:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:10:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:10:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:10:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:10:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:10:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:10:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:10:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:10:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:10:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:10:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:10:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:10:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:10:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:10:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:10:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:10:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:10:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:10:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:10:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:10:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:10:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:10:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:10:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:10:59 UTC] 📊 Database Info:
[21-Nov-2025 22:10:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:10:59 UTC]    Books columns count: 44
[21-Nov-2025 22:10:59 UTC]    Categories columns count: 7
[21-Nov-2025 22:10:59 UTC]    Language field in books: YES
[21-Nov-2025 22:10:59 UTC]    Format field in books: YES
[21-Nov-2025 22:10:59 UTC]    Description field in categories: YES
[21-Nov-2025 22:10:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:10:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:10:59 UTC]    Is_active field in books: YES
[21-Nov-2025 22:10:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:10:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:10:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:10:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:10:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:10:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:10:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:10:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:10:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:10:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:10:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:10:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:10:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:10:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:10:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:10:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:10:59 UTC] 📊 Database Info:
[21-Nov-2025 22:10:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:10:59 UTC]    Books columns count: 44
[21-Nov-2025 22:10:59 UTC]    Categories columns count: 7
[21-Nov-2025 22:10:59 UTC]    Language field in books: YES
[21-Nov-2025 22:10:59 UTC]    Format field in books: YES
[21-Nov-2025 22:10:59 UTC]    Description field in categories: YES
[21-Nov-2025 22:10:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:10:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:10:59 UTC]    Is_active field in books: YES
[21-Nov-2025 22:10:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:10:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:10:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:10:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:10:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:10:59 UTC] 📊 Database Info:
[21-Nov-2025 22:10:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:10:59 UTC]    Books columns count: 44
[21-Nov-2025 22:10:59 UTC]    Categories columns count: 7
[21-Nov-2025 22:10:59 UTC]    Language field in books: YES
[21-Nov-2025 22:10:59 UTC]    Format field in books: YES
[21-Nov-2025 22:10:59 UTC]    Description field in categories: YES
[21-Nov-2025 22:10:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:10:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:10:59 UTC]    Is_active field in books: YES
[21-Nov-2025 22:10:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:10:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:10:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:10:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:10:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:10:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:10:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:10:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:10:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:10:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:10:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:10:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:10:59 UTC] 📊 Database Info:
[21-Nov-2025 22:10:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:10:59 UTC]    Books columns count: 44
[21-Nov-2025 22:10:59 UTC]    Categories columns count: 7
[21-Nov-2025 22:10:59 UTC]    Language field in books: YES
[21-Nov-2025 22:10:59 UTC]    Format field in books: YES
[21-Nov-2025 22:10:59 UTC]    Description field in categories: YES
[21-Nov-2025 22:10:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:10:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:10:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:10:59 UTC]    Is_active field in books: YES
[21-Nov-2025 22:10:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:10:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:10:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:10:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:10:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:10:59 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:10:59 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:10:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:10:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:10:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:10:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:10:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:10:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:10:59 UTC] 📊 Database Info:
[21-Nov-2025 22:10:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:10:59 UTC]    Books columns count: 44
[21-Nov-2025 22:10:59 UTC]    Categories columns count: 7
[21-Nov-2025 22:10:59 UTC]    Language field in books: YES
[21-Nov-2025 22:10:59 UTC]    Format field in books: YES
[21-Nov-2025 22:10:59 UTC]    Description field in categories: YES
[21-Nov-2025 22:10:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:10:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:10:59 UTC]    Is_active field in books: YES
[21-Nov-2025 22:10:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:10:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:10:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:10:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:10:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:10:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:10:59 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:10:59 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:10:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:10:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:10:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:10:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:10:59 UTC] 📊 Database Info:
[21-Nov-2025 22:10:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:10:59 UTC]    Books columns count: 44
[21-Nov-2025 22:10:59 UTC]    Categories columns count: 7
[21-Nov-2025 22:10:59 UTC]    Language field in books: YES
[21-Nov-2025 22:10:59 UTC]    Format field in books: YES
[21-Nov-2025 22:10:59 UTC]    Description field in categories: YES
[21-Nov-2025 22:10:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:10:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:10:59 UTC]    Is_active field in books: YES
[21-Nov-2025 22:10:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:10:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:10:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:10:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:10:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:10:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:10:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:01 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:01 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:01 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:01 UTC] 📊 Database Info:
[21-Nov-2025 22:11:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:01 UTC]    Books columns count: 44
[21-Nov-2025 22:11:01 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:01 UTC]    Language field in books: YES
[21-Nov-2025 22:11:01 UTC]    Format field in books: YES
[21-Nov-2025 22:11:01 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:01 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:01 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:01 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:01 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:01 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:01 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:01 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:01 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:13 UTC] 📊 Database Info:
[21-Nov-2025 22:11:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:13 UTC]    Books columns count: 44
[21-Nov-2025 22:11:13 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:13 UTC]    Language field in books: YES
[21-Nov-2025 22:11:13 UTC]    Format field in books: YES
[21-Nov-2025 22:11:13 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:13 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:13 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 22:11:13 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 22:11:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:13 UTC] 📊 Database Info:
[21-Nov-2025 22:11:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:13 UTC]    Books columns count: 44
[21-Nov-2025 22:11:13 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:13 UTC]    Language field in books: YES
[21-Nov-2025 22:11:13 UTC]    Format field in books: YES
[21-Nov-2025 22:11:13 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:13 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 22:11:13 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 22:11:13 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 22:11:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:13 UTC] 📊 Database Info:
[21-Nov-2025 22:11:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:13 UTC]    Books columns count: 44
[21-Nov-2025 22:11:13 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:13 UTC]    Language field in books: YES
[21-Nov-2025 22:11:13 UTC]    Format field in books: YES
[21-Nov-2025 22:11:13 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:13 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:35 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:35 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:35 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:35 UTC] 📊 Database Info:
[21-Nov-2025 22:11:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:35 UTC]    Books columns count: 44
[21-Nov-2025 22:11:35 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:35 UTC]    Language field in books: YES
[21-Nov-2025 22:11:35 UTC]    Format field in books: YES
[21-Nov-2025 22:11:35 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:35 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:35 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:35 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:35 UTC] 📊 Database Info:
[21-Nov-2025 22:11:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:35 UTC]    Books columns count: 44
[21-Nov-2025 22:11:35 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:35 UTC]    Language field in books: YES
[21-Nov-2025 22:11:35 UTC]    Format field in books: YES
[21-Nov-2025 22:11:35 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:35 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:35 UTC] 📊 Database Info:
[21-Nov-2025 22:11:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:35 UTC]    Books columns count: 44
[21-Nov-2025 22:11:35 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:35 UTC]    Language field in books: YES
[21-Nov-2025 22:11:35 UTC]    Format field in books: YES
[21-Nov-2025 22:11:35 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:35 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:35 UTC] 📊 Database Info:
[21-Nov-2025 22:11:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:35 UTC]    Books columns count: 44
[21-Nov-2025 22:11:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:35 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:35 UTC] 📊 Database Info:
[21-Nov-2025 22:11:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:35 UTC]    Language field in books: YES
[21-Nov-2025 22:11:35 UTC]    Books columns count: 44
[21-Nov-2025 22:11:35 UTC]    Format field in books: YES
[21-Nov-2025 22:11:35 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:35 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:35 UTC]    Language field in books: YES
[21-Nov-2025 22:11:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:35 UTC]    Format field in books: YES
[21-Nov-2025 22:11:35 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:35 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:35 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:35 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:11:35 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:11:35 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:35 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:35 UTC] 📊 Database Info:
[21-Nov-2025 22:11:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:35 UTC]    Books columns count: 44
[21-Nov-2025 22:11:35 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:35 UTC]    Language field in books: YES
[21-Nov-2025 22:11:35 UTC]    Format field in books: YES
[21-Nov-2025 22:11:35 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:35 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:35 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:35 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:35 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:35 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:35 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:35 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:35 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:35 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:11:35 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:11:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:37 UTC] 📊 Database Info:
[21-Nov-2025 22:11:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:37 UTC]    Books columns count: 44
[21-Nov-2025 22:11:37 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:37 UTC]    Language field in books: YES
[21-Nov-2025 22:11:37 UTC]    Format field in books: YES
[21-Nov-2025 22:11:37 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:37 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:37 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 22:11:37 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 22:11:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:37 UTC] 📊 Database Info:
[21-Nov-2025 22:11:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:37 UTC]    Books columns count: 44
[21-Nov-2025 22:11:37 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:37 UTC]    Language field in books: YES
[21-Nov-2025 22:11:37 UTC]    Format field in books: YES
[21-Nov-2025 22:11:37 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:37 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 22:11:37 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 22:11:37 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 22:11:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:37 UTC] 📊 Database Info:
[21-Nov-2025 22:11:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:37 UTC]    Books columns count: 44
[21-Nov-2025 22:11:37 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:37 UTC]    Language field in books: YES
[21-Nov-2025 22:11:37 UTC]    Format field in books: YES
[21-Nov-2025 22:11:37 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:37 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:42 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:42 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:42 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:42 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:42 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:42 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:42 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:42 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:42 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:42 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:42 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:42 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:42 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:42 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:42 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:42 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:42 UTC] 📊 Database Info:
[21-Nov-2025 22:11:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:42 UTC]    Books columns count: 44
[21-Nov-2025 22:11:42 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:42 UTC]    Language field in books: YES
[21-Nov-2025 22:11:42 UTC]    Format field in books: YES
[21-Nov-2025 22:11:42 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:42 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:42 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:42 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:42 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:42 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:42 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:42 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:42 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:46 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:46 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:46 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:46 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:46 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:46 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:46 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:46 UTC] 📊 Database Info:
[21-Nov-2025 22:11:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:46 UTC]    Books columns count: 44
[21-Nov-2025 22:11:46 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:46 UTC]    Language field in books: YES
[21-Nov-2025 22:11:46 UTC]    Format field in books: YES
[21-Nov-2025 22:11:46 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:46 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:46 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:46 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:46 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:46 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:46 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:46 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:46 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:46 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:46 UTC] 📊 Database Info:
[21-Nov-2025 22:11:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:46 UTC]    Books columns count: 44
[21-Nov-2025 22:11:46 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:46 UTC]    Language field in books: YES
[21-Nov-2025 22:11:46 UTC]    Format field in books: YES
[21-Nov-2025 22:11:46 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:46 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:46 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:46 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:46 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:46 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:46 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:46 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:46 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:46 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:46 UTC] 📊 Database Info:
[21-Nov-2025 22:11:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:46 UTC]    Books columns count: 44
[21-Nov-2025 22:11:46 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:46 UTC]    Language field in books: YES
[21-Nov-2025 22:11:46 UTC]    Format field in books: YES
[21-Nov-2025 22:11:46 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:46 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:46 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:46 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:46 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:46 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:46 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:46 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:46 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:46 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:11:46 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:11:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:11:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:11:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:11:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:11:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:11:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:11:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:11:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:11:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:11:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:59 UTC] 📊 Database Info:
[21-Nov-2025 22:11:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:59 UTC]    Books columns count: 44
[21-Nov-2025 22:11:59 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:59 UTC]    Language field in books: YES
[21-Nov-2025 22:11:59 UTC]    Format field in books: YES
[21-Nov-2025 22:11:59 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:59 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:59 UTC] 📊 Database Info:
[21-Nov-2025 22:11:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:59 UTC]    Books columns count: 44
[21-Nov-2025 22:11:59 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:59 UTC]    Language field in books: YES
[21-Nov-2025 22:11:59 UTC]    Format field in books: YES
[21-Nov-2025 22:11:59 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:59 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:11:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:11:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:11:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:11:59 UTC] 📊 Database Info:
[21-Nov-2025 22:11:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:11:59 UTC]    Books columns count: 44
[21-Nov-2025 22:11:59 UTC]    Categories columns count: 7
[21-Nov-2025 22:11:59 UTC]    Language field in books: YES
[21-Nov-2025 22:11:59 UTC]    Format field in books: YES
[21-Nov-2025 22:11:59 UTC]    Description field in categories: YES
[21-Nov-2025 22:11:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:11:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:11:59 UTC]    Is_active field in books: YES
[21-Nov-2025 22:11:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:11:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:11:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:11:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:11:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:11:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:11:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:11:59 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:11:59 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:12:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:00 UTC] 📊 Database Info:
[21-Nov-2025 22:12:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:00 UTC]    Books columns count: 44
[21-Nov-2025 22:12:00 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:00 UTC]    Language field in books: YES
[21-Nov-2025 22:12:00 UTC]    Format field in books: YES
[21-Nov-2025 22:12:00 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:00 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:00 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:12:00 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:12:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:00 UTC] 📊 Database Info:
[21-Nov-2025 22:12:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:00 UTC]    Books columns count: 44
[21-Nov-2025 22:12:00 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:00 UTC]    Language field in books: YES
[21-Nov-2025 22:12:00 UTC]    Format field in books: YES
[21-Nov-2025 22:12:00 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:00 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:00 UTC] 📊 Database Info:
[21-Nov-2025 22:12:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:00 UTC]    Books columns count: 44
[21-Nov-2025 22:12:00 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:00 UTC]    Language field in books: YES
[21-Nov-2025 22:12:00 UTC]    Format field in books: YES
[21-Nov-2025 22:12:00 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:00 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:03 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:03 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:03 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:03 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:03 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:03 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:03 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:03 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:03 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:03 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:03 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:03 UTC] 📊 Database Info:
[21-Nov-2025 22:12:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:03 UTC]    Books columns count: 44
[21-Nov-2025 22:12:03 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:03 UTC]    Language field in books: YES
[21-Nov-2025 22:12:03 UTC]    Format field in books: YES
[21-Nov-2025 22:12:03 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:03 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:03 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:03 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:03 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:03 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:03 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:03 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:03 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:03 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:03 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:03 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:03 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:03 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:03 UTC] 📊 Database Info:
[21-Nov-2025 22:12:03 UTC] 📊 Database Info:
[21-Nov-2025 22:12:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:03 UTC]    Books columns count: 44
[21-Nov-2025 22:12:03 UTC]    Books columns count: 44
[21-Nov-2025 22:12:03 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:03 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:03 UTC]    Language field in books: YES
[21-Nov-2025 22:12:03 UTC]    Language field in books: YES
[21-Nov-2025 22:12:03 UTC]    Format field in books: YES
[21-Nov-2025 22:12:03 UTC]    Format field in books: YES
[21-Nov-2025 22:12:03 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:03 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:03 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:03 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:03 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:03 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:03 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:03 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:03 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:03 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:03 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:03 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:03 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:03 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:03 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:03 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:03 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:03 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:03 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:12:03 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:12:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:04 UTC] 📊 Database Info:
[21-Nov-2025 22:12:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:04 UTC]    Books columns count: 44
[21-Nov-2025 22:12:04 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:04 UTC]    Language field in books: YES
[21-Nov-2025 22:12:04 UTC]    Format field in books: YES
[21-Nov-2025 22:12:04 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:04 UTC] 📊 Database Info:
[21-Nov-2025 22:12:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:04 UTC]    Books columns count: 44
[21-Nov-2025 22:12:04 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:04 UTC]    Language field in books: YES
[21-Nov-2025 22:12:04 UTC]    Format field in books: YES
[21-Nov-2025 22:12:04 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:04 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:12:04 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:04 UTC] 📊 Database Info:
[21-Nov-2025 22:12:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:04 UTC]    Books columns count: 44
[21-Nov-2025 22:12:04 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:04 UTC]    Language field in books: YES
[21-Nov-2025 22:12:04 UTC]    Format field in books: YES
[21-Nov-2025 22:12:04 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:04 UTC] 📊 Database Info:
[21-Nov-2025 22:12:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:04 UTC]    Books columns count: 44
[21-Nov-2025 22:12:04 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:04 UTC]    Language field in books: YES
[21-Nov-2025 22:12:04 UTC]    Format field in books: YES
[21-Nov-2025 22:12:04 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:04 UTC] 📊 Database Info:
[21-Nov-2025 22:12:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:04 UTC]    Books columns count: 44
[21-Nov-2025 22:12:04 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:04 UTC]    Language field in books: YES
[21-Nov-2025 22:12:04 UTC]    Format field in books: YES
[21-Nov-2025 22:12:04 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:04 UTC] 📊 Database Info:
[21-Nov-2025 22:12:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:04 UTC]    Books columns count: 44
[21-Nov-2025 22:12:04 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:04 UTC]    Language field in books: YES
[21-Nov-2025 22:12:04 UTC]    Format field in books: YES
[21-Nov-2025 22:12:04 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:04 UTC] 📊 Database Info:
[21-Nov-2025 22:12:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:04 UTC]    Books columns count: 44
[21-Nov-2025 22:12:04 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:04 UTC]    Language field in books: YES
[21-Nov-2025 22:12:04 UTC]    Format field in books: YES
[21-Nov-2025 22:12:04 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:04 UTC] 📊 Database Info:
[21-Nov-2025 22:12:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:04 UTC]    Books columns count: 44
[21-Nov-2025 22:12:04 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:04 UTC]    Language field in books: YES
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:04 UTC]    Format field in books: YES
[21-Nov-2025 22:12:04 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:04 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:04 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:04 UTC] 📊 Database Info:
[21-Nov-2025 22:12:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:04 UTC]    Books columns count: 44
[21-Nov-2025 22:12:04 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:04 UTC]    Language field in books: YES
[21-Nov-2025 22:12:04 UTC]    Format field in books: YES
[21-Nov-2025 22:12:04 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:04 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:04 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:12:04 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:12:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:09 UTC] 📊 Database Info:
[21-Nov-2025 22:12:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:09 UTC]    Books columns count: 44
[21-Nov-2025 22:12:09 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:09 UTC]    Language field in books: YES
[21-Nov-2025 22:12:09 UTC]    Format field in books: YES
[21-Nov-2025 22:12:09 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:09 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:09 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 22:12:09 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 22:12:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:09 UTC] 📊 Database Info:
[21-Nov-2025 22:12:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:09 UTC]    Books columns count: 44
[21-Nov-2025 22:12:09 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:09 UTC]    Language field in books: YES
[21-Nov-2025 22:12:09 UTC]    Format field in books: YES
[21-Nov-2025 22:12:09 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:09 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:09 UTC] 📊 Database Info:
[21-Nov-2025 22:12:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:09 UTC]    Books columns count: 44
[21-Nov-2025 22:12:09 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:09 UTC]    Language field in books: YES
[21-Nov-2025 22:12:09 UTC]    Format field in books: YES
[21-Nov-2025 22:12:09 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:09 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 22:12:09 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 22:12:09 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 22:12:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:44 UTC] 📊 Database Info:
[21-Nov-2025 22:12:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:44 UTC]    Books columns count: 44
[21-Nov-2025 22:12:44 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:44 UTC]    Language field in books: YES
[21-Nov-2025 22:12:44 UTC]    Format field in books: YES
[21-Nov-2025 22:12:44 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:44 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:44 UTC] 📊 Database Info:
[21-Nov-2025 22:12:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:44 UTC]    Books columns count: 44
[21-Nov-2025 22:12:44 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:44 UTC]    Language field in books: YES
[21-Nov-2025 22:12:44 UTC]    Format field in books: YES
[21-Nov-2025 22:12:44 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:44 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:44 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:12:44 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:12:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:44 UTC] 📊 Database Info:
[21-Nov-2025 22:12:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:44 UTC]    Books columns count: 44
[21-Nov-2025 22:12:44 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:44 UTC]    Language field in books: YES
[21-Nov-2025 22:12:44 UTC]    Format field in books: YES
[21-Nov-2025 22:12:44 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:44 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:46 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:46 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:46 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:46 UTC] 📊 Database Info:
[21-Nov-2025 22:12:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:46 UTC]    Books columns count: 44
[21-Nov-2025 22:12:46 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:46 UTC]    Language field in books: YES
[21-Nov-2025 22:12:46 UTC]    Format field in books: YES
[21-Nov-2025 22:12:46 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:46 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:46 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:46 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:46 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:46 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:46 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:46 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:46 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:52 UTC] 📊 Database Info:
[21-Nov-2025 22:12:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:52 UTC]    Books columns count: 44
[21-Nov-2025 22:12:52 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:52 UTC]    Language field in books: YES
[21-Nov-2025 22:12:52 UTC]    Format field in books: YES
[21-Nov-2025 22:12:52 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:52 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:12:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:12:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:12:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:12:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:12:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:12:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:58 UTC] 📊 Database Info:
[21-Nov-2025 22:12:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:58 UTC]    Books columns count: 44
[21-Nov-2025 22:12:58 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:58 UTC]    Language field in books: YES
[21-Nov-2025 22:12:58 UTC]    Format field in books: YES
[21-Nov-2025 22:12:58 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:58 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:12:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:12:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:58 UTC] 📊 Database Info:
[21-Nov-2025 22:12:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:58 UTC]    Books columns count: 44
[21-Nov-2025 22:12:58 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:58 UTC]    Language field in books: YES
[21-Nov-2025 22:12:58 UTC]    Format field in books: YES
[21-Nov-2025 22:12:58 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:58 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:12:58 UTC] 📊 Database Info:
[21-Nov-2025 22:12:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:12:58 UTC]    Books columns count: 44
[21-Nov-2025 22:12:58 UTC]    Categories columns count: 7
[21-Nov-2025 22:12:58 UTC]    Language field in books: YES
[21-Nov-2025 22:12:58 UTC]    Format field in books: YES
[21-Nov-2025 22:12:58 UTC]    Description field in categories: YES
[21-Nov-2025 22:12:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:12:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:12:58 UTC]    Is_active field in books: YES
[21-Nov-2025 22:12:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:12:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:12:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:12:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:12:58 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:12:58 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:12:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:12:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:13:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:13:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:13:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:13:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:13:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:13:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:13:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:13:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:13:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:13:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:13:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:13:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:13:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:13:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:13:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:13:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:13:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:13:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:13:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:13:19 UTC] 📊 Database Info:
[21-Nov-2025 22:13:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:13:19 UTC]    Books columns count: 44
[21-Nov-2025 22:13:19 UTC]    Categories columns count: 7
[21-Nov-2025 22:13:19 UTC]    Language field in books: YES
[21-Nov-2025 22:13:19 UTC]    Format field in books: YES
[21-Nov-2025 22:13:19 UTC]    Description field in categories: YES
[21-Nov-2025 22:13:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:13:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:13:19 UTC]    Is_active field in books: YES
[21-Nov-2025 22:13:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:13:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:13:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:13:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:13:19 UTC] 📊 Database Info:
[21-Nov-2025 22:13:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:13:19 UTC]    Books columns count: 44
[21-Nov-2025 22:13:19 UTC]    Categories columns count: 7
[21-Nov-2025 22:13:19 UTC]    Language field in books: YES
[21-Nov-2025 22:13:19 UTC]    Format field in books: YES
[21-Nov-2025 22:13:19 UTC]    Description field in categories: YES
[21-Nov-2025 22:13:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:13:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:13:19 UTC]    Is_active field in books: YES
[21-Nov-2025 22:13:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:13:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:13:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:13:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:13:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:13:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:13:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:13:19 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:13:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:19 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:13:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:13:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:13:19 UTC] 📊 Database Info:
[21-Nov-2025 22:13:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:13:19 UTC]    Books columns count: 44
[21-Nov-2025 22:13:19 UTC]    Categories columns count: 7
[21-Nov-2025 22:13:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:13:19 UTC] 📊 Database Info:
[21-Nov-2025 22:13:19 UTC]    Language field in books: YES
[21-Nov-2025 22:13:19 UTC]    Format field in books: YES
[21-Nov-2025 22:13:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:13:19 UTC]    Description field in categories: YES
[21-Nov-2025 22:13:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:13:19 UTC]    Books columns count: 44
[21-Nov-2025 22:13:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:13:19 UTC]    Categories columns count: 7
[21-Nov-2025 22:13:19 UTC]    Is_active field in books: YES
[21-Nov-2025 22:13:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:13:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:13:19 UTC]    Language field in books: YES
[21-Nov-2025 22:13:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:13:19 UTC]    Format field in books: YES
[21-Nov-2025 22:13:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:13:19 UTC]    Description field in categories: YES
[21-Nov-2025 22:13:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:13:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:13:19 UTC]    Is_active field in books: YES
[21-Nov-2025 22:13:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:13:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:13:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:13:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:13:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:13:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:13:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:13:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:13:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:13:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:13:19 UTC] 📊 Database Info:
[21-Nov-2025 22:13:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:13:19 UTC]    Books columns count: 44
[21-Nov-2025 22:13:19 UTC]    Categories columns count: 7
[21-Nov-2025 22:13:19 UTC]    Language field in books: YES
[21-Nov-2025 22:13:19 UTC]    Format field in books: YES
[21-Nov-2025 22:13:19 UTC]    Description field in categories: YES
[21-Nov-2025 22:13:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:13:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:13:19 UTC]    Is_active field in books: YES
[21-Nov-2025 22:13:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:13:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:13:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:13:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:13:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:13:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:13:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:13:19 UTC] 📊 Database Info:
[21-Nov-2025 22:13:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:13:19 UTC]    Books columns count: 44
[21-Nov-2025 22:13:19 UTC]    Categories columns count: 7
[21-Nov-2025 22:13:19 UTC]    Language field in books: YES
[21-Nov-2025 22:13:19 UTC]    Format field in books: YES
[21-Nov-2025 22:13:19 UTC]    Description field in categories: YES
[21-Nov-2025 22:13:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:13:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:13:19 UTC]    Is_active field in books: YES
[21-Nov-2025 22:13:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:13:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:13:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:13:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:13:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:13:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:13:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:13:19 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:13:19 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:13:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:13:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:13:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:21 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:13:21 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:13:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:21 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:13:21 UTC] 📊 Database Info:
[21-Nov-2025 22:13:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:13:21 UTC]    Books columns count: 44
[21-Nov-2025 22:13:21 UTC]    Categories columns count: 7
[21-Nov-2025 22:13:21 UTC]    Language field in books: YES
[21-Nov-2025 22:13:21 UTC]    Format field in books: YES
[21-Nov-2025 22:13:21 UTC]    Description field in categories: YES
[21-Nov-2025 22:13:21 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:13:21 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:13:21 UTC]    Is_active field in books: YES
[21-Nov-2025 22:13:21 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:13:21 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:13:21 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:13:21 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:13:21 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:13:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:13:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:13:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:13:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:13:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:13:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:13:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:13:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:13:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:13:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:13:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:13:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:13:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:13:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:13:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:13:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:13:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:13:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:13:23 UTC] 📊 Database Info:
[21-Nov-2025 22:13:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:13:23 UTC]    Books columns count: 44
[21-Nov-2025 22:13:23 UTC]    Categories columns count: 7
[21-Nov-2025 22:13:23 UTC]    Language field in books: YES
[21-Nov-2025 22:13:23 UTC]    Format field in books: YES
[21-Nov-2025 22:13:23 UTC]    Description field in categories: YES
[21-Nov-2025 22:13:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:13:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:13:23 UTC]    Is_active field in books: YES
[21-Nov-2025 22:13:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:13:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:13:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:13:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:13:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:13:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:13:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:13:23 UTC] 📊 Database Info:
[21-Nov-2025 22:13:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:13:23 UTC]    Books columns count: 44
[21-Nov-2025 22:13:23 UTC]    Categories columns count: 7
[21-Nov-2025 22:13:23 UTC]    Language field in books: YES
[21-Nov-2025 22:13:23 UTC]    Format field in books: YES
[21-Nov-2025 22:13:23 UTC]    Description field in categories: YES
[21-Nov-2025 22:13:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:13:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:13:23 UTC]    Is_active field in books: YES
[21-Nov-2025 22:13:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:13:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:13:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:13:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:13:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:13:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:13:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:13:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:13:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:13:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:13:23 UTC] 📊 Database Info:
[21-Nov-2025 22:13:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:13:23 UTC]    Books columns count: 44
[21-Nov-2025 22:13:23 UTC]    Categories columns count: 7
[21-Nov-2025 22:13:23 UTC]    Language field in books: YES
[21-Nov-2025 22:13:23 UTC]    Format field in books: YES
[21-Nov-2025 22:13:23 UTC]    Description field in categories: YES
[21-Nov-2025 22:13:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:13:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:13:23 UTC]    Is_active field in books: YES
[21-Nov-2025 22:13:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:13:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:13:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:13:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:13:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:13:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:13:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:13:23 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:13:23 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:15:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:15:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:15:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:15:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:15:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:15:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:15:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:15:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:15:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:15:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:15:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:15:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:15:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:15:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:15:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:15:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:15:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:15:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:15:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:15:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:15:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:15:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:15:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:15:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:15:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:15:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:15:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:15:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:15:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:15:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:15:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:15:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:15:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:15:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:15:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:15:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:15:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:15:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:15:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:15:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:15:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:15:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:15:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:15:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:15:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:15:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:15:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:15:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:15:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:15:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:15:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:15:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:15:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:15:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:15:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:15:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:15:56 UTC] 📊 Database Info:
[21-Nov-2025 22:15:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:15:56 UTC]    Books columns count: 44
[21-Nov-2025 22:15:56 UTC]    Categories columns count: 7
[21-Nov-2025 22:15:56 UTC]    Language field in books: YES
[21-Nov-2025 22:15:56 UTC]    Format field in books: YES
[21-Nov-2025 22:15:56 UTC]    Description field in categories: YES
[21-Nov-2025 22:15:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:15:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:15:56 UTC]    Is_active field in books: YES
[21-Nov-2025 22:15:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:15:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:15:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:15:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:15:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:15:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:15:56 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:15:56 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:15:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:15:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:15:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:15:56 UTC] 📊 Database Info:
[21-Nov-2025 22:15:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:15:56 UTC]    Books columns count: 44
[21-Nov-2025 22:15:56 UTC]    Categories columns count: 7
[21-Nov-2025 22:15:56 UTC]    Language field in books: YES
[21-Nov-2025 22:15:56 UTC]    Format field in books: YES
[21-Nov-2025 22:15:56 UTC]    Description field in categories: YES
[21-Nov-2025 22:15:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:15:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:15:56 UTC]    Is_active field in books: YES
[21-Nov-2025 22:15:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:15:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:15:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:15:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:15:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:15:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:15:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:15:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:15:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:15:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:15:56 UTC] 📊 Database Info:
[21-Nov-2025 22:15:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:15:56 UTC]    Books columns count: 44
[21-Nov-2025 22:15:56 UTC]    Categories columns count: 7
[21-Nov-2025 22:15:56 UTC]    Language field in books: YES
[21-Nov-2025 22:15:56 UTC]    Format field in books: YES
[21-Nov-2025 22:15:56 UTC]    Description field in categories: YES
[21-Nov-2025 22:15:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:15:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:15:56 UTC]    Is_active field in books: YES
[21-Nov-2025 22:15:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:15:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:15:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:15:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:15:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:15:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:15:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:15:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:15:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:15:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:15:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:15:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:15:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:15:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:15:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:15:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:15:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:15:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:15:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:15:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:15:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:15:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:15:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:15:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:15:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:15:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:15:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:15:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:15:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:15:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:15:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:15:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:15:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:15:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:15:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:15:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:15:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:15:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:15:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:15:59 UTC] 📊 Database Info:
[21-Nov-2025 22:15:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:15:59 UTC]    Books columns count: 44
[21-Nov-2025 22:15:59 UTC]    Categories columns count: 7
[21-Nov-2025 22:15:59 UTC]    Language field in books: YES
[21-Nov-2025 22:15:59 UTC]    Format field in books: YES
[21-Nov-2025 22:15:59 UTC]    Description field in categories: YES
[21-Nov-2025 22:15:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:15:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:15:59 UTC]    Is_active field in books: YES
[21-Nov-2025 22:15:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:15:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:15:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:15:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:15:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:15:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:15:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:16:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:16:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:16:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:16:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:16:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:01 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:16:01 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:16:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:16:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:16:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:01 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:16:01 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:16:01 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:16:01 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:16:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:16:01 UTC] 📊 Database Info:
[21-Nov-2025 22:16:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:16:01 UTC]    Books columns count: 44
[21-Nov-2025 22:16:01 UTC]    Categories columns count: 7
[21-Nov-2025 22:16:01 UTC]    Language field in books: YES
[21-Nov-2025 22:16:01 UTC]    Format field in books: YES
[21-Nov-2025 22:16:01 UTC]    Description field in categories: YES
[21-Nov-2025 22:16:01 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:16:01 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:16:01 UTC]    Is_active field in books: YES
[21-Nov-2025 22:16:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:01 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:16:01 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:16:01 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:16:01 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:16:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:16:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:01 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:16:01 UTC] 📊 Database Info:
[21-Nov-2025 22:16:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:16:01 UTC]    Books columns count: 44
[21-Nov-2025 22:16:01 UTC]    Categories columns count: 7
[21-Nov-2025 22:16:01 UTC]    Language field in books: YES
[21-Nov-2025 22:16:01 UTC]    Format field in books: YES
[21-Nov-2025 22:16:01 UTC]    Description field in categories: YES
[21-Nov-2025 22:16:01 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:16:01 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:16:01 UTC]    Is_active field in books: YES
[21-Nov-2025 22:16:01 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:16:01 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:16:01 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:16:01 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:16:01 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:16:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:16:01 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:16:01 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:16:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:01 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:16:01 UTC] 📊 Database Info:
[21-Nov-2025 22:16:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:16:01 UTC]    Books columns count: 44
[21-Nov-2025 22:16:01 UTC]    Categories columns count: 7
[21-Nov-2025 22:16:01 UTC]    Language field in books: YES
[21-Nov-2025 22:16:01 UTC]    Format field in books: YES
[21-Nov-2025 22:16:01 UTC]    Description field in categories: YES
[21-Nov-2025 22:16:01 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:16:01 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:16:01 UTC]    Is_active field in books: YES
[21-Nov-2025 22:16:01 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:16:01 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:16:01 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:16:01 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:16:01 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:16:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:16:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:16:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:16:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:02 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:16:02 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:16:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:02 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:16:02 UTC] 📊 Database Info:
[21-Nov-2025 22:16:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:16:02 UTC]    Books columns count: 44
[21-Nov-2025 22:16:02 UTC]    Categories columns count: 7
[21-Nov-2025 22:16:02 UTC]    Language field in books: YES
[21-Nov-2025 22:16:02 UTC]    Format field in books: YES
[21-Nov-2025 22:16:02 UTC]    Description field in categories: YES
[21-Nov-2025 22:16:02 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:16:02 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:16:02 UTC]    Is_active field in books: YES
[21-Nov-2025 22:16:02 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:16:02 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:16:02 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:16:02 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:16:02 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:16:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:16:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:16:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:16:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:16:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:16:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:16:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:16:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:16:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:16:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:16:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:16:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:16:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:16:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:16:27 UTC] 📊 Database Info:
[21-Nov-2025 22:16:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:16:27 UTC]    Books columns count: 44
[21-Nov-2025 22:16:27 UTC]    Categories columns count: 7
[21-Nov-2025 22:16:27 UTC]    Language field in books: YES
[21-Nov-2025 22:16:27 UTC]    Format field in books: YES
[21-Nov-2025 22:16:27 UTC]    Description field in categories: YES
[21-Nov-2025 22:16:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:16:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:16:27 UTC]    Is_active field in books: YES
[21-Nov-2025 22:16:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:16:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:16:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:16:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:16:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:16:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:16:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:16:27 UTC] 📊 Database Info:
[21-Nov-2025 22:16:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:16:27 UTC]    Books columns count: 44
[21-Nov-2025 22:16:27 UTC]    Categories columns count: 7
[21-Nov-2025 22:16:27 UTC]    Language field in books: YES
[21-Nov-2025 22:16:27 UTC]    Format field in books: YES
[21-Nov-2025 22:16:27 UTC]    Description field in categories: YES
[21-Nov-2025 22:16:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:16:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:16:27 UTC]    Is_active field in books: YES
[21-Nov-2025 22:16:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:16:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:16:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:16:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:16:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:16:27 UTC] 📊 Database Info:
[21-Nov-2025 22:16:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:16:27 UTC]    Books columns count: 44
[21-Nov-2025 22:16:27 UTC]    Categories columns count: 7
[21-Nov-2025 22:16:27 UTC]    Language field in books: YES
[21-Nov-2025 22:16:27 UTC]    Format field in books: YES
[21-Nov-2025 22:16:27 UTC]    Description field in categories: YES
[21-Nov-2025 22:16:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:16:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:16:27 UTC]    Is_active field in books: YES
[21-Nov-2025 22:16:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:16:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:16:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:16:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:16:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:16:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:16:27 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:16:27 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:16:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:16:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:16:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:16:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:16:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:16:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:16:28 UTC] 📊 Database Info:
[21-Nov-2025 22:16:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:16:28 UTC]    Books columns count: 44
[21-Nov-2025 22:16:28 UTC]    Categories columns count: 7
[21-Nov-2025 22:16:28 UTC]    Language field in books: YES
[21-Nov-2025 22:16:28 UTC]    Format field in books: YES
[21-Nov-2025 22:16:28 UTC]    Description field in categories: YES
[21-Nov-2025 22:16:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:16:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:16:28 UTC]    Is_active field in books: YES
[21-Nov-2025 22:16:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:16:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:16:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:16:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:16:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:16:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:16:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:16:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:16:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:16:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:16:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:30 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:16:30 UTC] 📊 Database Info:
[21-Nov-2025 22:16:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:16:30 UTC]    Books columns count: 44
[21-Nov-2025 22:16:30 UTC]    Categories columns count: 7
[21-Nov-2025 22:16:30 UTC]    Language field in books: YES
[21-Nov-2025 22:16:30 UTC]    Format field in books: YES
[21-Nov-2025 22:16:30 UTC]    Description field in categories: YES
[21-Nov-2025 22:16:30 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:16:30 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:16:30 UTC]    Is_active field in books: YES
[21-Nov-2025 22:16:30 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:16:30 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:16:30 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:16:30 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:16:30 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:16:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:16:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:16:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:16:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:16:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:16:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:16:32 UTC] 📊 Database Info:
[21-Nov-2025 22:16:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:16:32 UTC]    Books columns count: 44
[21-Nov-2025 22:16:32 UTC]    Categories columns count: 7
[21-Nov-2025 22:16:32 UTC]    Language field in books: YES
[21-Nov-2025 22:16:32 UTC]    Format field in books: YES
[21-Nov-2025 22:16:32 UTC]    Description field in categories: YES
[21-Nov-2025 22:16:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:16:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:16:32 UTC]    Is_active field in books: YES
[21-Nov-2025 22:16:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:16:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:16:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:16:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:16:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:16:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:16:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:16:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:16:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:16:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:16:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:16:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:16:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:16:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:16:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:16:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:16:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:16:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:16:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:16:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:16:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:16:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:16:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:16:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:16:34 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:16:34 UTC] 📊 Database Info:
[21-Nov-2025 22:16:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:16:34 UTC]    Books columns count: 44
[21-Nov-2025 22:16:34 UTC]    Categories columns count: 7
[21-Nov-2025 22:16:34 UTC]    Language field in books: YES
[21-Nov-2025 22:16:34 UTC]    Format field in books: YES
[21-Nov-2025 22:16:34 UTC]    Description field in categories: YES
[21-Nov-2025 22:16:34 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:16:34 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:16:34 UTC]    Is_active field in books: YES
[21-Nov-2025 22:16:34 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:16:34 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:16:34 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:16:34 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:16:34 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:16:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:16:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:16:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:16:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:16:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:16:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:16:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:16:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:16:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:16:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:16:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:16:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:16:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:17:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:17:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:17:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:17:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:17:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:17:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:17:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:17:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:17:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:17:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:17:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:17:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:17:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:17:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:17:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:17:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:17:08 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:17:08 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:17:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:17:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:17:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:17:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:17:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:17:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:17:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:17:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:17:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:17:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:17:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:17:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:17:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:17:08 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:17:08 UTC] 📊 Database Info:
[21-Nov-2025 22:17:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:17:08 UTC]    Books columns count: 44
[21-Nov-2025 22:17:08 UTC]    Categories columns count: 7
[21-Nov-2025 22:17:08 UTC]    Language field in books: YES
[21-Nov-2025 22:17:08 UTC]    Format field in books: YES
[21-Nov-2025 22:17:08 UTC]    Description field in categories: YES
[21-Nov-2025 22:17:08 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:17:08 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:17:08 UTC]    Is_active field in books: YES
[21-Nov-2025 22:17:08 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:17:08 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:17:08 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:17:08 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:17:08 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:17:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:17:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:17:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:17:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:17:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:17:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:17:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:17:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:17:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:17:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:17:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:17:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:17:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:17:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:17:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:17:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:17:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:17:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:17:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:17:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:17:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:17:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:17:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:17:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:17:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:17:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:17:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:17:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:17:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:17:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:17:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:17:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:17:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:17:58 UTC] 📊 Database Info:
[21-Nov-2025 22:17:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:17:58 UTC]    Books columns count: 44
[21-Nov-2025 22:17:58 UTC]    Categories columns count: 7
[21-Nov-2025 22:17:58 UTC]    Language field in books: YES
[21-Nov-2025 22:17:58 UTC]    Format field in books: YES
[21-Nov-2025 22:17:58 UTC]    Description field in categories: YES
[21-Nov-2025 22:17:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:17:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:17:58 UTC]    Is_active field in books: YES
[21-Nov-2025 22:17:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:17:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:17:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:17:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:17:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:17:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:17:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:18:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:18:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:18:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:18:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:18:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:18:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:18:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:18:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:18:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:18:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:18:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:18:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:18:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:18:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:18:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:18:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:18:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:18:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:18:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:18:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:18:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:18:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:18:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:18:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:18:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:18:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:18:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:18:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:18:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:18:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:18:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:18:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:18:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:18:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:18:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:18:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:18:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:18:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:18:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:18:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:18:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:18:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:18:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:18:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:18:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:18:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:18:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:18:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:18:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:18:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:18:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:18:05 UTC] 📊 Database Info:
[21-Nov-2025 22:18:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:18:05 UTC]    Books columns count: 44
[21-Nov-2025 22:18:05 UTC]    Categories columns count: 7
[21-Nov-2025 22:18:05 UTC]    Language field in books: YES
[21-Nov-2025 22:18:05 UTC]    Format field in books: YES
[21-Nov-2025 22:18:05 UTC]    Description field in categories: YES
[21-Nov-2025 22:18:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:18:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:18:05 UTC]    Is_active field in books: YES
[21-Nov-2025 22:18:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:18:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:18:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:18:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:18:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:18:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:18:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:18:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:18:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:18:05 UTC] 📊 Database Info:
[21-Nov-2025 22:18:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:18:05 UTC]    Books columns count: 44
[21-Nov-2025 22:18:05 UTC]    Categories columns count: 7
[21-Nov-2025 22:18:05 UTC]    Language field in books: YES
[21-Nov-2025 22:18:05 UTC]    Format field in books: YES
[21-Nov-2025 22:18:05 UTC]    Description field in categories: YES
[21-Nov-2025 22:18:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:18:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:18:05 UTC]    Is_active field in books: YES
[21-Nov-2025 22:18:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:18:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:18:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:18:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:18:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:18:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:18:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:18:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:18:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:18:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:18:05 UTC] 📊 Database Info:
[21-Nov-2025 22:18:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:18:05 UTC]    Books columns count: 44
[21-Nov-2025 22:18:05 UTC]    Categories columns count: 7
[21-Nov-2025 22:18:05 UTC]    Language field in books: YES
[21-Nov-2025 22:18:05 UTC]    Format field in books: YES
[21-Nov-2025 22:18:05 UTC]    Description field in categories: YES
[21-Nov-2025 22:18:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:18:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:18:05 UTC]    Is_active field in books: YES
[21-Nov-2025 22:18:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:18:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:18:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:18:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:18:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:18:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:18:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:18:05 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:18:05 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:18:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:18:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:18:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:18:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:18:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:18:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:18:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:18:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:18:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:18:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:18:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:18:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:18:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:18:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:18:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:18:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:18:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:18:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:18:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:18:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:18:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:18:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:18:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:18:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:18:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:18:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:18:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:18:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:18:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:18:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:18:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:18:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:18:07 UTC] 📊 Database Info:
[21-Nov-2025 22:18:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:18:07 UTC]    Books columns count: 44
[21-Nov-2025 22:18:07 UTC]    Categories columns count: 7
[21-Nov-2025 22:18:07 UTC]    Language field in books: YES
[21-Nov-2025 22:18:07 UTC]    Format field in books: YES
[21-Nov-2025 22:18:07 UTC]    Description field in categories: YES
[21-Nov-2025 22:18:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:18:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:18:07 UTC]    Is_active field in books: YES
[21-Nov-2025 22:18:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:18:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:18:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:18:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:18:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:18:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:18:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:18:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:18:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:18:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:18:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:18:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:18:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:18:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:18:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:18:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:18:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:18:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:18:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:18:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:18:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:18:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:18:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:18:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:18:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:18:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:18:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:18:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:18:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:18:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:18:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:18:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:18:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:18:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:18:09 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:18:09 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:18:09 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:18:09 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:18:09 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:18:09 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:18:09 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:18:09 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:18:09 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:18:09 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:18:09 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:18:09 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:18:09 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:18:09 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:18:09 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:18:09 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:18:09 UTC] 📊 Database Info:
[21-Nov-2025 22:18:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:18:09 UTC]    Books columns count: 44
[21-Nov-2025 22:18:09 UTC]    Categories columns count: 7
[21-Nov-2025 22:18:09 UTC]    Language field in books: YES
[21-Nov-2025 22:18:09 UTC]    Format field in books: YES
[21-Nov-2025 22:18:09 UTC]    Description field in categories: YES
[21-Nov-2025 22:18:09 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:18:09 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:18:09 UTC]    Is_active field in books: YES
[21-Nov-2025 22:18:09 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:18:09 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:18:09 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:18:09 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:18:09 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:18:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:18:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:18:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:18:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:18:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:18:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:18:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:18:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:18:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:18:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:18:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:18:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:18:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:18:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:18:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:18:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:18:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:18:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:18:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:18:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:18:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:18:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:18:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:18:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:18:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:18:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:18:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:18:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:18:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:18:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:18:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:18:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:18:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:18:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:18:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:18:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:18:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:18:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:18:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:18:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:18:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:18:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:18:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:18:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:18:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:18:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:18:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:18:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:18:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:18:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:18:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:18:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:18:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:18:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:18:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:18:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:18:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:18:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:18:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:18:37 UTC] 📊 Database Info:
[21-Nov-2025 22:18:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:18:37 UTC]    Books columns count: 44
[21-Nov-2025 22:18:37 UTC]    Categories columns count: 7
[21-Nov-2025 22:18:37 UTC]    Language field in books: YES
[21-Nov-2025 22:18:37 UTC]    Format field in books: YES
[21-Nov-2025 22:18:37 UTC]    Description field in categories: YES
[21-Nov-2025 22:18:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:18:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:18:37 UTC]    Is_active field in books: YES
[21-Nov-2025 22:18:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:18:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:18:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:18:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:18:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:18:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:18:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 22:18:37 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 22:18:37 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 22:18:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:18:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:18:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:18:37 UTC] 📊 Database Info:
[21-Nov-2025 22:18:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:18:37 UTC]    Books columns count: 44
[21-Nov-2025 22:18:37 UTC]    Categories columns count: 7
[21-Nov-2025 22:18:37 UTC]    Language field in books: YES
[21-Nov-2025 22:18:37 UTC]    Format field in books: YES
[21-Nov-2025 22:18:37 UTC]    Description field in categories: YES
[21-Nov-2025 22:18:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:18:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:18:37 UTC]    Is_active field in books: YES
[21-Nov-2025 22:18:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:18:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:18:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:18:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:18:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:18:37 UTC] 📊 Database Info:
[21-Nov-2025 22:18:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:18:37 UTC]    Books columns count: 44
[21-Nov-2025 22:18:37 UTC]    Categories columns count: 7
[21-Nov-2025 22:18:37 UTC]    Language field in books: YES
[21-Nov-2025 22:18:37 UTC]    Format field in books: YES
[21-Nov-2025 22:18:37 UTC]    Description field in categories: YES
[21-Nov-2025 22:18:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:18:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:18:37 UTC]    Is_active field in books: YES
[21-Nov-2025 22:18:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:18:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:18:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:18:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:18:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:18:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:18:37 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:18:37 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:18:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:19:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:19:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:19:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:19:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:19:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:19:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:19:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:19:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:19:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:19:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:19:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:19:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:19:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:19:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:19:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:19:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:19:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:19:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:19:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:19:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:19:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:19:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:19:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:19:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:19:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:19:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:19:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:19:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:19:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:19:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:19:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:19:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:19:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:19:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:19:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:19:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:19:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:19:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:19:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:19:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:19:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:19:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:19:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:19:10 UTC] 📊 Database Info:
[21-Nov-2025 22:19:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:19:10 UTC]    Books columns count: 44
[21-Nov-2025 22:19:10 UTC]    Categories columns count: 7
[21-Nov-2025 22:19:10 UTC]    Language field in books: YES
[21-Nov-2025 22:19:10 UTC]    Format field in books: YES
[21-Nov-2025 22:19:10 UTC]    Description field in categories: YES
[21-Nov-2025 22:19:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:19:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:19:10 UTC]    Is_active field in books: YES
[21-Nov-2025 22:19:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:19:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:19:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:19:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:19:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:19:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:19:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:19:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:19:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:19:10 UTC] 📊 Database Info:
[21-Nov-2025 22:19:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:19:10 UTC]    Books columns count: 44
[21-Nov-2025 22:19:10 UTC]    Categories columns count: 7
[21-Nov-2025 22:19:10 UTC]    Language field in books: YES
[21-Nov-2025 22:19:10 UTC]    Format field in books: YES
[21-Nov-2025 22:19:10 UTC]    Description field in categories: YES
[21-Nov-2025 22:19:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:19:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:19:10 UTC]    Is_active field in books: YES
[21-Nov-2025 22:19:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:19:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:19:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:19:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:19:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:19:10 UTC] 📊 Database Info:
[21-Nov-2025 22:19:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:19:10 UTC]    Books columns count: 44
[21-Nov-2025 22:19:10 UTC]    Categories columns count: 7
[21-Nov-2025 22:19:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:19:10 UTC]    Language field in books: YES
[21-Nov-2025 22:19:10 UTC]    Format field in books: YES
[21-Nov-2025 22:19:10 UTC]    Description field in categories: YES
[21-Nov-2025 22:19:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:19:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:19:10 UTC]    Is_active field in books: YES
[21-Nov-2025 22:19:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:19:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:19:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:19:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:19:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:19:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:19:10 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:19:10 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:24:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:24:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:24:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:24:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:24:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:24:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:24:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:24:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:24:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:24:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:24:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:24:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:24:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:24:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:24:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:24:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:24:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:24:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:24:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:24:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:24:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:24:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:24:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:24:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:24:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:24:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:24:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:24:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:24:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:24:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:24:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:24:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:24:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:24:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:24:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:24:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:24:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:24:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:24:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:24:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:24:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:24:16 UTC] 📊 Database Info:
[21-Nov-2025 22:24:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:24:16 UTC]    Books columns count: 44
[21-Nov-2025 22:24:16 UTC]    Categories columns count: 7
[21-Nov-2025 22:24:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:24:16 UTC]    Language field in books: YES
[21-Nov-2025 22:24:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:24:16 UTC]    Format field in books: YES
[21-Nov-2025 22:24:16 UTC]    Description field in categories: YES
[21-Nov-2025 22:24:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:24:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:24:16 UTC]    Is_active field in books: YES
[21-Nov-2025 22:24:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:24:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:24:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:24:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:24:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:24:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:24:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:24:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:24:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:24:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:24:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:24:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:24:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:24:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:24:16 UTC] 📊 Database Info:
[21-Nov-2025 22:24:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:24:16 UTC]    Books columns count: 44
[21-Nov-2025 22:24:16 UTC]    Categories columns count: 7
[21-Nov-2025 22:24:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:24:16 UTC]    Language field in books: YES
[21-Nov-2025 22:24:16 UTC]    Format field in books: YES
[21-Nov-2025 22:24:16 UTC]    Description field in categories: YES
[21-Nov-2025 22:24:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:24:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:24:16 UTC]    Is_active field in books: YES
[21-Nov-2025 22:24:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:24:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:24:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:24:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:24:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:24:16 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:24:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:24:16 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:24:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:24:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:24:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:24:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:24:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:24:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:24:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:24:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:24:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:24:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:24:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:24:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:24:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:24:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:24:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:24:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:24:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:24:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:24:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:24:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:24:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:24:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:24:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:24:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:24:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:24:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:24:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:24:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:24:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:24:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:24:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:24:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:24:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:24:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:24:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:24:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:24:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:24:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:24:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:24:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:24:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:24:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:24:16 UTC] 📊 Database Info:
[21-Nov-2025 22:24:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:24:16 UTC]    Books columns count: 44
[21-Nov-2025 22:24:16 UTC]    Categories columns count: 7
[21-Nov-2025 22:24:16 UTC]    Language field in books: YES
[21-Nov-2025 22:24:16 UTC]    Format field in books: YES
[21-Nov-2025 22:24:16 UTC]    Description field in categories: YES
[21-Nov-2025 22:24:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:24:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:24:16 UTC]    Is_active field in books: YES
[21-Nov-2025 22:24:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:24:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:24:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:24:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:24:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:24:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:24:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:24:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:24:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:24:16 UTC] 📊 Database Info:
[21-Nov-2025 22:24:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:24:16 UTC]    Books columns count: 44
[21-Nov-2025 22:24:16 UTC]    Categories columns count: 7
[21-Nov-2025 22:24:16 UTC]    Language field in books: YES
[21-Nov-2025 22:24:16 UTC]    Format field in books: YES
[21-Nov-2025 22:24:16 UTC]    Description field in categories: YES
[21-Nov-2025 22:24:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:24:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:24:16 UTC]    Is_active field in books: YES
[21-Nov-2025 22:24:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:24:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:24:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:24:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:24:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:24:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:24:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:24:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:24:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:24:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:24:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:24:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:24:16 UTC] 📊 Database Info:
[21-Nov-2025 22:24:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:24:16 UTC]    Books columns count: 44
[21-Nov-2025 22:24:16 UTC]    Categories columns count: 7
[21-Nov-2025 22:24:16 UTC]    Language field in books: YES
[21-Nov-2025 22:24:16 UTC]    Format field in books: YES
[21-Nov-2025 22:24:16 UTC]    Description field in categories: YES
[21-Nov-2025 22:24:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:24:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:24:16 UTC]    Is_active field in books: YES
[21-Nov-2025 22:24:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:24:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:24:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:24:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:24:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:24:16 UTC] 📊 Database Info:
[21-Nov-2025 22:24:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:24:16 UTC]    Books columns count: 44
[21-Nov-2025 22:24:16 UTC]    Categories columns count: 7
[21-Nov-2025 22:24:16 UTC]    Language field in books: YES
[21-Nov-2025 22:24:16 UTC]    Format field in books: YES
[21-Nov-2025 22:24:16 UTC]    Description field in categories: YES
[21-Nov-2025 22:24:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:24:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:24:16 UTC]    Is_active field in books: YES
[21-Nov-2025 22:24:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:24:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:24:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:24:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:24:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:24:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:24:16 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:24:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:24:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:24:16 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:24:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:24:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:24:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:24:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:24:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:24:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:24:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:24:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:24:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:24:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:24:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:24:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:24:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:24:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:24:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:24:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:24:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:24:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:24:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:24:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:24:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:24:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:24:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:24:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:24:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:24:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:24:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:24:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:24:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:24:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:24:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:24:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:24:19 UTC] 📊 Database Info:
[21-Nov-2025 22:24:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:24:19 UTC]    Books columns count: 44
[21-Nov-2025 22:24:19 UTC]    Categories columns count: 7
[21-Nov-2025 22:24:19 UTC]    Language field in books: YES
[21-Nov-2025 22:24:19 UTC]    Format field in books: YES
[21-Nov-2025 22:24:19 UTC]    Description field in categories: YES
[21-Nov-2025 22:24:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:24:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:24:19 UTC]    Is_active field in books: YES
[21-Nov-2025 22:24:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:24:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:24:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:24:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:24:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:24:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:24:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:24:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:24:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:24:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:24:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:24:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:24:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:24:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:24:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:24:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:24:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:24:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:24:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:24:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:24:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:24:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:24:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:24:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:24:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:24:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:24:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:24:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:24:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:24:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:24:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:24:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:24:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:24:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:24:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:24:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:24:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:24:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:24:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:24:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:24:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:24:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:24:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:24:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:24:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:24:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:24:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:24:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:24:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:24:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:24:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:24:24 UTC] 📊 Database Info:
[21-Nov-2025 22:24:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:24:24 UTC]    Books columns count: 44
[21-Nov-2025 22:24:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:24:24 UTC]    Language field in books: YES
[21-Nov-2025 22:24:24 UTC]    Format field in books: YES
[21-Nov-2025 22:24:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:24:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:24:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:24:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:24:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:24:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:24:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:24:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:24:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:24:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:24:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:24:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:24:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:24:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:24:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:24:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:24:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:24:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:24:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:24:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:24:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:24:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:25:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:25:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:25:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:25:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:25:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:25:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:25:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:25:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:25:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:25:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:25:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:25:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:25:10 UTC] 📊 Database Info:
[21-Nov-2025 22:25:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:25:10 UTC]    Books columns count: 44
[21-Nov-2025 22:25:10 UTC]    Categories columns count: 7
[21-Nov-2025 22:25:10 UTC]    Language field in books: YES
[21-Nov-2025 22:25:10 UTC]    Format field in books: YES
[21-Nov-2025 22:25:10 UTC]    Description field in categories: YES
[21-Nov-2025 22:25:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:25:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:25:10 UTC]    Is_active field in books: YES
[21-Nov-2025 22:25:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:25:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:25:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:25:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:25:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:25:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:25:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:25:10 UTC] 📊 Database Info:
[21-Nov-2025 22:25:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:25:10 UTC]    Books columns count: 44
[21-Nov-2025 22:25:10 UTC]    Categories columns count: 7
[21-Nov-2025 22:25:10 UTC]    Language field in books: YES
[21-Nov-2025 22:25:10 UTC]    Format field in books: YES
[21-Nov-2025 22:25:10 UTC]    Description field in categories: YES
[21-Nov-2025 22:25:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:25:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:25:10 UTC]    Is_active field in books: YES
[21-Nov-2025 22:25:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:25:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:25:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:25:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:25:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:25:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:25:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 22:25:10 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 22:25:10 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 22:25:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:25:10 UTC] 📊 Database Info:
[21-Nov-2025 22:25:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:25:10 UTC]    Books columns count: 44
[21-Nov-2025 22:25:10 UTC]    Categories columns count: 7
[21-Nov-2025 22:25:10 UTC]    Language field in books: YES
[21-Nov-2025 22:25:10 UTC]    Format field in books: YES
[21-Nov-2025 22:25:10 UTC]    Description field in categories: YES
[21-Nov-2025 22:25:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:25:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:25:10 UTC]    Is_active field in books: YES
[21-Nov-2025 22:25:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:25:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:25:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:25:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:25:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:25:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:25:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:25:10 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 22:25:10 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 22:25:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:25:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:25:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:47 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:25:47 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:25:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:47 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:25:47 UTC] 📊 Database Info:
[21-Nov-2025 22:25:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:25:47 UTC]    Books columns count: 44
[21-Nov-2025 22:25:47 UTC]    Categories columns count: 7
[21-Nov-2025 22:25:47 UTC]    Language field in books: YES
[21-Nov-2025 22:25:47 UTC]    Format field in books: YES
[21-Nov-2025 22:25:47 UTC]    Description field in categories: YES
[21-Nov-2025 22:25:47 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:25:47 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:25:47 UTC]    Is_active field in books: YES
[21-Nov-2025 22:25:47 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:25:47 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:25:47 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:25:47 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:25:47 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:25:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:25:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:25:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:25:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:47 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:25:47 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:25:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:47 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:25:47 UTC] 📊 Database Info:
[21-Nov-2025 22:25:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:25:47 UTC]    Books columns count: 44
[21-Nov-2025 22:25:47 UTC]    Categories columns count: 7
[21-Nov-2025 22:25:47 UTC]    Language field in books: YES
[21-Nov-2025 22:25:47 UTC]    Format field in books: YES
[21-Nov-2025 22:25:47 UTC]    Description field in categories: YES
[21-Nov-2025 22:25:47 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:25:47 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:25:47 UTC]    Is_active field in books: YES
[21-Nov-2025 22:25:47 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:25:47 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:25:47 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:25:47 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:25:47 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:25:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:25:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:25:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:25:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:25:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:25:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:25:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:25:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:25:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:25:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:25:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:25:53 UTC] 📊 Database Info:
[21-Nov-2025 22:25:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:25:53 UTC]    Books columns count: 44
[21-Nov-2025 22:25:53 UTC]    Categories columns count: 7
[21-Nov-2025 22:25:53 UTC]    Language field in books: YES
[21-Nov-2025 22:25:53 UTC]    Format field in books: YES
[21-Nov-2025 22:25:53 UTC]    Description field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Is_active field in books: YES
[21-Nov-2025 22:25:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:25:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:25:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:25:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:25:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:25:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:25:53 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:25:53 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:25:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:25:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:25:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:25:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:25:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:25:53 UTC] 📊 Database Info:
[21-Nov-2025 22:25:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:25:53 UTC]    Books columns count: 44
[21-Nov-2025 22:25:53 UTC]    Categories columns count: 7
[21-Nov-2025 22:25:53 UTC]    Language field in books: YES
[21-Nov-2025 22:25:53 UTC]    Format field in books: YES
[21-Nov-2025 22:25:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:53 UTC]    Description field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Is_active field in books: YES
[21-Nov-2025 22:25:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:25:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:25:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:25:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:25:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:25:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:25:53 UTC] 📊 Database Info:
[21-Nov-2025 22:25:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:25:53 UTC]    Books columns count: 44
[21-Nov-2025 22:25:53 UTC]    Categories columns count: 7
[21-Nov-2025 22:25:53 UTC]    Language field in books: YES
[21-Nov-2025 22:25:53 UTC]    Format field in books: YES
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:53 UTC]    Description field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Is_active field in books: YES
[21-Nov-2025 22:25:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:25:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:25:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:25:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:25:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:25:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:25:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:25:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:25:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:25:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:25:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:25:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:25:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:25:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:25:53 UTC] 📊 Database Info:
[21-Nov-2025 22:25:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:25:53 UTC]    Books columns count: 44
[21-Nov-2025 22:25:53 UTC]    Categories columns count: 7
[21-Nov-2025 22:25:53 UTC]    Language field in books: YES
[21-Nov-2025 22:25:53 UTC]    Format field in books: YES
[21-Nov-2025 22:25:53 UTC]    Description field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Is_active field in books: YES
[21-Nov-2025 22:25:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:25:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:25:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:25:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:25:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:25:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:25:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:25:53 UTC] 📊 Database Info:
[21-Nov-2025 22:25:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:25:53 UTC]    Books columns count: 44
[21-Nov-2025 22:25:53 UTC]    Categories columns count: 7
[21-Nov-2025 22:25:53 UTC]    Language field in books: YES
[21-Nov-2025 22:25:53 UTC]    Format field in books: YES
[21-Nov-2025 22:25:53 UTC]    Description field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Is_active field in books: YES
[21-Nov-2025 22:25:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:25:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:25:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:25:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:25:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:25:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:25:53 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:25:53 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:25:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:25:53 UTC] 📊 Database Info:
[21-Nov-2025 22:25:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:25:53 UTC]    Books columns count: 44
[21-Nov-2025 22:25:53 UTC]    Categories columns count: 7
[21-Nov-2025 22:25:53 UTC]    Language field in books: YES
[21-Nov-2025 22:25:53 UTC]    Format field in books: YES
[21-Nov-2025 22:25:53 UTC]    Description field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Is_active field in books: YES
[21-Nov-2025 22:25:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:25:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:25:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:25:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:25:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:25:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:25:53 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:25:53 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:25:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:25:53 UTC] 📊 Database Info:
[21-Nov-2025 22:25:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:25:53 UTC]    Books columns count: 44
[21-Nov-2025 22:25:53 UTC]    Categories columns count: 7
[21-Nov-2025 22:25:53 UTC]    Language field in books: YES
[21-Nov-2025 22:25:53 UTC]    Format field in books: YES
[21-Nov-2025 22:25:53 UTC]    Description field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Is_active field in books: YES
[21-Nov-2025 22:25:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:25:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:25:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:25:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:25:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:25:53 UTC] 📊 Database Info:
[21-Nov-2025 22:25:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:25:53 UTC]    Books columns count: 44
[21-Nov-2025 22:25:53 UTC]    Categories columns count: 7
[21-Nov-2025 22:25:53 UTC]    Language field in books: YES
[21-Nov-2025 22:25:53 UTC]    Format field in books: YES
[21-Nov-2025 22:25:53 UTC]    Description field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:25:53 UTC]    Is_active field in books: YES
[21-Nov-2025 22:25:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:25:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:25:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:25:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:25:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:25:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:25:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:25:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:25:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:25:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:25:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:25:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:25:54 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:25:54 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:25:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:25:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:25:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:25:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:25:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:25:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:25:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:25:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:25:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:25:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:25:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:25:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:25:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:25:54 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:25:54 UTC] 📊 Database Info:
[21-Nov-2025 22:25:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:25:54 UTC]    Books columns count: 44
[21-Nov-2025 22:25:54 UTC]    Categories columns count: 7
[21-Nov-2025 22:25:54 UTC]    Language field in books: YES
[21-Nov-2025 22:25:54 UTC]    Format field in books: YES
[21-Nov-2025 22:25:54 UTC]    Description field in categories: YES
[21-Nov-2025 22:25:54 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:25:54 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:25:54 UTC]    Is_active field in books: YES
[21-Nov-2025 22:25:54 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:25:54 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:25:54 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:25:54 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:25:54 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:25:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:25:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:26:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:26:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:26:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:26:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:26:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:26:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:26:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:26:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:26:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:26:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:26:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:26:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:26:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:01 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:26:01 UTC] 📊 Database Info:
[21-Nov-2025 22:26:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:26:01 UTC]    Books columns count: 44
[21-Nov-2025 22:26:01 UTC]    Categories columns count: 7
[21-Nov-2025 22:26:01 UTC]    Language field in books: YES
[21-Nov-2025 22:26:01 UTC]    Format field in books: YES
[21-Nov-2025 22:26:01 UTC]    Description field in categories: YES
[21-Nov-2025 22:26:01 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:26:01 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:26:01 UTC]    Is_active field in books: YES
[21-Nov-2025 22:26:01 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:26:01 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:26:01 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:26:01 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:26:01 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:26:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:26:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:01 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:26:01 UTC] 📊 Database Info:
[21-Nov-2025 22:26:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:26:01 UTC]    Books columns count: 44
[21-Nov-2025 22:26:01 UTC]    Categories columns count: 7
[21-Nov-2025 22:26:01 UTC]    Language field in books: YES
[21-Nov-2025 22:26:01 UTC]    Format field in books: YES
[21-Nov-2025 22:26:01 UTC]    Description field in categories: YES
[21-Nov-2025 22:26:01 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:26:01 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:26:01 UTC]    Is_active field in books: YES
[21-Nov-2025 22:26:01 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:26:01 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:26:01 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:26:01 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:26:01 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:26:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:26:01 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:26:01 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:26:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:01 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:26:01 UTC] 📊 Database Info:
[21-Nov-2025 22:26:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:26:01 UTC]    Books columns count: 44
[21-Nov-2025 22:26:01 UTC]    Categories columns count: 7
[21-Nov-2025 22:26:01 UTC]    Language field in books: YES
[21-Nov-2025 22:26:01 UTC]    Format field in books: YES
[21-Nov-2025 22:26:01 UTC]    Description field in categories: YES
[21-Nov-2025 22:26:01 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:26:01 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:26:01 UTC]    Is_active field in books: YES
[21-Nov-2025 22:26:01 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:26:01 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:26:01 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:26:01 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:26:01 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:26:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:26:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:26:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:26:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:26:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:02 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:26:02 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:26:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:02 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:26:02 UTC] 📊 Database Info:
[21-Nov-2025 22:26:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:26:02 UTC]    Books columns count: 44
[21-Nov-2025 22:26:02 UTC]    Categories columns count: 7
[21-Nov-2025 22:26:02 UTC]    Language field in books: YES
[21-Nov-2025 22:26:02 UTC]    Format field in books: YES
[21-Nov-2025 22:26:02 UTC]    Description field in categories: YES
[21-Nov-2025 22:26:02 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:26:02 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:26:02 UTC]    Is_active field in books: YES
[21-Nov-2025 22:26:02 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:26:02 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:26:02 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:26:02 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:26:02 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:26:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:26:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:26:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:26:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:26:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:26:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:26:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:26:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:26:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:26:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:26:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:26:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:26:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:26:12 UTC] 📊 Database Info:
[21-Nov-2025 22:26:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:26:12 UTC]    Books columns count: 44
[21-Nov-2025 22:26:12 UTC]    Categories columns count: 7
[21-Nov-2025 22:26:12 UTC]    Language field in books: YES
[21-Nov-2025 22:26:12 UTC]    Format field in books: YES
[21-Nov-2025 22:26:12 UTC]    Description field in categories: YES
[21-Nov-2025 22:26:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:26:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:26:12 UTC]    Is_active field in books: YES
[21-Nov-2025 22:26:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:26:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:26:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:26:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:26:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:26:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:26:12 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:26:12 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:26:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:26:12 UTC] 📊 Database Info:
[21-Nov-2025 22:26:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:26:12 UTC]    Books columns count: 44
[21-Nov-2025 22:26:12 UTC]    Categories columns count: 7
[21-Nov-2025 22:26:12 UTC]    Language field in books: YES
[21-Nov-2025 22:26:12 UTC]    Format field in books: YES
[21-Nov-2025 22:26:12 UTC]    Description field in categories: YES
[21-Nov-2025 22:26:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:26:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:26:12 UTC]    Is_active field in books: YES
[21-Nov-2025 22:26:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:26:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:26:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:26:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:26:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:26:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:26:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:26:12 UTC] 📊 Database Info:
[21-Nov-2025 22:26:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:26:12 UTC]    Books columns count: 44
[21-Nov-2025 22:26:12 UTC]    Categories columns count: 7
[21-Nov-2025 22:26:12 UTC]    Language field in books: YES
[21-Nov-2025 22:26:12 UTC]    Format field in books: YES
[21-Nov-2025 22:26:12 UTC]    Description field in categories: YES
[21-Nov-2025 22:26:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:26:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:26:12 UTC]    Is_active field in books: YES
[21-Nov-2025 22:26:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:26:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:26:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:26:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:26:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:26:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:26:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:26:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:26:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:26:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:26:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:26:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:26:13 UTC] 📊 Database Info:
[21-Nov-2025 22:26:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:26:13 UTC]    Books columns count: 44
[21-Nov-2025 22:26:13 UTC]    Categories columns count: 7
[21-Nov-2025 22:26:13 UTC]    Language field in books: YES
[21-Nov-2025 22:26:13 UTC]    Format field in books: YES
[21-Nov-2025 22:26:13 UTC]    Description field in categories: YES
[21-Nov-2025 22:26:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:26:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:26:13 UTC]    Is_active field in books: YES
[21-Nov-2025 22:26:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:26:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:26:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:26:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:26:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:26:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:26:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:26:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:26:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:26:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:26:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:26:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:26:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:26:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:26:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:26:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:26:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:26:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:26:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:26:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:26:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:26:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:26:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:26:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:26:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:26:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:26:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:26:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:26:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:26:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:26:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:26:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:26:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:26:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:26:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:26:26 UTC] 📊 Database Info:
[21-Nov-2025 22:26:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:26:26 UTC]    Books columns count: 44
[21-Nov-2025 22:26:26 UTC]    Categories columns count: 7
[21-Nov-2025 22:26:26 UTC]    Language field in books: YES
[21-Nov-2025 22:26:26 UTC]    Format field in books: YES
[21-Nov-2025 22:26:26 UTC]    Description field in categories: YES
[21-Nov-2025 22:26:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:26:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:26:26 UTC]    Is_active field in books: YES
[21-Nov-2025 22:26:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:26:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:26:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:26:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:26:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:26:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:26:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:26:26 UTC] 📊 Database Info:
[21-Nov-2025 22:26:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:26:26 UTC]    Books columns count: 44
[21-Nov-2025 22:26:26 UTC]    Categories columns count: 7
[21-Nov-2025 22:26:26 UTC]    Language field in books: YES
[21-Nov-2025 22:26:26 UTC]    Format field in books: YES
[21-Nov-2025 22:26:26 UTC]    Description field in categories: YES
[21-Nov-2025 22:26:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:26:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:26:26 UTC]    Is_active field in books: YES
[21-Nov-2025 22:26:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:26:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:26:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:26:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:26:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:26:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:26:26 UTC] 📊 Database Info:
[21-Nov-2025 22:26:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:26:26 UTC]    Books columns count: 44
[21-Nov-2025 22:26:26 UTC]    Categories columns count: 7
[21-Nov-2025 22:26:26 UTC]    Language field in books: YES
[21-Nov-2025 22:26:26 UTC]    Format field in books: YES
[21-Nov-2025 22:26:26 UTC]    Description field in categories: YES
[21-Nov-2025 22:26:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:26:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:26:26 UTC]    Is_active field in books: YES
[21-Nov-2025 22:26:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:26:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:26:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:26:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:26:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:26:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:26:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:26:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:26:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] 📊 Database Info:
[21-Nov-2025 22:26:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:26:26 UTC]    Books columns count: 44
[21-Nov-2025 22:26:26 UTC]    Categories columns count: 7
[21-Nov-2025 22:26:26 UTC]    Language field in books: YES
[21-Nov-2025 22:26:26 UTC]    Format field in books: YES
[21-Nov-2025 22:26:26 UTC]    Description field in categories: YES
[21-Nov-2025 22:26:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:26:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:26:26 UTC]    Is_active field in books: YES
[21-Nov-2025 22:26:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:26:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:26:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:26:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:26:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:26:26 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:26:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:26 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:26:26 UTC] 📊 Database Info:
[21-Nov-2025 22:26:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:26:26 UTC]    Books columns count: 44
[21-Nov-2025 22:26:26 UTC]    Categories columns count: 7
[21-Nov-2025 22:26:26 UTC]    Language field in books: YES
[21-Nov-2025 22:26:26 UTC]    Format field in books: YES
[21-Nov-2025 22:26:26 UTC]    Description field in categories: YES
[21-Nov-2025 22:26:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:26:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:26:26 UTC]    Is_active field in books: YES
[21-Nov-2025 22:26:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:26:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:26:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:26:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:26:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:26:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:26:26 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:26:26 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:26:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:26:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:26:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:26:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:26:26 UTC] 📊 Database Info:
[21-Nov-2025 22:26:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:26:26 UTC]    Books columns count: 44
[21-Nov-2025 22:26:26 UTC]    Categories columns count: 7
[21-Nov-2025 22:26:26 UTC]    Language field in books: YES
[21-Nov-2025 22:26:26 UTC]    Format field in books: YES
[21-Nov-2025 22:26:26 UTC]    Description field in categories: YES
[21-Nov-2025 22:26:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:26:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:26:26 UTC]    Is_active field in books: YES
[21-Nov-2025 22:26:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:26:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:26:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:26:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:26:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:26:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:26:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:26:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:26:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:26:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:26:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:26:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:26:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:26:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:26:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:26:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:26:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:26:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:26:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:26:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:26:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:26:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:26:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:26:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:26:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:26:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:26:27 UTC] 📊 Database Info:
[21-Nov-2025 22:26:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:26:27 UTC]    Books columns count: 44
[21-Nov-2025 22:26:27 UTC]    Categories columns count: 7
[21-Nov-2025 22:26:27 UTC]    Language field in books: YES
[21-Nov-2025 22:26:27 UTC]    Format field in books: YES
[21-Nov-2025 22:26:27 UTC]    Description field in categories: YES
[21-Nov-2025 22:26:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:26:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:26:27 UTC]    Is_active field in books: YES
[21-Nov-2025 22:26:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:26:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:26:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:26:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:26:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:26:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:26:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:26:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:26:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:26:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:26:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:26:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:26:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:26:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:26:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:26:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:26:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:26:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:27:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:27:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:27:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:08 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:27:08 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:27:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:08 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:27:08 UTC] 📊 Database Info:
[21-Nov-2025 22:27:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:27:08 UTC]    Books columns count: 44
[21-Nov-2025 22:27:08 UTC]    Categories columns count: 7
[21-Nov-2025 22:27:08 UTC]    Language field in books: YES
[21-Nov-2025 22:27:08 UTC]    Format field in books: YES
[21-Nov-2025 22:27:08 UTC]    Description field in categories: YES
[21-Nov-2025 22:27:08 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:27:08 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:27:08 UTC]    Is_active field in books: YES
[21-Nov-2025 22:27:08 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:27:08 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:27:08 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:27:08 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:27:08 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:27:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:27:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:27:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:27:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:08 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:27:08 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:27:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:08 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:27:08 UTC] 📊 Database Info:
[21-Nov-2025 22:27:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:27:08 UTC]    Books columns count: 44
[21-Nov-2025 22:27:08 UTC]    Categories columns count: 7
[21-Nov-2025 22:27:08 UTC]    Language field in books: YES
[21-Nov-2025 22:27:08 UTC]    Format field in books: YES
[21-Nov-2025 22:27:08 UTC]    Description field in categories: YES
[21-Nov-2025 22:27:08 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:27:08 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:27:08 UTC]    Is_active field in books: YES
[21-Nov-2025 22:27:08 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:27:08 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:27:08 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:27:08 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:27:08 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:27:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:27:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:27:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:27:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:27:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:27:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:27:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:27:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:27:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:27:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:27:24 UTC] 📊 Database Info:
[21-Nov-2025 22:27:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:27:24 UTC]    Books columns count: 44
[21-Nov-2025 22:27:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:27:24 UTC]    Language field in books: YES
[21-Nov-2025 22:27:24 UTC]    Format field in books: YES
[21-Nov-2025 22:27:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:27:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:27:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:27:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:27:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:27:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:27:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:27:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:27:24 UTC] 📊 Database Info:
[21-Nov-2025 22:27:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:27:24 UTC]    Books columns count: 44
[21-Nov-2025 22:27:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:27:24 UTC]    Language field in books: YES
[21-Nov-2025 22:27:24 UTC]    Format field in books: YES
[21-Nov-2025 22:27:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:27:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:27:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:27:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:27:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:27:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:27:24 UTC] 📊 Database Info:
[21-Nov-2025 22:27:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:27:24 UTC]    Books columns count: 44
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:24 UTC]    Language field in books: YES
[21-Nov-2025 22:27:24 UTC]    Format field in books: YES
[21-Nov-2025 22:27:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:27:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:27:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:27:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:27:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:27:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:27:24 UTC] 📊 Database Info:
[21-Nov-2025 22:27:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:27:24 UTC]    Books columns count: 44
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:27:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:27:24 UTC]    Language field in books: YES
[21-Nov-2025 22:27:24 UTC]    Format field in books: YES
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:27:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:27:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:27:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:27:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:27:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:27:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:27:24 UTC] 📊 Database Info:
[21-Nov-2025 22:27:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:27:24 UTC]    Books columns count: 44
[21-Nov-2025 22:27:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:27:24 UTC]    Language field in books: YES
[21-Nov-2025 22:27:24 UTC]    Format field in books: YES
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:27:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:27:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:27:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:27:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:27:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:27:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:27:24 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:27:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:27:24 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:27:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:27:24 UTC] 📊 Database Info:
[21-Nov-2025 22:27:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:27:24 UTC]    Books columns count: 44
[21-Nov-2025 22:27:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:27:24 UTC]    Language field in books: YES
[21-Nov-2025 22:27:24 UTC]    Format field in books: YES
[21-Nov-2025 22:27:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:27:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:27:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:27:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:27:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:27:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:27:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:27:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:27:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:27:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:27:24 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:27:24 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:27:24 UTC] 📊 Database Info:
[21-Nov-2025 22:27:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:27:24 UTC]    Books columns count: 44
[21-Nov-2025 22:27:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:27:24 UTC]    Language field in books: YES
[21-Nov-2025 22:27:24 UTC]    Format field in books: YES
[21-Nov-2025 22:27:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:27:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:27:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:27:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:27:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:27:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:27:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:27:24 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:27:24 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:27:24 UTC] 📊 Database Info:
[21-Nov-2025 22:27:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:27:24 UTC]    Books columns count: 44
[21-Nov-2025 22:27:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:27:24 UTC]    Language field in books: YES
[21-Nov-2025 22:27:24 UTC]    Format field in books: YES
[21-Nov-2025 22:27:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:27:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:27:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:27:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:27:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:27:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:27:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:27:24 UTC] 📊 Database Info:
[21-Nov-2025 22:27:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:27:24 UTC]    Books columns count: 44
[21-Nov-2025 22:27:24 UTC]    Categories columns count: 7
[21-Nov-2025 22:27:24 UTC]    Language field in books: YES
[21-Nov-2025 22:27:24 UTC]    Format field in books: YES
[21-Nov-2025 22:27:24 UTC]    Description field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:27:24 UTC]    Is_active field in books: YES
[21-Nov-2025 22:27:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:27:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:27:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:27:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:27:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:27:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:27:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:27:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:27:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:27:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:27:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:27:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:27:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:27:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:27:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:27:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:27:26 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:27:26 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:27:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:26 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:26 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:26 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:26 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:26 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:26 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:27:26 UTC] 📊 Database Info:
[21-Nov-2025 22:27:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:27:26 UTC]    Books columns count: 44
[21-Nov-2025 22:27:26 UTC]    Categories columns count: 7
[21-Nov-2025 22:27:26 UTC]    Language field in books: YES
[21-Nov-2025 22:27:26 UTC]    Format field in books: YES
[21-Nov-2025 22:27:26 UTC]    Description field in categories: YES
[21-Nov-2025 22:27:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:27:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:27:26 UTC]    Is_active field in books: YES
[21-Nov-2025 22:27:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:27:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:27:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:27:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:27:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:27:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:27:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:27:26 UTC] 📊 Database Info:
[21-Nov-2025 22:27:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:27:26 UTC]    Books columns count: 44
[21-Nov-2025 22:27:26 UTC]    Categories columns count: 7
[21-Nov-2025 22:27:26 UTC]    Language field in books: YES
[21-Nov-2025 22:27:26 UTC]    Format field in books: YES
[21-Nov-2025 22:27:26 UTC]    Description field in categories: YES
[21-Nov-2025 22:27:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:27:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:27:26 UTC]    Is_active field in books: YES
[21-Nov-2025 22:27:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:27:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:27:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:27:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:27:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:27:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:27:26 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:26 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:26 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:26 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:27:26 UTC] 📊 Database Info:
[21-Nov-2025 22:27:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:27:26 UTC]    Books columns count: 44
[21-Nov-2025 22:27:26 UTC]    Categories columns count: 7
[21-Nov-2025 22:27:26 UTC]    Language field in books: YES
[21-Nov-2025 22:27:26 UTC]    Format field in books: YES
[21-Nov-2025 22:27:26 UTC]    Description field in categories: YES
[21-Nov-2025 22:27:26 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:27:26 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:27:26 UTC]    Is_active field in books: YES
[21-Nov-2025 22:27:26 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:27:26 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:27:26 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:27:26 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:27:26 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:27:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:27:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:27:26 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:27:26 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:27:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:27:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:27:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:27:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:27:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:27:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:27:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:27:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:27:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:27:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:27:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:27:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:27:28 UTC] 📊 Database Info:
[21-Nov-2025 22:27:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:27:28 UTC]    Books columns count: 44
[21-Nov-2025 22:27:28 UTC]    Categories columns count: 7
[21-Nov-2025 22:27:28 UTC]    Language field in books: YES
[21-Nov-2025 22:27:28 UTC]    Format field in books: YES
[21-Nov-2025 22:27:28 UTC]    Description field in categories: YES
[21-Nov-2025 22:27:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:27:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:27:28 UTC]    Is_active field in books: YES
[21-Nov-2025 22:27:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:27:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:27:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:27:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:27:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:27:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:27:28 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:27:28 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:27:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:27:28 UTC] 📊 Database Info:
[21-Nov-2025 22:27:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:27:28 UTC]    Books columns count: 44
[21-Nov-2025 22:27:28 UTC]    Categories columns count: 7
[21-Nov-2025 22:27:28 UTC]    Language field in books: YES
[21-Nov-2025 22:27:28 UTC]    Format field in books: YES
[21-Nov-2025 22:27:28 UTC]    Description field in categories: YES
[21-Nov-2025 22:27:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:27:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:27:28 UTC]    Is_active field in books: YES
[21-Nov-2025 22:27:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:27:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:27:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:27:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:27:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:27:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:27:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:27:28 UTC] 📊 Database Info:
[21-Nov-2025 22:27:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:27:28 UTC]    Books columns count: 44
[21-Nov-2025 22:27:28 UTC]    Categories columns count: 7
[21-Nov-2025 22:27:28 UTC]    Language field in books: YES
[21-Nov-2025 22:27:28 UTC]    Format field in books: YES
[21-Nov-2025 22:27:28 UTC]    Description field in categories: YES
[21-Nov-2025 22:27:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:27:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:27:28 UTC]    Is_active field in books: YES
[21-Nov-2025 22:27:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:27:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:27:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:27:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:27:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:27:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:27:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:27:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:27:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:27:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:27:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:27:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:27:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:27:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:27:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:27:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:27:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:27:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:27:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:27:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:27:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:27:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:27:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:27:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:27:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:27:29 UTC] 📊 Database Info:
[21-Nov-2025 22:27:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:27:29 UTC]    Books columns count: 44
[21-Nov-2025 22:27:29 UTC]    Categories columns count: 7
[21-Nov-2025 22:27:29 UTC]    Language field in books: YES
[21-Nov-2025 22:27:29 UTC]    Format field in books: YES
[21-Nov-2025 22:27:29 UTC]    Description field in categories: YES
[21-Nov-2025 22:27:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:27:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:27:29 UTC]    Is_active field in books: YES
[21-Nov-2025 22:27:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:27:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:27:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:27:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:27:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:27:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:27:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:27:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:27:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:27:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:27:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:27:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:27:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:27:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:27:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:27:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:27:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:27:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:33:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:33:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:33:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:17 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:33:17 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:33:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:17 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:33:17 UTC] 📊 Database Info:
[21-Nov-2025 22:33:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:33:17 UTC]    Books columns count: 44
[21-Nov-2025 22:33:17 UTC]    Categories columns count: 7
[21-Nov-2025 22:33:17 UTC]    Language field in books: YES
[21-Nov-2025 22:33:17 UTC]    Format field in books: YES
[21-Nov-2025 22:33:17 UTC]    Description field in categories: YES
[21-Nov-2025 22:33:17 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:33:17 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:33:17 UTC]    Is_active field in books: YES
[21-Nov-2025 22:33:17 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:33:17 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:33:17 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:33:17 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:33:17 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:33:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:33:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:33:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:33:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:17 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:33:17 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:33:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:17 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:33:17 UTC] 📊 Database Info:
[21-Nov-2025 22:33:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:33:17 UTC]    Books columns count: 44
[21-Nov-2025 22:33:17 UTC]    Categories columns count: 7
[21-Nov-2025 22:33:17 UTC]    Language field in books: YES
[21-Nov-2025 22:33:17 UTC]    Format field in books: YES
[21-Nov-2025 22:33:17 UTC]    Description field in categories: YES
[21-Nov-2025 22:33:17 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:33:17 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:33:17 UTC]    Is_active field in books: YES
[21-Nov-2025 22:33:17 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:33:17 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:33:17 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:33:17 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:33:17 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:33:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:33:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:33:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:33:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:33:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:33:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:33:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:33:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:33:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:33:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:33:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:33:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:33:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:33:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:33:44 UTC] 📊 Database Info:
[21-Nov-2025 22:33:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:33:44 UTC]    Books columns count: 44
[21-Nov-2025 22:33:44 UTC]    Categories columns count: 7
[21-Nov-2025 22:33:44 UTC]    Language field in books: YES
[21-Nov-2025 22:33:44 UTC]    Format field in books: YES
[21-Nov-2025 22:33:44 UTC]    Description field in categories: YES
[21-Nov-2025 22:33:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:33:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:33:44 UTC]    Is_active field in books: YES
[21-Nov-2025 22:33:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:33:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:33:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:33:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:33:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:33:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:33:44 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:33:44 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:33:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:33:44 UTC] 📊 Database Info:
[21-Nov-2025 22:33:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:33:44 UTC]    Books columns count: 44
[21-Nov-2025 22:33:44 UTC]    Categories columns count: 7
[21-Nov-2025 22:33:44 UTC]    Language field in books: YES
[21-Nov-2025 22:33:44 UTC]    Format field in books: YES
[21-Nov-2025 22:33:44 UTC]    Description field in categories: YES
[21-Nov-2025 22:33:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:33:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:33:44 UTC]    Is_active field in books: YES
[21-Nov-2025 22:33:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:33:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:33:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:33:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:33:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:33:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:33:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:33:44 UTC] 📊 Database Info:
[21-Nov-2025 22:33:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:33:44 UTC]    Books columns count: 44
[21-Nov-2025 22:33:44 UTC]    Categories columns count: 7
[21-Nov-2025 22:33:44 UTC]    Language field in books: YES
[21-Nov-2025 22:33:44 UTC]    Format field in books: YES
[21-Nov-2025 22:33:44 UTC]    Description field in categories: YES
[21-Nov-2025 22:33:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:33:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:33:44 UTC]    Is_active field in books: YES
[21-Nov-2025 22:33:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:33:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:33:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:33:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:33:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:33:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:33:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:33:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:33:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:33:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:47 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:33:47 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:33:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:47 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:33:47 UTC] 📊 Database Info:
[21-Nov-2025 22:33:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:33:47 UTC]    Books columns count: 44
[21-Nov-2025 22:33:47 UTC]    Categories columns count: 7
[21-Nov-2025 22:33:47 UTC]    Language field in books: YES
[21-Nov-2025 22:33:47 UTC]    Format field in books: YES
[21-Nov-2025 22:33:47 UTC]    Description field in categories: YES
[21-Nov-2025 22:33:47 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:33:47 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:33:47 UTC]    Is_active field in books: YES
[21-Nov-2025 22:33:47 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:33:47 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:33:47 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:33:47 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:33:47 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:33:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:33:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:33:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:33:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:33:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:33:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:33:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:33:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:33:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:33:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:33:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:33:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:33:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:33:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:33:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:33:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:33:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:33:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:33:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:33:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:33:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:33:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:33:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:33:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:33:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:33:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:33:57 UTC] 📊 Database Info:
[21-Nov-2025 22:33:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:33:57 UTC]    Books columns count: 44
[21-Nov-2025 22:33:57 UTC]    Categories columns count: 7
[21-Nov-2025 22:33:57 UTC]    Language field in books: YES
[21-Nov-2025 22:33:57 UTC]    Format field in books: YES
[21-Nov-2025 22:33:57 UTC]    Description field in categories: YES
[21-Nov-2025 22:33:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:33:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:33:57 UTC]    Is_active field in books: YES
[21-Nov-2025 22:33:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:33:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:33:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:33:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:33:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:33:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:33:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:33:57 UTC] 📊 Database Info:
[21-Nov-2025 22:33:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:33:57 UTC]    Books columns count: 44
[21-Nov-2025 22:33:57 UTC]    Categories columns count: 7
[21-Nov-2025 22:33:57 UTC]    Language field in books: YES
[21-Nov-2025 22:33:57 UTC]    Format field in books: YES
[21-Nov-2025 22:33:57 UTC]    Description field in categories: YES
[21-Nov-2025 22:33:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:33:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:33:57 UTC]    Is_active field in books: YES
[21-Nov-2025 22:33:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:33:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:33:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:33:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:33:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:33:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:33:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:33:57 UTC] 📊 Database Info:
[21-Nov-2025 22:33:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:33:57 UTC]    Books columns count: 44
[21-Nov-2025 22:33:57 UTC]    Categories columns count: 7
[21-Nov-2025 22:33:57 UTC]    Language field in books: YES
[21-Nov-2025 22:33:57 UTC]    Format field in books: YES
[21-Nov-2025 22:33:57 UTC]    Description field in categories: YES
[21-Nov-2025 22:33:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:33:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:33:57 UTC]    Is_active field in books: YES
[21-Nov-2025 22:33:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:33:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:33:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:33:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:33:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:33:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:33:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:33:57 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:33:57 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:33:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:33:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:33:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:33:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:33:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:33:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:33:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:33:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:33:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:33:59 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:33:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:33:59 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:33:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:59 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:59 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:33:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:59 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:33:59 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:59 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:59 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:33:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:33:59 UTC] 📊 Database Info:
[21-Nov-2025 22:33:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:33:59 UTC]    Books columns count: 44
[21-Nov-2025 22:33:59 UTC]    Categories columns count: 7
[21-Nov-2025 22:33:59 UTC]    Language field in books: YES
[21-Nov-2025 22:33:59 UTC]    Format field in books: YES
[21-Nov-2025 22:33:59 UTC]    Description field in categories: YES
[21-Nov-2025 22:33:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:33:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:33:59 UTC]    Is_active field in books: YES
[21-Nov-2025 22:33:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:33:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:33:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:33:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:33:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:33:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:33:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:59 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:59 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:33:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:59 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:33:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:33:59 UTC] 📊 Database Info:
[21-Nov-2025 22:33:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:33:59 UTC]    Books columns count: 44
[21-Nov-2025 22:33:59 UTC]    Categories columns count: 7
[21-Nov-2025 22:33:59 UTC]    Language field in books: YES
[21-Nov-2025 22:33:59 UTC]    Format field in books: YES
[21-Nov-2025 22:33:59 UTC]    Description field in categories: YES
[21-Nov-2025 22:33:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:33:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:33:59 UTC]    Is_active field in books: YES
[21-Nov-2025 22:33:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:33:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:33:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:33:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:33:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:33:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:33:59 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:33:59 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:33:59 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:33:59 UTC] 📊 Database Info:
[21-Nov-2025 22:33:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:33:59 UTC]    Books columns count: 44
[21-Nov-2025 22:33:59 UTC]    Categories columns count: 7
[21-Nov-2025 22:33:59 UTC]    Language field in books: YES
[21-Nov-2025 22:33:59 UTC]    Format field in books: YES
[21-Nov-2025 22:33:59 UTC]    Description field in categories: YES
[21-Nov-2025 22:33:59 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:33:59 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:33:59 UTC]    Is_active field in books: YES
[21-Nov-2025 22:33:59 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:33:59 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:33:59 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:33:59 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:33:59 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:33:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:33:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:34:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:34:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:34:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:34:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:34:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:34:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:34:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:34:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:34:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:34:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:34:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:34:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:34:06 UTC] 📊 Database Info:
[21-Nov-2025 22:34:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:34:06 UTC]    Books columns count: 44
[21-Nov-2025 22:34:06 UTC]    Categories columns count: 7
[21-Nov-2025 22:34:06 UTC]    Language field in books: YES
[21-Nov-2025 22:34:06 UTC]    Format field in books: YES
[21-Nov-2025 22:34:06 UTC]    Description field in categories: YES
[21-Nov-2025 22:34:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:34:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:34:06 UTC]    Is_active field in books: YES
[21-Nov-2025 22:34:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:34:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:34:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:34:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:34:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:34:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:34:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:34:06 UTC] 📊 Database Info:
[21-Nov-2025 22:34:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:34:06 UTC]    Books columns count: 44
[21-Nov-2025 22:34:06 UTC]    Categories columns count: 7
[21-Nov-2025 22:34:06 UTC]    Language field in books: YES
[21-Nov-2025 22:34:06 UTC]    Format field in books: YES
[21-Nov-2025 22:34:06 UTC]    Description field in categories: YES
[21-Nov-2025 22:34:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:34:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:34:06 UTC]    Is_active field in books: YES
[21-Nov-2025 22:34:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:34:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:34:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:34:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:34:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:34:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:34:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:34:06 UTC] 📊 Database Info:
[21-Nov-2025 22:34:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:34:06 UTC]    Books columns count: 44
[21-Nov-2025 22:34:06 UTC]    Categories columns count: 7
[21-Nov-2025 22:34:06 UTC]    Language field in books: YES
[21-Nov-2025 22:34:06 UTC]    Format field in books: YES
[21-Nov-2025 22:34:06 UTC]    Description field in categories: YES
[21-Nov-2025 22:34:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:34:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:34:06 UTC]    Is_active field in books: YES
[21-Nov-2025 22:34:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:34:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:34:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:34:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:34:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:34:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:34:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:34:06 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:34:06 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:34:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:34:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:34:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:34:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:34:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:34:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:34:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:34:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:34:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:34:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:34:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:34:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:34:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:34:07 UTC] 📊 Database Info:
[21-Nov-2025 22:34:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:34:07 UTC]    Books columns count: 44
[21-Nov-2025 22:34:07 UTC]    Categories columns count: 7
[21-Nov-2025 22:34:07 UTC]    Language field in books: YES
[21-Nov-2025 22:34:07 UTC]    Format field in books: YES
[21-Nov-2025 22:34:07 UTC]    Description field in categories: YES
[21-Nov-2025 22:34:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:34:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:34:07 UTC]    Is_active field in books: YES
[21-Nov-2025 22:34:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:34:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:34:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:34:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:34:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:34:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:34:07 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:34:07 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:34:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:34:07 UTC] 📊 Database Info:
[21-Nov-2025 22:34:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:34:07 UTC]    Books columns count: 44
[21-Nov-2025 22:34:07 UTC]    Categories columns count: 7
[21-Nov-2025 22:34:07 UTC]    Language field in books: YES
[21-Nov-2025 22:34:07 UTC]    Format field in books: YES
[21-Nov-2025 22:34:07 UTC]    Description field in categories: YES
[21-Nov-2025 22:34:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:34:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:34:07 UTC]    Is_active field in books: YES
[21-Nov-2025 22:34:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:34:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:34:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:34:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:34:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:34:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:34:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:34:07 UTC] 📊 Database Info:
[21-Nov-2025 22:34:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:34:07 UTC]    Books columns count: 44
[21-Nov-2025 22:34:07 UTC]    Categories columns count: 7
[21-Nov-2025 22:34:07 UTC]    Language field in books: YES
[21-Nov-2025 22:34:07 UTC]    Format field in books: YES
[21-Nov-2025 22:34:07 UTC]    Description field in categories: YES
[21-Nov-2025 22:34:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:34:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:34:07 UTC]    Is_active field in books: YES
[21-Nov-2025 22:34:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:34:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:34:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:34:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:34:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:34:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:34:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:34:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:34:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:34:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:34:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:34:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:34:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:34:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:34:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:34:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:34:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:34:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:34:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:34:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:34:13 UTC] 📊 Database Info:
[21-Nov-2025 22:34:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:34:13 UTC]    Books columns count: 44
[21-Nov-2025 22:34:13 UTC]    Categories columns count: 7
[21-Nov-2025 22:34:13 UTC]    Language field in books: YES
[21-Nov-2025 22:34:13 UTC]    Format field in books: YES
[21-Nov-2025 22:34:13 UTC]    Description field in categories: YES
[21-Nov-2025 22:34:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:34:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:34:13 UTC]    Is_active field in books: YES
[21-Nov-2025 22:34:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:34:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:34:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:34:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:34:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:34:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:34:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:34:13 UTC] 📊 Database Info:
[21-Nov-2025 22:34:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:34:13 UTC]    Books columns count: 44
[21-Nov-2025 22:34:13 UTC]    Categories columns count: 7
[21-Nov-2025 22:34:13 UTC]    Language field in books: YES
[21-Nov-2025 22:34:13 UTC]    Format field in books: YES
[21-Nov-2025 22:34:13 UTC]    Description field in categories: YES
[21-Nov-2025 22:34:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:34:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:34:13 UTC]    Is_active field in books: YES
[21-Nov-2025 22:34:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:34:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:34:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:34:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:34:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:34:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:34:13 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:34:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:34:13 UTC] 📊 Database Info:
[21-Nov-2025 22:34:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:34:13 UTC]    Books columns count: 44
[21-Nov-2025 22:34:13 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:34:13 UTC]    Categories columns count: 7
[21-Nov-2025 22:34:13 UTC]    Language field in books: YES
[21-Nov-2025 22:34:13 UTC]    Format field in books: YES
[21-Nov-2025 22:34:13 UTC]    Description field in categories: YES
[21-Nov-2025 22:34:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:34:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:34:13 UTC]    Is_active field in books: YES
[21-Nov-2025 22:34:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:34:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:34:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:34:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:34:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:34:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:34:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:34:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:34:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:34:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:34:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:34:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:14 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:34:14 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:34:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:34:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:34:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:14 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:34:14 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:34:14 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:34:14 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:34:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:14 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:34:14 UTC] 📊 Database Info:
[21-Nov-2025 22:34:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:34:14 UTC]    Books columns count: 44
[21-Nov-2025 22:34:14 UTC]    Categories columns count: 7
[21-Nov-2025 22:34:14 UTC]    Language field in books: YES
[21-Nov-2025 22:34:14 UTC]    Format field in books: YES
[21-Nov-2025 22:34:14 UTC]    Description field in categories: YES
[21-Nov-2025 22:34:14 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:34:14 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:34:14 UTC]    Is_active field in books: YES
[21-Nov-2025 22:34:14 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:34:14 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:34:14 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:34:14 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:34:14 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:34:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:34:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:14 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:34:14 UTC] 📊 Database Info:
[21-Nov-2025 22:34:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:34:14 UTC]    Books columns count: 44
[21-Nov-2025 22:34:14 UTC]    Categories columns count: 7
[21-Nov-2025 22:34:14 UTC]    Language field in books: YES
[21-Nov-2025 22:34:14 UTC]    Format field in books: YES
[21-Nov-2025 22:34:14 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:34:14 UTC]    Description field in categories: YES
[21-Nov-2025 22:34:14 UTC] 📊 Database Info:
[21-Nov-2025 22:34:14 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:34:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:34:14 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:34:14 UTC]    Books columns count: 44
[21-Nov-2025 22:34:14 UTC]    Is_active field in books: YES
[21-Nov-2025 22:34:14 UTC]    Categories columns count: 7
[21-Nov-2025 22:34:14 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:34:14 UTC]    Language field in books: YES
[21-Nov-2025 22:34:14 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:34:14 UTC]    Format field in books: YES
[21-Nov-2025 22:34:14 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:34:14 UTC]    Description field in categories: YES
[21-Nov-2025 22:34:14 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:34:14 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:34:14 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:34:14 UTC]    Is_active field in books: YES
[21-Nov-2025 22:34:14 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:34:14 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:34:14 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:34:14 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:34:14 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:34:14 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:34:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:34:14 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:34:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:34:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:34:14 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:34:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:34:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:34:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:34:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:34:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:34:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:34:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:34:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:34:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:34:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:34:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:34:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:34:31 UTC] 📊 Database Info:
[21-Nov-2025 22:34:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:34:31 UTC]    Books columns count: 44
[21-Nov-2025 22:34:31 UTC]    Categories columns count: 7
[21-Nov-2025 22:34:31 UTC]    Language field in books: YES
[21-Nov-2025 22:34:31 UTC]    Format field in books: YES
[21-Nov-2025 22:34:31 UTC]    Description field in categories: YES
[21-Nov-2025 22:34:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:34:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:34:31 UTC]    Is_active field in books: YES
[21-Nov-2025 22:34:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:34:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:34:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:34:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:34:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:34:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:34:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:34:31 UTC] 📊 Database Info:
[21-Nov-2025 22:34:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:34:31 UTC]    Books columns count: 44
[21-Nov-2025 22:34:31 UTC]    Categories columns count: 7
[21-Nov-2025 22:34:31 UTC]    Language field in books: YES
[21-Nov-2025 22:34:31 UTC]    Format field in books: YES
[21-Nov-2025 22:34:31 UTC]    Description field in categories: YES
[21-Nov-2025 22:34:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:34:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:34:31 UTC]    Is_active field in books: YES
[21-Nov-2025 22:34:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:34:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:34:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:34:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:34:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:34:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:34:31 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:34:31 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:34:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:34:31 UTC] 📊 Database Info:
[21-Nov-2025 22:34:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:34:31 UTC]    Books columns count: 44
[21-Nov-2025 22:34:31 UTC]    Categories columns count: 7
[21-Nov-2025 22:34:31 UTC]    Language field in books: YES
[21-Nov-2025 22:34:31 UTC]    Format field in books: YES
[21-Nov-2025 22:34:31 UTC]    Description field in categories: YES
[21-Nov-2025 22:34:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:34:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:34:31 UTC]    Is_active field in books: YES
[21-Nov-2025 22:34:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:34:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:34:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:34:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:34:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:34:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:34:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:34:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:34:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:34:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:34:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:34:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:34:52 UTC] 📊 Database Info:
[21-Nov-2025 22:34:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:34:52 UTC]    Books columns count: 44
[21-Nov-2025 22:34:52 UTC]    Categories columns count: 7
[21-Nov-2025 22:34:52 UTC]    Language field in books: YES
[21-Nov-2025 22:34:52 UTC]    Format field in books: YES
[21-Nov-2025 22:34:52 UTC]    Description field in categories: YES
[21-Nov-2025 22:34:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:34:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:34:52 UTC]    Is_active field in books: YES
[21-Nov-2025 22:34:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:34:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:34:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:34:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:34:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:34:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:34:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:34:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:34:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:34:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:34:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:34:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:34:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:34:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:34:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:34:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:34:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:34:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:34:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:34:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:34:52 UTC] 📊 Database Info:
[21-Nov-2025 22:34:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:34:52 UTC]    Books columns count: 44
[21-Nov-2025 22:34:52 UTC]    Categories columns count: 7
[21-Nov-2025 22:34:52 UTC]    Language field in books: YES
[21-Nov-2025 22:34:52 UTC]    Format field in books: YES
[21-Nov-2025 22:34:52 UTC]    Description field in categories: YES
[21-Nov-2025 22:34:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:34:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:34:52 UTC]    Is_active field in books: YES
[21-Nov-2025 22:34:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:34:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:34:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:34:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:34:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:34:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:34:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:35:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:35:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:35:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:14 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:35:14 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:35:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:14 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:35:14 UTC] 📊 Database Info:
[21-Nov-2025 22:35:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:35:14 UTC]    Books columns count: 44
[21-Nov-2025 22:35:14 UTC]    Categories columns count: 7
[21-Nov-2025 22:35:14 UTC]    Language field in books: YES
[21-Nov-2025 22:35:14 UTC]    Format field in books: YES
[21-Nov-2025 22:35:14 UTC]    Description field in categories: YES
[21-Nov-2025 22:35:14 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:35:14 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:35:14 UTC]    Is_active field in books: YES
[21-Nov-2025 22:35:14 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:35:14 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:35:14 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:35:14 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:35:14 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:35:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:35:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:35:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:35:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:35:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:15 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:35:15 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:35:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:15 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:35:15 UTC] 📊 Database Info:
[21-Nov-2025 22:35:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:35:15 UTC]    Books columns count: 44
[21-Nov-2025 22:35:15 UTC]    Categories columns count: 7
[21-Nov-2025 22:35:15 UTC]    Language field in books: YES
[21-Nov-2025 22:35:15 UTC]    Format field in books: YES
[21-Nov-2025 22:35:15 UTC]    Description field in categories: YES
[21-Nov-2025 22:35:15 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:35:15 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:35:15 UTC]    Is_active field in books: YES
[21-Nov-2025 22:35:15 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:35:15 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:35:15 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:35:15 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:35:15 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:35:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:35:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:35:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:35:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:35:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:35:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:35:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:35:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:35:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:35:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:35:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:35:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:35:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:35:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:35:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:35:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:35:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:35:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:35:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:35:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:35:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:35:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:35:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:35:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:35:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:35:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:35:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:35:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:35:22 UTC] 📊 Database Info:
[21-Nov-2025 22:35:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:35:22 UTC]    Books columns count: 44
[21-Nov-2025 22:35:22 UTC]    Categories columns count: 7
[21-Nov-2025 22:35:22 UTC]    Language field in books: YES
[21-Nov-2025 22:35:22 UTC]    Format field in books: YES
[21-Nov-2025 22:35:22 UTC]    Description field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Is_active field in books: YES
[21-Nov-2025 22:35:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:35:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:35:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:35:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:35:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:35:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:35:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:35:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:35:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:35:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:35:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:35:22 UTC] 📊 Database Info:
[21-Nov-2025 22:35:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:35:22 UTC]    Books columns count: 44
[21-Nov-2025 22:35:22 UTC]    Categories columns count: 7
[21-Nov-2025 22:35:22 UTC]    Language field in books: YES
[21-Nov-2025 22:35:22 UTC]    Format field in books: YES
[21-Nov-2025 22:35:22 UTC]    Description field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Is_active field in books: YES
[21-Nov-2025 22:35:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:35:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:35:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:35:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:35:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:35:22 UTC] 📊 Database Info:
[21-Nov-2025 22:35:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:35:22 UTC]    Books columns count: 44
[21-Nov-2025 22:35:22 UTC]    Categories columns count: 7
[21-Nov-2025 22:35:22 UTC]    Language field in books: YES
[21-Nov-2025 22:35:22 UTC]    Format field in books: YES
[21-Nov-2025 22:35:22 UTC]    Description field in categories: YES
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Is_active field in books: YES
[21-Nov-2025 22:35:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:35:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:35:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:35:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:35:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:35:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:35:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:35:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:35:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:35:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:35:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:35:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:35:22 UTC] 📊 Database Info:
[21-Nov-2025 22:35:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:35:22 UTC]    Books columns count: 44
[21-Nov-2025 22:35:22 UTC]    Categories columns count: 7
[21-Nov-2025 22:35:22 UTC]    Language field in books: YES
[21-Nov-2025 22:35:22 UTC]    Format field in books: YES
[21-Nov-2025 22:35:22 UTC]    Description field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Is_active field in books: YES
[21-Nov-2025 22:35:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:35:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:35:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:35:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:35:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:35:22 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:35:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:35:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:35:22 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:35:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:22 UTC] 📊 Database Info:
[21-Nov-2025 22:35:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:35:22 UTC]    Books columns count: 44
[21-Nov-2025 22:35:22 UTC]    Categories columns count: 7
[21-Nov-2025 22:35:22 UTC]    Language field in books: YES
[21-Nov-2025 22:35:22 UTC]    Format field in books: YES
[21-Nov-2025 22:35:22 UTC]    Description field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Is_active field in books: YES
[21-Nov-2025 22:35:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:35:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:35:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:35:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:35:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:35:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:35:22 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:35:22 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:35:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:35:22 UTC] 📊 Database Info:
[21-Nov-2025 22:35:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:35:22 UTC]    Books columns count: 44
[21-Nov-2025 22:35:22 UTC]    Categories columns count: 7
[21-Nov-2025 22:35:22 UTC]    Language field in books: YES
[21-Nov-2025 22:35:22 UTC]    Format field in books: YES
[21-Nov-2025 22:35:22 UTC]    Description field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Is_active field in books: YES
[21-Nov-2025 22:35:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:35:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:35:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:35:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:35:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:35:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:35:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:35:22 UTC] 📊 Database Info:
[21-Nov-2025 22:35:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:35:22 UTC]    Books columns count: 44
[21-Nov-2025 22:35:22 UTC]    Categories columns count: 7
[21-Nov-2025 22:35:22 UTC]    Language field in books: YES
[21-Nov-2025 22:35:22 UTC]    Format field in books: YES
[21-Nov-2025 22:35:22 UTC]    Description field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Is_active field in books: YES
[21-Nov-2025 22:35:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:35:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:35:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:35:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:35:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:35:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:35:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:35:22 UTC] 📊 Database Info:
[21-Nov-2025 22:35:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:35:22 UTC]    Books columns count: 44
[21-Nov-2025 22:35:22 UTC]    Categories columns count: 7
[21-Nov-2025 22:35:22 UTC]    Language field in books: YES
[21-Nov-2025 22:35:22 UTC]    Format field in books: YES
[21-Nov-2025 22:35:22 UTC]    Description field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Is_active field in books: YES
[21-Nov-2025 22:35:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:35:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:35:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:35:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:35:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:35:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:35:22 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:35:22 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:35:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:35:22 UTC] 📊 Database Info:
[21-Nov-2025 22:35:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:35:22 UTC]    Books columns count: 44
[21-Nov-2025 22:35:22 UTC]    Categories columns count: 7
[21-Nov-2025 22:35:22 UTC]    Language field in books: YES
[21-Nov-2025 22:35:22 UTC]    Format field in books: YES
[21-Nov-2025 22:35:22 UTC]    Description field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:35:22 UTC]    Is_active field in books: YES
[21-Nov-2025 22:35:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:35:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:35:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:35:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:35:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:35:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:35:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:35:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:35:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:35:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:35:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:35:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:35:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:35:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:35:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:35:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:35:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:35:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:27 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:35:27 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:35:27 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:27 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:27 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:27 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:27 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:35:27 UTC] 📊 Database Info:
[21-Nov-2025 22:35:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:35:27 UTC]    Books columns count: 44
[21-Nov-2025 22:35:27 UTC]    Categories columns count: 7
[21-Nov-2025 22:35:27 UTC]    Language field in books: YES
[21-Nov-2025 22:35:27 UTC]    Format field in books: YES
[21-Nov-2025 22:35:27 UTC]    Description field in categories: YES
[21-Nov-2025 22:35:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:35:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:35:27 UTC]    Is_active field in books: YES
[21-Nov-2025 22:35:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:35:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:35:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:35:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:35:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:35:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:35:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:35:27 UTC] 📊 Database Info:
[21-Nov-2025 22:35:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:35:27 UTC]    Books columns count: 44
[21-Nov-2025 22:35:27 UTC]    Categories columns count: 7
[21-Nov-2025 22:35:27 UTC]    Language field in books: YES
[21-Nov-2025 22:35:27 UTC]    Format field in books: YES
[21-Nov-2025 22:35:27 UTC]    Description field in categories: YES
[21-Nov-2025 22:35:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:35:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:35:27 UTC]    Is_active field in books: YES
[21-Nov-2025 22:35:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:35:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:35:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:35:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:35:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:35:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:35:27 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:35:27 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:35:27 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:27 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:27 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:27 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:35:27 UTC] 📊 Database Info:
[21-Nov-2025 22:35:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:35:27 UTC]    Books columns count: 44
[21-Nov-2025 22:35:27 UTC]    Categories columns count: 7
[21-Nov-2025 22:35:27 UTC]    Language field in books: YES
[21-Nov-2025 22:35:27 UTC]    Format field in books: YES
[21-Nov-2025 22:35:27 UTC]    Description field in categories: YES
[21-Nov-2025 22:35:27 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:35:27 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:35:27 UTC]    Is_active field in books: YES
[21-Nov-2025 22:35:27 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:35:27 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:35:27 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:35:27 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:35:27 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:35:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:35:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:35:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:35:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:35:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:35:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:35:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:35:28 UTC] 📊 Database Info:
[21-Nov-2025 22:35:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:35:28 UTC]    Books columns count: 44
[21-Nov-2025 22:35:28 UTC]    Categories columns count: 7
[21-Nov-2025 22:35:28 UTC]    Language field in books: YES
[21-Nov-2025 22:35:28 UTC]    Format field in books: YES
[21-Nov-2025 22:35:28 UTC]    Description field in categories: YES
[21-Nov-2025 22:35:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:35:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:35:28 UTC]    Is_active field in books: YES
[21-Nov-2025 22:35:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:35:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:35:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:35:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:35:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:35:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:35:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:35:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:35:48 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:48 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:48 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:48 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:48 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:48 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:48 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:35:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:35:48 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:35:48 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:35:48 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:35:48 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:35:48 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:35:48 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:35:48 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:35:48 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:35:48 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:35:48 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:35:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:35:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:35:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:35:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:35:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:35:48 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:35:48 UTC] 📊 Database Info:
[21-Nov-2025 22:35:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:35:48 UTC]    Books columns count: 44
[21-Nov-2025 22:35:48 UTC]    Categories columns count: 7
[21-Nov-2025 22:35:48 UTC]    Language field in books: YES
[21-Nov-2025 22:35:48 UTC]    Format field in books: YES
[21-Nov-2025 22:35:48 UTC]    Description field in categories: YES
[21-Nov-2025 22:35:48 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:35:48 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:35:48 UTC]    Is_active field in books: YES
[21-Nov-2025 22:35:48 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:35:48 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:35:48 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:35:48 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:35:48 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:35:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:45:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:45:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:45:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:45:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:45:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:45:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:45:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:45:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:45:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:45:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:45:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:45:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:45:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:45:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:45:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:45:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:45:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:45:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:45:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:45:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:45:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:45:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:45:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:45:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:45:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:45:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:45:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:45:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:45:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:45:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:45:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:45:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:45:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:45:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:45:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:45:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:45:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:45:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:45:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:45:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:45:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:45:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:45:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:45:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:45:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:45:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:45:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:45:44 UTC] 📊 Database Info:
[21-Nov-2025 22:45:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:45:44 UTC]    Books columns count: 44
[21-Nov-2025 22:45:44 UTC]    Categories columns count: 7
[21-Nov-2025 22:45:44 UTC]    Language field in books: YES
[21-Nov-2025 22:45:44 UTC]    Format field in books: YES
[21-Nov-2025 22:45:44 UTC]    Description field in categories: YES
[21-Nov-2025 22:45:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:45:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:45:44 UTC]    Is_active field in books: YES
[21-Nov-2025 22:45:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:45:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:45:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:45:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:45:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:45:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:45:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:45:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:45:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:45:44 UTC] 📊 Database Info:
[21-Nov-2025 22:45:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:45:44 UTC]    Books columns count: 44
[21-Nov-2025 22:45:44 UTC]    Categories columns count: 7
[21-Nov-2025 22:45:44 UTC]    Language field in books: YES
[21-Nov-2025 22:45:44 UTC]    Format field in books: YES
[21-Nov-2025 22:45:44 UTC]    Description field in categories: YES
[21-Nov-2025 22:45:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:45:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:45:44 UTC]    Is_active field in books: YES
[21-Nov-2025 22:45:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:45:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:45:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:45:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:45:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:45:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:45:44 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:45:44 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:45:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:45:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:45:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:45:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:45:44 UTC] 📊 Database Info:
[21-Nov-2025 22:45:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:45:44 UTC]    Books columns count: 44
[21-Nov-2025 22:45:44 UTC]    Categories columns count: 7
[21-Nov-2025 22:45:44 UTC]    Language field in books: YES
[21-Nov-2025 22:45:44 UTC]    Format field in books: YES
[21-Nov-2025 22:45:44 UTC]    Description field in categories: YES
[21-Nov-2025 22:45:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:45:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:45:44 UTC]    Is_active field in books: YES
[21-Nov-2025 22:45:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:45:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:45:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:45:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:45:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:45:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:45:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:45:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:45:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:45:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:45:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:45:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:45:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:45:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:45:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:45:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:45:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:45:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:45:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:45:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:45:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:45:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:45:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:45:47 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:45:47 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:45:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:45:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:45:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:45:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:45:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:45:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:45:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:45:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:45:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:45:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:45:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:45:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:45:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:45:47 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:45:47 UTC] 📊 Database Info:
[21-Nov-2025 22:45:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:45:47 UTC]    Books columns count: 44
[21-Nov-2025 22:45:47 UTC]    Categories columns count: 7
[21-Nov-2025 22:45:47 UTC]    Language field in books: YES
[21-Nov-2025 22:45:47 UTC]    Format field in books: YES
[21-Nov-2025 22:45:47 UTC]    Description field in categories: YES
[21-Nov-2025 22:45:47 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:45:47 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:45:47 UTC]    Is_active field in books: YES
[21-Nov-2025 22:45:47 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:45:47 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:45:47 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:45:47 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:45:47 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:45:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:45:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:45:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:45:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:45:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:45:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:45:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:45:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:45:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:45:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:45:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:45:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:45:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:45:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:45:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:45:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:45:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:45:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:45:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:45:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:45:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:45:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:45:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:45:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:45:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:45:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:45:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:45:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:45:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:45:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:45:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:45:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:45:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:45:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:45:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:45:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:45:58 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:45:58 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:45:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:45:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:45:58 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:45:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:45:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:45:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:45:58 UTC] 📊 Database Info:
[21-Nov-2025 22:45:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:45:58 UTC]    Books columns count: 44
[21-Nov-2025 22:45:58 UTC]    Categories columns count: 7
[21-Nov-2025 22:45:58 UTC]    Language field in books: YES
[21-Nov-2025 22:45:58 UTC]    Format field in books: YES
[21-Nov-2025 22:45:58 UTC]    Description field in categories: YES
[21-Nov-2025 22:45:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:45:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:45:58 UTC]    Is_active field in books: YES
[21-Nov-2025 22:45:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:45:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:45:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:45:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:45:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:45:58 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:45:58 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:45:58 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:45:58 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:45:58 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:45:58 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:45:58 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:45:58 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:45:58 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:45:58 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:45:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:45:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:45:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:45:58 UTC] 📊 Database Info:
[21-Nov-2025 22:45:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:45:58 UTC]    Books columns count: 44
[21-Nov-2025 22:45:58 UTC]    Categories columns count: 7
[21-Nov-2025 22:45:58 UTC]    Language field in books: YES
[21-Nov-2025 22:45:58 UTC]    Format field in books: YES
[21-Nov-2025 22:45:58 UTC]    Description field in categories: YES
[21-Nov-2025 22:45:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:45:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:45:58 UTC]    Is_active field in books: YES
[21-Nov-2025 22:45:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:45:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:45:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:45:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:45:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:45:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:45:58 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:45:58 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:45:58 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:45:58 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:45:58 UTC] 📊 Database Info:
[21-Nov-2025 22:45:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:45:58 UTC]    Books columns count: 44
[21-Nov-2025 22:45:58 UTC]    Categories columns count: 7
[21-Nov-2025 22:45:58 UTC]    Language field in books: YES
[21-Nov-2025 22:45:58 UTC]    Format field in books: YES
[21-Nov-2025 22:45:58 UTC]    Description field in categories: YES
[21-Nov-2025 22:45:58 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:45:58 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:45:58 UTC]    Is_active field in books: YES
[21-Nov-2025 22:45:58 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:45:58 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:45:58 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:45:58 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:45:58 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:45:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:45:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:46:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:46:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:46:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:46:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:46:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:46:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:46:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:46:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:46:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:46:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:46:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:46:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:46:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:46:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:46:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:46:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:46:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:46:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:46:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:46:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:46:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:46:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:46:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:46:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:46:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:46:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:46:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:46:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:46:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:46:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:46:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:46:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:46:00 UTC] 📊 Database Info:
[21-Nov-2025 22:46:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:46:00 UTC]    Books columns count: 44
[21-Nov-2025 22:46:00 UTC]    Categories columns count: 7
[21-Nov-2025 22:46:00 UTC]    Language field in books: YES
[21-Nov-2025 22:46:00 UTC]    Format field in books: YES
[21-Nov-2025 22:46:00 UTC]    Description field in categories: YES
[21-Nov-2025 22:46:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:46:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:46:00 UTC]    Is_active field in books: YES
[21-Nov-2025 22:46:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:46:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:46:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:46:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:46:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:46:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:46:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:46:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:46:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:46:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:46:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:46:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:46:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:46:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:46:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:46:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:46:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:46:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:46:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:46:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:46:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:46:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:46:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:46:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:46:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:46:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:46:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:46:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:46:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:46:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:46:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:46:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:46:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:46:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:46:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:46:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:46:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:46:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:46:51 UTC] 📊 Database Info:
[21-Nov-2025 22:46:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:46:51 UTC]    Books columns count: 44
[21-Nov-2025 22:46:51 UTC]    Categories columns count: 7
[21-Nov-2025 22:46:51 UTC]    Language field in books: YES
[21-Nov-2025 22:46:51 UTC]    Format field in books: YES
[21-Nov-2025 22:46:51 UTC]    Description field in categories: YES
[21-Nov-2025 22:46:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:46:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:46:51 UTC]    Is_active field in books: YES
[21-Nov-2025 22:46:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:46:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:46:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:46:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:46:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:46:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:46:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:46:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:46:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:46:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:46:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:46:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:46:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:46:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:46:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:46:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:46:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:46:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:54:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:54:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:54:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:54:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:54:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:54:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:54:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:54:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:54:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:54:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:54:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:54:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:54:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:54:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:54:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:54:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:54:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:54:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:54:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:54:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:54:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:54:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:54:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:54:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:54:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:54:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:54:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:54:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:54:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:54:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:54:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:54:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:54:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:54:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:54:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:54:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:54:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:54:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:54:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:54:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:54:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:54:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:54:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:54:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:54:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:54:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:54:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:54:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:54:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:54:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:54:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:54:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:54:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:54:10 UTC] 📊 Database Info:
[21-Nov-2025 22:54:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:54:10 UTC]    Books columns count: 44
[21-Nov-2025 22:54:10 UTC]    Categories columns count: 7
[21-Nov-2025 22:54:10 UTC]    Language field in books: YES
[21-Nov-2025 22:54:10 UTC]    Format field in books: YES
[21-Nov-2025 22:54:10 UTC]    Description field in categories: YES
[21-Nov-2025 22:54:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:54:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:54:10 UTC]    Is_active field in books: YES
[21-Nov-2025 22:54:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:54:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:54:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:54:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:54:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:54:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:54:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:54:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:54:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:54:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:54:10 UTC] 📊 Database Info:
[21-Nov-2025 22:54:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:54:10 UTC]    Books columns count: 44
[21-Nov-2025 22:54:10 UTC]    Categories columns count: 7
[21-Nov-2025 22:54:10 UTC]    Language field in books: YES
[21-Nov-2025 22:54:10 UTC]    Format field in books: YES
[21-Nov-2025 22:54:10 UTC]    Description field in categories: YES
[21-Nov-2025 22:54:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:54:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:54:10 UTC]    Is_active field in books: YES
[21-Nov-2025 22:54:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:54:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:54:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:54:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:54:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:54:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:54:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:54:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:54:10 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 22:54:10 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 22:54:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:54:10 UTC] 📊 Database Info:
[21-Nov-2025 22:54:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:54:10 UTC]    Books columns count: 44
[21-Nov-2025 22:54:10 UTC]    Categories columns count: 7
[21-Nov-2025 22:54:10 UTC]    Language field in books: YES
[21-Nov-2025 22:54:10 UTC]    Format field in books: YES
[21-Nov-2025 22:54:10 UTC]    Description field in categories: YES
[21-Nov-2025 22:54:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:54:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:54:10 UTC]    Is_active field in books: YES
[21-Nov-2025 22:54:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:54:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:54:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:54:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:54:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:54:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:54:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 22:54:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 22:54:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:54:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:54:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:54:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:54:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:54:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:54:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:54:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:54:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:54:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:54:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:54:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:54:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:54:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 22:54:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:54:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 22:54:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 22:54:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 22:54:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 22:54:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 22:54:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 22:54:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 22:54:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 22:54:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 22:54:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 22:54:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 22:54:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 22:54:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 22:54:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 22:54:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 22:54:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 22:54:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 22:54:13 UTC] 📊 Database Info:
[21-Nov-2025 22:54:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 22:54:13 UTC]    Books columns count: 44
[21-Nov-2025 22:54:13 UTC]    Categories columns count: 7
[21-Nov-2025 22:54:13 UTC]    Language field in books: YES
[21-Nov-2025 22:54:13 UTC]    Format field in books: YES
[21-Nov-2025 22:54:13 UTC]    Description field in categories: YES
[21-Nov-2025 22:54:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 22:54:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 22:54:13 UTC]    Is_active field in books: YES
[21-Nov-2025 22:54:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 22:54:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 22:54:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 22:54:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 22:54:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 22:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 22:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 22:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 22:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 22:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 22:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 22:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 22:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 22:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 22:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 22:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 22:54:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 22:54:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:02:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:02:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:02:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:02:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:02:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:02:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:02:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:02:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:02:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:02:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:02:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:02:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:02:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:02:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:02:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:02:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:02:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:02:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:02:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:02:47 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:02:47 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:02:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:02:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:02:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:02:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:02:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:02:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:02:47 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:02:47 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:02:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:02:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:02:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:02:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:02:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:02:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:02:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:02:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:02:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:02:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:02:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:02:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:02:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:02:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:02:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:02:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:02:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:02:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:02:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:02:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:02:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:02:47 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:02:47 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:02:47 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:02:47 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:02:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:02:47 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:02:47 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:02:47 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:02:47 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:02:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:02:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:02:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:02:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:02:47 UTC] 📊 Database Info:
[21-Nov-2025 23:02:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:02:47 UTC]    Books columns count: 44
[21-Nov-2025 23:02:47 UTC]    Categories columns count: 7
[21-Nov-2025 23:02:47 UTC]    Language field in books: YES
[21-Nov-2025 23:02:47 UTC]    Format field in books: YES
[21-Nov-2025 23:02:47 UTC]    Description field in categories: YES
[21-Nov-2025 23:02:47 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:02:47 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:02:47 UTC]    Is_active field in books: YES
[21-Nov-2025 23:02:47 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:02:47 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:02:47 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:02:47 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:02:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:02:47 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:02:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:02:47 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:02:47 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:02:47 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:02:47 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:02:47 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:02:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:02:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:02:47 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:02:47 UTC] 📊 Database Info:
[21-Nov-2025 23:02:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:02:47 UTC]    Books columns count: 44
[21-Nov-2025 23:02:47 UTC]    Categories columns count: 7
[21-Nov-2025 23:02:47 UTC]    Language field in books: YES
[21-Nov-2025 23:02:47 UTC]    Format field in books: YES
[21-Nov-2025 23:02:47 UTC]    Description field in categories: YES
[21-Nov-2025 23:02:47 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:02:47 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:02:47 UTC]    Is_active field in books: YES
[21-Nov-2025 23:02:47 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:02:47 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:02:47 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:02:47 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:02:47 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:02:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:02:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:02:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:02:47 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:02:47 UTC] 📊 Database Info:
[21-Nov-2025 23:02:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:02:47 UTC]    Books columns count: 44
[21-Nov-2025 23:02:47 UTC]    Categories columns count: 7
[21-Nov-2025 23:02:47 UTC]    Language field in books: YES
[21-Nov-2025 23:02:47 UTC]    Format field in books: YES
[21-Nov-2025 23:02:47 UTC]    Description field in categories: YES
[21-Nov-2025 23:02:47 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:02:47 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:02:47 UTC]    Is_active field in books: YES
[21-Nov-2025 23:02:47 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:02:47 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:02:47 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:02:47 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:02:47 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:02:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:02:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:02:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:02:47 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:02:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:02:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:02:47 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:02:47 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:02:47 UTC] 📊 Database Info:
[21-Nov-2025 23:02:47 UTC] 📊 Database Info:
[21-Nov-2025 23:02:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:02:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:02:47 UTC]    Books columns count: 44
[21-Nov-2025 23:02:47 UTC]    Books columns count: 44
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:02:47 UTC]    Categories columns count: 7
[21-Nov-2025 23:02:47 UTC]    Categories columns count: 7
[21-Nov-2025 23:02:47 UTC]    Language field in books: YES
[21-Nov-2025 23:02:47 UTC]    Language field in books: YES
[21-Nov-2025 23:02:47 UTC]    Format field in books: YES
[21-Nov-2025 23:02:47 UTC]    Description field in categories: YES
[21-Nov-2025 23:02:47 UTC]    Format field in books: YES
[21-Nov-2025 23:02:47 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:02:47 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:02:47 UTC]    Description field in categories: YES
[21-Nov-2025 23:02:47 UTC]    Is_active field in books: YES
[21-Nov-2025 23:02:47 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:02:47 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:02:47 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:02:47 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:02:47 UTC]    Is_active field in books: YES
[21-Nov-2025 23:02:47 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:02:47 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:02:47 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:02:47 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:02:47 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:02:47 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:02:47 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:02:47 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:02:47 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:02:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:02:47 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:02:47 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:02:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:02:47 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:02:47 UTC] 📊 Database Info:
[21-Nov-2025 23:02:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:02:47 UTC]    Books columns count: 44
[21-Nov-2025 23:02:47 UTC]    Categories columns count: 7
[21-Nov-2025 23:02:47 UTC]    Language field in books: YES
[21-Nov-2025 23:02:47 UTC]    Format field in books: YES
[21-Nov-2025 23:02:47 UTC]    Description field in categories: YES
[21-Nov-2025 23:02:47 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:02:47 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:02:47 UTC]    Is_active field in books: YES
[21-Nov-2025 23:02:47 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:02:47 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:02:47 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:02:47 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:02:47 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:02:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:02:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:02:48 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:02:48 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:02:48 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:02:48 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:02:48 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:02:48 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:02:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:02:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:02:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:02:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:02:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:02:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:02:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:02:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:02:48 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:02:48 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:02:48 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:02:48 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:02:48 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:02:48 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:02:48 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:02:48 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:02:48 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:02:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:02:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:02:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:02:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:02:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:02:48 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:02:48 UTC] 📊 Database Info:
[21-Nov-2025 23:02:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:02:48 UTC]    Books columns count: 44
[21-Nov-2025 23:02:48 UTC]    Categories columns count: 7
[21-Nov-2025 23:02:48 UTC]    Language field in books: YES
[21-Nov-2025 23:02:48 UTC]    Format field in books: YES
[21-Nov-2025 23:02:48 UTC]    Description field in categories: YES
[21-Nov-2025 23:02:48 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:02:48 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:02:48 UTC]    Is_active field in books: YES
[21-Nov-2025 23:02:48 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:02:48 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:02:48 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:02:48 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:02:48 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:02:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:02:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:02:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:02:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:02:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:02:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:02:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:02:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:02:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:02:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:02:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:02:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:02:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:02:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:02:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:02:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:02:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:02:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:02:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:02:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:02:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:02:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:02:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:02:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:02:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:02:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:02:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:02:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:02:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:02:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:02:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:02:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:02:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:02:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:02:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:02:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:02:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:02:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:02:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:02:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:02:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:02:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:02:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:02:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:02:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:02:52 UTC] 📊 Database Info:
[21-Nov-2025 23:02:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:02:52 UTC]    Books columns count: 44
[21-Nov-2025 23:02:52 UTC]    Categories columns count: 7
[21-Nov-2025 23:02:52 UTC]    Language field in books: YES
[21-Nov-2025 23:02:52 UTC]    Format field in books: YES
[21-Nov-2025 23:02:52 UTC]    Description field in categories: YES
[21-Nov-2025 23:02:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:02:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:02:52 UTC]    Is_active field in books: YES
[21-Nov-2025 23:02:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:02:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:02:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:02:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:02:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:02:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:02:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:02:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:02:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:02:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:02:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:02:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:02:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:02:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:02:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:02:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:02:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:02:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:03:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:03:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:03:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:03:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:03:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:03:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:03:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:03:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:03:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:03:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:03:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:03:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:03:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:03:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:03:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:03:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:03:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:03:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:03:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:03:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:03:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:03:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:03:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:03:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:03:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:03:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:03:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:03:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:03:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:03:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:03:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:03:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:03:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:03:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:03:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:03:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:03:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:03:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:03:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:03:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:03:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:03:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:03:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:03:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:03:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:03:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:03:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:03:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:03:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:03:53 UTC] 📊 Database Info:
[21-Nov-2025 23:03:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:03:53 UTC]    Books columns count: 44
[21-Nov-2025 23:03:53 UTC]    Categories columns count: 7
[21-Nov-2025 23:03:53 UTC]    Language field in books: YES
[21-Nov-2025 23:03:53 UTC]    Format field in books: YES
[21-Nov-2025 23:03:53 UTC]    Description field in categories: YES
[21-Nov-2025 23:03:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:03:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:03:53 UTC]    Is_active field in books: YES
[21-Nov-2025 23:03:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:03:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:03:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:03:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:03:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:03:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:03:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:03:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:03:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:03:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:03:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:03:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:03:53 UTC] 📊 Database Info:
[21-Nov-2025 23:03:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:03:53 UTC]    Books columns count: 44
[21-Nov-2025 23:03:53 UTC]    Categories columns count: 7
[21-Nov-2025 23:03:53 UTC]    Language field in books: YES
[21-Nov-2025 23:03:53 UTC]    Format field in books: YES
[21-Nov-2025 23:03:53 UTC]    Description field in categories: YES
[21-Nov-2025 23:03:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:03:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:03:53 UTC]    Is_active field in books: YES
[21-Nov-2025 23:03:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:03:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:03:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:03:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:03:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:03:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:03:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:03:53 UTC] 📊 Database Info:
[21-Nov-2025 23:03:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:03:53 UTC]    Books columns count: 44
[21-Nov-2025 23:03:53 UTC]    Categories columns count: 7
[21-Nov-2025 23:03:53 UTC]    Language field in books: YES
[21-Nov-2025 23:03:53 UTC]    Format field in books: YES
[21-Nov-2025 23:03:53 UTC]    Description field in categories: YES
[21-Nov-2025 23:03:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:03:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:03:53 UTC]    Is_active field in books: YES
[21-Nov-2025 23:03:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:03:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:03:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:03:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:03:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:03:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:03:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:03:53 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:03:53 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:03:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:03:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:03:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:03:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:03:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:03:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:03:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:03:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:03:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:03:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:03:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:03:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:03:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:03:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:03:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:03:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:03:56 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:03:56 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:03:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:03:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:03:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:03:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:03:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:03:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:03:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:03:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:03:56 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:03:56 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:03:56 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:03:56 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:03:56 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:03:56 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:03:56 UTC] 📊 Database Info:
[21-Nov-2025 23:03:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:03:56 UTC]    Books columns count: 44
[21-Nov-2025 23:03:56 UTC]    Categories columns count: 7
[21-Nov-2025 23:03:56 UTC]    Language field in books: YES
[21-Nov-2025 23:03:56 UTC]    Format field in books: YES
[21-Nov-2025 23:03:56 UTC]    Description field in categories: YES
[21-Nov-2025 23:03:56 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:03:56 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:03:56 UTC]    Is_active field in books: YES
[21-Nov-2025 23:03:56 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:03:56 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:03:56 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:03:56 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:03:56 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:03:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:03:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:03:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:03:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:03:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:03:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:03:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:03:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:03:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:03:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:03:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:03:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:03:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:01 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:01 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:01 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:01 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:01 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:01 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:01 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:01 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:01 UTC] 📊 Database Info:
[21-Nov-2025 23:04:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:01 UTC]    Books columns count: 44
[21-Nov-2025 23:04:01 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:01 UTC]    Language field in books: YES
[21-Nov-2025 23:04:01 UTC]    Format field in books: YES
[21-Nov-2025 23:04:01 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:01 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:01 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:01 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:01 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:01 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:01 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:01 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:01 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:07 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:07 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:07 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:07 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:07 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:07 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:07 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:07 UTC] 📊 Database Info:
[21-Nov-2025 23:04:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:07 UTC]    Books columns count: 44
[21-Nov-2025 23:04:07 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:07 UTC]    Language field in books: YES
[21-Nov-2025 23:04:07 UTC]    Format field in books: YES
[21-Nov-2025 23:04:07 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:07 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:07 UTC] 📊 Database Info:
[21-Nov-2025 23:04:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:07 UTC]    Books columns count: 44
[21-Nov-2025 23:04:07 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:07 UTC]    Language field in books: YES
[21-Nov-2025 23:04:07 UTC]    Format field in books: YES
[21-Nov-2025 23:04:07 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:07 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:07 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:04:07 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:04:07 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:07 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:07 UTC] 📊 Database Info:
[21-Nov-2025 23:04:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:07 UTC]    Books columns count: 44
[21-Nov-2025 23:04:07 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:07 UTC]    Language field in books: YES
[21-Nov-2025 23:04:07 UTC]    Format field in books: YES
[21-Nov-2025 23:04:07 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:07 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:07 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:07 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:07 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:07 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:07 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:07 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:07 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:08 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:08 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:08 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:08 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:08 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:08 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:08 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:08 UTC] 📊 Database Info:
[21-Nov-2025 23:04:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:08 UTC]    Books columns count: 44
[21-Nov-2025 23:04:08 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:08 UTC]    Language field in books: YES
[21-Nov-2025 23:04:08 UTC]    Format field in books: YES
[21-Nov-2025 23:04:08 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:08 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:08 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:08 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:08 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:08 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:08 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:08 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:08 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:08 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:08 UTC] 📊 Database Info:
[21-Nov-2025 23:04:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:08 UTC]    Books columns count: 44
[21-Nov-2025 23:04:08 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:08 UTC]    Language field in books: YES
[21-Nov-2025 23:04:08 UTC]    Format field in books: YES
[21-Nov-2025 23:04:08 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:08 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:08 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:08 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:08 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:08 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:08 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:08 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:08 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:08 UTC] 📊 Database Info:
[21-Nov-2025 23:04:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:08 UTC]    Books columns count: 44
[21-Nov-2025 23:04:08 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:08 UTC]    Language field in books: YES
[21-Nov-2025 23:04:08 UTC]    Format field in books: YES
[21-Nov-2025 23:04:08 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:08 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:08 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:08 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:08 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:08 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:08 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:08 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:08 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:08 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:04:08 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:04:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:10 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:10 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:10 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:10 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:10 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:10 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:10 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:10 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:10 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:10 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:10 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:10 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:10 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:10 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:10 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:10 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:10 UTC] 📊 Database Info:
[21-Nov-2025 23:04:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:10 UTC]    Books columns count: 44
[21-Nov-2025 23:04:10 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:10 UTC]    Language field in books: YES
[21-Nov-2025 23:04:10 UTC]    Format field in books: YES
[21-Nov-2025 23:04:10 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:10 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:10 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:10 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:10 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:10 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:10 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:10 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:10 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:15 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:15 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:15 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:15 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:15 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:15 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:15 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:15 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:15 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:15 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:15 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:15 UTC] 📊 Database Info:
[21-Nov-2025 23:04:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:15 UTC]    Books columns count: 44
[21-Nov-2025 23:04:15 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:15 UTC]    Language field in books: YES
[21-Nov-2025 23:04:15 UTC]    Format field in books: YES
[21-Nov-2025 23:04:15 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:15 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:15 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:15 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:15 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:15 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:15 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:15 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:15 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:15 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:15 UTC] 📊 Database Info:
[21-Nov-2025 23:04:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:15 UTC]    Books columns count: 44
[21-Nov-2025 23:04:15 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:15 UTC]    Language field in books: YES
[21-Nov-2025 23:04:15 UTC]    Format field in books: YES
[21-Nov-2025 23:04:15 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:15 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:15 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:15 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:15 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:15 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:15 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:15 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:15 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:15 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:04:15 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:04:15 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:15 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:15 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:15 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:15 UTC] 📊 Database Info:
[21-Nov-2025 23:04:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:15 UTC]    Books columns count: 44
[21-Nov-2025 23:04:15 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:15 UTC]    Language field in books: YES
[21-Nov-2025 23:04:15 UTC]    Format field in books: YES
[21-Nov-2025 23:04:15 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:15 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:15 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:15 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:15 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:15 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:15 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:15 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:15 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:19 UTC] 📊 Database Info:
[21-Nov-2025 23:04:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:19 UTC]    Books columns count: 44
[21-Nov-2025 23:04:19 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:19 UTC]    Language field in books: YES
[21-Nov-2025 23:04:19 UTC]    Format field in books: YES
[21-Nov-2025 23:04:19 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:19 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:19 UTC] 📊 Database Info:
[21-Nov-2025 23:04:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:19 UTC]    Books columns count: 44
[21-Nov-2025 23:04:19 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:19 UTC]    Language field in books: YES
[21-Nov-2025 23:04:19 UTC]    Format field in books: YES
[21-Nov-2025 23:04:19 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:19 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:19 UTC] 📊 Database Info:
[21-Nov-2025 23:04:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:19 UTC]    Books columns count: 44
[21-Nov-2025 23:04:19 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:19 UTC]    Language field in books: YES
[21-Nov-2025 23:04:19 UTC]    Format field in books: YES
[21-Nov-2025 23:04:19 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:19 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:19 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:04:19 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:04:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:20 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:20 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:20 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:20 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:20 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:20 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:20 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:20 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:20 UTC] 📊 Database Info:
[21-Nov-2025 23:04:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:20 UTC]    Books columns count: 44
[21-Nov-2025 23:04:20 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:20 UTC]    Language field in books: YES
[21-Nov-2025 23:04:20 UTC]    Format field in books: YES
[21-Nov-2025 23:04:20 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:20 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:20 UTC] 📊 Database Info:
[21-Nov-2025 23:04:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:20 UTC]    Books columns count: 44
[21-Nov-2025 23:04:20 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:20 UTC]    Language field in books: YES
[21-Nov-2025 23:04:20 UTC]    Format field in books: YES
[21-Nov-2025 23:04:20 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:20 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:20 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:04:20 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:04:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:20 UTC] 📊 Database Info:
[21-Nov-2025 23:04:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:20 UTC]    Books columns count: 44
[21-Nov-2025 23:04:20 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:20 UTC]    Language field in books: YES
[21-Nov-2025 23:04:20 UTC]    Format field in books: YES
[21-Nov-2025 23:04:20 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:20 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:22 UTC] 📊 Database Info:
[21-Nov-2025 23:04:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:22 UTC]    Books columns count: 44
[21-Nov-2025 23:04:22 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:22 UTC]    Language field in books: YES
[21-Nov-2025 23:04:22 UTC]    Format field in books: YES
[21-Nov-2025 23:04:22 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:22 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:24 UTC] 📊 Database Info:
[21-Nov-2025 23:04:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:24 UTC]    Books columns count: 44
[21-Nov-2025 23:04:24 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:24 UTC]    Language field in books: YES
[21-Nov-2025 23:04:24 UTC]    Format field in books: YES
[21-Nov-2025 23:04:24 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:24 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:24 UTC] 📊 Database Info:
[21-Nov-2025 23:04:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:24 UTC]    Books columns count: 44
[21-Nov-2025 23:04:24 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:24 UTC]    Language field in books: YES
[21-Nov-2025 23:04:24 UTC]    Format field in books: YES
[21-Nov-2025 23:04:24 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:24 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:24 UTC] 📊 Database Info:
[21-Nov-2025 23:04:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:24 UTC]    Books columns count: 44
[21-Nov-2025 23:04:24 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:24 UTC]    Language field in books: YES
[21-Nov-2025 23:04:24 UTC]    Format field in books: YES
[21-Nov-2025 23:04:24 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:24 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:24 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:04:24 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:04:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:24 UTC] 📊 Database Info:
[21-Nov-2025 23:04:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:24 UTC]    Books columns count: 44
[21-Nov-2025 23:04:24 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:24 UTC]    Language field in books: YES
[21-Nov-2025 23:04:24 UTC]    Format field in books: YES
[21-Nov-2025 23:04:24 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:24 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:25 UTC] 📊 Database Info:
[21-Nov-2025 23:04:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:25 UTC]    Books columns count: 44
[21-Nov-2025 23:04:25 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:25 UTC]    Language field in books: YES
[21-Nov-2025 23:04:25 UTC]    Format field in books: YES
[21-Nov-2025 23:04:25 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:25 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:04:25 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:04:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:25 UTC] 📊 Database Info:
[21-Nov-2025 23:04:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:25 UTC]    Books columns count: 44
[21-Nov-2025 23:04:25 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:25 UTC]    Language field in books: YES
[21-Nov-2025 23:04:25 UTC]    Format field in books: YES
[21-Nov-2025 23:04:25 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:25 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:04:25 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:04:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:25 UTC] 📊 Database Info:
[21-Nov-2025 23:04:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:25 UTC]    Books columns count: 44
[21-Nov-2025 23:04:25 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:25 UTC]    Language field in books: YES
[21-Nov-2025 23:04:25 UTC]    Format field in books: YES
[21-Nov-2025 23:04:25 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:25 UTC] 📊 Database Info:
[21-Nov-2025 23:04:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:25 UTC]    Books columns count: 44
[21-Nov-2025 23:04:25 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:25 UTC]    Language field in books: YES
[21-Nov-2025 23:04:25 UTC]    Format field in books: YES
[21-Nov-2025 23:04:25 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:25 UTC] 📊 Database Info:
[21-Nov-2025 23:04:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:25 UTC]    Books columns count: 44
[21-Nov-2025 23:04:25 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:25 UTC]    Language field in books: YES
[21-Nov-2025 23:04:25 UTC]    Format field in books: YES
[21-Nov-2025 23:04:25 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:25 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:25 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:25 UTC] 📊 Database Info:
[21-Nov-2025 23:04:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:25 UTC]    Books columns count: 44
[21-Nov-2025 23:04:25 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:25 UTC]    Language field in books: YES
[21-Nov-2025 23:04:25 UTC]    Format field in books: YES
[21-Nov-2025 23:04:25 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:25 UTC] 📊 Database Info:
[21-Nov-2025 23:04:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:25 UTC]    Books columns count: 44
[21-Nov-2025 23:04:25 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:25 UTC]    Language field in books: YES
[21-Nov-2025 23:04:25 UTC]    Format field in books: YES
[21-Nov-2025 23:04:25 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:25 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:25 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:04:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:25 UTC] 📊 Database Info:
[21-Nov-2025 23:04:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:25 UTC]    Books columns count: 44
[21-Nov-2025 23:04:25 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:25 UTC]    Language field in books: YES
[21-Nov-2025 23:04:25 UTC]    Format field in books: YES
[21-Nov-2025 23:04:25 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:25 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:38 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:38 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:38 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:38 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:38 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:38 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:38 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:38 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:38 UTC] 📊 Database Info:
[21-Nov-2025 23:04:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:38 UTC]    Books columns count: 44
[21-Nov-2025 23:04:38 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:38 UTC]    Language field in books: YES
[21-Nov-2025 23:04:38 UTC]    Format field in books: YES
[21-Nov-2025 23:04:38 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:38 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:38 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:04:38 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:04:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:38 UTC] 📊 Database Info:
[21-Nov-2025 23:04:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:38 UTC]    Books columns count: 44
[21-Nov-2025 23:04:38 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:38 UTC]    Language field in books: YES
[21-Nov-2025 23:04:38 UTC]    Format field in books: YES
[21-Nov-2025 23:04:38 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:38 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:38 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:38 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:38 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:38 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:38 UTC] 📊 Database Info:
[21-Nov-2025 23:04:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:38 UTC]    Books columns count: 44
[21-Nov-2025 23:04:38 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:38 UTC]    Language field in books: YES
[21-Nov-2025 23:04:38 UTC]    Format field in books: YES
[21-Nov-2025 23:04:38 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:38 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:38 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:38 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:38 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:38 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:38 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:38 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:38 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:40 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:40 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:40 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:40 UTC] 📊 Database Info:
[21-Nov-2025 23:04:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:40 UTC]    Books columns count: 44
[21-Nov-2025 23:04:40 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:40 UTC]    Language field in books: YES
[21-Nov-2025 23:04:40 UTC]    Format field in books: YES
[21-Nov-2025 23:04:40 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:40 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:40 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:40 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:40 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:40 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:40 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:40 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:40 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:45 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:45 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:45 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:45 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:45 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:45 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:45 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:45 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:45 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:45 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:45 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:45 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:45 UTC] 📊 Database Info:
[21-Nov-2025 23:04:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:45 UTC]    Books columns count: 44
[21-Nov-2025 23:04:45 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:45 UTC]    Language field in books: YES
[21-Nov-2025 23:04:45 UTC]    Format field in books: YES
[21-Nov-2025 23:04:45 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:45 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:45 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:45 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:45 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:45 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:45 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:45 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:45 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:45 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:45 UTC] 📊 Database Info:
[21-Nov-2025 23:04:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:45 UTC]    Books columns count: 44
[21-Nov-2025 23:04:45 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:45 UTC]    Language field in books: YES
[21-Nov-2025 23:04:45 UTC]    Format field in books: YES
[21-Nov-2025 23:04:45 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:45 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:45 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:45 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:45 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:45 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:45 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:45 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:45 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:45 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:45 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:45 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:45 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:45 UTC] 📊 Database Info:
[21-Nov-2025 23:04:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:45 UTC]    Books columns count: 44
[21-Nov-2025 23:04:45 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:45 UTC]    Language field in books: YES
[21-Nov-2025 23:04:45 UTC]    Format field in books: YES
[21-Nov-2025 23:04:45 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:45 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:45 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:45 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:45 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:45 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:45 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:45 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:45 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:45 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:04:45 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:04:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:51 UTC] 📊 Database Info:
[21-Nov-2025 23:04:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:51 UTC]    Books columns count: 44
[21-Nov-2025 23:04:51 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:51 UTC]    Language field in books: YES
[21-Nov-2025 23:04:51 UTC]    Format field in books: YES
[21-Nov-2025 23:04:51 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:51 UTC] 📊 Database Info:
[21-Nov-2025 23:04:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:51 UTC]    Books columns count: 44
[21-Nov-2025 23:04:51 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:51 UTC]    Language field in books: YES
[21-Nov-2025 23:04:51 UTC]    Format field in books: YES
[21-Nov-2025 23:04:51 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:51 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:04:51 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:51 UTC] 📊 Database Info:
[21-Nov-2025 23:04:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:51 UTC]    Books columns count: 44
[21-Nov-2025 23:04:51 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:51 UTC]    Language field in books: YES
[21-Nov-2025 23:04:51 UTC]    Format field in books: YES
[21-Nov-2025 23:04:51 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:51 UTC] 📊 Database Info:
[21-Nov-2025 23:04:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:51 UTC]    Books columns count: 44
[21-Nov-2025 23:04:51 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:51 UTC]    Language field in books: YES
[21-Nov-2025 23:04:51 UTC]    Format field in books: YES
[21-Nov-2025 23:04:51 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:51 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:04:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:51 UTC] 📊 Database Info:
[21-Nov-2025 23:04:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:51 UTC]    Books columns count: 44
[21-Nov-2025 23:04:51 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:51 UTC]    Language field in books: YES
[21-Nov-2025 23:04:51 UTC]    Format field in books: YES
[21-Nov-2025 23:04:51 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:51 UTC] 📊 Database Info:
[21-Nov-2025 23:04:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:51 UTC]    Books columns count: 44
[21-Nov-2025 23:04:51 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:51 UTC]    Language field in books: YES
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC]    Format field in books: YES
[21-Nov-2025 23:04:51 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:51 UTC] 📊 Database Info:
[21-Nov-2025 23:04:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:51 UTC]    Books columns count: 44
[21-Nov-2025 23:04:51 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC]    Language field in books: YES
[21-Nov-2025 23:04:51 UTC]    Format field in books: YES
[21-Nov-2025 23:04:51 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:04:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:04:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:04:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:51 UTC] 📊 Database Info:
[21-Nov-2025 23:04:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:51 UTC]    Books columns count: 44
[21-Nov-2025 23:04:51 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:51 UTC]    Language field in books: YES
[21-Nov-2025 23:04:51 UTC]    Format field in books: YES
[21-Nov-2025 23:04:51 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:51 UTC] 📊 Database Info:
[21-Nov-2025 23:04:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:51 UTC]    Books columns count: 44
[21-Nov-2025 23:04:51 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:51 UTC]    Language field in books: YES
[21-Nov-2025 23:04:51 UTC]    Format field in books: YES
[21-Nov-2025 23:04:51 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:51 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:04:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:04:51 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:04:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:04:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:51 UTC] 📊 Database Info:
[21-Nov-2025 23:04:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:51 UTC]    Books columns count: 44
[21-Nov-2025 23:04:51 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:51 UTC]    Language field in books: YES
[21-Nov-2025 23:04:51 UTC]    Format field in books: YES
[21-Nov-2025 23:04:51 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:51 UTC] 📊 Database Info:
[21-Nov-2025 23:04:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:51 UTC]    Books columns count: 44
[21-Nov-2025 23:04:51 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:51 UTC]    Language field in books: YES
[21-Nov-2025 23:04:51 UTC]    Format field in books: YES
[21-Nov-2025 23:04:51 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:04:51 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:04:51 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:04:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:04:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:04:51 UTC] 📊 Database Info:
[21-Nov-2025 23:04:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:04:51 UTC]    Books columns count: 44
[21-Nov-2025 23:04:51 UTC]    Categories columns count: 7
[21-Nov-2025 23:04:51 UTC]    Language field in books: YES
[21-Nov-2025 23:04:51 UTC]    Format field in books: YES
[21-Nov-2025 23:04:51 UTC]    Description field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:04:51 UTC]    Is_active field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:04:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:04:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:04:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:04:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:04:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:04:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:05:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:05:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:05:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:05:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:05:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:05:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:05:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:05:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:05:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:05:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:05:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:05:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:05:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:05:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:05:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:05:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:05:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:05:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:05:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:05:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:05:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:05:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:05:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:05:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:05:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:05:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:05:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:05:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:05:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:05:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:05:30 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:05:30 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:05:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:05:30 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:05:30 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:05:30 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:05:30 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:05:30 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:05:30 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:05:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:05:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:05:30 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:05:30 UTC] 📊 Database Info:
[21-Nov-2025 23:05:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:05:30 UTC]    Books columns count: 44
[21-Nov-2025 23:05:30 UTC]    Categories columns count: 7
[21-Nov-2025 23:05:30 UTC]    Language field in books: YES
[21-Nov-2025 23:05:30 UTC]    Format field in books: YES
[21-Nov-2025 23:05:30 UTC]    Description field in categories: YES
[21-Nov-2025 23:05:30 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:05:30 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:05:30 UTC]    Is_active field in books: YES
[21-Nov-2025 23:05:30 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:05:30 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:05:30 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:05:30 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:05:30 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:05:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:05:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:05:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:05:30 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:05:30 UTC] 📊 Database Info:
[21-Nov-2025 23:05:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:05:30 UTC]    Books columns count: 44
[21-Nov-2025 23:05:30 UTC]    Categories columns count: 7
[21-Nov-2025 23:05:30 UTC]    Language field in books: YES
[21-Nov-2025 23:05:30 UTC]    Format field in books: YES
[21-Nov-2025 23:05:30 UTC]    Description field in categories: YES
[21-Nov-2025 23:05:30 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:05:30 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:05:30 UTC]    Is_active field in books: YES
[21-Nov-2025 23:05:30 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:05:30 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:05:30 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:05:30 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:05:30 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:05:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:05:30 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:05:30 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:05:30 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:05:30 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:05:30 UTC] 📊 Database Info:
[21-Nov-2025 23:05:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:05:30 UTC]    Books columns count: 44
[21-Nov-2025 23:05:30 UTC]    Categories columns count: 7
[21-Nov-2025 23:05:30 UTC]    Language field in books: YES
[21-Nov-2025 23:05:30 UTC]    Format field in books: YES
[21-Nov-2025 23:05:30 UTC]    Description field in categories: YES
[21-Nov-2025 23:05:30 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:05:30 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:05:30 UTC]    Is_active field in books: YES
[21-Nov-2025 23:05:30 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:05:30 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:05:30 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:05:30 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:05:30 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:05:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:05:30 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:05:30 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:05:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:05:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:05:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:05:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:05:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:05:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:05:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:05:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:05:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:05:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:05:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:05:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:05:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:05:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:05:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:05:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:05:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:05:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:05:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:05:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:05:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:05:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:05:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:05:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:05:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:05:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:05:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:05:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:05:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:05:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:05:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:05:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:05:41 UTC] 📊 Database Info:
[21-Nov-2025 23:05:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:05:41 UTC]    Books columns count: 44
[21-Nov-2025 23:05:41 UTC]    Categories columns count: 7
[21-Nov-2025 23:05:41 UTC]    Language field in books: YES
[21-Nov-2025 23:05:41 UTC]    Format field in books: YES
[21-Nov-2025 23:05:41 UTC]    Description field in categories: YES
[21-Nov-2025 23:05:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:05:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:05:41 UTC]    Is_active field in books: YES
[21-Nov-2025 23:05:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:05:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:05:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:05:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:05:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:05:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:05:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:05:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:05:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:05:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:05:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:05:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:05:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:05:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:05:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:05:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:05:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:05:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:05:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:05:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:05:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:05:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:05:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:05:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:05:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:05:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:05:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:05:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:05:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:05:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:05:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:05:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:05:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:05:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:05:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:05:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:05:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:05:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:05:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:05:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:05:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:05:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:05:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:05:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:05:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:05:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:05:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:05:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:05:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:05:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:05:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:05:44 UTC] 📊 Database Info:
[21-Nov-2025 23:05:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:05:44 UTC]    Books columns count: 44
[21-Nov-2025 23:05:44 UTC]    Categories columns count: 7
[21-Nov-2025 23:05:44 UTC]    Language field in books: YES
[21-Nov-2025 23:05:44 UTC]    Format field in books: YES
[21-Nov-2025 23:05:44 UTC]    Description field in categories: YES
[21-Nov-2025 23:05:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:05:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:05:44 UTC]    Is_active field in books: YES
[21-Nov-2025 23:05:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:05:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:05:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:05:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:05:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:05:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:05:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:05:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:05:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:05:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:05:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:05:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:05:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:05:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:05:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:05:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:05:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:05:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:05:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:05:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:05:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:05:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:05:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:05:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:05:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:05:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:05:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:05:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:05:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:05:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:05:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:05:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:05:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:05:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:05:49 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:05:49 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:05:49 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:05:49 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:05:49 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:05:49 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:05:49 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:05:49 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:05:49 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:05:49 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:05:49 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:05:49 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:05:49 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:05:49 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:05:49 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:05:49 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:05:49 UTC] 📊 Database Info:
[21-Nov-2025 23:05:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:05:49 UTC]    Books columns count: 44
[21-Nov-2025 23:05:49 UTC]    Categories columns count: 7
[21-Nov-2025 23:05:49 UTC]    Language field in books: YES
[21-Nov-2025 23:05:49 UTC]    Format field in books: YES
[21-Nov-2025 23:05:49 UTC]    Description field in categories: YES
[21-Nov-2025 23:05:49 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:05:49 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:05:49 UTC]    Is_active field in books: YES
[21-Nov-2025 23:05:49 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:05:49 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:05:49 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:05:49 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:05:49 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:05:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:05:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:05:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:05:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:05:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:05:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:05:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:05:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:05:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:05:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:05:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:05:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:05:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:05:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:05:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:05:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:05:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:05:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:05:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:05:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:05:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:05:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:05:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:05:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:05:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:05:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:05:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:05:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:05:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:05:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:05:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:05:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:05:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:05:51 UTC] 📊 Database Info:
[21-Nov-2025 23:05:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:05:51 UTC]    Books columns count: 44
[21-Nov-2025 23:05:51 UTC]    Categories columns count: 7
[21-Nov-2025 23:05:51 UTC]    Language field in books: YES
[21-Nov-2025 23:05:51 UTC]    Format field in books: YES
[21-Nov-2025 23:05:51 UTC]    Description field in categories: YES
[21-Nov-2025 23:05:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:05:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:05:51 UTC]    Is_active field in books: YES
[21-Nov-2025 23:05:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:05:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:05:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:05:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:05:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:05:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:05:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:05:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:05:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:05:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:05:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:05:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:05:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:05:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:05:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:05:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:05:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:05:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:05:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:05:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:05:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:05:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:05:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:05:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:05:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:05:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:05:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:05:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:05:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:05:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:05:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:05:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:05:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:05:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:05:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:05:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:05:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:05:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:05:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:05:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:05:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:05:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:05:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:05:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:05:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:05:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:05:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:05:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:05:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:05:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:05:53 UTC] 📊 Database Info:
[21-Nov-2025 23:05:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:05:53 UTC]    Books columns count: 44
[21-Nov-2025 23:05:53 UTC]    Categories columns count: 7
[21-Nov-2025 23:05:53 UTC]    Language field in books: YES
[21-Nov-2025 23:05:53 UTC]    Format field in books: YES
[21-Nov-2025 23:05:53 UTC]    Description field in categories: YES
[21-Nov-2025 23:05:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:05:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:05:53 UTC]    Is_active field in books: YES
[21-Nov-2025 23:05:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:05:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:05:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:05:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:05:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:05:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:06:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:06:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:06:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:06:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:06:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:06:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:06:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:06:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:06:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:06:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:06:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:06:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:06:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:06:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:06:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:06:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:06:43 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:06:43 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:06:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:06:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:06:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:06:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:06:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:06:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:06:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:06:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:06:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:06:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:06:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:06:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:06:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:06:43 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:06:43 UTC] 📊 Database Info:
[21-Nov-2025 23:06:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:06:43 UTC]    Books columns count: 44
[21-Nov-2025 23:06:43 UTC]    Categories columns count: 7
[21-Nov-2025 23:06:43 UTC]    Language field in books: YES
[21-Nov-2025 23:06:43 UTC]    Format field in books: YES
[21-Nov-2025 23:06:43 UTC]    Description field in categories: YES
[21-Nov-2025 23:06:43 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:06:43 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:06:43 UTC]    Is_active field in books: YES
[21-Nov-2025 23:06:43 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:06:43 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:06:43 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:06:43 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:06:43 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:06:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:06:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:07:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:07:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:07:36 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:07:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:07:36 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:07:36 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:07:36 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:07:36 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:07:36 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:07:36 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:07:36 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:07:36 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:07:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:07:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:07:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:07:36 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:07:36 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:07:36 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:07:36 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:07:36 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:07:36 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:07:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:07:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:07:36 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:07:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:07:36 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:07:36 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:07:36 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:07:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:07:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:07:36 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:07:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:07:36 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:07:36 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:07:36 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:07:36 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:07:36 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:07:36 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:07:36 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:07:36 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:07:36 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:07:36 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:07:36 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:07:36 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:07:36 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:07:36 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:07:36 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:07:36 UTC] 📊 Database Info:
[21-Nov-2025 23:07:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:07:36 UTC]    Books columns count: 44
[21-Nov-2025 23:07:36 UTC]    Categories columns count: 7
[21-Nov-2025 23:07:36 UTC]    Language field in books: YES
[21-Nov-2025 23:07:36 UTC]    Format field in books: YES
[21-Nov-2025 23:07:36 UTC]    Description field in categories: YES
[21-Nov-2025 23:07:36 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:07:36 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:07:36 UTC]    Is_active field in books: YES
[21-Nov-2025 23:07:36 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:07:36 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:07:36 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:07:36 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:07:36 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:07:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:07:36 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:07:36 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:07:36 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:07:36 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:07:36 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:07:36 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:07:36 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:07:36 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:07:36 UTC] 📊 Database Info:
[21-Nov-2025 23:07:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:07:36 UTC]    Books columns count: 44
[21-Nov-2025 23:07:36 UTC]    Categories columns count: 7
[21-Nov-2025 23:07:36 UTC]    Language field in books: YES
[21-Nov-2025 23:07:36 UTC]    Format field in books: YES
[21-Nov-2025 23:07:36 UTC]    Description field in categories: YES
[21-Nov-2025 23:07:36 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:07:36 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:07:36 UTC]    Is_active field in books: YES
[21-Nov-2025 23:07:36 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:07:36 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:07:36 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:07:36 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:07:36 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:07:36 UTC] 📊 Database Info:
[21-Nov-2025 23:07:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:07:36 UTC]    Books columns count: 44
[21-Nov-2025 23:07:36 UTC]    Categories columns count: 7
[21-Nov-2025 23:07:36 UTC]    Language field in books: YES
[21-Nov-2025 23:07:36 UTC]    Format field in books: YES
[21-Nov-2025 23:07:36 UTC]    Description field in categories: YES
[21-Nov-2025 23:07:36 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:07:36 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:07:36 UTC]    Is_active field in books: YES
[21-Nov-2025 23:07:36 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:07:36 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:07:36 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:07:36 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:07:36 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:07:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:07:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:07:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:07:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:07:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:07:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:07:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:07:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:07:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:07:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:07:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:07:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:07:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:07:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:07:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:07:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:07:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:07:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:07:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:07:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:07:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:07:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:07:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:07:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:07:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:07:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:07:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:07:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:07:41 UTC] 📊 Database Info:
[21-Nov-2025 23:07:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:07:41 UTC]    Books columns count: 44
[21-Nov-2025 23:07:41 UTC]    Categories columns count: 7
[21-Nov-2025 23:07:41 UTC]    Language field in books: YES
[21-Nov-2025 23:07:41 UTC]    Format field in books: YES
[21-Nov-2025 23:07:41 UTC]    Description field in categories: YES
[21-Nov-2025 23:07:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:07:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:07:41 UTC]    Is_active field in books: YES
[21-Nov-2025 23:07:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:07:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:07:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:07:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:07:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:07:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] 📊 Database Info:
[21-Nov-2025 23:08:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:12 UTC]    Books columns count: 44
[21-Nov-2025 23:08:12 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:12 UTC]    Language field in books: YES
[21-Nov-2025 23:08:12 UTC]    Format field in books: YES
[21-Nov-2025 23:08:12 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:08:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 23:08:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 23:08:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:12 UTC] 📊 Database Info:
[21-Nov-2025 23:08:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:12 UTC]    Books columns count: 44
[21-Nov-2025 23:08:12 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:12 UTC]    Language field in books: YES
[21-Nov-2025 23:08:12 UTC]    Format field in books: YES
[21-Nov-2025 23:08:12 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:12 UTC] 📊 Database Info:
[21-Nov-2025 23:08:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:12 UTC]    Books columns count: 44
[21-Nov-2025 23:08:12 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:12 UTC]    Language field in books: YES
[21-Nov-2025 23:08:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:12 UTC]    Format field in books: YES
[21-Nov-2025 23:08:12 UTC] 📊 Database Info:
[21-Nov-2025 23:08:12 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:12 UTC] 📊 Database Info:
[21-Nov-2025 23:08:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Books columns count: 44
[21-Nov-2025 23:08:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:12 UTC]    Books columns count: 44
[21-Nov-2025 23:08:12 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:12 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:12 UTC]    Language field in books: YES
[21-Nov-2025 23:08:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:12 UTC]    Format field in books: YES
[21-Nov-2025 23:08:12 UTC]    Language field in books: YES
[21-Nov-2025 23:08:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:12 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Format field in books: YES
[21-Nov-2025 23:08:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:12 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:08:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:08:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 23:08:12 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 23:08:12 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:12 UTC] 📊 Database Info:
[21-Nov-2025 23:08:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:12 UTC]    Books columns count: 44
[21-Nov-2025 23:08:12 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:12 UTC]    Language field in books: YES
[21-Nov-2025 23:08:12 UTC]    Format field in books: YES
[21-Nov-2025 23:08:12 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:12 UTC] 📊 Database Info:
[21-Nov-2025 23:08:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:12 UTC]    Books columns count: 44
[21-Nov-2025 23:08:12 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:12 UTC]    Language field in books: YES
[21-Nov-2025 23:08:12 UTC]    Format field in books: YES
[21-Nov-2025 23:08:12 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:12 UTC] 📊 Database Info:
[21-Nov-2025 23:08:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:12 UTC]    Books columns count: 44
[21-Nov-2025 23:08:12 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:12 UTC]    Language field in books: YES
[21-Nov-2025 23:08:12 UTC]    Format field in books: YES
[21-Nov-2025 23:08:12 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:08:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 23:08:12 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:12 UTC] 📊 Database Info:
[21-Nov-2025 23:08:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:12 UTC]    Books columns count: 44
[21-Nov-2025 23:08:12 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:12 UTC]    Language field in books: YES
[21-Nov-2025 23:08:12 UTC]    Format field in books: YES
[21-Nov-2025 23:08:12 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:08:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 23:08:12 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 23:08:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:12 UTC] 📊 Database Info:
[21-Nov-2025 23:08:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:12 UTC]    Books columns count: 44
[21-Nov-2025 23:08:12 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:12 UTC]    Language field in books: YES
[21-Nov-2025 23:08:12 UTC]    Format field in books: YES
[21-Nov-2025 23:08:12 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:12 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:08:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 23:08:12 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 23:08:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:13 UTC] 📊 Database Info:
[21-Nov-2025 23:08:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:13 UTC]    Books columns count: 44
[21-Nov-2025 23:08:13 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:13 UTC]    Language field in books: YES
[21-Nov-2025 23:08:13 UTC]    Format field in books: YES
[21-Nov-2025 23:08:13 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:13 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:13 UTC] 📊 Database Info:
[21-Nov-2025 23:08:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:13 UTC]    Books columns count: 44
[21-Nov-2025 23:08:13 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:13 UTC]    Language field in books: YES
[21-Nov-2025 23:08:13 UTC]    Format field in books: YES
[21-Nov-2025 23:08:13 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:13 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:13 UTC] 📊 Database Info:
[21-Nov-2025 23:08:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:13 UTC]    Books columns count: 44
[21-Nov-2025 23:08:13 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:13 UTC]    Language field in books: YES
[21-Nov-2025 23:08:13 UTC]    Format field in books: YES
[21-Nov-2025 23:08:13 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:13 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:13 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:08:13 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:08:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:16 UTC] 📊 Database Info:
[21-Nov-2025 23:08:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:16 UTC]    Books columns count: 44
[21-Nov-2025 23:08:16 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:16 UTC]    Language field in books: YES
[21-Nov-2025 23:08:16 UTC]    Format field in books: YES
[21-Nov-2025 23:08:16 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:16 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:16 UTC] 📊 Database Info:
[21-Nov-2025 23:08:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:16 UTC]    Books columns count: 44
[21-Nov-2025 23:08:16 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:16 UTC]    Language field in books: YES
[21-Nov-2025 23:08:16 UTC]    Format field in books: YES
[21-Nov-2025 23:08:16 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:16 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:16 UTC] 📊 Database Info:
[21-Nov-2025 23:08:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:16 UTC]    Books columns count: 44
[21-Nov-2025 23:08:16 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:16 UTC]    Language field in books: YES
[21-Nov-2025 23:08:16 UTC]    Format field in books: YES
[21-Nov-2025 23:08:16 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:16 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:16 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:08:16 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:08:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:17 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:17 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:17 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:17 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:17 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:17 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:17 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:17 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:17 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:17 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:17 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:17 UTC] 📊 Database Info:
[21-Nov-2025 23:08:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:17 UTC]    Books columns count: 44
[21-Nov-2025 23:08:17 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:17 UTC]    Language field in books: YES
[21-Nov-2025 23:08:17 UTC]    Format field in books: YES
[21-Nov-2025 23:08:17 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:17 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:17 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:17 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:17 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:17 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:17 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:17 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:17 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:17 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:17 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:17 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:17 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:17 UTC] 📊 Database Info:
[21-Nov-2025 23:08:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:17 UTC]    Books columns count: 44
[21-Nov-2025 23:08:17 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:17 UTC]    Language field in books: YES
[21-Nov-2025 23:08:17 UTC]    Format field in books: YES
[21-Nov-2025 23:08:17 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:17 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:17 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:17 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:17 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:17 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:17 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:17 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:17 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:19 UTC] 📊 Database Info:
[21-Nov-2025 23:08:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:19 UTC]    Books columns count: 44
[21-Nov-2025 23:08:19 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:19 UTC]    Language field in books: YES
[21-Nov-2025 23:08:19 UTC]    Format field in books: YES
[21-Nov-2025 23:08:19 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:19 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:22 UTC] 📊 Database Info:
[21-Nov-2025 23:08:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:22 UTC]    Books columns count: 44
[21-Nov-2025 23:08:22 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:22 UTC]    Language field in books: YES
[21-Nov-2025 23:08:22 UTC]    Format field in books: YES
[21-Nov-2025 23:08:22 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:22 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:54 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:54 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:54 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:54 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:54 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:54 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:54 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:54 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:54 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:54 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:54 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:54 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:54 UTC] 📊 Database Info:
[21-Nov-2025 23:08:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:54 UTC]    Books columns count: 44
[21-Nov-2025 23:08:54 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:54 UTC]    Language field in books: YES
[21-Nov-2025 23:08:54 UTC]    Format field in books: YES
[21-Nov-2025 23:08:54 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:54 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:54 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:54 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:54 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:54 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:54 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:54 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:54 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:54 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:08:54 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:08:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:54 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:54 UTC] 📊 Database Info:
[21-Nov-2025 23:08:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:54 UTC]    Books columns count: 44
[21-Nov-2025 23:08:54 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:54 UTC]    Language field in books: YES
[21-Nov-2025 23:08:54 UTC]    Format field in books: YES
[21-Nov-2025 23:08:54 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:54 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:54 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:54 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:54 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:54 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:54 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:54 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:54 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:54 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:54 UTC] 📊 Database Info:
[21-Nov-2025 23:08:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:54 UTC]    Books columns count: 44
[21-Nov-2025 23:08:54 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:54 UTC]    Language field in books: YES
[21-Nov-2025 23:08:54 UTC]    Format field in books: YES
[21-Nov-2025 23:08:54 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:54 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:54 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:54 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:54 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:54 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:54 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:54 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:54 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:55 UTC] 📊 Database Info:
[21-Nov-2025 23:08:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:55 UTC]    Books columns count: 44
[21-Nov-2025 23:08:55 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:55 UTC]    Language field in books: YES
[21-Nov-2025 23:08:55 UTC]    Format field in books: YES
[21-Nov-2025 23:08:55 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:55 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:08:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:08:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:08:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:08:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:08:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:08:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:08:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:08:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:08:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:08:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:08:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:08:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:08:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:08:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:08:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:08:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:08:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:08:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:08:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:08:57 UTC] 📊 Database Info:
[21-Nov-2025 23:08:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:08:57 UTC]    Books columns count: 44
[21-Nov-2025 23:08:57 UTC]    Categories columns count: 7
[21-Nov-2025 23:08:57 UTC]    Language field in books: YES
[21-Nov-2025 23:08:57 UTC]    Format field in books: YES
[21-Nov-2025 23:08:57 UTC]    Description field in categories: YES
[21-Nov-2025 23:08:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:08:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:08:57 UTC]    Is_active field in books: YES
[21-Nov-2025 23:08:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:08:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:08:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:08:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:08:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:08:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:08:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:08:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:08:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:08:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:08:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:08:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:08:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:08:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:08:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:08:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:08:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:08:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:12:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:12:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:12:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:12:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:12:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:12:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:12:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:12:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:12:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:12:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:12:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:12:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:12:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:12:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:12:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:12:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:12:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:12:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:12:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:12:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:12:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:12:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:12:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:12:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:12:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:12:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:12:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:12:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:12:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:12:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:12:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:12:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:12:13 UTC] 📊 Database Info:
[21-Nov-2025 23:12:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:12:13 UTC]    Books columns count: 44
[21-Nov-2025 23:12:13 UTC]    Categories columns count: 7
[21-Nov-2025 23:12:13 UTC]    Language field in books: YES
[21-Nov-2025 23:12:13 UTC]    Format field in books: YES
[21-Nov-2025 23:12:13 UTC]    Description field in categories: YES
[21-Nov-2025 23:12:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:12:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:12:13 UTC]    Is_active field in books: YES
[21-Nov-2025 23:12:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:12:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:12:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:12:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:12:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:12:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:12:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:12:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:12:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:12:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:12:13 UTC] 📊 Database Info:
[21-Nov-2025 23:12:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:12:13 UTC]    Books columns count: 44
[21-Nov-2025 23:12:13 UTC]    Categories columns count: 7
[21-Nov-2025 23:12:13 UTC]    Language field in books: YES
[21-Nov-2025 23:12:13 UTC]    Format field in books: YES
[21-Nov-2025 23:12:13 UTC]    Description field in categories: YES
[21-Nov-2025 23:12:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:12:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:12:13 UTC]    Is_active field in books: YES
[21-Nov-2025 23:12:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:12:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:12:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:12:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:12:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:12:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:12:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:12:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:12:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:12:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:12:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:12:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:12:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:12:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:12:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:12:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:12:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:12:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:12:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:12:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:12:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:12:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:12:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:12:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:12:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:12:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:12:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:12:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:12:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:12:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:12:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:12:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:12:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:12:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:12:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:12:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:12:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:12:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:12:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:12:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:12:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:12:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:12:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:12:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:12:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:12:13 UTC] 📊 Database Info:
[21-Nov-2025 23:12:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:12:13 UTC]    Books columns count: 44
[21-Nov-2025 23:12:13 UTC]    Categories columns count: 7
[21-Nov-2025 23:12:13 UTC]    Language field in books: YES
[21-Nov-2025 23:12:13 UTC]    Format field in books: YES
[21-Nov-2025 23:12:13 UTC]    Description field in categories: YES
[21-Nov-2025 23:12:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:12:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:12:13 UTC]    Is_active field in books: YES
[21-Nov-2025 23:12:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:12:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:12:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:12:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:12:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:12:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:12:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:12:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:12:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:12:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:12:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:12:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:12:13 UTC] 📊 Database Info:
[21-Nov-2025 23:12:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:12:13 UTC]    Books columns count: 44
[21-Nov-2025 23:12:13 UTC]    Categories columns count: 7
[21-Nov-2025 23:12:13 UTC]    Language field in books: YES
[21-Nov-2025 23:12:13 UTC]    Format field in books: YES
[21-Nov-2025 23:12:13 UTC]    Description field in categories: YES
[21-Nov-2025 23:12:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:12:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:12:13 UTC]    Is_active field in books: YES
[21-Nov-2025 23:12:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:12:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:12:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:12:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:12:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:12:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:12:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:12:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:12:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:12:13 UTC] 📊 Database Info:
[21-Nov-2025 23:12:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:12:13 UTC]    Books columns count: 44
[21-Nov-2025 23:12:13 UTC]    Categories columns count: 7
[21-Nov-2025 23:12:13 UTC]    Language field in books: YES
[21-Nov-2025 23:12:13 UTC]    Format field in books: YES
[21-Nov-2025 23:12:13 UTC]    Description field in categories: YES
[21-Nov-2025 23:12:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:12:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:12:13 UTC]    Is_active field in books: YES
[21-Nov-2025 23:12:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:12:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:12:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:12:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:12:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:12:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:12:13 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:12:13 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:12:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:12:13 UTC] 📊 Database Info:
[21-Nov-2025 23:12:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:12:13 UTC]    Books columns count: 44
[21-Nov-2025 23:12:13 UTC]    Categories columns count: 7
[21-Nov-2025 23:12:13 UTC]    Language field in books: YES
[21-Nov-2025 23:12:13 UTC]    Format field in books: YES
[21-Nov-2025 23:12:13 UTC]    Description field in categories: YES
[21-Nov-2025 23:12:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:12:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:12:13 UTC]    Is_active field in books: YES
[21-Nov-2025 23:12:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:12:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:12:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:12:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:12:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:12:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:12:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:12:13 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:12:13 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:12:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:12:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:12:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:12:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:12:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:12:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:12:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:12:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:12:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:12:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:12:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:12:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:12:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:12:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:12:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:12:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:12:14 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:12:14 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:12:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:12:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:12:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:12:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:12:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:12:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:12:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:12:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:12:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:12:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:12:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:12:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:12:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:12:14 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:12:14 UTC] 📊 Database Info:
[21-Nov-2025 23:12:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:12:14 UTC]    Books columns count: 44
[21-Nov-2025 23:12:14 UTC]    Categories columns count: 7
[21-Nov-2025 23:12:14 UTC]    Language field in books: YES
[21-Nov-2025 23:12:14 UTC]    Format field in books: YES
[21-Nov-2025 23:12:14 UTC]    Description field in categories: YES
[21-Nov-2025 23:12:14 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:12:14 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:12:14 UTC]    Is_active field in books: YES
[21-Nov-2025 23:12:14 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:12:14 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:12:14 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:12:14 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:12:14 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:12:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:12:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:12:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:12:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:12:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:12:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:12:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:12:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:12:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:12:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:12:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:12:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:12:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:12:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:12:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:12:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:12:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:12:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:12:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:12:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:12:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:12:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:12:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:12:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:12:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:12:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:12:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:12:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:12:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:12:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:12:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:12:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:12:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:12:16 UTC] 📊 Database Info:
[21-Nov-2025 23:12:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:12:16 UTC]    Books columns count: 44
[21-Nov-2025 23:12:16 UTC]    Categories columns count: 7
[21-Nov-2025 23:12:16 UTC]    Language field in books: YES
[21-Nov-2025 23:12:16 UTC]    Format field in books: YES
[21-Nov-2025 23:12:16 UTC]    Description field in categories: YES
[21-Nov-2025 23:12:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:12:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:12:16 UTC]    Is_active field in books: YES
[21-Nov-2025 23:12:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:12:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:12:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:12:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:12:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:12:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:17:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:17:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:17:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:17:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:17:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:17:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:17:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:17:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:17:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:17:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:17:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:17:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:17:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:17:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:17:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:17:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:17:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:17:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:17:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:17:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:17:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:17:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:17:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:17:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:17:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:17:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:17:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:17:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:17:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:17:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:17:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:17:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:17:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:17:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:17:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:17:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:17:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:17:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:17:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:17:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:17:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:17:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:17:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:17:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:17:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:17:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:17:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:17:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:17:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:17:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:17:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:17:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:17:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:17:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:17:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:17:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:17:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:17:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:17:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:17:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:17:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:17:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:17:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:17:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:17:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:17:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:17:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:17:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:17:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:17:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:17:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:17:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:17:19 UTC] 📊 Database Info:
[21-Nov-2025 23:17:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:17:19 UTC]    Books columns count: 44
[21-Nov-2025 23:17:19 UTC]    Categories columns count: 7
[21-Nov-2025 23:17:19 UTC]    Language field in books: YES
[21-Nov-2025 23:17:19 UTC]    Format field in books: YES
[21-Nov-2025 23:17:19 UTC]    Description field in categories: YES
[21-Nov-2025 23:17:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:17:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:17:19 UTC]    Is_active field in books: YES
[21-Nov-2025 23:17:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:17:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:17:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:17:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:17:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:17:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:17:19 UTC] 📊 Database Info:
[21-Nov-2025 23:17:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:17:19 UTC]    Books columns count: 44
[21-Nov-2025 23:17:19 UTC]    Categories columns count: 7
[21-Nov-2025 23:17:19 UTC]    Language field in books: YES
[21-Nov-2025 23:17:19 UTC]    Format field in books: YES
[21-Nov-2025 23:17:19 UTC]    Description field in categories: YES
[21-Nov-2025 23:17:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:17:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:17:19 UTC]    Is_active field in books: YES
[21-Nov-2025 23:17:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:17:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:17:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:17:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:17:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:17:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:17:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:17:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:17:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:17:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:17:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:17:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:17:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:17:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:17:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:17:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:17:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:17:20 UTC] 📊 Database Info:
[21-Nov-2025 23:17:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:17:20 UTC]    Books columns count: 44
[21-Nov-2025 23:17:20 UTC]    Categories columns count: 7
[21-Nov-2025 23:17:20 UTC]    Language field in books: YES
[21-Nov-2025 23:17:20 UTC]    Format field in books: YES
[21-Nov-2025 23:17:20 UTC]    Description field in categories: YES
[21-Nov-2025 23:17:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:17:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:17:20 UTC]    Is_active field in books: YES
[21-Nov-2025 23:17:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:17:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:17:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:17:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:17:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:17:20 UTC] 📊 Database Info:
[21-Nov-2025 23:17:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:17:20 UTC]    Books columns count: 44
[21-Nov-2025 23:17:20 UTC]    Categories columns count: 7
[21-Nov-2025 23:17:20 UTC]    Language field in books: YES
[21-Nov-2025 23:17:20 UTC]    Format field in books: YES
[21-Nov-2025 23:17:20 UTC]    Description field in categories: YES
[21-Nov-2025 23:17:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:17:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:17:20 UTC]    Is_active field in books: YES
[21-Nov-2025 23:17:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:17:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:17:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:17:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:17:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:17:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:17:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:17:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:17:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:17:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:17:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:17:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:17:20 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:17:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:17:20 UTC] 📊 Database Info:
[21-Nov-2025 23:17:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:17:20 UTC]    Books columns count: 44
[21-Nov-2025 23:17:20 UTC]    Categories columns count: 7
[21-Nov-2025 23:17:20 UTC]    Language field in books: YES
[21-Nov-2025 23:17:20 UTC]    Format field in books: YES
[21-Nov-2025 23:17:20 UTC]    Description field in categories: YES
[21-Nov-2025 23:17:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:17:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:17:20 UTC]    Is_active field in books: YES
[21-Nov-2025 23:17:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:17:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:17:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:17:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:17:20 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:17:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:17:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:17:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:17:20 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:17:20 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:17:20 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:17:20 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:17:20 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:17:20 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:17:20 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:17:20 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:17:20 UTC] 📊 Database Info:
[21-Nov-2025 23:17:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:17:20 UTC]    Books columns count: 44
[21-Nov-2025 23:17:20 UTC]    Categories columns count: 7
[21-Nov-2025 23:17:20 UTC]    Language field in books: YES
[21-Nov-2025 23:17:20 UTC]    Format field in books: YES
[21-Nov-2025 23:17:20 UTC]    Description field in categories: YES
[21-Nov-2025 23:17:20 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:17:20 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:17:20 UTC]    Is_active field in books: YES
[21-Nov-2025 23:17:20 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:17:20 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:17:20 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:17:20 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:17:20 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:17:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:17:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:17:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:17:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:17:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:17:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:17:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:17:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:17:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:17:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:17:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:17:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:17:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:17:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:17:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:17:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:17:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:17:21 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:17:21 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:17:21 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:17:21 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:17:21 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:17:21 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:17:21 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:17:21 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:17:21 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:17:21 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:17:21 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:17:21 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:17:21 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:17:21 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:17:21 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:17:21 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:17:21 UTC] 📊 Database Info:
[21-Nov-2025 23:17:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:17:21 UTC]    Books columns count: 44
[21-Nov-2025 23:17:21 UTC]    Categories columns count: 7
[21-Nov-2025 23:17:21 UTC]    Language field in books: YES
[21-Nov-2025 23:17:21 UTC]    Format field in books: YES
[21-Nov-2025 23:17:21 UTC]    Description field in categories: YES
[21-Nov-2025 23:17:21 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:17:21 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:17:21 UTC]    Is_active field in books: YES
[21-Nov-2025 23:17:21 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:17:21 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:17:21 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:17:21 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:17:21 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:17:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:17:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:17:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:17:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:17:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:17:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:17:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:17:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:17:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:17:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:17:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:17:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:17:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:17:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:17:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:17:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:17:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:17:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:17:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:17:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:17:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:17:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:17:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:17:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:17:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:17:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:17:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:17:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:17:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:17:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:17:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:17:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:17:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:17:23 UTC] 📊 Database Info:
[21-Nov-2025 23:17:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:17:23 UTC]    Books columns count: 44
[21-Nov-2025 23:17:23 UTC]    Categories columns count: 7
[21-Nov-2025 23:17:23 UTC]    Language field in books: YES
[21-Nov-2025 23:17:23 UTC]    Format field in books: YES
[21-Nov-2025 23:17:23 UTC]    Description field in categories: YES
[21-Nov-2025 23:17:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:17:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:17:23 UTC]    Is_active field in books: YES
[21-Nov-2025 23:17:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:17:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:17:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:17:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:17:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:17:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:17:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:17:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:17:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:17:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:17:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:17:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:17:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:17:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:17:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:17:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:17:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:17:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:21:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:21:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:21:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:21:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:21:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:21:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:21:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:21:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:21:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:21:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:21:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:21:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:21:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:21:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:21:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:21:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:21:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:21:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:21:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:21:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:22 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:22 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:21:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:22 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:21:22 UTC] 📊 Database Info:
[21-Nov-2025 23:21:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:21:22 UTC]    Books columns count: 44
[21-Nov-2025 23:21:22 UTC]    Categories columns count: 7
[21-Nov-2025 23:21:22 UTC]    Language field in books: YES
[21-Nov-2025 23:21:22 UTC]    Format field in books: YES
[21-Nov-2025 23:21:22 UTC]    Description field in categories: YES
[21-Nov-2025 23:21:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:21:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:21:22 UTC]    Is_active field in books: YES
[21-Nov-2025 23:21:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:21:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:21:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:21:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:21:22 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:21:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:21:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:21:22 UTC] 📊 Database Info:
[21-Nov-2025 23:21:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:21:22 UTC]    Books columns count: 44
[21-Nov-2025 23:21:22 UTC]    Categories columns count: 7
[21-Nov-2025 23:21:22 UTC]    Language field in books: YES
[21-Nov-2025 23:21:22 UTC]    Format field in books: YES
[21-Nov-2025 23:21:22 UTC]    Description field in categories: YES
[21-Nov-2025 23:21:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:21:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:21:22 UTC]    Is_active field in books: YES
[21-Nov-2025 23:21:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:21:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:21:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:21:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:21:22 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:21:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:21:22 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:22 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:22 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:22 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:21:22 UTC] 📊 Database Info:
[21-Nov-2025 23:21:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:21:22 UTC]    Books columns count: 44
[21-Nov-2025 23:21:22 UTC]    Categories columns count: 7
[21-Nov-2025 23:21:22 UTC]    Language field in books: YES
[21-Nov-2025 23:21:22 UTC]    Format field in books: YES
[21-Nov-2025 23:21:22 UTC]    Description field in categories: YES
[21-Nov-2025 23:21:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:21:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:21:22 UTC]    Is_active field in books: YES
[21-Nov-2025 23:21:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:21:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:21:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:21:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:21:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:21:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:21:22 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:21:22 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:21:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:21:22 UTC] 📊 Database Info:
[21-Nov-2025 23:21:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:21:22 UTC]    Books columns count: 44
[21-Nov-2025 23:21:22 UTC]    Categories columns count: 7
[21-Nov-2025 23:21:22 UTC]    Language field in books: YES
[21-Nov-2025 23:21:22 UTC]    Format field in books: YES
[21-Nov-2025 23:21:22 UTC]    Description field in categories: YES
[21-Nov-2025 23:21:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:21:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:21:22 UTC]    Is_active field in books: YES
[21-Nov-2025 23:21:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:21:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:21:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:21:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:21:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:21:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:21:22 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:21:22 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:21:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:22 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:22 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:22 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:21:22 UTC] 📊 Database Info:
[21-Nov-2025 23:21:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:21:22 UTC]    Books columns count: 44
[21-Nov-2025 23:21:22 UTC]    Categories columns count: 7
[21-Nov-2025 23:21:22 UTC]    Language field in books: YES
[21-Nov-2025 23:21:22 UTC]    Format field in books: YES
[21-Nov-2025 23:21:22 UTC]    Description field in categories: YES
[21-Nov-2025 23:21:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:21:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:21:22 UTC]    Is_active field in books: YES
[21-Nov-2025 23:21:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:21:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:21:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:21:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:21:22 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:21:22 UTC] 📊 Database Info:
[21-Nov-2025 23:21:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:21:22 UTC]    Books columns count: 44
[21-Nov-2025 23:21:22 UTC]    Categories columns count: 7
[21-Nov-2025 23:21:22 UTC]    Language field in books: YES
[21-Nov-2025 23:21:22 UTC]    Format field in books: YES
[21-Nov-2025 23:21:22 UTC]    Description field in categories: YES
[21-Nov-2025 23:21:22 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:21:22 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:21:22 UTC]    Is_active field in books: YES
[21-Nov-2025 23:21:22 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:21:22 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:21:22 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:21:22 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:21:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:21:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:21:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:21:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:21:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:21:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:21:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:23 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:21:23 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:21:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:23 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:23 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:23 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:23 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:23 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:23 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:21:23 UTC] 📊 Database Info:
[21-Nov-2025 23:21:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:21:23 UTC]    Books columns count: 44
[21-Nov-2025 23:21:23 UTC]    Categories columns count: 7
[21-Nov-2025 23:21:23 UTC]    Language field in books: YES
[21-Nov-2025 23:21:23 UTC]    Format field in books: YES
[21-Nov-2025 23:21:23 UTC]    Description field in categories: YES
[21-Nov-2025 23:21:23 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:21:23 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:21:23 UTC]    Is_active field in books: YES
[21-Nov-2025 23:21:23 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:21:23 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:21:23 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:21:23 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:21:23 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:21:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:21:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:21:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:21:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:21:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:21:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:21:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:21:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:21:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:21:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:21:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:21:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:21:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:21:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:21:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:21:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:25 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:21:25 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:21:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:21:25 UTC] 📊 Database Info:
[21-Nov-2025 23:21:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:21:25 UTC]    Books columns count: 44
[21-Nov-2025 23:21:25 UTC]    Categories columns count: 7
[21-Nov-2025 23:21:25 UTC]    Language field in books: YES
[21-Nov-2025 23:21:25 UTC]    Format field in books: YES
[21-Nov-2025 23:21:25 UTC]    Description field in categories: YES
[21-Nov-2025 23:21:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:21:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:21:25 UTC]    Is_active field in books: YES
[21-Nov-2025 23:21:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:21:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:21:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:21:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:21:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:21:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:21:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:21:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:21:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:21:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:21:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:21:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:21:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:21:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:21:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:21:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:21:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:21:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:21:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:21:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:21:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:28 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:21:28 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:21:28 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:28 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:28 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:28 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:28 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:28 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:28 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:28 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:28 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:28 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:28 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:28 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:28 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:28 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:21:28 UTC] 📊 Database Info:
[21-Nov-2025 23:21:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:21:28 UTC]    Books columns count: 44
[21-Nov-2025 23:21:28 UTC]    Categories columns count: 7
[21-Nov-2025 23:21:28 UTC]    Language field in books: YES
[21-Nov-2025 23:21:28 UTC]    Format field in books: YES
[21-Nov-2025 23:21:28 UTC]    Description field in categories: YES
[21-Nov-2025 23:21:28 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:21:28 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:21:28 UTC]    Is_active field in books: YES
[21-Nov-2025 23:21:28 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:21:28 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:21:28 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:21:28 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:21:28 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:21:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:21:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:21:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:21:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:21:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:21:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:21:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:21:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:21:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:21:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:21:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:21:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:21:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:21:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:21:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:21:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:21:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:40 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:21:40 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:21:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:21:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:40 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:21:40 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:21:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:21:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:40 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:21:40 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:21:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:21:40 UTC] 📊 Database Info:
[21-Nov-2025 23:21:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:21:40 UTC]    Books columns count: 44
[21-Nov-2025 23:21:40 UTC]    Categories columns count: 7
[21-Nov-2025 23:21:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:40 UTC]    Language field in books: YES
[21-Nov-2025 23:21:40 UTC]    Format field in books: YES
[21-Nov-2025 23:21:40 UTC]    Description field in categories: YES
[21-Nov-2025 23:21:40 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:21:40 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:21:40 UTC]    Is_active field in books: YES
[21-Nov-2025 23:21:40 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:21:40 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:21:40 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:21:40 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:21:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:21:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:21:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:40 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:21:40 UTC] 📊 Database Info:
[21-Nov-2025 23:21:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:21:40 UTC]    Books columns count: 44
[21-Nov-2025 23:21:40 UTC]    Categories columns count: 7
[21-Nov-2025 23:21:40 UTC]    Language field in books: YES
[21-Nov-2025 23:21:40 UTC]    Format field in books: YES
[21-Nov-2025 23:21:40 UTC]    Description field in categories: YES
[21-Nov-2025 23:21:40 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:21:40 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:21:40 UTC]    Is_active field in books: YES
[21-Nov-2025 23:21:40 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:21:40 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:21:40 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:21:40 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:21:40 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:21:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:21:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:21:40 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 23:21:40 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 23:21:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:40 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:21:40 UTC] 📊 Database Info:
[21-Nov-2025 23:21:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:21:40 UTC]    Books columns count: 44
[21-Nov-2025 23:21:40 UTC]    Categories columns count: 7
[21-Nov-2025 23:21:40 UTC]    Language field in books: YES
[21-Nov-2025 23:21:40 UTC]    Format field in books: YES
[21-Nov-2025 23:21:40 UTC]    Description field in categories: YES
[21-Nov-2025 23:21:40 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:21:40 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:21:40 UTC]    Is_active field in books: YES
[21-Nov-2025 23:21:40 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:21:40 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:21:40 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:21:40 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:21:40 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:21:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:21:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:21:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:21:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:21:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:21:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:21:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:21:41 UTC] 📊 Database Info:
[21-Nov-2025 23:21:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:21:41 UTC]    Books columns count: 44
[21-Nov-2025 23:21:41 UTC]    Categories columns count: 7
[21-Nov-2025 23:21:41 UTC]    Language field in books: YES
[21-Nov-2025 23:21:41 UTC]    Format field in books: YES
[21-Nov-2025 23:21:41 UTC]    Description field in categories: YES
[21-Nov-2025 23:21:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:21:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:21:41 UTC]    Is_active field in books: YES
[21-Nov-2025 23:21:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:21:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:21:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:21:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:21:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:21:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:21:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:21:41 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 23:21:41 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 23:21:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:21:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:21:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:21:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:21:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:21:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:21:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:21:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:21:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:21:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:21:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:51 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:21:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:51 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:21:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:51 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:51 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:51 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:51 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:51 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:51 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:51 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:21:51 UTC] 📊 Database Info:
[21-Nov-2025 23:21:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:21:51 UTC]    Books columns count: 44
[21-Nov-2025 23:21:51 UTC]    Categories columns count: 7
[21-Nov-2025 23:21:51 UTC]    Language field in books: YES
[21-Nov-2025 23:21:51 UTC]    Format field in books: YES
[21-Nov-2025 23:21:51 UTC]    Description field in categories: YES
[21-Nov-2025 23:21:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:21:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:21:51 UTC]    Is_active field in books: YES
[21-Nov-2025 23:21:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:21:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:21:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:21:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:21:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:21:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:21:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:51 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:51 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:51 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:21:51 UTC] 📊 Database Info:
[21-Nov-2025 23:21:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:21:51 UTC]    Books columns count: 44
[21-Nov-2025 23:21:51 UTC]    Categories columns count: 7
[21-Nov-2025 23:21:51 UTC]    Language field in books: YES
[21-Nov-2025 23:21:51 UTC]    Format field in books: YES
[21-Nov-2025 23:21:51 UTC]    Description field in categories: YES
[21-Nov-2025 23:21:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:21:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:21:51 UTC]    Is_active field in books: YES
[21-Nov-2025 23:21:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:21:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:21:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:21:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:21:51 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:21:51 UTC] 📊 Database Info:
[21-Nov-2025 23:21:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:21:51 UTC]    Books columns count: 44
[21-Nov-2025 23:21:51 UTC]    Categories columns count: 7
[21-Nov-2025 23:21:51 UTC]    Language field in books: YES
[21-Nov-2025 23:21:51 UTC]    Format field in books: YES
[21-Nov-2025 23:21:51 UTC]    Description field in categories: YES
[21-Nov-2025 23:21:51 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:21:51 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:21:51 UTC]    Is_active field in books: YES
[21-Nov-2025 23:21:51 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:21:51 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:21:51 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:21:51 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:21:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:21:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:21:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:21:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:21:51 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 23:21:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:21:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:21:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:21:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:21:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:21:52 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:21:52 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:21:52 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:21:52 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:21:52 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:21:52 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:21:52 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:21:52 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:21:52 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:21:52 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:21:52 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:21:52 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:21:52 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:21:52 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:21:52 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:21:52 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:21:52 UTC] 📊 Database Info:
[21-Nov-2025 23:21:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:21:52 UTC]    Books columns count: 44
[21-Nov-2025 23:21:52 UTC]    Categories columns count: 7
[21-Nov-2025 23:21:52 UTC]    Language field in books: YES
[21-Nov-2025 23:21:52 UTC]    Format field in books: YES
[21-Nov-2025 23:21:52 UTC]    Description field in categories: YES
[21-Nov-2025 23:21:52 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:21:52 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:21:52 UTC]    Is_active field in books: YES
[21-Nov-2025 23:21:52 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:21:52 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:21:52 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:21:52 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:21:52 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:21:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:21:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:21:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:21:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:21:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:21:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:21:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:21:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:21:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:21:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:21:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:21:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:21:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:21:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:21:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[21-Nov-2025 23:21:52 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[21-Nov-2025 23:22:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:22:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:22:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:22:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:22:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:22:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:22:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:22:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:22:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:22:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:22:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:22:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:22:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:22:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:22:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:22:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:22:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:22:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:22:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:22:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:22:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:22:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:22:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:22:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:22:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:22:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:22:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:22:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:22:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:22:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:22:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:22:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:22:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:22:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:22:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:22:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:22:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:22:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:22:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:22:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:22:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:22:05 UTC] 📊 Database Info:
[21-Nov-2025 23:22:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:22:05 UTC]    Books columns count: 44
[21-Nov-2025 23:22:05 UTC]    Categories columns count: 7
[21-Nov-2025 23:22:05 UTC]    Language field in books: YES
[21-Nov-2025 23:22:05 UTC]    Format field in books: YES
[21-Nov-2025 23:22:05 UTC]    Description field in categories: YES
[21-Nov-2025 23:22:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:22:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:22:05 UTC]    Is_active field in books: YES
[21-Nov-2025 23:22:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:22:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:22:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:22:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:22:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:22:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:22:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:22:05 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 23:22:05 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 23:22:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:22:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:22:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:22:05 UTC] 📊 Database Info:
[21-Nov-2025 23:22:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:22:05 UTC]    Books columns count: 44
[21-Nov-2025 23:22:05 UTC]    Categories columns count: 7
[21-Nov-2025 23:22:05 UTC]    Language field in books: YES
[21-Nov-2025 23:22:05 UTC]    Format field in books: YES
[21-Nov-2025 23:22:05 UTC]    Description field in categories: YES
[21-Nov-2025 23:22:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:22:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:22:05 UTC]    Is_active field in books: YES
[21-Nov-2025 23:22:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:22:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:22:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:22:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:22:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:22:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:22:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:22:05 UTC] 📊 Database Info:
[21-Nov-2025 23:22:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:22:05 UTC]    Books columns count: 44
[21-Nov-2025 23:22:05 UTC]    Categories columns count: 7
[21-Nov-2025 23:22:05 UTC]    Language field in books: YES
[21-Nov-2025 23:22:05 UTC]    Format field in books: YES
[21-Nov-2025 23:22:05 UTC]    Description field in categories: YES
[21-Nov-2025 23:22:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:22:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:22:05 UTC]    Is_active field in books: YES
[21-Nov-2025 23:22:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:22:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:22:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:22:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:22:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:22:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:22:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:22:05 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 23:22:05 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 23:22:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:22:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:22:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:22:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:22:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:22:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:22:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:22:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:22:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:22:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:22:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:22:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:22:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:22:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:22:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:22:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:22:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:22:14 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:22:14 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:22:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:22:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:22:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:22:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:22:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:22:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:22:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:22:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:22:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:22:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:22:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:22:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:22:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:22:14 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:22:14 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:22:14 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:22:14 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:22:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:22:14 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:22:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:22:14 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:22:14 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:22:14 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:22:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:22:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:22:14 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:22:14 UTC] 📊 Database Info:
[21-Nov-2025 23:22:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:22:14 UTC]    Books columns count: 44
[21-Nov-2025 23:22:14 UTC]    Categories columns count: 7
[21-Nov-2025 23:22:14 UTC]    Language field in books: YES
[21-Nov-2025 23:22:14 UTC]    Format field in books: YES
[21-Nov-2025 23:22:14 UTC]    Description field in categories: YES
[21-Nov-2025 23:22:14 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:22:14 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:22:14 UTC]    Is_active field in books: YES
[21-Nov-2025 23:22:14 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:22:14 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:22:14 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:22:14 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:22:14 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:22:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:22:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:22:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:22:14 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:22:14 UTC] 📊 Database Info:
[21-Nov-2025 23:22:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:22:14 UTC]    Books columns count: 44
[21-Nov-2025 23:22:14 UTC]    Categories columns count: 7
[21-Nov-2025 23:22:14 UTC]    Language field in books: YES
[21-Nov-2025 23:22:14 UTC]    Format field in books: YES
[21-Nov-2025 23:22:14 UTC]    Description field in categories: YES
[21-Nov-2025 23:22:14 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:22:14 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:22:14 UTC]    Is_active field in books: YES
[21-Nov-2025 23:22:14 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:22:14 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:22:14 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:22:14 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:22:14 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:22:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:22:14 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:22:14 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:22:14 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:22:14 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:22:14 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:22:14 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:22:14 UTC] 📊 Database Info:
[21-Nov-2025 23:22:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:22:14 UTC]    Books columns count: 44
[21-Nov-2025 23:22:14 UTC]    Categories columns count: 7
[21-Nov-2025 23:22:14 UTC]    Language field in books: YES
[21-Nov-2025 23:22:14 UTC]    Format field in books: YES
[21-Nov-2025 23:22:14 UTC]    Description field in categories: YES
[21-Nov-2025 23:22:14 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:22:14 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:22:14 UTC]    Is_active field in books: YES
[21-Nov-2025 23:22:14 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:22:14 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:22:14 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:22:14 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:22:14 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:22:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:22:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:22:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:22:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:22:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:22:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:22:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:22:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:22:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:22:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:22:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:22:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:22:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:22:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:22:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:22:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:22:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:22:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:22:16 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:22:16 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:22:16 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:22:16 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:22:16 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:22:16 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:22:16 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:22:16 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:22:16 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:22:16 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:22:16 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:22:16 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:22:16 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:22:16 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:22:16 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:22:16 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:22:16 UTC] 📊 Database Info:
[21-Nov-2025 23:22:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:22:16 UTC]    Books columns count: 44
[21-Nov-2025 23:22:16 UTC]    Categories columns count: 7
[21-Nov-2025 23:22:16 UTC]    Language field in books: YES
[21-Nov-2025 23:22:16 UTC]    Format field in books: YES
[21-Nov-2025 23:22:16 UTC]    Description field in categories: YES
[21-Nov-2025 23:22:16 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:22:16 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:22:16 UTC]    Is_active field in books: YES
[21-Nov-2025 23:22:16 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:22:16 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:22:16 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:22:16 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:22:16 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:22:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:22:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:22:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:22:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:22:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:22:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:22:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:22:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:22:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:22:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:22:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:22:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:22:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:22:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:22:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:22:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:22:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:22:18 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:22:18 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:22:18 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:22:18 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:22:18 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:22:18 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:22:18 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:22:18 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:22:18 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:22:18 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:22:18 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:22:18 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:22:18 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:22:18 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:22:18 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:22:18 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:22:18 UTC] 📊 Database Info:
[21-Nov-2025 23:22:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:22:18 UTC]    Books columns count: 44
[21-Nov-2025 23:22:18 UTC]    Categories columns count: 7
[21-Nov-2025 23:22:18 UTC]    Language field in books: YES
[21-Nov-2025 23:22:18 UTC]    Format field in books: YES
[21-Nov-2025 23:22:18 UTC]    Description field in categories: YES
[21-Nov-2025 23:22:18 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:22:18 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:22:18 UTC]    Is_active field in books: YES
[21-Nov-2025 23:22:18 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:22:18 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:22:18 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:22:18 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:22:18 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:22:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:22:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:22:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:22:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:22:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:22:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:22:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:22:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:22:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:22:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:22:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:22:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:22:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:23:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:23:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:23:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:23:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:23:56 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:23:56 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:23:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:23:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:23:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:23:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:23:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:23:56 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:23:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:23:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:23:56 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:23:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:23:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:23:56 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:23:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:23:56 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:23:56 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:23:56 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:23:56 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:23:56 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:23:56 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:23:56 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:23:56 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:23:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:23:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:23:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:23:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:23:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:23:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:23:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:23:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:23:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:23:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:23:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:23:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:23:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:23:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:23:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:23:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:23:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:23:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:23:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:23:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:23:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:23:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:23:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:23:57 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:23:57 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:23:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:23:57 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:23:57 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:23:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:23:57 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:23:57 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:23:57 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:23:57 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:23:57 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:23:57 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:23:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:23:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:23:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:23:57 UTC] 📊 Database Info:
[21-Nov-2025 23:23:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:23:57 UTC]    Books columns count: 44
[21-Nov-2025 23:23:57 UTC]    Categories columns count: 7
[21-Nov-2025 23:23:57 UTC]    Language field in books: YES
[21-Nov-2025 23:23:57 UTC]    Format field in books: YES
[21-Nov-2025 23:23:57 UTC]    Description field in categories: YES
[21-Nov-2025 23:23:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:23:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:23:57 UTC]    Is_active field in books: YES
[21-Nov-2025 23:23:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:23:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:23:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:23:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:23:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:23:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:23:57 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 23:23:57 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 23:23:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:23:57 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:23:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:23:57 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:23:57 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:23:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:23:57 UTC] 📊 Database Info:
[21-Nov-2025 23:23:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:23:57 UTC]    Books columns count: 44
[21-Nov-2025 23:23:57 UTC]    Categories columns count: 7
[21-Nov-2025 23:23:57 UTC]    Language field in books: YES
[21-Nov-2025 23:23:57 UTC]    Format field in books: YES
[21-Nov-2025 23:23:57 UTC]    Description field in categories: YES
[21-Nov-2025 23:23:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:23:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:23:57 UTC]    Is_active field in books: YES
[21-Nov-2025 23:23:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:23:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:23:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:23:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:23:57 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:23:57 UTC] 📊 Database Info:
[21-Nov-2025 23:23:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:23:57 UTC]    Books columns count: 44
[21-Nov-2025 23:23:57 UTC]    Categories columns count: 7
[21-Nov-2025 23:23:57 UTC]    Language field in books: YES
[21-Nov-2025 23:23:57 UTC]    Format field in books: YES
[21-Nov-2025 23:23:57 UTC]    Description field in categories: YES
[21-Nov-2025 23:23:57 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:23:57 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:23:57 UTC]    Is_active field in books: YES
[21-Nov-2025 23:23:57 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:23:57 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:23:57 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:23:57 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:23:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:23:57 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:23:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:23:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:23:57 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 23:23:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:23:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:23:57 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 23:25:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:25:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:25:48 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:25:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:25:48 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:25:48 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:25:48 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:25:48 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:25:48 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:25:48 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:25:48 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:25:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:25:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:25:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:25:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:25:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:25:48 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:25:48 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:25:48 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:25:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:25:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:25:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:25:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:25:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:25:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:25:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:25:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:25:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:25:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:25:48 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:25:48 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:25:48 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:25:48 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:25:48 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:25:48 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:25:48 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:25:48 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:25:48 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:25:48 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:25:48 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:25:48 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:25:48 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:25:48 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:25:48 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:25:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:25:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:25:48 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:25:48 UTC] 📊 Database Info:
[21-Nov-2025 23:25:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:25:48 UTC]    Books columns count: 44
[21-Nov-2025 23:25:48 UTC]    Categories columns count: 7
[21-Nov-2025 23:25:48 UTC]    Language field in books: YES
[21-Nov-2025 23:25:48 UTC]    Format field in books: YES
[21-Nov-2025 23:25:48 UTC]    Description field in categories: YES
[21-Nov-2025 23:25:48 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:25:48 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:25:48 UTC]    Is_active field in books: YES
[21-Nov-2025 23:25:48 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:25:48 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:25:48 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:25:48 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:25:48 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:25:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:25:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:25:48 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 23:25:48 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 23:25:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:25:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:25:48 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:25:48 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:25:48 UTC] 📊 Database Info:
[21-Nov-2025 23:25:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:25:48 UTC]    Books columns count: 44
[21-Nov-2025 23:25:48 UTC]    Categories columns count: 7
[21-Nov-2025 23:25:48 UTC]    Language field in books: YES
[21-Nov-2025 23:25:48 UTC]    Format field in books: YES
[21-Nov-2025 23:25:48 UTC]    Description field in categories: YES
[21-Nov-2025 23:25:48 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:25:48 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:25:48 UTC]    Is_active field in books: YES
[21-Nov-2025 23:25:48 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:25:48 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:25:48 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:25:48 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:25:48 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:25:48 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:25:48 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:25:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:25:48 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:25:48 UTC] 📊 Database Info:
[21-Nov-2025 23:25:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:25:48 UTC]    Books columns count: 44
[21-Nov-2025 23:25:48 UTC]    Categories columns count: 7
[21-Nov-2025 23:25:48 UTC]    Language field in books: YES
[21-Nov-2025 23:25:48 UTC]    Format field in books: YES
[21-Nov-2025 23:25:48 UTC]    Description field in categories: YES
[21-Nov-2025 23:25:48 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:25:48 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:25:48 UTC]    Is_active field in books: YES
[21-Nov-2025 23:25:48 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:25:48 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:25:48 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:25:48 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:25:48 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:25:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:25:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:25:48 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 23:25:48 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 23:26:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:26:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:26:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:26:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:26:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:26:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:26:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:26:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:26:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:26:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:26:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:26:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:26:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:26:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:26:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:26:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:26:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:26:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:26:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:26:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:26:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:26:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:26:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:26:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:26:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:26:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:26:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:26:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:26:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:26:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:26:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:26:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:26:00 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:26:00 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:26:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:26:00 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:26:00 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:26:00 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:26:00 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:26:00 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:26:00 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:26:00 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:26:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:26:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:26:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:26:00 UTC] 📊 Database Info:
[21-Nov-2025 23:26:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:26:00 UTC]    Books columns count: 44
[21-Nov-2025 23:26:00 UTC]    Categories columns count: 7
[21-Nov-2025 23:26:00 UTC]    Language field in books: YES
[21-Nov-2025 23:26:00 UTC]    Format field in books: YES
[21-Nov-2025 23:26:00 UTC]    Description field in categories: YES
[21-Nov-2025 23:26:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:26:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:26:00 UTC]    Is_active field in books: YES
[21-Nov-2025 23:26:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:26:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:26:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:26:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:26:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:26:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:26:00 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:26:00 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:26:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:26:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:26:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:26:00 UTC] 📊 Database Info:
[21-Nov-2025 23:26:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:26:00 UTC]    Books columns count: 44
[21-Nov-2025 23:26:00 UTC]    Categories columns count: 7
[21-Nov-2025 23:26:00 UTC]    Language field in books: YES
[21-Nov-2025 23:26:00 UTC]    Format field in books: YES
[21-Nov-2025 23:26:00 UTC]    Description field in categories: YES
[21-Nov-2025 23:26:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:26:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:26:00 UTC]    Is_active field in books: YES
[21-Nov-2025 23:26:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:26:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:26:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:26:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:26:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:26:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:26:00 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:26:00 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:26:00 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:26:00 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:26:00 UTC] 📊 Database Info:
[21-Nov-2025 23:26:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:26:00 UTC]    Books columns count: 44
[21-Nov-2025 23:26:00 UTC]    Categories columns count: 7
[21-Nov-2025 23:26:00 UTC]    Language field in books: YES
[21-Nov-2025 23:26:00 UTC]    Format field in books: YES
[21-Nov-2025 23:26:00 UTC]    Description field in categories: YES
[21-Nov-2025 23:26:00 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:26:00 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:26:00 UTC]    Is_active field in books: YES
[21-Nov-2025 23:26:00 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:26:00 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:26:00 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:26:00 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:26:00 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:26:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:26:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:26:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:26:01 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:26:01 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:26:01 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:26:01 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:26:01 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:26:01 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:26:01 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:26:01 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:26:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:26:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:26:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:26:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:26:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:26:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:26:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:26:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:26:02 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:26:02 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:26:02 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:26:02 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:26:02 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:26:02 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:26:02 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:26:02 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:26:02 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:26:02 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:26:02 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:26:02 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:26:02 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:26:02 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:26:02 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:26:02 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:26:02 UTC] 📊 Database Info:
[21-Nov-2025 23:26:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:26:02 UTC]    Books columns count: 44
[21-Nov-2025 23:26:02 UTC]    Categories columns count: 7
[21-Nov-2025 23:26:02 UTC]    Language field in books: YES
[21-Nov-2025 23:26:02 UTC]    Format field in books: YES
[21-Nov-2025 23:26:02 UTC]    Description field in categories: YES
[21-Nov-2025 23:26:02 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:26:02 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:26:02 UTC]    Is_active field in books: YES
[21-Nov-2025 23:26:02 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:26:02 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:26:02 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:26:02 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:26:02 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:26:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:26:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:26:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:26:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:26:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:26:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:26:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:26:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:26:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:26:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:26:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:26:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:26:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:26:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:26:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:26:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:26:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:26:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:26:19 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:26:19 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:26:19 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:26:19 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:26:19 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:26:19 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:26:19 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:26:19 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:26:19 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:26:19 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:26:19 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:26:19 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:26:19 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:26:19 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:26:19 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:26:19 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:26:19 UTC] 📊 Database Info:
[21-Nov-2025 23:26:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:26:19 UTC]    Books columns count: 44
[21-Nov-2025 23:26:19 UTC]    Categories columns count: 7
[21-Nov-2025 23:26:19 UTC]    Language field in books: YES
[21-Nov-2025 23:26:19 UTC]    Format field in books: YES
[21-Nov-2025 23:26:19 UTC]    Description field in categories: YES
[21-Nov-2025 23:26:19 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:26:19 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:26:19 UTC]    Is_active field in books: YES
[21-Nov-2025 23:26:19 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:26:19 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:26:19 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:26:19 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:26:19 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:26:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:26:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:26:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:26:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:26:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:26:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:26:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:26:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:26:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:26:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:26:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:26:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:26:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:26:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:26:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:26:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:26:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:26:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:26:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:26:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:26:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:26:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:26:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:26:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:26:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:26:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:26:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:26:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:26:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:26:29 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:26:29 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:26:29 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:26:29 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:26:29 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:26:29 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:26:29 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:26:29 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:26:29 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:26:29 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:26:29 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:26:29 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:26:29 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:26:29 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:26:29 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:26:29 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:26:29 UTC] 📊 Database Info:
[21-Nov-2025 23:26:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:26:29 UTC]    Books columns count: 44
[21-Nov-2025 23:26:29 UTC]    Categories columns count: 7
[21-Nov-2025 23:26:29 UTC]    Language field in books: YES
[21-Nov-2025 23:26:29 UTC]    Format field in books: YES
[21-Nov-2025 23:26:29 UTC]    Description field in categories: YES
[21-Nov-2025 23:26:29 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:26:29 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:26:29 UTC]    Is_active field in books: YES
[21-Nov-2025 23:26:29 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:26:29 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:26:29 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:26:29 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:26:29 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:26:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:26:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:27:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:27:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:27:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:27:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:27:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:27:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:27:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:27:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:27:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:27:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:27:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:27:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:27:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:27:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:27:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:27:23 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:27:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:27:23 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:27:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:27:23 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:27:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:27:23 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:27:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:27:23 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:27:23 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:27:23 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:27:23 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:27:23 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:27:23 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:27:23 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:27:23 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:27:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:27:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:27:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:27:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:27:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:27:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:27:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:27:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:27:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:27:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:27:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:27:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:27:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:27:24 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:27:24 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:27:24 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:27:24 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:27:24 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:27:24 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:27:24 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:27:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:27:24 UTC] 📊 Database Info:
[21-Nov-2025 23:27:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:27:24 UTC]    Books columns count: 44
[21-Nov-2025 23:27:24 UTC]    Categories columns count: 7
[21-Nov-2025 23:27:24 UTC]    Language field in books: YES
[21-Nov-2025 23:27:24 UTC]    Format field in books: YES
[21-Nov-2025 23:27:24 UTC]    Description field in categories: YES
[21-Nov-2025 23:27:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:27:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:27:24 UTC]    Is_active field in books: YES
[21-Nov-2025 23:27:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:27:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:27:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:27:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:27:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:27:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:27:24 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:27:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:27:24 UTC] 📊 Database Info:
[21-Nov-2025 23:27:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:27:24 UTC]    Books columns count: 44
[21-Nov-2025 23:27:24 UTC]    Categories columns count: 7
[21-Nov-2025 23:27:24 UTC]    Language field in books: YES
[21-Nov-2025 23:27:24 UTC]    Format field in books: YES
[21-Nov-2025 23:27:24 UTC]    Description field in categories: YES
[21-Nov-2025 23:27:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:27:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:27:24 UTC]    Is_active field in books: YES
[21-Nov-2025 23:27:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:27:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:27:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:27:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:27:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:27:24 UTC] 📊 Database Info:
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:27:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:27:24 UTC]    Books columns count: 44
[21-Nov-2025 23:27:24 UTC]    Categories columns count: 7
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:27:24 UTC]    Language field in books: YES
[21-Nov-2025 23:27:24 UTC]    Format field in books: YES
[21-Nov-2025 23:27:24 UTC]    Description field in categories: YES
[21-Nov-2025 23:27:24 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:27:24 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:27:24 UTC]    Is_active field in books: YES
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:27:24 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:27:24 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:27:24 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:27:24 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:27:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:27:24 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:27:24 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:27:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:27:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:30:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:30:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:30:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:30:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:30:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:30:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:30:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:30:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:30:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:30:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:30:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:30:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:30:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:30:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:30:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:30:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:30:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:30:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:30:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:30:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:30:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:30:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:30:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:30:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:30:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:30:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:30:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:30:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:30:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:30:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:30:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:30:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:30:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:30:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:30:04 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:30:04 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:30:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:30:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:30:04 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:30:04 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:30:04 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:30:04 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:30:04 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:30:04 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:30:04 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:30:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:30:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:30:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:30:04 UTC] 📊 Database Info:
[21-Nov-2025 23:30:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:30:04 UTC]    Books columns count: 44
[21-Nov-2025 23:30:04 UTC]    Categories columns count: 7
[21-Nov-2025 23:30:04 UTC]    Language field in books: YES
[21-Nov-2025 23:30:04 UTC]    Format field in books: YES
[21-Nov-2025 23:30:04 UTC]    Description field in categories: YES
[21-Nov-2025 23:30:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:30:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:30:04 UTC]    Is_active field in books: YES
[21-Nov-2025 23:30:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:30:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:30:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:30:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:30:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:30:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:30:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:30:04 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:30:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:30:04 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:30:04 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:30:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:30:04 UTC] 📊 Database Info:
[21-Nov-2025 23:30:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:30:04 UTC]    Books columns count: 44
[21-Nov-2025 23:30:04 UTC]    Categories columns count: 7
[21-Nov-2025 23:30:04 UTC]    Language field in books: YES
[21-Nov-2025 23:30:04 UTC]    Format field in books: YES
[21-Nov-2025 23:30:04 UTC]    Description field in categories: YES
[21-Nov-2025 23:30:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:30:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:30:04 UTC]    Is_active field in books: YES
[21-Nov-2025 23:30:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:30:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:30:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:30:04 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:30:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:30:04 UTC] 📊 Database Info:
[21-Nov-2025 23:30:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:30:04 UTC]    Books columns count: 44
[21-Nov-2025 23:30:04 UTC]    Categories columns count: 7
[21-Nov-2025 23:30:04 UTC]    Language field in books: YES
[21-Nov-2025 23:30:04 UTC]    Format field in books: YES
[21-Nov-2025 23:30:04 UTC]    Description field in categories: YES
[21-Nov-2025 23:30:04 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:30:04 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:30:04 UTC]    Is_active field in books: YES
[21-Nov-2025 23:30:04 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:30:04 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:30:04 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:30:04 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:30:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:30:04 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:30:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:30:04 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:30:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:30:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:30:04 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:30:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:30:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:30:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:30:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:30:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:30:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:30:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:30:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:30:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:30:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:30:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:30:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:30:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:30:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:30:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:30:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:30:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:30:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:30:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:30:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:30:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:30:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:30:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:30:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:30:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:30:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:30:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:30:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:30:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:30:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:30:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:30:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:30:05 UTC] 📊 Database Info:
[21-Nov-2025 23:30:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:30:05 UTC]    Books columns count: 44
[21-Nov-2025 23:30:05 UTC]    Categories columns count: 7
[21-Nov-2025 23:30:05 UTC]    Language field in books: YES
[21-Nov-2025 23:30:05 UTC]    Format field in books: YES
[21-Nov-2025 23:30:05 UTC]    Description field in categories: YES
[21-Nov-2025 23:30:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:30:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:30:05 UTC]    Is_active field in books: YES
[21-Nov-2025 23:30:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:30:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:30:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:30:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:30:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:30:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:30:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:30:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:30:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:30:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:30:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:30:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:30:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:30:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:30:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:30:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:30:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:30:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:30:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:30:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:30:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:30:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:30:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:30:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:30:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:30:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:30:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:30:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:30:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:30:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:30:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:30:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:30:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:30:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:30:08 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:30:08 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:30:08 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:30:08 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:30:08 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:30:08 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:30:08 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:30:08 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:30:08 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:30:08 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:30:08 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:30:08 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:30:08 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:30:08 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:30:08 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:30:08 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:30:08 UTC] 📊 Database Info:
[21-Nov-2025 23:30:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:30:08 UTC]    Books columns count: 44
[21-Nov-2025 23:30:08 UTC]    Categories columns count: 7
[21-Nov-2025 23:30:08 UTC]    Language field in books: YES
[21-Nov-2025 23:30:08 UTC]    Format field in books: YES
[21-Nov-2025 23:30:08 UTC]    Description field in categories: YES
[21-Nov-2025 23:30:08 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:30:08 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:30:08 UTC]    Is_active field in books: YES
[21-Nov-2025 23:30:08 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:30:08 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:30:08 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:30:08 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:30:08 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:30:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:30:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:30:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:30:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:30:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:30:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:30:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:30:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:30:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:30:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:30:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:30:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:30:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:30:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:30:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:30:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:30:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:30:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:30:31 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:30:31 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:30:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:30:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:30:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:30:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:30:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:30:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:30:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:30:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:30:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:30:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:30:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:30:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:30:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:30:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:30:31 UTC] 📊 Database Info:
[21-Nov-2025 23:30:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:30:31 UTC]    Books columns count: 44
[21-Nov-2025 23:30:31 UTC]    Categories columns count: 7
[21-Nov-2025 23:30:31 UTC]    Language field in books: YES
[21-Nov-2025 23:30:31 UTC]    Format field in books: YES
[21-Nov-2025 23:30:31 UTC]    Description field in categories: YES
[21-Nov-2025 23:30:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:30:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:30:31 UTC]    Is_active field in books: YES
[21-Nov-2025 23:30:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:30:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:30:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:30:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:30:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:30:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:30:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:30:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:30:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:30:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:30:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:30:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:30:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:30:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:30:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:30:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:30:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:30:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:38:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:38:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:38:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:38:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:38:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:38:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:38:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:38:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:38:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:38:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:38:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:12 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:38:12 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:12 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:12 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:12 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:12 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:12 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:12 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:12 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:38:12 UTC] 📊 Database Info:
[21-Nov-2025 23:38:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:38:12 UTC]    Books columns count: 44
[21-Nov-2025 23:38:12 UTC]    Categories columns count: 7
[21-Nov-2025 23:38:12 UTC]    Language field in books: YES
[21-Nov-2025 23:38:12 UTC]    Format field in books: YES
[21-Nov-2025 23:38:12 UTC]    Description field in categories: YES
[21-Nov-2025 23:38:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:38:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:38:12 UTC]    Is_active field in books: YES
[21-Nov-2025 23:38:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:38:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:38:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:38:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:38:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:38:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:38:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:38:12 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 23:38:12 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 23:38:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:12 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:12 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:12 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:38:12 UTC] 📊 Database Info:
[21-Nov-2025 23:38:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:38:12 UTC]    Books columns count: 44
[21-Nov-2025 23:38:12 UTC]    Categories columns count: 7
[21-Nov-2025 23:38:12 UTC]    Language field in books: YES
[21-Nov-2025 23:38:12 UTC]    Format field in books: YES
[21-Nov-2025 23:38:12 UTC]    Description field in categories: YES
[21-Nov-2025 23:38:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:38:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:38:12 UTC]    Is_active field in books: YES
[21-Nov-2025 23:38:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:38:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:38:12 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:38:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:38:12 UTC] 📊 Database Info:
[21-Nov-2025 23:38:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:38:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:38:12 UTC]    Books columns count: 44
[21-Nov-2025 23:38:12 UTC]    Categories columns count: 7
[21-Nov-2025 23:38:12 UTC]    Language field in books: YES
[21-Nov-2025 23:38:12 UTC]    Format field in books: YES
[21-Nov-2025 23:38:12 UTC]    Description field in categories: YES
[21-Nov-2025 23:38:12 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:38:12 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:38:12 UTC]    Is_active field in books: YES
[21-Nov-2025 23:38:12 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:38:12 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:38:12 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:38:12 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:38:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:38:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:38:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:38:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:38:12 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 23:38:12 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 23:38:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:38:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:38:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:38:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:38:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:38:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:38:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:38:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:38:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:38:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:32 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:38:32 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:32 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:32 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:32 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:32 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:32 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:32 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:32 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:32 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:38:32 UTC] 📊 Database Info:
[21-Nov-2025 23:38:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:38:32 UTC]    Books columns count: 44
[21-Nov-2025 23:38:32 UTC]    Categories columns count: 7
[21-Nov-2025 23:38:32 UTC]    Language field in books: YES
[21-Nov-2025 23:38:32 UTC]    Format field in books: YES
[21-Nov-2025 23:38:32 UTC]    Description field in categories: YES
[21-Nov-2025 23:38:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:38:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:38:32 UTC]    Is_active field in books: YES
[21-Nov-2025 23:38:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:38:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:38:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:38:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:38:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:38:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:38:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:38:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 23:38:32 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 23:38:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:38:32 UTC] 📊 Database Info:
[21-Nov-2025 23:38:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:38:32 UTC]    Books columns count: 44
[21-Nov-2025 23:38:32 UTC]    Categories columns count: 7
[21-Nov-2025 23:38:32 UTC]    Language field in books: YES
[21-Nov-2025 23:38:32 UTC]    Format field in books: YES
[21-Nov-2025 23:38:32 UTC]    Description field in categories: YES
[21-Nov-2025 23:38:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:38:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:38:32 UTC]    Is_active field in books: YES
[21-Nov-2025 23:38:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:38:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:38:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:38:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:38:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:38:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:38:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 23:38:32 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 23:38:32 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:32 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:32 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:32 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:38:32 UTC] 📊 Database Info:
[21-Nov-2025 23:38:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:38:32 UTC]    Books columns count: 44
[21-Nov-2025 23:38:32 UTC]    Categories columns count: 7
[21-Nov-2025 23:38:32 UTC]    Language field in books: YES
[21-Nov-2025 23:38:32 UTC]    Format field in books: YES
[21-Nov-2025 23:38:32 UTC]    Description field in categories: YES
[21-Nov-2025 23:38:32 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:38:32 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:38:32 UTC]    Is_active field in books: YES
[21-Nov-2025 23:38:32 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:38:32 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:38:32 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:38:32 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:38:32 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:38:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:38:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:38:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:38:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:38:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:38:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:38:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:38:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:43 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:38:43 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:38:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:38:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:43 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:38:43 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:38:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:38:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:38:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:43 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:38:43 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:38:43 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:38:43 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:38:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:38:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:43 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:38:43 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:38:43 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:38:43 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:38:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:38:43 UTC] 📊 Database Info:
[21-Nov-2025 23:38:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:38:43 UTC]    Books columns count: 44
[21-Nov-2025 23:38:43 UTC]    Categories columns count: 7
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:43 UTC]    Language field in books: YES
[21-Nov-2025 23:38:43 UTC]    Format field in books: YES
[21-Nov-2025 23:38:43 UTC]    Description field in categories: YES
[21-Nov-2025 23:38:43 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:38:43 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:38:43 UTC]    Is_active field in books: YES
[21-Nov-2025 23:38:43 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:38:43 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:38:43 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:38:43 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:38:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:43 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:38:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:43 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:38:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:43 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:43 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:43 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:43 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:43 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:43 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:43 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:43 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:43 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:38:43 UTC] 📊 Database Info:
[21-Nov-2025 23:38:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:38:43 UTC]    Books columns count: 44
[21-Nov-2025 23:38:43 UTC]    Categories columns count: 7
[21-Nov-2025 23:38:43 UTC]    Language field in books: YES
[21-Nov-2025 23:38:43 UTC]    Format field in books: YES
[21-Nov-2025 23:38:43 UTC]    Description field in categories: YES
[21-Nov-2025 23:38:43 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:38:43 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:38:43 UTC]    Is_active field in books: YES
[21-Nov-2025 23:38:43 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:38:43 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:38:43 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:38:43 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:38:43 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:38:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:38:43 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:38:43 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:38:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:43 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:38:43 UTC] 📊 Database Info:
[21-Nov-2025 23:38:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:38:43 UTC]    Books columns count: 44
[21-Nov-2025 23:38:43 UTC]    Categories columns count: 7
[21-Nov-2025 23:38:43 UTC]    Language field in books: YES
[21-Nov-2025 23:38:43 UTC]    Format field in books: YES
[21-Nov-2025 23:38:43 UTC]    Description field in categories: YES
[21-Nov-2025 23:38:43 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:38:43 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:38:43 UTC]    Is_active field in books: YES
[21-Nov-2025 23:38:43 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:38:43 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:38:43 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:38:43 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:38:43 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:38:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:38:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:43 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:43 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:43 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:43 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:38:43 UTC] 📊 Database Info:
[21-Nov-2025 23:38:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:38:43 UTC]    Books columns count: 44
[21-Nov-2025 23:38:43 UTC]    Categories columns count: 7
[21-Nov-2025 23:38:43 UTC]    Language field in books: YES
[21-Nov-2025 23:38:43 UTC]    Format field in books: YES
[21-Nov-2025 23:38:43 UTC]    Description field in categories: YES
[21-Nov-2025 23:38:43 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:38:43 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:38:43 UTC]    Is_active field in books: YES
[21-Nov-2025 23:38:43 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:38:43 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:38:43 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:38:43 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:38:43 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:38:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:38:43 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:38:43 UTC] 📊 Database Info:
[21-Nov-2025 23:38:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:38:43 UTC]    Books columns count: 44
[21-Nov-2025 23:38:43 UTC]    Categories columns count: 7
[21-Nov-2025 23:38:43 UTC]    Language field in books: YES
[21-Nov-2025 23:38:43 UTC]    Format field in books: YES
[21-Nov-2025 23:38:43 UTC]    Description field in categories: YES
[21-Nov-2025 23:38:43 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:38:43 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:38:43 UTC]    Is_active field in books: YES
[21-Nov-2025 23:38:43 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:38:43 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:38:43 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:38:43 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:38:43 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:38:43 UTC] 📊 Database Info:
[21-Nov-2025 23:38:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:38:43 UTC]    Books columns count: 44
[21-Nov-2025 23:38:43 UTC]    Categories columns count: 7
[21-Nov-2025 23:38:43 UTC]    Language field in books: YES
[21-Nov-2025 23:38:43 UTC]    Format field in books: YES
[21-Nov-2025 23:38:43 UTC]    Description field in categories: YES
[21-Nov-2025 23:38:43 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:38:43 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:38:43 UTC]    Is_active field in books: YES
[21-Nov-2025 23:38:43 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:38:43 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:38:43 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:38:43 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:38:43 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:38:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:38:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:38:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:38:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:38:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:38:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:38:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:38:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:38:44 UTC] 📊 Database Info:
[21-Nov-2025 23:38:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:38:44 UTC]    Books columns count: 44
[21-Nov-2025 23:38:44 UTC]    Categories columns count: 7
[21-Nov-2025 23:38:44 UTC]    Language field in books: YES
[21-Nov-2025 23:38:44 UTC]    Format field in books: YES
[21-Nov-2025 23:38:44 UTC]    Description field in categories: YES
[21-Nov-2025 23:38:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:38:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:38:44 UTC]    Is_active field in books: YES
[21-Nov-2025 23:38:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:38:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:38:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:38:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:38:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:38:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:38:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:38:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:38:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:38:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:38:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:38:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:38:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:38:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:38:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:38:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:38:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:38:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:38:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:38:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:38:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:46 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:38:46 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:38:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:46 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:38:46 UTC] 📊 Database Info:
[21-Nov-2025 23:38:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:38:46 UTC]    Books columns count: 44
[21-Nov-2025 23:38:46 UTC]    Categories columns count: 7
[21-Nov-2025 23:38:46 UTC]    Language field in books: YES
[21-Nov-2025 23:38:46 UTC]    Format field in books: YES
[21-Nov-2025 23:38:46 UTC]    Description field in categories: YES
[21-Nov-2025 23:38:46 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:38:46 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:38:46 UTC]    Is_active field in books: YES
[21-Nov-2025 23:38:46 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:38:46 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:38:46 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:38:46 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:38:46 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:38:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:38:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:38:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:38:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:50 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:38:50 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:38:50 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:50 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:50 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:50 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:50 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:50 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:50 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:50 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:50 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:50 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:50 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:50 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:50 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:50 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:38:50 UTC] 📊 Database Info:
[21-Nov-2025 23:38:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:38:50 UTC]    Books columns count: 44
[21-Nov-2025 23:38:50 UTC]    Categories columns count: 7
[21-Nov-2025 23:38:50 UTC]    Language field in books: YES
[21-Nov-2025 23:38:50 UTC]    Format field in books: YES
[21-Nov-2025 23:38:50 UTC]    Description field in categories: YES
[21-Nov-2025 23:38:50 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:38:50 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:38:50 UTC]    Is_active field in books: YES
[21-Nov-2025 23:38:50 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:38:50 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:38:50 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:38:50 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:38:50 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:38:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:38:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:38:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:38:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:38:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:38:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:38:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:38:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:38:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:38:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:38:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:38:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:38:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:38:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:38:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:38:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:38:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:38:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:38:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:38:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:38:55 UTC] 📊 Database Info:
[21-Nov-2025 23:38:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:38:55 UTC]    Books columns count: 44
[21-Nov-2025 23:38:55 UTC]    Categories columns count: 7
[21-Nov-2025 23:38:55 UTC]    Language field in books: YES
[21-Nov-2025 23:38:55 UTC]    Format field in books: YES
[21-Nov-2025 23:38:55 UTC]    Description field in categories: YES
[21-Nov-2025 23:38:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:38:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:38:55 UTC]    Is_active field in books: YES
[21-Nov-2025 23:38:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:38:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:38:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:38:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:38:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:38:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:38:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:38:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:38:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:38:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:38:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:38:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:38:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:38:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:38:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:38:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:38:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:38:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:39:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:39:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:39:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:39:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:39:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:39:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:39:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:39:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:39:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:39:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:39:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:39:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:39:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:39:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:39:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:39:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:39:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:39:11 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:39:11 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:39:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:39:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:39:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:39:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:39:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:39:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:39:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:39:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:39:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:39:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:39:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:39:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:39:11 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:39:11 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:39:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:39:11 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:39:11 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:39:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:39:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:39:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:39:11 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:39:11 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:39:11 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:39:11 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:39:11 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:39:11 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:39:11 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:39:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:39:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:39:11 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:39:11 UTC] 📊 Database Info:
[21-Nov-2025 23:39:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:39:11 UTC]    Books columns count: 44
[21-Nov-2025 23:39:11 UTC]    Categories columns count: 7
[21-Nov-2025 23:39:11 UTC]    Language field in books: YES
[21-Nov-2025 23:39:11 UTC]    Format field in books: YES
[21-Nov-2025 23:39:11 UTC]    Description field in categories: YES
[21-Nov-2025 23:39:11 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:39:11 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:39:11 UTC]    Is_active field in books: YES
[21-Nov-2025 23:39:11 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:39:11 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:39:11 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:39:11 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:39:11 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:39:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:39:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:39:11 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:39:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:39:11 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:39:11 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:39:11 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:39:11 UTC] 📊 Database Info:
[21-Nov-2025 23:39:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:39:11 UTC]    Books columns count: 44
[21-Nov-2025 23:39:11 UTC]    Categories columns count: 7
[21-Nov-2025 23:39:11 UTC]    Language field in books: YES
[21-Nov-2025 23:39:11 UTC]    Format field in books: YES
[21-Nov-2025 23:39:11 UTC]    Description field in categories: YES
[21-Nov-2025 23:39:11 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:39:11 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:39:11 UTC]    Is_active field in books: YES
[21-Nov-2025 23:39:11 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:39:11 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:39:11 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:39:11 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:39:11 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:39:11 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:39:11 UTC] 📊 Database Info:
[21-Nov-2025 23:39:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:39:11 UTC]    Books columns count: 44
[21-Nov-2025 23:39:11 UTC]    Categories columns count: 7
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:39:11 UTC]    Language field in books: YES
[21-Nov-2025 23:39:11 UTC]    Format field in books: YES
[21-Nov-2025 23:39:11 UTC]    Description field in categories: YES
[21-Nov-2025 23:39:11 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:39:11 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:39:11 UTC]    Is_active field in books: YES
[21-Nov-2025 23:39:11 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:39:11 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:39:11 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:39:11 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:39:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:39:11 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:39:11 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:39:11 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:39:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:39:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:39:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:39:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:39:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:39:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:39:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:39:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:39:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:39:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:39:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:39:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:39:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:39:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:39:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:39:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:39:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:39:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:39:13 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:39:13 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:39:13 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:39:13 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:39:13 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:39:13 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:39:13 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:39:13 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:39:13 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:39:13 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:39:13 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:39:13 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:39:13 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:39:13 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:39:13 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:39:13 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:39:13 UTC] 📊 Database Info:
[21-Nov-2025 23:39:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:39:13 UTC]    Books columns count: 44
[21-Nov-2025 23:39:13 UTC]    Categories columns count: 7
[21-Nov-2025 23:39:13 UTC]    Language field in books: YES
[21-Nov-2025 23:39:13 UTC]    Format field in books: YES
[21-Nov-2025 23:39:13 UTC]    Description field in categories: YES
[21-Nov-2025 23:39:13 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:39:13 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:39:13 UTC]    Is_active field in books: YES
[21-Nov-2025 23:39:13 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:39:13 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:39:13 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:39:13 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:39:13 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:39:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:39:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:39:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:39:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:39:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:39:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:39:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:39:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:39:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:39:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:39:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:39:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:39:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:39:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:39:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:39:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:39:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:39:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:39:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:39:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:39:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:39:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:39:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:39:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:39:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:39:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:39:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:39:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:39:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:39:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:39:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:39:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:39:40 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:39:40 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:39:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:39:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:39:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:39:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:39:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:39:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:39:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:39:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:39:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:39:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:39:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:39:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:39:40 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:39:40 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:39:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:39:40 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:39:40 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:39:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:39:40 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:39:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:39:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:39:40 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:39:40 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:39:40 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:39:40 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:39:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:39:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:39:40 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:39:40 UTC] 📊 Database Info:
[21-Nov-2025 23:39:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:39:40 UTC]    Books columns count: 44
[21-Nov-2025 23:39:40 UTC]    Categories columns count: 7
[21-Nov-2025 23:39:40 UTC]    Language field in books: YES
[21-Nov-2025 23:39:40 UTC]    Format field in books: YES
[21-Nov-2025 23:39:40 UTC]    Description field in categories: YES
[21-Nov-2025 23:39:40 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:39:40 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:39:40 UTC]    Is_active field in books: YES
[21-Nov-2025 23:39:40 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:39:40 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:39:40 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:39:40 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:39:40 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:39:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:39:40 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:39:40 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:39:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:39:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:39:40 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:39:40 UTC] 📊 Database Info:
[21-Nov-2025 23:39:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:39:40 UTC]    Books columns count: 44
[21-Nov-2025 23:39:40 UTC]    Categories columns count: 7
[21-Nov-2025 23:39:40 UTC]    Language field in books: YES
[21-Nov-2025 23:39:40 UTC]    Format field in books: YES
[21-Nov-2025 23:39:40 UTC]    Description field in categories: YES
[21-Nov-2025 23:39:40 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:39:40 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:39:40 UTC]    Is_active field in books: YES
[21-Nov-2025 23:39:40 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:39:40 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:39:40 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:39:40 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:39:40 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:39:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:39:40 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:39:40 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:39:40 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:39:40 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:39:40 UTC] 📊 Database Info:
[21-Nov-2025 23:39:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:39:40 UTC]    Books columns count: 44
[21-Nov-2025 23:39:40 UTC]    Categories columns count: 7
[21-Nov-2025 23:39:40 UTC]    Language field in books: YES
[21-Nov-2025 23:39:40 UTC]    Format field in books: YES
[21-Nov-2025 23:39:40 UTC]    Description field in categories: YES
[21-Nov-2025 23:39:40 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:39:40 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:39:40 UTC]    Is_active field in books: YES
[21-Nov-2025 23:39:40 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:39:40 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:39:40 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:39:40 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:39:40 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:39:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:39:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:39:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:39:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:39:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:39:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:39:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:39:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:39:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:39:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:39:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:39:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:39:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:39:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:39:41 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:39:41 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:39:41 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:39:41 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:39:41 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:39:41 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:39:41 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:39:41 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:39:41 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:39:41 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:39:41 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:39:41 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:39:41 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:39:41 UTC] 📊 Database Info:
[21-Nov-2025 23:39:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:39:41 UTC]    Books columns count: 44
[21-Nov-2025 23:39:41 UTC]    Categories columns count: 7
[21-Nov-2025 23:39:41 UTC]    Language field in books: YES
[21-Nov-2025 23:39:41 UTC]    Format field in books: YES
[21-Nov-2025 23:39:41 UTC]    Description field in categories: YES
[21-Nov-2025 23:39:41 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:39:41 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:39:41 UTC]    Is_active field in books: YES
[21-Nov-2025 23:39:41 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:39:41 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:39:41 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:39:41 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:39:41 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:39:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:39:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:39:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:39:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:39:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:39:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:39:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:39:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:39:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:39:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:39:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:39:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:39:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:39:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:39:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:39:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:39:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:39:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:39:46 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:39:46 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:39:46 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:39:46 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:39:46 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:39:46 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:39:46 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:39:46 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:39:46 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:39:46 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:39:46 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:39:46 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:39:46 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:39:46 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:39:46 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:39:46 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:39:46 UTC] 📊 Database Info:
[21-Nov-2025 23:39:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:39:46 UTC]    Books columns count: 44
[21-Nov-2025 23:39:46 UTC]    Categories columns count: 7
[21-Nov-2025 23:39:46 UTC]    Language field in books: YES
[21-Nov-2025 23:39:46 UTC]    Format field in books: YES
[21-Nov-2025 23:39:46 UTC]    Description field in categories: YES
[21-Nov-2025 23:39:46 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:39:46 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:39:46 UTC]    Is_active field in books: YES
[21-Nov-2025 23:39:46 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:39:46 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:39:46 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:39:46 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:39:46 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:39:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:39:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:39:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:39:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:39:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:39:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:39:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:39:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:39:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:39:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:39:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:39:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:39:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:40:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:40:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:40:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:40:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:40:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:40:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:40:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:40:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:40:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:40:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:40:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:40:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:40:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:40:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:40:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:40:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:40:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:40:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:40:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:40:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:40:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:40:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:40:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:40:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:40:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:40:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:40:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:40:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:40:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:40:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:40:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:40:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:40:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:40:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:40:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:40:05 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:40:05 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:40:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:40:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:40:05 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:40:05 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:40:05 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:40:05 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:40:05 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:40:05 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:40:05 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:40:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:40:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:40:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:40:05 UTC] 📊 Database Info:
[21-Nov-2025 23:40:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:40:05 UTC]    Books columns count: 44
[21-Nov-2025 23:40:05 UTC]    Categories columns count: 7
[21-Nov-2025 23:40:05 UTC]    Language field in books: YES
[21-Nov-2025 23:40:05 UTC]    Format field in books: YES
[21-Nov-2025 23:40:05 UTC]    Description field in categories: YES
[21-Nov-2025 23:40:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:40:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:40:05 UTC]    Is_active field in books: YES
[21-Nov-2025 23:40:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:40:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:40:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:40:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:40:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:40:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:40:05 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 23:40:05 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 23:40:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:40:05 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:40:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:40:05 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:40:05 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:40:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:40:05 UTC] 📊 Database Info:
[21-Nov-2025 23:40:05 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:40:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:40:05 UTC] 📊 Database Info:
[21-Nov-2025 23:40:05 UTC]    Books columns count: 44
[21-Nov-2025 23:40:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:40:05 UTC]    Categories columns count: 7
[21-Nov-2025 23:40:05 UTC]    Books columns count: 44
[21-Nov-2025 23:40:05 UTC]    Categories columns count: 7
[21-Nov-2025 23:40:05 UTC]    Language field in books: YES
[21-Nov-2025 23:40:05 UTC]    Format field in books: YES
[21-Nov-2025 23:40:05 UTC]    Language field in books: YES
[21-Nov-2025 23:40:05 UTC]    Description field in categories: YES
[21-Nov-2025 23:40:05 UTC]    Format field in books: YES
[21-Nov-2025 23:40:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:40:05 UTC]    Description field in categories: YES
[21-Nov-2025 23:40:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:40:05 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:40:05 UTC]    Is_active field in books: YES
[21-Nov-2025 23:40:05 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:40:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:40:05 UTC]    Is_active field in books: YES
[21-Nov-2025 23:40:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:40:05 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:40:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:40:05 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:40:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:40:05 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:40:05 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:40:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:40:05 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:40:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:40:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:40:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:40:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:40:05 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 23:40:05 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 23:40:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:40:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:40:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:40:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:40:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:40:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:40:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:40:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:40:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:40:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:40:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:40:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:40:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:40:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:40:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:40:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:40:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:40:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:40:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:40:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:40:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:40:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:40:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:40:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:40:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:40:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:40:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:40:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:40:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:40:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:40:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:40:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:40:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:40:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:40:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:40:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:40:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:40:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:40:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:40:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:40:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:40:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:40:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:40:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:40:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:40:55 UTC] 📊 Database Info:
[21-Nov-2025 23:40:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:40:55 UTC]    Books columns count: 44
[21-Nov-2025 23:40:55 UTC]    Categories columns count: 7
[21-Nov-2025 23:40:55 UTC]    Language field in books: YES
[21-Nov-2025 23:40:55 UTC]    Format field in books: YES
[21-Nov-2025 23:40:55 UTC]    Description field in categories: YES
[21-Nov-2025 23:40:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:40:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:40:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:40:55 UTC]    Is_active field in books: YES
[21-Nov-2025 23:40:55 UTC] 📊 Database Info:
[21-Nov-2025 23:40:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:40:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:40:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:40:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:40:55 UTC]    Books columns count: 44
[21-Nov-2025 23:40:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:40:55 UTC]    Categories columns count: 7
[21-Nov-2025 23:40:55 UTC]    Language field in books: YES
[21-Nov-2025 23:40:55 UTC]    Format field in books: YES
[21-Nov-2025 23:40:55 UTC]    Description field in categories: YES
[21-Nov-2025 23:40:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:40:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:40:55 UTC]    Is_active field in books: YES
[21-Nov-2025 23:40:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:40:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:40:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:40:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:40:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:40:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:40:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:40:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:40:55 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:40:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:40:55 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 23:40:55 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 23:40:55 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 23:40:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:40:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:40:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:40:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:40:55 UTC] 📊 Database Info:
[21-Nov-2025 23:40:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:40:55 UTC]    Books columns count: 44
[21-Nov-2025 23:40:55 UTC]    Categories columns count: 7
[21-Nov-2025 23:40:55 UTC]    Language field in books: YES
[21-Nov-2025 23:40:55 UTC]    Format field in books: YES
[21-Nov-2025 23:40:55 UTC]    Description field in categories: YES
[21-Nov-2025 23:40:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:40:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:40:55 UTC]    Is_active field in books: YES
[21-Nov-2025 23:40:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:40:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:40:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:40:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:40:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:40:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:41:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:41:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:41:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:41:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:41:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:41:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:41:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:41:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:41:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:41:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:41:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:41:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:41:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:41:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:41:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:41:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:41:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:41:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:41:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:41:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:41:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:41:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:41:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:41:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:41:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:41:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:41:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:41:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:41:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:41:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:41:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:41:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:41:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:41:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:41:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:41:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:41:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:41:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:41:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:41:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:41:55 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:41:55 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:41:55 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:41:55 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:41:55 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:41:55 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:41:55 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:41:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:41:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:41:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:41:55 UTC] 📊 Database Info:
[21-Nov-2025 23:41:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:41:55 UTC]    Books columns count: 44
[21-Nov-2025 23:41:55 UTC]    Categories columns count: 7
[21-Nov-2025 23:41:55 UTC]    Language field in books: YES
[21-Nov-2025 23:41:55 UTC]    Format field in books: YES
[21-Nov-2025 23:41:55 UTC]    Description field in categories: YES
[21-Nov-2025 23:41:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:41:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:41:55 UTC]    Is_active field in books: YES
[21-Nov-2025 23:41:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:41:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:41:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:41:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:41:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:41:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:41:55 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 23:41:55 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 23:41:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:41:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:41:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:41:55 UTC] 📊 Database Info:
[21-Nov-2025 23:41:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:41:55 UTC]    Books columns count: 44
[21-Nov-2025 23:41:55 UTC]    Categories columns count: 7
[21-Nov-2025 23:41:55 UTC]    Language field in books: YES
[21-Nov-2025 23:41:55 UTC]    Format field in books: YES
[21-Nov-2025 23:41:55 UTC]    Description field in categories: YES
[21-Nov-2025 23:41:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:41:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:41:55 UTC]    Is_active field in books: YES
[21-Nov-2025 23:41:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:41:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:41:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:41:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:41:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:41:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:41:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:41:55 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 23:41:55 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 23:41:55 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:41:55 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:41:55 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:41:55 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:41:55 UTC] 📊 Database Info:
[21-Nov-2025 23:41:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:41:55 UTC]    Books columns count: 44
[21-Nov-2025 23:41:55 UTC]    Categories columns count: 7
[21-Nov-2025 23:41:55 UTC]    Language field in books: YES
[21-Nov-2025 23:41:55 UTC]    Format field in books: YES
[21-Nov-2025 23:41:55 UTC]    Description field in categories: YES
[21-Nov-2025 23:41:55 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:41:55 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:41:55 UTC]    Is_active field in books: YES
[21-Nov-2025 23:41:55 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:41:55 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:41:55 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:41:55 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:41:55 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:41:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:41:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:43:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:43:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:43:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:43:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:43:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:43:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:43:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:43:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:43:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:43:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:43:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:43:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:43:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:43:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:43:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:43:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:43:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:43:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:43:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:43:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:43:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:43:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:43:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:43:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:43:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:43:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:43:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:43:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:43:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:43:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:43:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:43:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:43:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:43:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:43:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:43:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:43:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:43:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:43:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:43:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:43:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:43:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:43:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:43:53 UTC] 📊 Database Info:
[21-Nov-2025 23:43:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:43:53 UTC]    Books columns count: 44
[21-Nov-2025 23:43:53 UTC]    Categories columns count: 7
[21-Nov-2025 23:43:53 UTC]    Language field in books: YES
[21-Nov-2025 23:43:53 UTC]    Format field in books: YES
[21-Nov-2025 23:43:53 UTC]    Description field in categories: YES
[21-Nov-2025 23:43:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:43:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:43:53 UTC]    Is_active field in books: YES
[21-Nov-2025 23:43:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:43:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:43:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:43:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:43:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:43:53 UTC] 📊 Database Info:
[21-Nov-2025 23:43:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:43:53 UTC]    Books columns count: 44
[21-Nov-2025 23:43:53 UTC]    Categories columns count: 7
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:43:53 UTC]    Language field in books: YES
[21-Nov-2025 23:43:53 UTC]    Format field in books: YES
[21-Nov-2025 23:43:53 UTC]    Description field in categories: YES
[21-Nov-2025 23:43:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:43:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:43:53 UTC]    Is_active field in books: YES
[21-Nov-2025 23:43:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:43:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:43:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:43:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:43:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:43:53 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 23:43:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:43:53 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:43:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:43:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:43:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:43:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:43:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:43:53 UTC] 📊 Database Info:
[21-Nov-2025 23:43:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:43:53 UTC]    Books columns count: 44
[21-Nov-2025 23:43:53 UTC]    Categories columns count: 7
[21-Nov-2025 23:43:53 UTC]    Language field in books: YES
[21-Nov-2025 23:43:53 UTC]    Format field in books: YES
[21-Nov-2025 23:43:53 UTC]    Description field in categories: YES
[21-Nov-2025 23:43:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:43:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:43:53 UTC]    Is_active field in books: YES
[21-Nov-2025 23:43:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:43:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:43:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:43:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:43:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:43:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:43:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:43:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:43:53 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 23:43:53 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 23:44:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:44:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:44:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:44:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:44:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:44:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:44:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:44:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:44:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:44:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:44:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:44:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:44:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:44:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:44:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:44:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:44:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:44:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:44:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:44:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:44:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:44:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:44:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:44:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:44:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:44:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:44:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:44:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:44:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:44:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:44:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:44:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:44:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:44:44 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:44:44 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:44:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:44:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:44:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:44:44 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:44:44 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:44:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:44:44 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:44:44 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:44:44 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:44:44 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:44:44 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:44:44 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:44:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:44:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:44:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:44:44 UTC] 📊 Database Info:
[21-Nov-2025 23:44:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:44:44 UTC]    Books columns count: 44
[21-Nov-2025 23:44:44 UTC]    Categories columns count: 7
[21-Nov-2025 23:44:44 UTC]    Language field in books: YES
[21-Nov-2025 23:44:44 UTC]    Format field in books: YES
[21-Nov-2025 23:44:44 UTC]    Description field in categories: YES
[21-Nov-2025 23:44:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:44:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:44:44 UTC]    Is_active field in books: YES
[21-Nov-2025 23:44:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:44:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:44:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:44:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:44:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:44:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:44:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:44:44 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 23:44:44 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 23:44:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:44:44 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:44:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:44:44 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:44:44 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:44:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:44:44 UTC] 📊 Database Info:
[21-Nov-2025 23:44:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:44:44 UTC]    Books columns count: 44
[21-Nov-2025 23:44:44 UTC]    Categories columns count: 7
[21-Nov-2025 23:44:44 UTC]    Language field in books: YES
[21-Nov-2025 23:44:44 UTC]    Format field in books: YES
[21-Nov-2025 23:44:44 UTC]    Description field in categories: YES
[21-Nov-2025 23:44:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:44:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:44:44 UTC]    Is_active field in books: YES
[21-Nov-2025 23:44:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:44:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:44:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:44:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:44:44 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:44:44 UTC] 📊 Database Info:
[21-Nov-2025 23:44:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:44:44 UTC]    Books columns count: 44
[21-Nov-2025 23:44:44 UTC]    Categories columns count: 7
[21-Nov-2025 23:44:44 UTC]    Language field in books: YES
[21-Nov-2025 23:44:44 UTC]    Format field in books: YES
[21-Nov-2025 23:44:44 UTC]    Description field in categories: YES
[21-Nov-2025 23:44:44 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:44:44 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:44:44 UTC]    Is_active field in books: YES
[21-Nov-2025 23:44:44 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:44:44 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:44:44 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:44:44 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:44:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:44:44 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:44:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:44:44 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 23:44:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:44:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:44:44 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 23:44:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:44:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:44:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:44:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:44:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:44:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:44:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:44:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:44:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:44:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:44:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:44:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:44:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:44:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:44:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:44:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:44:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:44:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:44:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:44:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:44:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:44:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:44:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:44:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:44:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:44:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:44:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:44:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:44:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:44:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:44:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:44:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:44:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:44:53 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:44:53 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:44:53 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:44:53 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:44:53 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:44:53 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:44:53 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:44:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:44:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:44:53 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:44:53 UTC] 📊 Database Info:
[21-Nov-2025 23:44:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:44:53 UTC]    Books columns count: 44
[21-Nov-2025 23:44:53 UTC]    Categories columns count: 7
[21-Nov-2025 23:44:53 UTC]    Language field in books: YES
[21-Nov-2025 23:44:53 UTC]    Format field in books: YES
[21-Nov-2025 23:44:53 UTC]    Description field in categories: YES
[21-Nov-2025 23:44:53 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:44:53 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:44:53 UTC]    Is_active field in books: YES
[21-Nov-2025 23:44:53 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:44:53 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:44:53 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:44:53 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:44:53 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:44:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:44:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:44:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:44:53 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 23:44:53 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 23:44:53 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:44:53 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:44:53 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:44:54 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:44:54 UTC] 📊 Database Info:
[21-Nov-2025 23:44:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:44:54 UTC]    Books columns count: 44
[21-Nov-2025 23:44:54 UTC]    Categories columns count: 7
[21-Nov-2025 23:44:54 UTC]    Language field in books: YES
[21-Nov-2025 23:44:54 UTC]    Format field in books: YES
[21-Nov-2025 23:44:54 UTC]    Description field in categories: YES
[21-Nov-2025 23:44:54 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:44:54 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:44:54 UTC]    Is_active field in books: YES
[21-Nov-2025 23:44:54 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:44:54 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:44:54 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:44:54 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:44:54 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:44:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:44:54 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 23:44:54 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 23:44:54 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:44:54 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:44:54 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:44:54 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:44:54 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:44:54 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:44:54 UTC] 📊 Database Info:
[21-Nov-2025 23:44:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:44:54 UTC]    Books columns count: 44
[21-Nov-2025 23:44:54 UTC]    Categories columns count: 7
[21-Nov-2025 23:44:54 UTC]    Language field in books: YES
[21-Nov-2025 23:44:54 UTC]    Format field in books: YES
[21-Nov-2025 23:44:54 UTC]    Description field in categories: YES
[21-Nov-2025 23:44:54 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:44:54 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:44:54 UTC]    Is_active field in books: YES
[21-Nov-2025 23:44:54 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:44:54 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:44:54 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:44:54 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:44:54 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:44:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:46:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:46:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:46:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:46:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:46:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:46:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:46:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:46:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:46:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:46:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:46:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:46:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:46:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:46:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:46:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:46:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:46:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:46:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:46:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:46:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:46:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:46:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:46:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:46:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:46:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:46:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:46:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:46:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:46:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:46:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:46:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:46:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:46:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:46:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:46:37 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:46:37 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:46:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:46:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:46:37 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:46:37 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:46:37 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:46:37 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:46:37 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:46:37 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:46:37 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:46:37 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:46:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:46:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:46:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:46:37 UTC] 📊 Database Info:
[21-Nov-2025 23:46:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:46:37 UTC]    Books columns count: 44
[21-Nov-2025 23:46:37 UTC]    Categories columns count: 7
[21-Nov-2025 23:46:37 UTC]    Language field in books: YES
[21-Nov-2025 23:46:37 UTC]    Format field in books: YES
[21-Nov-2025 23:46:37 UTC]    Description field in categories: YES
[21-Nov-2025 23:46:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:46:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:46:37 UTC]    Is_active field in books: YES
[21-Nov-2025 23:46:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:46:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:46:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:46:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:46:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:46:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:46:37 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[21-Nov-2025 23:46:37 UTC] ✅ إرجاع 2 تصنيف
[21-Nov-2025 23:46:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:46:37 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:46:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:46:37 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:46:37 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:46:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:46:37 UTC] 📊 Database Info:
[21-Nov-2025 23:46:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:46:37 UTC]    Books columns count: 44
[21-Nov-2025 23:46:37 UTC]    Categories columns count: 7
[21-Nov-2025 23:46:37 UTC]    Language field in books: YES
[21-Nov-2025 23:46:37 UTC]    Format field in books: YES
[21-Nov-2025 23:46:37 UTC]    Description field in categories: YES
[21-Nov-2025 23:46:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:46:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:46:37 UTC]    Is_active field in books: YES
[21-Nov-2025 23:46:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:46:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:46:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:46:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:46:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:46:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:46:37 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:46:37 UTC] 📊 Database Info:
[21-Nov-2025 23:46:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:46:37 UTC]    Books columns count: 44
[21-Nov-2025 23:46:37 UTC]    Categories columns count: 7
[21-Nov-2025 23:46:37 UTC]    Language field in books: YES
[21-Nov-2025 23:46:37 UTC]    Format field in books: YES
[21-Nov-2025 23:46:37 UTC]    Description field in categories: YES
[21-Nov-2025 23:46:37 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:46:37 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:46:37 UTC]    Is_active field in books: YES
[21-Nov-2025 23:46:37 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:46:37 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:46:37 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:46:37 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:46:37 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:46:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:46:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:46:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[21-Nov-2025 23:46:37 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[21-Nov-2025 23:46:37 UTC] ✅ إرجاع 0 تصنيف بروفايل
[21-Nov-2025 23:47:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:47:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:47:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:47:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:47:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:47:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:47:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:47:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:47:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:47:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:47:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:47:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:47:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:47:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:47:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:47:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:47:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:47:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:47:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:47:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:47:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:47:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:47:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:47:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:47:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:47:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:47:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:47:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:47:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:47:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:47:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:47:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:47:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:47:06 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:47:06 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:47:06 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:47:06 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:47:06 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:47:06 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:47:06 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:47:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:47:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:47:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:47:06 UTC] 📊 Database Info:
[21-Nov-2025 23:47:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:47:06 UTC]    Books columns count: 44
[21-Nov-2025 23:47:06 UTC]    Categories columns count: 7
[21-Nov-2025 23:47:06 UTC]    Language field in books: YES
[21-Nov-2025 23:47:06 UTC]    Format field in books: YES
[21-Nov-2025 23:47:06 UTC]    Description field in categories: YES
[21-Nov-2025 23:47:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:47:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:47:06 UTC]    Is_active field in books: YES
[21-Nov-2025 23:47:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:47:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:47:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:47:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:47:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:47:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:47:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:47:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:47:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:47:06 UTC] 📊 Database Info:
[21-Nov-2025 23:47:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:47:06 UTC]    Books columns count: 44
[21-Nov-2025 23:47:06 UTC]    Categories columns count: 7
[21-Nov-2025 23:47:06 UTC]    Language field in books: YES
[21-Nov-2025 23:47:06 UTC]    Format field in books: YES
[21-Nov-2025 23:47:06 UTC]    Description field in categories: YES
[21-Nov-2025 23:47:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:47:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:47:06 UTC]    Is_active field in books: YES
[21-Nov-2025 23:47:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:47:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:47:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:47:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:47:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:47:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:47:06 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:47:06 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:47:06 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:47:06 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:47:06 UTC] 📊 Database Info:
[21-Nov-2025 23:47:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:47:06 UTC]    Books columns count: 44
[21-Nov-2025 23:47:06 UTC]    Categories columns count: 7
[21-Nov-2025 23:47:06 UTC]    Language field in books: YES
[21-Nov-2025 23:47:06 UTC]    Format field in books: YES
[21-Nov-2025 23:47:06 UTC]    Description field in categories: YES
[21-Nov-2025 23:47:06 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:47:06 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:47:06 UTC]    Is_active field in books: YES
[21-Nov-2025 23:47:06 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:47:06 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:47:06 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:47:06 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:47:06 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:47:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:47:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:47:06 UTC] 📁 جلب التصنيفات النشطة فقط
[21-Nov-2025 23:47:06 UTC] ✅ إرجاع 2 تصنيف نشط
[21-Nov-2025 23:47:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:47:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:47:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:47:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:47:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:47:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:47:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:47:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:47:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:47:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:47:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:47:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:47:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:47:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:47:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:47:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:47:25 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:47:25 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:47:25 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:47:25 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:47:25 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:47:25 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:47:25 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:47:25 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:47:25 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:47:25 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:47:25 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:47:25 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:47:25 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:47:25 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:47:25 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:47:25 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:47:25 UTC] 📊 Database Info:
[21-Nov-2025 23:47:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:47:25 UTC]    Books columns count: 44
[21-Nov-2025 23:47:25 UTC]    Categories columns count: 7
[21-Nov-2025 23:47:25 UTC]    Language field in books: YES
[21-Nov-2025 23:47:25 UTC]    Format field in books: YES
[21-Nov-2025 23:47:25 UTC]    Description field in categories: YES
[21-Nov-2025 23:47:25 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:47:25 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:47:25 UTC]    Is_active field in books: YES
[21-Nov-2025 23:47:25 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:47:25 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:47:25 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:47:25 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:47:25 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:47:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:47:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:47:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:47:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:47:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:47:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:47:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:47:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:47:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:47:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:47:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:47:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:47:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:47:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:47:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:47:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:47:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:47:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:47:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:47:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:47:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:47:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:47:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:47:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:47:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:47:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:47:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:47:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:47:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:47:31 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:47:31 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:47:31 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:47:31 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:47:31 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:47:31 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:47:31 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:47:31 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:47:31 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:47:31 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:47:31 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:47:31 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:47:31 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:47:31 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:47:31 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:47:31 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:47:31 UTC] 📊 Database Info:
[21-Nov-2025 23:47:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:47:31 UTC]    Books columns count: 44
[21-Nov-2025 23:47:31 UTC]    Categories columns count: 7
[21-Nov-2025 23:47:31 UTC]    Language field in books: YES
[21-Nov-2025 23:47:31 UTC]    Format field in books: YES
[21-Nov-2025 23:47:31 UTC]    Description field in categories: YES
[21-Nov-2025 23:47:31 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:47:31 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:47:31 UTC]    Is_active field in books: YES
[21-Nov-2025 23:47:31 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:47:31 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:47:31 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:47:31 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:47:31 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:47:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[21-Nov-2025 23:47:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[21-Nov-2025 23:47:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:47:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:47:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:47:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:47:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:47:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:47:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:47:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:47:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:47:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:47:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:47:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:47:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[21-Nov-2025 23:47:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:47:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[21-Nov-2025 23:47:34 UTC] ⚠️ Missing columns detected: description, display_order
[21-Nov-2025 23:47:34 UTC] 🔄 Attempting to add missing columns...
[21-Nov-2025 23:47:34 UTC] ℹ️ Column institution already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column publication_year already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column keywords already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column selected_pages_summary already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column selected_pages_toc already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column selected_pages_original already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column is_protected already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column protection_key already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column show_read_button already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column read_button_text already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column is_external_plus already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column custom_file_size already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column show_file_size already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column taille_before_extrait already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column show_download_extrait_button already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column download_extrait_button_text already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column original_pdf_url already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column download_count already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column stockage already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column language already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column format already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column external_download_link already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column show_external_download_button already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column external_download_protection_key already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column is_external_download_protected already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column is_active already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column description already exists in categories
[21-Nov-2025 23:47:34 UTC] ℹ️ Column display_order already exists in categories
[21-Nov-2025 23:47:34 UTC] ℹ️ Column is_active already exists in categories
[21-Nov-2025 23:47:34 UTC] ℹ️ Column show_welcome_section already exists
[21-Nov-2025 23:47:34 UTC] ℹ️ Column company_address already exists
[21-Nov-2025 23:47:34 UTC] ✅ Updated existing books with original_pdf_url
[21-Nov-2025 23:47:34 UTC] ✅ Updated existing books with is_active = TRUE
[21-Nov-2025 23:47:34 UTC] ✅ Updated existing categories with new fields
[21-Nov-2025 23:47:34 UTC] ✅ Default screen texts inserted successfully
[21-Nov-2025 23:47:34 UTC] ✅ Updated existing books with empty language field
[21-Nov-2025 23:47:34 UTC] ✅ Updated existing books with empty format field
[21-Nov-2025 23:47:34 UTC] ✅ Updated existing books with default external download link and protection values
[21-Nov-2025 23:47:34 UTC] ✅ Database tables created/updated successfully with all new fields
[21-Nov-2025 23:47:34 UTC] ℹ️ Favorites table not available for inspection
[21-Nov-2025 23:47:34 UTC] 📊 Database Info:
[21-Nov-2025 23:47:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[21-Nov-2025 23:47:34 UTC]    Books columns count: 44
[21-Nov-2025 23:47:34 UTC]    Categories columns count: 7
[21-Nov-2025 23:47:34 UTC]    Language field in books: YES
[21-Nov-2025 23:47:34 UTC]    Format field in books: YES
[21-Nov-2025 23:47:34 UTC]    Description field in categories: YES
[21-Nov-2025 23:47:34 UTC]    Display_order field in categories: YES
[21-Nov-2025 23:47:34 UTC]    Is_active field in categories: YES
[21-Nov-2025 23:47:34 UTC]    Is_active field in books: YES
[21-Nov-2025 23:47:34 UTC]    External_download_link field in books: YES
[21-Nov-2025 23:47:34 UTC]    Show_external_download_button field in books: YES
[21-Nov-2025 23:47:34 UTC]    External_download_protection_key field in books: YES
[21-Nov-2025 23:47:34 UTC]    Is_external_download_protected field in books: YES
[21-Nov-2025 23:47:34 UTC] ℹ️ Database is already at version 23
[21-Nov-2025 23:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[21-Nov-2025 23:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[21-Nov-2025 23:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[21-Nov-2025 23:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[21-Nov-2025 23:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[21-Nov-2025 23:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[21-Nov-2025 23:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[21-Nov-2025 23:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[21-Nov-2025 23:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[21-Nov-2025 23:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[21-Nov-2025 23:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[21-Nov-2025 23:47:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[21-Nov-2025 23:47:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 00:14:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 00:14:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 00:14:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 00:14:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 00:14:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 00:14:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 00:14:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 00:14:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 00:14:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 00:14:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 00:14:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 00:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 00:14:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 00:14:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 00:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 00:14:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 00:14:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 00:14:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 00:14:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 00:14:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 00:14:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 00:14:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 00:14:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 00:14:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 00:14:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 00:14:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 00:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 00:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 00:14:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 00:14:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 00:14:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 00:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 00:14:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 00:14:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 00:14:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 00:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 00:14:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 00:14:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 00:14:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 00:14:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 00:14:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 00:14:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 00:14:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 00:14:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 00:14:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 00:14:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 00:14:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 00:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 00:14:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 00:14:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 00:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 00:14:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 00:14:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 00:14:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 00:14:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 00:14:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 00:14:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 00:14:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 00:14:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 00:14:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 00:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 00:14:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 00:14:50 UTC] 📊 Database Info:
[22-Nov-2025 00:14:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 00:14:50 UTC]    Books columns count: 44
[22-Nov-2025 00:14:50 UTC]    Categories columns count: 7
[22-Nov-2025 00:14:50 UTC]    Language field in books: YES
[22-Nov-2025 00:14:50 UTC]    Format field in books: YES
[22-Nov-2025 00:14:50 UTC]    Description field in categories: YES
[22-Nov-2025 00:14:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 00:14:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 00:14:50 UTC]    Is_active field in books: YES
[22-Nov-2025 00:14:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 00:14:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 00:14:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 00:14:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 00:14:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 00:14:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 00:14:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 00:14:50 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 00:14:50 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 00:14:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 00:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 00:14:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 00:14:50 UTC] 📊 Database Info:
[22-Nov-2025 00:14:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 00:14:50 UTC]    Books columns count: 44
[22-Nov-2025 00:14:50 UTC]    Categories columns count: 7
[22-Nov-2025 00:14:50 UTC]    Language field in books: YES
[22-Nov-2025 00:14:50 UTC]    Format field in books: YES
[22-Nov-2025 00:14:50 UTC]    Description field in categories: YES
[22-Nov-2025 00:14:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 00:14:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 00:14:50 UTC]    Is_active field in books: YES
[22-Nov-2025 00:14:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 00:14:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 00:14:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 00:14:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 00:14:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 00:14:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 00:14:50 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 00:14:50 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 00:14:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 00:14:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 00:14:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 00:14:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 00:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 00:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 00:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 00:14:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 00:14:50 UTC] 📊 Database Info:
[22-Nov-2025 00:14:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 00:14:50 UTC]    Books columns count: 44
[22-Nov-2025 00:14:50 UTC]    Categories columns count: 7
[22-Nov-2025 00:14:50 UTC]    Language field in books: YES
[22-Nov-2025 00:14:50 UTC]    Format field in books: YES
[22-Nov-2025 00:14:50 UTC]    Description field in categories: YES
[22-Nov-2025 00:14:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 00:14:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 00:14:50 UTC]    Is_active field in books: YES
[22-Nov-2025 00:14:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 00:14:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 00:14:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 00:14:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 00:14:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 00:14:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 00:14:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 00:14:50 UTC] 📊 Database Info:
[22-Nov-2025 00:14:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 00:14:50 UTC]    Books columns count: 44
[22-Nov-2025 00:14:50 UTC]    Categories columns count: 7
[22-Nov-2025 00:14:50 UTC]    Language field in books: YES
[22-Nov-2025 00:14:50 UTC]    Format field in books: YES
[22-Nov-2025 00:14:50 UTC]    Description field in categories: YES
[22-Nov-2025 00:14:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 00:14:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 00:14:50 UTC]    Is_active field in books: YES
[22-Nov-2025 00:14:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 00:14:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 00:14:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 00:14:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 00:14:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 00:14:50 UTC] 📊 Database Info:
[22-Nov-2025 00:14:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 00:14:50 UTC]    Books columns count: 44
[22-Nov-2025 00:14:50 UTC]    Categories columns count: 7
[22-Nov-2025 00:14:50 UTC]    Language field in books: YES
[22-Nov-2025 00:14:50 UTC]    Format field in books: YES
[22-Nov-2025 00:14:50 UTC]    Description field in categories: YES
[22-Nov-2025 00:14:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 00:14:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 00:14:50 UTC]    Is_active field in books: YES
[22-Nov-2025 00:14:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 00:14:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 00:14:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 00:14:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 00:14:50 UTC] 📊 Database Info:
[22-Nov-2025 00:14:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 00:14:50 UTC]    Books columns count: 44
[22-Nov-2025 00:14:50 UTC]    Categories columns count: 7
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 00:14:50 UTC]    Language field in books: YES
[22-Nov-2025 00:14:50 UTC]    Format field in books: YES
[22-Nov-2025 00:14:50 UTC]    Description field in categories: YES
[22-Nov-2025 00:14:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 00:14:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 00:14:50 UTC]    Is_active field in books: YES
[22-Nov-2025 00:14:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 00:14:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 00:14:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 00:14:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 00:14:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 00:14:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 00:14:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 00:14:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 00:14:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 00:14:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 00:14:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 00:14:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 00:14:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 00:14:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 00:14:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 00:14:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 00:14:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 00:14:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 00:14:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 00:14:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 00:14:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 00:14:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 00:14:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 00:14:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 00:14:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 00:14:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 00:14:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 00:14:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 00:14:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 00:14:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 00:14:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 00:14:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 00:14:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 00:14:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 00:14:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 00:14:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 00:14:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 00:14:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 00:14:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 00:14:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 00:14:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 00:14:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 00:14:51 UTC] 📊 Database Info:
[22-Nov-2025 00:14:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 00:14:51 UTC]    Books columns count: 44
[22-Nov-2025 00:14:51 UTC]    Categories columns count: 7
[22-Nov-2025 00:14:51 UTC]    Language field in books: YES
[22-Nov-2025 00:14:51 UTC]    Format field in books: YES
[22-Nov-2025 00:14:51 UTC]    Description field in categories: YES
[22-Nov-2025 00:14:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 00:14:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 00:14:51 UTC]    Is_active field in books: YES
[22-Nov-2025 00:14:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 00:14:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 00:14:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 00:14:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 00:14:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 00:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 00:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 00:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 00:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 00:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 00:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 00:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 00:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 00:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 00:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 00:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 00:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 00:14:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 00:14:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 00:14:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 00:14:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 00:14:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 00:14:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 00:14:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 00:14:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 00:14:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 00:14:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 00:14:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 00:14:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 00:14:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 00:14:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 00:14:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 00:14:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 00:14:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 00:14:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 00:14:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 00:14:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 00:14:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 00:14:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 00:14:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 00:14:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 00:14:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 00:14:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 00:14:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 00:14:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 00:14:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 00:14:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 00:14:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 00:14:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 00:14:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 00:14:54 UTC] 📊 Database Info:
[22-Nov-2025 00:14:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 00:14:54 UTC]    Books columns count: 44
[22-Nov-2025 00:14:54 UTC]    Categories columns count: 7
[22-Nov-2025 00:14:54 UTC]    Language field in books: YES
[22-Nov-2025 00:14:54 UTC]    Format field in books: YES
[22-Nov-2025 00:14:54 UTC]    Description field in categories: YES
[22-Nov-2025 00:14:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 00:14:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 00:14:54 UTC]    Is_active field in books: YES
[22-Nov-2025 00:14:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 00:14:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 00:14:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 00:14:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 00:14:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 00:14:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 00:14:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 00:14:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 00:14:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 00:14:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 00:14:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 00:14:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 00:14:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 00:14:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 00:14:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 00:14:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 00:14:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 00:14:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 00:15:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 00:15:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 00:15:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 00:15:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 00:15:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 00:15:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 00:15:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 00:15:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 00:15:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 00:15:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 00:15:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 00:15:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 00:15:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 00:15:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 00:15:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 00:15:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 00:15:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 00:15:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 00:15:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 00:15:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 00:15:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 00:15:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 00:15:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 00:15:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 00:15:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 00:15:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 00:15:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 00:15:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 00:15:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 00:15:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 00:15:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 00:15:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 00:15:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 00:15:06 UTC] 📊 Database Info:
[22-Nov-2025 00:15:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 00:15:06 UTC]    Books columns count: 44
[22-Nov-2025 00:15:06 UTC]    Categories columns count: 7
[22-Nov-2025 00:15:06 UTC]    Language field in books: YES
[22-Nov-2025 00:15:06 UTC]    Format field in books: YES
[22-Nov-2025 00:15:06 UTC]    Description field in categories: YES
[22-Nov-2025 00:15:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 00:15:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 00:15:06 UTC]    Is_active field in books: YES
[22-Nov-2025 00:15:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 00:15:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 00:15:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 00:15:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 00:15:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 00:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 00:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 00:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 00:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 00:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 00:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 00:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 00:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 00:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 00:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 00:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 00:15:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 00:15:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 01:19:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 01:19:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 01:19:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 01:19:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:19:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:19:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:19:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:19:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:19:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:19:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:19:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:19:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:19:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 01:19:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:19:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:19:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:19:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:19:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:19:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 01:19:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:19:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:19:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:19:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:19:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:19:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:19:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 01:19:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 01:19:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 01:19:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 01:19:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 01:19:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 01:19:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:19:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:19:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:19:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:19:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:19:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:19:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:19:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:19:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:19:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:19:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:19:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:19:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:19:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 01:19:25 UTC] 📊 Database Info:
[22-Nov-2025 01:19:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 01:19:25 UTC]    Books columns count: 44
[22-Nov-2025 01:19:25 UTC]    Categories columns count: 7
[22-Nov-2025 01:19:25 UTC]    Language field in books: YES
[22-Nov-2025 01:19:25 UTC]    Format field in books: YES
[22-Nov-2025 01:19:25 UTC]    Description field in categories: YES
[22-Nov-2025 01:19:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 01:19:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 01:19:25 UTC]    Is_active field in books: YES
[22-Nov-2025 01:19:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 01:19:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 01:19:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 01:19:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 01:19:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 01:19:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 01:19:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:19:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:19:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:19:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:19:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:19:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 01:19:25 UTC] 📊 Database Info:
[22-Nov-2025 01:19:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 01:19:25 UTC]    Books columns count: 44
[22-Nov-2025 01:19:25 UTC]    Categories columns count: 7
[22-Nov-2025 01:19:25 UTC]    Language field in books: YES
[22-Nov-2025 01:19:25 UTC]    Format field in books: YES
[22-Nov-2025 01:19:25 UTC]    Description field in categories: YES
[22-Nov-2025 01:19:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 01:19:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 01:19:25 UTC]    Is_active field in books: YES
[22-Nov-2025 01:19:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 01:19:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 01:19:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 01:19:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 01:19:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 01:19:25 UTC] 📊 Database Info:
[22-Nov-2025 01:19:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 01:19:25 UTC]    Books columns count: 44
[22-Nov-2025 01:19:25 UTC]    Categories columns count: 7
[22-Nov-2025 01:19:25 UTC]    Language field in books: YES
[22-Nov-2025 01:19:25 UTC]    Format field in books: YES
[22-Nov-2025 01:19:25 UTC]    Description field in categories: YES
[22-Nov-2025 01:19:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 01:19:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 01:19:25 UTC]    Is_active field in books: YES
[22-Nov-2025 01:19:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 01:19:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 01:19:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 01:19:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 01:19:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 01:19:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 01:19:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 01:19:25 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 01:19:25 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 01:19:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 01:19:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 01:19:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 01:19:25 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 01:19:25 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 01:35:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 01:35:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 01:35:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:35:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:35:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:35:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:35:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:35:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:35:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:35:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:35:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 01:35:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:35:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:35:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 01:35:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 01:35:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:35:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:35:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:35:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:35:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:35:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:35:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:35:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:35:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:35:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 01:35:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 01:35:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:35:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:35:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:35:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:35:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:35:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:35:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 01:35:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:35:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:35:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:35:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:35:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 01:35:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 01:35:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:35:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 01:35:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 01:35:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:35:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:35:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 01:35:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:35:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:35:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:35:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:35:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:35:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:35:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:35:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 01:35:32 UTC] 📊 Database Info:
[22-Nov-2025 01:35:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 01:35:32 UTC]    Books columns count: 44
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:35:32 UTC]    Categories columns count: 7
[22-Nov-2025 01:35:32 UTC]    Language field in books: YES
[22-Nov-2025 01:35:32 UTC]    Format field in books: YES
[22-Nov-2025 01:35:32 UTC]    Description field in categories: YES
[22-Nov-2025 01:35:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 01:35:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 01:35:32 UTC]    Is_active field in books: YES
[22-Nov-2025 01:35:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 01:35:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 01:35:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 01:35:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 01:35:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:35:32 UTC] 📊 Database Info:
[22-Nov-2025 01:35:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 01:35:32 UTC]    Books columns count: 44
[22-Nov-2025 01:35:32 UTC]    Categories columns count: 7
[22-Nov-2025 01:35:32 UTC]    Language field in books: YES
[22-Nov-2025 01:35:32 UTC]    Format field in books: YES
[22-Nov-2025 01:35:32 UTC]    Description field in categories: YES
[22-Nov-2025 01:35:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 01:35:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 01:35:32 UTC]    Is_active field in books: YES
[22-Nov-2025 01:35:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:35:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 01:35:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 01:35:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 01:35:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 01:35:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 01:35:32 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 01:35:32 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 01:35:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 01:35:32 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 01:35:32 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 01:35:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:35:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:35:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:35:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:35:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 01:35:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:35:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:35:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 01:35:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 01:35:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 01:35:32 UTC] 📊 Database Info:
[22-Nov-2025 01:35:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 01:35:32 UTC]    Books columns count: 44
[22-Nov-2025 01:35:32 UTC]    Categories columns count: 7
[22-Nov-2025 01:35:32 UTC]    Language field in books: YES
[22-Nov-2025 01:35:32 UTC]    Format field in books: YES
[22-Nov-2025 01:35:32 UTC]    Description field in categories: YES
[22-Nov-2025 01:35:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 01:35:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 01:35:32 UTC]    Is_active field in books: YES
[22-Nov-2025 01:35:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 01:35:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 01:35:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 01:35:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 01:35:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 01:35:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 01:35:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:35:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:35:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:35:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:35:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:35:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 01:35:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:35:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:35:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 01:35:32 UTC] 📊 Database Info:
[22-Nov-2025 01:35:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 01:35:32 UTC]    Books columns count: 44
[22-Nov-2025 01:35:32 UTC]    Categories columns count: 7
[22-Nov-2025 01:35:32 UTC]    Language field in books: YES
[22-Nov-2025 01:35:32 UTC]    Format field in books: YES
[22-Nov-2025 01:35:32 UTC]    Description field in categories: YES
[22-Nov-2025 01:35:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 01:35:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 01:35:32 UTC]    Is_active field in books: YES
[22-Nov-2025 01:35:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 01:35:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 01:35:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 01:35:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 01:35:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 01:35:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 01:35:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 01:35:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 01:35:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:35:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:35:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:35:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:35:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:35:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 01:35:32 UTC] 📊 Database Info:
[22-Nov-2025 01:35:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 01:35:32 UTC]    Books columns count: 44
[22-Nov-2025 01:35:32 UTC]    Categories columns count: 7
[22-Nov-2025 01:35:32 UTC]    Language field in books: YES
[22-Nov-2025 01:35:32 UTC]    Format field in books: YES
[22-Nov-2025 01:35:32 UTC]    Description field in categories: YES
[22-Nov-2025 01:35:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 01:35:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 01:35:32 UTC]    Is_active field in books: YES
[22-Nov-2025 01:35:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 01:35:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 01:35:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 01:35:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 01:35:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 01:35:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 01:35:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:35:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:35:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:35:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 01:35:32 UTC] 📊 Database Info:
[22-Nov-2025 01:35:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 01:35:32 UTC]    Books columns count: 44
[22-Nov-2025 01:35:32 UTC]    Categories columns count: 7
[22-Nov-2025 01:35:32 UTC]    Language field in books: YES
[22-Nov-2025 01:35:32 UTC]    Format field in books: YES
[22-Nov-2025 01:35:32 UTC]    Description field in categories: YES
[22-Nov-2025 01:35:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 01:35:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 01:35:32 UTC]    Is_active field in books: YES
[22-Nov-2025 01:35:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 01:35:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 01:35:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 01:35:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 01:35:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 01:35:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 01:35:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 01:35:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 01:35:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:35:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:35:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:35:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:35:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:35:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:35:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:35:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:35:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:35:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 01:35:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:35:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:35:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 01:35:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 01:35:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:35:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:35:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:35:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:35:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:35:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:35:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:35:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:35:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:35:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:35:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 01:35:33 UTC] 📊 Database Info:
[22-Nov-2025 01:35:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 01:35:33 UTC]    Books columns count: 44
[22-Nov-2025 01:35:33 UTC]    Categories columns count: 7
[22-Nov-2025 01:35:33 UTC]    Language field in books: YES
[22-Nov-2025 01:35:33 UTC]    Format field in books: YES
[22-Nov-2025 01:35:33 UTC]    Description field in categories: YES
[22-Nov-2025 01:35:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 01:35:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 01:35:33 UTC]    Is_active field in books: YES
[22-Nov-2025 01:35:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 01:35:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 01:35:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 01:35:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 01:35:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 01:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 01:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 01:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 01:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 01:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 01:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 01:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 01:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 01:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 01:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 01:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 01:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 01:35:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 01:35:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 01:35:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:35:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:35:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:35:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:35:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:35:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:35:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:35:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:35:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:35:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:35:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:35:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:35:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 01:35:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:35:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 01:35:37 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 01:35:37 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 01:35:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 01:35:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 01:35:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 01:35:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 01:35:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 01:35:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 01:35:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 01:35:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 01:35:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 01:35:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 01:35:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 01:35:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 01:35:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 01:35:37 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 01:35:37 UTC] 📊 Database Info:
[22-Nov-2025 01:35:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 01:35:37 UTC]    Books columns count: 44
[22-Nov-2025 01:35:37 UTC]    Categories columns count: 7
[22-Nov-2025 01:35:37 UTC]    Language field in books: YES
[22-Nov-2025 01:35:37 UTC]    Format field in books: YES
[22-Nov-2025 01:35:37 UTC]    Description field in categories: YES
[22-Nov-2025 01:35:37 UTC]    Display_order field in categories: YES
[22-Nov-2025 01:35:37 UTC]    Is_active field in categories: YES
[22-Nov-2025 01:35:37 UTC]    Is_active field in books: YES
[22-Nov-2025 01:35:37 UTC]    External_download_link field in books: YES
[22-Nov-2025 01:35:37 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 01:35:37 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 01:35:37 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 01:35:37 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 01:35:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 01:35:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 01:35:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 01:35:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 01:35:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 01:35:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 01:35:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 01:35:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 01:35:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 01:35:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 01:35:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 01:35:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 01:35:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 02:43:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 02:43:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 02:43:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 02:43:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 02:43:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 02:43:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 02:43:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 02:43:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 02:43:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 02:43:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 02:43:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 02:43:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 02:43:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 02:43:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 02:43:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 02:43:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 02:43:56 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 02:43:56 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 02:43:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 02:43:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 02:43:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 02:43:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 02:43:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 02:43:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 02:43:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 02:43:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 02:43:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 02:43:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 02:43:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 02:43:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 02:43:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 02:43:56 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 02:43:56 UTC] 📊 Database Info:
[22-Nov-2025 02:43:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 02:43:56 UTC]    Books columns count: 44
[22-Nov-2025 02:43:56 UTC]    Categories columns count: 7
[22-Nov-2025 02:43:56 UTC]    Language field in books: YES
[22-Nov-2025 02:43:56 UTC]    Format field in books: YES
[22-Nov-2025 02:43:56 UTC]    Description field in categories: YES
[22-Nov-2025 02:43:56 UTC]    Display_order field in categories: YES
[22-Nov-2025 02:43:56 UTC]    Is_active field in categories: YES
[22-Nov-2025 02:43:56 UTC]    Is_active field in books: YES
[22-Nov-2025 02:43:56 UTC]    External_download_link field in books: YES
[22-Nov-2025 02:43:56 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 02:43:56 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 02:43:56 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 02:43:56 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 02:43:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 02:43:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 02:43:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 02:43:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 02:43:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 02:43:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 02:43:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 02:43:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 02:43:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 02:43:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 02:43:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 02:43:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 02:43:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 02:43:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 02:43:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 02:43:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 02:43:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 02:43:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 02:43:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 02:43:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 02:43:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 02:43:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 02:43:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 02:43:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 02:43:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 02:43:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 02:43:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 02:43:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 02:43:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 02:43:58 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 02:43:58 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 02:43:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 02:43:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 02:43:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 02:43:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 02:43:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 02:43:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 02:43:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 02:43:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 02:43:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 02:43:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 02:43:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 02:43:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 02:43:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 02:43:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 02:43:58 UTC] 📊 Database Info:
[22-Nov-2025 02:43:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 02:43:58 UTC]    Books columns count: 44
[22-Nov-2025 02:43:58 UTC]    Categories columns count: 7
[22-Nov-2025 02:43:58 UTC]    Language field in books: YES
[22-Nov-2025 02:43:58 UTC]    Format field in books: YES
[22-Nov-2025 02:43:58 UTC]    Description field in categories: YES
[22-Nov-2025 02:43:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 02:43:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 02:43:58 UTC]    Is_active field in books: YES
[22-Nov-2025 02:43:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 02:43:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 02:43:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 02:43:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 02:43:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 02:43:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 02:43:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 02:43:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 02:43:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 02:43:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 02:43:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 02:43:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 02:43:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 02:43:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 02:43:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 02:43:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 02:43:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 02:43:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 10:10:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 10:10:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 10:10:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 10:10:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 10:10:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 10:10:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 10:10:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 10:10:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 10:10:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 10:10:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 10:10:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 10:10:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 10:10:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 10:10:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 10:10:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 10:10:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 10:10:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 10:10:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 10:10:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 10:10:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 10:10:24 UTC] 📊 Database Info:
[22-Nov-2025 10:10:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 10:10:24 UTC]    Books columns count: 44
[22-Nov-2025 10:10:24 UTC]    Categories columns count: 7
[22-Nov-2025 10:10:24 UTC]    Language field in books: YES
[22-Nov-2025 10:10:24 UTC]    Format field in books: YES
[22-Nov-2025 10:10:24 UTC]    Description field in categories: YES
[22-Nov-2025 10:10:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 10:10:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 10:10:24 UTC]    Is_active field in books: YES
[22-Nov-2025 10:10:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 10:10:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 10:10:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 10:10:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 10:10:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 10:10:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 10:10:24 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 10:10:24 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 10:10:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 10:10:24 UTC] 📊 Database Info:
[22-Nov-2025 10:10:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 10:10:24 UTC]    Books columns count: 44
[22-Nov-2025 10:10:24 UTC]    Categories columns count: 7
[22-Nov-2025 10:10:24 UTC]    Language field in books: YES
[22-Nov-2025 10:10:24 UTC]    Format field in books: YES
[22-Nov-2025 10:10:24 UTC]    Description field in categories: YES
[22-Nov-2025 10:10:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 10:10:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 10:10:24 UTC]    Is_active field in books: YES
[22-Nov-2025 10:10:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 10:10:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 10:10:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 10:10:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 10:10:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 10:10:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 10:10:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 10:10:24 UTC] 📊 Database Info:
[22-Nov-2025 10:10:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 10:10:24 UTC]    Books columns count: 44
[22-Nov-2025 10:10:24 UTC]    Categories columns count: 7
[22-Nov-2025 10:10:24 UTC]    Language field in books: YES
[22-Nov-2025 10:10:24 UTC]    Format field in books: YES
[22-Nov-2025 10:10:24 UTC]    Description field in categories: YES
[22-Nov-2025 10:10:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 10:10:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 10:10:24 UTC]    Is_active field in books: YES
[22-Nov-2025 10:10:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 10:10:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 10:10:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 10:10:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 10:10:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 10:10:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 10:10:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 10:10:24 UTC] 📊 Database Info:
[22-Nov-2025 10:10:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 10:10:24 UTC]    Books columns count: 44
[22-Nov-2025 10:10:24 UTC]    Categories columns count: 7
[22-Nov-2025 10:10:24 UTC]    Language field in books: YES
[22-Nov-2025 10:10:24 UTC]    Format field in books: YES
[22-Nov-2025 10:10:24 UTC]    Description field in categories: YES
[22-Nov-2025 10:10:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 10:10:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 10:10:24 UTC]    Is_active field in books: YES
[22-Nov-2025 10:10:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 10:10:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 10:10:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 10:10:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 10:10:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 10:10:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 10:10:24 UTC] 📊 Database Info:
[22-Nov-2025 10:10:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 10:10:24 UTC]    Books columns count: 44
[22-Nov-2025 10:10:24 UTC]    Categories columns count: 7
[22-Nov-2025 10:10:24 UTC]    Language field in books: YES
[22-Nov-2025 10:10:24 UTC]    Format field in books: YES
[22-Nov-2025 10:10:24 UTC]    Description field in categories: YES
[22-Nov-2025 10:10:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 10:10:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 10:10:24 UTC]    Is_active field in books: YES
[22-Nov-2025 10:10:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 10:10:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 10:10:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 10:10:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 10:10:24 UTC] 📊 Database Info:
[22-Nov-2025 10:10:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 10:10:24 UTC]    Books columns count: 44
[22-Nov-2025 10:10:24 UTC]    Categories columns count: 7
[22-Nov-2025 10:10:24 UTC]    Language field in books: YES
[22-Nov-2025 10:10:24 UTC]    Format field in books: YES
[22-Nov-2025 10:10:24 UTC]    Description field in categories: YES
[22-Nov-2025 10:10:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 10:10:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 10:10:24 UTC]    Is_active field in books: YES
[22-Nov-2025 10:10:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 10:10:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 10:10:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 10:10:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 10:10:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 10:10:24 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 10:10:24 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 10:10:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 10:10:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 10:10:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 10:10:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 10:10:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 10:10:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 10:10:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 10:10:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 10:10:28 UTC] 📊 Database Info:
[22-Nov-2025 10:10:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 10:10:28 UTC]    Books columns count: 44
[22-Nov-2025 10:10:28 UTC]    Categories columns count: 7
[22-Nov-2025 10:10:28 UTC]    Language field in books: YES
[22-Nov-2025 10:10:28 UTC]    Format field in books: YES
[22-Nov-2025 10:10:28 UTC]    Description field in categories: YES
[22-Nov-2025 10:10:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 10:10:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 10:10:28 UTC]    Is_active field in books: YES
[22-Nov-2025 10:10:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 10:10:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 10:10:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 10:10:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 10:10:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 10:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 10:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 10:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 10:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 10:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 10:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 10:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 10:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 10:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 10:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 10:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 10:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 10:10:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 10:10:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 10:10:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 10:10:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 10:10:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 10:10:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 10:10:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 10:10:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 10:10:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 10:10:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 10:10:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 10:10:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 10:10:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 10:10:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 10:10:39 UTC] 📊 Database Info:
[22-Nov-2025 10:10:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 10:10:39 UTC]    Books columns count: 44
[22-Nov-2025 10:10:39 UTC]    Categories columns count: 7
[22-Nov-2025 10:10:39 UTC]    Language field in books: YES
[22-Nov-2025 10:10:39 UTC]    Format field in books: YES
[22-Nov-2025 10:10:39 UTC]    Description field in categories: YES
[22-Nov-2025 10:10:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 10:10:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 10:10:39 UTC]    Is_active field in books: YES
[22-Nov-2025 10:10:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 10:10:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 10:10:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 10:10:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 10:10:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 10:10:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 10:10:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 10:10:39 UTC] 📊 Database Info:
[22-Nov-2025 10:10:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 10:10:39 UTC]    Books columns count: 44
[22-Nov-2025 10:10:39 UTC]    Categories columns count: 7
[22-Nov-2025 10:10:39 UTC]    Language field in books: YES
[22-Nov-2025 10:10:39 UTC]    Format field in books: YES
[22-Nov-2025 10:10:39 UTC]    Description field in categories: YES
[22-Nov-2025 10:10:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 10:10:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 10:10:39 UTC]    Is_active field in books: YES
[22-Nov-2025 10:10:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 10:10:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 10:10:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 10:10:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 10:10:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 10:10:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 10:10:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 10:10:39 UTC] 📊 Database Info:
[22-Nov-2025 10:10:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 10:10:39 UTC]    Books columns count: 44
[22-Nov-2025 10:10:39 UTC]    Categories columns count: 7
[22-Nov-2025 10:10:39 UTC]    Language field in books: YES
[22-Nov-2025 10:10:39 UTC]    Format field in books: YES
[22-Nov-2025 10:10:39 UTC]    Description field in categories: YES
[22-Nov-2025 10:10:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 10:10:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 10:10:39 UTC]    Is_active field in books: YES
[22-Nov-2025 10:10:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 10:10:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 10:10:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 10:10:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 10:10:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 10:10:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 10:10:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 10:10:39 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 10:10:39 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 10:10:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 10:10:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 10:10:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 10:10:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:58 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 10:10:58 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 10:10:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 10:10:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 10:10:58 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 10:10:58 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 10:10:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 10:10:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 10:10:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 10:10:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 10:10:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 10:10:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 10:10:58 UTC] 📊 Database Info:
[22-Nov-2025 10:10:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 10:10:58 UTC]    Books columns count: 44
[22-Nov-2025 10:10:58 UTC]    Categories columns count: 7
[22-Nov-2025 10:10:58 UTC]    Language field in books: YES
[22-Nov-2025 10:10:58 UTC]    Format field in books: YES
[22-Nov-2025 10:10:58 UTC]    Description field in categories: YES
[22-Nov-2025 10:10:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 10:10:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 10:10:58 UTC]    Is_active field in books: YES
[22-Nov-2025 10:10:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 10:10:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 10:10:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 10:10:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 10:10:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 10:10:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 10:10:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 10:10:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 10:10:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 10:10:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 10:10:58 UTC] 📊 Database Info:
[22-Nov-2025 10:10:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 10:10:58 UTC]    Books columns count: 44
[22-Nov-2025 10:10:58 UTC]    Categories columns count: 7
[22-Nov-2025 10:10:58 UTC]    Language field in books: YES
[22-Nov-2025 10:10:58 UTC]    Format field in books: YES
[22-Nov-2025 10:10:58 UTC]    Description field in categories: YES
[22-Nov-2025 10:10:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 10:10:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 10:10:58 UTC]    Is_active field in books: YES
[22-Nov-2025 10:10:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 10:10:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 10:10:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 10:10:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 10:10:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 10:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 10:10:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 11:52:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 11:52:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 11:52:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 11:52:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 11:52:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 11:52:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 11:52:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 11:52:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 11:52:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 11:52:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 11:52:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 11:52:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 11:52:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 11:52:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 11:52:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 11:52:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 11:52:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 11:52:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 11:52:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 11:52:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 11:52:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 11:52:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 11:52:06 UTC] 📊 Database Info:
[22-Nov-2025 11:52:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 11:52:06 UTC]    Books columns count: 44
[22-Nov-2025 11:52:06 UTC]    Categories columns count: 7
[22-Nov-2025 11:52:06 UTC]    Language field in books: YES
[22-Nov-2025 11:52:06 UTC]    Format field in books: YES
[22-Nov-2025 11:52:06 UTC]    Description field in categories: YES
[22-Nov-2025 11:52:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 11:52:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 11:52:06 UTC]    Is_active field in books: YES
[22-Nov-2025 11:52:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 11:52:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 11:52:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 11:52:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 11:52:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 11:52:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:06 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 11:52:06 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 11:52:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 11:52:06 UTC] 📊 Database Info:
[22-Nov-2025 11:52:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 11:52:06 UTC]    Books columns count: 44
[22-Nov-2025 11:52:06 UTC]    Categories columns count: 7
[22-Nov-2025 11:52:06 UTC]    Language field in books: YES
[22-Nov-2025 11:52:06 UTC]    Format field in books: YES
[22-Nov-2025 11:52:06 UTC]    Description field in categories: YES
[22-Nov-2025 11:52:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 11:52:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 11:52:06 UTC]    Is_active field in books: YES
[22-Nov-2025 11:52:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 11:52:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 11:52:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 11:52:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 11:52:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 11:52:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 11:52:06 UTC] 📊 Database Info:
[22-Nov-2025 11:52:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 11:52:06 UTC]    Books columns count: 44
[22-Nov-2025 11:52:06 UTC]    Categories columns count: 7
[22-Nov-2025 11:52:06 UTC]    Language field in books: YES
[22-Nov-2025 11:52:06 UTC]    Format field in books: YES
[22-Nov-2025 11:52:06 UTC]    Description field in categories: YES
[22-Nov-2025 11:52:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 11:52:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 11:52:06 UTC]    Is_active field in books: YES
[22-Nov-2025 11:52:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 11:52:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 11:52:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 11:52:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 11:52:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 11:52:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:06 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 11:52:06 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 11:52:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 11:52:06 UTC] 📊 Database Info:
[22-Nov-2025 11:52:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 11:52:06 UTC]    Books columns count: 44
[22-Nov-2025 11:52:06 UTC]    Categories columns count: 7
[22-Nov-2025 11:52:06 UTC]    Language field in books: YES
[22-Nov-2025 11:52:06 UTC]    Format field in books: YES
[22-Nov-2025 11:52:06 UTC]    Description field in categories: YES
[22-Nov-2025 11:52:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 11:52:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 11:52:06 UTC]    Is_active field in books: YES
[22-Nov-2025 11:52:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 11:52:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 11:52:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 11:52:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 11:52:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 11:52:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 11:52:06 UTC] 📊 Database Info:
[22-Nov-2025 11:52:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 11:52:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 11:52:06 UTC] 📊 Database Info:
[22-Nov-2025 11:52:06 UTC]    Books columns count: 44
[22-Nov-2025 11:52:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 11:52:06 UTC]    Categories columns count: 7
[22-Nov-2025 11:52:06 UTC]    Books columns count: 44
[22-Nov-2025 11:52:06 UTC]    Categories columns count: 7
[22-Nov-2025 11:52:06 UTC]    Language field in books: YES
[22-Nov-2025 11:52:06 UTC]    Language field in books: YES
[22-Nov-2025 11:52:06 UTC]    Format field in books: YES
[22-Nov-2025 11:52:06 UTC]    Format field in books: YES
[22-Nov-2025 11:52:06 UTC]    Description field in categories: YES
[22-Nov-2025 11:52:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 11:52:06 UTC]    Description field in categories: YES
[22-Nov-2025 11:52:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 11:52:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 11:52:06 UTC]    Is_active field in books: YES
[22-Nov-2025 11:52:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 11:52:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 11:52:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 11:52:06 UTC]    Is_active field in books: YES
[22-Nov-2025 11:52:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 11:52:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 11:52:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 11:52:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 11:52:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 11:52:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 11:52:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 11:52:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 11:52:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 11:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 11:52:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 11:52:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 11:52:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 11:52:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 11:52:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 11:52:08 UTC] 📊 Database Info:
[22-Nov-2025 11:52:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 11:52:08 UTC]    Books columns count: 44
[22-Nov-2025 11:52:08 UTC]    Categories columns count: 7
[22-Nov-2025 11:52:08 UTC]    Language field in books: YES
[22-Nov-2025 11:52:08 UTC]    Format field in books: YES
[22-Nov-2025 11:52:08 UTC]    Description field in categories: YES
[22-Nov-2025 11:52:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 11:52:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 11:52:08 UTC]    Is_active field in books: YES
[22-Nov-2025 11:52:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 11:52:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 11:52:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 11:52:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 11:52:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 11:52:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 11:52:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 11:52:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 11:52:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 11:52:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 11:52:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:10 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 11:52:10 UTC] 📊 Database Info:
[22-Nov-2025 11:52:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 11:52:10 UTC]    Books columns count: 44
[22-Nov-2025 11:52:10 UTC]    Categories columns count: 7
[22-Nov-2025 11:52:10 UTC]    Language field in books: YES
[22-Nov-2025 11:52:10 UTC]    Format field in books: YES
[22-Nov-2025 11:52:10 UTC]    Description field in categories: YES
[22-Nov-2025 11:52:10 UTC]    Display_order field in categories: YES
[22-Nov-2025 11:52:10 UTC]    Is_active field in categories: YES
[22-Nov-2025 11:52:10 UTC]    Is_active field in books: YES
[22-Nov-2025 11:52:10 UTC]    External_download_link field in books: YES
[22-Nov-2025 11:52:10 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 11:52:10 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 11:52:10 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 11:52:10 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 11:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 11:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 11:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 11:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 11:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 11:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 11:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 11:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 11:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 11:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 11:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 11:52:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 11:52:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 11:52:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 11:52:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 11:52:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 11:52:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 11:52:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 11:52:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 11:52:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 11:52:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 11:52:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 11:52:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 11:52:12 UTC] 📊 Database Info:
[22-Nov-2025 11:52:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 11:52:12 UTC]    Books columns count: 44
[22-Nov-2025 11:52:12 UTC]    Categories columns count: 7
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC]    Language field in books: YES
[22-Nov-2025 11:52:12 UTC]    Format field in books: YES
[22-Nov-2025 11:52:12 UTC]    Description field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Is_active field in books: YES
[22-Nov-2025 11:52:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 11:52:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 11:52:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 11:52:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 11:52:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 11:52:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 11:52:12 UTC] 📊 Database Info:
[22-Nov-2025 11:52:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 11:52:12 UTC]    Books columns count: 44
[22-Nov-2025 11:52:12 UTC]    Categories columns count: 7
[22-Nov-2025 11:52:12 UTC]    Language field in books: YES
[22-Nov-2025 11:52:12 UTC]    Format field in books: YES
[22-Nov-2025 11:52:12 UTC]    Description field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Is_active field in books: YES
[22-Nov-2025 11:52:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 11:52:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 11:52:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 11:52:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 11:52:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 11:52:12 UTC] 📊 Database Info:
[22-Nov-2025 11:52:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 11:52:12 UTC]    Books columns count: 44
[22-Nov-2025 11:52:12 UTC]    Categories columns count: 7
[22-Nov-2025 11:52:12 UTC]    Language field in books: YES
[22-Nov-2025 11:52:12 UTC]    Format field in books: YES
[22-Nov-2025 11:52:12 UTC]    Description field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Is_active field in books: YES
[22-Nov-2025 11:52:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 11:52:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 11:52:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 11:52:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 11:52:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 11:52:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 11:52:12 UTC] 📊 Database Info:
[22-Nov-2025 11:52:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 11:52:12 UTC]    Books columns count: 44
[22-Nov-2025 11:52:12 UTC]    Categories columns count: 7
[22-Nov-2025 11:52:12 UTC]    Language field in books: YES
[22-Nov-2025 11:52:12 UTC]    Format field in books: YES
[22-Nov-2025 11:52:12 UTC]    Description field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Is_active field in books: YES
[22-Nov-2025 11:52:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 11:52:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 11:52:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 11:52:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 11:52:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 11:52:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 11:52:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 11:52:12 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 11:52:12 UTC] 📊 Database Info:
[22-Nov-2025 11:52:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 11:52:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 11:52:12 UTC] 📊 Database Info:
[22-Nov-2025 11:52:12 UTC]    Books columns count: 44
[22-Nov-2025 11:52:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 11:52:12 UTC]    Categories columns count: 7
[22-Nov-2025 11:52:12 UTC]    Books columns count: 44
[22-Nov-2025 11:52:12 UTC]    Categories columns count: 7
[22-Nov-2025 11:52:12 UTC]    Language field in books: YES
[22-Nov-2025 11:52:12 UTC]    Language field in books: YES
[22-Nov-2025 11:52:12 UTC]    Format field in books: YES
[22-Nov-2025 11:52:12 UTC]    Format field in books: YES
[22-Nov-2025 11:52:12 UTC]    Description field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Description field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Is_active field in books: YES
[22-Nov-2025 11:52:12 UTC]    Is_active field in books: YES
[22-Nov-2025 11:52:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 11:52:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 11:52:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 11:52:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 11:52:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 11:52:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 11:52:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 11:52:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 11:52:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 11:52:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 11:52:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 11:52:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 11:52:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 11:52:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:12 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 11:52:12 UTC] 📊 Database Info:
[22-Nov-2025 11:52:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 11:52:12 UTC]    Books columns count: 44
[22-Nov-2025 11:52:12 UTC]    Categories columns count: 7
[22-Nov-2025 11:52:12 UTC]    Language field in books: YES
[22-Nov-2025 11:52:12 UTC]    Format field in books: YES
[22-Nov-2025 11:52:12 UTC]    Description field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Is_active field in books: YES
[22-Nov-2025 11:52:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 11:52:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 11:52:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 11:52:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 11:52:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 11:52:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 11:52:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 11:52:12 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 11:52:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 11:52:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 11:52:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 11:52:12 UTC] 📊 Database Info:
[22-Nov-2025 11:52:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 11:52:12 UTC]    Books columns count: 44
[22-Nov-2025 11:52:12 UTC]    Categories columns count: 7
[22-Nov-2025 11:52:12 UTC]    Language field in books: YES
[22-Nov-2025 11:52:12 UTC]    Format field in books: YES
[22-Nov-2025 11:52:12 UTC]    Description field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Is_active field in books: YES
[22-Nov-2025 11:52:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 11:52:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 11:52:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 11:52:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 11:52:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 11:52:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 11:52:12 UTC] 📊 Database Info:
[22-Nov-2025 11:52:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 11:52:12 UTC]    Books columns count: 44
[22-Nov-2025 11:52:12 UTC]    Categories columns count: 7
[22-Nov-2025 11:52:12 UTC]    Language field in books: YES
[22-Nov-2025 11:52:12 UTC]    Format field in books: YES
[22-Nov-2025 11:52:12 UTC]    Description field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 11:52:12 UTC]    Is_active field in books: YES
[22-Nov-2025 11:52:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 11:52:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 11:52:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 11:52:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 11:52:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 11:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 11:52:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 11:52:12 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 11:52:12 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 11:52:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 11:52:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 11:52:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 11:52:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 11:52:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 11:52:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 11:52:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 11:52:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 11:52:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 11:52:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 11:52:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 11:52:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 11:52:13 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 11:52:13 UTC] 📊 Database Info:
[22-Nov-2025 11:52:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 11:52:13 UTC]    Books columns count: 44
[22-Nov-2025 11:52:13 UTC]    Categories columns count: 7
[22-Nov-2025 11:52:13 UTC]    Language field in books: YES
[22-Nov-2025 11:52:13 UTC]    Format field in books: YES
[22-Nov-2025 11:52:13 UTC]    Description field in categories: YES
[22-Nov-2025 11:52:13 UTC]    Display_order field in categories: YES
[22-Nov-2025 11:52:13 UTC]    Is_active field in categories: YES
[22-Nov-2025 11:52:13 UTC]    Is_active field in books: YES
[22-Nov-2025 11:52:13 UTC]    External_download_link field in books: YES
[22-Nov-2025 11:52:13 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 11:52:13 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 11:52:13 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 11:52:13 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 11:52:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 11:52:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 11:52:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 11:52:13 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 11:52:13 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 12:35:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:35:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:35:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:35:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:35:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:35:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:35:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:35:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:35:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:35:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:35:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:35:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:35:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:35:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:35:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:35:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:35:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:35:18 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:35:18 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:35:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:35:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:35:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:35:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:35:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:35:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:35:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:35:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:35:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:35:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:35:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:35:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:35:18 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:35:18 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:35:18 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:35:18 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:35:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:35:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:35:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:35:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:35:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:35:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:35:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:35:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:35:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:35:18 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:35:18 UTC] 📊 Database Info:
[22-Nov-2025 12:35:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:35:18 UTC]    Books columns count: 44
[22-Nov-2025 12:35:18 UTC]    Categories columns count: 7
[22-Nov-2025 12:35:18 UTC]    Language field in books: YES
[22-Nov-2025 12:35:18 UTC]    Format field in books: YES
[22-Nov-2025 12:35:18 UTC]    Description field in categories: YES
[22-Nov-2025 12:35:18 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:35:18 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:35:18 UTC]    Is_active field in books: YES
[22-Nov-2025 12:35:18 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:35:18 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:35:18 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:35:18 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:35:18 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:35:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:35:18 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 12:35:18 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 12:35:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:35:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:35:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:35:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:35:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:35:18 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:35:18 UTC] 📊 Database Info:
[22-Nov-2025 12:35:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:35:18 UTC]    Books columns count: 44
[22-Nov-2025 12:35:18 UTC]    Categories columns count: 7
[22-Nov-2025 12:35:18 UTC]    Language field in books: YES
[22-Nov-2025 12:35:18 UTC]    Format field in books: YES
[22-Nov-2025 12:35:18 UTC]    Description field in categories: YES
[22-Nov-2025 12:35:18 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:35:18 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:35:18 UTC]    Is_active field in books: YES
[22-Nov-2025 12:35:18 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:35:18 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:35:18 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:35:18 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:35:18 UTC] 📊 Database Info:
[22-Nov-2025 12:35:18 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:35:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:35:18 UTC]    Books columns count: 44
[22-Nov-2025 12:35:18 UTC]    Categories columns count: 7
[22-Nov-2025 12:35:18 UTC]    Language field in books: YES
[22-Nov-2025 12:35:18 UTC]    Format field in books: YES
[22-Nov-2025 12:35:18 UTC]    Description field in categories: YES
[22-Nov-2025 12:35:18 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:35:18 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:35:18 UTC]    Is_active field in books: YES
[22-Nov-2025 12:35:18 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:35:18 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:35:18 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:35:18 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:35:18 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:35:18 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:35:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:35:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:35:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:35:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 12:35:18 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 12:35:18 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 12:36:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:36:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:36:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:36:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:36:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:36:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:36:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:36:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:36:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:36:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:36:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:36:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:36:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:36:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:36:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:36:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:36:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:36:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:36:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:36:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:36:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:36:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:36:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:36:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:36:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:36:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:36:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:36:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:36:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:36:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:36:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:36:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:36:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:36:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:36:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:36:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:36:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:36:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:36:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:36:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:36:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:36:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:36:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:36:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:36:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:36:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:36:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:36:33 UTC] 📊 Database Info:
[22-Nov-2025 12:36:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:36:33 UTC]    Books columns count: 44
[22-Nov-2025 12:36:33 UTC]    Categories columns count: 7
[22-Nov-2025 12:36:33 UTC]    Language field in books: YES
[22-Nov-2025 12:36:33 UTC]    Format field in books: YES
[22-Nov-2025 12:36:33 UTC]    Description field in categories: YES
[22-Nov-2025 12:36:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:36:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:36:33 UTC]    Is_active field in books: YES
[22-Nov-2025 12:36:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:36:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:36:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:36:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:36:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:36:33 UTC] 📊 Database Info:
[22-Nov-2025 12:36:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:36:33 UTC]    Books columns count: 44
[22-Nov-2025 12:36:33 UTC]    Categories columns count: 7
[22-Nov-2025 12:36:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:36:33 UTC]    Language field in books: YES
[22-Nov-2025 12:36:33 UTC]    Format field in books: YES
[22-Nov-2025 12:36:33 UTC]    Description field in categories: YES
[22-Nov-2025 12:36:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:36:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:36:33 UTC]    Is_active field in books: YES
[22-Nov-2025 12:36:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:36:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:36:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:36:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:36:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:36:33 UTC] 📊 Database Info:
[22-Nov-2025 12:36:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:36:33 UTC]    Books columns count: 44
[22-Nov-2025 12:36:33 UTC]    Categories columns count: 7
[22-Nov-2025 12:36:33 UTC]    Language field in books: YES
[22-Nov-2025 12:36:33 UTC]    Format field in books: YES
[22-Nov-2025 12:36:33 UTC]    Description field in categories: YES
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:36:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:36:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:36:33 UTC]    Is_active field in books: YES
[22-Nov-2025 12:36:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:36:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:36:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:36:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:36:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:36:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:36:33 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:36:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:36:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:36:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:36:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 12:36:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 12:36:33 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 12:36:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:36:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:36:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:36:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:36:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:36:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:36:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:36:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:36:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:36:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:36:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:36:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:36:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:36:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:36:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:36:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:36:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:36:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:36:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:36:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:36:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:36:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:36:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:36:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:36:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:36:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:36:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:36:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:36:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:36:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:36:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:36:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:36:41 UTC] 📊 Database Info:
[22-Nov-2025 12:36:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:36:41 UTC]    Books columns count: 44
[22-Nov-2025 12:36:41 UTC]    Categories columns count: 7
[22-Nov-2025 12:36:41 UTC]    Language field in books: YES
[22-Nov-2025 12:36:41 UTC]    Format field in books: YES
[22-Nov-2025 12:36:41 UTC]    Description field in categories: YES
[22-Nov-2025 12:36:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:36:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:36:41 UTC]    Is_active field in books: YES
[22-Nov-2025 12:36:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:36:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:36:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:36:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:36:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:36:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:36:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:36:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:36:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:36:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:36:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:36:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:36:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:36:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:36:53 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:36:53 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:36:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:36:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:36:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:36:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:36:53 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:36:53 UTC] 📊 Database Info:
[22-Nov-2025 12:36:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:36:53 UTC]    Books columns count: 44
[22-Nov-2025 12:36:53 UTC]    Categories columns count: 7
[22-Nov-2025 12:36:53 UTC]    Language field in books: YES
[22-Nov-2025 12:36:53 UTC]    Format field in books: YES
[22-Nov-2025 12:36:53 UTC]    Description field in categories: YES
[22-Nov-2025 12:36:53 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:36:53 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:36:53 UTC]    Is_active field in books: YES
[22-Nov-2025 12:36:53 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:36:53 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:36:53 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:36:53 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:36:53 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:36:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:36:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:36:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:36:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:36:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:36:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:36:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:36:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:36:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:36:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:36:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:36:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:36:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:36:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:36:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:36:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:36:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:36:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:36:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:36:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:36:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:36:53 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:36:53 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:36:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:36:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:36:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:36:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:36:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:36:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:36:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:36:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:36:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:36:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:36:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:36:54 UTC] 📊 Database Info:
[22-Nov-2025 12:36:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:36:54 UTC]    Books columns count: 44
[22-Nov-2025 12:36:54 UTC]    Categories columns count: 7
[22-Nov-2025 12:36:54 UTC]    Language field in books: YES
[22-Nov-2025 12:36:54 UTC]    Format field in books: YES
[22-Nov-2025 12:36:54 UTC]    Description field in categories: YES
[22-Nov-2025 12:36:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:36:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:36:54 UTC]    Is_active field in books: YES
[22-Nov-2025 12:36:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:36:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:36:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:36:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:36:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:36:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:36:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:36:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:36:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:36:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:36:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:36:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:36:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:36:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:36:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:36:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:36:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:36:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:08 UTC] 📊 Database Info:
[22-Nov-2025 12:37:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:08 UTC]    Books columns count: 44
[22-Nov-2025 12:37:08 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:08 UTC]    Language field in books: YES
[22-Nov-2025 12:37:08 UTC]    Format field in books: YES
[22-Nov-2025 12:37:08 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:08 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:08 UTC] 📊 Database Info:
[22-Nov-2025 12:37:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:08 UTC]    Books columns count: 44
[22-Nov-2025 12:37:08 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:08 UTC]    Language field in books: YES
[22-Nov-2025 12:37:08 UTC]    Format field in books: YES
[22-Nov-2025 12:37:08 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:08 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:08 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 12:37:08 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 12:37:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:08 UTC] 📊 Database Info:
[22-Nov-2025 12:37:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:08 UTC]    Books columns count: 44
[22-Nov-2025 12:37:08 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:08 UTC]    Language field in books: YES
[22-Nov-2025 12:37:08 UTC]    Format field in books: YES
[22-Nov-2025 12:37:08 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:08 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:21 UTC] 📊 Database Info:
[22-Nov-2025 12:37:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:21 UTC]    Books columns count: 44
[22-Nov-2025 12:37:21 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:21 UTC]    Language field in books: YES
[22-Nov-2025 12:37:21 UTC]    Format field in books: YES
[22-Nov-2025 12:37:21 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:21 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:21 UTC] 📊 Database Info:
[22-Nov-2025 12:37:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:21 UTC]    Books columns count: 44
[22-Nov-2025 12:37:21 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:21 UTC]    Language field in books: YES
[22-Nov-2025 12:37:21 UTC]    Format field in books: YES
[22-Nov-2025 12:37:21 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:21 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:21 UTC] 📊 Database Info:
[22-Nov-2025 12:37:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:21 UTC]    Books columns count: 44
[22-Nov-2025 12:37:21 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:21 UTC]    Language field in books: YES
[22-Nov-2025 12:37:21 UTC]    Format field in books: YES
[22-Nov-2025 12:37:21 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:21 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:21 UTC] 📊 Database Info:
[22-Nov-2025 12:37:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:21 UTC]    Books columns count: 44
[22-Nov-2025 12:37:21 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:21 UTC]    Language field in books: YES
[22-Nov-2025 12:37:21 UTC]    Format field in books: YES
[22-Nov-2025 12:37:21 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:21 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:21 UTC] 📊 Database Info:
[22-Nov-2025 12:37:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:21 UTC]    Books columns count: 44
[22-Nov-2025 12:37:21 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:21 UTC]    Language field in books: YES
[22-Nov-2025 12:37:21 UTC]    Format field in books: YES
[22-Nov-2025 12:37:21 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:21 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:21 UTC] 📊 Database Info:
[22-Nov-2025 12:37:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:21 UTC]    Books columns count: 44
[22-Nov-2025 12:37:21 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:21 UTC]    Language field in books: YES
[22-Nov-2025 12:37:21 UTC]    Format field in books: YES
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:21 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:21 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:21 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:21 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 12:37:21 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 12:37:21 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 12:37:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:24 UTC] 📊 Database Info:
[22-Nov-2025 12:37:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:24 UTC]    Books columns count: 44
[22-Nov-2025 12:37:24 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:24 UTC]    Language field in books: YES
[22-Nov-2025 12:37:24 UTC]    Format field in books: YES
[22-Nov-2025 12:37:24 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:24 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:24 UTC] 📊 Database Info:
[22-Nov-2025 12:37:24 UTC] 📊 Database Info:
[22-Nov-2025 12:37:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:24 UTC]    Books columns count: 44
[22-Nov-2025 12:37:24 UTC]    Books columns count: 44
[22-Nov-2025 12:37:24 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:24 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:24 UTC]    Language field in books: YES
[22-Nov-2025 12:37:24 UTC]    Language field in books: YES
[22-Nov-2025 12:37:24 UTC]    Format field in books: YES
[22-Nov-2025 12:37:24 UTC]    Format field in books: YES
[22-Nov-2025 12:37:24 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:24 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:24 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:24 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:24 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 12:37:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:24 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 12:37:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:25 UTC] 📊 Database Info:
[22-Nov-2025 12:37:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:25 UTC]    Books columns count: 44
[22-Nov-2025 12:37:25 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:25 UTC]    Language field in books: YES
[22-Nov-2025 12:37:25 UTC]    Format field in books: YES
[22-Nov-2025 12:37:25 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:25 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:25 UTC] 📊 Database Info:
[22-Nov-2025 12:37:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:25 UTC]    Books columns count: 44
[22-Nov-2025 12:37:25 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:25 UTC]    Language field in books: YES
[22-Nov-2025 12:37:25 UTC]    Format field in books: YES
[22-Nov-2025 12:37:25 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:25 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:25 UTC] 📊 Database Info:
[22-Nov-2025 12:37:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:25 UTC]    Books columns count: 44
[22-Nov-2025 12:37:25 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:25 UTC]    Language field in books: YES
[22-Nov-2025 12:37:25 UTC]    Format field in books: YES
[22-Nov-2025 12:37:25 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:25 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:25 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 12:37:25 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 12:37:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:29 UTC] 📊 Database Info:
[22-Nov-2025 12:37:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:29 UTC]    Books columns count: 44
[22-Nov-2025 12:37:29 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:29 UTC]    Language field in books: YES
[22-Nov-2025 12:37:29 UTC]    Format field in books: YES
[22-Nov-2025 12:37:29 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:29 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:29 UTC] 📊 Database Info:
[22-Nov-2025 12:37:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:29 UTC]    Books columns count: 44
[22-Nov-2025 12:37:29 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:29 UTC]    Language field in books: YES
[22-Nov-2025 12:37:29 UTC]    Format field in books: YES
[22-Nov-2025 12:37:29 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:29 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:29 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 12:37:29 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 12:37:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:29 UTC] 📊 Database Info:
[22-Nov-2025 12:37:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:29 UTC]    Books columns count: 44
[22-Nov-2025 12:37:29 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:29 UTC]    Language field in books: YES
[22-Nov-2025 12:37:29 UTC]    Format field in books: YES
[22-Nov-2025 12:37:29 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:29 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:35 UTC] 📊 Database Info:
[22-Nov-2025 12:37:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:35 UTC]    Books columns count: 44
[22-Nov-2025 12:37:35 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:35 UTC]    Language field in books: YES
[22-Nov-2025 12:37:35 UTC]    Format field in books: YES
[22-Nov-2025 12:37:35 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:35 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:35 UTC] 📊 Database Info:
[22-Nov-2025 12:37:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:35 UTC]    Books columns count: 44
[22-Nov-2025 12:37:35 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:35 UTC]    Language field in books: YES
[22-Nov-2025 12:37:35 UTC]    Format field in books: YES
[22-Nov-2025 12:37:35 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:35 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:45 UTC] 📊 Database Info:
[22-Nov-2025 12:37:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:45 UTC]    Books columns count: 44
[22-Nov-2025 12:37:45 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:45 UTC]    Language field in books: YES
[22-Nov-2025 12:37:45 UTC]    Format field in books: YES
[22-Nov-2025 12:37:45 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:45 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:37:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:37:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:37:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:37:46 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:37:46 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:37:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:37:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:37:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:37:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:37:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:37:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:37:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:37:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:37:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:37:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:37:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:37:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:37:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:37:46 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:37:46 UTC] 📊 Database Info:
[22-Nov-2025 12:37:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:37:46 UTC]    Books columns count: 44
[22-Nov-2025 12:37:46 UTC]    Categories columns count: 7
[22-Nov-2025 12:37:46 UTC]    Language field in books: YES
[22-Nov-2025 12:37:46 UTC]    Format field in books: YES
[22-Nov-2025 12:37:46 UTC]    Description field in categories: YES
[22-Nov-2025 12:37:46 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:37:46 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:37:46 UTC]    Is_active field in books: YES
[22-Nov-2025 12:37:46 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:37:46 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:37:46 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:37:46 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:37:46 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:37:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:37:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:37:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:37:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:37:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:37:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:37:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:37:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:37:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:37:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:37:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:37:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:37:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:46:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:46:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:46:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:46:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:46:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:46:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:46:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:46:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:46:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:46:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:46:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:46:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:46:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:46:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:46:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:46:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:46:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:46:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:46:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:46:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:46:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:46:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:46:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:46:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:46:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:46:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:46:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:46:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:46:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:46:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:46:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:46:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:46:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:46:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:46:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:46:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:46:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:46:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:46:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:46:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:46:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:46:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:46:02 UTC] 📊 Database Info:
[22-Nov-2025 12:46:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:46:02 UTC]    Books columns count: 44
[22-Nov-2025 12:46:02 UTC]    Categories columns count: 7
[22-Nov-2025 12:46:02 UTC]    Language field in books: YES
[22-Nov-2025 12:46:02 UTC]    Format field in books: YES
[22-Nov-2025 12:46:02 UTC]    Description field in categories: YES
[22-Nov-2025 12:46:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:46:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:46:02 UTC]    Is_active field in books: YES
[22-Nov-2025 12:46:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:46:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:46:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:46:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:46:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:46:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:46:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:46:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:46:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:46:02 UTC] 📊 Database Info:
[22-Nov-2025 12:46:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:46:02 UTC]    Books columns count: 44
[22-Nov-2025 12:46:02 UTC]    Categories columns count: 7
[22-Nov-2025 12:46:02 UTC]    Language field in books: YES
[22-Nov-2025 12:46:02 UTC]    Format field in books: YES
[22-Nov-2025 12:46:02 UTC]    Description field in categories: YES
[22-Nov-2025 12:46:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:46:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:46:02 UTC]    Is_active field in books: YES
[22-Nov-2025 12:46:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:46:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:46:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:46:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:46:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:46:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:46:02 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 12:46:02 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 12:46:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:46:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:46:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:46:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:46:02 UTC] 📊 Database Info:
[22-Nov-2025 12:46:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:46:02 UTC]    Books columns count: 44
[22-Nov-2025 12:46:02 UTC]    Categories columns count: 7
[22-Nov-2025 12:46:02 UTC]    Language field in books: YES
[22-Nov-2025 12:46:02 UTC]    Format field in books: YES
[22-Nov-2025 12:46:02 UTC]    Description field in categories: YES
[22-Nov-2025 12:46:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:46:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:46:02 UTC]    Is_active field in books: YES
[22-Nov-2025 12:46:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:46:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:46:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:46:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:46:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:46:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:46:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 12:46:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 12:46:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:46:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:46:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:46:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:46:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:46:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:46:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:46:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:46:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:46:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:46:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:46:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:46:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 12:46:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:46:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 12:46:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 12:46:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 12:46:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 12:46:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 12:46:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 12:46:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 12:46:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 12:46:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 12:46:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 12:46:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 12:46:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 12:46:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 12:46:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 12:46:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 12:46:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 12:46:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 12:46:06 UTC] 📊 Database Info:
[22-Nov-2025 12:46:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 12:46:06 UTC]    Books columns count: 44
[22-Nov-2025 12:46:06 UTC]    Categories columns count: 7
[22-Nov-2025 12:46:06 UTC]    Language field in books: YES
[22-Nov-2025 12:46:06 UTC]    Format field in books: YES
[22-Nov-2025 12:46:06 UTC]    Description field in categories: YES
[22-Nov-2025 12:46:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 12:46:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 12:46:06 UTC]    Is_active field in books: YES
[22-Nov-2025 12:46:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 12:46:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 12:46:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 12:46:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 12:46:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 12:46:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 12:46:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 12:46:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 12:46:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 12:46:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 12:46:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 12:46:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 12:46:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 12:46:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 12:46:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 12:46:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 12:46:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 12:46:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:45 UTC] 📊 Database Info:
[22-Nov-2025 13:00:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:45 UTC]    Books columns count: 44
[22-Nov-2025 13:00:45 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:45 UTC]    Language field in books: YES
[22-Nov-2025 13:00:45 UTC]    Format field in books: YES
[22-Nov-2025 13:00:45 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:45 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:45 UTC] 📊 Database Info:
[22-Nov-2025 13:00:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:45 UTC]    Books columns count: 44
[22-Nov-2025 13:00:45 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:45 UTC]    Language field in books: YES
[22-Nov-2025 13:00:45 UTC]    Format field in books: YES
[22-Nov-2025 13:00:45 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:45 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:45 UTC] 📊 Database Info:
[22-Nov-2025 13:00:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:45 UTC]    Books columns count: 44
[22-Nov-2025 13:00:45 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:45 UTC]    Language field in books: YES
[22-Nov-2025 13:00:45 UTC]    Format field in books: YES
[22-Nov-2025 13:00:45 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:45 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:45 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:45 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:45 UTC] 📊 Database Info:
[22-Nov-2025 13:00:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:45 UTC]    Books columns count: 44
[22-Nov-2025 13:00:45 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:45 UTC]    Language field in books: YES
[22-Nov-2025 13:00:45 UTC]    Format field in books: YES
[22-Nov-2025 13:00:45 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:45 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:45 UTC] 📊 Database Info:
[22-Nov-2025 13:00:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:45 UTC]    Books columns count: 44
[22-Nov-2025 13:00:45 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:45 UTC]    Language field in books: YES
[22-Nov-2025 13:00:45 UTC]    Format field in books: YES
[22-Nov-2025 13:00:45 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:45 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:45 UTC] 📊 Database Info:
[22-Nov-2025 13:00:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:45 UTC]    Books columns count: 44
[22-Nov-2025 13:00:45 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:45 UTC]    Language field in books: YES
[22-Nov-2025 13:00:45 UTC]    Format field in books: YES
[22-Nov-2025 13:00:45 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:45 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:45 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:00:45 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:00:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:50 UTC] 📊 Database Info:
[22-Nov-2025 13:00:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:50 UTC]    Books columns count: 44
[22-Nov-2025 13:00:50 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:50 UTC]    Language field in books: YES
[22-Nov-2025 13:00:50 UTC]    Format field in books: YES
[22-Nov-2025 13:00:50 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:50 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:50 UTC] 📊 Database Info:
[22-Nov-2025 13:00:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:50 UTC]    Books columns count: 44
[22-Nov-2025 13:00:50 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:50 UTC]    Language field in books: YES
[22-Nov-2025 13:00:50 UTC]    Format field in books: YES
[22-Nov-2025 13:00:50 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:50 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:50 UTC] 📊 Database Info:
[22-Nov-2025 13:00:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:50 UTC]    Books columns count: 44
[22-Nov-2025 13:00:50 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:50 UTC]    Language field in books: YES
[22-Nov-2025 13:00:50 UTC]    Format field in books: YES
[22-Nov-2025 13:00:50 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:51 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 13:00:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 13:00:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:51 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 13:00:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:51 UTC] 📊 Database Info:
[22-Nov-2025 13:00:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:51 UTC]    Books columns count: 44
[22-Nov-2025 13:00:51 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:51 UTC]    Language field in books: YES
[22-Nov-2025 13:00:51 UTC]    Format field in books: YES
[22-Nov-2025 13:00:51 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:51 UTC] 📊 Database Info:
[22-Nov-2025 13:00:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:51 UTC]    Books columns count: 44
[22-Nov-2025 13:00:51 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:51 UTC]    Language field in books: YES
[22-Nov-2025 13:00:51 UTC]    Format field in books: YES
[22-Nov-2025 13:00:51 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 13:00:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 13:00:51 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 13:00:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:51 UTC] 📊 Database Info:
[22-Nov-2025 13:00:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:51 UTC]    Books columns count: 44
[22-Nov-2025 13:00:51 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:51 UTC]    Language field in books: YES
[22-Nov-2025 13:00:51 UTC]    Format field in books: YES
[22-Nov-2025 13:00:51 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 13:00:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 13:00:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:51 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:51 UTC] 📊 Database Info:
[22-Nov-2025 13:00:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:51 UTC]    Books columns count: 44
[22-Nov-2025 13:00:51 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:51 UTC]    Language field in books: YES
[22-Nov-2025 13:00:51 UTC]    Format field in books: YES
[22-Nov-2025 13:00:51 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:51 UTC] 📊 Database Info:
[22-Nov-2025 13:00:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:51 UTC]    Books columns count: 44
[22-Nov-2025 13:00:51 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:51 UTC]    Language field in books: YES
[22-Nov-2025 13:00:51 UTC]    Format field in books: YES
[22-Nov-2025 13:00:51 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 13:00:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 13:00:51 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 13:00:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:51 UTC] 📊 Database Info:
[22-Nov-2025 13:00:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:51 UTC]    Books columns count: 44
[22-Nov-2025 13:00:51 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:51 UTC]    Language field in books: YES
[22-Nov-2025 13:00:51 UTC]    Format field in books: YES
[22-Nov-2025 13:00:51 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 13:00:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 13:00:51 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 13:00:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:51 UTC] 📊 Database Info:
[22-Nov-2025 13:00:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:51 UTC]    Books columns count: 44
[22-Nov-2025 13:00:51 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:51 UTC]    Language field in books: YES
[22-Nov-2025 13:00:51 UTC]    Format field in books: YES
[22-Nov-2025 13:00:51 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:51 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 13:00:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 13:00:51 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 13:00:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:00:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:53 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:53 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:00:53 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:53 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:53 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:53 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:53 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:53 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:53 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:53 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:00:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:53 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:00:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:00:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:00:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:00:53 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:00:53 UTC] 📊 Database Info:
[22-Nov-2025 13:00:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:53 UTC]    Books columns count: 44
[22-Nov-2025 13:00:53 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:53 UTC]    Language field in books: YES
[22-Nov-2025 13:00:53 UTC]    Format field in books: YES
[22-Nov-2025 13:00:53 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:53 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:53 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:53 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:53 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:53 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:53 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:53 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:00:53 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:53 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:00:53 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:00:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:53 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:53 UTC] 📊 Database Info:
[22-Nov-2025 13:00:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:53 UTC]    Books columns count: 44
[22-Nov-2025 13:00:53 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:53 UTC]    Language field in books: YES
[22-Nov-2025 13:00:53 UTC]    Format field in books: YES
[22-Nov-2025 13:00:53 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:53 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:53 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:53 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:53 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:53 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:53 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:53 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:53 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:53 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:53 UTC] 📊 Database Info:
[22-Nov-2025 13:00:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:53 UTC]    Books columns count: 44
[22-Nov-2025 13:00:53 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:53 UTC]    Language field in books: YES
[22-Nov-2025 13:00:53 UTC]    Format field in books: YES
[22-Nov-2025 13:00:53 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:53 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:53 UTC] 📊 Database Info:
[22-Nov-2025 13:00:53 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:53 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:53 UTC]    Books columns count: 44
[22-Nov-2025 13:00:53 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:53 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:53 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:53 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:53 UTC]    Language field in books: YES
[22-Nov-2025 13:00:53 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:53 UTC]    Format field in books: YES
[22-Nov-2025 13:00:53 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:53 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:53 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:53 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:53 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:53 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:53 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:53 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:53 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:53 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:53 UTC] 📊 Database Info:
[22-Nov-2025 13:00:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:53 UTC]    Books columns count: 44
[22-Nov-2025 13:00:53 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:53 UTC]    Language field in books: YES
[22-Nov-2025 13:00:53 UTC]    Format field in books: YES
[22-Nov-2025 13:00:53 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:53 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:53 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:53 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:53 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:53 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:53 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:53 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:53 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:53 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:53 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:00:53 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:00:53 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:00:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:00:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:00:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:00:53 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:00:53 UTC] 📊 Database Info:
[22-Nov-2025 13:00:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:00:53 UTC]    Books columns count: 44
[22-Nov-2025 13:00:53 UTC]    Categories columns count: 7
[22-Nov-2025 13:00:53 UTC]    Language field in books: YES
[22-Nov-2025 13:00:53 UTC]    Format field in books: YES
[22-Nov-2025 13:00:53 UTC]    Description field in categories: YES
[22-Nov-2025 13:00:53 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:00:53 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:00:53 UTC]    Is_active field in books: YES
[22-Nov-2025 13:00:53 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:00:53 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:00:53 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:00:53 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:00:53 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:00:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:00:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:01:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:01:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:01:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:01:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:01:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:01:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:01:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:01:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:01:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:01:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:01:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:01:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:01:14 UTC] 📊 Database Info:
[22-Nov-2025 13:01:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:01:14 UTC]    Books columns count: 44
[22-Nov-2025 13:01:14 UTC]    Categories columns count: 7
[22-Nov-2025 13:01:14 UTC]    Language field in books: YES
[22-Nov-2025 13:01:14 UTC]    Format field in books: YES
[22-Nov-2025 13:01:14 UTC]    Description field in categories: YES
[22-Nov-2025 13:01:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:01:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:01:14 UTC]    Is_active field in books: YES
[22-Nov-2025 13:01:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:01:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:01:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:01:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:01:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:01:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:01:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 13:01:14 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 13:01:14 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 13:01:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:01:14 UTC] 📊 Database Info:
[22-Nov-2025 13:01:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:01:14 UTC]    Books columns count: 44
[22-Nov-2025 13:01:14 UTC]    Categories columns count: 7
[22-Nov-2025 13:01:14 UTC]    Language field in books: YES
[22-Nov-2025 13:01:14 UTC]    Format field in books: YES
[22-Nov-2025 13:01:14 UTC]    Description field in categories: YES
[22-Nov-2025 13:01:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:01:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:01:14 UTC]    Is_active field in books: YES
[22-Nov-2025 13:01:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:01:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:01:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:01:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:01:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:01:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:01:14 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 13:01:14 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 13:01:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:01:14 UTC] 📊 Database Info:
[22-Nov-2025 13:01:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:01:14 UTC]    Books columns count: 44
[22-Nov-2025 13:01:14 UTC]    Categories columns count: 7
[22-Nov-2025 13:01:14 UTC]    Language field in books: YES
[22-Nov-2025 13:01:14 UTC]    Format field in books: YES
[22-Nov-2025 13:01:14 UTC]    Description field in categories: YES
[22-Nov-2025 13:01:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:01:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:01:14 UTC]    Is_active field in books: YES
[22-Nov-2025 13:01:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:01:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:01:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:01:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:01:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:01:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:01:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:01:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:01:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:01:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:01:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:01:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:01:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:01:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:01:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:01:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:01:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:01:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:01:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:01:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:01:17 UTC] 📊 Database Info:
[22-Nov-2025 13:01:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:01:17 UTC]    Books columns count: 44
[22-Nov-2025 13:01:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:01:17 UTC]    Language field in books: YES
[22-Nov-2025 13:01:17 UTC]    Format field in books: YES
[22-Nov-2025 13:01:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:01:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:01:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:01:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:01:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:01:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:01:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:01:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:01:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:01:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:01:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 13:01:17 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 13:01:17 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 13:01:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:01:17 UTC] 📊 Database Info:
[22-Nov-2025 13:01:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:01:17 UTC]    Books columns count: 44
[22-Nov-2025 13:01:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:01:17 UTC]    Language field in books: YES
[22-Nov-2025 13:01:17 UTC]    Format field in books: YES
[22-Nov-2025 13:01:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:01:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:01:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:01:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:01:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:01:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:01:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:01:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:01:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:01:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:01:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:01:17 UTC] 📊 Database Info:
[22-Nov-2025 13:01:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:01:17 UTC]    Books columns count: 44
[22-Nov-2025 13:01:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:01:17 UTC]    Language field in books: YES
[22-Nov-2025 13:01:17 UTC]    Format field in books: YES
[22-Nov-2025 13:01:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:01:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:01:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:01:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:01:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:01:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:01:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:01:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:01:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:01:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:01:17 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 13:01:17 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 13:01:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:01:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:01:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:01:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:01:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:01:17 UTC] 📊 Database Info:
[22-Nov-2025 13:01:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:01:17 UTC]    Books columns count: 44
[22-Nov-2025 13:01:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:01:17 UTC]    Language field in books: YES
[22-Nov-2025 13:01:17 UTC]    Format field in books: YES
[22-Nov-2025 13:01:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:01:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:01:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:01:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:01:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:01:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:01:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:01:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:01:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:01:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:01:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:01:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:01:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:01:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:01:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:01:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:01:23 UTC] 📊 Database Info:
[22-Nov-2025 13:01:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:01:23 UTC]    Books columns count: 44
[22-Nov-2025 13:01:23 UTC]    Categories columns count: 7
[22-Nov-2025 13:01:23 UTC]    Language field in books: YES
[22-Nov-2025 13:01:23 UTC]    Format field in books: YES
[22-Nov-2025 13:01:23 UTC]    Description field in categories: YES
[22-Nov-2025 13:01:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:01:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:01:23 UTC]    Is_active field in books: YES
[22-Nov-2025 13:01:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:01:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:01:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:01:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:01:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:01:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:01:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:01:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:01:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:01:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:01:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:01:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:01:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:01:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:01:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:01:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:01:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:01:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:01:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:01:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:01:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:01:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:01:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:01:24 UTC] 📊 Database Info:
[22-Nov-2025 13:01:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:01:24 UTC]    Books columns count: 44
[22-Nov-2025 13:01:24 UTC]    Categories columns count: 7
[22-Nov-2025 13:01:24 UTC]    Language field in books: YES
[22-Nov-2025 13:01:24 UTC]    Format field in books: YES
[22-Nov-2025 13:01:24 UTC]    Description field in categories: YES
[22-Nov-2025 13:01:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:01:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:01:24 UTC]    Is_active field in books: YES
[22-Nov-2025 13:01:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:01:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:01:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:01:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:01:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:01:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:01:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:01:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:01:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:01:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:01:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:01:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:01:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:01:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:01:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:01:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:01:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:01:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:01:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:01:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:01:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:01:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:01:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:26 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:01:26 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:01:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:01:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:26 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:01:26 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:01:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:26 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:01:26 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:01:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:26 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:01:26 UTC] 📊 Database Info:
[22-Nov-2025 13:01:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:01:26 UTC]    Books columns count: 44
[22-Nov-2025 13:01:26 UTC]    Categories columns count: 7
[22-Nov-2025 13:01:26 UTC]    Language field in books: YES
[22-Nov-2025 13:01:26 UTC]    Format field in books: YES
[22-Nov-2025 13:01:26 UTC]    Description field in categories: YES
[22-Nov-2025 13:01:26 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:01:26 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:01:26 UTC]    Is_active field in books: YES
[22-Nov-2025 13:01:26 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:01:26 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:01:26 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:01:26 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:01:26 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:01:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:01:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:01:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:01:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:01:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:01:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:01:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:01:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:01:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:01:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:01:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:01:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:01:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:01:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:01:27 UTC] 📊 Database Info:
[22-Nov-2025 13:01:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:01:27 UTC]    Books columns count: 44
[22-Nov-2025 13:01:27 UTC]    Categories columns count: 7
[22-Nov-2025 13:01:27 UTC]    Language field in books: YES
[22-Nov-2025 13:01:27 UTC]    Format field in books: YES
[22-Nov-2025 13:01:27 UTC]    Description field in categories: YES
[22-Nov-2025 13:01:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:01:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:01:27 UTC]    Is_active field in books: YES
[22-Nov-2025 13:01:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:01:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:01:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:01:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:01:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:01:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:01:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:01:27 UTC] 📊 Database Info:
[22-Nov-2025 13:01:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:01:27 UTC]    Books columns count: 44
[22-Nov-2025 13:01:27 UTC]    Categories columns count: 7
[22-Nov-2025 13:01:27 UTC]    Language field in books: YES
[22-Nov-2025 13:01:27 UTC]    Format field in books: YES
[22-Nov-2025 13:01:27 UTC]    Description field in categories: YES
[22-Nov-2025 13:01:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:01:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:01:27 UTC]    Is_active field in books: YES
[22-Nov-2025 13:01:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:01:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:01:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:01:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:01:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:01:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:01:27 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:01:27 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:01:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:01:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:01:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:01:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:01:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:01:34 UTC] 📊 Database Info:
[22-Nov-2025 13:01:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:01:34 UTC]    Books columns count: 44
[22-Nov-2025 13:01:34 UTC]    Categories columns count: 7
[22-Nov-2025 13:01:34 UTC]    Language field in books: YES
[22-Nov-2025 13:01:34 UTC]    Format field in books: YES
[22-Nov-2025 13:01:34 UTC]    Description field in categories: YES
[22-Nov-2025 13:01:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:01:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:01:34 UTC]    Is_active field in books: YES
[22-Nov-2025 13:01:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:01:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:01:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:01:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:01:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:01:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:01:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:01:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:01:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:01:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:01:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:01:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:01:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:01:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:01:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:01:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:01:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:01:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:01:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:01:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:01:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:01:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:01:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:01:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:01:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:01:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:01:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:01:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:01:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:01:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:01:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:01:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:01:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:01:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:01:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:01:35 UTC] 📊 Database Info:
[22-Nov-2025 13:01:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:01:35 UTC]    Books columns count: 44
[22-Nov-2025 13:01:35 UTC]    Categories columns count: 7
[22-Nov-2025 13:01:35 UTC]    Language field in books: YES
[22-Nov-2025 13:01:35 UTC]    Format field in books: YES
[22-Nov-2025 13:01:35 UTC]    Description field in categories: YES
[22-Nov-2025 13:01:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:01:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:01:35 UTC]    Is_active field in books: YES
[22-Nov-2025 13:01:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:01:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:01:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:01:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:01:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:01:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:01:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:01:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:01:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:01:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:01:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:01:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:01:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:01:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:01:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:01:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:01:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:01:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:04:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:04:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:04:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:04:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:04:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:04:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:04:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:04:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:04:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:04:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:04:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:04:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:04:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:04:07 UTC] 📊 Database Info:
[22-Nov-2025 13:04:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:04:07 UTC]    Books columns count: 44
[22-Nov-2025 13:04:07 UTC]    Categories columns count: 7
[22-Nov-2025 13:04:07 UTC]    Language field in books: YES
[22-Nov-2025 13:04:07 UTC]    Format field in books: YES
[22-Nov-2025 13:04:07 UTC]    Description field in categories: YES
[22-Nov-2025 13:04:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:04:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:04:07 UTC]    Is_active field in books: YES
[22-Nov-2025 13:04:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:04:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:04:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:04:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:04:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:04:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:04:07 UTC] 📊 Database Info:
[22-Nov-2025 13:04:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:04:07 UTC]    Books columns count: 44
[22-Nov-2025 13:04:07 UTC]    Categories columns count: 7
[22-Nov-2025 13:04:07 UTC]    Language field in books: YES
[22-Nov-2025 13:04:07 UTC]    Format field in books: YES
[22-Nov-2025 13:04:07 UTC]    Description field in categories: YES
[22-Nov-2025 13:04:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:04:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:04:07 UTC]    Is_active field in books: YES
[22-Nov-2025 13:04:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:04:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:04:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:04:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:04:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:04:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:04:07 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:04:07 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:04:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:04:07 UTC] 📊 Database Info:
[22-Nov-2025 13:04:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:04:07 UTC]    Books columns count: 44
[22-Nov-2025 13:04:07 UTC]    Categories columns count: 7
[22-Nov-2025 13:04:07 UTC]    Language field in books: YES
[22-Nov-2025 13:04:07 UTC]    Format field in books: YES
[22-Nov-2025 13:04:07 UTC]    Description field in categories: YES
[22-Nov-2025 13:04:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:04:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:04:07 UTC]    Is_active field in books: YES
[22-Nov-2025 13:04:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:04:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:04:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:04:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:04:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:04:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:04:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:04:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:04:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:04:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:04:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:04:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:04:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:04:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:04:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:04:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:04:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:04:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:04:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:04:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:04:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:04:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:04:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:04:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:04:17 UTC] 📊 Database Info:
[22-Nov-2025 13:04:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:04:17 UTC]    Books columns count: 44
[22-Nov-2025 13:04:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:04:17 UTC]    Language field in books: YES
[22-Nov-2025 13:04:17 UTC]    Format field in books: YES
[22-Nov-2025 13:04:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:04:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:04:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:04:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:04:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:04:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:04:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:04:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:04:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:04:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:04:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:04:17 UTC] 📊 Database Info:
[22-Nov-2025 13:04:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:04:17 UTC]    Books columns count: 44
[22-Nov-2025 13:04:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:04:17 UTC]    Language field in books: YES
[22-Nov-2025 13:04:17 UTC]    Format field in books: YES
[22-Nov-2025 13:04:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:04:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:04:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:04:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:04:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:04:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:04:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:04:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:04:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:04:17 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:04:17 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:04:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:04:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:04:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:04:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:04:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:04:17 UTC] 📊 Database Info:
[22-Nov-2025 13:04:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:04:17 UTC]    Books columns count: 44
[22-Nov-2025 13:04:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:04:17 UTC]    Language field in books: YES
[22-Nov-2025 13:04:17 UTC]    Format field in books: YES
[22-Nov-2025 13:04:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:04:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:04:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:04:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:04:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:04:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:04:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:04:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:04:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:04:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:04:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:04:17 UTC] 📊 Database Info:
[22-Nov-2025 13:04:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:04:17 UTC]    Books columns count: 44
[22-Nov-2025 13:04:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:04:17 UTC]    Language field in books: YES
[22-Nov-2025 13:04:17 UTC]    Format field in books: YES
[22-Nov-2025 13:04:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:04:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:04:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:04:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:04:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:04:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:04:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:04:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:04:17 UTC] 📊 Database Info:
[22-Nov-2025 13:04:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:04:17 UTC]    Books columns count: 44
[22-Nov-2025 13:04:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:04:17 UTC]    Language field in books: YES
[22-Nov-2025 13:04:17 UTC]    Format field in books: YES
[22-Nov-2025 13:04:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:04:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:04:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:04:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:04:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:04:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:04:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:04:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:04:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:04:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:04:17 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:04:17 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:04:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:04:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:04:17 UTC] 📊 Database Info:
[22-Nov-2025 13:04:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:04:17 UTC]    Books columns count: 44
[22-Nov-2025 13:04:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:04:17 UTC]    Language field in books: YES
[22-Nov-2025 13:04:17 UTC]    Format field in books: YES
[22-Nov-2025 13:04:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:04:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:04:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:04:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:04:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:04:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:04:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:04:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:04:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:04:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:04:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:04:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:04:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:04:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:04:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:04:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:04:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:04:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:04:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:04:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:04:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:04:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:04:35 UTC] 📊 Database Info:
[22-Nov-2025 13:04:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:04:35 UTC]    Books columns count: 44
[22-Nov-2025 13:04:35 UTC]    Categories columns count: 7
[22-Nov-2025 13:04:35 UTC]    Language field in books: YES
[22-Nov-2025 13:04:35 UTC]    Format field in books: YES
[22-Nov-2025 13:04:35 UTC]    Description field in categories: YES
[22-Nov-2025 13:04:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:04:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:04:35 UTC]    Is_active field in books: YES
[22-Nov-2025 13:04:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:04:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:04:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:04:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:04:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:04:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:04:35 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 13:04:35 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 13:04:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:04:35 UTC] 📊 Database Info:
[22-Nov-2025 13:04:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:04:35 UTC]    Books columns count: 44
[22-Nov-2025 13:04:35 UTC]    Categories columns count: 7
[22-Nov-2025 13:04:35 UTC]    Language field in books: YES
[22-Nov-2025 13:04:35 UTC]    Format field in books: YES
[22-Nov-2025 13:04:35 UTC]    Description field in categories: YES
[22-Nov-2025 13:04:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:04:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:04:35 UTC]    Is_active field in books: YES
[22-Nov-2025 13:04:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:04:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:04:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:04:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:04:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:04:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:04:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 13:04:35 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 13:04:35 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 13:04:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:04:35 UTC] 📊 Database Info:
[22-Nov-2025 13:04:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:04:35 UTC]    Books columns count: 44
[22-Nov-2025 13:04:35 UTC]    Categories columns count: 7
[22-Nov-2025 13:04:35 UTC]    Language field in books: YES
[22-Nov-2025 13:04:35 UTC]    Format field in books: YES
[22-Nov-2025 13:04:35 UTC]    Description field in categories: YES
[22-Nov-2025 13:04:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:04:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:04:35 UTC]    Is_active field in books: YES
[22-Nov-2025 13:04:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:04:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:04:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:04:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:04:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:04:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:04:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:04:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:04:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:04:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:04:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:04:38 UTC] 📊 Database Info:
[22-Nov-2025 13:04:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:04:38 UTC]    Books columns count: 44
[22-Nov-2025 13:04:38 UTC]    Categories columns count: 7
[22-Nov-2025 13:04:38 UTC]    Language field in books: YES
[22-Nov-2025 13:04:38 UTC]    Format field in books: YES
[22-Nov-2025 13:04:38 UTC]    Description field in categories: YES
[22-Nov-2025 13:04:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:04:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:04:38 UTC]    Is_active field in books: YES
[22-Nov-2025 13:04:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:04:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:04:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:04:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:04:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:04:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:04:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:04:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:04:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:04:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:04:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:04:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:04:48 UTC] 📊 Database Info:
[22-Nov-2025 13:04:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:04:48 UTC]    Books columns count: 44
[22-Nov-2025 13:04:48 UTC]    Categories columns count: 7
[22-Nov-2025 13:04:48 UTC]    Language field in books: YES
[22-Nov-2025 13:04:48 UTC]    Format field in books: YES
[22-Nov-2025 13:04:48 UTC]    Description field in categories: YES
[22-Nov-2025 13:04:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:04:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:04:48 UTC]    Is_active field in books: YES
[22-Nov-2025 13:04:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:04:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:04:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:04:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:04:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:04:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:04:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:04:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:04:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:04:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:04:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:04:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:04:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:04:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:04:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:04:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:04:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:04:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:04:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:04:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:04:48 UTC] 📊 Database Info:
[22-Nov-2025 13:04:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:04:48 UTC]    Books columns count: 44
[22-Nov-2025 13:04:48 UTC]    Categories columns count: 7
[22-Nov-2025 13:04:48 UTC]    Language field in books: YES
[22-Nov-2025 13:04:48 UTC]    Format field in books: YES
[22-Nov-2025 13:04:48 UTC]    Description field in categories: YES
[22-Nov-2025 13:04:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:04:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:04:48 UTC]    Is_active field in books: YES
[22-Nov-2025 13:04:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:04:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:04:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:04:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:04:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:04:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:05:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:05:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:05:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:05:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:05:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:05:23 UTC] 📊 Database Info:
[22-Nov-2025 13:05:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:05:23 UTC]    Books columns count: 44
[22-Nov-2025 13:05:23 UTC]    Categories columns count: 7
[22-Nov-2025 13:05:23 UTC]    Language field in books: YES
[22-Nov-2025 13:05:23 UTC]    Format field in books: YES
[22-Nov-2025 13:05:23 UTC]    Description field in categories: YES
[22-Nov-2025 13:05:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:05:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:05:23 UTC]    Is_active field in books: YES
[22-Nov-2025 13:05:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:05:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:05:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:05:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:05:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:05:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:05:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:05:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:05:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:05:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:05:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:05:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:05:24 UTC] 📊 Database Info:
[22-Nov-2025 13:05:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:05:24 UTC]    Books columns count: 44
[22-Nov-2025 13:05:24 UTC]    Categories columns count: 7
[22-Nov-2025 13:05:24 UTC]    Language field in books: YES
[22-Nov-2025 13:05:24 UTC]    Format field in books: YES
[22-Nov-2025 13:05:24 UTC]    Description field in categories: YES
[22-Nov-2025 13:05:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:05:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:05:24 UTC]    Is_active field in books: YES
[22-Nov-2025 13:05:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:05:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:05:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:05:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:05:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:05:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:05:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:05:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:05:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:05:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:05:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:05:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:05:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:05:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:05:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:05:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:05:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:05:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:05:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:05:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:05:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:05:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:05:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:05:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:05:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:05:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:05:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:05:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:05:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:05:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:05:29 UTC] 📊 Database Info:
[22-Nov-2025 13:05:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:05:29 UTC]    Books columns count: 44
[22-Nov-2025 13:05:29 UTC]    Categories columns count: 7
[22-Nov-2025 13:05:29 UTC]    Language field in books: YES
[22-Nov-2025 13:05:29 UTC]    Format field in books: YES
[22-Nov-2025 13:05:29 UTC]    Description field in categories: YES
[22-Nov-2025 13:05:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:05:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:05:29 UTC]    Is_active field in books: YES
[22-Nov-2025 13:05:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:05:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:05:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:05:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:05:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:05:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:05:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:05:29 UTC] 📊 Database Info:
[22-Nov-2025 13:05:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:05:29 UTC]    Books columns count: 44
[22-Nov-2025 13:05:29 UTC]    Categories columns count: 7
[22-Nov-2025 13:05:29 UTC]    Language field in books: YES
[22-Nov-2025 13:05:29 UTC]    Format field in books: YES
[22-Nov-2025 13:05:29 UTC]    Description field in categories: YES
[22-Nov-2025 13:05:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:05:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:05:29 UTC]    Is_active field in books: YES
[22-Nov-2025 13:05:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:05:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:05:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:05:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:05:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:05:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:05:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:05:29 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:05:29 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:05:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:05:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:05:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:05:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:05:30 UTC] 📊 Database Info:
[22-Nov-2025 13:05:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:05:30 UTC]    Books columns count: 44
[22-Nov-2025 13:05:30 UTC]    Categories columns count: 7
[22-Nov-2025 13:05:30 UTC]    Language field in books: YES
[22-Nov-2025 13:05:30 UTC]    Format field in books: YES
[22-Nov-2025 13:05:30 UTC]    Description field in categories: YES
[22-Nov-2025 13:05:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:05:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:05:30 UTC]    Is_active field in books: YES
[22-Nov-2025 13:05:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:05:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:05:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:05:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:05:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:05:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:05:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:05:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:05:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:05:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:05:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:05:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:05:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:05:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:05:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:05:30 UTC] 📊 Database Info:
[22-Nov-2025 13:05:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:05:30 UTC]    Books columns count: 44
[22-Nov-2025 13:05:30 UTC]    Categories columns count: 7
[22-Nov-2025 13:05:30 UTC]    Language field in books: YES
[22-Nov-2025 13:05:30 UTC]    Format field in books: YES
[22-Nov-2025 13:05:30 UTC]    Description field in categories: YES
[22-Nov-2025 13:05:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:05:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:05:30 UTC]    Is_active field in books: YES
[22-Nov-2025 13:05:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:05:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:05:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:05:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:05:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:05:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:05:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:05:30 UTC] 📊 Database Info:
[22-Nov-2025 13:05:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:05:30 UTC]    Books columns count: 44
[22-Nov-2025 13:05:30 UTC]    Categories columns count: 7
[22-Nov-2025 13:05:30 UTC]    Language field in books: YES
[22-Nov-2025 13:05:30 UTC]    Format field in books: YES
[22-Nov-2025 13:05:30 UTC]    Description field in categories: YES
[22-Nov-2025 13:05:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:05:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:05:30 UTC]    Is_active field in books: YES
[22-Nov-2025 13:05:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:05:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:05:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:05:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:05:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:05:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:05:30 UTC] 📊 Database Info:
[22-Nov-2025 13:05:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:05:30 UTC]    Books columns count: 44
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:05:30 UTC]    Categories columns count: 7
[22-Nov-2025 13:05:30 UTC]    Language field in books: YES
[22-Nov-2025 13:05:30 UTC]    Format field in books: YES
[22-Nov-2025 13:05:30 UTC]    Description field in categories: YES
[22-Nov-2025 13:05:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:05:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:05:30 UTC]    Is_active field in books: YES
[22-Nov-2025 13:05:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:05:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:05:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:05:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:05:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:05:30 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:05:30 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:05:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:05:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:05:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:05:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:05:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:05:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:05:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:05:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:05:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:05:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:05:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:05:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:05:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:05:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:05:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:05:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:05:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:05:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:05:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:05:32 UTC] 📊 Database Info:
[22-Nov-2025 13:05:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:05:32 UTC]    Books columns count: 44
[22-Nov-2025 13:05:32 UTC]    Categories columns count: 7
[22-Nov-2025 13:05:32 UTC]    Language field in books: YES
[22-Nov-2025 13:05:32 UTC]    Format field in books: YES
[22-Nov-2025 13:05:32 UTC]    Description field in categories: YES
[22-Nov-2025 13:05:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:05:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:05:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:05:32 UTC]    Is_active field in books: YES
[22-Nov-2025 13:05:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:05:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:05:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:05:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:05:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:05:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:05:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:05:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:05:32 UTC] 📊 Database Info:
[22-Nov-2025 13:05:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:05:32 UTC]    Books columns count: 44
[22-Nov-2025 13:05:32 UTC]    Categories columns count: 7
[22-Nov-2025 13:05:32 UTC]    Language field in books: YES
[22-Nov-2025 13:05:32 UTC]    Format field in books: YES
[22-Nov-2025 13:05:32 UTC]    Description field in categories: YES
[22-Nov-2025 13:05:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:05:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:05:32 UTC]    Is_active field in books: YES
[22-Nov-2025 13:05:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:05:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:05:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:05:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:05:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:05:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:05:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:05:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:05:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:05:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:05:32 UTC] 📊 Database Info:
[22-Nov-2025 13:05:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:05:32 UTC]    Books columns count: 44
[22-Nov-2025 13:05:32 UTC]    Categories columns count: 7
[22-Nov-2025 13:05:32 UTC]    Language field in books: YES
[22-Nov-2025 13:05:32 UTC]    Format field in books: YES
[22-Nov-2025 13:05:32 UTC]    Description field in categories: YES
[22-Nov-2025 13:05:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:05:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:05:32 UTC]    Is_active field in books: YES
[22-Nov-2025 13:05:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:05:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:05:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:05:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:05:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:05:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:05:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:05:32 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:05:32 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:06:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:06:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:06:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:06:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:06:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:06:00 UTC] 📊 Database Info:
[22-Nov-2025 13:06:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:06:00 UTC]    Books columns count: 44
[22-Nov-2025 13:06:00 UTC]    Categories columns count: 7
[22-Nov-2025 13:06:00 UTC]    Language field in books: YES
[22-Nov-2025 13:06:00 UTC]    Format field in books: YES
[22-Nov-2025 13:06:00 UTC]    Description field in categories: YES
[22-Nov-2025 13:06:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:06:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:06:00 UTC]    Is_active field in books: YES
[22-Nov-2025 13:06:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:06:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:06:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:06:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:06:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:06:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:06:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:06:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:06:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:01 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:06:01 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:06:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:01 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:06:01 UTC] 📊 Database Info:
[22-Nov-2025 13:06:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:06:01 UTC]    Books columns count: 44
[22-Nov-2025 13:06:01 UTC]    Categories columns count: 7
[22-Nov-2025 13:06:01 UTC]    Language field in books: YES
[22-Nov-2025 13:06:01 UTC]    Format field in books: YES
[22-Nov-2025 13:06:01 UTC]    Description field in categories: YES
[22-Nov-2025 13:06:01 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:06:01 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:06:01 UTC]    Is_active field in books: YES
[22-Nov-2025 13:06:01 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:06:01 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:06:01 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:06:01 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:06:01 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:06:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:06:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:06:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:06:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:05 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:06:05 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:06:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:06:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:05 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:06:05 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:06:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:06:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:05 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:06:05 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:06:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:05 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:06:05 UTC] 📊 Database Info:
[22-Nov-2025 13:06:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:06:05 UTC]    Books columns count: 44
[22-Nov-2025 13:06:05 UTC]    Categories columns count: 7
[22-Nov-2025 13:06:05 UTC]    Language field in books: YES
[22-Nov-2025 13:06:05 UTC]    Format field in books: YES
[22-Nov-2025 13:06:05 UTC]    Description field in categories: YES
[22-Nov-2025 13:06:05 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:06:05 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:06:05 UTC]    Is_active field in books: YES
[22-Nov-2025 13:06:05 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:06:05 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:06:05 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:06:05 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:06:05 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:06:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:06:05 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:06:05 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:06:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:06:06 UTC] 📊 Database Info:
[22-Nov-2025 13:06:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:06:06 UTC]    Books columns count: 44
[22-Nov-2025 13:06:06 UTC]    Categories columns count: 7
[22-Nov-2025 13:06:06 UTC]    Language field in books: YES
[22-Nov-2025 13:06:06 UTC]    Format field in books: YES
[22-Nov-2025 13:06:06 UTC]    Description field in categories: YES
[22-Nov-2025 13:06:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:06:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:06:06 UTC]    Is_active field in books: YES
[22-Nov-2025 13:06:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:06:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:06:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:06:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:06:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:06:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:06:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:06:06 UTC] 📊 Database Info:
[22-Nov-2025 13:06:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:06:06 UTC]    Books columns count: 44
[22-Nov-2025 13:06:06 UTC]    Categories columns count: 7
[22-Nov-2025 13:06:06 UTC]    Language field in books: YES
[22-Nov-2025 13:06:06 UTC]    Format field in books: YES
[22-Nov-2025 13:06:06 UTC]    Description field in categories: YES
[22-Nov-2025 13:06:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:06:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:06:06 UTC]    Is_active field in books: YES
[22-Nov-2025 13:06:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:06:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:06:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:06:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:06:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:06:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:06:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:06:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:06:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:06:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:06:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:06:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:06:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:06:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:06:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:06:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:06:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:06:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:06:06 UTC] 📊 Database Info:
[22-Nov-2025 13:06:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:06:06 UTC]    Books columns count: 44
[22-Nov-2025 13:06:06 UTC]    Categories columns count: 7
[22-Nov-2025 13:06:06 UTC]    Language field in books: YES
[22-Nov-2025 13:06:06 UTC]    Format field in books: YES
[22-Nov-2025 13:06:06 UTC]    Description field in categories: YES
[22-Nov-2025 13:06:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:06:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:06:06 UTC]    Is_active field in books: YES
[22-Nov-2025 13:06:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:06:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:06:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:06:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:06:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:06:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:06:06 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:06:06 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:06:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:06:06 UTC] 📊 Database Info:
[22-Nov-2025 13:06:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:06:06 UTC]    Books columns count: 44
[22-Nov-2025 13:06:06 UTC]    Categories columns count: 7
[22-Nov-2025 13:06:06 UTC]    Language field in books: YES
[22-Nov-2025 13:06:06 UTC]    Format field in books: YES
[22-Nov-2025 13:06:06 UTC]    Description field in categories: YES
[22-Nov-2025 13:06:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:06:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:06:06 UTC]    Is_active field in books: YES
[22-Nov-2025 13:06:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:06:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:06:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:06:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:06:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:06:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:06:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:06:06 UTC] 📊 Database Info:
[22-Nov-2025 13:06:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:06:06 UTC]    Books columns count: 44
[22-Nov-2025 13:06:06 UTC]    Categories columns count: 7
[22-Nov-2025 13:06:06 UTC]    Language field in books: YES
[22-Nov-2025 13:06:06 UTC]    Format field in books: YES
[22-Nov-2025 13:06:06 UTC]    Description field in categories: YES
[22-Nov-2025 13:06:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:06:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:06:06 UTC]    Is_active field in books: YES
[22-Nov-2025 13:06:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:06:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:06:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:06:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:06:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:06:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:06:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:06:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:06:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:06:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:06:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:06:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:06:39 UTC] 📊 Database Info:
[22-Nov-2025 13:06:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:06:39 UTC]    Books columns count: 44
[22-Nov-2025 13:06:39 UTC]    Categories columns count: 7
[22-Nov-2025 13:06:39 UTC]    Language field in books: YES
[22-Nov-2025 13:06:39 UTC]    Format field in books: YES
[22-Nov-2025 13:06:39 UTC]    Description field in categories: YES
[22-Nov-2025 13:06:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:06:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:06:39 UTC]    Is_active field in books: YES
[22-Nov-2025 13:06:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:06:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:06:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:06:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:06:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:06:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:06:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:06:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:06:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:06:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:06:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:06:39 UTC] 📊 Database Info:
[22-Nov-2025 13:06:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:06:39 UTC]    Books columns count: 44
[22-Nov-2025 13:06:39 UTC]    Categories columns count: 7
[22-Nov-2025 13:06:39 UTC]    Language field in books: YES
[22-Nov-2025 13:06:39 UTC]    Format field in books: YES
[22-Nov-2025 13:06:39 UTC]    Description field in categories: YES
[22-Nov-2025 13:06:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:06:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:06:39 UTC]    Is_active field in books: YES
[22-Nov-2025 13:06:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:06:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:06:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:06:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:06:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:06:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:06:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:06:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:06:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:06:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:06:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:06:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:06:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:06:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:06:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:06:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:06:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:06:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:06:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:06:42 UTC] 📊 Database Info:
[22-Nov-2025 13:06:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:06:42 UTC]    Books columns count: 44
[22-Nov-2025 13:06:42 UTC]    Categories columns count: 7
[22-Nov-2025 13:06:42 UTC]    Language field in books: YES
[22-Nov-2025 13:06:42 UTC]    Format field in books: YES
[22-Nov-2025 13:06:42 UTC]    Description field in categories: YES
[22-Nov-2025 13:06:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:06:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:06:42 UTC]    Is_active field in books: YES
[22-Nov-2025 13:06:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:06:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:06:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:06:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:06:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:06:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:06:42 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:06:42 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:06:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:06:42 UTC] 📊 Database Info:
[22-Nov-2025 13:06:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:06:42 UTC]    Books columns count: 44
[22-Nov-2025 13:06:42 UTC]    Categories columns count: 7
[22-Nov-2025 13:06:42 UTC]    Language field in books: YES
[22-Nov-2025 13:06:42 UTC]    Format field in books: YES
[22-Nov-2025 13:06:42 UTC]    Description field in categories: YES
[22-Nov-2025 13:06:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:06:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:06:42 UTC]    Is_active field in books: YES
[22-Nov-2025 13:06:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:06:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:06:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:06:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:06:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:06:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:06:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:06:42 UTC] 📊 Database Info:
[22-Nov-2025 13:06:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:06:42 UTC]    Books columns count: 44
[22-Nov-2025 13:06:42 UTC]    Categories columns count: 7
[22-Nov-2025 13:06:42 UTC]    Language field in books: YES
[22-Nov-2025 13:06:42 UTC]    Format field in books: YES
[22-Nov-2025 13:06:42 UTC]    Description field in categories: YES
[22-Nov-2025 13:06:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:06:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:06:42 UTC]    Is_active field in books: YES
[22-Nov-2025 13:06:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:06:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:06:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:06:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:06:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:06:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:06:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:06:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:06:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:06:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:06:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:06:48 UTC] 📊 Database Info:
[22-Nov-2025 13:06:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:06:48 UTC]    Books columns count: 44
[22-Nov-2025 13:06:48 UTC]    Categories columns count: 7
[22-Nov-2025 13:06:48 UTC]    Language field in books: YES
[22-Nov-2025 13:06:48 UTC]    Format field in books: YES
[22-Nov-2025 13:06:48 UTC]    Description field in categories: YES
[22-Nov-2025 13:06:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:06:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:06:48 UTC]    Is_active field in books: YES
[22-Nov-2025 13:06:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:06:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:06:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:06:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:06:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:06:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:06:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:06:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:06:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:06:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:06:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:06:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:06:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:06:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:06:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:06:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:06:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:06:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:06:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:06:49 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:06:49 UTC] 📊 Database Info:
[22-Nov-2025 13:06:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:06:49 UTC]    Books columns count: 44
[22-Nov-2025 13:06:49 UTC]    Categories columns count: 7
[22-Nov-2025 13:06:49 UTC]    Language field in books: YES
[22-Nov-2025 13:06:49 UTC]    Format field in books: YES
[22-Nov-2025 13:06:49 UTC]    Description field in categories: YES
[22-Nov-2025 13:06:49 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:06:49 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:06:49 UTC]    Is_active field in books: YES
[22-Nov-2025 13:06:49 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:06:49 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:06:49 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:06:49 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:06:49 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:06:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:06:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:06:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:06:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:06:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:06:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:06:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:06:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:06:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:06:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:06:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:06:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:06:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:09:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:09:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:09:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:09:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:09:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:09:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:09:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:09:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:09:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:09:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:09:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:09:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:09:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:09:35 UTC] 📊 Database Info:
[22-Nov-2025 13:09:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:09:35 UTC]    Books columns count: 44
[22-Nov-2025 13:09:35 UTC]    Categories columns count: 7
[22-Nov-2025 13:09:35 UTC]    Language field in books: YES
[22-Nov-2025 13:09:35 UTC]    Format field in books: YES
[22-Nov-2025 13:09:35 UTC]    Description field in categories: YES
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:09:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:09:35 UTC]    Is_active field in books: YES
[22-Nov-2025 13:09:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:09:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:09:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:09:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:09:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:09:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:09:35 UTC] 📊 Database Info:
[22-Nov-2025 13:09:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:09:35 UTC]    Books columns count: 44
[22-Nov-2025 13:09:35 UTC]    Categories columns count: 7
[22-Nov-2025 13:09:35 UTC]    Language field in books: YES
[22-Nov-2025 13:09:35 UTC]    Format field in books: YES
[22-Nov-2025 13:09:35 UTC]    Description field in categories: YES
[22-Nov-2025 13:09:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:09:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:09:35 UTC]    Is_active field in books: YES
[22-Nov-2025 13:09:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:09:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:09:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:09:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:09:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:09:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:09:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:09:35 UTC] 📊 Database Info:
[22-Nov-2025 13:09:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:09:35 UTC]    Books columns count: 44
[22-Nov-2025 13:09:35 UTC]    Categories columns count: 7
[22-Nov-2025 13:09:35 UTC]    Language field in books: YES
[22-Nov-2025 13:09:35 UTC]    Format field in books: YES
[22-Nov-2025 13:09:35 UTC]    Description field in categories: YES
[22-Nov-2025 13:09:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:09:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:09:35 UTC]    Is_active field in books: YES
[22-Nov-2025 13:09:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:09:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:09:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:09:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:09:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:09:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:09:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:09:35 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:09:35 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:09:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:09:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:09:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:09:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:09:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:09:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:09:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:09:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:09:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:09:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:09:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:09:40 UTC] 📊 Database Info:
[22-Nov-2025 13:09:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:09:40 UTC]    Books columns count: 44
[22-Nov-2025 13:09:40 UTC]    Categories columns count: 7
[22-Nov-2025 13:09:40 UTC]    Language field in books: YES
[22-Nov-2025 13:09:40 UTC]    Format field in books: YES
[22-Nov-2025 13:09:40 UTC]    Description field in categories: YES
[22-Nov-2025 13:09:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:09:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:09:40 UTC]    Is_active field in books: YES
[22-Nov-2025 13:09:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:09:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:09:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:09:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:09:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:09:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:09:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:09:40 UTC] 📊 Database Info:
[22-Nov-2025 13:09:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:09:40 UTC]    Books columns count: 44
[22-Nov-2025 13:09:40 UTC]    Categories columns count: 7
[22-Nov-2025 13:09:40 UTC]    Language field in books: YES
[22-Nov-2025 13:09:40 UTC]    Format field in books: YES
[22-Nov-2025 13:09:40 UTC]    Description field in categories: YES
[22-Nov-2025 13:09:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:09:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:09:40 UTC]    Is_active field in books: YES
[22-Nov-2025 13:09:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:09:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:09:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:09:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:09:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:09:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:09:40 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:09:40 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:09:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:09:40 UTC] 📊 Database Info:
[22-Nov-2025 13:09:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:09:40 UTC]    Books columns count: 44
[22-Nov-2025 13:09:40 UTC]    Categories columns count: 7
[22-Nov-2025 13:09:40 UTC]    Language field in books: YES
[22-Nov-2025 13:09:40 UTC]    Format field in books: YES
[22-Nov-2025 13:09:40 UTC]    Description field in categories: YES
[22-Nov-2025 13:09:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:09:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:09:40 UTC]    Is_active field in books: YES
[22-Nov-2025 13:09:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:09:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:09:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:09:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:09:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:09:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:09:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:09:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:09:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:09:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:09:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:09:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:09:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:09:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:09:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:09:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:09:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:09:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:09:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:09:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:09:41 UTC] 📊 Database Info:
[22-Nov-2025 13:09:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:09:41 UTC]    Books columns count: 44
[22-Nov-2025 13:09:41 UTC]    Categories columns count: 7
[22-Nov-2025 13:09:41 UTC]    Language field in books: YES
[22-Nov-2025 13:09:41 UTC]    Format field in books: YES
[22-Nov-2025 13:09:41 UTC]    Description field in categories: YES
[22-Nov-2025 13:09:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:09:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:09:41 UTC]    Is_active field in books: YES
[22-Nov-2025 13:09:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:09:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:09:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:09:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:09:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:09:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:09:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:09:41 UTC] 📊 Database Info:
[22-Nov-2025 13:09:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:09:41 UTC]    Books columns count: 44
[22-Nov-2025 13:09:41 UTC]    Categories columns count: 7
[22-Nov-2025 13:09:41 UTC]    Language field in books: YES
[22-Nov-2025 13:09:41 UTC]    Format field in books: YES
[22-Nov-2025 13:09:41 UTC]    Description field in categories: YES
[22-Nov-2025 13:09:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:09:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:09:41 UTC]    Is_active field in books: YES
[22-Nov-2025 13:09:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:09:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:09:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:09:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:09:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:09:41 UTC] 📊 Database Info:
[22-Nov-2025 13:09:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:09:41 UTC]    Books columns count: 44
[22-Nov-2025 13:09:41 UTC]    Categories columns count: 7
[22-Nov-2025 13:09:41 UTC]    Language field in books: YES
[22-Nov-2025 13:09:41 UTC]    Format field in books: YES
[22-Nov-2025 13:09:41 UTC]    Description field in categories: YES
[22-Nov-2025 13:09:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:09:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:09:41 UTC]    Is_active field in books: YES
[22-Nov-2025 13:09:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:09:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:09:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:09:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:09:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:09:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:09:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:09:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:09:41 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:09:41 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:09:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:09:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:09:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:09:43 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:09:43 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:09:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:09:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:09:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:09:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:09:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:09:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:09:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:09:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:09:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:09:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:09:43 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:09:43 UTC] 📊 Database Info:
[22-Nov-2025 13:09:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:09:43 UTC]    Books columns count: 44
[22-Nov-2025 13:09:43 UTC]    Categories columns count: 7
[22-Nov-2025 13:09:43 UTC]    Language field in books: YES
[22-Nov-2025 13:09:43 UTC]    Format field in books: YES
[22-Nov-2025 13:09:43 UTC]    Description field in categories: YES
[22-Nov-2025 13:09:43 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:09:43 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:09:43 UTC]    Is_active field in books: YES
[22-Nov-2025 13:09:43 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:09:43 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:09:43 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:09:43 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:09:43 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:09:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:14:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:14:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:14:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:14:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:14:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:14:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:14:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:14:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:14:17 UTC] 📊 Database Info:
[22-Nov-2025 13:14:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:14:17 UTC]    Books columns count: 44
[22-Nov-2025 13:14:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:14:17 UTC]    Language field in books: YES
[22-Nov-2025 13:14:17 UTC]    Format field in books: YES
[22-Nov-2025 13:14:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:14:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:14:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:14:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:14:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:14:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 13:14:17 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 13:14:17 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:14:17 UTC] 📊 Database Info:
[22-Nov-2025 13:14:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:14:17 UTC]    Books columns count: 44
[22-Nov-2025 13:14:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:14:17 UTC]    Language field in books: YES
[22-Nov-2025 13:14:17 UTC]    Format field in books: YES
[22-Nov-2025 13:14:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:14:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:14:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:14:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:14:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:14:17 UTC] 📊 Database Info:
[22-Nov-2025 13:14:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:14:17 UTC]    Books columns count: 44
[22-Nov-2025 13:14:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:14:17 UTC]    Language field in books: YES
[22-Nov-2025 13:14:17 UTC]    Format field in books: YES
[22-Nov-2025 13:14:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:14:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:14:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:14:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:14:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:14:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 13:14:17 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 13:14:17 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:14:17 UTC] 📊 Database Info:
[22-Nov-2025 13:14:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:14:17 UTC]    Books columns count: 44
[22-Nov-2025 13:14:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:14:17 UTC]    Language field in books: YES
[22-Nov-2025 13:14:17 UTC]    Format field in books: YES
[22-Nov-2025 13:14:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:14:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:14:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:14:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:14:17 UTC] 📊 Database Info:
[22-Nov-2025 13:14:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:14:17 UTC]    Books columns count: 44
[22-Nov-2025 13:14:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:14:17 UTC]    Language field in books: YES
[22-Nov-2025 13:14:17 UTC]    Format field in books: YES
[22-Nov-2025 13:14:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:14:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:14:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:14:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:14:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:14:17 UTC] 📊 Database Info:
[22-Nov-2025 13:14:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC]    Books columns count: 44
[22-Nov-2025 13:14:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:14:17 UTC]    Language field in books: YES
[22-Nov-2025 13:14:17 UTC]    Format field in books: YES
[22-Nov-2025 13:14:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:14:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:14:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:14:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:14:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:14:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:14:17 UTC] 📊 Database Info:
[22-Nov-2025 13:14:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:14:17 UTC]    Books columns count: 44
[22-Nov-2025 13:14:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:14:17 UTC]    Language field in books: YES
[22-Nov-2025 13:14:17 UTC]    Format field in books: YES
[22-Nov-2025 13:14:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:14:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:14:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:14:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:14:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:14:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:14:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 13:14:17 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 13:14:17 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 13:14:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:14:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:14:17 UTC] 📊 Database Info:
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:14:17 UTC]    Books columns count: 44
[22-Nov-2025 13:14:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:14:17 UTC]    Language field in books: YES
[22-Nov-2025 13:14:17 UTC]    Format field in books: YES
[22-Nov-2025 13:14:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:14:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:14:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:14:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:14:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 13:14:17 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:14:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:14:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:14:17 UTC] 📊 Database Info:
[22-Nov-2025 13:14:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:14:17 UTC]    Books columns count: 44
[22-Nov-2025 13:14:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:14:17 UTC]    Language field in books: YES
[22-Nov-2025 13:14:17 UTC]    Format field in books: YES
[22-Nov-2025 13:14:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:14:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:14:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:14:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:14:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:14:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 13:14:17 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 13:14:17 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 13:14:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:14:17 UTC] 📊 Database Info:
[22-Nov-2025 13:14:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:14:17 UTC]    Books columns count: 44
[22-Nov-2025 13:14:17 UTC]    Categories columns count: 7
[22-Nov-2025 13:14:17 UTC]    Language field in books: YES
[22-Nov-2025 13:14:17 UTC]    Format field in books: YES
[22-Nov-2025 13:14:17 UTC]    Description field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:14:17 UTC]    Is_active field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:14:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:14:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:14:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:14:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:14:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:14:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:14:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 13:14:17 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 13:14:17 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 13:14:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:14:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:14:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:14:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:14:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:14:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:14:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:14:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:14:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:14:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:14:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:14:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:14:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:14:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:14:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:14:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:14:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:14:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:14:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:14:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:14:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:14:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:14:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:14:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:14:20 UTC] 📊 Database Info:
[22-Nov-2025 13:14:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:14:20 UTC]    Books columns count: 44
[22-Nov-2025 13:14:20 UTC]    Categories columns count: 7
[22-Nov-2025 13:14:20 UTC]    Language field in books: YES
[22-Nov-2025 13:14:20 UTC]    Format field in books: YES
[22-Nov-2025 13:14:20 UTC]    Description field in categories: YES
[22-Nov-2025 13:14:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:14:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:14:20 UTC]    Is_active field in books: YES
[22-Nov-2025 13:14:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:14:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:14:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:14:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:14:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:14:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:14:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:14:20 UTC] 📊 Database Info:
[22-Nov-2025 13:14:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:14:20 UTC]    Books columns count: 44
[22-Nov-2025 13:14:20 UTC]    Categories columns count: 7
[22-Nov-2025 13:14:20 UTC]    Language field in books: YES
[22-Nov-2025 13:14:20 UTC]    Format field in books: YES
[22-Nov-2025 13:14:20 UTC]    Description field in categories: YES
[22-Nov-2025 13:14:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:14:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:14:20 UTC]    Is_active field in books: YES
[22-Nov-2025 13:14:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:14:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:14:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:14:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:14:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:14:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:14:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:14:20 UTC] 📊 Database Info:
[22-Nov-2025 13:14:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:14:20 UTC]    Books columns count: 44
[22-Nov-2025 13:14:20 UTC]    Categories columns count: 7
[22-Nov-2025 13:14:20 UTC]    Language field in books: YES
[22-Nov-2025 13:14:20 UTC]    Format field in books: YES
[22-Nov-2025 13:14:20 UTC]    Description field in categories: YES
[22-Nov-2025 13:14:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:14:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:14:20 UTC]    Is_active field in books: YES
[22-Nov-2025 13:14:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:14:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:14:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:14:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:14:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:14:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:14:20 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:14:20 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:14:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:14:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:14:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:14:20 UTC] 📊 Database Info:
[22-Nov-2025 13:14:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:14:20 UTC]    Books columns count: 44
[22-Nov-2025 13:14:20 UTC]    Categories columns count: 7
[22-Nov-2025 13:14:20 UTC]    Language field in books: YES
[22-Nov-2025 13:14:20 UTC]    Format field in books: YES
[22-Nov-2025 13:14:20 UTC]    Description field in categories: YES
[22-Nov-2025 13:14:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:14:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:14:20 UTC]    Is_active field in books: YES
[22-Nov-2025 13:14:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:14:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:14:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:14:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:14:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:14:20 UTC] 📊 Database Info:
[22-Nov-2025 13:14:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:14:20 UTC]    Books columns count: 44
[22-Nov-2025 13:14:20 UTC]    Categories columns count: 7
[22-Nov-2025 13:14:20 UTC]    Language field in books: YES
[22-Nov-2025 13:14:20 UTC]    Format field in books: YES
[22-Nov-2025 13:14:20 UTC]    Description field in categories: YES
[22-Nov-2025 13:14:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:14:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:14:20 UTC]    Is_active field in books: YES
[22-Nov-2025 13:14:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:14:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:14:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:14:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:14:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:14:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:14:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:14:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:14:20 UTC] 📊 Database Info:
[22-Nov-2025 13:14:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:14:20 UTC]    Books columns count: 44
[22-Nov-2025 13:14:20 UTC]    Categories columns count: 7
[22-Nov-2025 13:14:20 UTC]    Language field in books: YES
[22-Nov-2025 13:14:20 UTC]    Format field in books: YES
[22-Nov-2025 13:14:20 UTC]    Description field in categories: YES
[22-Nov-2025 13:14:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:14:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:14:20 UTC]    Is_active field in books: YES
[22-Nov-2025 13:14:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:14:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:14:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:14:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:14:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:14:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:14:20 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:14:20 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:16:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:16:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:16:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:16:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:16:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:16:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:16:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:16:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:16:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:16:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:16:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:16:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:16:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:16:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:16:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:16:26 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:16:26 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:16:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:16:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:16:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:16:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:16:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:16:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:16:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:16:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:16:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:16:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:16:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:16:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:16:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:16:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:16:26 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:16:26 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:16:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:16:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:16:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:16:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:16:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:16:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:16:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:16:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:16:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:16:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:16:26 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:16:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:16:26 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:16:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:16:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:16:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:16:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:16:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:16:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:16:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:16:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:16:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:16:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:16:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:16:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:16:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:16:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:16:27 UTC] 📊 Database Info:
[22-Nov-2025 13:16:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:16:27 UTC]    Books columns count: 44
[22-Nov-2025 13:16:27 UTC]    Categories columns count: 7
[22-Nov-2025 13:16:27 UTC]    Language field in books: YES
[22-Nov-2025 13:16:27 UTC]    Format field in books: YES
[22-Nov-2025 13:16:27 UTC]    Description field in categories: YES
[22-Nov-2025 13:16:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:16:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:16:27 UTC]    Is_active field in books: YES
[22-Nov-2025 13:16:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:16:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:16:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:16:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:16:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:16:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:16:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:16:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:16:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:16:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:16:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:16:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:16:27 UTC] 📊 Database Info:
[22-Nov-2025 13:16:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:16:27 UTC]    Books columns count: 44
[22-Nov-2025 13:16:27 UTC]    Categories columns count: 7
[22-Nov-2025 13:16:27 UTC]    Language field in books: YES
[22-Nov-2025 13:16:27 UTC]    Format field in books: YES
[22-Nov-2025 13:16:27 UTC]    Description field in categories: YES
[22-Nov-2025 13:16:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:16:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:16:27 UTC]    Is_active field in books: YES
[22-Nov-2025 13:16:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:16:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:16:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:16:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:16:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:16:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:16:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:16:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:16:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:16:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:16:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:16:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:16:27 UTC] 📊 Database Info:
[22-Nov-2025 13:16:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:16:27 UTC]    Books columns count: 44
[22-Nov-2025 13:16:27 UTC]    Categories columns count: 7
[22-Nov-2025 13:16:27 UTC]    Language field in books: YES
[22-Nov-2025 13:16:27 UTC]    Format field in books: YES
[22-Nov-2025 13:16:27 UTC]    Description field in categories: YES
[22-Nov-2025 13:16:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:16:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:16:27 UTC]    Is_active field in books: YES
[22-Nov-2025 13:16:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:16:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:16:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:16:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:16:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:16:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:16:27 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:16:27 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:16:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:16:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:16:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:16:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:16:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:16:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:16:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:16:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:16:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:16:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:16:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:16:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:16:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:16:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:16:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:16:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:16:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:16:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:16:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:16:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:16:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:16:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:16:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:16:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:16:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:16:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:16:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:16:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:16:33 UTC] 📊 Database Info:
[22-Nov-2025 13:16:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:16:33 UTC]    Books columns count: 44
[22-Nov-2025 13:16:33 UTC]    Categories columns count: 7
[22-Nov-2025 13:16:33 UTC]    Language field in books: YES
[22-Nov-2025 13:16:33 UTC]    Format field in books: YES
[22-Nov-2025 13:16:33 UTC]    Description field in categories: YES
[22-Nov-2025 13:16:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:16:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:16:33 UTC]    Is_active field in books: YES
[22-Nov-2025 13:16:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:16:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:16:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:16:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:16:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:16:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:17:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:17:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:17:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:17:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:17:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:17:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:17:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:17:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:17:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:17:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:17:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:17:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:17:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:17:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:17:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:17:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:17:05 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:17:05 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:17:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:17:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:17:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:17:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:17:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:17:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:17:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:17:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:17:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:17:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:17:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:17:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:17:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:17:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:17:05 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:17:05 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:17:05 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:17:05 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:17:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:17:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:17:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:17:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:17:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:17:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:17:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:17:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:17:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:17:05 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:17:05 UTC] 📊 Database Info:
[22-Nov-2025 13:17:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:17:05 UTC]    Books columns count: 44
[22-Nov-2025 13:17:05 UTC]    Categories columns count: 7
[22-Nov-2025 13:17:05 UTC]    Language field in books: YES
[22-Nov-2025 13:17:05 UTC]    Format field in books: YES
[22-Nov-2025 13:17:05 UTC]    Description field in categories: YES
[22-Nov-2025 13:17:05 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:17:05 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:17:05 UTC]    Is_active field in books: YES
[22-Nov-2025 13:17:05 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:17:05 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:17:05 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:17:05 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:17:05 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:17:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:17:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:17:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:17:05 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:17:05 UTC] 📊 Database Info:
[22-Nov-2025 13:17:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:17:05 UTC]    Books columns count: 44
[22-Nov-2025 13:17:05 UTC]    Categories columns count: 7
[22-Nov-2025 13:17:05 UTC]    Language field in books: YES
[22-Nov-2025 13:17:05 UTC]    Format field in books: YES
[22-Nov-2025 13:17:05 UTC]    Description field in categories: YES
[22-Nov-2025 13:17:05 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:17:05 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:17:05 UTC]    Is_active field in books: YES
[22-Nov-2025 13:17:05 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:17:05 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:17:05 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:17:05 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:17:05 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:17:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:17:05 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:17:05 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:17:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:17:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:17:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:17:05 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:17:05 UTC] 📊 Database Info:
[22-Nov-2025 13:17:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:17:05 UTC]    Books columns count: 44
[22-Nov-2025 13:17:05 UTC]    Categories columns count: 7
[22-Nov-2025 13:17:05 UTC]    Language field in books: YES
[22-Nov-2025 13:17:05 UTC]    Format field in books: YES
[22-Nov-2025 13:17:05 UTC]    Description field in categories: YES
[22-Nov-2025 13:17:05 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:17:05 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:17:05 UTC]    Is_active field in books: YES
[22-Nov-2025 13:17:05 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:17:05 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:17:05 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:17:05 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:17:05 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:17:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:17:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:17:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:17:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:17:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:17:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:17:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:17:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:17:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:17:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:17:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:17:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:17:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:17:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:17:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:17:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:17:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:17:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:17:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:17:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:17:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:17:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:17:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:17:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:17:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:17:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:17:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:17:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:17:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:17:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:17:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:17:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:17:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:17:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:17:08 UTC] 📊 Database Info:
[22-Nov-2025 13:17:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:17:08 UTC]    Books columns count: 44
[22-Nov-2025 13:17:08 UTC]    Categories columns count: 7
[22-Nov-2025 13:17:08 UTC]    Language field in books: YES
[22-Nov-2025 13:17:08 UTC]    Format field in books: YES
[22-Nov-2025 13:17:08 UTC]    Description field in categories: YES
[22-Nov-2025 13:17:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:17:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:17:08 UTC]    Is_active field in books: YES
[22-Nov-2025 13:17:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:17:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:17:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:17:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:17:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:17:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:17:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:17:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:17:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:17:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:17:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:17:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:17:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:17:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:17:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:17:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:17:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:17:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:17:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:17:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:17:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:17:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:17:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:17:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:17:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:17:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:17:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:17:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:17:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:17:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:17:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:17:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:17:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:17:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:17:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:17:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:17:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:17:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:17:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:17:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:17:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:17:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:17:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:17:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:17:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:17:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:17:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:17:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:17:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:17:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:17:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:17:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:17:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:17:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:17:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:17:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:17:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:17:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:17:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:17:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:17:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:17:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:17:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:17:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:17:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:17:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:17:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:17:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:17:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:17:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:17:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:17:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:17:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:17:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:17:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:17:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:17:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:17:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:17:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:17:33 UTC] 📊 Database Info:
[22-Nov-2025 13:17:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:17:33 UTC]    Books columns count: 44
[22-Nov-2025 13:17:33 UTC]    Categories columns count: 7
[22-Nov-2025 13:17:33 UTC]    Language field in books: YES
[22-Nov-2025 13:17:33 UTC]    Format field in books: YES
[22-Nov-2025 13:17:33 UTC]    Description field in categories: YES
[22-Nov-2025 13:17:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:17:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:17:33 UTC]    Is_active field in books: YES
[22-Nov-2025 13:17:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:17:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:17:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:17:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:17:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:17:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:17:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:17:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:17:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:17:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:17:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:17:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:17:33 UTC] 📊 Database Info:
[22-Nov-2025 13:17:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:17:33 UTC]    Books columns count: 44
[22-Nov-2025 13:17:33 UTC]    Categories columns count: 7
[22-Nov-2025 13:17:33 UTC]    Language field in books: YES
[22-Nov-2025 13:17:33 UTC]    Format field in books: YES
[22-Nov-2025 13:17:33 UTC]    Description field in categories: YES
[22-Nov-2025 13:17:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:17:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:17:33 UTC]    Is_active field in books: YES
[22-Nov-2025 13:17:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:17:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:17:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:17:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:17:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:17:33 UTC] 📊 Database Info:
[22-Nov-2025 13:17:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:17:33 UTC]    Books columns count: 44
[22-Nov-2025 13:17:33 UTC]    Categories columns count: 7
[22-Nov-2025 13:17:33 UTC]    Language field in books: YES
[22-Nov-2025 13:17:33 UTC]    Format field in books: YES
[22-Nov-2025 13:17:33 UTC]    Description field in categories: YES
[22-Nov-2025 13:17:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:17:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:17:33 UTC]    Is_active field in books: YES
[22-Nov-2025 13:17:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:17:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:17:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:17:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:17:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:17:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:17:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:17:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:17:33 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:17:33 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:17:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:17:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:17:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:17:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:17:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:17:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:17:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:17:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:17:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:17:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:17:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:17:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:17:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:17:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:17:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:17:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:17:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:17:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:17:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:17:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:17:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:17:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:17:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:17:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:17:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:17:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:17:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:17:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:17:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:17:34 UTC] 📊 Database Info:
[22-Nov-2025 13:17:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:17:34 UTC]    Books columns count: 44
[22-Nov-2025 13:17:34 UTC]    Categories columns count: 7
[22-Nov-2025 13:17:34 UTC]    Language field in books: YES
[22-Nov-2025 13:17:34 UTC]    Format field in books: YES
[22-Nov-2025 13:17:34 UTC]    Description field in categories: YES
[22-Nov-2025 13:17:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:17:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:17:34 UTC]    Is_active field in books: YES
[22-Nov-2025 13:17:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:17:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:17:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:17:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:17:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:17:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:17:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:17:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:17:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:17:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:17:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:17:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:17:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:17:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:17:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:17:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:17:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:17:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:18:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:18:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:18:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:18:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:18:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:18:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:18:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:18:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:18:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:18:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:18:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:18:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:18:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:18:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:18:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:18:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:18:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:18:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:18:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:18:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:18:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:18:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:18:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:18:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:18:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:18:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:18:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:18:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:18:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:18:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:18:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:18:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:18:21 UTC] 📊 Database Info:
[22-Nov-2025 13:18:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:18:21 UTC]    Books columns count: 44
[22-Nov-2025 13:18:21 UTC]    Categories columns count: 7
[22-Nov-2025 13:18:21 UTC]    Language field in books: YES
[22-Nov-2025 13:18:21 UTC]    Format field in books: YES
[22-Nov-2025 13:18:21 UTC]    Description field in categories: YES
[22-Nov-2025 13:18:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:18:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:18:21 UTC]    Is_active field in books: YES
[22-Nov-2025 13:18:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:18:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:18:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:18:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:18:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:18:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:18:21 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:18:21 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:18:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:18:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:18:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:18:21 UTC] 📊 Database Info:
[22-Nov-2025 13:18:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:18:21 UTC]    Books columns count: 44
[22-Nov-2025 13:18:21 UTC]    Categories columns count: 7
[22-Nov-2025 13:18:21 UTC]    Language field in books: YES
[22-Nov-2025 13:18:21 UTC]    Format field in books: YES
[22-Nov-2025 13:18:21 UTC]    Description field in categories: YES
[22-Nov-2025 13:18:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:18:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:18:21 UTC]    Is_active field in books: YES
[22-Nov-2025 13:18:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:18:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:18:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:18:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:18:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:18:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:18:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:18:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:18:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:18:21 UTC] 📊 Database Info:
[22-Nov-2025 13:18:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:18:21 UTC]    Books columns count: 44
[22-Nov-2025 13:18:21 UTC]    Categories columns count: 7
[22-Nov-2025 13:18:21 UTC]    Language field in books: YES
[22-Nov-2025 13:18:21 UTC]    Format field in books: YES
[22-Nov-2025 13:18:21 UTC]    Description field in categories: YES
[22-Nov-2025 13:18:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:18:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:18:21 UTC]    Is_active field in books: YES
[22-Nov-2025 13:18:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:18:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:18:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:18:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:18:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:18:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:18:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:18:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:18:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:18:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:18:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:18:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:18:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:18:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:18:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:18:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:18:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:18:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:18:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:18:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:18:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:18:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:18:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:18:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:18:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:18:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:18:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:18:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:18:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:18:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:18:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:18:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:18:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:18:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:18:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:18:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:18:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:18:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:18:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:18:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:18:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:18:21 UTC] 📊 Database Info:
[22-Nov-2025 13:18:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:18:21 UTC]    Books columns count: 44
[22-Nov-2025 13:18:21 UTC]    Categories columns count: 7
[22-Nov-2025 13:18:21 UTC]    Language field in books: YES
[22-Nov-2025 13:18:21 UTC]    Format field in books: YES
[22-Nov-2025 13:18:21 UTC]    Description field in categories: YES
[22-Nov-2025 13:18:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:18:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:18:21 UTC]    Is_active field in books: YES
[22-Nov-2025 13:18:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:18:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:18:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:18:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:18:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:18:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:18:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:18:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:18:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:18:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:18:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:18:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:18:21 UTC] 📊 Database Info:
[22-Nov-2025 13:18:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:18:21 UTC]    Books columns count: 44
[22-Nov-2025 13:18:21 UTC]    Categories columns count: 7
[22-Nov-2025 13:18:21 UTC]    Language field in books: YES
[22-Nov-2025 13:18:21 UTC]    Format field in books: YES
[22-Nov-2025 13:18:21 UTC]    Description field in categories: YES
[22-Nov-2025 13:18:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:18:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:18:21 UTC]    Is_active field in books: YES
[22-Nov-2025 13:18:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:18:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:18:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:18:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:18:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:18:21 UTC] 📊 Database Info:
[22-Nov-2025 13:18:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:18:21 UTC]    Books columns count: 44
[22-Nov-2025 13:18:21 UTC]    Categories columns count: 7
[22-Nov-2025 13:18:21 UTC]    Language field in books: YES
[22-Nov-2025 13:18:21 UTC]    Format field in books: YES
[22-Nov-2025 13:18:21 UTC]    Description field in categories: YES
[22-Nov-2025 13:18:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:18:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:18:21 UTC]    Is_active field in books: YES
[22-Nov-2025 13:18:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:18:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:18:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:18:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:18:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:18:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:18:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:18:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:18:21 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:18:21 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:47:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:23 UTC] 📊 Database Info:
[22-Nov-2025 13:47:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:23 UTC]    Books columns count: 44
[22-Nov-2025 13:47:23 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:23 UTC]    Language field in books: YES
[22-Nov-2025 13:47:23 UTC]    Format field in books: YES
[22-Nov-2025 13:47:23 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:23 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:23 UTC] 📊 Database Info:
[22-Nov-2025 13:47:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:23 UTC]    Books columns count: 44
[22-Nov-2025 13:47:23 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:23 UTC]    Language field in books: YES
[22-Nov-2025 13:47:23 UTC]    Format field in books: YES
[22-Nov-2025 13:47:23 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:23 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:23 UTC] 📊 Database Info:
[22-Nov-2025 13:47:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:23 UTC]    Books columns count: 44
[22-Nov-2025 13:47:23 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:23 UTC]    Language field in books: YES
[22-Nov-2025 13:47:23 UTC]    Format field in books: YES
[22-Nov-2025 13:47:23 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:23 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:23 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:47:23 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:47:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:23 UTC] 📊 Database Info:
[22-Nov-2025 13:47:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:23 UTC]    Books columns count: 44
[22-Nov-2025 13:47:23 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:23 UTC]    Language field in books: YES
[22-Nov-2025 13:47:23 UTC]    Format field in books: YES
[22-Nov-2025 13:47:23 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:23 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:23 UTC] 📊 Database Info:
[22-Nov-2025 13:47:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:23 UTC]    Books columns count: 44
[22-Nov-2025 13:47:23 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:23 UTC]    Language field in books: YES
[22-Nov-2025 13:47:23 UTC]    Format field in books: YES
[22-Nov-2025 13:47:23 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:23 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:23 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:47:23 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:47:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:23 UTC] 📊 Database Info:
[22-Nov-2025 13:47:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:23 UTC]    Books columns count: 44
[22-Nov-2025 13:47:23 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:23 UTC]    Language field in books: YES
[22-Nov-2025 13:47:23 UTC]    Format field in books: YES
[22-Nov-2025 13:47:23 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:23 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:26 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:26 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:26 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:26 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:26 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:26 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:26 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:26 UTC] 📊 Database Info:
[22-Nov-2025 13:47:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:26 UTC]    Books columns count: 44
[22-Nov-2025 13:47:26 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:26 UTC]    Language field in books: YES
[22-Nov-2025 13:47:26 UTC]    Format field in books: YES
[22-Nov-2025 13:47:26 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:26 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:26 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:26 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:26 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:26 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:26 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:26 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:26 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:26 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:26 UTC] 📊 Database Info:
[22-Nov-2025 13:47:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:26 UTC]    Books columns count: 44
[22-Nov-2025 13:47:26 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:26 UTC]    Language field in books: YES
[22-Nov-2025 13:47:26 UTC]    Format field in books: YES
[22-Nov-2025 13:47:26 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:26 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:26 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:26 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:26 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:26 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:26 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:26 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:26 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:26 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:47:26 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:47:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:26 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:26 UTC] 📊 Database Info:
[22-Nov-2025 13:47:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:26 UTC]    Books columns count: 44
[22-Nov-2025 13:47:26 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:26 UTC]    Language field in books: YES
[22-Nov-2025 13:47:26 UTC]    Format field in books: YES
[22-Nov-2025 13:47:26 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:26 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:26 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:26 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:26 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:26 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:26 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:26 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:26 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:29 UTC] 📊 Database Info:
[22-Nov-2025 13:47:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:29 UTC]    Books columns count: 44
[22-Nov-2025 13:47:29 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:29 UTC]    Language field in books: YES
[22-Nov-2025 13:47:29 UTC]    Format field in books: YES
[22-Nov-2025 13:47:29 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:29 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:29 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:47:29 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:47:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:29 UTC] 📊 Database Info:
[22-Nov-2025 13:47:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:29 UTC]    Books columns count: 44
[22-Nov-2025 13:47:29 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:29 UTC]    Language field in books: YES
[22-Nov-2025 13:47:29 UTC]    Format field in books: YES
[22-Nov-2025 13:47:29 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:29 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:29 UTC] 📊 Database Info:
[22-Nov-2025 13:47:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:29 UTC]    Books columns count: 44
[22-Nov-2025 13:47:29 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:29 UTC]    Language field in books: YES
[22-Nov-2025 13:47:29 UTC]    Format field in books: YES
[22-Nov-2025 13:47:29 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:29 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:30 UTC] 📊 Database Info:
[22-Nov-2025 13:47:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:30 UTC]    Books columns count: 44
[22-Nov-2025 13:47:30 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:30 UTC]    Language field in books: YES
[22-Nov-2025 13:47:30 UTC]    Format field in books: YES
[22-Nov-2025 13:47:30 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:30 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:32 UTC] 📊 Database Info:
[22-Nov-2025 13:47:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:32 UTC]    Books columns count: 44
[22-Nov-2025 13:47:32 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:32 UTC]    Language field in books: YES
[22-Nov-2025 13:47:32 UTC]    Format field in books: YES
[22-Nov-2025 13:47:32 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:32 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:42 UTC] 📊 Database Info:
[22-Nov-2025 13:47:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:42 UTC]    Books columns count: 44
[22-Nov-2025 13:47:42 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:42 UTC]    Language field in books: YES
[22-Nov-2025 13:47:42 UTC]    Format field in books: YES
[22-Nov-2025 13:47:42 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:42 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:42 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:47:42 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:47:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:42 UTC] 📊 Database Info:
[22-Nov-2025 13:47:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:42 UTC]    Books columns count: 44
[22-Nov-2025 13:47:42 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:42 UTC]    Language field in books: YES
[22-Nov-2025 13:47:42 UTC]    Format field in books: YES
[22-Nov-2025 13:47:42 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:42 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:42 UTC] 📊 Database Info:
[22-Nov-2025 13:47:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:42 UTC]    Books columns count: 44
[22-Nov-2025 13:47:42 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:42 UTC]    Language field in books: YES
[22-Nov-2025 13:47:42 UTC]    Format field in books: YES
[22-Nov-2025 13:47:42 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:42 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:42 UTC] 📊 Database Info:
[22-Nov-2025 13:47:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:42 UTC]    Books columns count: 44
[22-Nov-2025 13:47:42 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:42 UTC]    Language field in books: YES
[22-Nov-2025 13:47:42 UTC]    Format field in books: YES
[22-Nov-2025 13:47:42 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:42 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:42 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:47:42 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:47:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:42 UTC] 📊 Database Info:
[22-Nov-2025 13:47:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:42 UTC] 📊 Database Info:
[22-Nov-2025 13:47:42 UTC]    Books columns count: 44
[22-Nov-2025 13:47:42 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:42 UTC]    Language field in books: YES
[22-Nov-2025 13:47:42 UTC]    Books columns count: 44
[22-Nov-2025 13:47:42 UTC]    Format field in books: YES
[22-Nov-2025 13:47:42 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:42 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:42 UTC]    Language field in books: YES
[22-Nov-2025 13:47:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:42 UTC]    Format field in books: YES
[22-Nov-2025 13:47:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:42 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:42 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:42 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:48 UTC] 📊 Database Info:
[22-Nov-2025 13:47:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:48 UTC]    Books columns count: 44
[22-Nov-2025 13:47:48 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:48 UTC]    Language field in books: YES
[22-Nov-2025 13:47:48 UTC]    Format field in books: YES
[22-Nov-2025 13:47:48 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:48 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:47:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:47:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:47:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:47:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:47:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:47:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:47:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:47:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:47:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:47:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:47:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:47:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:47:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:47:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:47:48 UTC] 📊 Database Info:
[22-Nov-2025 13:47:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:47:48 UTC]    Books columns count: 44
[22-Nov-2025 13:47:48 UTC]    Categories columns count: 7
[22-Nov-2025 13:47:48 UTC]    Language field in books: YES
[22-Nov-2025 13:47:48 UTC]    Format field in books: YES
[22-Nov-2025 13:47:48 UTC]    Description field in categories: YES
[22-Nov-2025 13:47:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:47:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:47:48 UTC]    Is_active field in books: YES
[22-Nov-2025 13:47:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:47:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:47:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:47:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:47:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:47:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:47:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:48:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:48:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:48:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:48:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:48:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:48:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:48:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:48:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:48:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:48:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:48:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:48:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:48:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:48:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:48:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:48:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:48:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:48:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:48:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:48:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:48:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:48:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:48:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:48:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:48:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:48:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:48:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:48:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:48:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:48:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:48:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:48:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:48:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:48:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:48:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:48:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:48:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:48:48 UTC] 📊 Database Info:
[22-Nov-2025 13:48:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:48:48 UTC]    Books columns count: 44
[22-Nov-2025 13:48:48 UTC]    Categories columns count: 7
[22-Nov-2025 13:48:48 UTC]    Language field in books: YES
[22-Nov-2025 13:48:48 UTC]    Format field in books: YES
[22-Nov-2025 13:48:48 UTC]    Description field in categories: YES
[22-Nov-2025 13:48:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:48:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:48:48 UTC]    Is_active field in books: YES
[22-Nov-2025 13:48:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:48:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:48:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:48:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:48:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:48:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:48:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:48:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:48:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:48:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:48:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:48:48 UTC] 📊 Database Info:
[22-Nov-2025 13:48:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:48:48 UTC]    Books columns count: 44
[22-Nov-2025 13:48:48 UTC]    Categories columns count: 7
[22-Nov-2025 13:48:48 UTC]    Language field in books: YES
[22-Nov-2025 13:48:48 UTC]    Format field in books: YES
[22-Nov-2025 13:48:48 UTC]    Description field in categories: YES
[22-Nov-2025 13:48:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:48:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:48:48 UTC]    Is_active field in books: YES
[22-Nov-2025 13:48:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:48:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:48:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:48:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:48:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:48:48 UTC] 📊 Database Info:
[22-Nov-2025 13:48:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:48:48 UTC]    Books columns count: 44
[22-Nov-2025 13:48:48 UTC]    Categories columns count: 7
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:48:48 UTC]    Language field in books: YES
[22-Nov-2025 13:48:48 UTC]    Format field in books: YES
[22-Nov-2025 13:48:48 UTC]    Description field in categories: YES
[22-Nov-2025 13:48:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:48:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:48:48 UTC]    Is_active field in books: YES
[22-Nov-2025 13:48:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:48:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:48:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:48:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:48:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:48:48 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:48:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:48:48 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:48:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:48:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:48:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:48:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:48:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:48:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:48:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:48:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:48:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:48:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:48:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:48:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:48:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:48:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:48:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:48:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:48:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:48:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:48:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:48:48 UTC] 📊 Database Info:
[22-Nov-2025 13:48:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:48:48 UTC]    Books columns count: 44
[22-Nov-2025 13:48:48 UTC]    Categories columns count: 7
[22-Nov-2025 13:48:48 UTC]    Language field in books: YES
[22-Nov-2025 13:48:48 UTC]    Format field in books: YES
[22-Nov-2025 13:48:48 UTC]    Description field in categories: YES
[22-Nov-2025 13:48:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:48:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:48:48 UTC]    Is_active field in books: YES
[22-Nov-2025 13:48:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:48:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:48:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:48:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:48:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:48:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:48:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:48:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:48:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:48:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:48:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:48:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:48:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:48:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:48:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:48:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:48:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:48:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:48:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:48:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:48:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:48:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:48:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:48:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:48:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:48:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:48:48 UTC] 📊 Database Info:
[22-Nov-2025 13:48:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:48:48 UTC]    Books columns count: 44
[22-Nov-2025 13:48:48 UTC]    Categories columns count: 7
[22-Nov-2025 13:48:48 UTC]    Language field in books: YES
[22-Nov-2025 13:48:48 UTC]    Format field in books: YES
[22-Nov-2025 13:48:48 UTC]    Description field in categories: YES
[22-Nov-2025 13:48:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:48:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:48:48 UTC]    Is_active field in books: YES
[22-Nov-2025 13:48:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:48:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:48:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:48:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:48:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:48:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:48:48 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:48:48 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:48:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:48:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:48:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:48:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:48:48 UTC] 📊 Database Info:
[22-Nov-2025 13:48:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:48:48 UTC]    Books columns count: 44
[22-Nov-2025 13:48:48 UTC]    Categories columns count: 7
[22-Nov-2025 13:48:48 UTC]    Language field in books: YES
[22-Nov-2025 13:48:48 UTC]    Format field in books: YES
[22-Nov-2025 13:48:48 UTC]    Description field in categories: YES
[22-Nov-2025 13:48:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:48:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:48:48 UTC]    Is_active field in books: YES
[22-Nov-2025 13:48:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:48:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:48:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:48:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:48:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:48:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:48:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:48:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:48:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:48:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:48:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:48:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:48:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:48:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:48:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:48:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:48:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:48:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:48:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:48:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:48:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:48:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:48:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:48:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:48:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:48:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:48:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:48:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:48:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:48:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:48:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:48:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:48:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:48:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:48:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:48:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:48:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:48:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:48:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:48:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:48:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:48:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:48:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:48:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:48:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:48:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:48:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:48:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:48:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:48:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:48:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:48:50 UTC] 📊 Database Info:
[22-Nov-2025 13:48:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:48:50 UTC]    Books columns count: 44
[22-Nov-2025 13:48:50 UTC]    Categories columns count: 7
[22-Nov-2025 13:48:50 UTC]    Language field in books: YES
[22-Nov-2025 13:48:50 UTC]    Format field in books: YES
[22-Nov-2025 13:48:50 UTC]    Description field in categories: YES
[22-Nov-2025 13:48:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:48:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:48:50 UTC]    Is_active field in books: YES
[22-Nov-2025 13:48:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:48:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:48:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:48:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:48:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:48:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:48:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:48:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:48:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:48:50 UTC] 📊 Database Info:
[22-Nov-2025 13:48:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:48:50 UTC]    Books columns count: 44
[22-Nov-2025 13:48:50 UTC]    Categories columns count: 7
[22-Nov-2025 13:48:50 UTC]    Language field in books: YES
[22-Nov-2025 13:48:50 UTC]    Format field in books: YES
[22-Nov-2025 13:48:50 UTC]    Description field in categories: YES
[22-Nov-2025 13:48:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:48:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:48:50 UTC]    Is_active field in books: YES
[22-Nov-2025 13:48:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:48:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:48:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:48:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:48:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:48:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:48:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:48:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:48:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:48:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:48:50 UTC] 📊 Database Info:
[22-Nov-2025 13:48:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:48:50 UTC]    Books columns count: 44
[22-Nov-2025 13:48:50 UTC]    Categories columns count: 7
[22-Nov-2025 13:48:50 UTC]    Language field in books: YES
[22-Nov-2025 13:48:50 UTC]    Format field in books: YES
[22-Nov-2025 13:48:50 UTC]    Description field in categories: YES
[22-Nov-2025 13:48:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:48:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:48:50 UTC]    Is_active field in books: YES
[22-Nov-2025 13:48:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:48:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:48:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:48:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:48:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:48:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:48:50 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:48:50 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:49:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:49:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:49:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:49:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:49:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:49:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:49:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:49:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:49:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:49:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:49:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:49:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:49:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:49:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:49:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:49:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:49:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:49:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:49:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:49:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:49:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:49:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:49:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:49:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:49:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:49:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:49:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:49:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:49:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:49:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:49:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:49:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:49:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:49:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:49:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:49:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:49:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:49:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:49:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:49:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:49:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:49:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:49:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:49:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:49:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:49:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:49:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:49:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:49:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:49:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:49:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:49:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:49:08 UTC] 📊 Database Info:
[22-Nov-2025 13:49:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:49:08 UTC]    Books columns count: 44
[22-Nov-2025 13:49:08 UTC]    Categories columns count: 7
[22-Nov-2025 13:49:08 UTC]    Language field in books: YES
[22-Nov-2025 13:49:08 UTC]    Format field in books: YES
[22-Nov-2025 13:49:08 UTC]    Description field in categories: YES
[22-Nov-2025 13:49:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:49:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:49:08 UTC]    Is_active field in books: YES
[22-Nov-2025 13:49:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:49:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:49:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:49:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:49:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:49:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:49:08 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:49:08 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:49:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:49:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:49:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:49:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:49:08 UTC] 📊 Database Info:
[22-Nov-2025 13:49:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:49:08 UTC]    Books columns count: 44
[22-Nov-2025 13:49:08 UTC]    Categories columns count: 7
[22-Nov-2025 13:49:08 UTC]    Language field in books: YES
[22-Nov-2025 13:49:08 UTC]    Format field in books: YES
[22-Nov-2025 13:49:08 UTC]    Description field in categories: YES
[22-Nov-2025 13:49:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:49:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:49:08 UTC]    Is_active field in books: YES
[22-Nov-2025 13:49:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:49:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:49:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:49:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:49:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:49:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:49:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:49:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:49:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:49:08 UTC] 📊 Database Info:
[22-Nov-2025 13:49:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:49:08 UTC]    Books columns count: 44
[22-Nov-2025 13:49:08 UTC]    Categories columns count: 7
[22-Nov-2025 13:49:08 UTC]    Language field in books: YES
[22-Nov-2025 13:49:08 UTC]    Format field in books: YES
[22-Nov-2025 13:49:08 UTC]    Description field in categories: YES
[22-Nov-2025 13:49:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:49:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:49:08 UTC]    Is_active field in books: YES
[22-Nov-2025 13:49:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:49:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:49:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:49:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:49:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:49:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:49:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:49:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:49:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:49:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:49:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:49:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:49:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:49:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:49:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:49:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:49:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:49:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:49:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:49:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:49:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:49:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:49:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:49:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:49:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:49:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:49:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:49:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:49:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:49:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:49:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:49:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:49:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:49:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:49:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:49:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:49:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:49:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:49:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:49:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:49:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:49:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:49:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:49:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:49:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:49:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:49:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:49:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:49:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:49:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:49:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:49:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:49:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:49:09 UTC] 📊 Database Info:
[22-Nov-2025 13:49:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:49:09 UTC]    Books columns count: 44
[22-Nov-2025 13:49:09 UTC]    Categories columns count: 7
[22-Nov-2025 13:49:09 UTC]    Language field in books: YES
[22-Nov-2025 13:49:09 UTC]    Format field in books: YES
[22-Nov-2025 13:49:09 UTC]    Description field in categories: YES
[22-Nov-2025 13:49:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:49:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:49:09 UTC]    Is_active field in books: YES
[22-Nov-2025 13:49:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:49:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:49:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:49:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:49:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:49:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:49:09 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:49:09 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:49:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:49:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:49:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:49:09 UTC] 📊 Database Info:
[22-Nov-2025 13:49:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:49:09 UTC]    Books columns count: 44
[22-Nov-2025 13:49:09 UTC]    Categories columns count: 7
[22-Nov-2025 13:49:09 UTC]    Language field in books: YES
[22-Nov-2025 13:49:09 UTC]    Format field in books: YES
[22-Nov-2025 13:49:09 UTC]    Description field in categories: YES
[22-Nov-2025 13:49:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:49:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:49:09 UTC]    Is_active field in books: YES
[22-Nov-2025 13:49:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:49:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:49:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:49:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:49:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:49:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:49:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:49:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:49:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:49:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:49:09 UTC] 📊 Database Info:
[22-Nov-2025 13:49:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:49:09 UTC]    Books columns count: 44
[22-Nov-2025 13:49:09 UTC]    Categories columns count: 7
[22-Nov-2025 13:49:09 UTC]    Language field in books: YES
[22-Nov-2025 13:49:09 UTC]    Format field in books: YES
[22-Nov-2025 13:49:09 UTC]    Description field in categories: YES
[22-Nov-2025 13:49:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:49:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:49:09 UTC]    Is_active field in books: YES
[22-Nov-2025 13:49:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:49:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:49:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:49:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:49:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:49:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:52:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:52:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:52:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:52:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:52:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:52:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:52:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:52:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:52:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:52:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:52:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:52:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:52:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:52:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:52:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:52:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:52:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:52:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:52:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:52:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:52:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:52:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:52:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:52:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:52:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:52:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:52:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:52:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:52:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:52:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:52:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:52:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:52:25 UTC] 📊 Database Info:
[22-Nov-2025 13:52:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:52:25 UTC]    Books columns count: 44
[22-Nov-2025 13:52:25 UTC]    Categories columns count: 7
[22-Nov-2025 13:52:25 UTC]    Language field in books: YES
[22-Nov-2025 13:52:25 UTC]    Format field in books: YES
[22-Nov-2025 13:52:25 UTC]    Description field in categories: YES
[22-Nov-2025 13:52:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:52:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:52:25 UTC]    Is_active field in books: YES
[22-Nov-2025 13:52:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:52:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:52:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:52:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:52:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:52:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:52:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:52:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:52:25 UTC] 📊 Database Info:
[22-Nov-2025 13:52:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:52:25 UTC]    Books columns count: 44
[22-Nov-2025 13:52:25 UTC]    Categories columns count: 7
[22-Nov-2025 13:52:25 UTC]    Language field in books: YES
[22-Nov-2025 13:52:25 UTC]    Format field in books: YES
[22-Nov-2025 13:52:25 UTC]    Description field in categories: YES
[22-Nov-2025 13:52:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:52:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:52:25 UTC]    Is_active field in books: YES
[22-Nov-2025 13:52:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:52:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:52:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:52:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:52:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:52:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:52:25 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:52:25 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:52:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:52:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:52:25 UTC] 📊 Database Info:
[22-Nov-2025 13:52:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:52:25 UTC]    Books columns count: 44
[22-Nov-2025 13:52:25 UTC]    Categories columns count: 7
[22-Nov-2025 13:52:25 UTC]    Language field in books: YES
[22-Nov-2025 13:52:25 UTC]    Format field in books: YES
[22-Nov-2025 13:52:25 UTC]    Description field in categories: YES
[22-Nov-2025 13:52:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:52:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:52:25 UTC]    Is_active field in books: YES
[22-Nov-2025 13:52:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:52:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:52:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:52:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:52:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:52:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:52:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:52:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:52:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:52:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:52:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:52:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:52:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:52:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:52:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:52:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:52:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:52:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:52:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:52:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:52:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:52:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:52:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:52:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:52:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:52:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:52:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:52:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:52:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:52:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:52:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:52:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:52:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:52:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:52:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:52:25 UTC] 📊 Database Info:
[22-Nov-2025 13:52:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:52:25 UTC]    Books columns count: 44
[22-Nov-2025 13:52:25 UTC]    Categories columns count: 7
[22-Nov-2025 13:52:25 UTC]    Language field in books: YES
[22-Nov-2025 13:52:25 UTC]    Format field in books: YES
[22-Nov-2025 13:52:25 UTC]    Description field in categories: YES
[22-Nov-2025 13:52:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:52:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:52:25 UTC]    Is_active field in books: YES
[22-Nov-2025 13:52:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:52:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:52:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:52:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:52:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:52:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:52:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:52:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:52:25 UTC] 📊 Database Info:
[22-Nov-2025 13:52:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:52:25 UTC]    Books columns count: 44
[22-Nov-2025 13:52:25 UTC]    Categories columns count: 7
[22-Nov-2025 13:52:25 UTC]    Language field in books: YES
[22-Nov-2025 13:52:25 UTC]    Format field in books: YES
[22-Nov-2025 13:52:25 UTC]    Description field in categories: YES
[22-Nov-2025 13:52:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:52:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:52:25 UTC]    Is_active field in books: YES
[22-Nov-2025 13:52:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:52:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:52:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:52:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:52:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:52:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:52:25 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:52:25 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:52:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:52:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:52:25 UTC] 📊 Database Info:
[22-Nov-2025 13:52:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:52:25 UTC]    Books columns count: 44
[22-Nov-2025 13:52:25 UTC]    Categories columns count: 7
[22-Nov-2025 13:52:25 UTC]    Language field in books: YES
[22-Nov-2025 13:52:25 UTC]    Format field in books: YES
[22-Nov-2025 13:52:25 UTC]    Description field in categories: YES
[22-Nov-2025 13:52:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:52:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:52:25 UTC]    Is_active field in books: YES
[22-Nov-2025 13:52:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:52:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:52:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:52:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:52:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:52:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:52:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:52:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:52:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:52:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:52:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:52:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:52:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:52:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:52:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:52:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:52:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:52:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:52:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:52:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:52:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:52:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:52:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:52:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:52:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:52:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:52:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:52:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:52:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:52:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:52:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:52:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:52:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:52:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:52:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:52:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:52:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:52:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:52:31 UTC] 📊 Database Info:
[22-Nov-2025 13:52:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:52:31 UTC]    Books columns count: 44
[22-Nov-2025 13:52:31 UTC]    Categories columns count: 7
[22-Nov-2025 13:52:31 UTC]    Language field in books: YES
[22-Nov-2025 13:52:31 UTC]    Format field in books: YES
[22-Nov-2025 13:52:31 UTC]    Description field in categories: YES
[22-Nov-2025 13:52:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:52:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:52:31 UTC]    Is_active field in books: YES
[22-Nov-2025 13:52:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:52:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:52:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:52:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:52:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:52:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:52:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:52:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:52:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:52:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:52:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:52:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:52:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:52:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:52:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:52:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:52:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:52:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:52:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:52:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:52:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:52:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:52:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:52:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:52:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:52:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:52:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:52:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:52:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:52:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:52:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:52:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:52:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:52:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:52:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:52:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:52:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:52:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:52:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:52:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:52:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:52:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:52:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:52:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:52:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:52:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:52:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:52:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:52:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:52:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:52:32 UTC] 📊 Database Info:
[22-Nov-2025 13:52:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:52:32 UTC]    Books columns count: 44
[22-Nov-2025 13:52:32 UTC]    Categories columns count: 7
[22-Nov-2025 13:52:32 UTC]    Language field in books: YES
[22-Nov-2025 13:52:32 UTC]    Format field in books: YES
[22-Nov-2025 13:52:32 UTC]    Description field in categories: YES
[22-Nov-2025 13:52:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:52:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:52:32 UTC]    Is_active field in books: YES
[22-Nov-2025 13:52:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:52:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:52:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:52:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:52:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:52:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:52:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:52:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:52:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:52:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:52:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:52:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:52:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:52:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:52:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:52:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:52:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:52:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:57:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:57:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:57:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:57:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:57:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:57:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:57:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:57:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:57:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:57:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:57:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:57:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:57:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:57:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:57:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:57:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:57:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:57:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:57:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:57:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:57:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:57:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:57:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:57:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:57:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:57:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:57:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:57:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:57:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:57:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:57:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:57:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:57:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:57:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:57:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:57:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:57:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:57:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:57:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:57:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:57:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:57:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:57:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:57:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:57:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:57:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:57:25 UTC] 📊 Database Info:
[22-Nov-2025 13:57:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:57:25 UTC]    Books columns count: 44
[22-Nov-2025 13:57:25 UTC]    Categories columns count: 7
[22-Nov-2025 13:57:25 UTC]    Language field in books: YES
[22-Nov-2025 13:57:25 UTC]    Format field in books: YES
[22-Nov-2025 13:57:25 UTC]    Description field in categories: YES
[22-Nov-2025 13:57:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:57:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:57:25 UTC]    Is_active field in books: YES
[22-Nov-2025 13:57:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:57:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:57:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:57:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:57:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:57:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:57:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:57:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:57:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:57:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:57:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:57:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:57:25 UTC] 📊 Database Info:
[22-Nov-2025 13:57:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:57:25 UTC]    Books columns count: 44
[22-Nov-2025 13:57:25 UTC]    Categories columns count: 7
[22-Nov-2025 13:57:25 UTC]    Language field in books: YES
[22-Nov-2025 13:57:25 UTC]    Format field in books: YES
[22-Nov-2025 13:57:25 UTC]    Description field in categories: YES
[22-Nov-2025 13:57:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:57:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:57:25 UTC]    Is_active field in books: YES
[22-Nov-2025 13:57:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:57:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:57:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:57:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:57:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:57:25 UTC] 📊 Database Info:
[22-Nov-2025 13:57:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:57:25 UTC]    Books columns count: 44
[22-Nov-2025 13:57:25 UTC]    Categories columns count: 7
[22-Nov-2025 13:57:25 UTC]    Language field in books: YES
[22-Nov-2025 13:57:25 UTC]    Format field in books: YES
[22-Nov-2025 13:57:25 UTC]    Description field in categories: YES
[22-Nov-2025 13:57:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:57:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:57:25 UTC]    Is_active field in books: YES
[22-Nov-2025 13:57:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:57:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:57:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:57:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:57:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:57:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:57:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:57:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:57:25 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 13:57:25 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 13:57:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:57:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:57:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:57:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:57:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:57:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:57:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:57:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:57:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:57:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:57:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:57:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:57:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:57:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:57:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:57:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:57:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:57:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:57:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:57:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:57:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:57:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:57:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:57:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:57:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:57:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:57:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:57:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:57:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:57:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:57:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:57:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:57:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:57:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:57:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:57:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:57:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:57:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:57:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:57:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:57:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:57:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:57:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:57:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:57:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:57:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:57:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:57:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:57:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:57:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:57:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:57:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:57:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:57:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:57:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:57:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:57:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:57:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:57:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:57:58 UTC] 📊 Database Info:
[22-Nov-2025 13:57:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:57:58 UTC]    Books columns count: 44
[22-Nov-2025 13:57:58 UTC]    Categories columns count: 7
[22-Nov-2025 13:57:58 UTC]    Language field in books: YES
[22-Nov-2025 13:57:58 UTC]    Format field in books: YES
[22-Nov-2025 13:57:58 UTC]    Description field in categories: YES
[22-Nov-2025 13:57:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:57:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:57:58 UTC]    Is_active field in books: YES
[22-Nov-2025 13:57:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:57:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:57:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:57:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:57:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:57:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:57:58 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 13:57:58 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 13:57:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:57:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:57:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:57:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:57:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:57:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:57:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:57:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:57:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:57:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:57:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:57:58 UTC] 📊 Database Info:
[22-Nov-2025 13:57:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:57:58 UTC]    Books columns count: 44
[22-Nov-2025 13:57:58 UTC]    Categories columns count: 7
[22-Nov-2025 13:57:58 UTC]    Language field in books: YES
[22-Nov-2025 13:57:58 UTC]    Format field in books: YES
[22-Nov-2025 13:57:58 UTC]    Description field in categories: YES
[22-Nov-2025 13:57:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:57:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:57:58 UTC]    Is_active field in books: YES
[22-Nov-2025 13:57:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:57:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:57:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:57:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:57:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:57:58 UTC] 📊 Database Info:
[22-Nov-2025 13:57:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:57:58 UTC]    Books columns count: 44
[22-Nov-2025 13:57:58 UTC]    Categories columns count: 7
[22-Nov-2025 13:57:58 UTC]    Language field in books: YES
[22-Nov-2025 13:57:58 UTC]    Format field in books: YES
[22-Nov-2025 13:57:58 UTC]    Description field in categories: YES
[22-Nov-2025 13:57:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:57:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:57:58 UTC]    Is_active field in books: YES
[22-Nov-2025 13:57:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:57:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:57:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:57:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:57:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:57:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:57:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 13:57:58 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:57:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:57:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:57:58 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 13:58:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:58:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:58:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:58:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:58:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:58:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:58:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:58:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:58:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:58:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:58:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:58:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:58:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:58:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:58:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:58:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:58:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:58:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:58:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:58:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:58:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:58:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:58:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:58:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:58:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:58:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:58:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:58:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:58:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:58:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:58:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:58:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:58:00 UTC] 📊 Database Info:
[22-Nov-2025 13:58:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:58:00 UTC]    Books columns count: 44
[22-Nov-2025 13:58:00 UTC]    Categories columns count: 7
[22-Nov-2025 13:58:00 UTC]    Language field in books: YES
[22-Nov-2025 13:58:00 UTC]    Format field in books: YES
[22-Nov-2025 13:58:00 UTC]    Description field in categories: YES
[22-Nov-2025 13:58:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:58:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:58:00 UTC]    Is_active field in books: YES
[22-Nov-2025 13:58:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:58:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:58:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:58:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:58:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:58:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:58:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:58:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:58:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:58:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:58:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:58:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:58:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:58:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:58:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:58:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:58:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:58:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:58:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:58:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:58:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:58:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:58:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:58:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:58:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:58:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:58:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:58:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:58:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:58:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:58:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:58:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:58:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:58:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:58:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:58:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:58:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:58:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:58:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:58:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:58:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:58:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:58:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:58:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:58:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:58:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:58:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:58:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:58:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:58:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:58:07 UTC] 📊 Database Info:
[22-Nov-2025 13:58:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:58:07 UTC]    Books columns count: 44
[22-Nov-2025 13:58:07 UTC]    Categories columns count: 7
[22-Nov-2025 13:58:07 UTC]    Language field in books: YES
[22-Nov-2025 13:58:07 UTC]    Format field in books: YES
[22-Nov-2025 13:58:07 UTC]    Description field in categories: YES
[22-Nov-2025 13:58:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:58:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:58:07 UTC]    Is_active field in books: YES
[22-Nov-2025 13:58:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:58:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:58:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:58:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:58:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:58:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:58:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:58:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:58:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:58:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:58:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:58:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:58:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:58:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:58:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:58:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:58:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:58:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 13:58:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 13:58:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:58:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:58:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:58:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:58:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:58:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:58:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:58:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:58:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:58:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:58:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:58:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:58:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 13:58:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:58:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 13:58:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 13:58:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 13:58:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 13:58:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 13:58:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 13:58:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 13:58:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 13:58:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 13:58:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 13:58:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 13:58:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 13:58:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 13:58:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 13:58:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 13:58:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 13:58:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 13:58:08 UTC] 📊 Database Info:
[22-Nov-2025 13:58:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 13:58:08 UTC]    Books columns count: 44
[22-Nov-2025 13:58:08 UTC]    Categories columns count: 7
[22-Nov-2025 13:58:08 UTC]    Language field in books: YES
[22-Nov-2025 13:58:08 UTC]    Format field in books: YES
[22-Nov-2025 13:58:08 UTC]    Description field in categories: YES
[22-Nov-2025 13:58:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 13:58:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 13:58:08 UTC]    Is_active field in books: YES
[22-Nov-2025 13:58:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 13:58:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 13:58:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 13:58:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 13:58:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 13:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 13:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 13:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 13:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 13:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 13:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 13:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 13:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 13:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 13:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 13:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 13:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 13:58:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:14:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:14:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:14:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:14:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:14:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:14:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:14:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:14:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:14:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:14:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:14:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:14:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:14:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:14:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:14:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:14:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:14:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:14:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:14:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:14:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:14:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:14:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:14:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:14:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:14:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:14:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:14:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:14:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:14:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:14:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:14:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:14:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:14:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:14:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:14:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:14:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:14:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:14:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:14:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:14:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:14:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:14:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:14:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:14:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:14:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:14:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:14:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:14:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:14:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:14:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:14:03 UTC] 📊 Database Info:
[22-Nov-2025 14:14:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:14:03 UTC]    Books columns count: 44
[22-Nov-2025 14:14:03 UTC]    Categories columns count: 7
[22-Nov-2025 14:14:03 UTC]    Language field in books: YES
[22-Nov-2025 14:14:03 UTC]    Format field in books: YES
[22-Nov-2025 14:14:03 UTC]    Description field in categories: YES
[22-Nov-2025 14:14:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:14:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:14:03 UTC]    Is_active field in books: YES
[22-Nov-2025 14:14:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:14:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:14:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:14:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:14:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:14:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:14:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:14:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:14:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:14:03 UTC] 📊 Database Info:
[22-Nov-2025 14:14:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:14:03 UTC]    Books columns count: 44
[22-Nov-2025 14:14:03 UTC]    Categories columns count: 7
[22-Nov-2025 14:14:03 UTC]    Language field in books: YES
[22-Nov-2025 14:14:03 UTC]    Format field in books: YES
[22-Nov-2025 14:14:03 UTC]    Description field in categories: YES
[22-Nov-2025 14:14:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:14:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:14:03 UTC]    Is_active field in books: YES
[22-Nov-2025 14:14:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:14:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:14:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:14:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:14:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:14:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:14:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:14:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:14:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:14:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:14:03 UTC] 📊 Database Info:
[22-Nov-2025 14:14:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:14:03 UTC]    Books columns count: 44
[22-Nov-2025 14:14:03 UTC]    Categories columns count: 7
[22-Nov-2025 14:14:03 UTC]    Language field in books: YES
[22-Nov-2025 14:14:03 UTC]    Format field in books: YES
[22-Nov-2025 14:14:03 UTC]    Description field in categories: YES
[22-Nov-2025 14:14:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:14:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:14:03 UTC]    Is_active field in books: YES
[22-Nov-2025 14:14:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:14:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:14:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:14:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:14:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:14:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:14:03 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 14:14:03 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 14:14:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:14:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:14:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:14:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:14:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:14:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:14:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:14:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:14:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:14:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:14:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:14:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:14:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:14:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:14:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:14:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:14:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:14:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:14:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:14:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:14:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:14:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:14:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:14:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:14:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:14:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:14:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:14:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:14:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:14:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:14:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:14:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:14:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:14:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:14:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:14:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:14:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:14:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:14:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:14:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:14:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:14:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:14:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:14:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:14:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:14:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:14:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:14:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:14:25 UTC] 📊 Database Info:
[22-Nov-2025 14:14:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:14:25 UTC]    Books columns count: 44
[22-Nov-2025 14:14:25 UTC]    Categories columns count: 7
[22-Nov-2025 14:14:25 UTC]    Language field in books: YES
[22-Nov-2025 14:14:25 UTC]    Format field in books: YES
[22-Nov-2025 14:14:25 UTC]    Description field in categories: YES
[22-Nov-2025 14:14:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:14:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:14:25 UTC]    Is_active field in books: YES
[22-Nov-2025 14:14:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:14:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:14:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:14:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:14:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:14:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:14:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:14:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:14:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:14:25 UTC] 📊 Database Info:
[22-Nov-2025 14:14:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:14:25 UTC]    Books columns count: 44
[22-Nov-2025 14:14:25 UTC]    Categories columns count: 7
[22-Nov-2025 14:14:25 UTC]    Language field in books: YES
[22-Nov-2025 14:14:25 UTC]    Format field in books: YES
[22-Nov-2025 14:14:25 UTC]    Description field in categories: YES
[22-Nov-2025 14:14:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:14:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:14:25 UTC]    Is_active field in books: YES
[22-Nov-2025 14:14:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:14:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:14:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:14:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:14:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:14:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:14:25 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 14:14:25 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 14:14:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:14:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:14:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:14:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:14:25 UTC] 📊 Database Info:
[22-Nov-2025 14:14:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:14:25 UTC]    Books columns count: 44
[22-Nov-2025 14:14:25 UTC]    Categories columns count: 7
[22-Nov-2025 14:14:25 UTC]    Language field in books: YES
[22-Nov-2025 14:14:25 UTC]    Format field in books: YES
[22-Nov-2025 14:14:25 UTC]    Description field in categories: YES
[22-Nov-2025 14:14:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:14:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:14:25 UTC]    Is_active field in books: YES
[22-Nov-2025 14:14:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:14:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:14:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:14:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:14:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:14:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:15:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:15:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:15:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:15:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:15:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:15:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:15:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:15:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:15:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:15:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:15:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:15:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:15:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:15:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:15:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:15:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:15:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:15:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:15:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:15:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:15:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:15:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:15:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:15:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:15:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:15:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:15:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:15:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:15:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:15:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:15:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:15:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:15:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:15:27 UTC] 📊 Database Info:
[22-Nov-2025 14:15:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:15:27 UTC]    Books columns count: 44
[22-Nov-2025 14:15:27 UTC]    Categories columns count: 7
[22-Nov-2025 14:15:27 UTC]    Language field in books: YES
[22-Nov-2025 14:15:27 UTC]    Format field in books: YES
[22-Nov-2025 14:15:27 UTC]    Description field in categories: YES
[22-Nov-2025 14:15:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:15:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:15:27 UTC]    Is_active field in books: YES
[22-Nov-2025 14:15:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:15:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:15:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:15:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:15:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:15:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:15:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:15:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:15:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:15:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:15:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:15:27 UTC] 📊 Database Info:
[22-Nov-2025 14:15:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:15:27 UTC]    Books columns count: 44
[22-Nov-2025 14:15:27 UTC]    Categories columns count: 7
[22-Nov-2025 14:15:27 UTC]    Language field in books: YES
[22-Nov-2025 14:15:27 UTC]    Format field in books: YES
[22-Nov-2025 14:15:27 UTC]    Description field in categories: YES
[22-Nov-2025 14:15:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:15:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:15:27 UTC]    Is_active field in books: YES
[22-Nov-2025 14:15:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:15:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:15:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:15:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:15:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:15:27 UTC] 📊 Database Info:
[22-Nov-2025 14:15:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:15:27 UTC]    Books columns count: 44
[22-Nov-2025 14:15:27 UTC]    Categories columns count: 7
[22-Nov-2025 14:15:27 UTC]    Language field in books: YES
[22-Nov-2025 14:15:27 UTC]    Format field in books: YES
[22-Nov-2025 14:15:27 UTC]    Description field in categories: YES
[22-Nov-2025 14:15:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:15:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:15:27 UTC]    Is_active field in books: YES
[22-Nov-2025 14:15:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:15:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:15:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:15:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:15:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:15:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:15:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:15:27 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 14:15:27 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 14:15:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:15:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:15:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:15:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:15:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:15:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:15:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:15:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:15:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:15:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:15:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:15:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:15:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:15:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:15:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:15:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:15:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:15:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:15:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:15:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:15:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:15:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:15:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:15:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:15:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:15:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:15:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:15:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:15:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:15:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:15:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:15:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:15:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:15:27 UTC] 📊 Database Info:
[22-Nov-2025 14:15:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:15:27 UTC]    Books columns count: 44
[22-Nov-2025 14:15:27 UTC]    Categories columns count: 7
[22-Nov-2025 14:15:27 UTC]    Language field in books: YES
[22-Nov-2025 14:15:27 UTC]    Format field in books: YES
[22-Nov-2025 14:15:27 UTC]    Description field in categories: YES
[22-Nov-2025 14:15:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:15:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:15:27 UTC]    Is_active field in books: YES
[22-Nov-2025 14:15:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:15:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:15:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:15:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:15:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:15:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:15:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:15:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:15:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:15:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:15:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:15:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:15:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:15:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:15:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:15:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:15:28 UTC] 📊 Database Info:
[22-Nov-2025 14:15:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:15:28 UTC]    Books columns count: 44
[22-Nov-2025 14:15:28 UTC]    Categories columns count: 7
[22-Nov-2025 14:15:28 UTC]    Language field in books: YES
[22-Nov-2025 14:15:28 UTC]    Format field in books: YES
[22-Nov-2025 14:15:28 UTC]    Description field in categories: YES
[22-Nov-2025 14:15:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:15:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:15:28 UTC]    Is_active field in books: YES
[22-Nov-2025 14:15:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:15:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:15:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:15:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:15:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:15:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:15:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:15:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:15:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:15:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:15:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:15:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:15:28 UTC] 📊 Database Info:
[22-Nov-2025 14:15:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:15:28 UTC]    Books columns count: 44
[22-Nov-2025 14:15:28 UTC]    Categories columns count: 7
[22-Nov-2025 14:15:28 UTC]    Language field in books: YES
[22-Nov-2025 14:15:28 UTC]    Format field in books: YES
[22-Nov-2025 14:15:28 UTC]    Description field in categories: YES
[22-Nov-2025 14:15:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:15:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:15:28 UTC]    Is_active field in books: YES
[22-Nov-2025 14:15:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:15:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:15:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:15:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:15:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:15:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:15:28 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 14:15:28 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 14:16:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:16:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:16:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:16:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:16:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:16:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:16:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:16:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:16:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:16:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:16:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:16:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:16:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:16:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:16:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:16:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:16:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:16:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:16:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:16:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:16:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:16:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:16:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:16:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:16:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:16:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:16:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:16:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:16:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:16:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:16:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:16:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:16:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:16:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:16:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:16:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:16:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:16:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:16:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:16:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:16:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:16:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:16:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:16:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:16:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:16:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:16:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:16:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:16:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:16:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:16:21 UTC] 📊 Database Info:
[22-Nov-2025 14:16:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:16:21 UTC]    Books columns count: 44
[22-Nov-2025 14:16:21 UTC]    Categories columns count: 7
[22-Nov-2025 14:16:21 UTC]    Language field in books: YES
[22-Nov-2025 14:16:21 UTC]    Format field in books: YES
[22-Nov-2025 14:16:21 UTC]    Description field in categories: YES
[22-Nov-2025 14:16:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:16:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:16:21 UTC]    Is_active field in books: YES
[22-Nov-2025 14:16:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:16:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:16:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:16:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:16:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:16:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:16:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:16:21 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 14:16:21 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 14:16:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:16:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:16:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:16:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:16:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:16:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:16:21 UTC] 📊 Database Info:
[22-Nov-2025 14:16:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:16:21 UTC]    Books columns count: 44
[22-Nov-2025 14:16:21 UTC]    Categories columns count: 7
[22-Nov-2025 14:16:21 UTC]    Language field in books: YES
[22-Nov-2025 14:16:21 UTC]    Format field in books: YES
[22-Nov-2025 14:16:21 UTC]    Description field in categories: YES
[22-Nov-2025 14:16:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:16:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:16:21 UTC]    Is_active field in books: YES
[22-Nov-2025 14:16:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:16:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:16:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:16:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:16:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:16:21 UTC] 📊 Database Info:
[22-Nov-2025 14:16:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:16:21 UTC]    Books columns count: 44
[22-Nov-2025 14:16:21 UTC]    Categories columns count: 7
[22-Nov-2025 14:16:21 UTC]    Language field in books: YES
[22-Nov-2025 14:16:21 UTC]    Format field in books: YES
[22-Nov-2025 14:16:21 UTC]    Description field in categories: YES
[22-Nov-2025 14:16:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:16:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:16:21 UTC]    Is_active field in books: YES
[22-Nov-2025 14:16:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:16:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:16:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:16:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:16:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:16:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:16:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:16:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:16:21 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 14:16:21 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 14:17:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:17:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:17:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:17:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:17:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:17:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:17:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:17:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:17:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:17:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:17:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:17:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:17:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:17:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:17:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:17:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:17:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:17:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:17:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:17:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:17:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:17:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:17:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:17:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:17:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:17:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:17:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:17:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:17:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:17:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:17:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:17:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:17:08 UTC] 📊 Database Info:
[22-Nov-2025 14:17:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:17:08 UTC]    Books columns count: 44
[22-Nov-2025 14:17:08 UTC]    Categories columns count: 7
[22-Nov-2025 14:17:08 UTC]    Language field in books: YES
[22-Nov-2025 14:17:08 UTC]    Format field in books: YES
[22-Nov-2025 14:17:08 UTC]    Description field in categories: YES
[22-Nov-2025 14:17:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:17:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:17:08 UTC]    Is_active field in books: YES
[22-Nov-2025 14:17:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:17:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:17:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:17:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:17:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:17:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:17:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:17:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:17:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:17:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:17:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:17:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:17:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:17:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:17:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:17:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:17:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:17:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:17:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:17:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:17:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:17:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:17:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:17:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:17:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:17:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:17:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:17:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:17:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:17:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:17:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:17:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:17:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:17:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:17:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:17:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:17:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:17:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:17:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:17:09 UTC] 📊 Database Info:
[22-Nov-2025 14:17:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:17:09 UTC]    Books columns count: 44
[22-Nov-2025 14:17:09 UTC]    Categories columns count: 7
[22-Nov-2025 14:17:09 UTC]    Language field in books: YES
[22-Nov-2025 14:17:09 UTC]    Format field in books: YES
[22-Nov-2025 14:17:09 UTC]    Description field in categories: YES
[22-Nov-2025 14:17:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:17:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:17:09 UTC]    Is_active field in books: YES
[22-Nov-2025 14:17:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:17:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:17:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:17:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:17:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:17:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:17:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:17:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:17:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:17:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:17:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:17:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:17:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:17:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:17:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:17:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:17:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:17:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:17:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:17:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:17:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:17:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:17:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:17:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:17:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:17:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:17:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:17:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:17:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:17:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:17:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:17:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:17:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:17:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:17:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:17:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:17:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:17:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:17:51 UTC] 📊 Database Info:
[22-Nov-2025 14:17:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:17:51 UTC]    Books columns count: 44
[22-Nov-2025 14:17:51 UTC]    Categories columns count: 7
[22-Nov-2025 14:17:51 UTC]    Language field in books: YES
[22-Nov-2025 14:17:51 UTC]    Format field in books: YES
[22-Nov-2025 14:17:51 UTC]    Description field in categories: YES
[22-Nov-2025 14:17:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:17:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:17:51 UTC]    Is_active field in books: YES
[22-Nov-2025 14:17:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:17:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:17:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:17:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:17:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:17:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:17:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:17:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:17:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:17:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:17:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:17:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:17:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:17:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:17:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:17:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:17:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:17:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:17:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:17:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:17:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:17:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:17:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:17:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:17:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:17:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:17:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:17:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:17:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:17:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:17:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:17:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:17:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:17:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:17:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:17:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:17:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:17:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:17:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:17:52 UTC] 📊 Database Info:
[22-Nov-2025 14:17:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:17:52 UTC]    Books columns count: 44
[22-Nov-2025 14:17:52 UTC]    Categories columns count: 7
[22-Nov-2025 14:17:52 UTC]    Language field in books: YES
[22-Nov-2025 14:17:52 UTC]    Format field in books: YES
[22-Nov-2025 14:17:52 UTC]    Description field in categories: YES
[22-Nov-2025 14:17:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:17:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:17:52 UTC]    Is_active field in books: YES
[22-Nov-2025 14:17:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:17:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:17:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:17:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:17:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:17:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:17:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:18:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:18:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:18:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:18:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:18:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:18:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:18:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:18:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:18:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:18:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:18:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:18:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:18:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:18:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:18:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:18:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:18:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:18:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:18:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:18:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:18:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:18:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:18:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:18:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:18:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:18:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:18:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:18:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:18:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:18:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:18:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:18:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:18:03 UTC] 📊 Database Info:
[22-Nov-2025 14:18:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:18:03 UTC]    Books columns count: 44
[22-Nov-2025 14:18:03 UTC]    Categories columns count: 7
[22-Nov-2025 14:18:03 UTC]    Language field in books: YES
[22-Nov-2025 14:18:03 UTC]    Format field in books: YES
[22-Nov-2025 14:18:03 UTC]    Description field in categories: YES
[22-Nov-2025 14:18:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:18:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:18:03 UTC]    Is_active field in books: YES
[22-Nov-2025 14:18:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:18:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:18:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:18:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:18:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:18:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:18:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:18:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:18:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:18:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:18:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:18:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:18:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:18:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:18:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:18:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:18:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:18:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:18:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:18:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:18:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:18:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:18:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:18:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:18:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:18:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:18:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:18:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:18:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:18:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:18:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:18:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:18:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:18:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:18:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:18:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:18:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:18:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:18:04 UTC] 📊 Database Info:
[22-Nov-2025 14:18:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:18:04 UTC]    Books columns count: 44
[22-Nov-2025 14:18:04 UTC]    Categories columns count: 7
[22-Nov-2025 14:18:04 UTC]    Language field in books: YES
[22-Nov-2025 14:18:04 UTC]    Format field in books: YES
[22-Nov-2025 14:18:04 UTC]    Description field in categories: YES
[22-Nov-2025 14:18:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:18:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:18:04 UTC]    Is_active field in books: YES
[22-Nov-2025 14:18:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:18:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:18:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:18:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:18:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:18:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:19:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:19:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:19:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:19:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:19:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:19:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:19:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:19:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:19:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:19:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:19:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:19:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:19:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:19:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:19:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:19:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:19:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:19:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:19:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:19:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:19:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:19:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:19:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:19:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:19:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:19:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:19:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:19:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:19:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:19:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:19:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:19:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:19:19 UTC] 📊 Database Info:
[22-Nov-2025 14:19:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:19:19 UTC]    Books columns count: 44
[22-Nov-2025 14:19:19 UTC]    Categories columns count: 7
[22-Nov-2025 14:19:19 UTC]    Language field in books: YES
[22-Nov-2025 14:19:19 UTC]    Format field in books: YES
[22-Nov-2025 14:19:19 UTC]    Description field in categories: YES
[22-Nov-2025 14:19:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:19:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:19:19 UTC]    Is_active field in books: YES
[22-Nov-2025 14:19:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:19:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:19:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:19:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:19:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:19:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:19:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:19:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:19:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:19:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:19:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:19:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:19:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:19:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:19:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:19:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:19:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:19:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:19:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:19:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:19:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:19:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:19:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:19:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:19:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:19:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:19:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:19:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:19:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:19:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:19:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:19:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:19:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:19:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:19:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:19:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:19:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:19:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:19:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:19:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:19:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:19:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:19:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:19:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:19:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:19:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:19:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:19:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:19:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:19:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:19:20 UTC] 📊 Database Info:
[22-Nov-2025 14:19:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:19:20 UTC]    Books columns count: 44
[22-Nov-2025 14:19:20 UTC]    Categories columns count: 7
[22-Nov-2025 14:19:20 UTC]    Language field in books: YES
[22-Nov-2025 14:19:20 UTC]    Format field in books: YES
[22-Nov-2025 14:19:20 UTC]    Description field in categories: YES
[22-Nov-2025 14:19:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:19:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:19:20 UTC]    Is_active field in books: YES
[22-Nov-2025 14:19:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:19:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:19:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:19:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:19:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:19:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:19:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:19:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:19:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:19:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:19:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:19:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:19:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:19:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:19:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:19:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:19:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:19:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:21:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:21:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:21:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:21:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:21:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:21:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:21:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:21:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:21:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:21:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:21:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:21:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:21:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:21:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:21:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:21:44 UTC] 📊 Database Info:
[22-Nov-2025 14:21:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:21:44 UTC]    Books columns count: 44
[22-Nov-2025 14:21:44 UTC]    Categories columns count: 7
[22-Nov-2025 14:21:44 UTC]    Language field in books: YES
[22-Nov-2025 14:21:44 UTC]    Format field in books: YES
[22-Nov-2025 14:21:44 UTC]    Description field in categories: YES
[22-Nov-2025 14:21:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:21:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:21:44 UTC]    Is_active field in books: YES
[22-Nov-2025 14:21:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:21:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:21:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:21:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:21:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:21:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:21:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:21:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:21:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:21:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:21:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:21:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:21:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:21:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:21:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:21:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:21:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:21:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:21:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:21:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:21:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:21:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:21:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:21:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:21:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:21:44 UTC] 📊 Database Info:
[22-Nov-2025 14:21:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:21:44 UTC]    Books columns count: 44
[22-Nov-2025 14:21:44 UTC]    Categories columns count: 7
[22-Nov-2025 14:21:44 UTC]    Language field in books: YES
[22-Nov-2025 14:21:44 UTC]    Format field in books: YES
[22-Nov-2025 14:21:44 UTC]    Description field in categories: YES
[22-Nov-2025 14:21:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:21:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:21:44 UTC]    Is_active field in books: YES
[22-Nov-2025 14:21:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:21:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:21:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:21:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:21:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:21:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:21:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:21:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:21:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:21:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:21:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:21:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:21:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:21:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:21:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:21:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:21:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:21:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:21:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:21:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:21:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:21:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:21:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:21:56 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:21:56 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:21:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:21:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:21:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:21:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:21:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:21:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:21:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:21:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:21:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:21:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:21:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:21:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:21:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:21:56 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:21:56 UTC] 📊 Database Info:
[22-Nov-2025 14:21:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:21:56 UTC]    Books columns count: 44
[22-Nov-2025 14:21:56 UTC]    Categories columns count: 7
[22-Nov-2025 14:21:56 UTC]    Language field in books: YES
[22-Nov-2025 14:21:56 UTC]    Format field in books: YES
[22-Nov-2025 14:21:56 UTC]    Description field in categories: YES
[22-Nov-2025 14:21:56 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:21:56 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:21:56 UTC]    Is_active field in books: YES
[22-Nov-2025 14:21:56 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:21:56 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:21:56 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:21:56 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:21:56 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:21:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:21:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:21:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:21:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:21:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:21:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:21:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:21:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:21:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:21:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:21:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:21:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:21:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:21:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:21:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:21:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:21:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:21:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:21:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:21:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:21:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:21:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:21:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:21:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:21:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:21:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:21:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:21:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:21:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:21:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:21:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:21:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:21:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:21:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:21:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:21:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:21:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:21:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:21:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:21:57 UTC] 📊 Database Info:
[22-Nov-2025 14:21:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:21:57 UTC]    Books columns count: 44
[22-Nov-2025 14:21:57 UTC]    Categories columns count: 7
[22-Nov-2025 14:21:57 UTC]    Language field in books: YES
[22-Nov-2025 14:21:57 UTC]    Format field in books: YES
[22-Nov-2025 14:21:57 UTC]    Description field in categories: YES
[22-Nov-2025 14:21:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:21:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:21:57 UTC]    Is_active field in books: YES
[22-Nov-2025 14:21:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:21:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:21:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:21:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:21:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:21:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:21:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:21:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:21:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:21:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:21:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:21:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:21:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:21:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:21:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:21:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:21:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:21:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:30:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:30:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:30:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:30:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:30:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:30:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:30:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:30:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:30:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:30:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:30:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:30:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:30:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:30:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:30:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:30:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:30:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:30:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:30:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:30:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:30:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:30:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:30:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:30:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:30:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:30:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:30:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:30:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:30:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:30:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:30:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:30:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:30:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:30:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:30:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:30:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:30:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:30:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:30:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:30:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:30:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:30:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:30:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:30:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:30:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:30:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:30:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:30:49 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:30:49 UTC] 📊 Database Info:
[22-Nov-2025 14:30:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:30:49 UTC]    Books columns count: 44
[22-Nov-2025 14:30:49 UTC]    Categories columns count: 7
[22-Nov-2025 14:30:49 UTC]    Language field in books: YES
[22-Nov-2025 14:30:49 UTC]    Format field in books: YES
[22-Nov-2025 14:30:49 UTC]    Description field in categories: YES
[22-Nov-2025 14:30:49 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:30:49 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:30:49 UTC]    Is_active field in books: YES
[22-Nov-2025 14:30:49 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:30:49 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:30:49 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:30:49 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:30:49 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:30:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:30:49 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 14:30:49 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 14:30:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:30:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:30:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:30:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:30:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:30:49 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:30:49 UTC] 📊 Database Info:
[22-Nov-2025 14:30:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:30:49 UTC]    Books columns count: 44
[22-Nov-2025 14:30:49 UTC]    Categories columns count: 7
[22-Nov-2025 14:30:49 UTC]    Language field in books: YES
[22-Nov-2025 14:30:49 UTC]    Format field in books: YES
[22-Nov-2025 14:30:49 UTC]    Description field in categories: YES
[22-Nov-2025 14:30:49 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:30:49 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:30:49 UTC]    Is_active field in books: YES
[22-Nov-2025 14:30:49 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:30:49 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:30:49 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:30:49 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:30:49 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:30:49 UTC] 📊 Database Info:
[22-Nov-2025 14:30:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:30:49 UTC]    Books columns count: 44
[22-Nov-2025 14:30:49 UTC]    Categories columns count: 7
[22-Nov-2025 14:30:49 UTC]    Language field in books: YES
[22-Nov-2025 14:30:49 UTC]    Format field in books: YES
[22-Nov-2025 14:30:49 UTC]    Description field in categories: YES
[22-Nov-2025 14:30:49 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:30:49 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:30:49 UTC]    Is_active field in books: YES
[22-Nov-2025 14:30:49 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:30:49 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:30:49 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:30:49 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:30:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:30:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:30:49 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:30:49 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:30:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:30:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:32:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:32:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:32:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:32:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:32:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:32:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:32:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:32:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:32:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:32:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:32:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:32:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:32:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:32:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:32:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:32:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:32:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:32:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:32:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:32:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:32:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:32:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:32:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:32:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:32:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:32:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:32:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:32:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:32:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:32:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:32:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:32:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:32:22 UTC] 📊 Database Info:
[22-Nov-2025 14:32:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:32:22 UTC]    Books columns count: 44
[22-Nov-2025 14:32:22 UTC]    Categories columns count: 7
[22-Nov-2025 14:32:22 UTC]    Language field in books: YES
[22-Nov-2025 14:32:22 UTC]    Format field in books: YES
[22-Nov-2025 14:32:22 UTC]    Description field in categories: YES
[22-Nov-2025 14:32:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:32:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:32:22 UTC]    Is_active field in books: YES
[22-Nov-2025 14:32:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:32:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:32:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:32:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:32:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:32:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:32:22 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 14:32:22 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 14:32:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:32:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:32:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:32:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:32:22 UTC] 📊 Database Info:
[22-Nov-2025 14:32:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:32:22 UTC]    Books columns count: 44
[22-Nov-2025 14:32:22 UTC]    Categories columns count: 7
[22-Nov-2025 14:32:22 UTC]    Language field in books: YES
[22-Nov-2025 14:32:22 UTC]    Format field in books: YES
[22-Nov-2025 14:32:22 UTC]    Description field in categories: YES
[22-Nov-2025 14:32:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:32:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:32:22 UTC]    Is_active field in books: YES
[22-Nov-2025 14:32:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:32:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:32:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:32:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:32:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:32:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:32:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:32:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:32:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:32:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:32:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:32:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:32:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:32:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:32:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:32:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:32:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:32:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:32:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:32:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:32:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:32:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:32:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:32:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:32:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:32:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:32:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:32:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:32:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:32:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:32:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:32:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:32:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:32:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:32:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:32:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:32:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:32:23 UTC] 📊 Database Info:
[22-Nov-2025 14:32:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:32:23 UTC]    Books columns count: 44
[22-Nov-2025 14:32:23 UTC]    Categories columns count: 7
[22-Nov-2025 14:32:23 UTC]    Language field in books: YES
[22-Nov-2025 14:32:23 UTC]    Format field in books: YES
[22-Nov-2025 14:32:23 UTC]    Description field in categories: YES
[22-Nov-2025 14:32:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:32:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:32:23 UTC]    Is_active field in books: YES
[22-Nov-2025 14:32:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:32:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:32:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:32:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:32:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:32:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:32:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:32:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:32:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:32:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:32:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:32:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:32:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:32:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:32:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:32:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:32:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:32:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:32:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:32:23 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 14:32:23 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 14:33:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:33:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:33:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:33:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:33:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:33:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:33:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:33:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:33:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:33:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:33:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:33:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:33:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:33:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:33:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:33:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:33:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:33:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:33:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:33:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:33:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:33:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:33:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:33:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:33:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:33:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:33:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:33:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:33:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:33:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:33:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:33:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:33:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:33:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:33:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:33:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:33:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:33:32 UTC] 📊 Database Info:
[22-Nov-2025 14:33:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:33:32 UTC]    Books columns count: 44
[22-Nov-2025 14:33:32 UTC]    Categories columns count: 7
[22-Nov-2025 14:33:32 UTC]    Language field in books: YES
[22-Nov-2025 14:33:32 UTC]    Format field in books: YES
[22-Nov-2025 14:33:32 UTC]    Description field in categories: YES
[22-Nov-2025 14:33:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:33:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:33:32 UTC]    Is_active field in books: YES
[22-Nov-2025 14:33:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:33:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:33:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:33:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:33:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:33:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:33:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 14:33:32 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 14:33:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:33:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:33:32 UTC] 📊 Database Info:
[22-Nov-2025 14:33:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:33:32 UTC]    Books columns count: 44
[22-Nov-2025 14:33:32 UTC]    Categories columns count: 7
[22-Nov-2025 14:33:32 UTC]    Language field in books: YES
[22-Nov-2025 14:33:32 UTC]    Format field in books: YES
[22-Nov-2025 14:33:32 UTC]    Description field in categories: YES
[22-Nov-2025 14:33:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:33:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:33:32 UTC]    Is_active field in books: YES
[22-Nov-2025 14:33:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:33:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:33:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:33:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:33:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:33:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:33:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:33:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 14:33:32 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 14:33:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:33:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:33:32 UTC] 📊 Database Info:
[22-Nov-2025 14:33:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:33:32 UTC]    Books columns count: 44
[22-Nov-2025 14:33:32 UTC]    Categories columns count: 7
[22-Nov-2025 14:33:32 UTC]    Language field in books: YES
[22-Nov-2025 14:33:32 UTC]    Format field in books: YES
[22-Nov-2025 14:33:32 UTC]    Description field in categories: YES
[22-Nov-2025 14:33:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:33:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:33:32 UTC]    Is_active field in books: YES
[22-Nov-2025 14:33:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:33:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:33:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:33:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:33:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:33:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:33:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:33:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:33:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:33:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:33:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:33:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:33:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:33:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:33:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:33:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:33:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:33:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:33:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:33:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:33:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:33:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:33:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:33:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:33:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:33:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:33:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:33:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:33:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:33:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:33:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:33:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:33:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:33:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:33:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:33:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:33:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:33:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:33:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:33:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:33:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:33:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:33:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:33:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:33:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:33:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:33:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:33:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:33:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:33:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:33:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:33:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:33:35 UTC] 📊 Database Info:
[22-Nov-2025 14:33:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:33:35 UTC]    Books columns count: 44
[22-Nov-2025 14:33:35 UTC]    Categories columns count: 7
[22-Nov-2025 14:33:35 UTC]    Language field in books: YES
[22-Nov-2025 14:33:35 UTC]    Format field in books: YES
[22-Nov-2025 14:33:35 UTC]    Description field in categories: YES
[22-Nov-2025 14:33:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:33:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:33:35 UTC]    Is_active field in books: YES
[22-Nov-2025 14:33:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:33:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:33:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:33:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:33:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:33:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:33:35 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 14:33:35 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 14:33:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:33:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:33:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:33:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:33:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:33:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:33:35 UTC] 📊 Database Info:
[22-Nov-2025 14:33:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:33:35 UTC]    Books columns count: 44
[22-Nov-2025 14:33:35 UTC]    Categories columns count: 7
[22-Nov-2025 14:33:35 UTC]    Language field in books: YES
[22-Nov-2025 14:33:35 UTC]    Format field in books: YES
[22-Nov-2025 14:33:35 UTC]    Description field in categories: YES
[22-Nov-2025 14:33:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:33:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:33:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:33:35 UTC]    Is_active field in books: YES
[22-Nov-2025 14:33:35 UTC] 📊 Database Info:
[22-Nov-2025 14:33:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:33:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:33:35 UTC]    Books columns count: 44
[22-Nov-2025 14:33:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:33:35 UTC]    Categories columns count: 7
[22-Nov-2025 14:33:35 UTC]    Language field in books: YES
[22-Nov-2025 14:33:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:33:35 UTC]    Format field in books: YES
[22-Nov-2025 14:33:35 UTC]    Description field in categories: YES
[22-Nov-2025 14:33:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:33:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:33:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:33:35 UTC]    Is_active field in books: YES
[22-Nov-2025 14:33:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:33:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:33:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:33:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:33:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:33:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:33:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:33:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:33:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:33:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:33:35 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 14:33:35 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 14:33:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:33:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:33:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:33:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:33:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:33:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:33:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:33:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:33:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:33:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:33:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:33:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:33:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:33:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:33:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:33:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:33:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:33:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:33:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:33:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:33:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:33:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:33:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:33:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:33:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:33:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:33:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:33:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:33:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:33:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:33:55 UTC] 📊 Database Info:
[22-Nov-2025 14:33:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:33:55 UTC]    Books columns count: 44
[22-Nov-2025 14:33:55 UTC]    Categories columns count: 7
[22-Nov-2025 14:33:55 UTC]    Language field in books: YES
[22-Nov-2025 14:33:55 UTC]    Format field in books: YES
[22-Nov-2025 14:33:55 UTC]    Description field in categories: YES
[22-Nov-2025 14:33:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:33:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:33:55 UTC]    Is_active field in books: YES
[22-Nov-2025 14:33:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:33:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:33:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:33:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:33:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:33:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:33:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:33:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:33:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:33:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:33:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:33:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:33:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:33:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:33:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:33:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:33:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:33:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:33:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:33:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:33:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:33:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:33:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:33:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:33:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:33:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:33:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:33:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:33:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:33:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:33:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:33:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:33:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:33:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:33:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:33:55 UTC] 📊 Database Info:
[22-Nov-2025 14:33:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:33:55 UTC]    Books columns count: 44
[22-Nov-2025 14:33:55 UTC]    Categories columns count: 7
[22-Nov-2025 14:33:55 UTC]    Language field in books: YES
[22-Nov-2025 14:33:55 UTC]    Format field in books: YES
[22-Nov-2025 14:33:55 UTC]    Description field in categories: YES
[22-Nov-2025 14:33:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:33:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:33:55 UTC]    Is_active field in books: YES
[22-Nov-2025 14:33:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:33:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:33:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:33:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:33:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:33:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:33:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:35:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:35:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:35:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:35:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:35:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:35:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:35:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:35:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:35:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:35:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:35:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:35:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:35:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:35:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:35:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:35:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:35:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:35:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:35:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:35:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:35:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:35:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:35:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:35:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:35:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:35:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:35:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:35:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:35:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:35:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:35:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:35:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:35:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:35:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:35:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:35:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:35:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:35:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:35:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:35:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:35:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:35:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:35:33 UTC] 📊 Database Info:
[22-Nov-2025 14:35:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:35:33 UTC]    Books columns count: 44
[22-Nov-2025 14:35:33 UTC]    Categories columns count: 7
[22-Nov-2025 14:35:33 UTC]    Language field in books: YES
[22-Nov-2025 14:35:33 UTC]    Format field in books: YES
[22-Nov-2025 14:35:33 UTC]    Description field in categories: YES
[22-Nov-2025 14:35:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:35:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:35:33 UTC]    Is_active field in books: YES
[22-Nov-2025 14:35:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:35:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:35:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:35:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:35:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:35:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:35:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:35:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 14:35:33 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 14:35:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:35:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:35:33 UTC] 📊 Database Info:
[22-Nov-2025 14:35:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:35:33 UTC]    Books columns count: 44
[22-Nov-2025 14:35:33 UTC]    Categories columns count: 7
[22-Nov-2025 14:35:33 UTC]    Language field in books: YES
[22-Nov-2025 14:35:33 UTC]    Format field in books: YES
[22-Nov-2025 14:35:33 UTC]    Description field in categories: YES
[22-Nov-2025 14:35:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:35:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:35:33 UTC]    Is_active field in books: YES
[22-Nov-2025 14:35:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:35:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:35:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:35:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:35:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:35:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:35:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 14:35:33 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 14:35:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:35:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:35:33 UTC] 📊 Database Info:
[22-Nov-2025 14:35:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:35:33 UTC]    Books columns count: 44
[22-Nov-2025 14:35:33 UTC]    Categories columns count: 7
[22-Nov-2025 14:35:33 UTC]    Language field in books: YES
[22-Nov-2025 14:35:33 UTC]    Format field in books: YES
[22-Nov-2025 14:35:33 UTC]    Description field in categories: YES
[22-Nov-2025 14:35:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:35:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:35:33 UTC]    Is_active field in books: YES
[22-Nov-2025 14:35:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:35:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:35:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:35:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:35:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:35:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:35:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:36:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:36:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:36:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:36:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:36:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:36:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:36:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:36:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:36:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:36:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:36:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:36:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:36:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:36:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:36:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:36:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:36:43 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:36:43 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:36:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:36:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:36:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:36:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:36:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:36:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:36:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:36:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:36:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:36:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:36:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:36:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:36:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:36:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:36:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:36:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:36:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:36:43 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:36:43 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:36:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:36:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:36:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:36:43 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:36:43 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:36:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:36:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:36:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:36:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:36:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:36:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:36:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:36:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:36:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:36:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:36:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:36:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:36:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:36:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:36:43 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:36:43 UTC] 📊 Database Info:
[22-Nov-2025 14:36:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:36:43 UTC]    Books columns count: 44
[22-Nov-2025 14:36:43 UTC]    Categories columns count: 7
[22-Nov-2025 14:36:43 UTC]    Language field in books: YES
[22-Nov-2025 14:36:43 UTC]    Format field in books: YES
[22-Nov-2025 14:36:43 UTC]    Description field in categories: YES
[22-Nov-2025 14:36:43 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:36:43 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:36:43 UTC]    Is_active field in books: YES
[22-Nov-2025 14:36:43 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:36:43 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:36:43 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:36:43 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:36:43 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:36:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:36:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:36:43 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 14:36:43 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 14:36:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:36:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:36:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:36:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:36:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:36:43 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:36:43 UTC] 📊 Database Info:
[22-Nov-2025 14:36:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:36:43 UTC]    Books columns count: 44
[22-Nov-2025 14:36:43 UTC]    Categories columns count: 7
[22-Nov-2025 14:36:43 UTC]    Language field in books: YES
[22-Nov-2025 14:36:43 UTC]    Format field in books: YES
[22-Nov-2025 14:36:43 UTC]    Description field in categories: YES
[22-Nov-2025 14:36:43 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:36:43 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:36:43 UTC]    Is_active field in books: YES
[22-Nov-2025 14:36:43 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:36:43 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:36:43 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:36:43 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:36:43 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:36:43 UTC] 📊 Database Info:
[22-Nov-2025 14:36:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:36:43 UTC]    Books columns count: 44
[22-Nov-2025 14:36:43 UTC]    Categories columns count: 7
[22-Nov-2025 14:36:43 UTC]    Language field in books: YES
[22-Nov-2025 14:36:43 UTC]    Format field in books: YES
[22-Nov-2025 14:36:43 UTC]    Description field in categories: YES
[22-Nov-2025 14:36:43 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:36:43 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:36:43 UTC]    Is_active field in books: YES
[22-Nov-2025 14:36:43 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:36:43 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:36:43 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:36:43 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:36:43 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:36:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:36:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:36:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:36:43 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 14:36:43 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 14:37:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:37:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:37:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:37:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:37:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:37:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:37:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:37:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:37:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:37:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:37:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:37:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:37:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:37:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:37:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:37:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:37:10 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:37:10 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:37:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:37:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:37:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:37:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:37:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:37:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:37:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:37:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:37:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:37:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:37:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:37:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:37:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:37:10 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:37:10 UTC] 📊 Database Info:
[22-Nov-2025 14:37:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:37:10 UTC]    Books columns count: 44
[22-Nov-2025 14:37:10 UTC]    Categories columns count: 7
[22-Nov-2025 14:37:10 UTC]    Language field in books: YES
[22-Nov-2025 14:37:10 UTC]    Format field in books: YES
[22-Nov-2025 14:37:10 UTC]    Description field in categories: YES
[22-Nov-2025 14:37:10 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:37:10 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:37:10 UTC]    Is_active field in books: YES
[22-Nov-2025 14:37:10 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:37:10 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:37:10 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:37:10 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:37:10 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:37:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:37:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:37:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:37:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:37:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:37:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:37:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:37:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:37:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:37:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:37:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:37:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:37:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:37:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:37:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:37:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:37:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:37:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:37:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:37:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:37:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:37:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:37:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:37:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:37:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:37:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:37:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:37:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:37:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:37:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:37:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:37:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:37:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:37:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:37:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:37:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:37:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:37:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:37:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:37:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:37:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:37:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:37:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:37:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:37:26 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:37:26 UTC] 📊 Database Info:
[22-Nov-2025 14:37:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:37:26 UTC]    Books columns count: 44
[22-Nov-2025 14:37:26 UTC]    Categories columns count: 7
[22-Nov-2025 14:37:26 UTC]    Language field in books: YES
[22-Nov-2025 14:37:26 UTC]    Format field in books: YES
[22-Nov-2025 14:37:26 UTC]    Description field in categories: YES
[22-Nov-2025 14:37:26 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:37:26 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:37:26 UTC]    Is_active field in books: YES
[22-Nov-2025 14:37:26 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:37:26 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:37:26 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:37:26 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:37:26 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:37:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:37:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:37:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:37:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:37:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:37:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:37:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:37:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:37:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:37:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:37:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:37:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:37:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:37:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:37:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:37:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:37:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:37:26 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:37:26 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:37:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:37:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:37:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:37:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:37:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:37:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:37:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:37:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:37:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:37:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:37:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:37:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:37:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:37:26 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:37:26 UTC] 📊 Database Info:
[22-Nov-2025 14:37:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:37:26 UTC]    Books columns count: 44
[22-Nov-2025 14:37:26 UTC]    Categories columns count: 7
[22-Nov-2025 14:37:26 UTC]    Language field in books: YES
[22-Nov-2025 14:37:26 UTC]    Format field in books: YES
[22-Nov-2025 14:37:26 UTC]    Description field in categories: YES
[22-Nov-2025 14:37:26 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:37:26 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:37:26 UTC]    Is_active field in books: YES
[22-Nov-2025 14:37:26 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:37:26 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:37:26 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:37:26 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:37:26 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:37:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:37:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:37:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:37:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:37:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:37:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:37:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:37:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:37:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:37:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:37:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:37:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:37:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:37:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:37:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:37:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:37:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:37:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:37:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:37:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:37:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:37:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:37:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:37:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:37:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:37:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:37:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:37:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:37:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:37:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:37:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:37:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:37:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:37:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:37:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:37:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:37:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:37:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:37:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:37:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:37:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:37:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:37:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:37:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:37:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:37:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:37:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:37:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:37:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:37:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:37:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:37:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:37:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:37:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:37:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:37:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:37:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:37:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:37:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:37:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:37:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:37:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:37:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:37:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:37:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:37:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:37:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:37:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:37:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:37:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:37:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:37:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:37:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:37:38 UTC] 📊 Database Info:
[22-Nov-2025 14:37:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:37:38 UTC]    Books columns count: 44
[22-Nov-2025 14:37:38 UTC]    Categories columns count: 7
[22-Nov-2025 14:37:38 UTC]    Language field in books: YES
[22-Nov-2025 14:37:38 UTC]    Format field in books: YES
[22-Nov-2025 14:37:38 UTC]    Description field in categories: YES
[22-Nov-2025 14:37:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:37:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:37:38 UTC]    Is_active field in books: YES
[22-Nov-2025 14:37:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:37:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:37:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:37:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:37:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:37:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:37:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:37:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:37:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:37:38 UTC] 📊 Database Info:
[22-Nov-2025 14:37:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:37:38 UTC]    Books columns count: 44
[22-Nov-2025 14:37:38 UTC]    Categories columns count: 7
[22-Nov-2025 14:37:38 UTC]    Language field in books: YES
[22-Nov-2025 14:37:38 UTC]    Format field in books: YES
[22-Nov-2025 14:37:38 UTC]    Description field in categories: YES
[22-Nov-2025 14:37:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:37:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:37:38 UTC]    Is_active field in books: YES
[22-Nov-2025 14:37:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:37:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:37:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:37:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:37:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:37:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:37:38 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 14:37:38 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 14:37:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:37:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:37:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:37:38 UTC] 📊 Database Info:
[22-Nov-2025 14:37:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:37:38 UTC]    Books columns count: 44
[22-Nov-2025 14:37:38 UTC]    Categories columns count: 7
[22-Nov-2025 14:37:38 UTC]    Language field in books: YES
[22-Nov-2025 14:37:38 UTC]    Format field in books: YES
[22-Nov-2025 14:37:38 UTC]    Description field in categories: YES
[22-Nov-2025 14:37:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:37:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:37:38 UTC]    Is_active field in books: YES
[22-Nov-2025 14:37:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:37:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:37:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:37:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:37:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:37:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:37:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:37:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:37:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:37:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:37:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:37:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:37:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:37:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:37:38 UTC] 📊 Database Info:
[22-Nov-2025 14:37:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:37:38 UTC]    Books columns count: 44
[22-Nov-2025 14:37:38 UTC]    Categories columns count: 7
[22-Nov-2025 14:37:38 UTC]    Language field in books: YES
[22-Nov-2025 14:37:38 UTC]    Format field in books: YES
[22-Nov-2025 14:37:38 UTC]    Description field in categories: YES
[22-Nov-2025 14:37:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:37:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:37:38 UTC]    Is_active field in books: YES
[22-Nov-2025 14:37:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:37:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:37:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:37:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:37:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:37:38 UTC] 📊 Database Info:
[22-Nov-2025 14:37:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:37:38 UTC]    Books columns count: 44
[22-Nov-2025 14:37:38 UTC]    Categories columns count: 7
[22-Nov-2025 14:37:38 UTC]    Language field in books: YES
[22-Nov-2025 14:37:38 UTC]    Format field in books: YES
[22-Nov-2025 14:37:38 UTC]    Description field in categories: YES
[22-Nov-2025 14:37:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:37:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:37:38 UTC]    Is_active field in books: YES
[22-Nov-2025 14:37:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:37:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:37:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:37:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:37:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:37:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:37:38 UTC] 📊 Database Info:
[22-Nov-2025 14:37:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:37:38 UTC]    Books columns count: 44
[22-Nov-2025 14:37:38 UTC]    Categories columns count: 7
[22-Nov-2025 14:37:38 UTC]    Language field in books: YES
[22-Nov-2025 14:37:38 UTC]    Format field in books: YES
[22-Nov-2025 14:37:38 UTC]    Description field in categories: YES
[22-Nov-2025 14:37:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:37:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:37:38 UTC]    Is_active field in books: YES
[22-Nov-2025 14:37:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:37:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:37:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:37:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:37:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:37:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:37:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:37:38 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:37:38 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 14:37:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:37:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:01 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:01 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:01 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:01 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:01 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:01 UTC] 📊 Database Info:
[22-Nov-2025 14:38:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:01 UTC]    Books columns count: 44
[22-Nov-2025 14:38:01 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:01 UTC]    Language field in books: YES
[22-Nov-2025 14:38:01 UTC]    Format field in books: YES
[22-Nov-2025 14:38:01 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:01 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:01 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:01 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:01 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:01 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:01 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:01 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:01 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:01 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:01 UTC] 📊 Database Info:
[22-Nov-2025 14:38:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:01 UTC]    Books columns count: 44
[22-Nov-2025 14:38:01 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:01 UTC]    Language field in books: YES
[22-Nov-2025 14:38:01 UTC]    Format field in books: YES
[22-Nov-2025 14:38:01 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:01 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:01 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:01 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:01 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:01 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:01 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:01 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:01 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:01 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:01 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:01 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:01 UTC] 📊 Database Info:
[22-Nov-2025 14:38:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:01 UTC]    Books columns count: 44
[22-Nov-2025 14:38:01 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:01 UTC]    Language field in books: YES
[22-Nov-2025 14:38:01 UTC]    Format field in books: YES
[22-Nov-2025 14:38:01 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:01 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:01 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:01 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:01 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:01 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:01 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:01 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:01 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:01 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 14:38:01 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 14:38:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:23 UTC] 📊 Database Info:
[22-Nov-2025 14:38:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:23 UTC]    Books columns count: 44
[22-Nov-2025 14:38:23 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:23 UTC]    Language field in books: YES
[22-Nov-2025 14:38:23 UTC]    Format field in books: YES
[22-Nov-2025 14:38:23 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:23 UTC] 📊 Database Info:
[22-Nov-2025 14:38:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:23 UTC]    Books columns count: 44
[22-Nov-2025 14:38:23 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:23 UTC]    Language field in books: YES
[22-Nov-2025 14:38:23 UTC]    Format field in books: YES
[22-Nov-2025 14:38:23 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:23 UTC] 📊 Database Info:
[22-Nov-2025 14:38:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:23 UTC]    Books columns count: 44
[22-Nov-2025 14:38:23 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:23 UTC]    Language field in books: YES
[22-Nov-2025 14:38:23 UTC]    Format field in books: YES
[22-Nov-2025 14:38:23 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:23 UTC] 📊 Database Info:
[22-Nov-2025 14:38:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:23 UTC]    Books columns count: 44
[22-Nov-2025 14:38:23 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:23 UTC]    Language field in books: YES
[22-Nov-2025 14:38:23 UTC]    Format field in books: YES
[22-Nov-2025 14:38:23 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:23 UTC] 📊 Database Info:
[22-Nov-2025 14:38:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:23 UTC]    Books columns count: 44
[22-Nov-2025 14:38:23 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:23 UTC]    Language field in books: YES
[22-Nov-2025 14:38:23 UTC]    Format field in books: YES
[22-Nov-2025 14:38:23 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:38:23 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 14:38:23 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:23 UTC] 📊 Database Info:
[22-Nov-2025 14:38:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:23 UTC]    Books columns count: 44
[22-Nov-2025 14:38:23 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:23 UTC]    Language field in books: YES
[22-Nov-2025 14:38:23 UTC]    Format field in books: YES
[22-Nov-2025 14:38:23 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:23 UTC] 📊 Database Info:
[22-Nov-2025 14:38:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:23 UTC]    Books columns count: 44
[22-Nov-2025 14:38:23 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:23 UTC]    Language field in books: YES
[22-Nov-2025 14:38:23 UTC]    Format field in books: YES
[22-Nov-2025 14:38:23 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:38:23 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:38:23 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 14:38:23 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 14:38:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:23 UTC] 📊 Database Info:
[22-Nov-2025 14:38:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:23 UTC]    Books columns count: 44
[22-Nov-2025 14:38:23 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:23 UTC]    Language field in books: YES
[22-Nov-2025 14:38:23 UTC]    Format field in books: YES
[22-Nov-2025 14:38:23 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:38:23 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 14:38:23 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:23 UTC] 📊 Database Info:
[22-Nov-2025 14:38:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:23 UTC]    Books columns count: 44
[22-Nov-2025 14:38:23 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:23 UTC]    Language field in books: YES
[22-Nov-2025 14:38:23 UTC]    Format field in books: YES
[22-Nov-2025 14:38:23 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:23 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:23 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 14:38:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:23 UTC] 📊 Database Info:
[22-Nov-2025 14:38:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:23 UTC]    Books columns count: 44
[22-Nov-2025 14:38:23 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:23 UTC]    Language field in books: YES
[22-Nov-2025 14:38:23 UTC]    Format field in books: YES
[22-Nov-2025 14:38:23 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:23 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:38:23 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 14:38:23 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 14:38:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:38:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:38:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:38:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:38:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:38:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:38:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:24 UTC] 📊 Database Info:
[22-Nov-2025 14:38:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:24 UTC]    Books columns count: 44
[22-Nov-2025 14:38:24 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:24 UTC]    Language field in books: YES
[22-Nov-2025 14:38:24 UTC]    Format field in books: YES
[22-Nov-2025 14:38:24 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:24 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:24 UTC] 📊 Database Info:
[22-Nov-2025 14:38:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:24 UTC]    Books columns count: 44
[22-Nov-2025 14:38:24 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:24 UTC]    Language field in books: YES
[22-Nov-2025 14:38:24 UTC]    Format field in books: YES
[22-Nov-2025 14:38:24 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:24 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:24 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 14:38:24 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 14:38:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:24 UTC] 📊 Database Info:
[22-Nov-2025 14:38:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:24 UTC]    Books columns count: 44
[22-Nov-2025 14:38:24 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:24 UTC]    Language field in books: YES
[22-Nov-2025 14:38:24 UTC]    Format field in books: YES
[22-Nov-2025 14:38:24 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:24 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:38:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:38:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:24 UTC] 📊 Database Info:
[22-Nov-2025 14:38:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:24 UTC]    Books columns count: 44
[22-Nov-2025 14:38:24 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:24 UTC]    Language field in books: YES
[22-Nov-2025 14:38:24 UTC]    Format field in books: YES
[22-Nov-2025 14:38:24 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:24 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:24 UTC] 📊 Database Info:
[22-Nov-2025 14:38:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:24 UTC]    Books columns count: 44
[22-Nov-2025 14:38:24 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:24 UTC]    Language field in books: YES
[22-Nov-2025 14:38:24 UTC]    Format field in books: YES
[22-Nov-2025 14:38:24 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:24 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:38:24 UTC] 📊 Database Info:
[22-Nov-2025 14:38:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:38:24 UTC]    Books columns count: 44
[22-Nov-2025 14:38:24 UTC]    Categories columns count: 7
[22-Nov-2025 14:38:24 UTC]    Language field in books: YES
[22-Nov-2025 14:38:24 UTC]    Format field in books: YES
[22-Nov-2025 14:38:24 UTC]    Description field in categories: YES
[22-Nov-2025 14:38:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:38:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:38:24 UTC]    Is_active field in books: YES
[22-Nov-2025 14:38:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:38:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:38:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:38:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:38:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:24 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 14:38:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:38:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:38:24 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 14:39:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:39:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:39:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:39:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:39:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:39:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:39:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:39:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:39:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:39:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:39:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:39:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:39:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:39:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:39:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:39:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:39:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:39:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:39:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:39:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:39:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:39:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:39:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:39:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:39:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:39:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:39:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:39:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:39:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:39:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:39:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:39:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:39:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:39:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:39:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:39:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:39:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:39:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:39:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:39:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:39:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:39:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:39:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:39:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:39:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:39:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:39:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:39:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:39:21 UTC] 📊 Database Info:
[22-Nov-2025 14:39:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:39:21 UTC]    Books columns count: 44
[22-Nov-2025 14:39:21 UTC]    Categories columns count: 7
[22-Nov-2025 14:39:21 UTC]    Language field in books: YES
[22-Nov-2025 14:39:21 UTC]    Format field in books: YES
[22-Nov-2025 14:39:21 UTC]    Description field in categories: YES
[22-Nov-2025 14:39:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:39:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:39:21 UTC]    Is_active field in books: YES
[22-Nov-2025 14:39:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:39:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:39:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:39:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:39:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:39:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:39:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:39:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:39:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:39:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:39:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:39:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:39:21 UTC] 📊 Database Info:
[22-Nov-2025 14:39:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:39:21 UTC]    Books columns count: 44
[22-Nov-2025 14:39:21 UTC]    Categories columns count: 7
[22-Nov-2025 14:39:21 UTC]    Language field in books: YES
[22-Nov-2025 14:39:21 UTC]    Format field in books: YES
[22-Nov-2025 14:39:21 UTC]    Description field in categories: YES
[22-Nov-2025 14:39:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:39:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:39:21 UTC]    Is_active field in books: YES
[22-Nov-2025 14:39:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:39:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:39:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:39:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:39:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:39:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:39:21 UTC] 📊 Database Info:
[22-Nov-2025 14:39:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:39:21 UTC]    Books columns count: 44
[22-Nov-2025 14:39:21 UTC]    Categories columns count: 7
[22-Nov-2025 14:39:21 UTC]    Language field in books: YES
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:39:21 UTC]    Format field in books: YES
[22-Nov-2025 14:39:21 UTC]    Description field in categories: YES
[22-Nov-2025 14:39:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:39:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:39:21 UTC]    Is_active field in books: YES
[22-Nov-2025 14:39:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:39:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:39:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:39:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:39:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:39:21 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:39:21 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:39:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:39:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:39:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:39:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:39:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:39:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:39:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:39:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:39:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:39:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:39:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:39:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:39:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:39:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:39:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:39:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:39:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:39:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:39:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:39:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:39:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:39:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:39:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:39:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:39:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:39:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:39:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:39:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:39:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:39:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:39:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:39:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:39:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:39:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:39:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:39:23 UTC] 📊 Database Info:
[22-Nov-2025 14:39:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:39:23 UTC]    Books columns count: 44
[22-Nov-2025 14:39:23 UTC]    Categories columns count: 7
[22-Nov-2025 14:39:23 UTC]    Language field in books: YES
[22-Nov-2025 14:39:23 UTC]    Format field in books: YES
[22-Nov-2025 14:39:23 UTC]    Description field in categories: YES
[22-Nov-2025 14:39:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:39:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:39:23 UTC]    Is_active field in books: YES
[22-Nov-2025 14:39:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:39:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:39:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:39:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:39:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:39:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:39:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:39:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:39:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:39:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:39:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:39:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:39:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:39:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:39:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:39:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:39:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:39:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:47:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:47:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:47:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:47:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:47:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:47:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:47:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:47:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:47:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:47:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:47:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:47:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:47:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:47:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:47:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:47:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:47:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:47:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:47:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:47:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:47:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:47:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:47:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:47:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:47:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:47:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:47:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:47:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:47:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:47:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:47:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:47:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:47:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:47:47 UTC] 📊 Database Info:
[22-Nov-2025 14:47:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:47:47 UTC]    Books columns count: 44
[22-Nov-2025 14:47:47 UTC]    Categories columns count: 7
[22-Nov-2025 14:47:47 UTC]    Language field in books: YES
[22-Nov-2025 14:47:47 UTC]    Format field in books: YES
[22-Nov-2025 14:47:47 UTC]    Description field in categories: YES
[22-Nov-2025 14:47:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:47:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:47:47 UTC]    Is_active field in books: YES
[22-Nov-2025 14:47:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:47:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:47:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:47:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:47:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:47:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:47:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:47:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:47:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:47:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:47:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:47:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:47:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:47:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:47:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:47:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:47:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:47:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:47:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:47:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:47:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:47:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:47:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:47:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:47:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:47:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:47:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:47:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:47:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:47:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:47:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:47:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:47:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:47:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:47:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:47:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:47:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:47:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:47:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:47:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:47:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:47:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:47:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:47:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:47:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:47:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:47:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:47:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:47:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:47:50 UTC] 📊 Database Info:
[22-Nov-2025 14:47:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:47:50 UTC]    Books columns count: 44
[22-Nov-2025 14:47:50 UTC]    Categories columns count: 7
[22-Nov-2025 14:47:50 UTC]    Language field in books: YES
[22-Nov-2025 14:47:50 UTC]    Format field in books: YES
[22-Nov-2025 14:47:50 UTC]    Description field in categories: YES
[22-Nov-2025 14:47:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:47:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:47:50 UTC]    Is_active field in books: YES
[22-Nov-2025 14:47:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:47:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:47:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:47:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:47:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:47:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:47:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:47:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:47:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:47:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:47:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:47:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:47:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:47:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:47:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:47:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:47:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:47:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:47:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:47:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:47:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:47:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:47:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:47:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:47:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:47:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:47:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:47:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:47:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:47:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:47:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:47:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:47:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:47:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:47:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:47:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:47:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:47:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:47:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:47:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:47:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:47:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:47:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:47:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:47:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:47:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:47:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:47:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:47:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:47:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:47:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:47:51 UTC] 📊 Database Info:
[22-Nov-2025 14:47:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:47:51 UTC]    Books columns count: 44
[22-Nov-2025 14:47:51 UTC]    Categories columns count: 7
[22-Nov-2025 14:47:51 UTC]    Language field in books: YES
[22-Nov-2025 14:47:51 UTC]    Format field in books: YES
[22-Nov-2025 14:47:51 UTC]    Description field in categories: YES
[22-Nov-2025 14:47:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:47:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:47:51 UTC]    Is_active field in books: YES
[22-Nov-2025 14:47:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:47:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:47:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:47:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:47:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:47:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:47:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:47:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:47:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:47:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:47:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:47:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:47:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:47:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:47:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:47:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:47:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:47:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:47:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:47:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:47:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:47:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:47:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:47:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:47:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:47:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:47:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:47:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:47:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:47:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:47:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:47:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:47:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:47:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:47:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:47:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:47:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:47:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:47:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:47:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:47:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:47:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:47:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:47:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:47:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:47:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:47:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:47:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:47:54 UTC] 📊 Database Info:
[22-Nov-2025 14:47:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:47:54 UTC]    Books columns count: 44
[22-Nov-2025 14:47:54 UTC]    Categories columns count: 7
[22-Nov-2025 14:47:54 UTC]    Language field in books: YES
[22-Nov-2025 14:47:54 UTC]    Format field in books: YES
[22-Nov-2025 14:47:54 UTC]    Description field in categories: YES
[22-Nov-2025 14:47:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:47:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:47:54 UTC]    Is_active field in books: YES
[22-Nov-2025 14:47:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:47:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:47:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:47:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:47:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:47:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:47:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:47:54 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 14:47:54 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 14:47:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:47:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:47:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:47:54 UTC] 📊 Database Info:
[22-Nov-2025 14:47:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:47:54 UTC]    Books columns count: 44
[22-Nov-2025 14:47:54 UTC]    Categories columns count: 7
[22-Nov-2025 14:47:54 UTC]    Language field in books: YES
[22-Nov-2025 14:47:54 UTC]    Format field in books: YES
[22-Nov-2025 14:47:54 UTC]    Description field in categories: YES
[22-Nov-2025 14:47:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:47:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:47:54 UTC]    Is_active field in books: YES
[22-Nov-2025 14:47:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:47:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:47:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:47:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:47:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:47:54 UTC] 📊 Database Info:
[22-Nov-2025 14:47:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:47:54 UTC]    Books columns count: 44
[22-Nov-2025 14:47:54 UTC]    Categories columns count: 7
[22-Nov-2025 14:47:54 UTC]    Language field in books: YES
[22-Nov-2025 14:47:54 UTC]    Format field in books: YES
[22-Nov-2025 14:47:54 UTC]    Description field in categories: YES
[22-Nov-2025 14:47:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:47:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:47:54 UTC]    Is_active field in books: YES
[22-Nov-2025 14:47:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:47:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:47:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:47:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:47:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:47:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:47:54 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:47:54 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 14:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:47:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:47:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:47:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:47:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:47:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:47:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:47:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:47:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:47:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:47:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:47:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:47:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:47:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:47:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:47:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:47:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:47:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:47:56 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:47:56 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:47:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:47:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:47:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:47:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:47:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:47:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:47:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:47:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:47:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:47:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:47:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:47:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:47:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:47:56 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:47:56 UTC] 📊 Database Info:
[22-Nov-2025 14:47:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:47:56 UTC]    Books columns count: 44
[22-Nov-2025 14:47:56 UTC]    Categories columns count: 7
[22-Nov-2025 14:47:56 UTC]    Language field in books: YES
[22-Nov-2025 14:47:56 UTC]    Format field in books: YES
[22-Nov-2025 14:47:56 UTC]    Description field in categories: YES
[22-Nov-2025 14:47:56 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:47:56 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:47:56 UTC]    Is_active field in books: YES
[22-Nov-2025 14:47:56 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:47:56 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:47:56 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:47:56 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:47:56 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:47:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:47:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:47:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:47:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:47:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:47:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:47:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:47:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:47:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:47:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:47:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:47:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:47:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:47:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:47:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:47:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:47:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:47:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:47:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:47:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:47:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:47:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:47:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:47:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:47:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:47:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:47:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:47:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:47:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:47:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:47:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:47:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:47:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:47:57 UTC] 📊 Database Info:
[22-Nov-2025 14:47:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:47:57 UTC]    Books columns count: 44
[22-Nov-2025 14:47:57 UTC]    Categories columns count: 7
[22-Nov-2025 14:47:57 UTC]    Language field in books: YES
[22-Nov-2025 14:47:57 UTC]    Format field in books: YES
[22-Nov-2025 14:47:57 UTC]    Description field in categories: YES
[22-Nov-2025 14:47:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:47:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:47:57 UTC]    Is_active field in books: YES
[22-Nov-2025 14:47:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:47:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:47:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:47:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:47:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:47:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:49:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:49:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:49:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:49:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:49:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:49:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:49:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:49:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:49:10 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:49:10 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:49:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:49:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:49:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:49:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:49:10 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:49:10 UTC] 📊 Database Info:
[22-Nov-2025 14:49:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:49:10 UTC]    Books columns count: 44
[22-Nov-2025 14:49:10 UTC]    Categories columns count: 7
[22-Nov-2025 14:49:10 UTC]    Language field in books: YES
[22-Nov-2025 14:49:10 UTC]    Format field in books: YES
[22-Nov-2025 14:49:10 UTC]    Description field in categories: YES
[22-Nov-2025 14:49:10 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:49:10 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:49:10 UTC]    Is_active field in books: YES
[22-Nov-2025 14:49:10 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:49:10 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:49:10 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:49:10 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:49:10 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:49:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:49:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:49:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:49:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:49:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:49:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:49:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:49:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:49:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:49:10 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:49:10 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:49:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:49:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:49:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:49:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:49:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:49:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:49:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:49:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:49:10 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:49:10 UTC] 📊 Database Info:
[22-Nov-2025 14:49:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:49:10 UTC]    Books columns count: 44
[22-Nov-2025 14:49:10 UTC]    Categories columns count: 7
[22-Nov-2025 14:49:10 UTC]    Language field in books: YES
[22-Nov-2025 14:49:10 UTC]    Format field in books: YES
[22-Nov-2025 14:49:10 UTC]    Description field in categories: YES
[22-Nov-2025 14:49:10 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:49:10 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:49:10 UTC]    Is_active field in books: YES
[22-Nov-2025 14:49:10 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:49:10 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:49:10 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:49:10 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:49:10 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:49:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:49:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:13 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:13 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:13 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:13 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:13 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:13 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:13 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:13 UTC] 📊 Database Info:
[22-Nov-2025 14:53:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:13 UTC]    Books columns count: 44
[22-Nov-2025 14:53:13 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:13 UTC]    Language field in books: YES
[22-Nov-2025 14:53:13 UTC]    Format field in books: YES
[22-Nov-2025 14:53:13 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:13 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:13 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:13 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:13 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:13 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:13 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:13 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:13 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:13 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 14:53:13 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 14:53:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:13 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:13 UTC] 📊 Database Info:
[22-Nov-2025 14:53:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:13 UTC]    Books columns count: 44
[22-Nov-2025 14:53:13 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:13 UTC]    Language field in books: YES
[22-Nov-2025 14:53:13 UTC]    Format field in books: YES
[22-Nov-2025 14:53:13 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:13 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:13 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:13 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:13 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:13 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:13 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:13 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:13 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:53:13 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 14:53:13 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 14:53:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:13 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:13 UTC] 📊 Database Info:
[22-Nov-2025 14:53:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:13 UTC]    Books columns count: 44
[22-Nov-2025 14:53:13 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:13 UTC]    Language field in books: YES
[22-Nov-2025 14:53:13 UTC]    Format field in books: YES
[22-Nov-2025 14:53:13 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:13 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:13 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:13 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:13 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:13 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:13 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:13 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:13 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:15 UTC] 📊 Database Info:
[22-Nov-2025 14:53:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:15 UTC]    Books columns count: 44
[22-Nov-2025 14:53:15 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:15 UTC]    Language field in books: YES
[22-Nov-2025 14:53:15 UTC]    Format field in books: YES
[22-Nov-2025 14:53:15 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:15 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:17 UTC] 📊 Database Info:
[22-Nov-2025 14:53:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:17 UTC]    Books columns count: 44
[22-Nov-2025 14:53:17 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:17 UTC]    Language field in books: YES
[22-Nov-2025 14:53:17 UTC]    Format field in books: YES
[22-Nov-2025 14:53:17 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:17 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:25 UTC] 📊 Database Info:
[22-Nov-2025 14:53:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:25 UTC]    Books columns count: 44
[22-Nov-2025 14:53:25 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:25 UTC]    Language field in books: YES
[22-Nov-2025 14:53:25 UTC]    Format field in books: YES
[22-Nov-2025 14:53:25 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:25 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:25 UTC] 📊 Database Info:
[22-Nov-2025 14:53:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:25 UTC]    Books columns count: 44
[22-Nov-2025 14:53:25 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:25 UTC]    Language field in books: YES
[22-Nov-2025 14:53:25 UTC]    Format field in books: YES
[22-Nov-2025 14:53:25 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:25 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:30 UTC] 📊 Database Info:
[22-Nov-2025 14:53:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:30 UTC]    Books columns count: 44
[22-Nov-2025 14:53:30 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:30 UTC]    Language field in books: YES
[22-Nov-2025 14:53:30 UTC]    Format field in books: YES
[22-Nov-2025 14:53:30 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:30 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:30 UTC] 📊 Database Info:
[22-Nov-2025 14:53:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:30 UTC]    Books columns count: 44
[22-Nov-2025 14:53:30 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:30 UTC]    Language field in books: YES
[22-Nov-2025 14:53:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:30 UTC]    Format field in books: YES
[22-Nov-2025 14:53:30 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:30 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:30 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 14:53:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:30 UTC] 📊 Database Info:
[22-Nov-2025 14:53:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:30 UTC]    Books columns count: 44
[22-Nov-2025 14:53:30 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:30 UTC]    Language field in books: YES
[22-Nov-2025 14:53:30 UTC]    Format field in books: YES
[22-Nov-2025 14:53:30 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:30 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:30 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 14:53:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:32 UTC] 📊 Database Info:
[22-Nov-2025 14:53:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:32 UTC]    Books columns count: 44
[22-Nov-2025 14:53:32 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:32 UTC]    Language field in books: YES
[22-Nov-2025 14:53:32 UTC]    Format field in books: YES
[22-Nov-2025 14:53:32 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:32 UTC] 📊 Database Info:
[22-Nov-2025 14:53:32 UTC] 📊 Database Info:
[22-Nov-2025 14:53:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:32 UTC]    Books columns count: 44
[22-Nov-2025 14:53:32 UTC]    Books columns count: 44
[22-Nov-2025 14:53:32 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:32 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:32 UTC]    Language field in books: YES
[22-Nov-2025 14:53:32 UTC]    Language field in books: YES
[22-Nov-2025 14:53:32 UTC]    Format field in books: YES
[22-Nov-2025 14:53:32 UTC]    Format field in books: YES
[22-Nov-2025 14:53:32 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:32 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:32 UTC] 📊 Database Info:
[22-Nov-2025 14:53:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:32 UTC]    Books columns count: 44
[22-Nov-2025 14:53:32 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:32 UTC]    Language field in books: YES
[22-Nov-2025 14:53:32 UTC]    Format field in books: YES
[22-Nov-2025 14:53:32 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:32 UTC] 📊 Database Info:
[22-Nov-2025 14:53:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:32 UTC]    Books columns count: 44
[22-Nov-2025 14:53:32 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:32 UTC]    Language field in books: YES
[22-Nov-2025 14:53:32 UTC]    Format field in books: YES
[22-Nov-2025 14:53:32 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:53:32 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 14:53:32 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 14:53:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:32 UTC] 📊 Database Info:
[22-Nov-2025 14:53:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:32 UTC]    Books columns count: 44
[22-Nov-2025 14:53:32 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:32 UTC]    Language field in books: YES
[22-Nov-2025 14:53:32 UTC]    Format field in books: YES
[22-Nov-2025 14:53:32 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:53:32 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 14:53:32 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 14:53:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:32 UTC] 📊 Database Info:
[22-Nov-2025 14:53:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:32 UTC]    Books columns count: 44
[22-Nov-2025 14:53:32 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:32 UTC]    Language field in books: YES
[22-Nov-2025 14:53:32 UTC]    Format field in books: YES
[22-Nov-2025 14:53:32 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:32 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:53:32 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 14:53:32 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 14:53:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:33 UTC] 📊 Database Info:
[22-Nov-2025 14:53:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:33 UTC]    Books columns count: 44
[22-Nov-2025 14:53:33 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:33 UTC]    Language field in books: YES
[22-Nov-2025 14:53:33 UTC]    Format field in books: YES
[22-Nov-2025 14:53:33 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:33 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:53:33 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:33 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:33 UTC] 📊 Database Info:
[22-Nov-2025 14:53:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:33 UTC]    Books columns count: 44
[22-Nov-2025 14:53:33 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:33 UTC]    Language field in books: YES
[22-Nov-2025 14:53:33 UTC]    Format field in books: YES
[22-Nov-2025 14:53:33 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:33 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:53:33 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 14:53:33 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 14:53:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:33 UTC] 📊 Database Info:
[22-Nov-2025 14:53:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:33 UTC]    Books columns count: 44
[22-Nov-2025 14:53:33 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:33 UTC]    Language field in books: YES
[22-Nov-2025 14:53:33 UTC]    Format field in books: YES
[22-Nov-2025 14:53:33 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:33 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:53:33 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 14:53:33 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 14:53:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:34 UTC] 📊 Database Info:
[22-Nov-2025 14:53:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:34 UTC]    Books columns count: 44
[22-Nov-2025 14:53:34 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:34 UTC]    Language field in books: YES
[22-Nov-2025 14:53:34 UTC]    Format field in books: YES
[22-Nov-2025 14:53:34 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:34 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:34 UTC] 📊 Database Info:
[22-Nov-2025 14:53:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:34 UTC]    Books columns count: 44
[22-Nov-2025 14:53:34 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:34 UTC]    Language field in books: YES
[22-Nov-2025 14:53:34 UTC]    Format field in books: YES
[22-Nov-2025 14:53:34 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:34 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:34 UTC] 📊 Database Info:
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:34 UTC]    Books columns count: 44
[22-Nov-2025 14:53:34 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:34 UTC]    Language field in books: YES
[22-Nov-2025 14:53:34 UTC]    Format field in books: YES
[22-Nov-2025 14:53:34 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:34 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:34 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 14:53:34 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 14:53:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:34 UTC] 📊 Database Info:
[22-Nov-2025 14:53:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:34 UTC]    Books columns count: 44
[22-Nov-2025 14:53:34 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:34 UTC]    Language field in books: YES
[22-Nov-2025 14:53:34 UTC]    Format field in books: YES
[22-Nov-2025 14:53:34 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:34 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:34 UTC] 📊 Database Info:
[22-Nov-2025 14:53:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:34 UTC]    Books columns count: 44
[22-Nov-2025 14:53:34 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:34 UTC]    Language field in books: YES
[22-Nov-2025 14:53:34 UTC]    Format field in books: YES
[22-Nov-2025 14:53:34 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:34 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:34 UTC] 📊 Database Info:
[22-Nov-2025 14:53:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:34 UTC]    Books columns count: 44
[22-Nov-2025 14:53:34 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:34 UTC]    Language field in books: YES
[22-Nov-2025 14:53:34 UTC]    Format field in books: YES
[22-Nov-2025 14:53:34 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:34 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:34 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 14:53:34 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 14:53:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:37 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:37 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:37 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:37 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:37 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:37 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:37 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:37 UTC] 📊 Database Info:
[22-Nov-2025 14:53:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:37 UTC]    Books columns count: 44
[22-Nov-2025 14:53:37 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:37 UTC]    Language field in books: YES
[22-Nov-2025 14:53:37 UTC]    Format field in books: YES
[22-Nov-2025 14:53:37 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:37 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:37 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:37 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:37 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:37 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:37 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:37 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:37 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:37 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 14:53:37 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 14:53:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:37 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:37 UTC] 📊 Database Info:
[22-Nov-2025 14:53:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:37 UTC]    Books columns count: 44
[22-Nov-2025 14:53:37 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:37 UTC]    Language field in books: YES
[22-Nov-2025 14:53:37 UTC]    Format field in books: YES
[22-Nov-2025 14:53:37 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:37 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:37 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:37 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:37 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:37 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:37 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:37 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:37 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:37 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:37 UTC] 📊 Database Info:
[22-Nov-2025 14:53:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:37 UTC]    Books columns count: 44
[22-Nov-2025 14:53:37 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:37 UTC]    Language field in books: YES
[22-Nov-2025 14:53:37 UTC]    Format field in books: YES
[22-Nov-2025 14:53:37 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:37 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:37 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:37 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:37 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:37 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:37 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:37 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:37 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:38 UTC] 📊 Database Info:
[22-Nov-2025 14:53:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:38 UTC]    Books columns count: 44
[22-Nov-2025 14:53:38 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:38 UTC]    Language field in books: YES
[22-Nov-2025 14:53:38 UTC]    Format field in books: YES
[22-Nov-2025 14:53:38 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:38 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:38 UTC] 📊 Database Info:
[22-Nov-2025 14:53:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:38 UTC]    Books columns count: 44
[22-Nov-2025 14:53:38 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:38 UTC]    Language field in books: YES
[22-Nov-2025 14:53:38 UTC]    Format field in books: YES
[22-Nov-2025 14:53:38 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:38 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:38 UTC] 📊 Database Info:
[22-Nov-2025 14:53:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:38 UTC]    Books columns count: 44
[22-Nov-2025 14:53:38 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:38 UTC]    Language field in books: YES
[22-Nov-2025 14:53:38 UTC]    Format field in books: YES
[22-Nov-2025 14:53:38 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:38 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:38 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 14:53:38 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 14:53:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:51 UTC] 📊 Database Info:
[22-Nov-2025 14:53:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:51 UTC]    Books columns count: 44
[22-Nov-2025 14:53:51 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:51 UTC]    Language field in books: YES
[22-Nov-2025 14:53:51 UTC]    Format field in books: YES
[22-Nov-2025 14:53:51 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:51 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:51 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 14:53:51 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 14:53:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:51 UTC] 📊 Database Info:
[22-Nov-2025 14:53:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:51 UTC]    Books columns count: 44
[22-Nov-2025 14:53:51 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:51 UTC]    Language field in books: YES
[22-Nov-2025 14:53:51 UTC]    Format field in books: YES
[22-Nov-2025 14:53:51 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:51 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 14:53:51 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 14:53:51 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 14:53:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:51 UTC] 📊 Database Info:
[22-Nov-2025 14:53:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:51 UTC]    Books columns count: 44
[22-Nov-2025 14:53:51 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:51 UTC]    Language field in books: YES
[22-Nov-2025 14:53:51 UTC]    Format field in books: YES
[22-Nov-2025 14:53:51 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:51 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:53:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:53:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:53:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:53:53 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:53:53 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:53:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:53:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:53:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:53:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:53:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:53:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:53:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:53:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:53:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:53:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:53:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:53:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:53:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:53:53 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:53:53 UTC] 📊 Database Info:
[22-Nov-2025 14:53:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:53:53 UTC]    Books columns count: 44
[22-Nov-2025 14:53:53 UTC]    Categories columns count: 7
[22-Nov-2025 14:53:53 UTC]    Language field in books: YES
[22-Nov-2025 14:53:53 UTC]    Format field in books: YES
[22-Nov-2025 14:53:53 UTC]    Description field in categories: YES
[22-Nov-2025 14:53:53 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:53:53 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:53:53 UTC]    Is_active field in books: YES
[22-Nov-2025 14:53:53 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:53:53 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:53:53 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:53:53 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:53:53 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:53:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:53:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:54:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:54:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:54:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:54:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:54:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:54:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:54:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:54:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:54:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:54:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:54:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:54:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:54:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:54:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:54:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:54:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:54:01 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:54:01 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:54:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:54:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:54:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:54:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:54:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:54:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:54:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:54:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:54:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:54:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:54:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:54:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:54:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:54:01 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:54:01 UTC] 📊 Database Info:
[22-Nov-2025 14:54:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:54:01 UTC]    Books columns count: 44
[22-Nov-2025 14:54:01 UTC]    Categories columns count: 7
[22-Nov-2025 14:54:01 UTC]    Language field in books: YES
[22-Nov-2025 14:54:01 UTC]    Format field in books: YES
[22-Nov-2025 14:54:01 UTC]    Description field in categories: YES
[22-Nov-2025 14:54:01 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:54:01 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:54:01 UTC]    Is_active field in books: YES
[22-Nov-2025 14:54:01 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:54:01 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:54:01 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:54:01 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:54:01 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:54:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:54:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:54:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:54:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:54:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:54:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:54:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:54:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:54:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:54:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:54:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:54:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:54:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:54:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:54:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:54:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:54:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:54:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:54:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:54:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:54:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:54:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:54:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:54:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:54:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:54:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:54:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:54:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:54:07 UTC] 📊 Database Info:
[22-Nov-2025 14:54:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:54:07 UTC]    Books columns count: 44
[22-Nov-2025 14:54:07 UTC]    Categories columns count: 7
[22-Nov-2025 14:54:07 UTC]    Language field in books: YES
[22-Nov-2025 14:54:07 UTC]    Format field in books: YES
[22-Nov-2025 14:54:07 UTC]    Description field in categories: YES
[22-Nov-2025 14:54:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:54:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:54:07 UTC]    Is_active field in books: YES
[22-Nov-2025 14:54:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:54:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:54:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:54:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:54:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:54:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:54:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:54:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:54:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:54:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:54:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:54:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:54:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:54:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:54:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:54:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:54:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:54:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:54:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:54:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:54:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:54:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:54:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:54:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:54:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:54:07 UTC] 📊 Database Info:
[22-Nov-2025 14:54:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:54:07 UTC]    Books columns count: 44
[22-Nov-2025 14:54:07 UTC]    Categories columns count: 7
[22-Nov-2025 14:54:07 UTC]    Language field in books: YES
[22-Nov-2025 14:54:07 UTC]    Format field in books: YES
[22-Nov-2025 14:54:07 UTC]    Description field in categories: YES
[22-Nov-2025 14:54:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:54:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:54:07 UTC]    Is_active field in books: YES
[22-Nov-2025 14:54:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:54:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:54:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:54:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:54:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:54:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:54:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:54:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:54:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:54:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:54:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:54:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:54:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:54:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:54:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:54:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:54:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:54:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:54:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:54:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:54:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:54:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:54:11 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:54:11 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:54:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:54:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:54:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:54:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:54:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:54:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:54:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:54:11 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:54:11 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:54:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:54:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:54:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:54:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:54:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:54:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:54:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:54:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:54:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:54:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:54:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:54:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:54:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:54:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:54:11 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:54:11 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:54:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:54:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:54:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:54:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:54:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:54:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:54:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:54:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:54:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:54:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:54:11 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:54:11 UTC] 📊 Database Info:
[22-Nov-2025 14:54:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:54:11 UTC]    Books columns count: 44
[22-Nov-2025 14:54:11 UTC]    Categories columns count: 7
[22-Nov-2025 14:54:11 UTC]    Language field in books: YES
[22-Nov-2025 14:54:11 UTC]    Format field in books: YES
[22-Nov-2025 14:54:11 UTC]    Description field in categories: YES
[22-Nov-2025 14:54:11 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:54:11 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:54:11 UTC]    Is_active field in books: YES
[22-Nov-2025 14:54:11 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:54:11 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:54:11 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:54:11 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:54:11 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:54:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:54:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:54:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:54:11 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:54:11 UTC] 📊 Database Info:
[22-Nov-2025 14:54:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:54:11 UTC]    Books columns count: 44
[22-Nov-2025 14:54:11 UTC]    Categories columns count: 7
[22-Nov-2025 14:54:11 UTC]    Language field in books: YES
[22-Nov-2025 14:54:11 UTC]    Format field in books: YES
[22-Nov-2025 14:54:11 UTC]    Description field in categories: YES
[22-Nov-2025 14:54:11 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:54:11 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:54:11 UTC]    Is_active field in books: YES
[22-Nov-2025 14:54:11 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:54:11 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:54:11 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:54:11 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:54:11 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:54:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:54:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:54:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:54:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:54:11 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:54:11 UTC] 📊 Database Info:
[22-Nov-2025 14:54:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:54:11 UTC]    Books columns count: 44
[22-Nov-2025 14:54:11 UTC]    Categories columns count: 7
[22-Nov-2025 14:54:11 UTC]    Language field in books: YES
[22-Nov-2025 14:54:11 UTC]    Format field in books: YES
[22-Nov-2025 14:54:11 UTC]    Description field in categories: YES
[22-Nov-2025 14:54:11 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:54:11 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:54:11 UTC]    Is_active field in books: YES
[22-Nov-2025 14:54:11 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:54:11 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:54:11 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:54:11 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:54:11 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:54:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:54:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:54:11 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 14:54:11 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 14:54:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:54:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:54:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:54:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:54:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:54:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 14:54:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:54:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:54:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:54:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:54:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:54:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:54:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:54:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:54:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:54:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:54:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:54:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:54:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:54:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:54:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:54:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:54:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:54:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:54:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:54:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:54:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:54:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:54:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:54:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:54:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:54:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:54:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:54:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:54:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:54:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:54:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 14:54:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:54:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:54:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 14:54:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 14:54:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 14:54:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 14:54:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 14:54:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 14:54:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 14:54:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:54:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:54:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:54:12 UTC] 📊 Database Info:
[22-Nov-2025 14:54:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:54:12 UTC]    Books columns count: 44
[22-Nov-2025 14:54:12 UTC]    Categories columns count: 7
[22-Nov-2025 14:54:12 UTC]    Language field in books: YES
[22-Nov-2025 14:54:12 UTC]    Format field in books: YES
[22-Nov-2025 14:54:12 UTC]    Description field in categories: YES
[22-Nov-2025 14:54:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:54:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:54:12 UTC]    Is_active field in books: YES
[22-Nov-2025 14:54:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:54:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:54:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:54:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:54:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:54:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:54:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:54:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:54:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 14:54:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:54:12 UTC] 📊 Database Info:
[22-Nov-2025 14:54:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:54:12 UTC]    Books columns count: 44
[22-Nov-2025 14:54:12 UTC]    Categories columns count: 7
[22-Nov-2025 14:54:12 UTC]    Language field in books: YES
[22-Nov-2025 14:54:12 UTC]    Format field in books: YES
[22-Nov-2025 14:54:12 UTC]    Description field in categories: YES
[22-Nov-2025 14:54:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:54:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:54:12 UTC]    Is_active field in books: YES
[22-Nov-2025 14:54:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:54:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:54:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:54:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 14:54:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 14:54:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 14:54:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 14:54:12 UTC] 📊 Database Info:
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:54:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 14:54:12 UTC]    Books columns count: 44
[22-Nov-2025 14:54:12 UTC]    Categories columns count: 7
[22-Nov-2025 14:54:12 UTC]    Language field in books: YES
[22-Nov-2025 14:54:12 UTC]    Format field in books: YES
[22-Nov-2025 14:54:12 UTC]    Description field in categories: YES
[22-Nov-2025 14:54:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 14:54:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 14:54:12 UTC]    Is_active field in books: YES
[22-Nov-2025 14:54:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 14:54:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:54:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 14:54:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 14:54:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 14:54:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 14:54:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 14:54:12 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 14:54:12 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:01:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:01:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:01:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:01:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:01:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:01:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:01:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:01:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:01:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:01:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:01:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:01:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:01:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:01:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:01:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:01:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:01:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:01:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:01:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:01:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:01:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:01:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:01:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:01:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:01:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:01:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:01:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:01:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:01:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:01:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:01:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:01:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:01:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:01:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:01:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:01:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:01:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:01:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:01:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:01:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:01:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:01:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:01:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:01:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:01:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:01:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:01:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:01:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:01:40 UTC] 📊 Database Info:
[22-Nov-2025 15:01:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:01:40 UTC]    Books columns count: 44
[22-Nov-2025 15:01:40 UTC]    Categories columns count: 7
[22-Nov-2025 15:01:40 UTC]    Language field in books: YES
[22-Nov-2025 15:01:40 UTC]    Format field in books: YES
[22-Nov-2025 15:01:40 UTC]    Description field in categories: YES
[22-Nov-2025 15:01:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:01:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:01:40 UTC]    Is_active field in books: YES
[22-Nov-2025 15:01:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:01:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:01:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:01:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:01:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:01:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:01:40 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 15:01:40 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 15:01:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:01:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:01:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:01:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:01:40 UTC] 📊 Database Info:
[22-Nov-2025 15:01:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:01:40 UTC]    Books columns count: 44
[22-Nov-2025 15:01:40 UTC]    Categories columns count: 7
[22-Nov-2025 15:01:40 UTC]    Language field in books: YES
[22-Nov-2025 15:01:40 UTC]    Format field in books: YES
[22-Nov-2025 15:01:40 UTC]    Description field in categories: YES
[22-Nov-2025 15:01:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:01:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:01:40 UTC]    Is_active field in books: YES
[22-Nov-2025 15:01:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:01:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:01:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:01:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:01:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:01:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:01:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:01:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:01:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:01:40 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 15:01:40 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 15:01:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:01:40 UTC] 📊 Database Info:
[22-Nov-2025 15:01:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:01:40 UTC]    Books columns count: 44
[22-Nov-2025 15:01:40 UTC]    Categories columns count: 7
[22-Nov-2025 15:01:40 UTC]    Language field in books: YES
[22-Nov-2025 15:01:40 UTC]    Format field in books: YES
[22-Nov-2025 15:01:40 UTC]    Description field in categories: YES
[22-Nov-2025 15:01:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:01:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:01:40 UTC]    Is_active field in books: YES
[22-Nov-2025 15:01:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:01:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:01:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:01:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:01:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:01:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:01:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:01:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:01:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:01:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:01:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:01:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:01:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:01:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:01:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:01:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:01:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:01:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:01:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:01:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:01:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:01:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:01:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:01:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:01:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:01:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:01:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:01:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:01:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:01:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:01:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:01:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:01:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:01:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:01:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:01:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:01:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:01:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:01:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:01:44 UTC] 📊 Database Info:
[22-Nov-2025 15:01:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:01:44 UTC]    Books columns count: 44
[22-Nov-2025 15:01:44 UTC]    Categories columns count: 7
[22-Nov-2025 15:01:44 UTC]    Language field in books: YES
[22-Nov-2025 15:01:44 UTC]    Format field in books: YES
[22-Nov-2025 15:01:44 UTC]    Description field in categories: YES
[22-Nov-2025 15:01:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:01:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:01:44 UTC]    Is_active field in books: YES
[22-Nov-2025 15:01:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:01:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:01:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:01:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:01:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:01:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:01:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:01:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:01:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:01:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:01:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:01:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:01:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:01:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:01:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:01:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:01:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:01:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:01:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:01:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:01:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:01:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:01:47 UTC] 📊 Database Info:
[22-Nov-2025 15:01:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:01:47 UTC]    Books columns count: 44
[22-Nov-2025 15:01:47 UTC]    Categories columns count: 7
[22-Nov-2025 15:01:47 UTC]    Language field in books: YES
[22-Nov-2025 15:01:47 UTC]    Format field in books: YES
[22-Nov-2025 15:01:47 UTC]    Description field in categories: YES
[22-Nov-2025 15:01:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:01:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:01:47 UTC]    Is_active field in books: YES
[22-Nov-2025 15:01:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:01:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:01:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:01:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:01:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:01:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:01:47 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 15:01:47 UTC] ?? Processing: home_screen - show_welcome_section: false
[22-Nov-2025 15:01:47 UTC] ❌ Database error: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'show_welcome_section' at row 1
[22-Nov-2025 15:01:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:01:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:01:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:01:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:01:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:01:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:01:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:01:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:01:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:01:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:01:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:01:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:01:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:01:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:01:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:01:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:01:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:01:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:01:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:01:47 UTC] 📊 Database Info:
[22-Nov-2025 15:01:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:01:47 UTC]    Books columns count: 44
[22-Nov-2025 15:01:47 UTC]    Categories columns count: 7
[22-Nov-2025 15:01:47 UTC]    Language field in books: YES
[22-Nov-2025 15:01:47 UTC]    Format field in books: YES
[22-Nov-2025 15:01:47 UTC]    Description field in categories: YES
[22-Nov-2025 15:01:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:01:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:01:47 UTC]    Is_active field in books: YES
[22-Nov-2025 15:01:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:01:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:01:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:01:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:01:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:01:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:01:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:01:47 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 15:01:47 UTC] ?? Processing: profile_screen - show_welcome_section: false
[22-Nov-2025 15:01:47 UTC] ❌ Database error: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'show_welcome_section' at row 1
[22-Nov-2025 15:02:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:02:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:02:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:02:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:02:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:02:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:02:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:02:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:02:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:02:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:02:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:02:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:02:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:02:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:02:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:02:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:02:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:02:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:02:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:02:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:02:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:02:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:02:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:02:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:02:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:02:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:02:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:02:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:02:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:02:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:02:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:02:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:02:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:02:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:02:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:02:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:02:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:02:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:02:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:02:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:02:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:02:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:02:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:02:40 UTC] 📊 Database Info:
[22-Nov-2025 15:02:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:02:40 UTC]    Books columns count: 44
[22-Nov-2025 15:02:40 UTC]    Categories columns count: 7
[22-Nov-2025 15:02:40 UTC]    Language field in books: YES
[22-Nov-2025 15:02:40 UTC]    Format field in books: YES
[22-Nov-2025 15:02:40 UTC]    Description field in categories: YES
[22-Nov-2025 15:02:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:02:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:02:40 UTC]    Is_active field in books: YES
[22-Nov-2025 15:02:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:02:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:02:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:02:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:02:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:02:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:02:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:02:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:02:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:02:40 UTC] 📊 Database Info:
[22-Nov-2025 15:02:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:02:40 UTC]    Books columns count: 44
[22-Nov-2025 15:02:40 UTC]    Categories columns count: 7
[22-Nov-2025 15:02:40 UTC]    Language field in books: YES
[22-Nov-2025 15:02:40 UTC]    Format field in books: YES
[22-Nov-2025 15:02:40 UTC]    Description field in categories: YES
[22-Nov-2025 15:02:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:02:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:02:40 UTC]    Is_active field in books: YES
[22-Nov-2025 15:02:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:02:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:02:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:02:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:02:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:02:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:02:40 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 15:02:40 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:02:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:02:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:02:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:02:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:02:40 UTC] 📊 Database Info:
[22-Nov-2025 15:02:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:02:40 UTC]    Books columns count: 44
[22-Nov-2025 15:02:40 UTC]    Categories columns count: 7
[22-Nov-2025 15:02:40 UTC]    Language field in books: YES
[22-Nov-2025 15:02:40 UTC]    Format field in books: YES
[22-Nov-2025 15:02:40 UTC]    Description field in categories: YES
[22-Nov-2025 15:02:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:02:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:02:40 UTC]    Is_active field in books: YES
[22-Nov-2025 15:02:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:02:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:02:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:02:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:02:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:02:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:03:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:03:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:03:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:03:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:03:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:03:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:03:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:03:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:03:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:03:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:03:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:03:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:03:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:03:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:03:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:03:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:03:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:03:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:03:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:03:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:03:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:03:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:03:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:03:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:03:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:03:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:03:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:03:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:03:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:03:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:03:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:03:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:03:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:03:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:03:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:03:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:03:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:03:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:03:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:03:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:03:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:03:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:03:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:03:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:03:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:03:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:03:15 UTC] 📊 Database Info:
[22-Nov-2025 15:03:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:03:15 UTC]    Books columns count: 44
[22-Nov-2025 15:03:15 UTC]    Categories columns count: 7
[22-Nov-2025 15:03:15 UTC]    Language field in books: YES
[22-Nov-2025 15:03:15 UTC]    Format field in books: YES
[22-Nov-2025 15:03:15 UTC]    Description field in categories: YES
[22-Nov-2025 15:03:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:03:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:03:15 UTC]    Is_active field in books: YES
[22-Nov-2025 15:03:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:03:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:03:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:03:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:03:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:03:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:03:15 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 15:03:15 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 15:03:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:03:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:03:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:03:15 UTC] 📊 Database Info:
[22-Nov-2025 15:03:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:03:15 UTC]    Books columns count: 44
[22-Nov-2025 15:03:15 UTC]    Categories columns count: 7
[22-Nov-2025 15:03:15 UTC]    Language field in books: YES
[22-Nov-2025 15:03:15 UTC]    Format field in books: YES
[22-Nov-2025 15:03:15 UTC]    Description field in categories: YES
[22-Nov-2025 15:03:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:03:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:03:15 UTC]    Is_active field in books: YES
[22-Nov-2025 15:03:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:03:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:03:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:03:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:03:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:03:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:03:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:03:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:03:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:03:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:03:15 UTC] 📊 Database Info:
[22-Nov-2025 15:03:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:03:15 UTC]    Books columns count: 44
[22-Nov-2025 15:03:15 UTC]    Categories columns count: 7
[22-Nov-2025 15:03:15 UTC]    Language field in books: YES
[22-Nov-2025 15:03:15 UTC]    Format field in books: YES
[22-Nov-2025 15:03:15 UTC]    Description field in categories: YES
[22-Nov-2025 15:03:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:03:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:03:15 UTC]    Is_active field in books: YES
[22-Nov-2025 15:03:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:03:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:03:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:03:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:03:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:03:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:03:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:03:15 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 15:03:15 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 15:03:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:03:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:03:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:03:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:03:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:03:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:03:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:03:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:03:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:03:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:03:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:03:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:03:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:03:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:03:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:03:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:03:18 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:03:18 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:03:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:03:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:03:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:03:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:03:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:03:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:03:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:03:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:03:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:03:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:03:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:03:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:03:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:03:18 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:03:18 UTC] 📊 Database Info:
[22-Nov-2025 15:03:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:03:18 UTC]    Books columns count: 44
[22-Nov-2025 15:03:18 UTC]    Categories columns count: 7
[22-Nov-2025 15:03:18 UTC]    Language field in books: YES
[22-Nov-2025 15:03:18 UTC]    Format field in books: YES
[22-Nov-2025 15:03:18 UTC]    Description field in categories: YES
[22-Nov-2025 15:03:18 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:03:18 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:03:18 UTC]    Is_active field in books: YES
[22-Nov-2025 15:03:18 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:03:18 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:03:18 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:03:18 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:03:18 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:03:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:03:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:03:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:03:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:03:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:03:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:03:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:03:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:03:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:03:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:03:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:03:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:03:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:03:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:03:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:03:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:03:25 UTC] 📊 Database Info:
[22-Nov-2025 15:03:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:03:25 UTC]    Books columns count: 44
[22-Nov-2025 15:03:25 UTC]    Categories columns count: 7
[22-Nov-2025 15:03:25 UTC]    Language field in books: YES
[22-Nov-2025 15:03:25 UTC]    Format field in books: YES
[22-Nov-2025 15:03:25 UTC]    Description field in categories: YES
[22-Nov-2025 15:03:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:03:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:03:25 UTC]    Is_active field in books: YES
[22-Nov-2025 15:03:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:03:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:03:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:03:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:03:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:03:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:03:25 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 15:03:25 UTC] ?? Processing: home_screen - show_welcome_section: false
[22-Nov-2025 15:03:25 UTC] ❌ Database error: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'show_welcome_section' at row 1
[22-Nov-2025 15:03:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:03:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:03:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:03:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:03:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:03:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:03:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:03:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:03:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:03:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:03:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:03:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:03:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:03:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:03:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:03:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:03:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:03:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:03:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:03:25 UTC] 📊 Database Info:
[22-Nov-2025 15:03:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:03:25 UTC]    Books columns count: 44
[22-Nov-2025 15:03:25 UTC]    Categories columns count: 7
[22-Nov-2025 15:03:25 UTC]    Language field in books: YES
[22-Nov-2025 15:03:25 UTC]    Format field in books: YES
[22-Nov-2025 15:03:25 UTC]    Description field in categories: YES
[22-Nov-2025 15:03:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:03:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:03:25 UTC]    Is_active field in books: YES
[22-Nov-2025 15:03:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:03:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:03:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:03:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:03:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:03:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:03:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:03:25 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 15:03:25 UTC] ?? Processing: profile_screen - show_welcome_section: false
[22-Nov-2025 15:03:25 UTC] ❌ Database error: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'show_welcome_section' at row 1
[22-Nov-2025 15:06:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:06:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:06:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:06:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:06:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:06:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:06:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:06:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:06:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:06:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:06:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:06:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:06:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:06:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:06:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:06:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:06:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:06:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:06:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:06:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:06:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:06:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:06:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:06:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:06:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:06:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:06:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:06:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:06:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:06:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:06:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:06:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:06:50 UTC] 📊 Database Info:
[22-Nov-2025 15:06:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:06:50 UTC]    Books columns count: 44
[22-Nov-2025 15:06:50 UTC]    Categories columns count: 7
[22-Nov-2025 15:06:50 UTC]    Language field in books: YES
[22-Nov-2025 15:06:50 UTC]    Format field in books: YES
[22-Nov-2025 15:06:50 UTC]    Description field in categories: YES
[22-Nov-2025 15:06:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:06:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:06:50 UTC]    Is_active field in books: YES
[22-Nov-2025 15:06:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:06:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:06:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:06:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:06:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:06:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:06:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:06:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:06:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:06:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:06:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:06:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:06:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:06:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:06:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:06:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:06:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:06:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:06:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:06:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:06:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:06:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:06:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:06:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:06:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:06:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:06:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:06:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:06:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:06:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:06:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:06:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:06:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:06:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:06:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:06:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:06:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:06:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:06:51 UTC] 📊 Database Info:
[22-Nov-2025 15:06:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:06:51 UTC]    Books columns count: 44
[22-Nov-2025 15:06:51 UTC]    Categories columns count: 7
[22-Nov-2025 15:06:51 UTC]    Language field in books: YES
[22-Nov-2025 15:06:51 UTC]    Format field in books: YES
[22-Nov-2025 15:06:51 UTC]    Description field in categories: YES
[22-Nov-2025 15:06:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:06:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:06:51 UTC]    Is_active field in books: YES
[22-Nov-2025 15:06:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:06:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:06:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:06:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:06:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:06:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:06:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:06:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:06:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:06:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:06:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:06:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:06:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:06:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:06:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:06:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:06:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:06:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:06:51 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 15:06:51 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:06:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:06:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:06:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:06:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:06:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:06:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:06:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:06:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:06:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:06:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:06:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:06:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:06:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:06:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:06:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:06:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:06:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:06:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:06:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:06:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:06:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:06:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:06:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:06:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:06:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:06:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:06:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:06:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:06:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:06:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:06:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:06:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:06:52 UTC] 📊 Database Info:
[22-Nov-2025 15:06:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:06:52 UTC]    Books columns count: 44
[22-Nov-2025 15:06:52 UTC]    Categories columns count: 7
[22-Nov-2025 15:06:52 UTC]    Language field in books: YES
[22-Nov-2025 15:06:52 UTC]    Format field in books: YES
[22-Nov-2025 15:06:52 UTC]    Description field in categories: YES
[22-Nov-2025 15:06:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:06:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:06:52 UTC]    Is_active field in books: YES
[22-Nov-2025 15:06:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:06:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:06:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:06:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:06:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:06:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:06:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:02 UTC] 📊 Database Info:
[22-Nov-2025 15:09:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:02 UTC]    Books columns count: 44
[22-Nov-2025 15:09:02 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:02 UTC]    Language field in books: YES
[22-Nov-2025 15:09:02 UTC]    Format field in books: YES
[22-Nov-2025 15:09:02 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:02 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:02 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 15:09:02 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 15:09:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:02 UTC] 📊 Database Info:
[22-Nov-2025 15:09:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:02 UTC]    Books columns count: 44
[22-Nov-2025 15:09:02 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:02 UTC]    Language field in books: YES
[22-Nov-2025 15:09:02 UTC]    Format field in books: YES
[22-Nov-2025 15:09:02 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:02 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:02 UTC] 📊 Database Info:
[22-Nov-2025 15:09:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:02 UTC]    Books columns count: 44
[22-Nov-2025 15:09:02 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:02 UTC]    Language field in books: YES
[22-Nov-2025 15:09:02 UTC]    Format field in books: YES
[22-Nov-2025 15:09:02 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:02 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:09:02 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 15:09:02 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 15:09:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:03 UTC] 📊 Database Info:
[22-Nov-2025 15:09:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:03 UTC]    Books columns count: 44
[22-Nov-2025 15:09:03 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:03 UTC]    Language field in books: YES
[22-Nov-2025 15:09:03 UTC]    Format field in books: YES
[22-Nov-2025 15:09:03 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:03 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:09 UTC] 📊 Database Info:
[22-Nov-2025 15:09:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:09 UTC]    Books columns count: 44
[22-Nov-2025 15:09:09 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:09 UTC]    Language field in books: YES
[22-Nov-2025 15:09:09 UTC]    Format field in books: YES
[22-Nov-2025 15:09:09 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:09 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:09 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 15:09:09 UTC] ?? Processing: home_screen - show_welcome_section: 0
[22-Nov-2025 15:09:09 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[22-Nov-2025 15:09:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:09 UTC] 📊 Database Info:
[22-Nov-2025 15:09:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:09 UTC]    Books columns count: 44
[22-Nov-2025 15:09:09 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:09 UTC]    Language field in books: YES
[22-Nov-2025 15:09:09 UTC]    Format field in books: YES
[22-Nov-2025 15:09:09 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:09 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:09 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[22-Nov-2025 15:09:09 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[22-Nov-2025 15:09:09 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[22-Nov-2025 15:09:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:15 UTC] 📊 Database Info:
[22-Nov-2025 15:09:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:15 UTC]    Books columns count: 44
[22-Nov-2025 15:09:15 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:15 UTC]    Language field in books: YES
[22-Nov-2025 15:09:15 UTC]    Format field in books: YES
[22-Nov-2025 15:09:15 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:15 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:15 UTC] 📊 Database Info:
[22-Nov-2025 15:09:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:15 UTC]    Books columns count: 44
[22-Nov-2025 15:09:15 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:15 UTC]    Language field in books: YES
[22-Nov-2025 15:09:15 UTC]    Format field in books: YES
[22-Nov-2025 15:09:15 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:15 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:15 UTC] 📊 Database Info:
[22-Nov-2025 15:09:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:15 UTC]    Books columns count: 44
[22-Nov-2025 15:09:15 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:15 UTC]    Language field in books: YES
[22-Nov-2025 15:09:15 UTC]    Format field in books: YES
[22-Nov-2025 15:09:15 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:15 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:15 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 15:09:15 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:09:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:20 UTC] 📊 Database Info:
[22-Nov-2025 15:09:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:20 UTC]    Books columns count: 44
[22-Nov-2025 15:09:20 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:20 UTC]    Language field in books: YES
[22-Nov-2025 15:09:20 UTC]    Format field in books: YES
[22-Nov-2025 15:09:20 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:20 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:20 UTC] 📊 Database Info:
[22-Nov-2025 15:09:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:20 UTC]    Books columns count: 44
[22-Nov-2025 15:09:20 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:20 UTC]    Language field in books: YES
[22-Nov-2025 15:09:20 UTC]    Format field in books: YES
[22-Nov-2025 15:09:20 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:20 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:20 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 15:09:20 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:09:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:20 UTC] 📊 Database Info:
[22-Nov-2025 15:09:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:20 UTC]    Books columns count: 44
[22-Nov-2025 15:09:20 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:20 UTC]    Language field in books: YES
[22-Nov-2025 15:09:20 UTC]    Format field in books: YES
[22-Nov-2025 15:09:20 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:20 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:24 UTC] 📊 Database Info:
[22-Nov-2025 15:09:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:24 UTC]    Books columns count: 44
[22-Nov-2025 15:09:24 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:24 UTC]    Language field in books: YES
[22-Nov-2025 15:09:24 UTC]    Format field in books: YES
[22-Nov-2025 15:09:24 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:24 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:24 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 15:09:24 UTC] ?? Processing: home_screen - show_welcome_section: 0
[22-Nov-2025 15:09:24 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[22-Nov-2025 15:09:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:25 UTC] 📊 Database Info:
[22-Nov-2025 15:09:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:25 UTC]    Books columns count: 44
[22-Nov-2025 15:09:25 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:25 UTC]    Language field in books: YES
[22-Nov-2025 15:09:25 UTC]    Format field in books: YES
[22-Nov-2025 15:09:25 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:25 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:25 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 15:09:25 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[22-Nov-2025 15:09:25 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[22-Nov-2025 15:09:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:28 UTC] 📊 Database Info:
[22-Nov-2025 15:09:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:28 UTC]    Books columns count: 44
[22-Nov-2025 15:09:28 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:28 UTC]    Language field in books: YES
[22-Nov-2025 15:09:28 UTC]    Format field in books: YES
[22-Nov-2025 15:09:28 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:28 UTC] 📊 Database Info:
[22-Nov-2025 15:09:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:28 UTC]    Books columns count: 44
[22-Nov-2025 15:09:28 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:28 UTC]    Language field in books: YES
[22-Nov-2025 15:09:28 UTC]    Format field in books: YES
[22-Nov-2025 15:09:28 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:28 UTC] 📊 Database Info:
[22-Nov-2025 15:09:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:28 UTC]    Books columns count: 44
[22-Nov-2025 15:09:28 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:28 UTC]    Language field in books: YES
[22-Nov-2025 15:09:28 UTC]    Format field in books: YES
[22-Nov-2025 15:09:28 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:28 UTC] 📊 Database Info:
[22-Nov-2025 15:09:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:28 UTC]    Books columns count: 44
[22-Nov-2025 15:09:28 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:28 UTC]    Language field in books: YES
[22-Nov-2025 15:09:28 UTC]    Format field in books: YES
[22-Nov-2025 15:09:28 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:09:28 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:09:28 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:28 UTC] 📊 Database Info:
[22-Nov-2025 15:09:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:28 UTC]    Books columns count: 44
[22-Nov-2025 15:09:28 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:28 UTC]    Language field in books: YES
[22-Nov-2025 15:09:28 UTC]    Format field in books: YES
[22-Nov-2025 15:09:28 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:28 UTC] 📊 Database Info:
[22-Nov-2025 15:09:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:28 UTC]    Books columns count: 44
[22-Nov-2025 15:09:28 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:28 UTC]    Language field in books: YES
[22-Nov-2025 15:09:28 UTC]    Format field in books: YES
[22-Nov-2025 15:09:28 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:28 UTC] 📊 Database Info:
[22-Nov-2025 15:09:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:28 UTC]    Books columns count: 44
[22-Nov-2025 15:09:28 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:28 UTC]    Language field in books: YES
[22-Nov-2025 15:09:28 UTC]    Format field in books: YES
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:28 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:28 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:09:28 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:09:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:09:28 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:09:28 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:09:28 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:09:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:29 UTC] 📊 Database Info:
[22-Nov-2025 15:09:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:29 UTC]    Books columns count: 44
[22-Nov-2025 15:09:29 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:29 UTC]    Language field in books: YES
[22-Nov-2025 15:09:29 UTC]    Format field in books: YES
[22-Nov-2025 15:09:29 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:29 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:09:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:09:29 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:09:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:29 UTC] 📊 Database Info:
[22-Nov-2025 15:09:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:29 UTC]    Books columns count: 44
[22-Nov-2025 15:09:29 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:29 UTC]    Language field in books: YES
[22-Nov-2025 15:09:29 UTC]    Format field in books: YES
[22-Nov-2025 15:09:29 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:29 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:09:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:09:29 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:09:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:31 UTC] 📊 Database Info:
[22-Nov-2025 15:09:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:31 UTC]    Books columns count: 44
[22-Nov-2025 15:09:31 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:31 UTC]    Language field in books: YES
[22-Nov-2025 15:09:31 UTC]    Format field in books: YES
[22-Nov-2025 15:09:31 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:31 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:31 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 15:09:31 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:09:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:09:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:09:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:31 UTC] 📊 Database Info:
[22-Nov-2025 15:09:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:31 UTC]    Books columns count: 44
[22-Nov-2025 15:09:31 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:31 UTC]    Language field in books: YES
[22-Nov-2025 15:09:31 UTC]    Format field in books: YES
[22-Nov-2025 15:09:31 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:31 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:09:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:09:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:31 UTC] 📊 Database Info:
[22-Nov-2025 15:09:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:31 UTC]    Books columns count: 44
[22-Nov-2025 15:09:31 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:31 UTC]    Language field in books: YES
[22-Nov-2025 15:09:31 UTC]    Format field in books: YES
[22-Nov-2025 15:09:31 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:31 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:09:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:31 UTC] 📊 Database Info:
[22-Nov-2025 15:09:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:31 UTC]    Books columns count: 44
[22-Nov-2025 15:09:31 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:31 UTC]    Language field in books: YES
[22-Nov-2025 15:09:31 UTC]    Format field in books: YES
[22-Nov-2025 15:09:31 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:31 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:31 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 15:09:31 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:09:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:09:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:09:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:31 UTC] 📊 Database Info:
[22-Nov-2025 15:09:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:31 UTC]    Books columns count: 44
[22-Nov-2025 15:09:31 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:31 UTC]    Language field in books: YES
[22-Nov-2025 15:09:31 UTC]    Format field in books: YES
[22-Nov-2025 15:09:31 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:31 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:09:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:09:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:09:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:09:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:09:31 UTC] 📊 Database Info:
[22-Nov-2025 15:09:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:09:31 UTC]    Books columns count: 44
[22-Nov-2025 15:09:31 UTC]    Categories columns count: 7
[22-Nov-2025 15:09:31 UTC]    Language field in books: YES
[22-Nov-2025 15:09:31 UTC]    Format field in books: YES
[22-Nov-2025 15:09:31 UTC]    Description field in categories: YES
[22-Nov-2025 15:09:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:09:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:09:31 UTC]    Is_active field in books: YES
[22-Nov-2025 15:09:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:09:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:09:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:09:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:09:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:09:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:09:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:10:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:10:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:10:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:10:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:10:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:10:33 UTC] 📊 Database Info:
[22-Nov-2025 15:10:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:10:33 UTC]    Books columns count: 44
[22-Nov-2025 15:10:33 UTC]    Categories columns count: 7
[22-Nov-2025 15:10:33 UTC]    Language field in books: YES
[22-Nov-2025 15:10:33 UTC]    Format field in books: YES
[22-Nov-2025 15:10:33 UTC]    Description field in categories: YES
[22-Nov-2025 15:10:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:10:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:10:33 UTC]    Is_active field in books: YES
[22-Nov-2025 15:10:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:10:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:10:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:10:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:10:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:10:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:10:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:10:33 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenueyy","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 15:10:33 UTC] ?? Processing: home_screen - show_welcome_section: 0
[22-Nov-2025 15:10:33 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[22-Nov-2025 15:10:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:10:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:10:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:10:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:10:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:10:34 UTC] 📊 Database Info:
[22-Nov-2025 15:10:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:10:34 UTC]    Books columns count: 44
[22-Nov-2025 15:10:34 UTC]    Categories columns count: 7
[22-Nov-2025 15:10:34 UTC]    Language field in books: YES
[22-Nov-2025 15:10:34 UTC]    Format field in books: YES
[22-Nov-2025 15:10:34 UTC]    Description field in categories: YES
[22-Nov-2025 15:10:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:10:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:10:34 UTC]    Is_active field in books: YES
[22-Nov-2025 15:10:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:10:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:10:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:10:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:10:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:10:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:10:34 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 15:10:34 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[22-Nov-2025 15:10:34 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[22-Nov-2025 15:10:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:10:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:10:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:10:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:10:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:37 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:10:37 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:10:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:10:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:10:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:10:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:10:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:10:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:10:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:10:38 UTC] 📊 Database Info:
[22-Nov-2025 15:10:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:10:38 UTC]    Books columns count: 44
[22-Nov-2025 15:10:38 UTC]    Categories columns count: 7
[22-Nov-2025 15:10:38 UTC]    Language field in books: YES
[22-Nov-2025 15:10:38 UTC]    Format field in books: YES
[22-Nov-2025 15:10:38 UTC]    Description field in categories: YES
[22-Nov-2025 15:10:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:10:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:10:38 UTC]    Is_active field in books: YES
[22-Nov-2025 15:10:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:10:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:10:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:10:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:10:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:10:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:10:38 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 15:10:38 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:10:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:10:38 UTC] 📊 Database Info:
[22-Nov-2025 15:10:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:10:38 UTC]    Books columns count: 44
[22-Nov-2025 15:10:38 UTC]    Categories columns count: 7
[22-Nov-2025 15:10:38 UTC]    Language field in books: YES
[22-Nov-2025 15:10:38 UTC]    Format field in books: YES
[22-Nov-2025 15:10:38 UTC]    Description field in categories: YES
[22-Nov-2025 15:10:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:10:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:10:38 UTC]    Is_active field in books: YES
[22-Nov-2025 15:10:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:10:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:10:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:10:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:10:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:10:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:10:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:10:38 UTC] 📊 Database Info:
[22-Nov-2025 15:10:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:10:38 UTC]    Books columns count: 44
[22-Nov-2025 15:10:38 UTC]    Categories columns count: 7
[22-Nov-2025 15:10:38 UTC]    Language field in books: YES
[22-Nov-2025 15:10:38 UTC]    Format field in books: YES
[22-Nov-2025 15:10:38 UTC]    Description field in categories: YES
[22-Nov-2025 15:10:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:10:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:10:38 UTC]    Is_active field in books: YES
[22-Nov-2025 15:10:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:10:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:10:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:10:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:10:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:10:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:10:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:10:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:10:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:10:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:10:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:10:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:10:42 UTC] 📊 Database Info:
[22-Nov-2025 15:10:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:10:42 UTC]    Books columns count: 44
[22-Nov-2025 15:10:42 UTC]    Categories columns count: 7
[22-Nov-2025 15:10:42 UTC]    Language field in books: YES
[22-Nov-2025 15:10:42 UTC]    Format field in books: YES
[22-Nov-2025 15:10:42 UTC]    Description field in categories: YES
[22-Nov-2025 15:10:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:10:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:10:42 UTC]    Is_active field in books: YES
[22-Nov-2025 15:10:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:10:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:10:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:10:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:10:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:10:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:10:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:10:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:10:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:10:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:10:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:10:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:10:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:10:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:10:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:10:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:10:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:10:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:10:42 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenueyy","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[22-Nov-2025 15:10:42 UTC] ?? Processing: home_screen - show_welcome_section: 1
[22-Nov-2025 15:10:42 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[22-Nov-2025 15:10:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:10:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:10:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:43 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:10:43 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:10:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:43 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:10:43 UTC] 📊 Database Info:
[22-Nov-2025 15:10:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:10:43 UTC]    Books columns count: 44
[22-Nov-2025 15:10:43 UTC]    Categories columns count: 7
[22-Nov-2025 15:10:43 UTC]    Language field in books: YES
[22-Nov-2025 15:10:43 UTC]    Format field in books: YES
[22-Nov-2025 15:10:43 UTC]    Description field in categories: YES
[22-Nov-2025 15:10:43 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:10:43 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:10:43 UTC]    Is_active field in books: YES
[22-Nov-2025 15:10:43 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:10:43 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:10:43 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:10:43 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:10:43 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:10:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:10:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:10:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:10:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:10:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:10:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:10:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:10:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:10:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:10:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:10:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:10:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:10:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:10:43 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 15:10:43 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[22-Nov-2025 15:10:43 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[22-Nov-2025 15:10:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:10:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:10:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:10:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:10:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:10:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:10:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:10:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:10:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:10:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:10:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:10:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:10:45 UTC] 📊 Database Info:
[22-Nov-2025 15:10:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:10:45 UTC]    Books columns count: 44
[22-Nov-2025 15:10:45 UTC]    Categories columns count: 7
[22-Nov-2025 15:10:45 UTC]    Language field in books: YES
[22-Nov-2025 15:10:45 UTC]    Format field in books: YES
[22-Nov-2025 15:10:45 UTC]    Description field in categories: YES
[22-Nov-2025 15:10:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:10:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:10:45 UTC]    Is_active field in books: YES
[22-Nov-2025 15:10:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:10:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:10:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:10:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:10:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:10:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:10:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:10:45 UTC] 📊 Database Info:
[22-Nov-2025 15:10:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:10:45 UTC]    Books columns count: 44
[22-Nov-2025 15:10:45 UTC]    Categories columns count: 7
[22-Nov-2025 15:10:45 UTC]    Language field in books: YES
[22-Nov-2025 15:10:45 UTC]    Format field in books: YES
[22-Nov-2025 15:10:45 UTC]    Description field in categories: YES
[22-Nov-2025 15:10:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:10:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:10:45 UTC]    Is_active field in books: YES
[22-Nov-2025 15:10:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:10:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:10:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:10:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:10:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:10:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:10:45 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 15:10:45 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:10:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:10:45 UTC] 📊 Database Info:
[22-Nov-2025 15:10:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:10:45 UTC]    Books columns count: 44
[22-Nov-2025 15:10:45 UTC]    Categories columns count: 7
[22-Nov-2025 15:10:45 UTC]    Language field in books: YES
[22-Nov-2025 15:10:45 UTC]    Format field in books: YES
[22-Nov-2025 15:10:45 UTC]    Description field in categories: YES
[22-Nov-2025 15:10:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:10:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:10:45 UTC]    Is_active field in books: YES
[22-Nov-2025 15:10:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:10:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:10:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:10:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:10:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:10:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:10:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:10:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:10:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:10:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:10:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:10:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:10:51 UTC] 📊 Database Info:
[22-Nov-2025 15:10:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:10:51 UTC]    Books columns count: 44
[22-Nov-2025 15:10:51 UTC]    Categories columns count: 7
[22-Nov-2025 15:10:51 UTC]    Language field in books: YES
[22-Nov-2025 15:10:51 UTC]    Format field in books: YES
[22-Nov-2025 15:10:51 UTC]    Description field in categories: YES
[22-Nov-2025 15:10:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:10:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:10:51 UTC]    Is_active field in books: YES
[22-Nov-2025 15:10:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:10:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:10:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:10:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:10:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:10:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:10:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:10:51 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[22-Nov-2025 15:10:51 UTC] ?? Processing: home_screen - show_welcome_section: 1
[22-Nov-2025 15:10:51 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[22-Nov-2025 15:10:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:10:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:10:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:10:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:10:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:10:52 UTC] 📊 Database Info:
[22-Nov-2025 15:10:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:10:52 UTC]    Books columns count: 44
[22-Nov-2025 15:10:52 UTC]    Categories columns count: 7
[22-Nov-2025 15:10:52 UTC]    Language field in books: YES
[22-Nov-2025 15:10:52 UTC]    Format field in books: YES
[22-Nov-2025 15:10:52 UTC]    Description field in categories: YES
[22-Nov-2025 15:10:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:10:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:10:52 UTC]    Is_active field in books: YES
[22-Nov-2025 15:10:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:10:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:10:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:10:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:10:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:10:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:10:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:10:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:10:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:10:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:10:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:10:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:10:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:10:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:10:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:10:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:10:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:10:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:10:52 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 15:10:52 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[22-Nov-2025 15:10:52 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[22-Nov-2025 15:10:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:10:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:10:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:10:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:10:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:10:55 UTC] 📊 Database Info:
[22-Nov-2025 15:10:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:10:55 UTC]    Books columns count: 44
[22-Nov-2025 15:10:55 UTC]    Categories columns count: 7
[22-Nov-2025 15:10:55 UTC]    Language field in books: YES
[22-Nov-2025 15:10:55 UTC]    Format field in books: YES
[22-Nov-2025 15:10:55 UTC]    Description field in categories: YES
[22-Nov-2025 15:10:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:10:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:10:55 UTC]    Is_active field in books: YES
[22-Nov-2025 15:10:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:10:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:10:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:10:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:10:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:10:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:10:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:10:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:10:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:10:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:10:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:10:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:10:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:10:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:10:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:10:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:10:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:10:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:10:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:10:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:10:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:10:58 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:10:58 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:10:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:10:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:10:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:10:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:10:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:10:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:10:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:10:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:10:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:10:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:10:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:10:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:10:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:10:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:10:58 UTC] 📊 Database Info:
[22-Nov-2025 15:10:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:10:58 UTC]    Books columns count: 44
[22-Nov-2025 15:10:58 UTC]    Categories columns count: 7
[22-Nov-2025 15:10:58 UTC]    Language field in books: YES
[22-Nov-2025 15:10:58 UTC]    Format field in books: YES
[22-Nov-2025 15:10:58 UTC]    Description field in categories: YES
[22-Nov-2025 15:10:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:10:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:10:58 UTC]    Is_active field in books: YES
[22-Nov-2025 15:10:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:10:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:10:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:10:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:10:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:10:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:10:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:01 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:01 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:01 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:01 UTC] 📊 Database Info:
[22-Nov-2025 15:11:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:01 UTC]    Books columns count: 44
[22-Nov-2025 15:11:01 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:01 UTC]    Language field in books: YES
[22-Nov-2025 15:11:01 UTC]    Format field in books: YES
[22-Nov-2025 15:11:01 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:01 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:01 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:01 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:01 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:01 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:01 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:01 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:01 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:05 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:05 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:06 UTC] 📊 Database Info:
[22-Nov-2025 15:11:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:06 UTC]    Books columns count: 44
[22-Nov-2025 15:11:06 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:06 UTC]    Language field in books: YES
[22-Nov-2025 15:11:06 UTC]    Format field in books: YES
[22-Nov-2025 15:11:06 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:06 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:09 UTC] 📊 Database Info:
[22-Nov-2025 15:11:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:09 UTC]    Books columns count: 44
[22-Nov-2025 15:11:09 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:09 UTC]    Language field in books: YES
[22-Nov-2025 15:11:09 UTC]    Format field in books: YES
[22-Nov-2025 15:11:09 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:09 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:16 UTC] 📊 Database Info:
[22-Nov-2025 15:11:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:16 UTC]    Books columns count: 44
[22-Nov-2025 15:11:16 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:16 UTC]    Language field in books: YES
[22-Nov-2025 15:11:16 UTC]    Format field in books: YES
[22-Nov-2025 15:11:16 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:16 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:23 UTC] 📊 Database Info:
[22-Nov-2025 15:11:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:23 UTC]    Books columns count: 44
[22-Nov-2025 15:11:23 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:23 UTC]    Language field in books: YES
[22-Nov-2025 15:11:23 UTC]    Format field in books: YES
[22-Nov-2025 15:11:23 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:23 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:23 UTC] 📊 Database Info:
[22-Nov-2025 15:11:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:23 UTC]    Books columns count: 44
[22-Nov-2025 15:11:23 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:23 UTC]    Language field in books: YES
[22-Nov-2025 15:11:23 UTC]    Format field in books: YES
[22-Nov-2025 15:11:23 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:23 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:23 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 15:11:23 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:11:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:23 UTC] 📊 Database Info:
[22-Nov-2025 15:11:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:23 UTC]    Books columns count: 44
[22-Nov-2025 15:11:23 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:23 UTC]    Language field in books: YES
[22-Nov-2025 15:11:23 UTC]    Format field in books: YES
[22-Nov-2025 15:11:23 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:23 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:23 UTC] 📊 Database Info:
[22-Nov-2025 15:11:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:23 UTC]    Books columns count: 44
[22-Nov-2025 15:11:23 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:23 UTC]    Language field in books: YES
[22-Nov-2025 15:11:23 UTC]    Format field in books: YES
[22-Nov-2025 15:11:23 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:23 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:24 UTC] 📊 Database Info:
[22-Nov-2025 15:11:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:24 UTC]    Books columns count: 44
[22-Nov-2025 15:11:24 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:24 UTC]    Language field in books: YES
[22-Nov-2025 15:11:24 UTC]    Format field in books: YES
[22-Nov-2025 15:11:24 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:24 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:24 UTC] 📊 Database Info:
[22-Nov-2025 15:11:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:24 UTC]    Books columns count: 44
[22-Nov-2025 15:11:24 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:24 UTC]    Language field in books: YES
[22-Nov-2025 15:11:24 UTC]    Format field in books: YES
[22-Nov-2025 15:11:24 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:24 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:24 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 15:11:24 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:11:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:25 UTC] 📊 Database Info:
[22-Nov-2025 15:11:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:25 UTC]    Books columns count: 44
[22-Nov-2025 15:11:25 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:25 UTC]    Language field in books: YES
[22-Nov-2025 15:11:25 UTC]    Format field in books: YES
[22-Nov-2025 15:11:25 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:25 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:29 UTC] 📊 Database Info:
[22-Nov-2025 15:11:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:29 UTC]    Books columns count: 44
[22-Nov-2025 15:11:29 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:29 UTC]    Language field in books: YES
[22-Nov-2025 15:11:29 UTC]    Format field in books: YES
[22-Nov-2025 15:11:29 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:29 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:29 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 15:11:29 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:11:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:30 UTC] 📊 Database Info:
[22-Nov-2025 15:11:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:30 UTC]    Books columns count: 44
[22-Nov-2025 15:11:30 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:30 UTC]    Language field in books: YES
[22-Nov-2025 15:11:30 UTC]    Format field in books: YES
[22-Nov-2025 15:11:30 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:30 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:30 UTC] 📊 Database Info:
[22-Nov-2025 15:11:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:30 UTC]    Books columns count: 44
[22-Nov-2025 15:11:30 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:30 UTC]    Language field in books: YES
[22-Nov-2025 15:11:30 UTC]    Format field in books: YES
[22-Nov-2025 15:11:30 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:30 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:30 UTC] 📊 Database Info:
[22-Nov-2025 15:11:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:30 UTC]    Books columns count: 44
[22-Nov-2025 15:11:30 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:30 UTC]    Language field in books: YES
[22-Nov-2025 15:11:30 UTC]    Format field in books: YES
[22-Nov-2025 15:11:30 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:30 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:30 UTC] 📊 Database Info:
[22-Nov-2025 15:11:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:30 UTC]    Books columns count: 44
[22-Nov-2025 15:11:30 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:30 UTC]    Language field in books: YES
[22-Nov-2025 15:11:30 UTC]    Format field in books: YES
[22-Nov-2025 15:11:30 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:30 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:30 UTC] 📊 Database Info:
[22-Nov-2025 15:11:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:30 UTC]    Books columns count: 44
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:30 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:30 UTC]    Language field in books: YES
[22-Nov-2025 15:11:30 UTC]    Format field in books: YES
[22-Nov-2025 15:11:30 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:30 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:30 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 15:11:30 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:11:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:35 UTC] 📊 Database Info:
[22-Nov-2025 15:11:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:35 UTC]    Books columns count: 44
[22-Nov-2025 15:11:35 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:35 UTC]    Language field in books: YES
[22-Nov-2025 15:11:35 UTC]    Format field in books: YES
[22-Nov-2025 15:11:35 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:35 UTC] 📊 Database Info:
[22-Nov-2025 15:11:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:35 UTC]    Books columns count: 44
[22-Nov-2025 15:11:35 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:35 UTC]    Language field in books: YES
[22-Nov-2025 15:11:35 UTC]    Format field in books: YES
[22-Nov-2025 15:11:35 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:35 UTC] 📊 Database Info:
[22-Nov-2025 15:11:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:35 UTC]    Books columns count: 44
[22-Nov-2025 15:11:35 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:35 UTC]    Language field in books: YES
[22-Nov-2025 15:11:35 UTC]    Format field in books: YES
[22-Nov-2025 15:11:35 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:11:35 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:11:35 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:11:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:35 UTC] 📊 Database Info:
[22-Nov-2025 15:11:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:35 UTC]    Books columns count: 44
[22-Nov-2025 15:11:35 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:35 UTC]    Language field in books: YES
[22-Nov-2025 15:11:35 UTC]    Format field in books: YES
[22-Nov-2025 15:11:35 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:11:35 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:11:35 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:11:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:35 UTC] 📊 Database Info:
[22-Nov-2025 15:11:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:35 UTC]    Books columns count: 44
[22-Nov-2025 15:11:35 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:35 UTC]    Language field in books: YES
[22-Nov-2025 15:11:35 UTC]    Format field in books: YES
[22-Nov-2025 15:11:35 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:35 UTC] 📊 Database Info:
[22-Nov-2025 15:11:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:35 UTC]    Books columns count: 44
[22-Nov-2025 15:11:35 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:35 UTC]    Language field in books: YES
[22-Nov-2025 15:11:35 UTC]    Format field in books: YES
[22-Nov-2025 15:11:35 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:11:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:35 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:11:35 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:11:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:35 UTC] 📊 Database Info:
[22-Nov-2025 15:11:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:35 UTC]    Books columns count: 44
[22-Nov-2025 15:11:35 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:35 UTC]    Language field in books: YES
[22-Nov-2025 15:11:35 UTC]    Format field in books: YES
[22-Nov-2025 15:11:35 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:35 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:36 UTC] 📊 Database Info:
[22-Nov-2025 15:11:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:36 UTC]    Books columns count: 44
[22-Nov-2025 15:11:36 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:36 UTC]    Language field in books: YES
[22-Nov-2025 15:11:36 UTC]    Format field in books: YES
[22-Nov-2025 15:11:36 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:36 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:11:36 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:36 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:36 UTC] 📊 Database Info:
[22-Nov-2025 15:11:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:36 UTC]    Books columns count: 44
[22-Nov-2025 15:11:36 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:36 UTC]    Language field in books: YES
[22-Nov-2025 15:11:36 UTC]    Format field in books: YES
[22-Nov-2025 15:11:36 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:36 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:11:36 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:11:36 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:11:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:36 UTC] 📊 Database Info:
[22-Nov-2025 15:11:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:36 UTC]    Books columns count: 44
[22-Nov-2025 15:11:36 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:36 UTC]    Language field in books: YES
[22-Nov-2025 15:11:36 UTC]    Format field in books: YES
[22-Nov-2025 15:11:36 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:36 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:11:36 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:11:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:36 UTC] 📊 Database Info:
[22-Nov-2025 15:11:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:36 UTC]    Books columns count: 44
[22-Nov-2025 15:11:36 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:36 UTC]    Language field in books: YES
[22-Nov-2025 15:11:36 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:11:36 UTC]    Format field in books: YES
[22-Nov-2025 15:11:36 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:36 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:11:36 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:11:36 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:11:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:36 UTC] 📊 Database Info:
[22-Nov-2025 15:11:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:36 UTC]    Books columns count: 44
[22-Nov-2025 15:11:36 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:36 UTC]    Language field in books: YES
[22-Nov-2025 15:11:36 UTC]    Format field in books: YES
[22-Nov-2025 15:11:36 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:36 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:11:36 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:11:36 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:11:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:42 UTC] 📊 Database Info:
[22-Nov-2025 15:11:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:42 UTC]    Books columns count: 44
[22-Nov-2025 15:11:42 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:42 UTC]    Language field in books: YES
[22-Nov-2025 15:11:42 UTC]    Format field in books: YES
[22-Nov-2025 15:11:42 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:42 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:47 UTC] 📊 Database Info:
[22-Nov-2025 15:11:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:47 UTC]    Books columns count: 44
[22-Nov-2025 15:11:47 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:47 UTC]    Language field in books: YES
[22-Nov-2025 15:11:47 UTC]    Format field in books: YES
[22-Nov-2025 15:11:47 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:47 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:47 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[22-Nov-2025 15:11:47 UTC] ?? Processing: home_screen - show_welcome_section: 1
[22-Nov-2025 15:11:47 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[22-Nov-2025 15:11:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:47 UTC] 📊 Database Info:
[22-Nov-2025 15:11:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:47 UTC]    Books columns count: 44
[22-Nov-2025 15:11:47 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:47 UTC]    Language field in books: YES
[22-Nov-2025 15:11:47 UTC]    Format field in books: YES
[22-Nov-2025 15:11:47 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:47 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:47 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[22-Nov-2025 15:11:47 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[22-Nov-2025 15:11:47 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[22-Nov-2025 15:11:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:50 UTC] 📊 Database Info:
[22-Nov-2025 15:11:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:50 UTC]    Books columns count: 44
[22-Nov-2025 15:11:50 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:50 UTC]    Language field in books: YES
[22-Nov-2025 15:11:50 UTC]    Format field in books: YES
[22-Nov-2025 15:11:50 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:50 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:50 UTC] 📊 Database Info:
[22-Nov-2025 15:11:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:50 UTC]    Books columns count: 44
[22-Nov-2025 15:11:50 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:50 UTC]    Language field in books: YES
[22-Nov-2025 15:11:50 UTC]    Format field in books: YES
[22-Nov-2025 15:11:50 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:50 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:11:50 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:11:50 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:11:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:50 UTC] 📊 Database Info:
[22-Nov-2025 15:11:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:50 UTC]    Books columns count: 44
[22-Nov-2025 15:11:50 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:50 UTC]    Language field in books: YES
[22-Nov-2025 15:11:50 UTC]    Format field in books: YES
[22-Nov-2025 15:11:50 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:50 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:51 UTC] 📊 Database Info:
[22-Nov-2025 15:11:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:51 UTC]    Books columns count: 44
[22-Nov-2025 15:11:51 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:51 UTC]    Language field in books: YES
[22-Nov-2025 15:11:51 UTC]    Format field in books: YES
[22-Nov-2025 15:11:51 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:51 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:51 UTC] 📊 Database Info:
[22-Nov-2025 15:11:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:51 UTC]    Books columns count: 44
[22-Nov-2025 15:11:51 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:51 UTC]    Language field in books: YES
[22-Nov-2025 15:11:51 UTC]    Format field in books: YES
[22-Nov-2025 15:11:51 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:51 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:51 UTC] 📊 Database Info:
[22-Nov-2025 15:11:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:51 UTC]    Books columns count: 44
[22-Nov-2025 15:11:51 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:51 UTC]    Language field in books: YES
[22-Nov-2025 15:11:51 UTC]    Format field in books: YES
[22-Nov-2025 15:11:51 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:51 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:11:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:11:51 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:11:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:51 UTC] 📊 Database Info:
[22-Nov-2025 15:11:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:51 UTC]    Books columns count: 44
[22-Nov-2025 15:11:51 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:51 UTC]    Language field in books: YES
[22-Nov-2025 15:11:51 UTC]    Format field in books: YES
[22-Nov-2025 15:11:51 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:51 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:11:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:11:51 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:11:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:52 UTC] 📊 Database Info:
[22-Nov-2025 15:11:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:52 UTC]    Books columns count: 44
[22-Nov-2025 15:11:52 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:52 UTC]    Language field in books: YES
[22-Nov-2025 15:11:52 UTC]    Format field in books: YES
[22-Nov-2025 15:11:52 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:52 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:11:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:11:52 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:11:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:52 UTC] 📊 Database Info:
[22-Nov-2025 15:11:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:52 UTC]    Books columns count: 44
[22-Nov-2025 15:11:52 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:52 UTC]    Language field in books: YES
[22-Nov-2025 15:11:52 UTC]    Format field in books: YES
[22-Nov-2025 15:11:52 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:52 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:11:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:11:52 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:11:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:52 UTC] 📊 Database Info:
[22-Nov-2025 15:11:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:52 UTC]    Books columns count: 44
[22-Nov-2025 15:11:52 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:52 UTC]    Language field in books: YES
[22-Nov-2025 15:11:52 UTC]    Format field in books: YES
[22-Nov-2025 15:11:52 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:52 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:11:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:11:52 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:11:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:52 UTC] 📊 Database Info:
[22-Nov-2025 15:11:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:52 UTC]    Books columns count: 44
[22-Nov-2025 15:11:52 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:52 UTC]    Language field in books: YES
[22-Nov-2025 15:11:52 UTC]    Format field in books: YES
[22-Nov-2025 15:11:52 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:52 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:53 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:53 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:53 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:53 UTC] 📊 Database Info:
[22-Nov-2025 15:11:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:53 UTC]    Books columns count: 44
[22-Nov-2025 15:11:53 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:53 UTC]    Language field in books: YES
[22-Nov-2025 15:11:53 UTC]    Format field in books: YES
[22-Nov-2025 15:11:53 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:53 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:53 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:53 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:53 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:53 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:53 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:53 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:53 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:53 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:53 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:53 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:53 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:53 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:53 UTC] 📊 Database Info:
[22-Nov-2025 15:11:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:53 UTC]    Books columns count: 44
[22-Nov-2025 15:11:53 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:53 UTC]    Language field in books: YES
[22-Nov-2025 15:11:53 UTC]    Format field in books: YES
[22-Nov-2025 15:11:53 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:53 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:53 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:53 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:53 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:53 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:53 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:53 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:53 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:53 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:53 UTC] 📊 Database Info:
[22-Nov-2025 15:11:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:53 UTC]    Books columns count: 44
[22-Nov-2025 15:11:53 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:53 UTC]    Language field in books: YES
[22-Nov-2025 15:11:53 UTC]    Format field in books: YES
[22-Nov-2025 15:11:53 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:53 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:53 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:53 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:53 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:53 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:53 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:53 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:53 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:54 UTC] 📊 Database Info:
[22-Nov-2025 15:11:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:54 UTC]    Books columns count: 44
[22-Nov-2025 15:11:54 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:54 UTC]    Language field in books: YES
[22-Nov-2025 15:11:54 UTC]    Format field in books: YES
[22-Nov-2025 15:11:54 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:54 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:54 UTC] 📊 Database Info:
[22-Nov-2025 15:11:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:54 UTC]    Books columns count: 44
[22-Nov-2025 15:11:54 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:54 UTC]    Language field in books: YES
[22-Nov-2025 15:11:54 UTC]    Format field in books: YES
[22-Nov-2025 15:11:54 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:54 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:54 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 15:11:54 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:11:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:54 UTC] 📊 Database Info:
[22-Nov-2025 15:11:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:54 UTC]    Books columns count: 44
[22-Nov-2025 15:11:54 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:54 UTC]    Language field in books: YES
[22-Nov-2025 15:11:54 UTC]    Format field in books: YES
[22-Nov-2025 15:11:54 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:54 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:54 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 15:11:54 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:11:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:54 UTC] 📊 Database Info:
[22-Nov-2025 15:11:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:54 UTC]    Books columns count: 44
[22-Nov-2025 15:11:54 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:54 UTC]    Language field in books: YES
[22-Nov-2025 15:11:54 UTC]    Format field in books: YES
[22-Nov-2025 15:11:54 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:54 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:11:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:11:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:11:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:11:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:11:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:11:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:11:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:11:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:11:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:11:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:11:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:11:54 UTC] 📊 Database Info:
[22-Nov-2025 15:11:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:11:54 UTC]    Books columns count: 44
[22-Nov-2025 15:11:54 UTC]    Categories columns count: 7
[22-Nov-2025 15:11:54 UTC]    Language field in books: YES
[22-Nov-2025 15:11:54 UTC]    Format field in books: YES
[22-Nov-2025 15:11:54 UTC]    Description field in categories: YES
[22-Nov-2025 15:11:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:11:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:11:54 UTC]    Is_active field in books: YES
[22-Nov-2025 15:11:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:11:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:11:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:11:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:11:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:11:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:11:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:11:54 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 15:11:54 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 15:40:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:33 UTC] 📊 Database Info:
[22-Nov-2025 15:40:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:33 UTC]    Books columns count: 44
[22-Nov-2025 15:40:33 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:33 UTC]    Language field in books: YES
[22-Nov-2025 15:40:33 UTC]    Format field in books: YES
[22-Nov-2025 15:40:33 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:33 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 15:40:33 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 15:40:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:33 UTC] 📊 Database Info:
[22-Nov-2025 15:40:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:33 UTC]    Books columns count: 44
[22-Nov-2025 15:40:33 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:33 UTC]    Language field in books: YES
[22-Nov-2025 15:40:33 UTC]    Format field in books: YES
[22-Nov-2025 15:40:33 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:33 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:33 UTC] 📊 Database Info:
[22-Nov-2025 15:40:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:33 UTC]    Books columns count: 44
[22-Nov-2025 15:40:33 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:33 UTC]    Language field in books: YES
[22-Nov-2025 15:40:33 UTC]    Format field in books: YES
[22-Nov-2025 15:40:33 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:33 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:40:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 15:40:33 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 15:40:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:38 UTC] 📊 Database Info:
[22-Nov-2025 15:40:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:38 UTC]    Books columns count: 44
[22-Nov-2025 15:40:38 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:38 UTC]    Language field in books: YES
[22-Nov-2025 15:40:38 UTC]    Format field in books: YES
[22-Nov-2025 15:40:38 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:38 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:41 UTC] 📊 Database Info:
[22-Nov-2025 15:40:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:41 UTC]    Books columns count: 44
[22-Nov-2025 15:40:41 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:41 UTC]    Language field in books: YES
[22-Nov-2025 15:40:41 UTC]    Format field in books: YES
[22-Nov-2025 15:40:41 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:41 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:41 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 15:40:41 UTC] ?? Processing: home_screen - show_welcome_section: 0
[22-Nov-2025 15:40:41 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[22-Nov-2025 15:40:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:41 UTC] 📊 Database Info:
[22-Nov-2025 15:40:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:41 UTC]    Books columns count: 44
[22-Nov-2025 15:40:41 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:41 UTC]    Language field in books: YES
[22-Nov-2025 15:40:41 UTC]    Format field in books: YES
[22-Nov-2025 15:40:41 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:41 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:41 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[22-Nov-2025 15:40:41 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[22-Nov-2025 15:40:41 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[22-Nov-2025 15:40:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:48 UTC] 📊 Database Info:
[22-Nov-2025 15:40:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:48 UTC]    Books columns count: 44
[22-Nov-2025 15:40:48 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:48 UTC]    Language field in books: YES
[22-Nov-2025 15:40:48 UTC]    Format field in books: YES
[22-Nov-2025 15:40:48 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:48 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:48 UTC] 📊 Database Info:
[22-Nov-2025 15:40:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:48 UTC]    Books columns count: 44
[22-Nov-2025 15:40:48 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:48 UTC]    Language field in books: YES
[22-Nov-2025 15:40:48 UTC]    Format field in books: YES
[22-Nov-2025 15:40:48 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:48 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:48 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 15:40:48 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:40:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:48 UTC] 📊 Database Info:
[22-Nov-2025 15:40:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:48 UTC]    Books columns count: 44
[22-Nov-2025 15:40:48 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:48 UTC]    Language field in books: YES
[22-Nov-2025 15:40:48 UTC]    Format field in books: YES
[22-Nov-2025 15:40:48 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:48 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:48 UTC] 📊 Database Info:
[22-Nov-2025 15:40:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:48 UTC]    Books columns count: 44
[22-Nov-2025 15:40:48 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:48 UTC]    Language field in books: YES
[22-Nov-2025 15:40:48 UTC]    Format field in books: YES
[22-Nov-2025 15:40:48 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:48 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:48 UTC] 📊 Database Info:
[22-Nov-2025 15:40:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:48 UTC]    Books columns count: 44
[22-Nov-2025 15:40:48 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:48 UTC]    Language field in books: YES
[22-Nov-2025 15:40:48 UTC]    Format field in books: YES
[22-Nov-2025 15:40:48 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:48 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:48 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 15:40:48 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:40:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:48 UTC] 📊 Database Info:
[22-Nov-2025 15:40:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:48 UTC]    Books columns count: 44
[22-Nov-2025 15:40:48 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:48 UTC]    Language field in books: YES
[22-Nov-2025 15:40:48 UTC]    Format field in books: YES
[22-Nov-2025 15:40:48 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:48 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:52 UTC] 📊 Database Info:
[22-Nov-2025 15:40:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:52 UTC]    Books columns count: 44
[22-Nov-2025 15:40:52 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:52 UTC]    Language field in books: YES
[22-Nov-2025 15:40:52 UTC]    Format field in books: YES
[22-Nov-2025 15:40:52 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:52 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:52 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 15:40:52 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 15:40:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:52 UTC] 📊 Database Info:
[22-Nov-2025 15:40:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:52 UTC]    Books columns count: 44
[22-Nov-2025 15:40:52 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:52 UTC]    Language field in books: YES
[22-Nov-2025 15:40:52 UTC]    Format field in books: YES
[22-Nov-2025 15:40:52 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:52 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:52 UTC] 📊 Database Info:
[22-Nov-2025 15:40:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:52 UTC]    Books columns count: 44
[22-Nov-2025 15:40:52 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:52 UTC]    Language field in books: YES
[22-Nov-2025 15:40:52 UTC]    Format field in books: YES
[22-Nov-2025 15:40:52 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:52 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:40:52 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 15:40:52 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 15:40:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:54 UTC] 📊 Database Info:
[22-Nov-2025 15:40:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:54 UTC]    Books columns count: 44
[22-Nov-2025 15:40:54 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:54 UTC]    Language field in books: YES
[22-Nov-2025 15:40:54 UTC]    Format field in books: YES
[22-Nov-2025 15:40:54 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:54 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:55 UTC] 📊 Database Info:
[22-Nov-2025 15:40:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:55 UTC]    Books columns count: 44
[22-Nov-2025 15:40:55 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:55 UTC]    Language field in books: YES
[22-Nov-2025 15:40:55 UTC]    Format field in books: YES
[22-Nov-2025 15:40:55 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:55 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:57 UTC] 📊 Database Info:
[22-Nov-2025 15:40:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:57 UTC]    Books columns count: 44
[22-Nov-2025 15:40:57 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:57 UTC]    Language field in books: YES
[22-Nov-2025 15:40:57 UTC]    Format field in books: YES
[22-Nov-2025 15:40:57 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:57 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:57 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[22-Nov-2025 15:40:57 UTC] ?? Processing: home_screen - show_welcome_section: 1
[22-Nov-2025 15:40:57 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[22-Nov-2025 15:40:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:40:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:40:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:40:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:40:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:40:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:40:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:40:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:40:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:40:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:40:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:40:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:40:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:40:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:40:57 UTC] 📊 Database Info:
[22-Nov-2025 15:40:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:40:57 UTC]    Books columns count: 44
[22-Nov-2025 15:40:57 UTC]    Categories columns count: 7
[22-Nov-2025 15:40:57 UTC]    Language field in books: YES
[22-Nov-2025 15:40:57 UTC]    Format field in books: YES
[22-Nov-2025 15:40:57 UTC]    Description field in categories: YES
[22-Nov-2025 15:40:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:40:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:40:57 UTC]    Is_active field in books: YES
[22-Nov-2025 15:40:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:40:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:40:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:40:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:40:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:40:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:40:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:40:57 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[22-Nov-2025 15:40:57 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[22-Nov-2025 15:40:57 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[22-Nov-2025 15:41:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:41:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:41:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:41:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:41:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:41:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:41:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:41:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:41:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:41:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:41:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:41:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:41:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:41:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:41:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:41:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:41:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:41:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:41:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:41:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:41:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:41:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:41:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:41:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:41:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:41:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:41:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:41:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:41:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:41:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:41:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:41:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:41:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:41:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:41:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:41:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:41:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:41:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:41:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:41:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:41:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:41:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:41:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:41:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:41:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:41:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:41:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:41:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:41:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:41:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:41:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:41:00 UTC] 📊 Database Info:
[22-Nov-2025 15:41:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:41:00 UTC]    Books columns count: 44
[22-Nov-2025 15:41:00 UTC]    Categories columns count: 7
[22-Nov-2025 15:41:00 UTC]    Language field in books: YES
[22-Nov-2025 15:41:00 UTC]    Format field in books: YES
[22-Nov-2025 15:41:00 UTC]    Description field in categories: YES
[22-Nov-2025 15:41:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:41:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:41:00 UTC]    Is_active field in books: YES
[22-Nov-2025 15:41:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:41:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:41:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:41:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:41:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:41:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:41:00 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 15:41:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:41:00 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:41:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:41:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:41:00 UTC] 📊 Database Info:
[22-Nov-2025 15:41:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:41:00 UTC]    Books columns count: 44
[22-Nov-2025 15:41:00 UTC]    Categories columns count: 7
[22-Nov-2025 15:41:00 UTC]    Language field in books: YES
[22-Nov-2025 15:41:00 UTC]    Format field in books: YES
[22-Nov-2025 15:41:00 UTC]    Description field in categories: YES
[22-Nov-2025 15:41:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:41:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:41:00 UTC]    Is_active field in books: YES
[22-Nov-2025 15:41:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:41:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:41:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:41:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:41:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:41:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:41:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:41:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:41:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:41:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:41:00 UTC] 📊 Database Info:
[22-Nov-2025 15:41:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:41:00 UTC]    Books columns count: 44
[22-Nov-2025 15:41:00 UTC]    Categories columns count: 7
[22-Nov-2025 15:41:00 UTC]    Language field in books: YES
[22-Nov-2025 15:41:00 UTC]    Format field in books: YES
[22-Nov-2025 15:41:00 UTC]    Description field in categories: YES
[22-Nov-2025 15:41:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:41:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:41:00 UTC]    Is_active field in books: YES
[22-Nov-2025 15:41:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:41:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:41:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:41:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:41:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:41:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:41:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:41:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:41:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:41:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:41:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:41:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:41:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:41:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:41:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:41:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:41:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:41:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:41:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:41:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:41:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:41:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:41:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:41:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:41:58 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:41:58 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:41:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:41:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:41:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:41:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:41:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:41:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:41:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:41:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:41:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:41:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:41:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:41:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:41:58 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:41:58 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:41:58 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:41:58 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:41:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:41:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:41:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:41:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:41:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:41:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:41:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:41:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:41:58 UTC] 📊 Database Info:
[22-Nov-2025 15:41:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:41:58 UTC]    Books columns count: 44
[22-Nov-2025 15:41:58 UTC]    Categories columns count: 7
[22-Nov-2025 15:41:58 UTC]    Language field in books: YES
[22-Nov-2025 15:41:58 UTC]    Format field in books: YES
[22-Nov-2025 15:41:58 UTC]    Description field in categories: YES
[22-Nov-2025 15:41:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:41:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:41:58 UTC]    Is_active field in books: YES
[22-Nov-2025 15:41:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:41:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:41:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:41:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:41:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:41:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:41:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:41:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:41:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:41:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:41:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:41:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:41:58 UTC] 📊 Database Info:
[22-Nov-2025 15:41:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:41:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:41:58 UTC] 📊 Database Info:
[22-Nov-2025 15:41:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:41:58 UTC]    Books columns count: 44
[22-Nov-2025 15:41:58 UTC]    Books columns count: 44
[22-Nov-2025 15:41:58 UTC]    Categories columns count: 7
[22-Nov-2025 15:41:58 UTC]    Categories columns count: 7
[22-Nov-2025 15:41:58 UTC]    Language field in books: YES
[22-Nov-2025 15:41:58 UTC]    Language field in books: YES
[22-Nov-2025 15:41:58 UTC]    Format field in books: YES
[22-Nov-2025 15:41:58 UTC]    Format field in books: YES
[22-Nov-2025 15:41:58 UTC]    Description field in categories: YES
[22-Nov-2025 15:41:58 UTC]    Description field in categories: YES
[22-Nov-2025 15:41:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:41:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:41:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:41:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:41:58 UTC]    Is_active field in books: YES
[22-Nov-2025 15:41:58 UTC]    Is_active field in books: YES
[22-Nov-2025 15:41:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:41:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:41:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:41:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:41:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:41:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:41:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:41:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:41:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:41:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:41:58 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 15:41:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:41:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:41:58 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 15:41:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:41:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:41:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:41:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:41:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:41:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:41:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:41:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:41:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:41:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:41:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:41:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:41:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:41:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:41:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:41:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:41:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:41:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:41:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:41:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:41:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:41:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:41:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:41:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:41:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:41:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:41:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:41:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:41:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:41:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:41:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:41:59 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:41:59 UTC] 📊 Database Info:
[22-Nov-2025 15:41:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:41:59 UTC]    Books columns count: 44
[22-Nov-2025 15:41:59 UTC]    Categories columns count: 7
[22-Nov-2025 15:41:59 UTC]    Language field in books: YES
[22-Nov-2025 15:41:59 UTC]    Format field in books: YES
[22-Nov-2025 15:41:59 UTC]    Description field in categories: YES
[22-Nov-2025 15:41:59 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:41:59 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:41:59 UTC]    Is_active field in books: YES
[22-Nov-2025 15:41:59 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:41:59 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:41:59 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:41:59 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:41:59 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:41:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:41:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:41:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:41:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:41:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:41:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:41:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:41:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:41:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:41:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:41:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:41:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:41:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:59:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:59:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:59:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 15:59:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:59:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:59:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:59:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:59:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:59:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:59:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:59:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:59:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:59:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:59:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:59:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:59:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:59:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:59:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:59:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:59:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:59:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:59:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:59:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:59:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:59:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:59:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:59:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 15:59:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:59:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:59:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:59:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 15:59:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:59:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:59:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:59:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 15:59:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 15:59:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:59:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:59:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:59:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:59:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 15:59:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:59:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 15:59:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:59:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 15:59:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:59:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:59:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:59:06 UTC] 📊 Database Info:
[22-Nov-2025 15:59:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:59:06 UTC]    Books columns count: 44
[22-Nov-2025 15:59:06 UTC]    Categories columns count: 7
[22-Nov-2025 15:59:06 UTC]    Language field in books: YES
[22-Nov-2025 15:59:06 UTC]    Format field in books: YES
[22-Nov-2025 15:59:06 UTC]    Description field in categories: YES
[22-Nov-2025 15:59:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:59:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:59:06 UTC]    Is_active field in books: YES
[22-Nov-2025 15:59:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:59:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:59:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:59:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:59:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:59:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:59:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:59:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:59:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:59:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:59:06 UTC] 📊 Database Info:
[22-Nov-2025 15:59:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:59:06 UTC]    Books columns count: 44
[22-Nov-2025 15:59:06 UTC]    Categories columns count: 7
[22-Nov-2025 15:59:06 UTC]    Language field in books: YES
[22-Nov-2025 15:59:06 UTC]    Format field in books: YES
[22-Nov-2025 15:59:06 UTC]    Description field in categories: YES
[22-Nov-2025 15:59:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:59:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:59:06 UTC]    Is_active field in books: YES
[22-Nov-2025 15:59:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:59:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:59:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:59:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:59:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:59:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:59:06 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 15:59:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 15:59:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 15:59:06 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 15:59:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 15:59:06 UTC] 📊 Database Info:
[22-Nov-2025 15:59:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 15:59:06 UTC]    Books columns count: 44
[22-Nov-2025 15:59:06 UTC]    Categories columns count: 7
[22-Nov-2025 15:59:06 UTC]    Language field in books: YES
[22-Nov-2025 15:59:06 UTC]    Format field in books: YES
[22-Nov-2025 15:59:06 UTC]    Description field in categories: YES
[22-Nov-2025 15:59:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 15:59:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 15:59:06 UTC]    Is_active field in books: YES
[22-Nov-2025 15:59:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 15:59:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 15:59:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 15:59:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 15:59:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 15:59:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 15:59:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 15:59:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 15:59:06 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 15:59:06 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 16:02:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:02:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:02:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:02:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:02:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:02:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:02:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:02:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:02:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:02:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:02:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:02:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:02:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:02:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:02:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:02:46 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:02:46 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:02:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:02:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:02:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:02:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:02:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:02:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:02:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:02:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:02:46 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:02:46 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:02:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:02:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:02:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:02:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:02:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:02:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:02:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:02:46 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:02:46 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:02:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:02:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:02:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:02:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:02:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:02:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:02:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:02:46 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:02:46 UTC] 📊 Database Info:
[22-Nov-2025 16:02:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:02:46 UTC]    Books columns count: 44
[22-Nov-2025 16:02:46 UTC]    Categories columns count: 7
[22-Nov-2025 16:02:46 UTC]    Language field in books: YES
[22-Nov-2025 16:02:46 UTC]    Format field in books: YES
[22-Nov-2025 16:02:46 UTC]    Description field in categories: YES
[22-Nov-2025 16:02:46 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:02:46 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:02:46 UTC]    Is_active field in books: YES
[22-Nov-2025 16:02:46 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:02:46 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:02:46 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:02:46 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:02:46 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:02:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:02:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 16:02:46 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 16:02:46 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 16:02:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:02:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:02:46 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:02:46 UTC] 📊 Database Info:
[22-Nov-2025 16:02:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:02:46 UTC]    Books columns count: 44
[22-Nov-2025 16:02:46 UTC]    Categories columns count: 7
[22-Nov-2025 16:02:46 UTC]    Language field in books: YES
[22-Nov-2025 16:02:46 UTC]    Format field in books: YES
[22-Nov-2025 16:02:46 UTC]    Description field in categories: YES
[22-Nov-2025 16:02:46 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:02:46 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:02:46 UTC]    Is_active field in books: YES
[22-Nov-2025 16:02:46 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:02:46 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:02:46 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:02:46 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:02:46 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:02:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:02:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:02:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:02:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:02:46 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:02:46 UTC] 📊 Database Info:
[22-Nov-2025 16:02:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:02:46 UTC]    Books columns count: 44
[22-Nov-2025 16:02:46 UTC]    Categories columns count: 7
[22-Nov-2025 16:02:46 UTC]    Language field in books: YES
[22-Nov-2025 16:02:46 UTC]    Format field in books: YES
[22-Nov-2025 16:02:46 UTC]    Description field in categories: YES
[22-Nov-2025 16:02:46 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:02:46 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:02:46 UTC]    Is_active field in books: YES
[22-Nov-2025 16:02:46 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:02:46 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:02:46 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:02:46 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:02:46 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:02:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:02:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:02:46 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 16:02:46 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 16:02:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:02:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:02:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:02:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:02:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:02:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:02:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:02:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:02:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:02:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:02:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:02:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:02:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:02:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:02:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:02:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:02:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:02:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:02:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:02:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:02:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:02:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:02:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:02:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:02:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:02:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:02:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:02:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:02:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:02:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:02:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:02:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:02:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:02:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:02:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:02:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:02:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:02:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:02:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:02:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:02:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:02:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:02:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:02:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:02:47 UTC] 📊 Database Info:
[22-Nov-2025 16:02:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:02:47 UTC]    Books columns count: 44
[22-Nov-2025 16:02:47 UTC]    Categories columns count: 7
[22-Nov-2025 16:02:47 UTC]    Language field in books: YES
[22-Nov-2025 16:02:47 UTC]    Format field in books: YES
[22-Nov-2025 16:02:47 UTC]    Description field in categories: YES
[22-Nov-2025 16:02:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:02:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:02:47 UTC]    Is_active field in books: YES
[22-Nov-2025 16:02:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:02:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:02:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:02:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:02:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:02:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:02:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:02:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:02:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:02:47 UTC] 📊 Database Info:
[22-Nov-2025 16:02:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:02:47 UTC]    Books columns count: 44
[22-Nov-2025 16:02:47 UTC]    Categories columns count: 7
[22-Nov-2025 16:02:47 UTC]    Language field in books: YES
[22-Nov-2025 16:02:47 UTC]    Format field in books: YES
[22-Nov-2025 16:02:47 UTC]    Description field in categories: YES
[22-Nov-2025 16:02:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:02:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:02:47 UTC]    Is_active field in books: YES
[22-Nov-2025 16:02:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:02:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:02:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:02:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:02:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:02:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:02:47 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 16:02:47 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 16:02:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:02:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:02:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:02:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:02:47 UTC] 📊 Database Info:
[22-Nov-2025 16:02:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:02:47 UTC]    Books columns count: 44
[22-Nov-2025 16:02:47 UTC]    Categories columns count: 7
[22-Nov-2025 16:02:47 UTC]    Language field in books: YES
[22-Nov-2025 16:02:47 UTC]    Format field in books: YES
[22-Nov-2025 16:02:47 UTC]    Description field in categories: YES
[22-Nov-2025 16:02:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:02:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:02:47 UTC]    Is_active field in books: YES
[22-Nov-2025 16:02:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:02:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:02:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:02:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:02:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:02:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:02:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:02:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 16:02:47 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 16:02:47 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 16:03:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:03:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:03:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:03:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:03:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:03:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:03:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:03:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:03:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:03:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:03:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:03:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:03:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:03:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:03:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:03:22 UTC] 📊 Database Info:
[22-Nov-2025 16:03:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:03:22 UTC]    Books columns count: 44
[22-Nov-2025 16:03:22 UTC]    Categories columns count: 7
[22-Nov-2025 16:03:22 UTC]    Language field in books: YES
[22-Nov-2025 16:03:22 UTC]    Format field in books: YES
[22-Nov-2025 16:03:22 UTC]    Description field in categories: YES
[22-Nov-2025 16:03:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:03:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:03:22 UTC]    Is_active field in books: YES
[22-Nov-2025 16:03:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:03:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:03:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:03:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:03:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:03:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:03:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:03:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:03:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:03:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:03:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:03:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:03:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:03:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:03:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:03:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:03:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:03:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:03:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:03:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:03:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:03:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:03:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:03:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:03:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:03:22 UTC] 📊 Database Info:
[22-Nov-2025 16:03:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:03:22 UTC]    Books columns count: 44
[22-Nov-2025 16:03:22 UTC]    Categories columns count: 7
[22-Nov-2025 16:03:22 UTC]    Language field in books: YES
[22-Nov-2025 16:03:22 UTC]    Format field in books: YES
[22-Nov-2025 16:03:22 UTC]    Description field in categories: YES
[22-Nov-2025 16:03:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:03:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:03:22 UTC]    Is_active field in books: YES
[22-Nov-2025 16:03:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:03:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:03:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:03:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:03:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:03:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:03:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:04:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:04:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:04:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:04:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:04:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:04:00 UTC] 📊 Database Info:
[22-Nov-2025 16:04:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:04:00 UTC]    Books columns count: 44
[22-Nov-2025 16:04:00 UTC]    Categories columns count: 7
[22-Nov-2025 16:04:00 UTC]    Language field in books: YES
[22-Nov-2025 16:04:00 UTC]    Format field in books: YES
[22-Nov-2025 16:04:00 UTC]    Description field in categories: YES
[22-Nov-2025 16:04:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:04:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:04:00 UTC]    Is_active field in books: YES
[22-Nov-2025 16:04:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:04:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:04:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:04:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:04:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:04:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:04:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:04:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:04:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:04:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:04:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:04:00 UTC] 📊 Database Info:
[22-Nov-2025 16:04:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:04:00 UTC]    Books columns count: 44
[22-Nov-2025 16:04:00 UTC]    Categories columns count: 7
[22-Nov-2025 16:04:00 UTC]    Language field in books: YES
[22-Nov-2025 16:04:00 UTC]    Format field in books: YES
[22-Nov-2025 16:04:00 UTC]    Description field in categories: YES
[22-Nov-2025 16:04:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:04:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:04:00 UTC]    Is_active field in books: YES
[22-Nov-2025 16:04:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:04:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:04:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:04:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:04:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:04:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:04:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:04:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:04:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:04:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:04:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:04:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:04:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:04:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:04:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:04:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:04:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:04:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:04:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:04:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:04:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:04:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:04:07 UTC] 📊 Database Info:
[22-Nov-2025 16:04:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:04:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:04:07 UTC]    Books columns count: 44
[22-Nov-2025 16:04:07 UTC]    Categories columns count: 7
[22-Nov-2025 16:04:07 UTC]    Language field in books: YES
[22-Nov-2025 16:04:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:04:07 UTC]    Format field in books: YES
[22-Nov-2025 16:04:07 UTC]    Description field in categories: YES
[22-Nov-2025 16:04:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:04:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:04:07 UTC]    Is_active field in books: YES
[22-Nov-2025 16:04:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:04:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:04:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:04:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:04:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:04:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:04:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:04:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:04:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:04:07 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:04:07 UTC] 📊 Database Info:
[22-Nov-2025 16:04:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:04:07 UTC]    Books columns count: 44
[22-Nov-2025 16:04:07 UTC]    Categories columns count: 7
[22-Nov-2025 16:04:07 UTC]    Language field in books: YES
[22-Nov-2025 16:04:07 UTC]    Format field in books: YES
[22-Nov-2025 16:04:07 UTC]    Description field in categories: YES
[22-Nov-2025 16:04:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:04:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:04:07 UTC]    Is_active field in books: YES
[22-Nov-2025 16:04:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:04:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:04:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:04:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:04:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:04:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:04:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:04:07 UTC] 📊 Database Info:
[22-Nov-2025 16:04:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:04:07 UTC]    Books columns count: 44
[22-Nov-2025 16:04:07 UTC]    Categories columns count: 7
[22-Nov-2025 16:04:07 UTC]    Language field in books: YES
[22-Nov-2025 16:04:07 UTC]    Format field in books: YES
[22-Nov-2025 16:04:07 UTC]    Description field in categories: YES
[22-Nov-2025 16:04:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:04:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:04:07 UTC]    Is_active field in books: YES
[22-Nov-2025 16:04:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:04:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:04:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:04:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:04:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:04:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:04:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:04:07 UTC] 📊 Database Info:
[22-Nov-2025 16:04:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:04:07 UTC]    Books columns count: 44
[22-Nov-2025 16:04:07 UTC]    Categories columns count: 7
[22-Nov-2025 16:04:07 UTC]    Language field in books: YES
[22-Nov-2025 16:04:07 UTC]    Format field in books: YES
[22-Nov-2025 16:04:07 UTC]    Description field in categories: YES
[22-Nov-2025 16:04:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:04:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:04:07 UTC]    Is_active field in books: YES
[22-Nov-2025 16:04:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:04:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:04:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:04:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:04:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:04:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:04:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:04:07 UTC] 📊 Database Info:
[22-Nov-2025 16:04:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:04:07 UTC]    Books columns count: 44
[22-Nov-2025 16:04:07 UTC]    Categories columns count: 7
[22-Nov-2025 16:04:07 UTC]    Language field in books: YES
[22-Nov-2025 16:04:07 UTC]    Format field in books: YES
[22-Nov-2025 16:04:07 UTC]    Description field in categories: YES
[22-Nov-2025 16:04:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:04:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:04:07 UTC]    Is_active field in books: YES
[22-Nov-2025 16:04:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:04:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:04:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:04:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:04:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:04:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:04:07 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 16:04:07 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 16:04:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:04:07 UTC] 📊 Database Info:
[22-Nov-2025 16:04:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:04:07 UTC]    Books columns count: 44
[22-Nov-2025 16:04:07 UTC]    Categories columns count: 7
[22-Nov-2025 16:04:07 UTC]    Language field in books: YES
[22-Nov-2025 16:04:07 UTC]    Format field in books: YES
[22-Nov-2025 16:04:07 UTC]    Description field in categories: YES
[22-Nov-2025 16:04:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:04:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:04:07 UTC]    Is_active field in books: YES
[22-Nov-2025 16:04:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:04:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:04:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:04:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:04:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:04:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:04:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:04:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:04:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:10 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:04:10 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:04:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:10 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:04:10 UTC] 📊 Database Info:
[22-Nov-2025 16:04:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:04:10 UTC]    Books columns count: 44
[22-Nov-2025 16:04:10 UTC]    Categories columns count: 7
[22-Nov-2025 16:04:10 UTC]    Language field in books: YES
[22-Nov-2025 16:04:10 UTC]    Format field in books: YES
[22-Nov-2025 16:04:10 UTC]    Description field in categories: YES
[22-Nov-2025 16:04:10 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:04:10 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:04:10 UTC]    Is_active field in books: YES
[22-Nov-2025 16:04:10 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:04:10 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:04:10 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:04:10 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:04:10 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:04:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:04:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:04:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:04:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:04:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:04:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:04:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:04:30 UTC] 📊 Database Info:
[22-Nov-2025 16:04:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:04:30 UTC]    Books columns count: 44
[22-Nov-2025 16:04:30 UTC]    Categories columns count: 7
[22-Nov-2025 16:04:30 UTC]    Language field in books: YES
[22-Nov-2025 16:04:30 UTC]    Format field in books: YES
[22-Nov-2025 16:04:30 UTC]    Description field in categories: YES
[22-Nov-2025 16:04:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:04:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:04:30 UTC]    Is_active field in books: YES
[22-Nov-2025 16:04:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:04:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:04:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:04:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:04:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:04:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:04:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:04:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:04:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:04:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:04:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:04:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:04:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:04:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:04:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:04:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:04:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:04:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:04:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:04:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:04:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:04:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:04:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:04:31 UTC] 📊 Database Info:
[22-Nov-2025 16:04:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:04:31 UTC]    Books columns count: 44
[22-Nov-2025 16:04:31 UTC]    Categories columns count: 7
[22-Nov-2025 16:04:31 UTC]    Language field in books: YES
[22-Nov-2025 16:04:31 UTC]    Format field in books: YES
[22-Nov-2025 16:04:31 UTC]    Description field in categories: YES
[22-Nov-2025 16:04:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:04:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:04:31 UTC]    Is_active field in books: YES
[22-Nov-2025 16:04:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:04:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:04:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:04:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:04:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:04:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:04:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:04:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:04:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:04:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:04:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:04:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:04:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:04:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:04:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:04:34 UTC] 📊 Database Info:
[22-Nov-2025 16:04:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:04:34 UTC]    Books columns count: 44
[22-Nov-2025 16:04:34 UTC]    Categories columns count: 7
[22-Nov-2025 16:04:34 UTC]    Language field in books: YES
[22-Nov-2025 16:04:34 UTC]    Format field in books: YES
[22-Nov-2025 16:04:34 UTC]    Description field in categories: YES
[22-Nov-2025 16:04:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:04:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:04:34 UTC]    Is_active field in books: YES
[22-Nov-2025 16:04:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:04:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:04:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:04:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:04:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:04:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:04:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:04:34 UTC] 📊 Database Info:
[22-Nov-2025 16:04:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:04:34 UTC]    Books columns count: 44
[22-Nov-2025 16:04:34 UTC]    Categories columns count: 7
[22-Nov-2025 16:04:34 UTC]    Language field in books: YES
[22-Nov-2025 16:04:34 UTC]    Format field in books: YES
[22-Nov-2025 16:04:34 UTC]    Description field in categories: YES
[22-Nov-2025 16:04:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:04:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:04:34 UTC]    Is_active field in books: YES
[22-Nov-2025 16:04:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:04:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:04:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:04:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:04:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:04:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:04:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:04:34 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 16:04:34 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 16:04:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:04:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:04:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:04:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:04:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:04:35 UTC] 📊 Database Info:
[22-Nov-2025 16:04:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:04:35 UTC]    Books columns count: 44
[22-Nov-2025 16:04:35 UTC]    Categories columns count: 7
[22-Nov-2025 16:04:35 UTC]    Language field in books: YES
[22-Nov-2025 16:04:35 UTC]    Format field in books: YES
[22-Nov-2025 16:04:35 UTC]    Description field in categories: YES
[22-Nov-2025 16:04:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:04:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:04:35 UTC]    Is_active field in books: YES
[22-Nov-2025 16:04:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:04:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:04:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:04:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:04:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:04:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:04:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:04:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:04:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:04:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:04:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:04:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:04:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:04:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:04:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:04:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:04:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:04:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:04:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:04:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:04:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:04:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:04:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:04:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:04:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:04:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:04:36 UTC] 📊 Database Info:
[22-Nov-2025 16:04:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:04:36 UTC]    Books columns count: 44
[22-Nov-2025 16:04:36 UTC]    Categories columns count: 7
[22-Nov-2025 16:04:36 UTC]    Language field in books: YES
[22-Nov-2025 16:04:36 UTC]    Format field in books: YES
[22-Nov-2025 16:04:36 UTC]    Description field in categories: YES
[22-Nov-2025 16:04:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:04:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:04:36 UTC]    Is_active field in books: YES
[22-Nov-2025 16:04:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:04:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:04:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:04:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:04:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:04:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:05:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:05:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:05:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:05:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:05:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:05:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:05:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:05:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:05:53 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:05:53 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:05:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:05:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:05:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:05:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:05:53 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:05:53 UTC] 📊 Database Info:
[22-Nov-2025 16:05:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:05:53 UTC]    Books columns count: 44
[22-Nov-2025 16:05:53 UTC]    Categories columns count: 7
[22-Nov-2025 16:05:53 UTC]    Language field in books: YES
[22-Nov-2025 16:05:53 UTC]    Format field in books: YES
[22-Nov-2025 16:05:53 UTC]    Description field in categories: YES
[22-Nov-2025 16:05:53 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:05:53 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:05:53 UTC]    Is_active field in books: YES
[22-Nov-2025 16:05:53 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:05:53 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:05:53 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:05:53 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:05:53 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:05:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:05:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:05:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:05:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:05:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:05:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:05:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:05:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:05:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:05:53 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:05:53 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:05:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:05:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:05:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:05:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:05:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:05:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:05:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:05:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:05:53 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:05:53 UTC] 📊 Database Info:
[22-Nov-2025 16:05:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:05:53 UTC]    Books columns count: 44
[22-Nov-2025 16:05:53 UTC]    Categories columns count: 7
[22-Nov-2025 16:05:53 UTC]    Language field in books: YES
[22-Nov-2025 16:05:53 UTC]    Format field in books: YES
[22-Nov-2025 16:05:53 UTC]    Description field in categories: YES
[22-Nov-2025 16:05:53 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:05:53 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:05:53 UTC]    Is_active field in books: YES
[22-Nov-2025 16:05:53 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:05:53 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:05:53 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:05:53 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:05:53 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:05:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:05:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:06:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:06:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:06:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:06:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:06:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:06:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:06:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:06:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:06:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:06:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:06:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:06:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:06:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:06:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:06:01 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:06:01 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:06:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:06:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:06:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:06:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:06:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:06:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:06:01 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:06:01 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:06:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:06:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:06:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:06:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:06:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:06:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:06:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:06:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:06:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:06:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:06:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:06:01 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:06:01 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:06:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:06:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:06:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:06:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:06:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:06:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:06:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:06:01 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:06:01 UTC] 📊 Database Info:
[22-Nov-2025 16:06:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:06:01 UTC]    Books columns count: 44
[22-Nov-2025 16:06:01 UTC]    Categories columns count: 7
[22-Nov-2025 16:06:01 UTC]    Language field in books: YES
[22-Nov-2025 16:06:01 UTC]    Format field in books: YES
[22-Nov-2025 16:06:01 UTC]    Description field in categories: YES
[22-Nov-2025 16:06:01 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:06:01 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:06:01 UTC]    Is_active field in books: YES
[22-Nov-2025 16:06:01 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:06:01 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:06:01 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:06:01 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:06:01 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:06:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:06:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:06:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:06:01 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:06:01 UTC] 📊 Database Info:
[22-Nov-2025 16:06:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:06:01 UTC]    Books columns count: 44
[22-Nov-2025 16:06:01 UTC]    Categories columns count: 7
[22-Nov-2025 16:06:01 UTC]    Language field in books: YES
[22-Nov-2025 16:06:01 UTC]    Format field in books: YES
[22-Nov-2025 16:06:01 UTC]    Description field in categories: YES
[22-Nov-2025 16:06:01 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:06:01 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:06:01 UTC]    Is_active field in books: YES
[22-Nov-2025 16:06:01 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:06:01 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:06:01 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:06:01 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:06:01 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:06:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:06:01 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 16:06:01 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 16:06:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:06:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:06:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:06:01 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:06:01 UTC] 📊 Database Info:
[22-Nov-2025 16:06:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:06:01 UTC]    Books columns count: 44
[22-Nov-2025 16:06:01 UTC]    Categories columns count: 7
[22-Nov-2025 16:06:01 UTC]    Language field in books: YES
[22-Nov-2025 16:06:01 UTC]    Format field in books: YES
[22-Nov-2025 16:06:01 UTC]    Description field in categories: YES
[22-Nov-2025 16:06:01 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:06:01 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:06:01 UTC]    Is_active field in books: YES
[22-Nov-2025 16:06:01 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:06:01 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:06:01 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:06:01 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:06:01 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:06:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:06:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:06:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 16:06:01 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 16:06:01 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 16:07:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:07:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:07:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:07:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:07:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:07:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:07:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:07:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:07:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:07:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:07:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:07:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:07:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:07:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:07:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:07:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:07:18 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:07:18 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:07:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:07:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:07:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:07:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:07:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:07:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:07:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:07:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:07:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:07:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:07:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:07:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:07:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:07:18 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:07:18 UTC] 📊 Database Info:
[22-Nov-2025 16:07:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:07:18 UTC]    Books columns count: 44
[22-Nov-2025 16:07:18 UTC]    Categories columns count: 7
[22-Nov-2025 16:07:18 UTC]    Language field in books: YES
[22-Nov-2025 16:07:18 UTC]    Format field in books: YES
[22-Nov-2025 16:07:18 UTC]    Description field in categories: YES
[22-Nov-2025 16:07:18 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:07:18 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:07:18 UTC]    Is_active field in books: YES
[22-Nov-2025 16:07:18 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:07:18 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:07:18 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:07:18 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:07:18 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:07:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:07:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:07:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:07:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:07:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:07:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:07:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:07:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:07:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:07:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:07:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:07:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:07:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:07:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:07:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:07:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:07:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:07:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:07:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:07:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:07:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:07:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:07:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:07:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:07:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:07:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:07:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:07:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:07:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:07:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:07:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:07:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:07:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:07:19 UTC] 📊 Database Info:
[22-Nov-2025 16:07:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:07:19 UTC]    Books columns count: 44
[22-Nov-2025 16:07:19 UTC]    Categories columns count: 7
[22-Nov-2025 16:07:19 UTC]    Language field in books: YES
[22-Nov-2025 16:07:19 UTC]    Format field in books: YES
[22-Nov-2025 16:07:19 UTC]    Description field in categories: YES
[22-Nov-2025 16:07:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:07:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:07:19 UTC]    Is_active field in books: YES
[22-Nov-2025 16:07:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:07:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:07:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:07:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:07:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:07:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:07:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:07:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:07:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:07:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:07:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:07:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:07:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:07:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:07:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:07:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:07:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:07:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:07:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:07:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:07:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:07:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:07:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:07:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:07:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:07:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:07:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:07:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:07:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:07:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:07:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:07:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:07:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:07:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:07:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:07:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:07:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:07:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:07:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:07:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:07:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:07:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:07:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:07:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:07:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:07:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:07:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:07:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:07:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:07:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:07:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:07:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:07:24 UTC] 📊 Database Info:
[22-Nov-2025 16:07:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:07:24 UTC]    Books columns count: 44
[22-Nov-2025 16:07:24 UTC]    Categories columns count: 7
[22-Nov-2025 16:07:24 UTC]    Language field in books: YES
[22-Nov-2025 16:07:24 UTC]    Format field in books: YES
[22-Nov-2025 16:07:24 UTC]    Description field in categories: YES
[22-Nov-2025 16:07:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:07:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:07:24 UTC]    Is_active field in books: YES
[22-Nov-2025 16:07:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:07:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:07:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:07:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:07:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:07:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:07:24 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:07:24 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 16:07:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:07:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:07:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:07:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:07:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:07:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:07:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:07:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:07:24 UTC] 📊 Database Info:
[22-Nov-2025 16:07:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:07:24 UTC]    Books columns count: 44
[22-Nov-2025 16:07:24 UTC]    Categories columns count: 7
[22-Nov-2025 16:07:24 UTC]    Language field in books: YES
[22-Nov-2025 16:07:24 UTC]    Format field in books: YES
[22-Nov-2025 16:07:24 UTC]    Description field in categories: YES
[22-Nov-2025 16:07:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:07:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:07:24 UTC]    Is_active field in books: YES
[22-Nov-2025 16:07:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:07:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:07:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:07:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:07:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:07:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:07:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 16:07:24 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 16:07:24 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 16:07:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:07:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:07:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:07:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:07:24 UTC] 📊 Database Info:
[22-Nov-2025 16:07:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:07:24 UTC]    Books columns count: 44
[22-Nov-2025 16:07:24 UTC]    Categories columns count: 7
[22-Nov-2025 16:07:24 UTC]    Language field in books: YES
[22-Nov-2025 16:07:24 UTC]    Format field in books: YES
[22-Nov-2025 16:07:24 UTC]    Description field in categories: YES
[22-Nov-2025 16:07:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:07:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:07:24 UTC]    Is_active field in books: YES
[22-Nov-2025 16:07:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:07:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:07:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:07:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:07:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:07:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:07:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:11:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:11:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:11:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:11:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:11:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:11:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:11:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:11:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:11:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:11:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:11:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:11:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:11:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:11:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:11:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:11:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:11:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:11:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:11:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:11:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:11:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:11:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:11:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:11:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:11:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:11:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:11:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:11:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:11:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:11:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:11:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:11:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:11:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:11:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:11:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:11:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:11:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:11:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:11:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:11:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:11:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:11:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:11:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:11:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:11:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:11:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:11:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:11:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:11:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:11:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:11:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:11:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:11:22 UTC] 📊 Database Info:
[22-Nov-2025 16:11:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:11:22 UTC]    Books columns count: 44
[22-Nov-2025 16:11:22 UTC]    Categories columns count: 7
[22-Nov-2025 16:11:22 UTC]    Language field in books: YES
[22-Nov-2025 16:11:22 UTC]    Format field in books: YES
[22-Nov-2025 16:11:22 UTC]    Description field in categories: YES
[22-Nov-2025 16:11:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:11:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:11:22 UTC]    Is_active field in books: YES
[22-Nov-2025 16:11:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:11:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:11:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:11:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:11:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:11:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:11:22 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 16:11:22 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 16:11:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:11:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:11:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:11:22 UTC] 📊 Database Info:
[22-Nov-2025 16:11:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:11:22 UTC]    Books columns count: 44
[22-Nov-2025 16:11:22 UTC]    Categories columns count: 7
[22-Nov-2025 16:11:22 UTC]    Language field in books: YES
[22-Nov-2025 16:11:22 UTC]    Format field in books: YES
[22-Nov-2025 16:11:22 UTC]    Description field in categories: YES
[22-Nov-2025 16:11:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:11:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:11:22 UTC]    Is_active field in books: YES
[22-Nov-2025 16:11:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:11:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:11:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:11:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:11:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:11:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:11:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 16:11:22 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 16:11:22 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 16:11:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:11:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:11:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:11:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:11:22 UTC] 📊 Database Info:
[22-Nov-2025 16:11:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:11:22 UTC]    Books columns count: 44
[22-Nov-2025 16:11:22 UTC]    Categories columns count: 7
[22-Nov-2025 16:11:22 UTC]    Language field in books: YES
[22-Nov-2025 16:11:22 UTC]    Format field in books: YES
[22-Nov-2025 16:11:22 UTC]    Description field in categories: YES
[22-Nov-2025 16:11:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:11:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:11:22 UTC]    Is_active field in books: YES
[22-Nov-2025 16:11:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:11:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:11:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:11:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:11:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:11:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:11:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:12:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:12:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:12:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:12:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:12:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:12:14 UTC] 📊 Database Info:
[22-Nov-2025 16:12:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:12:14 UTC]    Books columns count: 44
[22-Nov-2025 16:12:14 UTC]    Categories columns count: 7
[22-Nov-2025 16:12:14 UTC]    Language field in books: YES
[22-Nov-2025 16:12:14 UTC]    Format field in books: YES
[22-Nov-2025 16:12:14 UTC]    Description field in categories: YES
[22-Nov-2025 16:12:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:12:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:12:14 UTC]    Is_active field in books: YES
[22-Nov-2025 16:12:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:12:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:12:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:12:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:12:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:12:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:12:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:12:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:12:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:12:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:12:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:12:14 UTC] 📊 Database Info:
[22-Nov-2025 16:12:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:12:14 UTC]    Books columns count: 44
[22-Nov-2025 16:12:14 UTC]    Categories columns count: 7
[22-Nov-2025 16:12:14 UTC]    Language field in books: YES
[22-Nov-2025 16:12:14 UTC]    Format field in books: YES
[22-Nov-2025 16:12:14 UTC]    Description field in categories: YES
[22-Nov-2025 16:12:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:12:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:12:14 UTC]    Is_active field in books: YES
[22-Nov-2025 16:12:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:12:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:12:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:12:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:12:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:12:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:12:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:12:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:12:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:12:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:12:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:12:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:12:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:12:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:12:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:12:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:12:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:12:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:12:30 UTC] 📊 Database Info:
[22-Nov-2025 16:12:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:12:30 UTC]    Books columns count: 44
[22-Nov-2025 16:12:30 UTC]    Categories columns count: 7
[22-Nov-2025 16:12:30 UTC]    Language field in books: YES
[22-Nov-2025 16:12:30 UTC]    Format field in books: YES
[22-Nov-2025 16:12:30 UTC]    Description field in categories: YES
[22-Nov-2025 16:12:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:12:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:12:30 UTC]    Is_active field in books: YES
[22-Nov-2025 16:12:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:12:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:12:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:12:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:12:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:12:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:12:30 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 16:12:30 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 16:12:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:12:30 UTC] 📊 Database Info:
[22-Nov-2025 16:12:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:12:30 UTC]    Books columns count: 44
[22-Nov-2025 16:12:30 UTC]    Categories columns count: 7
[22-Nov-2025 16:12:30 UTC]    Language field in books: YES
[22-Nov-2025 16:12:30 UTC]    Format field in books: YES
[22-Nov-2025 16:12:30 UTC]    Description field in categories: YES
[22-Nov-2025 16:12:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:12:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:12:30 UTC]    Is_active field in books: YES
[22-Nov-2025 16:12:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:12:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:12:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:12:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:12:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:12:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:12:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:12:30 UTC] 📊 Database Info:
[22-Nov-2025 16:12:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:12:30 UTC]    Books columns count: 44
[22-Nov-2025 16:12:30 UTC]    Categories columns count: 7
[22-Nov-2025 16:12:30 UTC]    Language field in books: YES
[22-Nov-2025 16:12:30 UTC]    Format field in books: YES
[22-Nov-2025 16:12:30 UTC]    Description field in categories: YES
[22-Nov-2025 16:12:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:12:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:12:30 UTC]    Is_active field in books: YES
[22-Nov-2025 16:12:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:12:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:12:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:12:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:12:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:12:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:12:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:12:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:12:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:12:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:12:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:12:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:12:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:12:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:12:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:12:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:12:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:12:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:12:32 UTC] 📊 Database Info:
[22-Nov-2025 16:12:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:12:32 UTC]    Books columns count: 44
[22-Nov-2025 16:12:32 UTC]    Categories columns count: 7
[22-Nov-2025 16:12:32 UTC]    Language field in books: YES
[22-Nov-2025 16:12:32 UTC]    Format field in books: YES
[22-Nov-2025 16:12:32 UTC]    Description field in categories: YES
[22-Nov-2025 16:12:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:12:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:12:32 UTC]    Is_active field in books: YES
[22-Nov-2025 16:12:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:12:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:12:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:12:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:12:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:12:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:12:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:12:32 UTC] 📊 Database Info:
[22-Nov-2025 16:12:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:12:32 UTC]    Books columns count: 44
[22-Nov-2025 16:12:32 UTC]    Categories columns count: 7
[22-Nov-2025 16:12:32 UTC]    Language field in books: YES
[22-Nov-2025 16:12:32 UTC]    Format field in books: YES
[22-Nov-2025 16:12:32 UTC]    Description field in categories: YES
[22-Nov-2025 16:12:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:12:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:12:32 UTC]    Is_active field in books: YES
[22-Nov-2025 16:12:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:12:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:12:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:12:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:12:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:12:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:12:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:12:32 UTC] 📊 Database Info:
[22-Nov-2025 16:12:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:12:32 UTC]    Books columns count: 44
[22-Nov-2025 16:12:32 UTC]    Categories columns count: 7
[22-Nov-2025 16:12:32 UTC]    Language field in books: YES
[22-Nov-2025 16:12:32 UTC]    Format field in books: YES
[22-Nov-2025 16:12:32 UTC]    Description field in categories: YES
[22-Nov-2025 16:12:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:12:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:12:32 UTC]    Is_active field in books: YES
[22-Nov-2025 16:12:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:12:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:12:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:12:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:12:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:12:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:12:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:12:32 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 16:12:32 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 16:12:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:12:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:12:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:12:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:12:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:12:33 UTC] 📊 Database Info:
[22-Nov-2025 16:12:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:12:33 UTC]    Books columns count: 44
[22-Nov-2025 16:12:33 UTC]    Categories columns count: 7
[22-Nov-2025 16:12:33 UTC]    Language field in books: YES
[22-Nov-2025 16:12:33 UTC]    Format field in books: YES
[22-Nov-2025 16:12:33 UTC]    Description field in categories: YES
[22-Nov-2025 16:12:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:12:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:12:33 UTC]    Is_active field in books: YES
[22-Nov-2025 16:12:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:12:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:12:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:12:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:12:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:12:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:12:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:12:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:12:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:12:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:12:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:12:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:12:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:12:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:12:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:12:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:12:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:12:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:12:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:12:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:12:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:12:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:12:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:12:57 UTC] 📊 Database Info:
[22-Nov-2025 16:12:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:12:57 UTC]    Books columns count: 44
[22-Nov-2025 16:12:57 UTC]    Categories columns count: 7
[22-Nov-2025 16:12:57 UTC]    Language field in books: YES
[22-Nov-2025 16:12:57 UTC]    Format field in books: YES
[22-Nov-2025 16:12:57 UTC]    Description field in categories: YES
[22-Nov-2025 16:12:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:12:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:12:57 UTC]    Is_active field in books: YES
[22-Nov-2025 16:12:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:12:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:12:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:12:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:12:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:12:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:12:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:12:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:12:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:12:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:12:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:12:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:12:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:12:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:12:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:12:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:12:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:12:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:12:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:12:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:12:57 UTC] 📊 Database Info:
[22-Nov-2025 16:12:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:12:57 UTC]    Books columns count: 44
[22-Nov-2025 16:12:57 UTC]    Categories columns count: 7
[22-Nov-2025 16:12:57 UTC]    Language field in books: YES
[22-Nov-2025 16:12:57 UTC]    Format field in books: YES
[22-Nov-2025 16:12:57 UTC]    Description field in categories: YES
[22-Nov-2025 16:12:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:12:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:12:57 UTC]    Is_active field in books: YES
[22-Nov-2025 16:12:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:12:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:12:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:12:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:12:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:12:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:13:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:13:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:13:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:13:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:13:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:01 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:13:01 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:13:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:13:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:13:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:13:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:13:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:13:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:13:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:13:02 UTC] 📊 Database Info:
[22-Nov-2025 16:13:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:13:02 UTC]    Books columns count: 44
[22-Nov-2025 16:13:02 UTC]    Categories columns count: 7
[22-Nov-2025 16:13:02 UTC]    Language field in books: YES
[22-Nov-2025 16:13:02 UTC]    Format field in books: YES
[22-Nov-2025 16:13:02 UTC]    Description field in categories: YES
[22-Nov-2025 16:13:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:13:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:13:02 UTC]    Is_active field in books: YES
[22-Nov-2025 16:13:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:13:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:13:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:13:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:13:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:13:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:13:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:13:02 UTC] 📊 Database Info:
[22-Nov-2025 16:13:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:13:02 UTC]    Books columns count: 44
[22-Nov-2025 16:13:02 UTC]    Categories columns count: 7
[22-Nov-2025 16:13:02 UTC]    Language field in books: YES
[22-Nov-2025 16:13:02 UTC]    Format field in books: YES
[22-Nov-2025 16:13:02 UTC]    Description field in categories: YES
[22-Nov-2025 16:13:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:13:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:13:02 UTC]    Is_active field in books: YES
[22-Nov-2025 16:13:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:13:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:13:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:13:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:13:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:13:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:13:02 UTC] 📊 Database Info:
[22-Nov-2025 16:13:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:13:02 UTC]    Books columns count: 44
[22-Nov-2025 16:13:02 UTC]    Categories columns count: 7
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:13:02 UTC]    Language field in books: YES
[22-Nov-2025 16:13:02 UTC]    Format field in books: YES
[22-Nov-2025 16:13:02 UTC]    Description field in categories: YES
[22-Nov-2025 16:13:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:13:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:13:02 UTC]    Is_active field in books: YES
[22-Nov-2025 16:13:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:13:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:13:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:13:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:13:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:13:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:13:02 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 16:13:02 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 16:13:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:13:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:13:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:13:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:13:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:13:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:13:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:13:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:13:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:13:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:13:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:13:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:13:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:13:02 UTC] 📊 Database Info:
[22-Nov-2025 16:13:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:13:02 UTC]    Books columns count: 44
[22-Nov-2025 16:13:02 UTC]    Categories columns count: 7
[22-Nov-2025 16:13:02 UTC]    Language field in books: YES
[22-Nov-2025 16:13:02 UTC]    Format field in books: YES
[22-Nov-2025 16:13:02 UTC]    Description field in categories: YES
[22-Nov-2025 16:13:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:13:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:13:02 UTC]    Is_active field in books: YES
[22-Nov-2025 16:13:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:13:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:13:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:13:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:13:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:13:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:13:02 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 16:13:02 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:13:02 UTC] 📊 Database Info:
[22-Nov-2025 16:13:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:13:02 UTC]    Books columns count: 44
[22-Nov-2025 16:13:02 UTC]    Categories columns count: 7
[22-Nov-2025 16:13:02 UTC]    Language field in books: YES
[22-Nov-2025 16:13:02 UTC]    Format field in books: YES
[22-Nov-2025 16:13:02 UTC]    Description field in categories: YES
[22-Nov-2025 16:13:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:13:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:13:02 UTC]    Is_active field in books: YES
[22-Nov-2025 16:13:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:13:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:13:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:13:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:13:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:13:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:13:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:13:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:13:02 UTC] 📊 Database Info:
[22-Nov-2025 16:13:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:13:02 UTC]    Books columns count: 44
[22-Nov-2025 16:13:02 UTC]    Categories columns count: 7
[22-Nov-2025 16:13:02 UTC]    Language field in books: YES
[22-Nov-2025 16:13:02 UTC]    Format field in books: YES
[22-Nov-2025 16:13:02 UTC]    Description field in categories: YES
[22-Nov-2025 16:13:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:13:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:13:02 UTC]    Is_active field in books: YES
[22-Nov-2025 16:13:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:13:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:13:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:13:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:13:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:13:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:13:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:13:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:13:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:13:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:13:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:13:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:13:03 UTC] 📊 Database Info:
[22-Nov-2025 16:13:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:13:03 UTC]    Books columns count: 44
[22-Nov-2025 16:13:03 UTC]    Categories columns count: 7
[22-Nov-2025 16:13:03 UTC]    Language field in books: YES
[22-Nov-2025 16:13:03 UTC]    Format field in books: YES
[22-Nov-2025 16:13:03 UTC]    Description field in categories: YES
[22-Nov-2025 16:13:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:13:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:13:03 UTC]    Is_active field in books: YES
[22-Nov-2025 16:13:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:13:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:13:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:13:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:13:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:13:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:13:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:13:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:13:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:13:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:13:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:13:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:13:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:13:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:13:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:13:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:13:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:13:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:13:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:13:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:13:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:13:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:13:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:13:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:13:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:13:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:13:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:13:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:13:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:13:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:13:34 UTC] 📊 Database Info:
[22-Nov-2025 16:13:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:13:34 UTC]    Books columns count: 44
[22-Nov-2025 16:13:34 UTC]    Categories columns count: 7
[22-Nov-2025 16:13:34 UTC]    Language field in books: YES
[22-Nov-2025 16:13:34 UTC]    Format field in books: YES
[22-Nov-2025 16:13:34 UTC]    Description field in categories: YES
[22-Nov-2025 16:13:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:13:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:13:34 UTC]    Is_active field in books: YES
[22-Nov-2025 16:13:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:13:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:13:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:13:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:13:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:13:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:13:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:13:34 UTC] 📊 Database Info:
[22-Nov-2025 16:13:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:13:34 UTC]    Books columns count: 44
[22-Nov-2025 16:13:34 UTC]    Categories columns count: 7
[22-Nov-2025 16:13:34 UTC]    Language field in books: YES
[22-Nov-2025 16:13:34 UTC]    Format field in books: YES
[22-Nov-2025 16:13:34 UTC]    Description field in categories: YES
[22-Nov-2025 16:13:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:13:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:13:34 UTC]    Is_active field in books: YES
[22-Nov-2025 16:13:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:13:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:13:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:13:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:13:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:13:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:13:34 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 16:13:34 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 16:13:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:13:34 UTC] 📊 Database Info:
[22-Nov-2025 16:13:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:13:34 UTC]    Books columns count: 44
[22-Nov-2025 16:13:34 UTC]    Categories columns count: 7
[22-Nov-2025 16:13:34 UTC]    Language field in books: YES
[22-Nov-2025 16:13:34 UTC]    Format field in books: YES
[22-Nov-2025 16:13:34 UTC]    Description field in categories: YES
[22-Nov-2025 16:13:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:13:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:13:34 UTC]    Is_active field in books: YES
[22-Nov-2025 16:13:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:13:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:13:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:13:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:13:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:13:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:13:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:13:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:13:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:13:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:13:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:13:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:13:41 UTC] 📊 Database Info:
[22-Nov-2025 16:13:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:13:41 UTC]    Books columns count: 44
[22-Nov-2025 16:13:41 UTC]    Categories columns count: 7
[22-Nov-2025 16:13:41 UTC]    Language field in books: YES
[22-Nov-2025 16:13:41 UTC]    Format field in books: YES
[22-Nov-2025 16:13:41 UTC]    Description field in categories: YES
[22-Nov-2025 16:13:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:13:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:13:41 UTC]    Is_active field in books: YES
[22-Nov-2025 16:13:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:13:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:13:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:13:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:13:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:13:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:13:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:13:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:13:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:13:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:13:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:13:41 UTC] 📊 Database Info:
[22-Nov-2025 16:13:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:13:41 UTC]    Books columns count: 44
[22-Nov-2025 16:13:41 UTC]    Categories columns count: 7
[22-Nov-2025 16:13:41 UTC]    Language field in books: YES
[22-Nov-2025 16:13:41 UTC]    Format field in books: YES
[22-Nov-2025 16:13:41 UTC]    Description field in categories: YES
[22-Nov-2025 16:13:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:13:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:13:41 UTC]    Is_active field in books: YES
[22-Nov-2025 16:13:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:13:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:13:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:13:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:13:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:13:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:13:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:13:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:13:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:13:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:13:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:13:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:13:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:13:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:13:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:13:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:13:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:13:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:13:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:13:45 UTC] 📊 Database Info:
[22-Nov-2025 16:13:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:13:45 UTC]    Books columns count: 44
[22-Nov-2025 16:13:45 UTC]    Categories columns count: 7
[22-Nov-2025 16:13:45 UTC]    Language field in books: YES
[22-Nov-2025 16:13:45 UTC]    Format field in books: YES
[22-Nov-2025 16:13:45 UTC]    Description field in categories: YES
[22-Nov-2025 16:13:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:13:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:13:45 UTC]    Is_active field in books: YES
[22-Nov-2025 16:13:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:13:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:13:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:13:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:13:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:13:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:13:45 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 16:13:45 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 16:13:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:13:45 UTC] 📊 Database Info:
[22-Nov-2025 16:13:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:13:45 UTC]    Books columns count: 44
[22-Nov-2025 16:13:45 UTC]    Categories columns count: 7
[22-Nov-2025 16:13:45 UTC]    Language field in books: YES
[22-Nov-2025 16:13:45 UTC]    Format field in books: YES
[22-Nov-2025 16:13:45 UTC]    Description field in categories: YES
[22-Nov-2025 16:13:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:13:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:13:45 UTC]    Is_active field in books: YES
[22-Nov-2025 16:13:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:13:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:13:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:13:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:13:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:13:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:13:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:13:45 UTC] 📊 Database Info:
[22-Nov-2025 16:13:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:13:45 UTC]    Books columns count: 44
[22-Nov-2025 16:13:45 UTC]    Categories columns count: 7
[22-Nov-2025 16:13:45 UTC]    Language field in books: YES
[22-Nov-2025 16:13:45 UTC]    Format field in books: YES
[22-Nov-2025 16:13:45 UTC]    Description field in categories: YES
[22-Nov-2025 16:13:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:13:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:13:45 UTC]    Is_active field in books: YES
[22-Nov-2025 16:13:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:13:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:13:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:13:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:13:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:13:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:13:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:13:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:13:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:13:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:13:46 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:13:46 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:13:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:13:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:13:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:13:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:13:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:13:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:13:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:13:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:13:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:13:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:13:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:13:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:13:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:13:46 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:13:46 UTC] 📊 Database Info:
[22-Nov-2025 16:13:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:13:46 UTC]    Books columns count: 44
[22-Nov-2025 16:13:46 UTC]    Categories columns count: 7
[22-Nov-2025 16:13:46 UTC]    Language field in books: YES
[22-Nov-2025 16:13:46 UTC]    Format field in books: YES
[22-Nov-2025 16:13:46 UTC]    Description field in categories: YES
[22-Nov-2025 16:13:46 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:13:46 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:13:46 UTC]    Is_active field in books: YES
[22-Nov-2025 16:13:46 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:13:46 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:13:46 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:13:46 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:13:46 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:13:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:13:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:13:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:13:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:13:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:13:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:13:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:13:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:13:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:13:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:13:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:13:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:13:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:14:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:14:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:14:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:14:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:14:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:14:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:14:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:14:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:14:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:14:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:14:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:14:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:14:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:14:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:14:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:14:22 UTC] 📊 Database Info:
[22-Nov-2025 16:14:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:14:22 UTC]    Books columns count: 44
[22-Nov-2025 16:14:22 UTC]    Categories columns count: 7
[22-Nov-2025 16:14:22 UTC]    Language field in books: YES
[22-Nov-2025 16:14:22 UTC]    Format field in books: YES
[22-Nov-2025 16:14:22 UTC]    Description field in categories: YES
[22-Nov-2025 16:14:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:14:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:14:22 UTC]    Is_active field in books: YES
[22-Nov-2025 16:14:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:14:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:14:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:14:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:14:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:14:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:14:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:14:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:14:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:14:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:14:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:14:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:14:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:14:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:14:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:14:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:14:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:14:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:14:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:14:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:14:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:14:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:14:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:14:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:14:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:14:22 UTC] 📊 Database Info:
[22-Nov-2025 16:14:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:14:22 UTC]    Books columns count: 44
[22-Nov-2025 16:14:22 UTC]    Categories columns count: 7
[22-Nov-2025 16:14:22 UTC]    Language field in books: YES
[22-Nov-2025 16:14:22 UTC]    Format field in books: YES
[22-Nov-2025 16:14:22 UTC]    Description field in categories: YES
[22-Nov-2025 16:14:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:14:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:14:22 UTC]    Is_active field in books: YES
[22-Nov-2025 16:14:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:14:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:14:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:14:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:14:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:14:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:14:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:14:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:14:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:14:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:14:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:14:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:14:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:14:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:14:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:14:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:14:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:14:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:14:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:14:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:14:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:14:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:14:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:14:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:14:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:14:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:14:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:14:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:14:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:14:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:14:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:14:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:14:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:14:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:14:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:14:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:14:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:14:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:14:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:14:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:14:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:14:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:14:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:14:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:14:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:14:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:14:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:14:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:14:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:14:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:14:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:14:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:14:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:14:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:14:25 UTC] 📊 Database Info:
[22-Nov-2025 16:14:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:14:25 UTC]    Books columns count: 44
[22-Nov-2025 16:14:25 UTC]    Categories columns count: 7
[22-Nov-2025 16:14:25 UTC]    Language field in books: YES
[22-Nov-2025 16:14:25 UTC]    Format field in books: YES
[22-Nov-2025 16:14:25 UTC]    Description field in categories: YES
[22-Nov-2025 16:14:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:14:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:14:25 UTC]    Is_active field in books: YES
[22-Nov-2025 16:14:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:14:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:14:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:14:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:14:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:14:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:14:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:14:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:14:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:14:25 UTC] 📊 Database Info:
[22-Nov-2025 16:14:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:14:25 UTC]    Books columns count: 44
[22-Nov-2025 16:14:25 UTC]    Categories columns count: 7
[22-Nov-2025 16:14:25 UTC]    Language field in books: YES
[22-Nov-2025 16:14:25 UTC]    Format field in books: YES
[22-Nov-2025 16:14:25 UTC]    Description field in categories: YES
[22-Nov-2025 16:14:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:14:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:14:25 UTC]    Is_active field in books: YES
[22-Nov-2025 16:14:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:14:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:14:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:14:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:14:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:14:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:14:25 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 16:14:25 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 16:14:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:14:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:14:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:14:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:14:25 UTC] 📊 Database Info:
[22-Nov-2025 16:14:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:14:25 UTC]    Books columns count: 44
[22-Nov-2025 16:14:25 UTC]    Categories columns count: 7
[22-Nov-2025 16:14:25 UTC]    Language field in books: YES
[22-Nov-2025 16:14:25 UTC]    Format field in books: YES
[22-Nov-2025 16:14:25 UTC]    Description field in categories: YES
[22-Nov-2025 16:14:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:14:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:14:25 UTC]    Is_active field in books: YES
[22-Nov-2025 16:14:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:14:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:14:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:14:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:14:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:14:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:14:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:14:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:14:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:14:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:14:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:14:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:14:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:14:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:14:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:14:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:14:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:14:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:14:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:14:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:14:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:14:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:14:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:14:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:14:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:14:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:14:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:14:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:14:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:14:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:14:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:14:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:14:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:14:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:14:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:14:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:14:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:14:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:14:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:14:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:14:27 UTC] 📊 Database Info:
[22-Nov-2025 16:14:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:14:27 UTC]    Books columns count: 44
[22-Nov-2025 16:14:27 UTC]    Categories columns count: 7
[22-Nov-2025 16:14:27 UTC]    Language field in books: YES
[22-Nov-2025 16:14:27 UTC]    Format field in books: YES
[22-Nov-2025 16:14:27 UTC]    Description field in categories: YES
[22-Nov-2025 16:14:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:14:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:14:27 UTC]    Is_active field in books: YES
[22-Nov-2025 16:14:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:14:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:14:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:14:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:14:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:14:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:14:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:14:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:14:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:14:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:14:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:14:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:14:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:14:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:14:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:14:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:14:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:14:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:14:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:14:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:14:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:14:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:14:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:14:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:14:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:14:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:14:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:14:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:14:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:14:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:14:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:14:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:14:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:14:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:14:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:14:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:14:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:14:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:14:35 UTC] 📊 Database Info:
[22-Nov-2025 16:14:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:14:35 UTC]    Books columns count: 44
[22-Nov-2025 16:14:35 UTC]    Categories columns count: 7
[22-Nov-2025 16:14:35 UTC]    Language field in books: YES
[22-Nov-2025 16:14:35 UTC]    Format field in books: YES
[22-Nov-2025 16:14:35 UTC]    Description field in categories: YES
[22-Nov-2025 16:14:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:14:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:14:35 UTC]    Is_active field in books: YES
[22-Nov-2025 16:14:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:14:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:14:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:14:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:14:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:14:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:14:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:14:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:14:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:14:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:14:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:14:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:14:59 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:14:59 UTC] 📊 Database Info:
[22-Nov-2025 16:14:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:14:59 UTC]    Books columns count: 44
[22-Nov-2025 16:14:59 UTC]    Categories columns count: 7
[22-Nov-2025 16:14:59 UTC]    Language field in books: YES
[22-Nov-2025 16:14:59 UTC]    Format field in books: YES
[22-Nov-2025 16:14:59 UTC]    Description field in categories: YES
[22-Nov-2025 16:14:59 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:14:59 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:14:59 UTC]    Is_active field in books: YES
[22-Nov-2025 16:14:59 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:14:59 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:14:59 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:14:59 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:14:59 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:14:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:14:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:14:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:14:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:14:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:14:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:14:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:14:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:14:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:14:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:14:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:14:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:14:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:14:59 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:14:59 UTC] 📊 Database Info:
[22-Nov-2025 16:14:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:14:59 UTC]    Books columns count: 44
[22-Nov-2025 16:14:59 UTC]    Categories columns count: 7
[22-Nov-2025 16:14:59 UTC]    Language field in books: YES
[22-Nov-2025 16:14:59 UTC]    Format field in books: YES
[22-Nov-2025 16:14:59 UTC]    Description field in categories: YES
[22-Nov-2025 16:14:59 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:14:59 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:14:59 UTC]    Is_active field in books: YES
[22-Nov-2025 16:14:59 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:14:59 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:14:59 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:14:59 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:14:59 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:14:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:15:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:15:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:15:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:15:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:15:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:15:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:15:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:15:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:15:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:15:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:15:02 UTC] 📊 Database Info:
[22-Nov-2025 16:15:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:15:02 UTC]    Books columns count: 44
[22-Nov-2025 16:15:02 UTC]    Categories columns count: 7
[22-Nov-2025 16:15:02 UTC]    Language field in books: YES
[22-Nov-2025 16:15:02 UTC]    Format field in books: YES
[22-Nov-2025 16:15:02 UTC]    Description field in categories: YES
[22-Nov-2025 16:15:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:15:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:15:02 UTC]    Is_active field in books: YES
[22-Nov-2025 16:15:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:15:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:15:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:15:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:15:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:15:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:15:02 UTC] 📊 Database Info:
[22-Nov-2025 16:15:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:15:02 UTC]    Books columns count: 44
[22-Nov-2025 16:15:02 UTC]    Categories columns count: 7
[22-Nov-2025 16:15:02 UTC]    Language field in books: YES
[22-Nov-2025 16:15:02 UTC]    Format field in books: YES
[22-Nov-2025 16:15:02 UTC]    Description field in categories: YES
[22-Nov-2025 16:15:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:15:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:15:02 UTC]    Is_active field in books: YES
[22-Nov-2025 16:15:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:15:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:15:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:15:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:15:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:15:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:15:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:15:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:15:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:15:02 UTC] 📊 Database Info:
[22-Nov-2025 16:15:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:15:02 UTC]    Books columns count: 44
[22-Nov-2025 16:15:02 UTC]    Categories columns count: 7
[22-Nov-2025 16:15:02 UTC]    Language field in books: YES
[22-Nov-2025 16:15:02 UTC]    Format field in books: YES
[22-Nov-2025 16:15:02 UTC]    Description field in categories: YES
[22-Nov-2025 16:15:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:15:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:15:02 UTC]    Is_active field in books: YES
[22-Nov-2025 16:15:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:15:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:15:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:15:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:15:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:15:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:15:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:15:02 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 16:15:02 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 16:15:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:15:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:15:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:15:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:15:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:15:04 UTC] 📊 Database Info:
[22-Nov-2025 16:15:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:15:04 UTC]    Books columns count: 44
[22-Nov-2025 16:15:04 UTC]    Categories columns count: 7
[22-Nov-2025 16:15:04 UTC]    Language field in books: YES
[22-Nov-2025 16:15:04 UTC]    Format field in books: YES
[22-Nov-2025 16:15:04 UTC]    Description field in categories: YES
[22-Nov-2025 16:15:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:15:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:15:04 UTC]    Is_active field in books: YES
[22-Nov-2025 16:15:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:15:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:15:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:15:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:15:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:15:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:15:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:15:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:15:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:15:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:15:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:15:48 UTC] 📊 Database Info:
[22-Nov-2025 16:15:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:15:48 UTC]    Books columns count: 44
[22-Nov-2025 16:15:48 UTC]    Categories columns count: 7
[22-Nov-2025 16:15:48 UTC]    Language field in books: YES
[22-Nov-2025 16:15:48 UTC]    Format field in books: YES
[22-Nov-2025 16:15:48 UTC]    Description field in categories: YES
[22-Nov-2025 16:15:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:15:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:15:48 UTC]    Is_active field in books: YES
[22-Nov-2025 16:15:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:15:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:15:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:15:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:15:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:15:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:15:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:15:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:15:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:15:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:15:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:49 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:15:49 UTC] 📊 Database Info:
[22-Nov-2025 16:15:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:15:49 UTC]    Books columns count: 44
[22-Nov-2025 16:15:49 UTC]    Categories columns count: 7
[22-Nov-2025 16:15:49 UTC]    Language field in books: YES
[22-Nov-2025 16:15:49 UTC]    Format field in books: YES
[22-Nov-2025 16:15:49 UTC]    Description field in categories: YES
[22-Nov-2025 16:15:49 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:15:49 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:15:49 UTC]    Is_active field in books: YES
[22-Nov-2025 16:15:49 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:15:49 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:15:49 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:15:49 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:15:49 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:15:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:15:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:15:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:15:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:15:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:15:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:15:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:15:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:15:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:15:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:15:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:15:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:15:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:15:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:15:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:15:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:15:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:15:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:15:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:15:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:15:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:15:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:15:52 UTC] 📊 Database Info:
[22-Nov-2025 16:15:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:15:52 UTC]    Books columns count: 44
[22-Nov-2025 16:15:52 UTC]    Categories columns count: 7
[22-Nov-2025 16:15:52 UTC]    Language field in books: YES
[22-Nov-2025 16:15:52 UTC]    Format field in books: YES
[22-Nov-2025 16:15:52 UTC]    Description field in categories: YES
[22-Nov-2025 16:15:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:15:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:15:52 UTC]    Is_active field in books: YES
[22-Nov-2025 16:15:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:15:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:15:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:15:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:15:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:15:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:15:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:15:52 UTC] 📊 Database Info:
[22-Nov-2025 16:15:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:15:52 UTC]    Books columns count: 44
[22-Nov-2025 16:15:52 UTC]    Categories columns count: 7
[22-Nov-2025 16:15:52 UTC]    Language field in books: YES
[22-Nov-2025 16:15:52 UTC]    Format field in books: YES
[22-Nov-2025 16:15:52 UTC]    Description field in categories: YES
[22-Nov-2025 16:15:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:15:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:15:52 UTC]    Is_active field in books: YES
[22-Nov-2025 16:15:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:15:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:15:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:15:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:15:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:15:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:15:52 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 16:15:52 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 16:15:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:15:52 UTC] 📊 Database Info:
[22-Nov-2025 16:15:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:15:52 UTC]    Books columns count: 44
[22-Nov-2025 16:15:52 UTC]    Categories columns count: 7
[22-Nov-2025 16:15:52 UTC]    Language field in books: YES
[22-Nov-2025 16:15:52 UTC]    Format field in books: YES
[22-Nov-2025 16:15:52 UTC]    Description field in categories: YES
[22-Nov-2025 16:15:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:15:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:15:52 UTC]    Is_active field in books: YES
[22-Nov-2025 16:15:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:15:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:15:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:15:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:15:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:15:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:15:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:15:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:15:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:15:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:15:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:15:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:15:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:15:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:15:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:15:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:15:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:15:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:15:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:15:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:15:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:15:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:15:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:15:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:15:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:15:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:15:54 UTC] 📊 Database Info:
[22-Nov-2025 16:15:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:15:54 UTC]    Books columns count: 44
[22-Nov-2025 16:15:54 UTC]    Categories columns count: 7
[22-Nov-2025 16:15:54 UTC]    Language field in books: YES
[22-Nov-2025 16:15:54 UTC]    Format field in books: YES
[22-Nov-2025 16:15:54 UTC]    Description field in categories: YES
[22-Nov-2025 16:15:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:15:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:15:54 UTC]    Is_active field in books: YES
[22-Nov-2025 16:15:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:15:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:15:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:15:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:15:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:15:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:15:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:16:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:16:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:16:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:16:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:16:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:16:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:16:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:16:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:16:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:16:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:16:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:16:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:16:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:16:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:16:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:16:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:16:13 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:16:13 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:16:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:16:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:16:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:16:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:16:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:16:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:16:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:16:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:16:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:16:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:16:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:16:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:16:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:16:13 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:16:13 UTC] 📊 Database Info:
[22-Nov-2025 16:16:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:16:13 UTC]    Books columns count: 44
[22-Nov-2025 16:16:13 UTC]    Categories columns count: 7
[22-Nov-2025 16:16:13 UTC]    Language field in books: YES
[22-Nov-2025 16:16:13 UTC]    Format field in books: YES
[22-Nov-2025 16:16:13 UTC]    Description field in categories: YES
[22-Nov-2025 16:16:13 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:16:13 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:16:13 UTC]    Is_active field in books: YES
[22-Nov-2025 16:16:13 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:16:13 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:16:13 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:16:13 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:16:13 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:16:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:16:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:16:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:16:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:16:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:16:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:16:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:16:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:16:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:16:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:16:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:16:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:16:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:16:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:16:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:16:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:16:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:16:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:16:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:16:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:16:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:16:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:16:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:16:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:16:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:16:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:16:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:16:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:16:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:16:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:16:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:16:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:16:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:16:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:16:14 UTC] 📊 Database Info:
[22-Nov-2025 16:16:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:16:14 UTC]    Books columns count: 44
[22-Nov-2025 16:16:14 UTC]    Categories columns count: 7
[22-Nov-2025 16:16:14 UTC]    Language field in books: YES
[22-Nov-2025 16:16:14 UTC]    Format field in books: YES
[22-Nov-2025 16:16:14 UTC]    Description field in categories: YES
[22-Nov-2025 16:16:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:16:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:16:14 UTC]    Is_active field in books: YES
[22-Nov-2025 16:16:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:16:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:16:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:16:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:16:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:16:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:16:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:16:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:16:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:16:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:16:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:16:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:16:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:16:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:16:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:16:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:16:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:16:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:16:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:16:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:16:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:16:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:16:23 UTC] 📊 Database Info:
[22-Nov-2025 16:16:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:16:23 UTC]    Books columns count: 44
[22-Nov-2025 16:16:23 UTC]    Categories columns count: 7
[22-Nov-2025 16:16:23 UTC]    Language field in books: YES
[22-Nov-2025 16:16:23 UTC]    Format field in books: YES
[22-Nov-2025 16:16:23 UTC]    Description field in categories: YES
[22-Nov-2025 16:16:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:16:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:16:23 UTC]    Is_active field in books: YES
[22-Nov-2025 16:16:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:16:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:16:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:16:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:16:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:16:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:16:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:16:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:16:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:16:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:16:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:16:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:16:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:16:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:16:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:16:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:16:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:16:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:16:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:16:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:16:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:16:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:16:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:16:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:16:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:16:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:16:24 UTC] 📊 Database Info:
[22-Nov-2025 16:16:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:16:24 UTC]    Books columns count: 44
[22-Nov-2025 16:16:24 UTC]    Categories columns count: 7
[22-Nov-2025 16:16:24 UTC]    Language field in books: YES
[22-Nov-2025 16:16:24 UTC]    Format field in books: YES
[22-Nov-2025 16:16:24 UTC]    Description field in categories: YES
[22-Nov-2025 16:16:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:16:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:16:24 UTC]    Is_active field in books: YES
[22-Nov-2025 16:16:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:16:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:16:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:16:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:16:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:16:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:16:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:17:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:17:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:17:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:17:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:17:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:17:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:17:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:17:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:17:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:17:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:17:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:17:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:17:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:17:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:17:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:17:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:17:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:17:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:17:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:17:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:17:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:17:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:17:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:17:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:17:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:17:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:17:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:17:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:17:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:17:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:17:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:17:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:17:36 UTC] 📊 Database Info:
[22-Nov-2025 16:17:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:17:36 UTC]    Books columns count: 44
[22-Nov-2025 16:17:36 UTC]    Categories columns count: 7
[22-Nov-2025 16:17:36 UTC]    Language field in books: YES
[22-Nov-2025 16:17:36 UTC]    Format field in books: YES
[22-Nov-2025 16:17:36 UTC]    Description field in categories: YES
[22-Nov-2025 16:17:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:17:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:17:36 UTC]    Is_active field in books: YES
[22-Nov-2025 16:17:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:17:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:17:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:17:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:17:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:17:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:17:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:17:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:17:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:17:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:17:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:17:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:17:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:17:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:17:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:17:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:17:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:17:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:17:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:17:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:17:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:17:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:17:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:17:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:17:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:17:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:17:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:17:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:17:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:17:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:17:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:17:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:17:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:17:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:17:37 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:17:37 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:17:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:17:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:17:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:17:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:17:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:17:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:17:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:17:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:17:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:17:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:17:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:17:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:17:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:17:37 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:17:37 UTC] 📊 Database Info:
[22-Nov-2025 16:17:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:17:37 UTC]    Books columns count: 44
[22-Nov-2025 16:17:37 UTC]    Categories columns count: 7
[22-Nov-2025 16:17:37 UTC]    Language field in books: YES
[22-Nov-2025 16:17:37 UTC]    Format field in books: YES
[22-Nov-2025 16:17:37 UTC]    Description field in categories: YES
[22-Nov-2025 16:17:37 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:17:37 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:17:37 UTC]    Is_active field in books: YES
[22-Nov-2025 16:17:37 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:17:37 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:17:37 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:17:37 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:17:37 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:17:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:17:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:17:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:17:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:17:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:17:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:17:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:17:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:17:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:17:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:17:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:17:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:17:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:17:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:17:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:17:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:17:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:17:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:17:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:17:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:17:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:17:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:17:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:17:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:17:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:17:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:17:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:17:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:17:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:17:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:17:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:17:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:17:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:17:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:17:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:17:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:17:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:17:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:17:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:17:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:17:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:17:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:17:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:17:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:17:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:17:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:17:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:17:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:17:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:17:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:17:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:17:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:17:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:17:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:17:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:17:39 UTC] 📊 Database Info:
[22-Nov-2025 16:17:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:17:39 UTC]    Books columns count: 44
[22-Nov-2025 16:17:39 UTC]    Categories columns count: 7
[22-Nov-2025 16:17:39 UTC]    Language field in books: YES
[22-Nov-2025 16:17:39 UTC]    Format field in books: YES
[22-Nov-2025 16:17:39 UTC]    Description field in categories: YES
[22-Nov-2025 16:17:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:17:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:17:39 UTC]    Is_active field in books: YES
[22-Nov-2025 16:17:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:17:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:17:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:17:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:17:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:17:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:17:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:17:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:17:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:17:39 UTC] 📊 Database Info:
[22-Nov-2025 16:17:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:17:39 UTC]    Books columns count: 44
[22-Nov-2025 16:17:39 UTC]    Categories columns count: 7
[22-Nov-2025 16:17:39 UTC]    Language field in books: YES
[22-Nov-2025 16:17:39 UTC]    Format field in books: YES
[22-Nov-2025 16:17:39 UTC]    Description field in categories: YES
[22-Nov-2025 16:17:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:17:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:17:39 UTC]    Is_active field in books: YES
[22-Nov-2025 16:17:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:17:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:17:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:17:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:17:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:17:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:17:39 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 16:17:39 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 16:17:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:17:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:17:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:17:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:17:39 UTC] 📊 Database Info:
[22-Nov-2025 16:17:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:17:39 UTC]    Books columns count: 44
[22-Nov-2025 16:17:39 UTC]    Categories columns count: 7
[22-Nov-2025 16:17:39 UTC]    Language field in books: YES
[22-Nov-2025 16:17:39 UTC]    Format field in books: YES
[22-Nov-2025 16:17:39 UTC]    Description field in categories: YES
[22-Nov-2025 16:17:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:17:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:17:39 UTC]    Is_active field in books: YES
[22-Nov-2025 16:17:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:17:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:17:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:17:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:17:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:17:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:17:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:17:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:17:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:17:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:17:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:17:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:17:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:17:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:17:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:17:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:17:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:17:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:17:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:17:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:17:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:17:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:17:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:17:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:17:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:17:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:17:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:17:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:17:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:17:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:17:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:17:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:17:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:17:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:17:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:17:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:17:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:17:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:17:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:17:41 UTC] 📊 Database Info:
[22-Nov-2025 16:17:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:17:41 UTC]    Books columns count: 44
[22-Nov-2025 16:17:41 UTC]    Categories columns count: 7
[22-Nov-2025 16:17:41 UTC]    Language field in books: YES
[22-Nov-2025 16:17:41 UTC]    Format field in books: YES
[22-Nov-2025 16:17:41 UTC]    Description field in categories: YES
[22-Nov-2025 16:17:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:17:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:17:41 UTC]    Is_active field in books: YES
[22-Nov-2025 16:17:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:17:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:17:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:17:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:17:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:17:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:17:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:17:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:17:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:17:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:17:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:17:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:17:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:17:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:17:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:18:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:18:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:18:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:18:00 UTC] 📊 Database Info:
[22-Nov-2025 16:18:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:18:00 UTC]    Books columns count: 44
[22-Nov-2025 16:18:00 UTC]    Categories columns count: 7
[22-Nov-2025 16:18:00 UTC]    Language field in books: YES
[22-Nov-2025 16:18:00 UTC]    Format field in books: YES
[22-Nov-2025 16:18:00 UTC]    Description field in categories: YES
[22-Nov-2025 16:18:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:18:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:18:00 UTC]    Is_active field in books: YES
[22-Nov-2025 16:18:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:18:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:18:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:18:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:18:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:18:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:18:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:18:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:18:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:18:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:18:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:18:00 UTC] 📊 Database Info:
[22-Nov-2025 16:18:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:18:00 UTC]    Books columns count: 44
[22-Nov-2025 16:18:00 UTC]    Categories columns count: 7
[22-Nov-2025 16:18:00 UTC]    Language field in books: YES
[22-Nov-2025 16:18:00 UTC]    Format field in books: YES
[22-Nov-2025 16:18:00 UTC]    Description field in categories: YES
[22-Nov-2025 16:18:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:18:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:18:00 UTC]    Is_active field in books: YES
[22-Nov-2025 16:18:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:18:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:18:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:18:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:18:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:18:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:18:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:18:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:18:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:18:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:18:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:18:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:18:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:18:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:18:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:18:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:18:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:18:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:18:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:18:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:18:03 UTC] 📊 Database Info:
[22-Nov-2025 16:18:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:18:03 UTC]    Books columns count: 44
[22-Nov-2025 16:18:03 UTC]    Categories columns count: 7
[22-Nov-2025 16:18:03 UTC]    Language field in books: YES
[22-Nov-2025 16:18:03 UTC]    Format field in books: YES
[22-Nov-2025 16:18:03 UTC]    Description field in categories: YES
[22-Nov-2025 16:18:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:18:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:18:03 UTC]    Is_active field in books: YES
[22-Nov-2025 16:18:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:18:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:18:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:18:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:18:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:18:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:18:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:18:03 UTC] 📊 Database Info:
[22-Nov-2025 16:18:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:18:03 UTC]    Books columns count: 44
[22-Nov-2025 16:18:03 UTC]    Categories columns count: 7
[22-Nov-2025 16:18:03 UTC]    Language field in books: YES
[22-Nov-2025 16:18:03 UTC]    Format field in books: YES
[22-Nov-2025 16:18:03 UTC]    Description field in categories: YES
[22-Nov-2025 16:18:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:18:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:18:03 UTC]    Is_active field in books: YES
[22-Nov-2025 16:18:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:18:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:18:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:18:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:18:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:18:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:18:03 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 16:18:03 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 16:18:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:18:03 UTC] 📊 Database Info:
[22-Nov-2025 16:18:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:18:03 UTC]    Books columns count: 44
[22-Nov-2025 16:18:03 UTC]    Categories columns count: 7
[22-Nov-2025 16:18:03 UTC]    Language field in books: YES
[22-Nov-2025 16:18:03 UTC]    Format field in books: YES
[22-Nov-2025 16:18:03 UTC]    Description field in categories: YES
[22-Nov-2025 16:18:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:18:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:18:03 UTC]    Is_active field in books: YES
[22-Nov-2025 16:18:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:18:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:18:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:18:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:18:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:18:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:18:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:18:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:18:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:18:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:18:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:18:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:18:04 UTC] 📊 Database Info:
[22-Nov-2025 16:18:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:18:04 UTC]    Books columns count: 44
[22-Nov-2025 16:18:04 UTC]    Categories columns count: 7
[22-Nov-2025 16:18:04 UTC]    Language field in books: YES
[22-Nov-2025 16:18:04 UTC]    Format field in books: YES
[22-Nov-2025 16:18:04 UTC]    Description field in categories: YES
[22-Nov-2025 16:18:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:18:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:18:04 UTC]    Is_active field in books: YES
[22-Nov-2025 16:18:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:18:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:18:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:18:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:18:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:18:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:18:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:18:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:18:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:18:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:18:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:18:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:18:19 UTC] 📊 Database Info:
[22-Nov-2025 16:18:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:18:19 UTC]    Books columns count: 44
[22-Nov-2025 16:18:19 UTC]    Categories columns count: 7
[22-Nov-2025 16:18:19 UTC]    Language field in books: YES
[22-Nov-2025 16:18:19 UTC]    Format field in books: YES
[22-Nov-2025 16:18:19 UTC]    Description field in categories: YES
[22-Nov-2025 16:18:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:18:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:18:19 UTC]    Is_active field in books: YES
[22-Nov-2025 16:18:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:18:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:18:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:18:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:18:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:18:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:18:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:18:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:18:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:18:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:18:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:18:19 UTC] 📊 Database Info:
[22-Nov-2025 16:18:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:18:19 UTC]    Books columns count: 44
[22-Nov-2025 16:18:19 UTC]    Categories columns count: 7
[22-Nov-2025 16:18:19 UTC]    Language field in books: YES
[22-Nov-2025 16:18:19 UTC]    Format field in books: YES
[22-Nov-2025 16:18:19 UTC]    Description field in categories: YES
[22-Nov-2025 16:18:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:18:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:18:19 UTC]    Is_active field in books: YES
[22-Nov-2025 16:18:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:18:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:18:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:18:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:18:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:18:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:18:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:18:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:18:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:18:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:18:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:18:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:18:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:18:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:18:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:18:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:18:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:18:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:18:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:18:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:18:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:18:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:18:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:18:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:18:22 UTC] 📊 Database Info:
[22-Nov-2025 16:18:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:18:22 UTC]    Books columns count: 44
[22-Nov-2025 16:18:22 UTC]    Categories columns count: 7
[22-Nov-2025 16:18:22 UTC]    Language field in books: YES
[22-Nov-2025 16:18:22 UTC]    Format field in books: YES
[22-Nov-2025 16:18:22 UTC]    Description field in categories: YES
[22-Nov-2025 16:18:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:18:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:18:22 UTC]    Is_active field in books: YES
[22-Nov-2025 16:18:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:18:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:18:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:18:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:18:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:18:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:18:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:18:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:18:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:18:22 UTC] 📊 Database Info:
[22-Nov-2025 16:18:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:18:22 UTC]    Books columns count: 44
[22-Nov-2025 16:18:22 UTC]    Categories columns count: 7
[22-Nov-2025 16:18:22 UTC]    Language field in books: YES
[22-Nov-2025 16:18:22 UTC]    Format field in books: YES
[22-Nov-2025 16:18:22 UTC]    Description field in categories: YES
[22-Nov-2025 16:18:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:18:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:18:22 UTC]    Is_active field in books: YES
[22-Nov-2025 16:18:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:18:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:18:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:18:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:18:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:18:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:18:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:18:22 UTC] 📊 Database Info:
[22-Nov-2025 16:18:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:18:22 UTC]    Books columns count: 44
[22-Nov-2025 16:18:22 UTC]    Categories columns count: 7
[22-Nov-2025 16:18:22 UTC]    Language field in books: YES
[22-Nov-2025 16:18:22 UTC]    Format field in books: YES
[22-Nov-2025 16:18:22 UTC]    Description field in categories: YES
[22-Nov-2025 16:18:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:18:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:18:22 UTC]    Is_active field in books: YES
[22-Nov-2025 16:18:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:18:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:18:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:18:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:18:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:18:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:18:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:18:22 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 16:18:22 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 16:19:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:19:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:19:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:19:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:19:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:19:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:19:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:19:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:19:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:19:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:19:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:19:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:19:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:19:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:19:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:19:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:19:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:19:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:19:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:19:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:19:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:19:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:19:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:19:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:19:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:19:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:19:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:19:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:19:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:19:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:19:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:19:36 UTC] 📊 Database Info:
[22-Nov-2025 16:19:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:19:36 UTC]    Books columns count: 44
[22-Nov-2025 16:19:36 UTC]    Categories columns count: 7
[22-Nov-2025 16:19:36 UTC]    Language field in books: YES
[22-Nov-2025 16:19:36 UTC]    Format field in books: YES
[22-Nov-2025 16:19:36 UTC]    Description field in categories: YES
[22-Nov-2025 16:19:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:19:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:19:36 UTC]    Is_active field in books: YES
[22-Nov-2025 16:19:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:19:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:19:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:19:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:19:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:19:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:19:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:19:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:19:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:19:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:19:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:19:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:19:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:19:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:19:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:19:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:19:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:19:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:19:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:19:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:19:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:19:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:19:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:19:37 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:19:37 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:19:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:19:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:19:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:19:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:19:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:19:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:19:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:19:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:19:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:19:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:19:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:19:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:19:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:19:37 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:19:37 UTC] 📊 Database Info:
[22-Nov-2025 16:19:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:19:37 UTC]    Books columns count: 44
[22-Nov-2025 16:19:37 UTC]    Categories columns count: 7
[22-Nov-2025 16:19:37 UTC]    Language field in books: YES
[22-Nov-2025 16:19:37 UTC]    Format field in books: YES
[22-Nov-2025 16:19:37 UTC]    Description field in categories: YES
[22-Nov-2025 16:19:37 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:19:37 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:19:37 UTC]    Is_active field in books: YES
[22-Nov-2025 16:19:37 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:19:37 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:19:37 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:19:37 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:19:37 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:19:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:19:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:19:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:19:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:19:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:19:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:19:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:19:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:19:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:19:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:19:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:19:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:19:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:19:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:19:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:19:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:19:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:19:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:19:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:19:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:19:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:19:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:19:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:19:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:19:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:19:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:19:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:19:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:19:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:19:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:19:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:19:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:19:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:19:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:19:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:19:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:19:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:19:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:19:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:19:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:19:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:19:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:19:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:19:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:19:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:19:41 UTC] 📊 Database Info:
[22-Nov-2025 16:19:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:19:41 UTC]    Books columns count: 44
[22-Nov-2025 16:19:41 UTC]    Categories columns count: 7
[22-Nov-2025 16:19:41 UTC]    Language field in books: YES
[22-Nov-2025 16:19:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:19:41 UTC]    Format field in books: YES
[22-Nov-2025 16:19:41 UTC]    Description field in categories: YES
[22-Nov-2025 16:19:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:19:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:19:41 UTC]    Is_active field in books: YES
[22-Nov-2025 16:19:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:19:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:19:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:19:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:19:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:19:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:19:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:19:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:19:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:19:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:19:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:19:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:19:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:19:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:19:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:19:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:19:41 UTC] 📊 Database Info:
[22-Nov-2025 16:19:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:19:41 UTC]    Books columns count: 44
[22-Nov-2025 16:19:41 UTC]    Categories columns count: 7
[22-Nov-2025 16:19:41 UTC]    Language field in books: YES
[22-Nov-2025 16:19:41 UTC]    Format field in books: YES
[22-Nov-2025 16:19:41 UTC]    Description field in categories: YES
[22-Nov-2025 16:19:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:19:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:19:41 UTC]    Is_active field in books: YES
[22-Nov-2025 16:19:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:19:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:19:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:19:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:19:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:19:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:19:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:19:41 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:19:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:19:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:19:41 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 16:19:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:19:41 UTC] 📊 Database Info:
[22-Nov-2025 16:19:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:19:41 UTC]    Books columns count: 44
[22-Nov-2025 16:19:41 UTC]    Categories columns count: 7
[22-Nov-2025 16:19:41 UTC]    Language field in books: YES
[22-Nov-2025 16:19:41 UTC]    Format field in books: YES
[22-Nov-2025 16:19:41 UTC]    Description field in categories: YES
[22-Nov-2025 16:19:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:19:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:19:41 UTC]    Is_active field in books: YES
[22-Nov-2025 16:19:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:19:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:19:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:19:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:19:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:19:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:19:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:19:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 16:19:41 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 16:19:41 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 16:20:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:20:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:20:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:20:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:20:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:20:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:20:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:20:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:20:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:20:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:20:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:20:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:20:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:20:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:20:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:20:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:20:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:20:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:20:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:20:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:20:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:20:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:20:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:20:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:20:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:20:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:20:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:20:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:20:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:20:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:20:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:20:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:20:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:20:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:20:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:20:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:20:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:20:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:20:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:20:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:20:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:20:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:20:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:20:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:20:09 UTC] 📊 Database Info:
[22-Nov-2025 16:20:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:20:09 UTC]    Books columns count: 44
[22-Nov-2025 16:20:09 UTC]    Categories columns count: 7
[22-Nov-2025 16:20:09 UTC]    Language field in books: YES
[22-Nov-2025 16:20:09 UTC]    Format field in books: YES
[22-Nov-2025 16:20:09 UTC]    Description field in categories: YES
[22-Nov-2025 16:20:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:20:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:20:09 UTC]    Is_active field in books: YES
[22-Nov-2025 16:20:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:20:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:20:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:20:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:20:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:20:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:20:09 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 16:20:09 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 16:20:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:20:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:20:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:20:09 UTC] 📊 Database Info:
[22-Nov-2025 16:20:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:20:09 UTC]    Books columns count: 44
[22-Nov-2025 16:20:09 UTC]    Categories columns count: 7
[22-Nov-2025 16:20:09 UTC]    Language field in books: YES
[22-Nov-2025 16:20:09 UTC]    Format field in books: YES
[22-Nov-2025 16:20:09 UTC]    Description field in categories: YES
[22-Nov-2025 16:20:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:20:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:20:09 UTC]    Is_active field in books: YES
[22-Nov-2025 16:20:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:20:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:20:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:20:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:20:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:20:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:20:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 16:20:09 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 16:20:09 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 16:20:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:20:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:20:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:20:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:20:09 UTC] 📊 Database Info:
[22-Nov-2025 16:20:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:20:09 UTC]    Books columns count: 44
[22-Nov-2025 16:20:09 UTC]    Categories columns count: 7
[22-Nov-2025 16:20:09 UTC]    Language field in books: YES
[22-Nov-2025 16:20:09 UTC]    Format field in books: YES
[22-Nov-2025 16:20:09 UTC]    Description field in categories: YES
[22-Nov-2025 16:20:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:20:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:20:09 UTC]    Is_active field in books: YES
[22-Nov-2025 16:20:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:20:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:20:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:20:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:20:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:20:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:20:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:23:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:23:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:23:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:23:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:23:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:23:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:23:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:23:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:23:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:23:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:23:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:23:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:23:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:23:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:23:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:23:56 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:23:56 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:23:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:23:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:23:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:23:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:23:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:23:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:23:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:23:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:23:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:23:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:23:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:23:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:23:56 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:23:56 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:23:56 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:23:56 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:23:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:23:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:23:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:23:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:23:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:23:56 UTC] 📊 Database Info:
[22-Nov-2025 16:23:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:23:56 UTC]    Books columns count: 44
[22-Nov-2025 16:23:56 UTC]    Categories columns count: 7
[22-Nov-2025 16:23:56 UTC]    Language field in books: YES
[22-Nov-2025 16:23:56 UTC]    Format field in books: YES
[22-Nov-2025 16:23:56 UTC]    Description field in categories: YES
[22-Nov-2025 16:23:56 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:23:56 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:23:56 UTC]    Is_active field in books: YES
[22-Nov-2025 16:23:56 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:23:56 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:23:56 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:23:56 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:23:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:23:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:23:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:23:56 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 16:23:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:23:56 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:23:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:23:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:23:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:23:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:23:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:23:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:23:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:23:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:23:56 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:23:56 UTC] 📊 Database Info:
[22-Nov-2025 16:23:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:23:56 UTC]    Books columns count: 44
[22-Nov-2025 16:23:56 UTC]    Categories columns count: 7
[22-Nov-2025 16:23:56 UTC]    Language field in books: YES
[22-Nov-2025 16:23:56 UTC]    Format field in books: YES
[22-Nov-2025 16:23:56 UTC]    Description field in categories: YES
[22-Nov-2025 16:23:56 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:23:56 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:23:56 UTC]    Is_active field in books: YES
[22-Nov-2025 16:23:56 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:23:56 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:23:56 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:23:56 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:23:56 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:23:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:23:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 16:23:56 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 16:23:56 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 16:23:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:23:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:23:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:23:56 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:23:56 UTC] 📊 Database Info:
[22-Nov-2025 16:23:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:23:56 UTC]    Books columns count: 44
[22-Nov-2025 16:23:56 UTC]    Categories columns count: 7
[22-Nov-2025 16:23:56 UTC]    Language field in books: YES
[22-Nov-2025 16:23:56 UTC]    Format field in books: YES
[22-Nov-2025 16:23:56 UTC]    Description field in categories: YES
[22-Nov-2025 16:23:56 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:23:56 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:23:56 UTC]    Is_active field in books: YES
[22-Nov-2025 16:23:56 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:23:56 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:23:56 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:23:56 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:23:56 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:23:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:23:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:40:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:40:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:40:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:40:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:40:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:40:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:40:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:40:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:40:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:40:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:40:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:40:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:40:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:40:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:40:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:40:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:40:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:40:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:40:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:40:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:40:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:40:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:40:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:40:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:40:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:40:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:40:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:40:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:40:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:40:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:40:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:40:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:40:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:40:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:40:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:40:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:40:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:40:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:40:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:40:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:40:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:40:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:40:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:40:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:40:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:40:39 UTC] 📊 Database Info:
[22-Nov-2025 16:40:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:40:39 UTC]    Books columns count: 44
[22-Nov-2025 16:40:39 UTC]    Categories columns count: 7
[22-Nov-2025 16:40:39 UTC]    Language field in books: YES
[22-Nov-2025 16:40:39 UTC]    Format field in books: YES
[22-Nov-2025 16:40:39 UTC]    Description field in categories: YES
[22-Nov-2025 16:40:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:40:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:40:39 UTC]    Is_active field in books: YES
[22-Nov-2025 16:40:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:40:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:40:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:40:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:40:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:40:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:40:39 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 16:40:39 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 16:40:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:40:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:40:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:40:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:40:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:40:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:40:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:40:39 UTC] 📊 Database Info:
[22-Nov-2025 16:40:39 UTC] 📊 Database Info:
[22-Nov-2025 16:40:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:40:39 UTC]    Books columns count: 44
[22-Nov-2025 16:40:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:40:39 UTC]    Categories columns count: 7
[22-Nov-2025 16:40:39 UTC]    Books columns count: 44
[22-Nov-2025 16:40:39 UTC]    Language field in books: YES
[22-Nov-2025 16:40:39 UTC]    Categories columns count: 7
[22-Nov-2025 16:40:39 UTC]    Format field in books: YES
[22-Nov-2025 16:40:39 UTC]    Description field in categories: YES
[22-Nov-2025 16:40:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:40:39 UTC]    Language field in books: YES
[22-Nov-2025 16:40:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:40:39 UTC]    Format field in books: YES
[22-Nov-2025 16:40:39 UTC]    Is_active field in books: YES
[22-Nov-2025 16:40:39 UTC]    Description field in categories: YES
[22-Nov-2025 16:40:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:40:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:40:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:40:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:40:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:40:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:40:39 UTC]    Is_active field in books: YES
[22-Nov-2025 16:40:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:40:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:40:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:40:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:40:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:40:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:40:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:40:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:40:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:40:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 16:40:39 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 16:40:39 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 16:43:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:43:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:43:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:43:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:43:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:43:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:43:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:43:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:43:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:43:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:43:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:43:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:43:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:43:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:43:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:43:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:43:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:43:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:43:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:43:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:43:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:43:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:43:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:43:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:43:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:43:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:43:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:43:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:43:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:43:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:43:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:43:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:43:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:43:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:43:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:43:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:43:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:43:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:43:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:43:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:43:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:43:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:43:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:43:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:43:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:43:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:43:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:43:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:43:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:43:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:43:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:43:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:43:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:43:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:43:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:43:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:43:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:43:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:43:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:43:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:43:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:43:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:43:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:43:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:43:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:43:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:43:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:43:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:43:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:43:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:43:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:43:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:43:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:43:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:43:02 UTC] 📊 Database Info:
[22-Nov-2025 16:43:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:43:02 UTC]    Books columns count: 44
[22-Nov-2025 16:43:02 UTC]    Categories columns count: 7
[22-Nov-2025 16:43:02 UTC]    Language field in books: YES
[22-Nov-2025 16:43:02 UTC]    Format field in books: YES
[22-Nov-2025 16:43:02 UTC]    Description field in categories: YES
[22-Nov-2025 16:43:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:43:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:43:02 UTC]    Is_active field in books: YES
[22-Nov-2025 16:43:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:43:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:43:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:43:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:43:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:43:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:43:02 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 16:43:02 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 16:43:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:43:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:43:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:43:02 UTC] 📊 Database Info:
[22-Nov-2025 16:43:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:43:02 UTC]    Books columns count: 44
[22-Nov-2025 16:43:02 UTC]    Categories columns count: 7
[22-Nov-2025 16:43:02 UTC]    Language field in books: YES
[22-Nov-2025 16:43:02 UTC]    Format field in books: YES
[22-Nov-2025 16:43:02 UTC]    Description field in categories: YES
[22-Nov-2025 16:43:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:43:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:43:02 UTC]    Is_active field in books: YES
[22-Nov-2025 16:43:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:43:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:43:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:43:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:43:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:43:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:43:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 16:43:02 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 16:43:02 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 16:43:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:43:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:43:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:43:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:43:02 UTC] 📊 Database Info:
[22-Nov-2025 16:43:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:43:02 UTC]    Books columns count: 44
[22-Nov-2025 16:43:02 UTC]    Categories columns count: 7
[22-Nov-2025 16:43:02 UTC]    Language field in books: YES
[22-Nov-2025 16:43:02 UTC]    Format field in books: YES
[22-Nov-2025 16:43:02 UTC]    Description field in categories: YES
[22-Nov-2025 16:43:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:43:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:43:02 UTC]    Is_active field in books: YES
[22-Nov-2025 16:43:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:43:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:43:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:43:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:43:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:43:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:43:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:43:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:43:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:43:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:43:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:43:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:43:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:43:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:43:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:43:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:43:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:43:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:43:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:43:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:43:59 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:43:59 UTC] 📊 Database Info:
[22-Nov-2025 16:43:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:43:59 UTC]    Books columns count: 44
[22-Nov-2025 16:43:59 UTC]    Categories columns count: 7
[22-Nov-2025 16:43:59 UTC]    Language field in books: YES
[22-Nov-2025 16:43:59 UTC]    Format field in books: YES
[22-Nov-2025 16:43:59 UTC]    Description field in categories: YES
[22-Nov-2025 16:43:59 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:43:59 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:43:59 UTC]    Is_active field in books: YES
[22-Nov-2025 16:43:59 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:43:59 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:43:59 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:43:59 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:43:59 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:43:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:43:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:43:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:43:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:43:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:43:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:43:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:43:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:43:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:43:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:43:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:43:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:43:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:43:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:43:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:43:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:43:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:43:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:43:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:43:59 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:43:59 UTC] 📊 Database Info:
[22-Nov-2025 16:43:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:43:59 UTC]    Books columns count: 44
[22-Nov-2025 16:43:59 UTC]    Categories columns count: 7
[22-Nov-2025 16:43:59 UTC]    Language field in books: YES
[22-Nov-2025 16:43:59 UTC]    Format field in books: YES
[22-Nov-2025 16:43:59 UTC]    Description field in categories: YES
[22-Nov-2025 16:43:59 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:43:59 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:43:59 UTC]    Is_active field in books: YES
[22-Nov-2025 16:43:59 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:43:59 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:43:59 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:43:59 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:43:59 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:43:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:43:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:44:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:44:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:44:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:44:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:44:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:44:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:44:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:44:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:44:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:44:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:44:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:44:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:44:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:44:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:44:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:44:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:44:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:44:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:44:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:44:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:44:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:44:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:44:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:44:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:44:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:44:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:44:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:44:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:44:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:44:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:44:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:44:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:44:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:44:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:44:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:44:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:44:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:44:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:44:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:44:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:44:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:44:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:44:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:44:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:44:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:44:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:44:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:44:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:44:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:44:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:44:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:44:04 UTC] 📊 Database Info:
[22-Nov-2025 16:44:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:44:04 UTC]    Books columns count: 44
[22-Nov-2025 16:44:04 UTC]    Categories columns count: 7
[22-Nov-2025 16:44:04 UTC]    Language field in books: YES
[22-Nov-2025 16:44:04 UTC]    Format field in books: YES
[22-Nov-2025 16:44:04 UTC]    Description field in categories: YES
[22-Nov-2025 16:44:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:44:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:44:04 UTC]    Is_active field in books: YES
[22-Nov-2025 16:44:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:44:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:44:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:44:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:44:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:44:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:44:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 16:44:04 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 16:44:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:44:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:44:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:44:04 UTC] 📊 Database Info:
[22-Nov-2025 16:44:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:44:04 UTC]    Books columns count: 44
[22-Nov-2025 16:44:04 UTC]    Categories columns count: 7
[22-Nov-2025 16:44:04 UTC]    Language field in books: YES
[22-Nov-2025 16:44:04 UTC]    Format field in books: YES
[22-Nov-2025 16:44:04 UTC]    Description field in categories: YES
[22-Nov-2025 16:44:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:44:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:44:04 UTC]    Is_active field in books: YES
[22-Nov-2025 16:44:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:44:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:44:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:44:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:44:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:44:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:44:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:44:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:44:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:44:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:44:04 UTC] 📊 Database Info:
[22-Nov-2025 16:44:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:44:04 UTC]    Books columns count: 44
[22-Nov-2025 16:44:04 UTC]    Categories columns count: 7
[22-Nov-2025 16:44:04 UTC]    Language field in books: YES
[22-Nov-2025 16:44:04 UTC]    Format field in books: YES
[22-Nov-2025 16:44:04 UTC]    Description field in categories: YES
[22-Nov-2025 16:44:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:44:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:44:04 UTC]    Is_active field in books: YES
[22-Nov-2025 16:44:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:44:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:44:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:44:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:44:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:44:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:44:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 16:44:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 16:44:04 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 16:45:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:45:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:45:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:45:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:45:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:45:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:45:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:45:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:45:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:45:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:45:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:45:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:45:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:45:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:45:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:45:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:45:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:45:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:45:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:45:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:45:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:45:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:45:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:45:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:45:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:45:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:45:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:45:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:45:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:45:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:45:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:45:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:45:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:45:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:45:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:45:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:45:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:45:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:45:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:45:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:45:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:45:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:45:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:45:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:45:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:45:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:45:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:45:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:45:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:45:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:45:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:45:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:45:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:45:13 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:45:13 UTC] 📊 Database Info:
[22-Nov-2025 16:45:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:45:13 UTC]    Books columns count: 44
[22-Nov-2025 16:45:13 UTC]    Categories columns count: 7
[22-Nov-2025 16:45:13 UTC]    Language field in books: YES
[22-Nov-2025 16:45:13 UTC]    Format field in books: YES
[22-Nov-2025 16:45:13 UTC]    Description field in categories: YES
[22-Nov-2025 16:45:13 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:45:13 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:45:13 UTC]    Is_active field in books: YES
[22-Nov-2025 16:45:13 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:45:13 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:45:13 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:45:13 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:45:13 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:45:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:45:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:45:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:45:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:45:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:45:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:45:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:45:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:45:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:45:13 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:45:13 UTC] 📊 Database Info:
[22-Nov-2025 16:45:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:45:13 UTC]    Books columns count: 44
[22-Nov-2025 16:45:13 UTC]    Categories columns count: 7
[22-Nov-2025 16:45:13 UTC]    Language field in books: YES
[22-Nov-2025 16:45:13 UTC]    Format field in books: YES
[22-Nov-2025 16:45:13 UTC]    Description field in categories: YES
[22-Nov-2025 16:45:13 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:45:13 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:45:13 UTC]    Is_active field in books: YES
[22-Nov-2025 16:45:13 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:45:13 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:45:13 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:45:13 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:45:13 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:45:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:45:13 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 16:45:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:45:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:45:13 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 16:45:13 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:45:13 UTC] 📊 Database Info:
[22-Nov-2025 16:45:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:45:13 UTC]    Books columns count: 44
[22-Nov-2025 16:45:13 UTC]    Categories columns count: 7
[22-Nov-2025 16:45:13 UTC]    Language field in books: YES
[22-Nov-2025 16:45:13 UTC]    Format field in books: YES
[22-Nov-2025 16:45:13 UTC]    Description field in categories: YES
[22-Nov-2025 16:45:13 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:45:13 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:45:13 UTC]    Is_active field in books: YES
[22-Nov-2025 16:45:13 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:45:13 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:45:13 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:45:13 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:45:13 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:45:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:45:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:45:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 16:45:13 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 16:45:13 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 16:45:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:45:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:45:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:45:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:45:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:45:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:45:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:45:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:45:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:45:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:45:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:45:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:45:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:45:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:45:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:45:33 UTC] 📊 Database Info:
[22-Nov-2025 16:45:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:45:33 UTC]    Books columns count: 44
[22-Nov-2025 16:45:33 UTC]    Categories columns count: 7
[22-Nov-2025 16:45:33 UTC]    Language field in books: YES
[22-Nov-2025 16:45:33 UTC]    Format field in books: YES
[22-Nov-2025 16:45:33 UTC]    Description field in categories: YES
[22-Nov-2025 16:45:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:45:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:45:33 UTC]    Is_active field in books: YES
[22-Nov-2025 16:45:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:45:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:45:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:45:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:45:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:45:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:45:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:45:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:45:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:45:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:45:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:45:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:45:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:45:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:45:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:45:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:45:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:45:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:45:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:45:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:45:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:45:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:45:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:45:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:45:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:45:33 UTC] 📊 Database Info:
[22-Nov-2025 16:45:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:45:33 UTC]    Books columns count: 44
[22-Nov-2025 16:45:33 UTC]    Categories columns count: 7
[22-Nov-2025 16:45:33 UTC]    Language field in books: YES
[22-Nov-2025 16:45:33 UTC]    Format field in books: YES
[22-Nov-2025 16:45:33 UTC]    Description field in categories: YES
[22-Nov-2025 16:45:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:45:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:45:33 UTC]    Is_active field in books: YES
[22-Nov-2025 16:45:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:45:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:45:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:45:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:45:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:45:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:45:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:46:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:46:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:46:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:46:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:46:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:46:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:46:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:46:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:46:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:46:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:46:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:46:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:46:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:46:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:46:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:46:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:46:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:46:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:46:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:46:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:46:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:46:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:46:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:46:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:46:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:46:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:46:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:46:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:46:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:46:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:46:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:46:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:46:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:46:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:46:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:46:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:46:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:46:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:46:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:46:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:46:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:46:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:46:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:46:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:46:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:46:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:46:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:46:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:46:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:46:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:46:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:46:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:46:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:46:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:46:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:46:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:46:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:46:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:46:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:46:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:46:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:46:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:46:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:46:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:46:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:46:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:46:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:46:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:46:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:46:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:46:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:46:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:46:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:46:16 UTC] 📊 Database Info:
[22-Nov-2025 16:46:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:46:16 UTC]    Books columns count: 44
[22-Nov-2025 16:46:16 UTC]    Categories columns count: 7
[22-Nov-2025 16:46:16 UTC]    Language field in books: YES
[22-Nov-2025 16:46:16 UTC]    Format field in books: YES
[22-Nov-2025 16:46:16 UTC]    Description field in categories: YES
[22-Nov-2025 16:46:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:46:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:46:16 UTC]    Is_active field in books: YES
[22-Nov-2025 16:46:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:46:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:46:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:46:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:46:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:46:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:46:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 16:46:16 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 16:46:16 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 16:46:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:46:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:46:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:46:16 UTC] 📊 Database Info:
[22-Nov-2025 16:46:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:46:16 UTC]    Books columns count: 44
[22-Nov-2025 16:46:16 UTC]    Categories columns count: 7
[22-Nov-2025 16:46:16 UTC]    Language field in books: YES
[22-Nov-2025 16:46:16 UTC]    Format field in books: YES
[22-Nov-2025 16:46:16 UTC]    Description field in categories: YES
[22-Nov-2025 16:46:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:46:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:46:16 UTC]    Is_active field in books: YES
[22-Nov-2025 16:46:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:46:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:46:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:46:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:46:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:46:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:46:16 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 16:46:16 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 16:46:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:46:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:46:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:46:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:46:16 UTC] 📊 Database Info:
[22-Nov-2025 16:46:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:46:16 UTC]    Books columns count: 44
[22-Nov-2025 16:46:16 UTC]    Categories columns count: 7
[22-Nov-2025 16:46:16 UTC]    Language field in books: YES
[22-Nov-2025 16:46:16 UTC]    Format field in books: YES
[22-Nov-2025 16:46:16 UTC]    Description field in categories: YES
[22-Nov-2025 16:46:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:46:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:46:16 UTC]    Is_active field in books: YES
[22-Nov-2025 16:46:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:46:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:46:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:46:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:46:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:46:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:46:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:46:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:46:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:46:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:46:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:46:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:46:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:46:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:46:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:46:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:46:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:46:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:46:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:46:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:46:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:46:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:46:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:46:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:46:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:46:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:46:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:46:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:46:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:46:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:46:38 UTC] 📊 Database Info:
[22-Nov-2025 16:46:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:46:38 UTC]    Books columns count: 44
[22-Nov-2025 16:46:38 UTC]    Categories columns count: 7
[22-Nov-2025 16:46:38 UTC]    Language field in books: YES
[22-Nov-2025 16:46:38 UTC]    Format field in books: YES
[22-Nov-2025 16:46:38 UTC]    Description field in categories: YES
[22-Nov-2025 16:46:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:46:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:46:38 UTC]    Is_active field in books: YES
[22-Nov-2025 16:46:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:46:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:46:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:46:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:46:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:46:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:46:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:46:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:46:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:46:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:46:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:46:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:46:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:46:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:46:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:46:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:46:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:46:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:46:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:46:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:46:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:46:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:46:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:46:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:46:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:46:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:46:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:46:38 UTC] 📊 Database Info:
[22-Nov-2025 16:46:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:46:38 UTC]    Books columns count: 44
[22-Nov-2025 16:46:38 UTC]    Categories columns count: 7
[22-Nov-2025 16:46:38 UTC]    Language field in books: YES
[22-Nov-2025 16:46:38 UTC]    Format field in books: YES
[22-Nov-2025 16:46:38 UTC]    Description field in categories: YES
[22-Nov-2025 16:46:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:46:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:46:38 UTC]    Is_active field in books: YES
[22-Nov-2025 16:46:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:46:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:46:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:46:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:46:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:46:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:46:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:46:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:46:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:46:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:46:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:46:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:46:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:46:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:46:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:46:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:46:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:46:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:46:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:46:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:46:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:46:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:46:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:46:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:46:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:46:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:46:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:46:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:46:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:46:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:46:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:46:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:46:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:46:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:46:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:46:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:46:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:46:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:46:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:46:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:46:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:46:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:46:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:46:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:46:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:46:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:46:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:46:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:46:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:46:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:46:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:46:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:46:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:46:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:46:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:46:42 UTC] 📊 Database Info:
[22-Nov-2025 16:46:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:46:42 UTC]    Books columns count: 44
[22-Nov-2025 16:46:42 UTC]    Categories columns count: 7
[22-Nov-2025 16:46:42 UTC]    Language field in books: YES
[22-Nov-2025 16:46:42 UTC]    Format field in books: YES
[22-Nov-2025 16:46:42 UTC]    Description field in categories: YES
[22-Nov-2025 16:46:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:46:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:46:42 UTC]    Is_active field in books: YES
[22-Nov-2025 16:46:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:46:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:46:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:46:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:46:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:46:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:46:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:46:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:46:42 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 16:46:42 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 16:46:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:46:42 UTC] 📊 Database Info:
[22-Nov-2025 16:46:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:46:42 UTC]    Books columns count: 44
[22-Nov-2025 16:46:42 UTC]    Categories columns count: 7
[22-Nov-2025 16:46:42 UTC]    Language field in books: YES
[22-Nov-2025 16:46:42 UTC]    Format field in books: YES
[22-Nov-2025 16:46:42 UTC]    Description field in categories: YES
[22-Nov-2025 16:46:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:46:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:46:42 UTC]    Is_active field in books: YES
[22-Nov-2025 16:46:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:46:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:46:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:46:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:46:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:46:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:46:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:46:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:46:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:46:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:46:42 UTC] 📊 Database Info:
[22-Nov-2025 16:46:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:46:42 UTC]    Books columns count: 44
[22-Nov-2025 16:46:42 UTC]    Categories columns count: 7
[22-Nov-2025 16:46:42 UTC]    Language field in books: YES
[22-Nov-2025 16:46:42 UTC]    Format field in books: YES
[22-Nov-2025 16:46:42 UTC]    Description field in categories: YES
[22-Nov-2025 16:46:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:46:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:46:42 UTC]    Is_active field in books: YES
[22-Nov-2025 16:46:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:46:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:46:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:46:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:46:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:46:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:46:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:46:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 16:46:42 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 16:46:42 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 16:47:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:47:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:47:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:47:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:47:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:47:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:47:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:47:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:47:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:47:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:47:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:47:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:47:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:47:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:47:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:47:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:47:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:47:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:47:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:47:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:47:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:47:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:47:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:47:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:47:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:47:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:47:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:47:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:47:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:47:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:47:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:47:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:47:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:47:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:47:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:47:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:47:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:47:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:47:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:47:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:47:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:47:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:47:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:47:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:47:38 UTC] 📊 Database Info:
[22-Nov-2025 16:47:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:47:38 UTC]    Books columns count: 44
[22-Nov-2025 16:47:38 UTC]    Categories columns count: 7
[22-Nov-2025 16:47:38 UTC]    Language field in books: YES
[22-Nov-2025 16:47:38 UTC]    Format field in books: YES
[22-Nov-2025 16:47:38 UTC]    Description field in categories: YES
[22-Nov-2025 16:47:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:47:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:47:38 UTC]    Is_active field in books: YES
[22-Nov-2025 16:47:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:47:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:47:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:47:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:47:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:47:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:47:38 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 16:47:38 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 16:47:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:47:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:47:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:47:38 UTC] 📊 Database Info:
[22-Nov-2025 16:47:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:47:38 UTC]    Books columns count: 44
[22-Nov-2025 16:47:38 UTC]    Categories columns count: 7
[22-Nov-2025 16:47:38 UTC]    Language field in books: YES
[22-Nov-2025 16:47:38 UTC]    Format field in books: YES
[22-Nov-2025 16:47:38 UTC]    Description field in categories: YES
[22-Nov-2025 16:47:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:47:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:47:38 UTC]    Is_active field in books: YES
[22-Nov-2025 16:47:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:47:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:47:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:47:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:47:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:47:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:47:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 16:47:38 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 16:47:38 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 16:47:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:47:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:47:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:47:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:47:38 UTC] 📊 Database Info:
[22-Nov-2025 16:47:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:47:38 UTC]    Books columns count: 44
[22-Nov-2025 16:47:38 UTC]    Categories columns count: 7
[22-Nov-2025 16:47:38 UTC]    Language field in books: YES
[22-Nov-2025 16:47:38 UTC]    Format field in books: YES
[22-Nov-2025 16:47:38 UTC]    Description field in categories: YES
[22-Nov-2025 16:47:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:47:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:47:38 UTC]    Is_active field in books: YES
[22-Nov-2025 16:47:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:47:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:47:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:47:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:47:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:47:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:47:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:48:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:48:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:48:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:48:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:48:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:48:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:48:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:48:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:48:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:48:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:48:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:48:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:48:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:48:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:48:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:48:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:48:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:48:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:48:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:48:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:48:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:48:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:48:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:48:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:48:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:48:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:48:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:48:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:48:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:48:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:48:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:48:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:48:03 UTC] 📊 Database Info:
[22-Nov-2025 16:48:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:48:03 UTC]    Books columns count: 44
[22-Nov-2025 16:48:03 UTC]    Categories columns count: 7
[22-Nov-2025 16:48:03 UTC]    Language field in books: YES
[22-Nov-2025 16:48:03 UTC]    Format field in books: YES
[22-Nov-2025 16:48:03 UTC]    Description field in categories: YES
[22-Nov-2025 16:48:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:48:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:48:03 UTC]    Is_active field in books: YES
[22-Nov-2025 16:48:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:48:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:48:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:48:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:48:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:48:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:48:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:48:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:48:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:48:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:48:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:48:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:48:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:48:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:48:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:48:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:48:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:48:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:48:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:48:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:48:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:48:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:48:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:48:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:48:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:48:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:48:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:48:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:48:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:48:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:48:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:48:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:48:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:48:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:48:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:48:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:48:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:48:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:48:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:48:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:48:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:48:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:48:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:48:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:48:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:48:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:48:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:48:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:48:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:48:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:48:04 UTC] 📊 Database Info:
[22-Nov-2025 16:48:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:48:04 UTC]    Books columns count: 44
[22-Nov-2025 16:48:04 UTC]    Categories columns count: 7
[22-Nov-2025 16:48:04 UTC]    Language field in books: YES
[22-Nov-2025 16:48:04 UTC]    Format field in books: YES
[22-Nov-2025 16:48:04 UTC]    Description field in categories: YES
[22-Nov-2025 16:48:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:48:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:48:04 UTC]    Is_active field in books: YES
[22-Nov-2025 16:48:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:48:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:48:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:48:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:48:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:48:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:48:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:48:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:48:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:48:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:48:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:48:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:48:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:48:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:48:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:48:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:48:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:48:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:48:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:48:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:48:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:48:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:48:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:48:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:48:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:48:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:48:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:48:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:48:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:48:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:48:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:48:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:48:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:48:29 UTC] 📊 Database Info:
[22-Nov-2025 16:48:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:48:29 UTC]    Books columns count: 44
[22-Nov-2025 16:48:29 UTC]    Categories columns count: 7
[22-Nov-2025 16:48:29 UTC]    Language field in books: YES
[22-Nov-2025 16:48:29 UTC]    Format field in books: YES
[22-Nov-2025 16:48:29 UTC]    Description field in categories: YES
[22-Nov-2025 16:48:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:48:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:48:29 UTC]    Is_active field in books: YES
[22-Nov-2025 16:48:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:48:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:48:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:48:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:48:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:48:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:48:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:48:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:48:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:48:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:48:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:48:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:48:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:48:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:48:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:48:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:48:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:48:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:48:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:48:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:48:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:48:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:48:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:48:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:48:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:48:29 UTC] 📊 Database Info:
[22-Nov-2025 16:48:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:48:29 UTC]    Books columns count: 44
[22-Nov-2025 16:48:29 UTC]    Categories columns count: 7
[22-Nov-2025 16:48:29 UTC]    Language field in books: YES
[22-Nov-2025 16:48:29 UTC]    Format field in books: YES
[22-Nov-2025 16:48:29 UTC]    Description field in categories: YES
[22-Nov-2025 16:48:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:48:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:48:29 UTC]    Is_active field in books: YES
[22-Nov-2025 16:48:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:48:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:48:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:48:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:48:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:48:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:48:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:48:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:48:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:48:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:48:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:48:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:48:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:48:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:48:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:48:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:48:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:48:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:48:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:48:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:48:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:48:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:48:43 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:48:43 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:48:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:48:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:48:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:48:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:48:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:48:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:48:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:48:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:48:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:48:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:48:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:48:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:48:43 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:48:43 UTC] 📊 Database Info:
[22-Nov-2025 16:48:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:48:43 UTC]    Books columns count: 44
[22-Nov-2025 16:48:43 UTC]    Categories columns count: 7
[22-Nov-2025 16:48:43 UTC]    Language field in books: YES
[22-Nov-2025 16:48:43 UTC]    Format field in books: YES
[22-Nov-2025 16:48:43 UTC]    Description field in categories: YES
[22-Nov-2025 16:48:43 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:48:43 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:48:43 UTC]    Is_active field in books: YES
[22-Nov-2025 16:48:43 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:48:43 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:48:43 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:48:43 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:48:43 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:48:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:48:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:48:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:48:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:48:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:48:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:48:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:48:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:48:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:48:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:48:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:48:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:48:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 16:48:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 16:48:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:48:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:48:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:48:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:48:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:48:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:48:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:48:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:48:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:48:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:48:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:48:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:48:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:48:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 16:48:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:48:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 16:48:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 16:48:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 16:48:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 16:48:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 16:48:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 16:48:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 16:48:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 16:48:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 16:48:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 16:48:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 16:48:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 16:48:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 16:48:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 16:48:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 16:48:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 16:48:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 16:48:44 UTC] 📊 Database Info:
[22-Nov-2025 16:48:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 16:48:44 UTC]    Books columns count: 44
[22-Nov-2025 16:48:44 UTC]    Categories columns count: 7
[22-Nov-2025 16:48:44 UTC]    Language field in books: YES
[22-Nov-2025 16:48:44 UTC]    Format field in books: YES
[22-Nov-2025 16:48:44 UTC]    Description field in categories: YES
[22-Nov-2025 16:48:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 16:48:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 16:48:44 UTC]    Is_active field in books: YES
[22-Nov-2025 16:48:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 16:48:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 16:48:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 16:48:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 16:48:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 16:48:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 16:48:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 16:48:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 16:48:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 16:48:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 16:48:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 16:48:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 16:48:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 16:48:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 16:48:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 16:48:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 16:48:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 16:48:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:02:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:02:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:02:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:02:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:02:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:02:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:02:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:02:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:02:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:02:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:02:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:02:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:02:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:02:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:02:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:02:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:02:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:02:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:02:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:02:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:02:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:02:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:02:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:02:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:02:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:02:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:02:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:02:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:02:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:02:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:02:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:02:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:02:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:02:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:02:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:02:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:02:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:02:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:02:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:02:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:02:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:02:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:02:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:02:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:02:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:02:55 UTC] 📊 Database Info:
[22-Nov-2025 17:02:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:02:55 UTC]    Books columns count: 44
[22-Nov-2025 17:02:55 UTC]    Categories columns count: 7
[22-Nov-2025 17:02:55 UTC]    Language field in books: YES
[22-Nov-2025 17:02:55 UTC]    Format field in books: YES
[22-Nov-2025 17:02:55 UTC]    Description field in categories: YES
[22-Nov-2025 17:02:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:02:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:02:55 UTC]    Is_active field in books: YES
[22-Nov-2025 17:02:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:02:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:02:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:02:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:02:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:02:55 UTC] 📊 Database Info:
[22-Nov-2025 17:02:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:02:55 UTC]    Books columns count: 44
[22-Nov-2025 17:02:55 UTC]    Categories columns count: 7
[22-Nov-2025 17:02:55 UTC]    Language field in books: YES
[22-Nov-2025 17:02:55 UTC]    Format field in books: YES
[22-Nov-2025 17:02:55 UTC]    Description field in categories: YES
[22-Nov-2025 17:02:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:02:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:02:55 UTC]    Is_active field in books: YES
[22-Nov-2025 17:02:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:02:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:02:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:02:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:02:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:02:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:02:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 17:02:55 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 17:02:55 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 17:02:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:02:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:02:55 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 17:02:55 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 17:02:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:02:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:02:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:02:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:02:55 UTC] 📊 Database Info:
[22-Nov-2025 17:02:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:02:55 UTC]    Books columns count: 44
[22-Nov-2025 17:02:55 UTC]    Categories columns count: 7
[22-Nov-2025 17:02:55 UTC]    Language field in books: YES
[22-Nov-2025 17:02:55 UTC]    Format field in books: YES
[22-Nov-2025 17:02:55 UTC]    Description field in categories: YES
[22-Nov-2025 17:02:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:02:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:02:55 UTC]    Is_active field in books: YES
[22-Nov-2025 17:02:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:02:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:02:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:02:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:02:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:02:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:02:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:03:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:03:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:03:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:03:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:03:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:03:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:03:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:03:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:03:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:03:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:03:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:03:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:03:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:03:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:03:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:03:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:03:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:03:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:03:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:03:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:03:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:03:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:03:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:03:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:03:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:03:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:03:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:03:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:03:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:03:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:03:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:03:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:03:31 UTC] 📊 Database Info:
[22-Nov-2025 17:03:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:03:31 UTC]    Books columns count: 44
[22-Nov-2025 17:03:31 UTC]    Categories columns count: 7
[22-Nov-2025 17:03:31 UTC]    Language field in books: YES
[22-Nov-2025 17:03:31 UTC]    Format field in books: YES
[22-Nov-2025 17:03:31 UTC]    Description field in categories: YES
[22-Nov-2025 17:03:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:03:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:03:31 UTC]    Is_active field in books: YES
[22-Nov-2025 17:03:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:03:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:03:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:03:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:03:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:03:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:03:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:03:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:03:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:03:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:03:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:03:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:03:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:03:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:03:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:03:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:03:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:03:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:03:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:03:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:03:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:03:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:03:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:03:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:03:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:03:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:03:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:03:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:03:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:03:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:03:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:03:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:03:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:03:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:03:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:03:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:03:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:03:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:03:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:03:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:03:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:03:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:03:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:03:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:03:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:03:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:03:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:03:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:03:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:03:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:03:32 UTC] 📊 Database Info:
[22-Nov-2025 17:03:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:03:32 UTC]    Books columns count: 44
[22-Nov-2025 17:03:32 UTC]    Categories columns count: 7
[22-Nov-2025 17:03:32 UTC]    Language field in books: YES
[22-Nov-2025 17:03:32 UTC]    Format field in books: YES
[22-Nov-2025 17:03:32 UTC]    Description field in categories: YES
[22-Nov-2025 17:03:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:03:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:03:32 UTC]    Is_active field in books: YES
[22-Nov-2025 17:03:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:03:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:03:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:03:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:03:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:03:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:03:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:03:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:03:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:03:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:03:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:03:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:03:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:03:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:03:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:03:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:03:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:03:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:03:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:03:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:03:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:03:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:03:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:03:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:03:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:03:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:03:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:03:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:03:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:03:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:03:46 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:03:46 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:03:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:03:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:03:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:03:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:03:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:03:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:03:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:03:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:03:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:03:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:03:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:03:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:03:46 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:03:46 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:03:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:03:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:03:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:03:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:03:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:03:46 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:03:46 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:03:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:03:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:03:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:03:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:03:46 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:03:46 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:03:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:03:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:03:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:03:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:03:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:03:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:03:46 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:03:46 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:03:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:03:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:03:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:03:46 UTC] 📊 Database Info:
[22-Nov-2025 17:03:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:03:46 UTC]    Books columns count: 44
[22-Nov-2025 17:03:46 UTC]    Categories columns count: 7
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:03:46 UTC]    Language field in books: YES
[22-Nov-2025 17:03:46 UTC]    Format field in books: YES
[22-Nov-2025 17:03:46 UTC]    Description field in categories: YES
[22-Nov-2025 17:03:46 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:03:46 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:03:46 UTC]    Is_active field in books: YES
[22-Nov-2025 17:03:46 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:03:46 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:03:46 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:03:46 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:03:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:03:46 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:03:46 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:03:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:03:46 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 17:03:46 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 17:03:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:03:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:03:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:03:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:03:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:03:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:03:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:03:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:03:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:03:46 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:03:46 UTC] 📊 Database Info:
[22-Nov-2025 17:03:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:03:46 UTC]    Books columns count: 44
[22-Nov-2025 17:03:46 UTC]    Categories columns count: 7
[22-Nov-2025 17:03:46 UTC]    Language field in books: YES
[22-Nov-2025 17:03:46 UTC]    Format field in books: YES
[22-Nov-2025 17:03:46 UTC]    Description field in categories: YES
[22-Nov-2025 17:03:46 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:03:46 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:03:46 UTC]    Is_active field in books: YES
[22-Nov-2025 17:03:46 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:03:46 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:03:46 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:03:46 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:03:46 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:03:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:03:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:03:46 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:03:46 UTC] 📊 Database Info:
[22-Nov-2025 17:03:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:03:46 UTC]    Books columns count: 44
[22-Nov-2025 17:03:46 UTC]    Categories columns count: 7
[22-Nov-2025 17:03:46 UTC]    Language field in books: YES
[22-Nov-2025 17:03:46 UTC]    Format field in books: YES
[22-Nov-2025 17:03:46 UTC]    Description field in categories: YES
[22-Nov-2025 17:03:46 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:03:46 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:03:46 UTC]    Is_active field in books: YES
[22-Nov-2025 17:03:46 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:03:46 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:03:46 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:03:46 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:03:46 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:03:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:03:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:03:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:03:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:03:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:03:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:03:46 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:03:46 UTC] 📊 Database Info:
[22-Nov-2025 17:03:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:03:46 UTC]    Books columns count: 44
[22-Nov-2025 17:03:46 UTC]    Categories columns count: 7
[22-Nov-2025 17:03:46 UTC]    Language field in books: YES
[22-Nov-2025 17:03:46 UTC]    Format field in books: YES
[22-Nov-2025 17:03:46 UTC]    Description field in categories: YES
[22-Nov-2025 17:03:46 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:03:46 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:03:46 UTC]    Is_active field in books: YES
[22-Nov-2025 17:03:46 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:03:46 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:03:46 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:03:46 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:03:46 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:03:46 UTC] 📊 Database Info:
[22-Nov-2025 17:03:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:03:46 UTC]    Books columns count: 44
[22-Nov-2025 17:03:46 UTC]    Categories columns count: 7
[22-Nov-2025 17:03:46 UTC]    Language field in books: YES
[22-Nov-2025 17:03:46 UTC]    Format field in books: YES
[22-Nov-2025 17:03:46 UTC]    Description field in categories: YES
[22-Nov-2025 17:03:46 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:03:46 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:03:46 UTC]    Is_active field in books: YES
[22-Nov-2025 17:03:46 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:03:46 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:03:46 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:03:46 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:03:46 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:03:46 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:03:46 UTC] 📊 Database Info:
[22-Nov-2025 17:03:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:03:46 UTC]    Books columns count: 44
[22-Nov-2025 17:03:46 UTC]    Categories columns count: 7
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:03:46 UTC]    Language field in books: YES
[22-Nov-2025 17:03:46 UTC]    Format field in books: YES
[22-Nov-2025 17:03:46 UTC]    Description field in categories: YES
[22-Nov-2025 17:03:46 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:03:46 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:03:46 UTC]    Is_active field in books: YES
[22-Nov-2025 17:03:46 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:03:46 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:03:46 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:03:46 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:03:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:03:46 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 17:03:46 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:03:46 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:03:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:03:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:03:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:03:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:03:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:03:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:03:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:03:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:03:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:03:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:03:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:03:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:03:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:03:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:03:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:03:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:03:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:03:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:03:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:03:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:03:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:03:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:03:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:03:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:03:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:03:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:03:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:03:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:03:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:03:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:03:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:03:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:03:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:03:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:03:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:03:47 UTC] 📊 Database Info:
[22-Nov-2025 17:03:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:03:47 UTC]    Books columns count: 44
[22-Nov-2025 17:03:47 UTC]    Categories columns count: 7
[22-Nov-2025 17:03:47 UTC]    Language field in books: YES
[22-Nov-2025 17:03:47 UTC]    Format field in books: YES
[22-Nov-2025 17:03:47 UTC]    Description field in categories: YES
[22-Nov-2025 17:03:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:03:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:03:47 UTC]    Is_active field in books: YES
[22-Nov-2025 17:03:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:03:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:03:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:03:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:03:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:03:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:03:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:04:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:04:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:04:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:04:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:04:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:04:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:04:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:04:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:04:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:04:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:04:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:04:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:04:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:04:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:04:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:04:15 UTC] 📊 Database Info:
[22-Nov-2025 17:04:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:04:15 UTC]    Books columns count: 44
[22-Nov-2025 17:04:15 UTC]    Categories columns count: 7
[22-Nov-2025 17:04:15 UTC]    Language field in books: YES
[22-Nov-2025 17:04:15 UTC]    Format field in books: YES
[22-Nov-2025 17:04:15 UTC]    Description field in categories: YES
[22-Nov-2025 17:04:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:04:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:04:15 UTC]    Is_active field in books: YES
[22-Nov-2025 17:04:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:04:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:04:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:04:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:04:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:04:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:04:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:04:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:04:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:04:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:04:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:04:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:04:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:04:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:04:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:04:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:04:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:04:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:04:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:04:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:04:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:04:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:04:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:04:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:04:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:04:15 UTC] 📊 Database Info:
[22-Nov-2025 17:04:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:04:15 UTC]    Books columns count: 44
[22-Nov-2025 17:04:15 UTC]    Categories columns count: 7
[22-Nov-2025 17:04:15 UTC]    Language field in books: YES
[22-Nov-2025 17:04:15 UTC]    Format field in books: YES
[22-Nov-2025 17:04:15 UTC]    Description field in categories: YES
[22-Nov-2025 17:04:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:04:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:04:15 UTC]    Is_active field in books: YES
[22-Nov-2025 17:04:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:04:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:04:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:04:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:04:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:04:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:04:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:04:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:04:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:04:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:04:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:04:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:04:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:04:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:04:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:04:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:04:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:04:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:04:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:04:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:04:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:04:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:04:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:04:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:04:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:04:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:04:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:04:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:04:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:04:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:04:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:04:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:04:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:04:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:04:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:04:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:04:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:04:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:04:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:04:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:04:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:04:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:04:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:04:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:04:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:04:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:04:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:04:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:04:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:04:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:04:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:04:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:04:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:04:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:04:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:04:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:04:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:04:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:04:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:04:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:04:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:04:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:04:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:04:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:04:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:04:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:04:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:04:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:04:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:04:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:04:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:04:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:04:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:04:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:04:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:04:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:04:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:04:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:04:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:04:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:04:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:04:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:04:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:04:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:04:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:04:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:04:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:04:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:04:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:04:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:04:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:04:22 UTC] 📊 Database Info:
[22-Nov-2025 17:04:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:04:22 UTC]    Books columns count: 44
[22-Nov-2025 17:04:22 UTC]    Categories columns count: 7
[22-Nov-2025 17:04:22 UTC]    Language field in books: YES
[22-Nov-2025 17:04:22 UTC]    Format field in books: YES
[22-Nov-2025 17:04:22 UTC]    Description field in categories: YES
[22-Nov-2025 17:04:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:04:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:04:22 UTC]    Is_active field in books: YES
[22-Nov-2025 17:04:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:04:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:04:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:04:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:04:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:04:22 UTC] 📊 Database Info:
[22-Nov-2025 17:04:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:04:22 UTC]    Books columns count: 44
[22-Nov-2025 17:04:22 UTC]    Categories columns count: 7
[22-Nov-2025 17:04:22 UTC]    Language field in books: YES
[22-Nov-2025 17:04:22 UTC]    Format field in books: YES
[22-Nov-2025 17:04:22 UTC]    Description field in categories: YES
[22-Nov-2025 17:04:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:04:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:04:22 UTC]    Is_active field in books: YES
[22-Nov-2025 17:04:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:04:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:04:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:04:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:04:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:04:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:04:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:04:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:04:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:04:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:04:22 UTC] 📊 Database Info:
[22-Nov-2025 17:04:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:04:22 UTC]    Books columns count: 44
[22-Nov-2025 17:04:22 UTC]    Categories columns count: 7
[22-Nov-2025 17:04:22 UTC]    Language field in books: YES
[22-Nov-2025 17:04:22 UTC]    Format field in books: YES
[22-Nov-2025 17:04:22 UTC]    Description field in categories: YES
[22-Nov-2025 17:04:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:04:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:04:22 UTC]    Is_active field in books: YES
[22-Nov-2025 17:04:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:04:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:04:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:04:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:04:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:04:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:04:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:04:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:04:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:04:22 UTC] 📊 Database Info:
[22-Nov-2025 17:04:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:04:22 UTC]    Books columns count: 44
[22-Nov-2025 17:04:22 UTC]    Categories columns count: 7
[22-Nov-2025 17:04:22 UTC]    Language field in books: YES
[22-Nov-2025 17:04:22 UTC]    Format field in books: YES
[22-Nov-2025 17:04:22 UTC]    Description field in categories: YES
[22-Nov-2025 17:04:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:04:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:04:22 UTC]    Is_active field in books: YES
[22-Nov-2025 17:04:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:04:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:04:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:04:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:04:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:04:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:04:22 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 17:04:22 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 17:04:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:04:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:04:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:04:22 UTC] 📊 Database Info:
[22-Nov-2025 17:04:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:04:22 UTC]    Books columns count: 44
[22-Nov-2025 17:04:22 UTC]    Categories columns count: 7
[22-Nov-2025 17:04:22 UTC]    Language field in books: YES
[22-Nov-2025 17:04:22 UTC]    Format field in books: YES
[22-Nov-2025 17:04:22 UTC]    Description field in categories: YES
[22-Nov-2025 17:04:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:04:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:04:22 UTC]    Is_active field in books: YES
[22-Nov-2025 17:04:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:04:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:04:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:04:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:04:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:04:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:04:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:04:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:04:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:04:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:04:22 UTC] 📊 Database Info:
[22-Nov-2025 17:04:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:04:22 UTC]    Books columns count: 44
[22-Nov-2025 17:04:22 UTC]    Categories columns count: 7
[22-Nov-2025 17:04:22 UTC]    Language field in books: YES
[22-Nov-2025 17:04:22 UTC]    Format field in books: YES
[22-Nov-2025 17:04:22 UTC]    Description field in categories: YES
[22-Nov-2025 17:04:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:04:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:04:22 UTC]    Is_active field in books: YES
[22-Nov-2025 17:04:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:04:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:04:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:04:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:04:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:04:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:04:22 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 17:04:22 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 17:04:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:04:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:04:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:04:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:04:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:04:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:04:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:04:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:04:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:04:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:04:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:04:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:04:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:04:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:04:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:04:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:04:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:04:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:04:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:04:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:04:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:04:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:04:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:04:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:04:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:04:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:04:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:04:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:04:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:04:23 UTC] 📊 Database Info:
[22-Nov-2025 17:04:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:04:23 UTC]    Books columns count: 44
[22-Nov-2025 17:04:23 UTC]    Categories columns count: 7
[22-Nov-2025 17:04:23 UTC]    Language field in books: YES
[22-Nov-2025 17:04:23 UTC]    Format field in books: YES
[22-Nov-2025 17:04:23 UTC]    Description field in categories: YES
[22-Nov-2025 17:04:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:04:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:04:23 UTC]    Is_active field in books: YES
[22-Nov-2025 17:04:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:04:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:04:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:04:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:04:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:04:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:06:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:06:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:06:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:06:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:06:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:06:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:06:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:06:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:06:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:06:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:06:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:06:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:06:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:06:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:06:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:06:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:06:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:06:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:06:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:06:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:06:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:06:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:06:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:06:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:06:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:06:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:06:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:06:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:06:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:06:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:06:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:06:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:06:45 UTC] 📊 Database Info:
[22-Nov-2025 17:06:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:06:45 UTC]    Books columns count: 44
[22-Nov-2025 17:06:45 UTC]    Categories columns count: 7
[22-Nov-2025 17:06:45 UTC]    Language field in books: YES
[22-Nov-2025 17:06:45 UTC]    Format field in books: YES
[22-Nov-2025 17:06:45 UTC]    Description field in categories: YES
[22-Nov-2025 17:06:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:06:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:06:45 UTC]    Is_active field in books: YES
[22-Nov-2025 17:06:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:06:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:06:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:06:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:06:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:06:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:06:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:06:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:06:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:06:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:06:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:06:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:06:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:06:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:06:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:06:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:06:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:06:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:07:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:07:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:07:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:07:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:07:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:07:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:07:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:07:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:07:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:07:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:07:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:07:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:07:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:07:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:07:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:07:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:07:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:07:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:07:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:07:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:07:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:07:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:07:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:07:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:07:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:07:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:07:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:07:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:07:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:07:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:07:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:07:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:07:03 UTC] 📊 Database Info:
[22-Nov-2025 17:07:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:07:03 UTC]    Books columns count: 44
[22-Nov-2025 17:07:03 UTC]    Categories columns count: 7
[22-Nov-2025 17:07:03 UTC]    Language field in books: YES
[22-Nov-2025 17:07:03 UTC]    Format field in books: YES
[22-Nov-2025 17:07:03 UTC]    Description field in categories: YES
[22-Nov-2025 17:07:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:07:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:07:03 UTC]    Is_active field in books: YES
[22-Nov-2025 17:07:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:07:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:07:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:07:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:07:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:07:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:07:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:07:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:07:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:07:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:07:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:07:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:07:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:07:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:07:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:07:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:07:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:07:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:07:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:07:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:07:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:07:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:07:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:07:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:07:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:07:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:07:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:07:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:07:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:07:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:07:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:07:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:07:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:07:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:07:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:07:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:07:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:07:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:07:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:07:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:07:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:07:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:07:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:07:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:07:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:07:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:07:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:07:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:07:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:07:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:07:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:07:17 UTC] 📊 Database Info:
[22-Nov-2025 17:07:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:07:17 UTC]    Books columns count: 44
[22-Nov-2025 17:07:17 UTC]    Categories columns count: 7
[22-Nov-2025 17:07:17 UTC]    Language field in books: YES
[22-Nov-2025 17:07:17 UTC]    Format field in books: YES
[22-Nov-2025 17:07:17 UTC]    Description field in categories: YES
[22-Nov-2025 17:07:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:07:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:07:17 UTC]    Is_active field in books: YES
[22-Nov-2025 17:07:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:07:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:07:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:07:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:07:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:07:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:07:17 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 17:07:17 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 17:07:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:07:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:07:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:07:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:07:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:07:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:07:17 UTC] 📊 Database Info:
[22-Nov-2025 17:07:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:07:17 UTC]    Books columns count: 44
[22-Nov-2025 17:07:17 UTC]    Categories columns count: 7
[22-Nov-2025 17:07:17 UTC]    Language field in books: YES
[22-Nov-2025 17:07:17 UTC]    Format field in books: YES
[22-Nov-2025 17:07:17 UTC]    Description field in categories: YES
[22-Nov-2025 17:07:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:07:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:07:17 UTC]    Is_active field in books: YES
[22-Nov-2025 17:07:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:07:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:07:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:07:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:07:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:07:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:07:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:07:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:07:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:07:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:07:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:07:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:07:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:07:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:07:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:07:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:07:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:07:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:07:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:07:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:07:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:07:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:07:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:07:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:07:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:07:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:07:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:07:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:07:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:07:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:07:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:07:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:07:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:07:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:07:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:07:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:07:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:07:17 UTC] 📊 Database Info:
[22-Nov-2025 17:07:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:07:17 UTC]    Books columns count: 44
[22-Nov-2025 17:07:17 UTC]    Categories columns count: 7
[22-Nov-2025 17:07:17 UTC]    Language field in books: YES
[22-Nov-2025 17:07:17 UTC]    Format field in books: YES
[22-Nov-2025 17:07:17 UTC]    Description field in categories: YES
[22-Nov-2025 17:07:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:07:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:07:17 UTC]    Is_active field in books: YES
[22-Nov-2025 17:07:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:07:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:07:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:07:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:07:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:07:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:07:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:07:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:07:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:07:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:07:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:07:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:07:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:07:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:07:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:07:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:07:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:07:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:07:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:07:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:07:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:07:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:07:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:07:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:07:18 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:07:18 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:07:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:07:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:07:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:07:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:07:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:07:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:07:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:07:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:07:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:07:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:07:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:07:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:07:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:07:18 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:07:18 UTC] 📊 Database Info:
[22-Nov-2025 17:07:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:07:18 UTC]    Books columns count: 44
[22-Nov-2025 17:07:18 UTC]    Categories columns count: 7
[22-Nov-2025 17:07:18 UTC]    Language field in books: YES
[22-Nov-2025 17:07:18 UTC]    Format field in books: YES
[22-Nov-2025 17:07:18 UTC]    Description field in categories: YES
[22-Nov-2025 17:07:18 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:07:18 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:07:18 UTC]    Is_active field in books: YES
[22-Nov-2025 17:07:18 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:07:18 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:07:18 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:07:18 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:07:18 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:07:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:07:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:07:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:07:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:07:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:07:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:07:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:07:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:07:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:07:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:07:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:07:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:07:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:07:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:07:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:07:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:07:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:07:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:07:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:07:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:07:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:07:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:07:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:07:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:07:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:07:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:07:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:07:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:07:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:07:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:07:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:07:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:07:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:07:47 UTC] 📊 Database Info:
[22-Nov-2025 17:07:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:07:47 UTC]    Books columns count: 44
[22-Nov-2025 17:07:47 UTC]    Categories columns count: 7
[22-Nov-2025 17:07:47 UTC]    Language field in books: YES
[22-Nov-2025 17:07:47 UTC]    Format field in books: YES
[22-Nov-2025 17:07:47 UTC]    Description field in categories: YES
[22-Nov-2025 17:07:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:07:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:07:47 UTC]    Is_active field in books: YES
[22-Nov-2025 17:07:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:07:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:07:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:07:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:07:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:07:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:07:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:07:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:07:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:07:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:07:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:07:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:07:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:07:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:07:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:07:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:07:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:07:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:07:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:07:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:07:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:07:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:07:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:07:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:07:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:07:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:07:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:07:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:07:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:07:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:07:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:07:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:07:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:07:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:07:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:07:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:07:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:07:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:07:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:07:48 UTC] 📊 Database Info:
[22-Nov-2025 17:07:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:07:48 UTC]    Books columns count: 44
[22-Nov-2025 17:07:48 UTC]    Categories columns count: 7
[22-Nov-2025 17:07:48 UTC]    Language field in books: YES
[22-Nov-2025 17:07:48 UTC]    Format field in books: YES
[22-Nov-2025 17:07:48 UTC]    Description field in categories: YES
[22-Nov-2025 17:07:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:07:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:07:48 UTC]    Is_active field in books: YES
[22-Nov-2025 17:07:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:07:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:07:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:07:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:07:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:07:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:08:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:08:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:08:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:08:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:08:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:08:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:08:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:08:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:08:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:08:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:08:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:08:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:08:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:08:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:08:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:08:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:08:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:08:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:08:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:08:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:08:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:08:28 UTC] 📊 Database Info:
[22-Nov-2025 17:08:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:08:28 UTC]    Books columns count: 44
[22-Nov-2025 17:08:28 UTC]    Categories columns count: 7
[22-Nov-2025 17:08:28 UTC]    Language field in books: YES
[22-Nov-2025 17:08:28 UTC]    Format field in books: YES
[22-Nov-2025 17:08:28 UTC]    Description field in categories: YES
[22-Nov-2025 17:08:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:08:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:08:28 UTC]    Is_active field in books: YES
[22-Nov-2025 17:08:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:08:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:08:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:08:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:08:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:08:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:08:28 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 17:08:28 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 17:08:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:08:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:08:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:08:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:08:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:08:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:08:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:08:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:08:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:08:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:08:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:08:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:08:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:08:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:08:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:08:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:08:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:08:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:08:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:08:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:08:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:08:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:08:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:08:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:08:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:08:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:08:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:08:28 UTC] 📊 Database Info:
[22-Nov-2025 17:08:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:08:28 UTC]    Books columns count: 44
[22-Nov-2025 17:08:28 UTC]    Categories columns count: 7
[22-Nov-2025 17:08:28 UTC]    Language field in books: YES
[22-Nov-2025 17:08:28 UTC]    Format field in books: YES
[22-Nov-2025 17:08:28 UTC]    Description field in categories: YES
[22-Nov-2025 17:08:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:08:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:08:28 UTC]    Is_active field in books: YES
[22-Nov-2025 17:08:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:08:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:08:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:08:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:08:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:08:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:08:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:08:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:08:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:08:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:08:28 UTC] 📊 Database Info:
[22-Nov-2025 17:08:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:08:28 UTC]    Books columns count: 44
[22-Nov-2025 17:08:28 UTC]    Categories columns count: 7
[22-Nov-2025 17:08:28 UTC]    Language field in books: YES
[22-Nov-2025 17:08:28 UTC]    Format field in books: YES
[22-Nov-2025 17:08:28 UTC]    Description field in categories: YES
[22-Nov-2025 17:08:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:08:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:08:28 UTC]    Is_active field in books: YES
[22-Nov-2025 17:08:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:08:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:08:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:08:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:08:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:08:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:08:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:08:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 17:08:28 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 17:08:28 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 17:09:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:09:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:09:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:09:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:09:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:09:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:09:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:09:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:09:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:09:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:09:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:09:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:09:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:09:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:09:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:09:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:09:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:09:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:09:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:09:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:09:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:09:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:09:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:09:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:09:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:09:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:09:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:09:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:09:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:09:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:09:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:09:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:09:15 UTC] 📊 Database Info:
[22-Nov-2025 17:09:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:09:15 UTC]    Books columns count: 44
[22-Nov-2025 17:09:15 UTC]    Categories columns count: 7
[22-Nov-2025 17:09:15 UTC]    Language field in books: YES
[22-Nov-2025 17:09:15 UTC]    Format field in books: YES
[22-Nov-2025 17:09:15 UTC]    Description field in categories: YES
[22-Nov-2025 17:09:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:09:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:09:15 UTC]    Is_active field in books: YES
[22-Nov-2025 17:09:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:09:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:09:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:09:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:09:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:09:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:09:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:09:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:09:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:09:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:09:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:09:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:09:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:09:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:09:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:09:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:09:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:09:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:09:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:09:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:09:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:09:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:09:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:09:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:09:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:09:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:09:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:09:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:09:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:09:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:09:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:09:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:09:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:09:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:09:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:09:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:09:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:09:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:09:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:09:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:09:25 UTC] 📊 Database Info:
[22-Nov-2025 17:09:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:09:25 UTC]    Books columns count: 44
[22-Nov-2025 17:09:25 UTC]    Categories columns count: 7
[22-Nov-2025 17:09:25 UTC]    Language field in books: YES
[22-Nov-2025 17:09:25 UTC]    Format field in books: YES
[22-Nov-2025 17:09:25 UTC]    Description field in categories: YES
[22-Nov-2025 17:09:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:09:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:09:25 UTC]    Is_active field in books: YES
[22-Nov-2025 17:09:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:09:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:09:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:09:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:09:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:09:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:09:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:09:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:09:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:09:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:09:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:09:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:09:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:09:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:09:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:09:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:09:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:09:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:09:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:09:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:09:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:09:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:09:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:09:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:09:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:09:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:09:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:09:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:09:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:09:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:09:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:09:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:09:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:09:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:09:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:09:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:09:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:09:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:09:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:09:29 UTC] 📊 Database Info:
[22-Nov-2025 17:09:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:09:29 UTC]    Books columns count: 44
[22-Nov-2025 17:09:29 UTC]    Categories columns count: 7
[22-Nov-2025 17:09:29 UTC]    Language field in books: YES
[22-Nov-2025 17:09:29 UTC]    Format field in books: YES
[22-Nov-2025 17:09:29 UTC]    Description field in categories: YES
[22-Nov-2025 17:09:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:09:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:09:29 UTC]    Is_active field in books: YES
[22-Nov-2025 17:09:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:09:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:09:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:09:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:09:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:09:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:09:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:09:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:09:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:09:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:09:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:09:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:09:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:09:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:09:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:09:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:09:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:09:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:09:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:09:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:09:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:09:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:09:43 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:09:43 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:09:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:09:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:09:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:09:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:09:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:09:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:09:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:09:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:09:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:09:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:09:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:09:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:09:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:09:43 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:09:43 UTC] 📊 Database Info:
[22-Nov-2025 17:09:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:09:43 UTC]    Books columns count: 44
[22-Nov-2025 17:09:43 UTC]    Categories columns count: 7
[22-Nov-2025 17:09:43 UTC]    Language field in books: YES
[22-Nov-2025 17:09:43 UTC]    Format field in books: YES
[22-Nov-2025 17:09:43 UTC]    Description field in categories: YES
[22-Nov-2025 17:09:43 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:09:43 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:09:43 UTC]    Is_active field in books: YES
[22-Nov-2025 17:09:43 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:09:43 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:09:43 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:09:43 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:09:43 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:09:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:09:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:10:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:10:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:10:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:10:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:10:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:10:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:10:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:10:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:10:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:10:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:10:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:10:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:10:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:10:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:10:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:10:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:10:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:10:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:10:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:10:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:10:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:10:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:10:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:10:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:10:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:10:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:10:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:10:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:10:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:10:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:10:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:10:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:10:14 UTC] 📊 Database Info:
[22-Nov-2025 17:10:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:10:14 UTC]    Books columns count: 44
[22-Nov-2025 17:10:14 UTC]    Categories columns count: 7
[22-Nov-2025 17:10:14 UTC]    Language field in books: YES
[22-Nov-2025 17:10:14 UTC]    Format field in books: YES
[22-Nov-2025 17:10:14 UTC]    Description field in categories: YES
[22-Nov-2025 17:10:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:10:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:10:14 UTC]    Is_active field in books: YES
[22-Nov-2025 17:10:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:10:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:10:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:10:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:10:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:10:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:10:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:10:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:10:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:10:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:10:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:10:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:10:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:10:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:10:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:10:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:10:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:10:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:10:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:10:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:10:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:10:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:10:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:10:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:10:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:10:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:10:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:10:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:10:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:10:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:10:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:10:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:10:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:10:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:10:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:10:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:10:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:10:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:10:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:10:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:10:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:10:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:10:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:10:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:10:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:10:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:10:19 UTC] 📊 Database Info:
[22-Nov-2025 17:10:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:10:19 UTC]    Books columns count: 44
[22-Nov-2025 17:10:19 UTC]    Categories columns count: 7
[22-Nov-2025 17:10:19 UTC]    Language field in books: YES
[22-Nov-2025 17:10:19 UTC]    Format field in books: YES
[22-Nov-2025 17:10:19 UTC]    Description field in categories: YES
[22-Nov-2025 17:10:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:10:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:10:19 UTC]    Is_active field in books: YES
[22-Nov-2025 17:10:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:10:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:10:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:10:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:10:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:10:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:10:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:10:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:10:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:10:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:10:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:10:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:10:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:10:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:10:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:10:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:10:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:10:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:10:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:10:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:10:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:10:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:10:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:10:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:10:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:10:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:10:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:10:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:10:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:10:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:10:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:10:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:10:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:10:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:10:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:10:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:10:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:10:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:10:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:10:32 UTC] 📊 Database Info:
[22-Nov-2025 17:10:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:10:32 UTC]    Books columns count: 44
[22-Nov-2025 17:10:32 UTC]    Categories columns count: 7
[22-Nov-2025 17:10:32 UTC]    Language field in books: YES
[22-Nov-2025 17:10:32 UTC]    Format field in books: YES
[22-Nov-2025 17:10:32 UTC]    Description field in categories: YES
[22-Nov-2025 17:10:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:10:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:10:32 UTC]    Is_active field in books: YES
[22-Nov-2025 17:10:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:10:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:10:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:10:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:10:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:10:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:10:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:10:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:10:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:10:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:10:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:10:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:10:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:10:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:10:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:10:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:10:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:10:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:10:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:10:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:10:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:10:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:10:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:10:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:10:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:10:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:10:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:10:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:10:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:10:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:10:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:10:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:10:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:10:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:10:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:10:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:10:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:10:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:10:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:10:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:10:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:10:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:10:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:10:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:10:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:10:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:10:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:10:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:10:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:10:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:10:34 UTC] 📊 Database Info:
[22-Nov-2025 17:10:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:10:34 UTC]    Books columns count: 44
[22-Nov-2025 17:10:34 UTC]    Categories columns count: 7
[22-Nov-2025 17:10:34 UTC]    Language field in books: YES
[22-Nov-2025 17:10:34 UTC]    Format field in books: YES
[22-Nov-2025 17:10:34 UTC]    Description field in categories: YES
[22-Nov-2025 17:10:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:10:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:10:34 UTC]    Is_active field in books: YES
[22-Nov-2025 17:10:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:10:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:10:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:10:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:10:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:10:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:10:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:11:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:11:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:11:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:11:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:11:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:11:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:11:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:11:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:11:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:11:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:11:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:11:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:11:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:11:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:11:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:11:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:11:43 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:11:43 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:11:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:11:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:11:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:11:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:11:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:11:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:11:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:11:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:11:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:11:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:11:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:11:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:11:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:11:43 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:11:43 UTC] 📊 Database Info:
[22-Nov-2025 17:11:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:11:43 UTC]    Books columns count: 44
[22-Nov-2025 17:11:43 UTC]    Categories columns count: 7
[22-Nov-2025 17:11:43 UTC]    Language field in books: YES
[22-Nov-2025 17:11:43 UTC]    Format field in books: YES
[22-Nov-2025 17:11:43 UTC]    Description field in categories: YES
[22-Nov-2025 17:11:43 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:11:43 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:11:43 UTC]    Is_active field in books: YES
[22-Nov-2025 17:11:43 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:11:43 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:11:43 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:11:43 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:11:43 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:11:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:11:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:11:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:11:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:11:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:11:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:11:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:11:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:11:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:11:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:11:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:11:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:11:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:11:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:11:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:11:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:11:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:11:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:11:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:11:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:11:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:11:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:11:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:11:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:11:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:11:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:11:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:11:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:11:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:11:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:11:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:11:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:11:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:11:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:11:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:11:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:11:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:11:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:11:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:11:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:11:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:11:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:11:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:11:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:11:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:11:44 UTC] 📊 Database Info:
[22-Nov-2025 17:11:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:11:44 UTC]    Books columns count: 44
[22-Nov-2025 17:11:44 UTC]    Categories columns count: 7
[22-Nov-2025 17:11:44 UTC]    Language field in books: YES
[22-Nov-2025 17:11:44 UTC]    Format field in books: YES
[22-Nov-2025 17:11:44 UTC]    Description field in categories: YES
[22-Nov-2025 17:11:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:11:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:11:44 UTC]    Is_active field in books: YES
[22-Nov-2025 17:11:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:11:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:11:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:11:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:11:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:11:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:12:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:12:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:12:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:12:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:12:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:12:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:12:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:12:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:12:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:12:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:12:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:12:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:12:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:12:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:12:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:12:12 UTC] 📊 Database Info:
[22-Nov-2025 17:12:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:12:12 UTC]    Books columns count: 44
[22-Nov-2025 17:12:12 UTC]    Categories columns count: 7
[22-Nov-2025 17:12:12 UTC]    Language field in books: YES
[22-Nov-2025 17:12:12 UTC]    Format field in books: YES
[22-Nov-2025 17:12:12 UTC]    Description field in categories: YES
[22-Nov-2025 17:12:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:12:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:12:12 UTC]    Is_active field in books: YES
[22-Nov-2025 17:12:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:12:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:12:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:12:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:12:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:12:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:12:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:12:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:12:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:12:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:12:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:12:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:12:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:12:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:12:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:12:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:12:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:12:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:12:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:12:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:12:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:12:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:12:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:12:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:12:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:12:12 UTC] 📊 Database Info:
[22-Nov-2025 17:12:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:12:12 UTC]    Books columns count: 44
[22-Nov-2025 17:12:12 UTC]    Categories columns count: 7
[22-Nov-2025 17:12:12 UTC]    Language field in books: YES
[22-Nov-2025 17:12:12 UTC]    Format field in books: YES
[22-Nov-2025 17:12:12 UTC]    Description field in categories: YES
[22-Nov-2025 17:12:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:12:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:12:12 UTC]    Is_active field in books: YES
[22-Nov-2025 17:12:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:12:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:12:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:12:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:12:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:12:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:12:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:12:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:12:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:12:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:12:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:12:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:12:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:12:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:12:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:12:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:12:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:12:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:12:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:12:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:12:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:12:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:12:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:12:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:12:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:12:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:12:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:12:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:12:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:12:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:12:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:12:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:12:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:12:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:12:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:12:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:12:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:12:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:12:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:12:27 UTC] 📊 Database Info:
[22-Nov-2025 17:12:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:12:27 UTC]    Books columns count: 44
[22-Nov-2025 17:12:27 UTC]    Categories columns count: 7
[22-Nov-2025 17:12:27 UTC]    Language field in books: YES
[22-Nov-2025 17:12:27 UTC]    Format field in books: YES
[22-Nov-2025 17:12:27 UTC]    Description field in categories: YES
[22-Nov-2025 17:12:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:12:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:12:27 UTC]    Is_active field in books: YES
[22-Nov-2025 17:12:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:12:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:12:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:12:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:12:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:12:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:12:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:13:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:13:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:13:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:13:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:13:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:13:04 UTC] 📊 Database Info:
[22-Nov-2025 17:13:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:13:04 UTC]    Books columns count: 44
[22-Nov-2025 17:13:04 UTC]    Categories columns count: 7
[22-Nov-2025 17:13:04 UTC]    Language field in books: YES
[22-Nov-2025 17:13:04 UTC]    Format field in books: YES
[22-Nov-2025 17:13:04 UTC]    Description field in categories: YES
[22-Nov-2025 17:13:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:13:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:13:04 UTC]    Is_active field in books: YES
[22-Nov-2025 17:13:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:13:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:13:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:13:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:13:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:13:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:13:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:13:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:13:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:05 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:13:05 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:13:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:05 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:13:05 UTC] 📊 Database Info:
[22-Nov-2025 17:13:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:13:05 UTC]    Books columns count: 44
[22-Nov-2025 17:13:05 UTC]    Categories columns count: 7
[22-Nov-2025 17:13:05 UTC]    Language field in books: YES
[22-Nov-2025 17:13:05 UTC]    Format field in books: YES
[22-Nov-2025 17:13:05 UTC]    Description field in categories: YES
[22-Nov-2025 17:13:05 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:13:05 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:13:05 UTC]    Is_active field in books: YES
[22-Nov-2025 17:13:05 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:13:05 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:13:05 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:13:05 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:13:05 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:13:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:13:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:13:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:13:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:13:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:13:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:13:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:13:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:13:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:13:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:13:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:13:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:13:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:13:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:13:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:13:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:13:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:13:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:13:09 UTC] 📊 Database Info:
[22-Nov-2025 17:13:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:13:09 UTC]    Books columns count: 44
[22-Nov-2025 17:13:09 UTC]    Categories columns count: 7
[22-Nov-2025 17:13:09 UTC]    Language field in books: YES
[22-Nov-2025 17:13:09 UTC]    Format field in books: YES
[22-Nov-2025 17:13:09 UTC]    Description field in categories: YES
[22-Nov-2025 17:13:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:13:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:13:09 UTC]    Is_active field in books: YES
[22-Nov-2025 17:13:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:13:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:13:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:13:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:13:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:13:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:13:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:13:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:13:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:13:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:13:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:13:09 UTC] 📊 Database Info:
[22-Nov-2025 17:13:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:13:09 UTC]    Books columns count: 44
[22-Nov-2025 17:13:09 UTC]    Categories columns count: 7
[22-Nov-2025 17:13:09 UTC]    Language field in books: YES
[22-Nov-2025 17:13:09 UTC]    Format field in books: YES
[22-Nov-2025 17:13:09 UTC]    Description field in categories: YES
[22-Nov-2025 17:13:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:13:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:13:09 UTC]    Is_active field in books: YES
[22-Nov-2025 17:13:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:13:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:13:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:13:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:13:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:13:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:13:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:13:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:13:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:13 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:13:13 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:13:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:13 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:13:13 UTC] 📊 Database Info:
[22-Nov-2025 17:13:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:13:13 UTC]    Books columns count: 44
[22-Nov-2025 17:13:13 UTC]    Categories columns count: 7
[22-Nov-2025 17:13:13 UTC]    Language field in books: YES
[22-Nov-2025 17:13:13 UTC]    Format field in books: YES
[22-Nov-2025 17:13:13 UTC]    Description field in categories: YES
[22-Nov-2025 17:13:13 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:13:13 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:13:13 UTC]    Is_active field in books: YES
[22-Nov-2025 17:13:13 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:13:13 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:13:13 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:13:13 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:13:13 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:13:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:13:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:13:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:13:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:13 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:13:13 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:13:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:13 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:13:13 UTC] 📊 Database Info:
[22-Nov-2025 17:13:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:13:13 UTC]    Books columns count: 44
[22-Nov-2025 17:13:13 UTC]    Categories columns count: 7
[22-Nov-2025 17:13:13 UTC]    Language field in books: YES
[22-Nov-2025 17:13:13 UTC]    Format field in books: YES
[22-Nov-2025 17:13:13 UTC]    Description field in categories: YES
[22-Nov-2025 17:13:13 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:13:13 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:13:13 UTC]    Is_active field in books: YES
[22-Nov-2025 17:13:13 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:13:13 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:13:13 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:13:13 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:13:13 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:13:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:13:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:13:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:13:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:13:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:13:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:13:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:13:16 UTC] 📊 Database Info:
[22-Nov-2025 17:13:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:13:16 UTC]    Books columns count: 44
[22-Nov-2025 17:13:16 UTC]    Categories columns count: 7
[22-Nov-2025 17:13:16 UTC]    Language field in books: YES
[22-Nov-2025 17:13:16 UTC]    Format field in books: YES
[22-Nov-2025 17:13:16 UTC]    Description field in categories: YES
[22-Nov-2025 17:13:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:13:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:13:16 UTC]    Is_active field in books: YES
[22-Nov-2025 17:13:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:13:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:13:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:13:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:13:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:13:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:13:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:13:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:13:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:13:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:13:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:13:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:13:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:13:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:13:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:13:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:13:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:13:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:13:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:13:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:13:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:13:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:13:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:13:17 UTC] 📊 Database Info:
[22-Nov-2025 17:13:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:13:17 UTC]    Books columns count: 44
[22-Nov-2025 17:13:17 UTC]    Categories columns count: 7
[22-Nov-2025 17:13:17 UTC]    Language field in books: YES
[22-Nov-2025 17:13:17 UTC]    Format field in books: YES
[22-Nov-2025 17:13:17 UTC]    Description field in categories: YES
[22-Nov-2025 17:13:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:13:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:13:17 UTC]    Is_active field in books: YES
[22-Nov-2025 17:13:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:13:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:13:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:13:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:13:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:13:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:13:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:13:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:13:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:13:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:13:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:13:20 UTC] 📊 Database Info:
[22-Nov-2025 17:13:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:13:20 UTC]    Books columns count: 44
[22-Nov-2025 17:13:20 UTC]    Categories columns count: 7
[22-Nov-2025 17:13:20 UTC]    Language field in books: YES
[22-Nov-2025 17:13:20 UTC]    Format field in books: YES
[22-Nov-2025 17:13:20 UTC]    Description field in categories: YES
[22-Nov-2025 17:13:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:13:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:13:20 UTC]    Is_active field in books: YES
[22-Nov-2025 17:13:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:13:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:13:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:13:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:13:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:13:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:13:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:13:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:13:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:13:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:13:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:13:20 UTC] 📊 Database Info:
[22-Nov-2025 17:13:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:13:20 UTC]    Books columns count: 44
[22-Nov-2025 17:13:20 UTC]    Categories columns count: 7
[22-Nov-2025 17:13:20 UTC]    Language field in books: YES
[22-Nov-2025 17:13:20 UTC]    Format field in books: YES
[22-Nov-2025 17:13:20 UTC]    Description field in categories: YES
[22-Nov-2025 17:13:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:13:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:13:20 UTC]    Is_active field in books: YES
[22-Nov-2025 17:13:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:13:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:13:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:13:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:13:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:13:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:13:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:13:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:13:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:13:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:13:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:13:24 UTC] 📊 Database Info:
[22-Nov-2025 17:13:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:13:24 UTC]    Books columns count: 44
[22-Nov-2025 17:13:24 UTC]    Categories columns count: 7
[22-Nov-2025 17:13:24 UTC]    Language field in books: YES
[22-Nov-2025 17:13:24 UTC]    Format field in books: YES
[22-Nov-2025 17:13:24 UTC]    Description field in categories: YES
[22-Nov-2025 17:13:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:13:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:13:24 UTC]    Is_active field in books: YES
[22-Nov-2025 17:13:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:13:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:13:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:13:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:13:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:13:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:13:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:13:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:13:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:13:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:13:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:13:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:13:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:13:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:13:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:13:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:13:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:13:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:13:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:13:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:13:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:13:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:13:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:13:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:13:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:13:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:13:25 UTC] 📊 Database Info:
[22-Nov-2025 17:13:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:13:25 UTC]    Books columns count: 44
[22-Nov-2025 17:13:25 UTC]    Categories columns count: 7
[22-Nov-2025 17:13:25 UTC]    Language field in books: YES
[22-Nov-2025 17:13:25 UTC]    Format field in books: YES
[22-Nov-2025 17:13:25 UTC]    Description field in categories: YES
[22-Nov-2025 17:13:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:13:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:13:25 UTC]    Is_active field in books: YES
[22-Nov-2025 17:13:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:13:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:13:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:13:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:13:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:13:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:13:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:13:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:13:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:13:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:13:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:13:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:13:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:13:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:13:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:13:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:13:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:13:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:14:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:14:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:14:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:14:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:14:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:14:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:14:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:14:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:14:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:14:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:14:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:14:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:14:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:14:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:14:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:14:04 UTC] 📊 Database Info:
[22-Nov-2025 17:14:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:14:04 UTC]    Books columns count: 44
[22-Nov-2025 17:14:04 UTC]    Categories columns count: 7
[22-Nov-2025 17:14:04 UTC]    Language field in books: YES
[22-Nov-2025 17:14:04 UTC]    Format field in books: YES
[22-Nov-2025 17:14:04 UTC]    Description field in categories: YES
[22-Nov-2025 17:14:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:14:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:14:04 UTC]    Is_active field in books: YES
[22-Nov-2025 17:14:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:14:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:14:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:14:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:14:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:14:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:14:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:14:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:14:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:14:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:14:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:14:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:14:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:14:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:14:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:14:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:14:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:14:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:14:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:14:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:14:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:14:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:14:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:14:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:14:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:14:04 UTC] 📊 Database Info:
[22-Nov-2025 17:14:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:14:04 UTC]    Books columns count: 44
[22-Nov-2025 17:14:04 UTC]    Categories columns count: 7
[22-Nov-2025 17:14:04 UTC]    Language field in books: YES
[22-Nov-2025 17:14:04 UTC]    Format field in books: YES
[22-Nov-2025 17:14:04 UTC]    Description field in categories: YES
[22-Nov-2025 17:14:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:14:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:14:04 UTC]    Is_active field in books: YES
[22-Nov-2025 17:14:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:14:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:14:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:14:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:14:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:14:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:15:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:15:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:15:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:15:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:15:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:15:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:15:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:15:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:15:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:15:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:15:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:15:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:15:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:15:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:15:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:15:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:15:01 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:15:01 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:15:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:15:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:15:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:15:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:15:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:15:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:15:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:15:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:15:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:15:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:15:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:15:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:15:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:15:01 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:15:01 UTC] 📊 Database Info:
[22-Nov-2025 17:15:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:15:01 UTC]    Books columns count: 44
[22-Nov-2025 17:15:01 UTC]    Categories columns count: 7
[22-Nov-2025 17:15:01 UTC]    Language field in books: YES
[22-Nov-2025 17:15:01 UTC]    Format field in books: YES
[22-Nov-2025 17:15:01 UTC]    Description field in categories: YES
[22-Nov-2025 17:15:01 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:15:01 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:15:01 UTC]    Is_active field in books: YES
[22-Nov-2025 17:15:01 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:15:01 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:15:01 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:15:01 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:15:01 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:15:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:15:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:15:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:15:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:15:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:15:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:15:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:15:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:15:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:15:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:15:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:15:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:15:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:15:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:15:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:15:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:15:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:15:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:15:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:15:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:15:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:15:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:15:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:15:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:15:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:15:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:15:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:15:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:15:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:15:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:15:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:15:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:15:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:15:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:15:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:15:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:15:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:15:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:15:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:15:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:15:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:15:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:15:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:15:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:15:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:15:15 UTC] 📊 Database Info:
[22-Nov-2025 17:15:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:15:15 UTC]    Books columns count: 44
[22-Nov-2025 17:15:15 UTC]    Categories columns count: 7
[22-Nov-2025 17:15:15 UTC]    Language field in books: YES
[22-Nov-2025 17:15:15 UTC]    Format field in books: YES
[22-Nov-2025 17:15:15 UTC]    Description field in categories: YES
[22-Nov-2025 17:15:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:15:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:15:15 UTC]    Is_active field in books: YES
[22-Nov-2025 17:15:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:15:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:15:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:15:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:15:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:15:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:15:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:15:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:15:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:15:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:15:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:15:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:15:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:15:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:15:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:15:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:15:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:15:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:15:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:15:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:15:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:15:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:15:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:15:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:15:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:15:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:15:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:15:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:15:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:15:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:15:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:15:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:15:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:15:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:15:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:15:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:15:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:15:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:15:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:15:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:15:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:15:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:15:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:15:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:15:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:15:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:15:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:15:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:15:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:15:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:15:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:15:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:15:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:15:21 UTC] 📊 Database Info:
[22-Nov-2025 17:15:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:15:21 UTC]    Books columns count: 44
[22-Nov-2025 17:15:21 UTC]    Categories columns count: 7
[22-Nov-2025 17:15:21 UTC]    Language field in books: YES
[22-Nov-2025 17:15:21 UTC]    Format field in books: YES
[22-Nov-2025 17:15:21 UTC]    Description field in categories: YES
[22-Nov-2025 17:15:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:15:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:15:21 UTC]    Is_active field in books: YES
[22-Nov-2025 17:15:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:15:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:15:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:15:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:15:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:15:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:15:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:15:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:15:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:15:21 UTC] 📊 Database Info:
[22-Nov-2025 17:15:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:15:21 UTC]    Books columns count: 44
[22-Nov-2025 17:15:21 UTC]    Categories columns count: 7
[22-Nov-2025 17:15:21 UTC]    Language field in books: YES
[22-Nov-2025 17:15:21 UTC]    Format field in books: YES
[22-Nov-2025 17:15:21 UTC]    Description field in categories: YES
[22-Nov-2025 17:15:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:15:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:15:21 UTC]    Is_active field in books: YES
[22-Nov-2025 17:15:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:15:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:15:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:15:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:15:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:15:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:15:21 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 17:15:21 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 17:15:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:15:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:15:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:15:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:15:21 UTC] 📊 Database Info:
[22-Nov-2025 17:15:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:15:21 UTC]    Books columns count: 44
[22-Nov-2025 17:15:21 UTC]    Categories columns count: 7
[22-Nov-2025 17:15:21 UTC]    Language field in books: YES
[22-Nov-2025 17:15:21 UTC]    Format field in books: YES
[22-Nov-2025 17:15:21 UTC]    Description field in categories: YES
[22-Nov-2025 17:15:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:15:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:15:21 UTC]    Is_active field in books: YES
[22-Nov-2025 17:15:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:15:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:15:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:15:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:15:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:15:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:15:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:15:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:15:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:15:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:15:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:15:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:15:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:15:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:15:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:15:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:15:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:15:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:15:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:15:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:15:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:15:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:15:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:15:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:15:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:15:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:15:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:15:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:15:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:15:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:15:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:15:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:15:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:15:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:15:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:15:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:15:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:15:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:15:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:15:22 UTC] 📊 Database Info:
[22-Nov-2025 17:15:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:15:22 UTC]    Books columns count: 44
[22-Nov-2025 17:15:22 UTC]    Categories columns count: 7
[22-Nov-2025 17:15:22 UTC]    Language field in books: YES
[22-Nov-2025 17:15:22 UTC]    Format field in books: YES
[22-Nov-2025 17:15:22 UTC]    Description field in categories: YES
[22-Nov-2025 17:15:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:15:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:15:22 UTC]    Is_active field in books: YES
[22-Nov-2025 17:15:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:15:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:15:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:15:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:15:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:15:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:15:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:16:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:16:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:16:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:16:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:16:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:16:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:16:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:16:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:16:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:16:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:16:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:16:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:16:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:16:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:16:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:16:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:16:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:16:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:16:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:16:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:16:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:16:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:16:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:16:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:16:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:16:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:16:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:16:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:16:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:16:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:16:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:16:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:16:22 UTC] 📊 Database Info:
[22-Nov-2025 17:16:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:16:22 UTC]    Books columns count: 44
[22-Nov-2025 17:16:22 UTC]    Categories columns count: 7
[22-Nov-2025 17:16:22 UTC]    Language field in books: YES
[22-Nov-2025 17:16:22 UTC]    Format field in books: YES
[22-Nov-2025 17:16:22 UTC]    Description field in categories: YES
[22-Nov-2025 17:16:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:16:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:16:22 UTC]    Is_active field in books: YES
[22-Nov-2025 17:16:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:16:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:16:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:16:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:16:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:16:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:16:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:16:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:16:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:16:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:16:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:16:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:16:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:16:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:16:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:16:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:16:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:16:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:16:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:16:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:16:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:16:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:16:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:16:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:16:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:16:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:16:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:16:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:16:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:16:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:16:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:16:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:16:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:16:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:16:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:16:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:16:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:16:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:16:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:16:28 UTC] 📊 Database Info:
[22-Nov-2025 17:16:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:16:28 UTC]    Books columns count: 44
[22-Nov-2025 17:16:28 UTC]    Categories columns count: 7
[22-Nov-2025 17:16:28 UTC]    Language field in books: YES
[22-Nov-2025 17:16:28 UTC]    Format field in books: YES
[22-Nov-2025 17:16:28 UTC]    Description field in categories: YES
[22-Nov-2025 17:16:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:16:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:16:28 UTC]    Is_active field in books: YES
[22-Nov-2025 17:16:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:16:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:16:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:16:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:16:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:16:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:16:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:16:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:16:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:16:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:16:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:16:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:16:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:16:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:16:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:16:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:16:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:16:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:16:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:16:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:16:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:16:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:16:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:16:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:16:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:16:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:16:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:16:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:16:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:16:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:16:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:16:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:16:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:16:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:16:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:16:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:16:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:16:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:16:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:16:38 UTC] 📊 Database Info:
[22-Nov-2025 17:16:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:16:38 UTC]    Books columns count: 44
[22-Nov-2025 17:16:38 UTC]    Categories columns count: 7
[22-Nov-2025 17:16:38 UTC]    Language field in books: YES
[22-Nov-2025 17:16:38 UTC]    Format field in books: YES
[22-Nov-2025 17:16:38 UTC]    Description field in categories: YES
[22-Nov-2025 17:16:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:16:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:16:38 UTC]    Is_active field in books: YES
[22-Nov-2025 17:16:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:16:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:16:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:16:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:16:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:16:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:16:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:16:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:16:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:16:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:16:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:16:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:16:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:16:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:16:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:16:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:16:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:16:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:16:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:16:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:16:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:16:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:16:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:16:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:16:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:16:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:16:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:16:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:16:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:16:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:16:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:16:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:16:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:16:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:16:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:16:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:16:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:16:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:16:42 UTC] 📊 Database Info:
[22-Nov-2025 17:16:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:16:42 UTC]    Books columns count: 44
[22-Nov-2025 17:16:42 UTC]    Categories columns count: 7
[22-Nov-2025 17:16:42 UTC]    Language field in books: YES
[22-Nov-2025 17:16:42 UTC]    Format field in books: YES
[22-Nov-2025 17:16:42 UTC]    Description field in categories: YES
[22-Nov-2025 17:16:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:16:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:16:42 UTC]    Is_active field in books: YES
[22-Nov-2025 17:16:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:16:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:16:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:16:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:16:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:16:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:16:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:16:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:16:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:16:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:16:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:16:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:16:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:16:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:16:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:16:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:16:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:16:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:17:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:17:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:17:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:17:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:17:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:17:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:17:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:17:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:17:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:17:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:17:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:17:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:17:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:17:02 UTC] 📊 Database Info:
[22-Nov-2025 17:17:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:17:02 UTC]    Books columns count: 44
[22-Nov-2025 17:17:02 UTC]    Categories columns count: 7
[22-Nov-2025 17:17:02 UTC]    Language field in books: YES
[22-Nov-2025 17:17:02 UTC]    Format field in books: YES
[22-Nov-2025 17:17:02 UTC]    Description field in categories: YES
[22-Nov-2025 17:17:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:17:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:17:02 UTC]    Is_active field in books: YES
[22-Nov-2025 17:17:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:17:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:17:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:17:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:17:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:17:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:17:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 17:17:02 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 17:17:02 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 17:17:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:17:02 UTC] 📊 Database Info:
[22-Nov-2025 17:17:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:17:02 UTC]    Books columns count: 44
[22-Nov-2025 17:17:02 UTC]    Categories columns count: 7
[22-Nov-2025 17:17:02 UTC]    Language field in books: YES
[22-Nov-2025 17:17:02 UTC]    Format field in books: YES
[22-Nov-2025 17:17:02 UTC]    Description field in categories: YES
[22-Nov-2025 17:17:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:17:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:17:02 UTC]    Is_active field in books: YES
[22-Nov-2025 17:17:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:17:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:17:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:17:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:17:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:17:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:17:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:17:02 UTC] 📊 Database Info:
[22-Nov-2025 17:17:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:17:02 UTC]    Books columns count: 44
[22-Nov-2025 17:17:02 UTC]    Categories columns count: 7
[22-Nov-2025 17:17:02 UTC]    Language field in books: YES
[22-Nov-2025 17:17:02 UTC]    Format field in books: YES
[22-Nov-2025 17:17:02 UTC]    Description field in categories: YES
[22-Nov-2025 17:17:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:17:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:17:02 UTC]    Is_active field in books: YES
[22-Nov-2025 17:17:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:17:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:17:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:17:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:17:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:17:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:17:02 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 17:17:02 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 17:17:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:17:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:17:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:17:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:17:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:17:28 UTC] 📊 Database Info:
[22-Nov-2025 17:17:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:17:28 UTC]    Books columns count: 44
[22-Nov-2025 17:17:28 UTC]    Categories columns count: 7
[22-Nov-2025 17:17:28 UTC]    Language field in books: YES
[22-Nov-2025 17:17:28 UTC]    Format field in books: YES
[22-Nov-2025 17:17:28 UTC]    Description field in categories: YES
[22-Nov-2025 17:17:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:17:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:17:28 UTC]    Is_active field in books: YES
[22-Nov-2025 17:17:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:17:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:17:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:17:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:17:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:17:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:17:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:17:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:17:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:17:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:17:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:17:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:17:40 UTC] 📊 Database Info:
[22-Nov-2025 17:17:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:17:40 UTC]    Books columns count: 44
[22-Nov-2025 17:17:40 UTC]    Categories columns count: 7
[22-Nov-2025 17:17:40 UTC]    Language field in books: YES
[22-Nov-2025 17:17:40 UTC]    Format field in books: YES
[22-Nov-2025 17:17:40 UTC]    Description field in categories: YES
[22-Nov-2025 17:17:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:17:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:17:40 UTC]    Is_active field in books: YES
[22-Nov-2025 17:17:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:17:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:17:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:17:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:17:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:17:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:17:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:17:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:17:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:17:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:17:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:17:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:17:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:17:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:17:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:17:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:17:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:17:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:17:40 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 17:17:40 UTC] ?? Processing: home_screen - show_welcome_section: 0
[22-Nov-2025 17:17:41 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[22-Nov-2025 17:17:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:17:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:17:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:17:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:17:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:17:41 UTC] 📊 Database Info:
[22-Nov-2025 17:17:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:17:41 UTC]    Books columns count: 44
[22-Nov-2025 17:17:41 UTC]    Categories columns count: 7
[22-Nov-2025 17:17:41 UTC]    Language field in books: YES
[22-Nov-2025 17:17:41 UTC]    Format field in books: YES
[22-Nov-2025 17:17:41 UTC]    Description field in categories: YES
[22-Nov-2025 17:17:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:17:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:17:41 UTC]    Is_active field in books: YES
[22-Nov-2025 17:17:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:17:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:17:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:17:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:17:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:17:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:17:41 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[22-Nov-2025 17:17:41 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[22-Nov-2025 17:17:41 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[22-Nov-2025 17:17:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:17:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:17:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:17:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:17:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:17:45 UTC] 📊 Database Info:
[22-Nov-2025 17:17:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:17:45 UTC]    Books columns count: 44
[22-Nov-2025 17:17:45 UTC]    Categories columns count: 7
[22-Nov-2025 17:17:45 UTC]    Language field in books: YES
[22-Nov-2025 17:17:45 UTC]    Format field in books: YES
[22-Nov-2025 17:17:45 UTC]    Description field in categories: YES
[22-Nov-2025 17:17:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:17:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:17:45 UTC]    Is_active field in books: YES
[22-Nov-2025 17:17:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:17:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:17:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:17:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:17:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:17:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:17:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:17:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:17:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:17:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:17:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:17:45 UTC] 📊 Database Info:
[22-Nov-2025 17:17:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:17:45 UTC]    Books columns count: 44
[22-Nov-2025 17:17:45 UTC]    Categories columns count: 7
[22-Nov-2025 17:17:45 UTC]    Language field in books: YES
[22-Nov-2025 17:17:45 UTC]    Format field in books: YES
[22-Nov-2025 17:17:45 UTC]    Description field in categories: YES
[22-Nov-2025 17:17:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:17:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:17:45 UTC]    Is_active field in books: YES
[22-Nov-2025 17:17:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:17:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:17:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:17:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:17:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:17:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:17:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:17:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:17:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:17:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:17:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:17:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:17:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:56 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:17:56 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:17:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:17:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:56 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:17:56 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:17:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:17:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:17:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:17:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:56 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:17:56 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:17:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:17:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:56 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:17:56 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:17:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:56 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:56 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:17:56 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:56 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:17:56 UTC] 📊 Database Info:
[22-Nov-2025 17:17:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:17:56 UTC]    Books columns count: 44
[22-Nov-2025 17:17:56 UTC]    Categories columns count: 7
[22-Nov-2025 17:17:56 UTC]    Language field in books: YES
[22-Nov-2025 17:17:56 UTC]    Format field in books: YES
[22-Nov-2025 17:17:56 UTC]    Description field in categories: YES
[22-Nov-2025 17:17:56 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:17:56 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:17:56 UTC]    Is_active field in books: YES
[22-Nov-2025 17:17:56 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:17:56 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:17:56 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:17:56 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:17:56 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:17:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:17:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:56 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:17:56 UTC] 📊 Database Info:
[22-Nov-2025 17:17:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:17:56 UTC]    Books columns count: 44
[22-Nov-2025 17:17:56 UTC]    Categories columns count: 7
[22-Nov-2025 17:17:56 UTC]    Language field in books: YES
[22-Nov-2025 17:17:56 UTC]    Format field in books: YES
[22-Nov-2025 17:17:56 UTC]    Description field in categories: YES
[22-Nov-2025 17:17:56 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:17:56 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:17:56 UTC]    Is_active field in books: YES
[22-Nov-2025 17:17:56 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:17:56 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:17:56 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:17:56 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:56 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:17:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:17:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:56 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:17:56 UTC] 📊 Database Info:
[22-Nov-2025 17:17:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:17:56 UTC]    Books columns count: 44
[22-Nov-2025 17:17:56 UTC]    Categories columns count: 7
[22-Nov-2025 17:17:56 UTC]    Language field in books: YES
[22-Nov-2025 17:17:56 UTC]    Format field in books: YES
[22-Nov-2025 17:17:56 UTC]    Description field in categories: YES
[22-Nov-2025 17:17:56 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:17:56 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:17:56 UTC]    Is_active field in books: YES
[22-Nov-2025 17:17:56 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:17:56 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:17:56 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:17:56 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:17:56 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:17:56 UTC] 📊 Database Info:
[22-Nov-2025 17:17:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:17:56 UTC]    Books columns count: 44
[22-Nov-2025 17:17:56 UTC]    Categories columns count: 7
[22-Nov-2025 17:17:56 UTC]    Language field in books: YES
[22-Nov-2025 17:17:56 UTC]    Format field in books: YES
[22-Nov-2025 17:17:56 UTC]    Description field in categories: YES
[22-Nov-2025 17:17:56 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:17:56 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:17:56 UTC]    Is_active field in books: YES
[22-Nov-2025 17:17:56 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:17:56 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:17:56 UTC] 📊 Database Info:
[22-Nov-2025 17:17:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:17:56 UTC]    Books columns count: 44
[22-Nov-2025 17:17:56 UTC]    Categories columns count: 7
[22-Nov-2025 17:17:56 UTC]    Language field in books: YES
[22-Nov-2025 17:17:56 UTC]    Format field in books: YES
[22-Nov-2025 17:17:56 UTC]    Description field in categories: YES
[22-Nov-2025 17:17:56 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:17:56 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:17:56 UTC]    Is_active field in books: YES
[22-Nov-2025 17:17:56 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:17:56 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:17:56 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:17:56 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:17:56 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:17:56 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:17:56 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:17:56 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:17:56 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:17:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:17:56 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:17:56 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:17:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:17:56 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 17:17:56 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:17:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:17:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:56 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:17:56 UTC] 📊 Database Info:
[22-Nov-2025 17:17:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:17:56 UTC]    Books columns count: 44
[22-Nov-2025 17:17:56 UTC]    Categories columns count: 7
[22-Nov-2025 17:17:56 UTC]    Language field in books: YES
[22-Nov-2025 17:17:56 UTC]    Format field in books: YES
[22-Nov-2025 17:17:56 UTC]    Description field in categories: YES
[22-Nov-2025 17:17:56 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:17:56 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:17:56 UTC]    Is_active field in books: YES
[22-Nov-2025 17:17:56 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:17:56 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:17:56 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:17:56 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:17:56 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:17:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:17:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:17:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:17:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:17:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:17:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:17:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:17:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:17:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:17:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:17:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:17:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:17:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:17:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:17:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:17:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:17:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:17:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:17:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:17:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:17:59 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:17:59 UTC] 📊 Database Info:
[22-Nov-2025 17:17:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:17:59 UTC]    Books columns count: 44
[22-Nov-2025 17:17:59 UTC]    Categories columns count: 7
[22-Nov-2025 17:17:59 UTC]    Language field in books: YES
[22-Nov-2025 17:17:59 UTC]    Format field in books: YES
[22-Nov-2025 17:17:59 UTC]    Description field in categories: YES
[22-Nov-2025 17:17:59 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:17:59 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:17:59 UTC]    Is_active field in books: YES
[22-Nov-2025 17:17:59 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:17:59 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:17:59 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:17:59 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:17:59 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:17:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:17:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:18:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:18:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:18:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:18:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:18:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:18:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:18:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:18:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:18:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:18:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:18:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:18:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:18:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:18:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:18:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:18:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:18:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:18:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:18:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:18:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:18:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:18:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:18:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:18:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:18:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:18:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:18:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:18:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:18:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:18:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:18:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:18:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:18:36 UTC] 📊 Database Info:
[22-Nov-2025 17:18:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:18:36 UTC]    Books columns count: 44
[22-Nov-2025 17:18:36 UTC]    Categories columns count: 7
[22-Nov-2025 17:18:36 UTC]    Language field in books: YES
[22-Nov-2025 17:18:36 UTC]    Format field in books: YES
[22-Nov-2025 17:18:36 UTC]    Description field in categories: YES
[22-Nov-2025 17:18:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:18:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:18:36 UTC]    Is_active field in books: YES
[22-Nov-2025 17:18:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:18:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:18:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:18:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:18:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:18:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:18:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:18:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:18:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:18:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:18:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:18:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:18:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:18:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:18:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:18:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:18:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:18:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:18:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:18:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:18:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:18:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:18:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:18:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:18:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:18:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:18:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:18:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:18:37 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:18:37 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:18:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:18:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:18:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:18:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:18:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:18:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:18:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:18:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:18:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:18:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:18:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:18:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:18:37 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:18:37 UTC] 📊 Database Info:
[22-Nov-2025 17:18:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:18:37 UTC]    Books columns count: 44
[22-Nov-2025 17:18:37 UTC]    Categories columns count: 7
[22-Nov-2025 17:18:37 UTC]    Language field in books: YES
[22-Nov-2025 17:18:37 UTC]    Format field in books: YES
[22-Nov-2025 17:18:37 UTC]    Description field in categories: YES
[22-Nov-2025 17:18:37 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:18:37 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:18:37 UTC]    Is_active field in books: YES
[22-Nov-2025 17:18:37 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:18:37 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:18:37 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:18:37 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:18:37 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:18:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:18:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:18:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:18:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:18:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:18:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:18:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:18:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:18:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:18:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:18:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:18:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:18:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:18:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:18:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:18:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:18:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:18:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:18:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:18:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:18:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:18:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:18:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:18:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:18:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:18:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:18:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:18:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:18:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:18:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:18:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:18:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:18:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:18:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:18:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:18:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:18:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:18:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:18:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:18:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:18:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:18:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:18:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:18:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:18:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:18:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:18:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:18:52 UTC] 📊 Database Info:
[22-Nov-2025 17:18:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:18:52 UTC]    Books columns count: 44
[22-Nov-2025 17:18:52 UTC]    Categories columns count: 7
[22-Nov-2025 17:18:52 UTC]    Language field in books: YES
[22-Nov-2025 17:18:52 UTC]    Format field in books: YES
[22-Nov-2025 17:18:52 UTC]    Description field in categories: YES
[22-Nov-2025 17:18:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:18:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:18:52 UTC]    Is_active field in books: YES
[22-Nov-2025 17:18:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:18:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:18:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:18:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:18:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:18:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:18:52 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 17:18:52 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 17:18:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:18:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:18:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:18:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:18:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:18:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:18:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:18:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:18:52 UTC] 📊 Database Info:
[22-Nov-2025 17:18:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:18:52 UTC]    Books columns count: 44
[22-Nov-2025 17:18:52 UTC]    Categories columns count: 7
[22-Nov-2025 17:18:52 UTC]    Language field in books: YES
[22-Nov-2025 17:18:52 UTC]    Format field in books: YES
[22-Nov-2025 17:18:52 UTC]    Description field in categories: YES
[22-Nov-2025 17:18:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:18:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:18:52 UTC]    Is_active field in books: YES
[22-Nov-2025 17:18:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:18:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:18:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:18:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:18:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:18:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:18:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:18:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:18:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:18:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:18:52 UTC] 📊 Database Info:
[22-Nov-2025 17:18:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:18:52 UTC]    Books columns count: 44
[22-Nov-2025 17:18:52 UTC]    Categories columns count: 7
[22-Nov-2025 17:18:52 UTC]    Language field in books: YES
[22-Nov-2025 17:18:52 UTC]    Format field in books: YES
[22-Nov-2025 17:18:52 UTC]    Description field in categories: YES
[22-Nov-2025 17:18:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:18:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:18:52 UTC]    Is_active field in books: YES
[22-Nov-2025 17:18:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:18:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:18:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:18:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:18:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:18:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:18:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:18:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:18:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:18:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:18:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:18:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:18:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:18:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:18:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:18:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:18:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:18:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:18:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:18:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:18:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:18:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:18:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:18:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:18:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:18:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:18:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:18:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:18:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:18:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:18:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:18:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:18:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:18:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:18:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:18:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:18:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:18:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:18:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:18:54 UTC] 📊 Database Info:
[22-Nov-2025 17:18:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:18:54 UTC]    Books columns count: 44
[22-Nov-2025 17:18:54 UTC]    Categories columns count: 7
[22-Nov-2025 17:18:54 UTC]    Language field in books: YES
[22-Nov-2025 17:18:54 UTC]    Format field in books: YES
[22-Nov-2025 17:18:54 UTC]    Description field in categories: YES
[22-Nov-2025 17:18:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:18:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:18:54 UTC]    Is_active field in books: YES
[22-Nov-2025 17:18:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:18:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:18:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:18:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:18:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:18:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:18:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:19:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:19:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:19:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:19:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:19:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:19:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:19:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:19:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:19:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:19:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:19:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:19:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:19:10 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:19:10 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:19:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:19:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:19:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:19:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:19:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:19:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:19:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:19:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:19:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:19:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:19:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:19:10 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:19:10 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:19:10 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:19:10 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:19:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:19:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:19:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:19:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:19:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:19:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:19:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:19:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:19:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:19:10 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:19:10 UTC] 📊 Database Info:
[22-Nov-2025 17:19:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:19:10 UTC]    Books columns count: 44
[22-Nov-2025 17:19:10 UTC]    Categories columns count: 7
[22-Nov-2025 17:19:10 UTC]    Language field in books: YES
[22-Nov-2025 17:19:10 UTC]    Format field in books: YES
[22-Nov-2025 17:19:10 UTC]    Description field in categories: YES
[22-Nov-2025 17:19:10 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:19:10 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:19:10 UTC]    Is_active field in books: YES
[22-Nov-2025 17:19:10 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:19:10 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:19:10 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:19:10 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:19:10 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:19:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:19:10 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 17:19:10 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 17:19:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:19:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:19:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:19:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:19:10 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:19:10 UTC] 📊 Database Info:
[22-Nov-2025 17:19:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:19:10 UTC]    Books columns count: 44
[22-Nov-2025 17:19:10 UTC]    Categories columns count: 7
[22-Nov-2025 17:19:10 UTC]    Language field in books: YES
[22-Nov-2025 17:19:10 UTC]    Format field in books: YES
[22-Nov-2025 17:19:10 UTC]    Description field in categories: YES
[22-Nov-2025 17:19:10 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:19:10 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:19:10 UTC]    Is_active field in books: YES
[22-Nov-2025 17:19:10 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:19:10 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:19:10 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:19:10 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:19:10 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:19:10 UTC] 📊 Database Info:
[22-Nov-2025 17:19:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:19:10 UTC]    Books columns count: 44
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:19:10 UTC]    Categories columns count: 7
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:19:10 UTC]    Language field in books: YES
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:19:10 UTC]    Format field in books: YES
[22-Nov-2025 17:19:10 UTC]    Description field in categories: YES
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:19:10 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:19:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:19:10 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:19:10 UTC]    Is_active field in books: YES
[22-Nov-2025 17:19:10 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:19:10 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:19:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 17:19:10 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:19:10 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:19:10 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 17:19:10 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 17:19:10 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:19:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:19:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:19:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:19:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:19:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:19:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:19:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:19:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:19:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:19:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:19:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:19:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:19:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:19:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:19:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:19:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:19:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:19:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:19:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:19:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:19:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:19:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:19:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:19:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:19:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:19:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:19:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:19:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:19:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:19:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:19:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:19:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:19:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:19:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:19:12 UTC] 📊 Database Info:
[22-Nov-2025 17:19:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:19:12 UTC]    Books columns count: 44
[22-Nov-2025 17:19:12 UTC]    Categories columns count: 7
[22-Nov-2025 17:19:12 UTC]    Language field in books: YES
[22-Nov-2025 17:19:12 UTC]    Format field in books: YES
[22-Nov-2025 17:19:12 UTC]    Description field in categories: YES
[22-Nov-2025 17:19:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:19:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:19:12 UTC]    Is_active field in books: YES
[22-Nov-2025 17:19:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:19:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:19:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:19:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:19:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:19:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:19:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:19:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:19:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:19:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:19:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:19:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:19:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:19:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:19:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:19:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:19:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:19:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:19:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:19:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:19:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:19:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:19:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:19:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:19:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:19:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:19:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:19:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:19:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:19:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:19:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:19:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:19:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:19:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:19:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:19:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:19:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:19:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:19:16 UTC] 📊 Database Info:
[22-Nov-2025 17:19:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:19:16 UTC]    Books columns count: 44
[22-Nov-2025 17:19:16 UTC]    Categories columns count: 7
[22-Nov-2025 17:19:16 UTC]    Language field in books: YES
[22-Nov-2025 17:19:16 UTC]    Format field in books: YES
[22-Nov-2025 17:19:16 UTC]    Description field in categories: YES
[22-Nov-2025 17:19:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:19:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:19:16 UTC]    Is_active field in books: YES
[22-Nov-2025 17:19:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:19:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:19:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:19:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:19:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:19:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:19:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:19:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:19:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:19:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:19:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:19:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:19:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:19:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:19:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:19:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:19:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:19:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:19:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:19:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:19:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:19:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:19:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:19:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:19:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:19:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:19:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:19:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:19:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:19:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:19:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:19:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:19:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:19:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:19:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:19:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:19:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:19:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:19:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:19:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:19:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:19:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:19:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:19:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:19:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:19:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:19:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:19:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:19:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:19:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:19:32 UTC] 📊 Database Info:
[22-Nov-2025 17:19:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:19:32 UTC]    Books columns count: 44
[22-Nov-2025 17:19:32 UTC]    Categories columns count: 7
[22-Nov-2025 17:19:32 UTC]    Language field in books: YES
[22-Nov-2025 17:19:32 UTC]    Format field in books: YES
[22-Nov-2025 17:19:32 UTC]    Description field in categories: YES
[22-Nov-2025 17:19:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:19:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:19:32 UTC]    Is_active field in books: YES
[22-Nov-2025 17:19:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:19:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:19:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:19:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:19:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:19:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:19:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:19:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:19:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:19:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:19:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:19:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:19:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:19:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:19:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:19:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:19:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:19:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:19:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:19:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:19:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:19:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:19:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:19:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:19:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:19:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:19:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:19:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:19:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:19:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:19:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:19:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:19:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:19:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:19:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:19:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:19:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:19:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:19:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:19:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:19:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:19:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:19:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:19:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:19:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:19:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:19:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:19:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:19:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:19:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:19:34 UTC] 📊 Database Info:
[22-Nov-2025 17:19:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:19:34 UTC]    Books columns count: 44
[22-Nov-2025 17:19:34 UTC]    Categories columns count: 7
[22-Nov-2025 17:19:34 UTC]    Language field in books: YES
[22-Nov-2025 17:19:34 UTC]    Format field in books: YES
[22-Nov-2025 17:19:34 UTC]    Description field in categories: YES
[22-Nov-2025 17:19:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:19:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:19:34 UTC]    Is_active field in books: YES
[22-Nov-2025 17:19:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:19:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:19:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:19:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:19:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:19:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:19:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:20:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:20:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:20:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:20:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:20:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:20:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:20:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:20:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:20:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:20:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:20:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:20:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:20:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:20:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:20:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:20:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:20:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:20:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:20:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:20:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:20:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:20:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:20:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:20:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:20:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:20:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:20:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:20:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:20:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:20:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:20:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:20:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:20:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:20:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:20:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:20:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:20:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:20:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:20:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:20:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:20:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:20:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:20:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:20:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:20:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:20:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:20:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:20:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:20:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:20:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:20:27 UTC] 📊 Database Info:
[22-Nov-2025 17:20:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:20:27 UTC]    Books columns count: 44
[22-Nov-2025 17:20:27 UTC]    Categories columns count: 7
[22-Nov-2025 17:20:27 UTC]    Language field in books: YES
[22-Nov-2025 17:20:27 UTC]    Format field in books: YES
[22-Nov-2025 17:20:27 UTC]    Description field in categories: YES
[22-Nov-2025 17:20:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:20:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:20:27 UTC]    Is_active field in books: YES
[22-Nov-2025 17:20:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:20:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:20:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:20:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:20:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:20:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:20:27 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 17:20:27 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 17:20:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:20:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:20:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:20:27 UTC] 📊 Database Info:
[22-Nov-2025 17:20:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:20:27 UTC]    Books columns count: 44
[22-Nov-2025 17:20:27 UTC]    Categories columns count: 7
[22-Nov-2025 17:20:27 UTC]    Language field in books: YES
[22-Nov-2025 17:20:27 UTC]    Format field in books: YES
[22-Nov-2025 17:20:27 UTC]    Description field in categories: YES
[22-Nov-2025 17:20:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:20:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:20:27 UTC]    Is_active field in books: YES
[22-Nov-2025 17:20:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:20:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:20:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:20:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:20:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:20:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:20:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:20:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:20:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:20:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:20:27 UTC] 📊 Database Info:
[22-Nov-2025 17:20:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:20:27 UTC]    Books columns count: 44
[22-Nov-2025 17:20:27 UTC]    Categories columns count: 7
[22-Nov-2025 17:20:27 UTC]    Language field in books: YES
[22-Nov-2025 17:20:27 UTC]    Format field in books: YES
[22-Nov-2025 17:20:27 UTC]    Description field in categories: YES
[22-Nov-2025 17:20:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:20:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:20:27 UTC]    Is_active field in books: YES
[22-Nov-2025 17:20:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:20:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:20:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:20:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:20:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:20:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:20:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:21:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:21:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:21:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:21:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:21:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:21:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:21:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:21:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:21:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:21:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:21:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:21:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:21:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:21:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:21:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:21:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:21:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:21:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:21:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:21:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:21:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:21:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:21:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:21:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:21:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:21:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:21:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:21:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:21:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:21:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:21:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:21:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:21:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:21:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:21:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:21:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:21:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:21:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:21:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:21:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:21:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:21:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:21:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:21:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:21:00 UTC] 📊 Database Info:
[22-Nov-2025 17:21:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:21:00 UTC]    Books columns count: 44
[22-Nov-2025 17:21:00 UTC]    Categories columns count: 7
[22-Nov-2025 17:21:00 UTC]    Language field in books: YES
[22-Nov-2025 17:21:00 UTC]    Format field in books: YES
[22-Nov-2025 17:21:00 UTC]    Description field in categories: YES
[22-Nov-2025 17:21:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:21:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:21:00 UTC]    Is_active field in books: YES
[22-Nov-2025 17:21:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:21:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:21:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:21:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:21:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:21:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:21:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:21:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:21:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:21:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:21:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:21:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:21:00 UTC] 📊 Database Info:
[22-Nov-2025 17:21:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:21:00 UTC]    Books columns count: 44
[22-Nov-2025 17:21:00 UTC]    Categories columns count: 7
[22-Nov-2025 17:21:00 UTC]    Language field in books: YES
[22-Nov-2025 17:21:00 UTC]    Format field in books: YES
[22-Nov-2025 17:21:00 UTC]    Description field in categories: YES
[22-Nov-2025 17:21:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:21:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:21:00 UTC]    Is_active field in books: YES
[22-Nov-2025 17:21:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:21:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:21:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:21:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:21:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:21:00 UTC] 📊 Database Info:
[22-Nov-2025 17:21:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:21:00 UTC]    Books columns count: 44
[22-Nov-2025 17:21:00 UTC]    Categories columns count: 7
[22-Nov-2025 17:21:00 UTC]    Language field in books: YES
[22-Nov-2025 17:21:00 UTC]    Format field in books: YES
[22-Nov-2025 17:21:00 UTC]    Description field in categories: YES
[22-Nov-2025 17:21:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:21:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:21:00 UTC]    Is_active field in books: YES
[22-Nov-2025 17:21:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:21:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:21:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:21:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:21:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:21:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:21:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:21:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:21:00 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 17:21:00 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 17:21:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:21:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:21:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:21:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:21:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:21:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:21:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:21:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:21:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:21:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:21:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:21:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:21:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:21:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:21:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:21:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:21:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:21:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:21:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:21:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:21:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:21:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:21:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:21:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:21:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:21:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:21:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:21:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:21:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:21:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:21:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:21:41 UTC] 📊 Database Info:
[22-Nov-2025 17:21:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:21:41 UTC]    Books columns count: 44
[22-Nov-2025 17:21:41 UTC]    Categories columns count: 7
[22-Nov-2025 17:21:41 UTC]    Language field in books: YES
[22-Nov-2025 17:21:41 UTC]    Format field in books: YES
[22-Nov-2025 17:21:41 UTC]    Description field in categories: YES
[22-Nov-2025 17:21:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:21:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:21:41 UTC]    Is_active field in books: YES
[22-Nov-2025 17:21:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:21:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:21:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:21:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:21:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:21:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:21:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:21:41 UTC] 🔄 Processing category - ID: 10, Name: Banking & finance project topicsss, Active: 1, Remove Image: NO
[22-Nov-2025 17:21:41 UTC] 🔍 Checking for duplicate category name: 'Banking & finance project topicsss'
[22-Nov-2025 17:21:41 UTC] ✅ No duplicate category name found
[22-Nov-2025 17:21:41 UTC] 📁 Keeping existing category image: uploads/no-imagee.jpg
[22-Nov-2025 17:21:41 UTC] 🔄 Updating existing category ID: 10
[22-Nov-2025 17:21:41 UTC] ✅ Category updated with new image and active status: 1
[22-Nov-2025 17:21:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:21:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:21:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:21:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:21:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:21:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:21:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:21:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:21:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:21:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:21:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:21:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:21:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:21:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:21:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:21:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:21:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:21:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:21:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:21:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:21:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:21:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:21:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:21:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:21:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:21:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:21:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:21:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:21:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:21:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:21:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:21:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:21:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:21:42 UTC] 📊 Database Info:
[22-Nov-2025 17:21:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:21:42 UTC]    Books columns count: 44
[22-Nov-2025 17:21:42 UTC]    Categories columns count: 7
[22-Nov-2025 17:21:42 UTC]    Language field in books: YES
[22-Nov-2025 17:21:42 UTC]    Format field in books: YES
[22-Nov-2025 17:21:42 UTC]    Description field in categories: YES
[22-Nov-2025 17:21:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:21:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:21:42 UTC]    Is_active field in books: YES
[22-Nov-2025 17:21:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:21:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:21:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:21:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:21:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:21:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:21:42 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 17:21:42 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 17:21:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:21:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:21:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:21:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:21:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:21:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:21:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:21:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:21:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:21:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:21:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:21:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:21:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:21:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:21:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:21:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:21:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:21:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:21:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:21:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:21:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:21:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:21:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:21:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:21:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:21:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:21:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:21:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:21:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:21:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:21:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:21:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:21:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:21:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:21:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:21:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:21:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:21:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:21:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:21:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:21:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:21:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:21:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:21:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:21:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:21:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:21:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:21:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:21:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:21:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:21:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:21:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:21:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:21:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:21:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:21:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:21:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:21:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:21:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:21:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:21:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:21:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:21:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:21:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:21:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:21:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:21:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:21:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:21:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:21:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:21:48 UTC] 📊 Database Info:
[22-Nov-2025 17:21:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:21:48 UTC]    Books columns count: 44
[22-Nov-2025 17:21:48 UTC]    Categories columns count: 7
[22-Nov-2025 17:21:48 UTC]    Language field in books: YES
[22-Nov-2025 17:21:48 UTC]    Format field in books: YES
[22-Nov-2025 17:21:48 UTC]    Description field in categories: YES
[22-Nov-2025 17:21:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:21:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:21:48 UTC]    Is_active field in books: YES
[22-Nov-2025 17:21:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:21:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:21:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:21:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:21:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:21:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:21:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:21:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:21:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:21:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:21:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:21:48 UTC] 📊 Database Info:
[22-Nov-2025 17:21:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:21:48 UTC]    Books columns count: 44
[22-Nov-2025 17:21:48 UTC]    Categories columns count: 7
[22-Nov-2025 17:21:48 UTC]    Language field in books: YES
[22-Nov-2025 17:21:48 UTC]    Format field in books: YES
[22-Nov-2025 17:21:48 UTC]    Description field in categories: YES
[22-Nov-2025 17:21:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:21:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:21:48 UTC]    Is_active field in books: YES
[22-Nov-2025 17:21:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:21:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:21:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:21:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:21:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:21:48 UTC] 📊 Database Info:
[22-Nov-2025 17:21:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:21:48 UTC]    Books columns count: 44
[22-Nov-2025 17:21:48 UTC]    Categories columns count: 7
[22-Nov-2025 17:21:48 UTC]    Language field in books: YES
[22-Nov-2025 17:21:48 UTC]    Format field in books: YES
[22-Nov-2025 17:21:48 UTC]    Description field in categories: YES
[22-Nov-2025 17:21:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:21:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:21:48 UTC]    Is_active field in books: YES
[22-Nov-2025 17:21:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:21:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:21:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:21:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:21:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:21:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:21:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:21:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:21:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:21:48 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 17:21:48 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 17:22:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:22:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:22:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:22:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:22:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:22:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:22:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:22:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:22:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:22:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:22:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:22:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:22:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:22:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:22:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:22:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:22:58 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:22:58 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:22:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:22:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:22:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:22:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:22:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:22:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:22:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:22:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:22:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:22:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:22:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:22:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:22:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:22:58 UTC] 📊 Database Info:
[22-Nov-2025 17:22:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:22:58 UTC]    Books columns count: 44
[22-Nov-2025 17:22:58 UTC]    Categories columns count: 7
[22-Nov-2025 17:22:58 UTC]    Language field in books: YES
[22-Nov-2025 17:22:58 UTC]    Format field in books: YES
[22-Nov-2025 17:22:58 UTC]    Description field in categories: YES
[22-Nov-2025 17:22:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:22:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:22:58 UTC]    Is_active field in books: YES
[22-Nov-2025 17:22:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:22:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:22:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:22:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:22:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:22:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:22:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:22:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:22:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:22:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:22:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:22:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:22:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:22:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:22:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:22:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:22:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:22:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:22:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:22:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:22:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:22:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:22:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:22:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:22:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:22:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:22:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:22:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:22:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:22:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:22:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:22:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:22:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:22:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:22:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:22:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:22:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:22:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:22:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:22:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:22:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:22:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:22:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:22:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:22:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:22:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:22:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:22:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:22:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:22:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:22:59 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:22:59 UTC] 📊 Database Info:
[22-Nov-2025 17:22:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:22:59 UTC]    Books columns count: 44
[22-Nov-2025 17:22:59 UTC]    Categories columns count: 7
[22-Nov-2025 17:22:59 UTC]    Language field in books: YES
[22-Nov-2025 17:22:59 UTC]    Format field in books: YES
[22-Nov-2025 17:22:59 UTC]    Description field in categories: YES
[22-Nov-2025 17:22:59 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:22:59 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:22:59 UTC]    Is_active field in books: YES
[22-Nov-2025 17:22:59 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:22:59 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:22:59 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:22:59 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:22:59 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:22:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:22:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:22:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:22:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:22:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:22:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:22:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:22:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:22:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:22:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:22:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:22:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:22:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:25:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:25:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:25:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:25:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:25:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:25:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:25:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:25:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:25:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:25:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:25:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:25:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:25:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:25:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:25:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:25:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:25:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:25:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:25:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:25:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:25:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:25:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:25:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:25:20 UTC] 📊 Database Info:
[22-Nov-2025 17:25:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:25:20 UTC]    Books columns count: 44
[22-Nov-2025 17:25:20 UTC]    Categories columns count: 7
[22-Nov-2025 17:25:20 UTC]    Language field in books: YES
[22-Nov-2025 17:25:20 UTC]    Format field in books: YES
[22-Nov-2025 17:25:20 UTC]    Description field in categories: YES
[22-Nov-2025 17:25:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:25:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:25:20 UTC]    Is_active field in books: YES
[22-Nov-2025 17:25:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:25:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:25:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:25:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:25:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:25:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:25:20 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":false}
[22-Nov-2025 17:25:20 UTC] ?? Processing: home_screen - show_welcome_section: 0
[22-Nov-2025 17:25:20 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[22-Nov-2025 17:25:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:25:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:25:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:25:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:25:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:25:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:25:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:25:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:25:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:25:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:25:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:25:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:25:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:25:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:25:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:25:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:25:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:25:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:25:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:25:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:25:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:25:20 UTC] 📊 Database Info:
[22-Nov-2025 17:25:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:25:20 UTC]    Books columns count: 44
[22-Nov-2025 17:25:20 UTC]    Categories columns count: 7
[22-Nov-2025 17:25:20 UTC]    Language field in books: YES
[22-Nov-2025 17:25:20 UTC]    Format field in books: YES
[22-Nov-2025 17:25:20 UTC]    Description field in categories: YES
[22-Nov-2025 17:25:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:25:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:25:20 UTC]    Is_active field in books: YES
[22-Nov-2025 17:25:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:25:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:25:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:25:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:25:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:25:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:25:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:25:20 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[22-Nov-2025 17:25:20 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[22-Nov-2025 17:25:20 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[22-Nov-2025 17:38:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:38:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:38:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:38:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:38:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:38:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:38:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:38:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:38:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:38:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:38:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:38:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:38:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:38:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:38:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:38:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:38:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:38:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:38:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:38:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:38:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:38:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:38:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:38:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:38:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:38:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:38:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:38:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:38:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:38:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:38:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:38:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:38:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:38:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:38:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:38:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:38:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:38:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:38:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:38:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:38:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:38:06 UTC] 📊 Database Info:
[22-Nov-2025 17:38:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:38:06 UTC]    Books columns count: 44
[22-Nov-2025 17:38:06 UTC]    Categories columns count: 7
[22-Nov-2025 17:38:06 UTC]    Language field in books: YES
[22-Nov-2025 17:38:06 UTC]    Format field in books: YES
[22-Nov-2025 17:38:06 UTC]    Description field in categories: YES
[22-Nov-2025 17:38:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:38:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:38:06 UTC]    Is_active field in books: YES
[22-Nov-2025 17:38:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:38:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:38:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:38:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:38:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:38:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:38:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 17:38:06 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 17:38:06 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 17:38:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:38:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:38:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:38:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:38:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:38:06 UTC] 📊 Database Info:
[22-Nov-2025 17:38:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:38:06 UTC]    Books columns count: 44
[22-Nov-2025 17:38:06 UTC]    Categories columns count: 7
[22-Nov-2025 17:38:06 UTC]    Language field in books: YES
[22-Nov-2025 17:38:06 UTC]    Format field in books: YES
[22-Nov-2025 17:38:06 UTC]    Description field in categories: YES
[22-Nov-2025 17:38:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:38:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:38:06 UTC]    Is_active field in books: YES
[22-Nov-2025 17:38:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:38:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:38:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:38:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:38:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:38:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:38:06 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 17:38:06 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 17:38:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:38:06 UTC] 📊 Database Info:
[22-Nov-2025 17:38:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:38:06 UTC]    Books columns count: 44
[22-Nov-2025 17:38:06 UTC]    Categories columns count: 7
[22-Nov-2025 17:38:06 UTC]    Language field in books: YES
[22-Nov-2025 17:38:06 UTC]    Format field in books: YES
[22-Nov-2025 17:38:06 UTC]    Description field in categories: YES
[22-Nov-2025 17:38:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:38:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:38:06 UTC]    Is_active field in books: YES
[22-Nov-2025 17:38:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:38:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:38:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:38:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:38:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:38:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:38:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:38:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:38:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:38:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:38:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:38:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:38:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:38:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:38:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:38:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:38:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:38:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:38:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:38:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:38:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:38:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:38:06 UTC] 📊 Database Info:
[22-Nov-2025 17:38:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:38:06 UTC]    Books columns count: 44
[22-Nov-2025 17:38:06 UTC]    Categories columns count: 7
[22-Nov-2025 17:38:06 UTC]    Language field in books: YES
[22-Nov-2025 17:38:06 UTC]    Format field in books: YES
[22-Nov-2025 17:38:06 UTC]    Description field in categories: YES
[22-Nov-2025 17:38:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:38:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:38:06 UTC]    Is_active field in books: YES
[22-Nov-2025 17:38:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:38:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:38:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:38:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:38:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:38:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:38:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:38:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:38:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:38:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:38:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:38:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:38:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:38:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:38:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:38:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:38:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:38:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:38:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:38:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:38:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:38:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:38:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:38:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:38:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:38:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:38:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:38:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:38:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:38:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:38:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:38:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:38:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:38:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:38:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:38:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:38:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:38:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:38:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:38:07 UTC] 📊 Database Info:
[22-Nov-2025 17:38:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:38:07 UTC]    Books columns count: 44
[22-Nov-2025 17:38:07 UTC]    Categories columns count: 7
[22-Nov-2025 17:38:07 UTC]    Language field in books: YES
[22-Nov-2025 17:38:07 UTC]    Format field in books: YES
[22-Nov-2025 17:38:07 UTC]    Description field in categories: YES
[22-Nov-2025 17:38:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:38:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:38:07 UTC]    Is_active field in books: YES
[22-Nov-2025 17:38:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:38:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:38:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:38:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:38:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:38:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:38:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:38:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:38:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:38:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:38:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:38:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:38:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:38:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:38:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:38:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:38:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:38:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:38:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:38:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:38:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:38:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:38:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:38:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:38:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:38:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:38:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:38:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:38:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:38:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:38:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:38:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:38:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:38:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:38:11 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:38:11 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:38:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:38:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:38:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:38:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:38:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:38:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:38:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:38:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:38:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:38:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:38:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:38:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:38:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:38:11 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:38:11 UTC] 📊 Database Info:
[22-Nov-2025 17:38:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:38:11 UTC]    Books columns count: 44
[22-Nov-2025 17:38:11 UTC]    Categories columns count: 7
[22-Nov-2025 17:38:11 UTC]    Language field in books: YES
[22-Nov-2025 17:38:11 UTC]    Format field in books: YES
[22-Nov-2025 17:38:11 UTC]    Description field in categories: YES
[22-Nov-2025 17:38:11 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:38:11 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:38:11 UTC]    Is_active field in books: YES
[22-Nov-2025 17:38:11 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:38:11 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:38:11 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:38:11 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:38:11 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:38:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:38:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:38:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:38:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:38:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:38:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:38:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:38:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:38:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:38:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:38:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:38:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:38:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:38:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:38:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:38:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:38:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:38:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:38:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:38:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:38:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:38:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:38:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:38:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:38:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:38:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:38:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:38:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:38:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:38:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:38:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:38:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:38:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:38:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:38:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:38:20 UTC] 📊 Database Info:
[22-Nov-2025 17:38:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:38:20 UTC]    Books columns count: 44
[22-Nov-2025 17:38:20 UTC]    Categories columns count: 7
[22-Nov-2025 17:38:20 UTC]    Language field in books: YES
[22-Nov-2025 17:38:20 UTC]    Format field in books: YES
[22-Nov-2025 17:38:20 UTC]    Description field in categories: YES
[22-Nov-2025 17:38:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:38:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:38:20 UTC]    Is_active field in books: YES
[22-Nov-2025 17:38:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:38:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:38:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:38:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:38:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:38:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:40:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:40:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:40:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:40:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:40:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:40:02 UTC] 📊 Database Info:
[22-Nov-2025 17:40:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:40:02 UTC]    Books columns count: 44
[22-Nov-2025 17:40:02 UTC]    Categories columns count: 7
[22-Nov-2025 17:40:02 UTC]    Language field in books: YES
[22-Nov-2025 17:40:02 UTC]    Format field in books: YES
[22-Nov-2025 17:40:02 UTC]    Description field in categories: YES
[22-Nov-2025 17:40:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:40:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:40:02 UTC]    Is_active field in books: YES
[22-Nov-2025 17:40:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:40:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:40:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:40:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:40:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:40:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:40:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:40:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:40:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:40:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:40:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:40:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:40:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:40:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:40:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:40:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:40:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:40:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:40:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:40:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:40:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:40:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:40:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:40:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:40:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:40:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:40:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:40:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:40:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:40:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:40:06 UTC] 📊 Database Info:
[22-Nov-2025 17:40:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:40:06 UTC]    Books columns count: 44
[22-Nov-2025 17:40:06 UTC]    Categories columns count: 7
[22-Nov-2025 17:40:06 UTC]    Language field in books: YES
[22-Nov-2025 17:40:06 UTC]    Format field in books: YES
[22-Nov-2025 17:40:06 UTC]    Description field in categories: YES
[22-Nov-2025 17:40:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:40:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:40:06 UTC]    Is_active field in books: YES
[22-Nov-2025 17:40:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:40:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:40:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:40:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:40:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:40:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:40:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 17:40:06 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 17:40:06 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 17:40:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:40:06 UTC] 📊 Database Info:
[22-Nov-2025 17:40:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:40:06 UTC]    Books columns count: 44
[22-Nov-2025 17:40:06 UTC]    Categories columns count: 7
[22-Nov-2025 17:40:06 UTC]    Language field in books: YES
[22-Nov-2025 17:40:06 UTC]    Format field in books: YES
[22-Nov-2025 17:40:06 UTC]    Description field in categories: YES
[22-Nov-2025 17:40:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:40:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:40:06 UTC]    Is_active field in books: YES
[22-Nov-2025 17:40:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:40:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:40:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:40:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:40:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:40:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:40:06 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 17:40:06 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 17:40:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:40:06 UTC] 📊 Database Info:
[22-Nov-2025 17:40:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:40:06 UTC]    Books columns count: 44
[22-Nov-2025 17:40:06 UTC]    Categories columns count: 7
[22-Nov-2025 17:40:06 UTC]    Language field in books: YES
[22-Nov-2025 17:40:06 UTC]    Format field in books: YES
[22-Nov-2025 17:40:06 UTC]    Description field in categories: YES
[22-Nov-2025 17:40:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:40:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:40:06 UTC]    Is_active field in books: YES
[22-Nov-2025 17:40:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:40:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:40:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:40:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:40:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:40:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:40:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:40:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:40:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:40:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:40:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:40:07 UTC] 📊 Database Info:
[22-Nov-2025 17:40:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:40:07 UTC]    Books columns count: 44
[22-Nov-2025 17:40:07 UTC]    Categories columns count: 7
[22-Nov-2025 17:40:07 UTC]    Language field in books: YES
[22-Nov-2025 17:40:07 UTC]    Format field in books: YES
[22-Nov-2025 17:40:07 UTC]    Description field in categories: YES
[22-Nov-2025 17:40:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:40:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:40:07 UTC]    Is_active field in books: YES
[22-Nov-2025 17:40:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:40:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:40:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:40:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:40:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:40:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:40:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:40:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:40:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:40:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:40:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:40:12 UTC] 📊 Database Info:
[22-Nov-2025 17:40:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:40:12 UTC]    Books columns count: 44
[22-Nov-2025 17:40:12 UTC]    Categories columns count: 7
[22-Nov-2025 17:40:12 UTC]    Language field in books: YES
[22-Nov-2025 17:40:12 UTC]    Format field in books: YES
[22-Nov-2025 17:40:12 UTC]    Description field in categories: YES
[22-Nov-2025 17:40:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:40:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:40:12 UTC]    Is_active field in books: YES
[22-Nov-2025 17:40:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:40:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:40:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:40:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:40:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:40:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:40:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:40:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:40:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:40:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:40:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:40:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:40:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:40:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:40:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:40:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:40:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:40:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:40:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:40:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:40:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:40:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:40:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:40:21 UTC] 📊 Database Info:
[22-Nov-2025 17:40:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:40:21 UTC]    Books columns count: 44
[22-Nov-2025 17:40:21 UTC]    Categories columns count: 7
[22-Nov-2025 17:40:21 UTC]    Language field in books: YES
[22-Nov-2025 17:40:21 UTC]    Format field in books: YES
[22-Nov-2025 17:40:21 UTC]    Description field in categories: YES
[22-Nov-2025 17:40:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:40:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:40:21 UTC]    Is_active field in books: YES
[22-Nov-2025 17:40:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:40:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:40:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:40:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:40:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:40:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:40:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:40:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:40:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:40:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:40:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:40:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:40:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:40:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:40:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:40:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:40:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:40:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:40:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:40:32 UTC] 📊 Database Info:
[22-Nov-2025 17:40:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:40:32 UTC]    Books columns count: 44
[22-Nov-2025 17:40:32 UTC]    Categories columns count: 7
[22-Nov-2025 17:40:32 UTC]    Language field in books: YES
[22-Nov-2025 17:40:32 UTC]    Format field in books: YES
[22-Nov-2025 17:40:32 UTC]    Description field in categories: YES
[22-Nov-2025 17:40:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:40:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:40:32 UTC]    Is_active field in books: YES
[22-Nov-2025 17:40:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:40:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:40:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:40:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:40:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:40:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:40:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 17:40:32 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 17:40:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:40:32 UTC] 📊 Database Info:
[22-Nov-2025 17:40:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:40:32 UTC]    Books columns count: 44
[22-Nov-2025 17:40:32 UTC]    Categories columns count: 7
[22-Nov-2025 17:40:32 UTC]    Language field in books: YES
[22-Nov-2025 17:40:32 UTC]    Format field in books: YES
[22-Nov-2025 17:40:32 UTC]    Description field in categories: YES
[22-Nov-2025 17:40:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:40:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:40:32 UTC]    Is_active field in books: YES
[22-Nov-2025 17:40:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:40:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:40:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:40:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:40:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:40:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:40:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:40:32 UTC] 📊 Database Info:
[22-Nov-2025 17:40:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:40:32 UTC]    Books columns count: 44
[22-Nov-2025 17:40:32 UTC]    Categories columns count: 7
[22-Nov-2025 17:40:32 UTC]    Language field in books: YES
[22-Nov-2025 17:40:32 UTC]    Format field in books: YES
[22-Nov-2025 17:40:32 UTC]    Description field in categories: YES
[22-Nov-2025 17:40:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:40:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:40:32 UTC]    Is_active field in books: YES
[22-Nov-2025 17:40:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:40:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:40:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:40:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:40:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:40:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:40:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 17:40:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 17:40:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 17:40:32 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 17:40:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 17:40:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 17:40:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 17:40:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 17:40:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 17:40:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 17:40:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 17:40:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 17:40:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 17:40:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 17:40:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 17:40:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 17:40:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 17:40:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 17:40:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 17:40:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 17:40:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 17:40:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 17:40:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 17:40:51 UTC] 📊 Database Info:
[22-Nov-2025 17:40:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 17:40:51 UTC]    Books columns count: 44
[22-Nov-2025 17:40:51 UTC]    Categories columns count: 7
[22-Nov-2025 17:40:51 UTC]    Language field in books: YES
[22-Nov-2025 17:40:51 UTC]    Format field in books: YES
[22-Nov-2025 17:40:51 UTC]    Description field in categories: YES
[22-Nov-2025 17:40:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 17:40:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 17:40:51 UTC]    Is_active field in books: YES
[22-Nov-2025 17:40:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 17:40:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 17:40:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 17:40:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 17:40:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 17:40:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 17:40:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 17:40:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 17:40:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 17:40:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 17:40:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 17:40:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 17:40:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 17:40:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 17:40:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 17:40:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 17:40:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 17:40:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:00:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:00:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:00:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:00:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:00:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:00:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:00:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:00:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:00:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:00:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:00:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:00:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:00:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:00:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:00:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:00:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:00:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:00:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:00:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:00:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:00:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:00:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:00:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:00:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:00:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:00:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:00:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:00:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:00:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:00:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:00:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:00:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:00:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:00:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:00:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:00:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:00:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:00:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:00:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:00:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:00:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:00:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:00:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:00:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:00:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:00:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:00:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:00:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:00:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:00:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:00:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:00:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:00:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:00:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:00:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:00:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:00:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:00:44 UTC] 📊 Database Info:
[22-Nov-2025 18:00:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:00:44 UTC]    Books columns count: 44
[22-Nov-2025 18:00:44 UTC]    Categories columns count: 7
[22-Nov-2025 18:00:44 UTC]    Language field in books: YES
[22-Nov-2025 18:00:44 UTC]    Format field in books: YES
[22-Nov-2025 18:00:44 UTC]    Description field in categories: YES
[22-Nov-2025 18:00:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:00:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:00:44 UTC]    Is_active field in books: YES
[22-Nov-2025 18:00:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:00:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:00:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:00:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:00:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:00:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:00:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:00:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:00:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:00:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:00:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:00:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:00:44 UTC] 📊 Database Info:
[22-Nov-2025 18:00:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:00:44 UTC]    Books columns count: 44
[22-Nov-2025 18:00:44 UTC]    Categories columns count: 7
[22-Nov-2025 18:00:44 UTC]    Language field in books: YES
[22-Nov-2025 18:00:44 UTC]    Format field in books: YES
[22-Nov-2025 18:00:44 UTC]    Description field in categories: YES
[22-Nov-2025 18:00:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:00:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:00:44 UTC]    Is_active field in books: YES
[22-Nov-2025 18:00:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:00:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:00:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:00:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:00:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:00:44 UTC] 📊 Database Info:
[22-Nov-2025 18:00:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:00:44 UTC]    Books columns count: 44
[22-Nov-2025 18:00:44 UTC]    Categories columns count: 7
[22-Nov-2025 18:00:44 UTC]    Language field in books: YES
[22-Nov-2025 18:00:44 UTC]    Format field in books: YES
[22-Nov-2025 18:00:44 UTC]    Description field in categories: YES
[22-Nov-2025 18:00:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:00:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:00:44 UTC]    Is_active field in books: YES
[22-Nov-2025 18:00:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:00:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:00:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:00:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:00:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:00:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:00:44 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:00:44 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:00:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:00:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:01:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:01:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:01:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:01:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:01:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:01:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:01:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:01:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:01:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:01:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:01:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:01:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:01:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:01:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:01:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:01:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:01:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:01:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:01:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:01:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:01:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:01:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:01:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:01:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:01:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:01:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:01:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:01:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:01:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:01:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:01:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:01:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:01:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:01:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:01:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:01:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:01:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:01:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:01:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:01:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:01:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:01:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:01:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:01:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:01:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:01:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:01:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:01:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:01:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:01:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:01:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:01:45 UTC] 📊 Database Info:
[22-Nov-2025 18:01:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:01:45 UTC]    Books columns count: 44
[22-Nov-2025 18:01:45 UTC]    Categories columns count: 7
[22-Nov-2025 18:01:45 UTC]    Language field in books: YES
[22-Nov-2025 18:01:45 UTC]    Format field in books: YES
[22-Nov-2025 18:01:45 UTC]    Description field in categories: YES
[22-Nov-2025 18:01:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:01:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:01:45 UTC]    Is_active field in books: YES
[22-Nov-2025 18:01:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:01:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:01:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:01:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:01:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:01:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:01:45 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 18:01:45 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 18:01:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:01:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:01:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:01:45 UTC] 📊 Database Info:
[22-Nov-2025 18:01:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:01:45 UTC]    Books columns count: 44
[22-Nov-2025 18:01:45 UTC]    Categories columns count: 7
[22-Nov-2025 18:01:45 UTC]    Language field in books: YES
[22-Nov-2025 18:01:45 UTC]    Format field in books: YES
[22-Nov-2025 18:01:45 UTC]    Description field in categories: YES
[22-Nov-2025 18:01:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:01:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:01:45 UTC]    Is_active field in books: YES
[22-Nov-2025 18:01:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:01:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:01:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:01:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:01:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:01:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:01:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:01:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:01:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:01:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:01:45 UTC] 📊 Database Info:
[22-Nov-2025 18:01:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:01:45 UTC]    Books columns count: 44
[22-Nov-2025 18:01:45 UTC]    Categories columns count: 7
[22-Nov-2025 18:01:45 UTC]    Language field in books: YES
[22-Nov-2025 18:01:45 UTC]    Format field in books: YES
[22-Nov-2025 18:01:45 UTC]    Description field in categories: YES
[22-Nov-2025 18:01:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:01:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:01:45 UTC]    Is_active field in books: YES
[22-Nov-2025 18:01:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:01:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:01:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:01:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:01:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:01:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:01:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:01:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:01:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:01:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:01:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:01:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:01:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:01:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:01:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:01:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:01:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:01:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:01:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:01:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:01:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:01:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:01:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:01:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:01:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:01:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:01:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:01:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:01:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:01:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:01:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:01:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:01:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:01:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:01:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:01:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:01:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:01:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:01:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:01:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:01:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:01:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:01:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:01:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:01:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:01:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:01:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:01:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:01:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:01:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:01:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:01:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:01:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:01:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:01:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:01:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:01:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:01:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:01:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:01:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:01:49 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:01:49 UTC] 📊 Database Info:
[22-Nov-2025 18:01:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:01:49 UTC]    Books columns count: 44
[22-Nov-2025 18:01:49 UTC]    Categories columns count: 7
[22-Nov-2025 18:01:49 UTC]    Language field in books: YES
[22-Nov-2025 18:01:49 UTC]    Format field in books: YES
[22-Nov-2025 18:01:49 UTC]    Description field in categories: YES
[22-Nov-2025 18:01:49 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:01:49 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:01:49 UTC]    Is_active field in books: YES
[22-Nov-2025 18:01:49 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:01:49 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:01:49 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:01:49 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:01:49 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:01:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:01:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:01:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:01:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:01:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:01:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:01:49 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:01:49 UTC] 📊 Database Info:
[22-Nov-2025 18:01:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:01:49 UTC]    Books columns count: 44
[22-Nov-2025 18:01:49 UTC]    Categories columns count: 7
[22-Nov-2025 18:01:49 UTC]    Language field in books: YES
[22-Nov-2025 18:01:49 UTC]    Format field in books: YES
[22-Nov-2025 18:01:49 UTC]    Description field in categories: YES
[22-Nov-2025 18:01:49 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:01:49 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:01:49 UTC]    Is_active field in books: YES
[22-Nov-2025 18:01:49 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:01:49 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:01:49 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:01:49 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:01:49 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:01:49 UTC] 📊 Database Info:
[22-Nov-2025 18:01:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:01:49 UTC]    Books columns count: 44
[22-Nov-2025 18:01:49 UTC]    Categories columns count: 7
[22-Nov-2025 18:01:49 UTC]    Language field in books: YES
[22-Nov-2025 18:01:49 UTC]    Format field in books: YES
[22-Nov-2025 18:01:49 UTC]    Description field in categories: YES
[22-Nov-2025 18:01:49 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:01:49 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:01:49 UTC]    Is_active field in books: YES
[22-Nov-2025 18:01:49 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:01:49 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:01:49 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:01:49 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:01:49 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:01:49 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:01:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:01:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:01:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:01:49 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 18:01:49 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 18:01:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:01:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:01:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:01:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:01:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:01:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:01:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:01:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:01:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:01:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:01:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:01:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:01:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:01:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:01:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:01:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:01:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:01:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:01:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:01:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:01:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:01:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:01:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:01:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:01:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:01:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:01:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:01:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:01:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:01:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:01:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:01:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:01:51 UTC] 📊 Database Info:
[22-Nov-2025 18:01:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:01:51 UTC]    Books columns count: 44
[22-Nov-2025 18:01:51 UTC]    Categories columns count: 7
[22-Nov-2025 18:01:51 UTC]    Language field in books: YES
[22-Nov-2025 18:01:51 UTC]    Format field in books: YES
[22-Nov-2025 18:01:51 UTC]    Description field in categories: YES
[22-Nov-2025 18:01:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:01:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:01:51 UTC]    Is_active field in books: YES
[22-Nov-2025 18:01:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:01:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:01:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:01:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:01:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:01:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:01:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:01:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:01:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:01:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:01:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:01:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:01:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:01:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:01:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:01:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:01:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:01:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:25:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:25:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:25:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:25:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:25:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:25:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:25:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:25:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:25:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:25:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:25:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:25:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:25:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:25:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:25:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:25:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:25:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:25:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:25:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:25:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:25:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:25:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:25:32 UTC] 📊 Database Info:
[22-Nov-2025 18:25:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:25:32 UTC]    Books columns count: 44
[22-Nov-2025 18:25:32 UTC]    Categories columns count: 7
[22-Nov-2025 18:25:32 UTC]    Language field in books: YES
[22-Nov-2025 18:25:32 UTC]    Format field in books: YES
[22-Nov-2025 18:25:32 UTC]    Description field in categories: YES
[22-Nov-2025 18:25:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:25:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:25:32 UTC]    Is_active field in books: YES
[22-Nov-2025 18:25:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:25:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:25:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:25:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:25:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:25:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:25:32 UTC] 📊 Database Info:
[22-Nov-2025 18:25:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:25:32 UTC]    Books columns count: 44
[22-Nov-2025 18:25:32 UTC]    Categories columns count: 7
[22-Nov-2025 18:25:32 UTC]    Language field in books: YES
[22-Nov-2025 18:25:32 UTC]    Format field in books: YES
[22-Nov-2025 18:25:32 UTC]    Description field in categories: YES
[22-Nov-2025 18:25:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:25:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:25:32 UTC]    Is_active field in books: YES
[22-Nov-2025 18:25:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:25:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:25:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:25:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:25:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:25:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:25:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:25:32 UTC] 📊 Database Info:
[22-Nov-2025 18:25:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:25:32 UTC]    Books columns count: 44
[22-Nov-2025 18:25:32 UTC]    Categories columns count: 7
[22-Nov-2025 18:25:32 UTC]    Language field in books: YES
[22-Nov-2025 18:25:32 UTC]    Format field in books: YES
[22-Nov-2025 18:25:32 UTC]    Description field in categories: YES
[22-Nov-2025 18:25:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:25:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:25:32 UTC]    Is_active field in books: YES
[22-Nov-2025 18:25:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:25:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:25:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:25:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:25:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:25:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:25:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:25:32 UTC] 📊 Database Info:
[22-Nov-2025 18:25:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:25:32 UTC]    Books columns count: 44
[22-Nov-2025 18:25:32 UTC]    Categories columns count: 7
[22-Nov-2025 18:25:32 UTC]    Language field in books: YES
[22-Nov-2025 18:25:32 UTC]    Format field in books: YES
[22-Nov-2025 18:25:32 UTC]    Description field in categories: YES
[22-Nov-2025 18:25:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:25:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:25:32 UTC]    Is_active field in books: YES
[22-Nov-2025 18:25:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:25:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:25:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:25:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:25:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:25:32 UTC] 📊 Database Info:
[22-Nov-2025 18:25:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:25:32 UTC]    Books columns count: 44
[22-Nov-2025 18:25:32 UTC]    Categories columns count: 7
[22-Nov-2025 18:25:32 UTC]    Language field in books: YES
[22-Nov-2025 18:25:32 UTC]    Format field in books: YES
[22-Nov-2025 18:25:32 UTC]    Description field in categories: YES
[22-Nov-2025 18:25:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:25:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:25:32 UTC]    Is_active field in books: YES
[22-Nov-2025 18:25:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:25:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:25:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:25:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:25:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:25:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:25:32 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:25:32 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:25:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:25:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:25:32 UTC] 📊 Database Info:
[22-Nov-2025 18:25:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:25:32 UTC]    Books columns count: 44
[22-Nov-2025 18:25:32 UTC]    Categories columns count: 7
[22-Nov-2025 18:25:32 UTC]    Language field in books: YES
[22-Nov-2025 18:25:32 UTC]    Format field in books: YES
[22-Nov-2025 18:25:32 UTC]    Description field in categories: YES
[22-Nov-2025 18:25:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:25:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:25:32 UTC]    Is_active field in books: YES
[22-Nov-2025 18:25:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:25:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:25:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:25:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:25:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:25:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:25:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:25:32 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 18:25:32 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 18:25:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:25:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:25:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:25:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:25:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:25:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:25:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:25:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:25:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:25:36 UTC] 📊 Database Info:
[22-Nov-2025 18:25:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:25:36 UTC]    Books columns count: 44
[22-Nov-2025 18:25:36 UTC]    Categories columns count: 7
[22-Nov-2025 18:25:36 UTC]    Language field in books: YES
[22-Nov-2025 18:25:36 UTC]    Format field in books: YES
[22-Nov-2025 18:25:36 UTC]    Description field in categories: YES
[22-Nov-2025 18:25:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:25:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:25:36 UTC]    Is_active field in books: YES
[22-Nov-2025 18:25:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:25:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:25:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:25:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:25:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:25:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:25:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:25:36 UTC] 📊 Database Info:
[22-Nov-2025 18:25:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:25:36 UTC]    Books columns count: 44
[22-Nov-2025 18:25:36 UTC]    Categories columns count: 7
[22-Nov-2025 18:25:36 UTC]    Language field in books: YES
[22-Nov-2025 18:25:36 UTC]    Format field in books: YES
[22-Nov-2025 18:25:36 UTC]    Description field in categories: YES
[22-Nov-2025 18:25:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:25:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:25:36 UTC]    Is_active field in books: YES
[22-Nov-2025 18:25:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:25:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:25:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:25:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:25:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:25:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:25:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:25:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:25:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:25:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:25:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:25:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:25:38 UTC] 📊 Database Info:
[22-Nov-2025 18:25:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:25:38 UTC]    Books columns count: 44
[22-Nov-2025 18:25:38 UTC]    Categories columns count: 7
[22-Nov-2025 18:25:38 UTC]    Language field in books: YES
[22-Nov-2025 18:25:38 UTC]    Format field in books: YES
[22-Nov-2025 18:25:38 UTC]    Description field in categories: YES
[22-Nov-2025 18:25:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:25:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:25:38 UTC]    Is_active field in books: YES
[22-Nov-2025 18:25:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:25:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:25:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:25:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:25:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:25:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:25:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:25:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:25:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:25:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:25:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:25:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:25:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:25:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:25:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:25:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:25:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:25:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:25:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:25:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:25:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:25:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:25:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:25:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:25:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:25:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:25:51 UTC] 📊 Database Info:
[22-Nov-2025 18:25:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:25:51 UTC]    Books columns count: 44
[22-Nov-2025 18:25:51 UTC]    Categories columns count: 7
[22-Nov-2025 18:25:51 UTC]    Language field in books: YES
[22-Nov-2025 18:25:51 UTC]    Format field in books: YES
[22-Nov-2025 18:25:51 UTC]    Description field in categories: YES
[22-Nov-2025 18:25:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:25:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:25:51 UTC]    Is_active field in books: YES
[22-Nov-2025 18:25:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:25:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:25:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:25:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:25:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:25:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:25:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:25:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:25:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:25:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:25:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:25:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:25:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:25:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:25:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:25:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:25:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:25:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:26:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:26:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:26:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:26:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:26:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:26:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:26:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:26:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:26:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:26:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:26:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:26:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:26:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:26:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:26:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:26:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:26:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:26:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:26:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:26:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:26:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:26:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:26:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:26:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:26:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:26:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:26:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:26:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:26:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:26:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:26:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:26:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:26:28 UTC] 📊 Database Info:
[22-Nov-2025 18:26:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:26:28 UTC]    Books columns count: 44
[22-Nov-2025 18:26:28 UTC]    Categories columns count: 7
[22-Nov-2025 18:26:28 UTC]    Language field in books: YES
[22-Nov-2025 18:26:28 UTC]    Format field in books: YES
[22-Nov-2025 18:26:28 UTC]    Description field in categories: YES
[22-Nov-2025 18:26:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:26:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:26:28 UTC]    Is_active field in books: YES
[22-Nov-2025 18:26:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:26:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:26:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:26:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:26:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:26:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:26:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:26:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:26:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:26:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:26:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:26:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:26:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:26:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:26:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:26:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:26:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:26:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:12 UTC] 📊 Database Info:
[22-Nov-2025 18:28:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:12 UTC]    Books columns count: 44
[22-Nov-2025 18:28:12 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:12 UTC]    Language field in books: YES
[22-Nov-2025 18:28:12 UTC]    Format field in books: YES
[22-Nov-2025 18:28:12 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:12 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:12 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 18:28:12 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 18:28:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:12 UTC] 📊 Database Info:
[22-Nov-2025 18:28:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:12 UTC]    Books columns count: 44
[22-Nov-2025 18:28:12 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:12 UTC]    Language field in books: YES
[22-Nov-2025 18:28:12 UTC]    Format field in books: YES
[22-Nov-2025 18:28:12 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:12 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:12 UTC] 📊 Database Info:
[22-Nov-2025 18:28:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:12 UTC]    Books columns count: 44
[22-Nov-2025 18:28:12 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:12 UTC]    Language field in books: YES
[22-Nov-2025 18:28:12 UTC]    Format field in books: YES
[22-Nov-2025 18:28:12 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:12 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:12 UTC] 📊 Database Info:
[22-Nov-2025 18:28:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:12 UTC]    Books columns count: 44
[22-Nov-2025 18:28:12 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:12 UTC]    Language field in books: YES
[22-Nov-2025 18:28:12 UTC]    Format field in books: YES
[22-Nov-2025 18:28:12 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:12 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:12 UTC] 📊 Database Info:
[22-Nov-2025 18:28:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:12 UTC]    Books columns count: 44
[22-Nov-2025 18:28:12 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:12 UTC]    Language field in books: YES
[22-Nov-2025 18:28:12 UTC]    Format field in books: YES
[22-Nov-2025 18:28:12 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:12 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:12 UTC] 📊 Database Info:
[22-Nov-2025 18:28:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:12 UTC]    Books columns count: 44
[22-Nov-2025 18:28:12 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:12 UTC]    Language field in books: YES
[22-Nov-2025 18:28:12 UTC]    Format field in books: YES
[22-Nov-2025 18:28:12 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:12 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:12 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:12 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:16 UTC] 📊 Database Info:
[22-Nov-2025 18:28:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:16 UTC]    Books columns count: 44
[22-Nov-2025 18:28:16 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:16 UTC]    Language field in books: YES
[22-Nov-2025 18:28:16 UTC]    Format field in books: YES
[22-Nov-2025 18:28:16 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:16 UTC] 📊 Database Info:
[22-Nov-2025 18:28:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:16 UTC]    Books columns count: 44
[22-Nov-2025 18:28:16 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:16 UTC]    Language field in books: YES
[22-Nov-2025 18:28:16 UTC]    Format field in books: YES
[22-Nov-2025 18:28:16 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:16 UTC] 📊 Database Info:
[22-Nov-2025 18:28:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:16 UTC]    Books columns count: 44
[22-Nov-2025 18:28:16 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:16 UTC]    Language field in books: YES
[22-Nov-2025 18:28:16 UTC]    Format field in books: YES
[22-Nov-2025 18:28:16 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:16 UTC] 📊 Database Info:
[22-Nov-2025 18:28:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:16 UTC]    Books columns count: 44
[22-Nov-2025 18:28:16 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:16 UTC]    Language field in books: YES
[22-Nov-2025 18:28:16 UTC]    Format field in books: YES
[22-Nov-2025 18:28:16 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:16 UTC] 📊 Database Info:
[22-Nov-2025 18:28:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:16 UTC]    Books columns count: 44
[22-Nov-2025 18:28:16 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:16 UTC]    Language field in books: YES
[22-Nov-2025 18:28:16 UTC]    Format field in books: YES
[22-Nov-2025 18:28:16 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 18:28:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 18:28:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:16 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:16 UTC] 📊 Database Info:
[22-Nov-2025 18:28:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:16 UTC]    Books columns count: 44
[22-Nov-2025 18:28:16 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:16 UTC]    Language field in books: YES
[22-Nov-2025 18:28:16 UTC]    Format field in books: YES
[22-Nov-2025 18:28:16 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:16 UTC] 📊 Database Info:
[22-Nov-2025 18:28:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:16 UTC]    Books columns count: 44
[22-Nov-2025 18:28:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:16 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:16 UTC]    Language field in books: YES
[22-Nov-2025 18:28:16 UTC]    Format field in books: YES
[22-Nov-2025 18:28:16 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:16 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 18:28:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 18:28:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 18:28:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 18:28:16 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 18:28:16 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 18:28:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:17 UTC] 📊 Database Info:
[22-Nov-2025 18:28:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:17 UTC]    Books columns count: 44
[22-Nov-2025 18:28:17 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:17 UTC]    Language field in books: YES
[22-Nov-2025 18:28:17 UTC]    Format field in books: YES
[22-Nov-2025 18:28:17 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:17 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 18:28:17 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 18:28:17 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 18:28:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:17 UTC] 📊 Database Info:
[22-Nov-2025 18:28:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:17 UTC]    Books columns count: 44
[22-Nov-2025 18:28:17 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:17 UTC]    Language field in books: YES
[22-Nov-2025 18:28:17 UTC]    Format field in books: YES
[22-Nov-2025 18:28:17 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:17 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 18:28:17 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 18:28:17 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 18:28:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:17 UTC] 📊 Database Info:
[22-Nov-2025 18:28:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:17 UTC]    Books columns count: 44
[22-Nov-2025 18:28:17 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:17 UTC]    Language field in books: YES
[22-Nov-2025 18:28:17 UTC]    Format field in books: YES
[22-Nov-2025 18:28:17 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:17 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 18:28:17 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 18:28:17 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 18:28:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:28:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:28:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:28:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:28:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:28:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:28:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:28:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:28:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:28 UTC] 📊 Database Info:
[22-Nov-2025 18:28:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:28 UTC]    Books columns count: 44
[22-Nov-2025 18:28:28 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:28 UTC]    Language field in books: YES
[22-Nov-2025 18:28:28 UTC]    Format field in books: YES
[22-Nov-2025 18:28:28 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:28 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:28 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 18:28:28 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 18:28:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:28 UTC] 📊 Database Info:
[22-Nov-2025 18:28:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:28 UTC]    Books columns count: 44
[22-Nov-2025 18:28:28 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:28 UTC]    Language field in books: YES
[22-Nov-2025 18:28:28 UTC]    Format field in books: YES
[22-Nov-2025 18:28:28 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:28 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:28 UTC] 📊 Database Info:
[22-Nov-2025 18:28:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:28 UTC]    Books columns count: 44
[22-Nov-2025 18:28:28 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:28 UTC]    Language field in books: YES
[22-Nov-2025 18:28:28 UTC]    Format field in books: YES
[22-Nov-2025 18:28:28 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:28 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:28 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 18:28:28 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 18:28:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:28 UTC] 📊 Database Info:
[22-Nov-2025 18:28:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:28 UTC]    Books columns count: 44
[22-Nov-2025 18:28:28 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:28 UTC]    Language field in books: YES
[22-Nov-2025 18:28:28 UTC]    Format field in books: YES
[22-Nov-2025 18:28:28 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:28 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:28 UTC] 📊 Database Info:
[22-Nov-2025 18:28:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:28 UTC]    Books columns count: 44
[22-Nov-2025 18:28:28 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:28 UTC]    Language field in books: YES
[22-Nov-2025 18:28:28 UTC]    Format field in books: YES
[22-Nov-2025 18:28:28 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:28 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:28:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:28:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:28:28 UTC] 📊 Database Info:
[22-Nov-2025 18:28:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:28:28 UTC]    Books columns count: 44
[22-Nov-2025 18:28:28 UTC]    Categories columns count: 7
[22-Nov-2025 18:28:28 UTC]    Language field in books: YES
[22-Nov-2025 18:28:28 UTC]    Format field in books: YES
[22-Nov-2025 18:28:28 UTC]    Description field in categories: YES
[22-Nov-2025 18:28:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:28:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:28:28 UTC]    Is_active field in books: YES
[22-Nov-2025 18:28:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:28:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:28:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:28:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:28:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:28:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:29:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:29:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:29:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:29:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:29:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:29:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:29:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:29:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:29:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:29:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:29:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:29:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:29:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:29:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:29:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:29:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:29:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:29:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:29:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:29:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:29:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:29:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:29:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:29:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:29:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:29:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:29:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:29:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:29:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:29:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:29:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:29:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:29:54 UTC] 📊 Database Info:
[22-Nov-2025 18:29:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:29:54 UTC]    Books columns count: 44
[22-Nov-2025 18:29:54 UTC]    Categories columns count: 7
[22-Nov-2025 18:29:54 UTC]    Language field in books: YES
[22-Nov-2025 18:29:54 UTC]    Format field in books: YES
[22-Nov-2025 18:29:54 UTC]    Description field in categories: YES
[22-Nov-2025 18:29:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:29:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:29:54 UTC]    Is_active field in books: YES
[22-Nov-2025 18:29:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:29:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:29:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:29:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:29:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:29:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:30:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:30:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:30:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:30:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:30:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:30:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:30:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:30:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:30:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:30:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:30:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:30:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:30:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:30:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:30:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:30:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:30:11 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:30:11 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:30:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:30:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:30:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:30:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:30:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:30:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:30:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:30:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:30:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:30:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:30:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:30:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:30:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:30:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:30:12 UTC] 📊 Database Info:
[22-Nov-2025 18:30:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:30:12 UTC]    Books columns count: 44
[22-Nov-2025 18:30:12 UTC]    Categories columns count: 7
[22-Nov-2025 18:30:12 UTC]    Language field in books: YES
[22-Nov-2025 18:30:12 UTC]    Format field in books: YES
[22-Nov-2025 18:30:12 UTC]    Description field in categories: YES
[22-Nov-2025 18:30:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:30:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:30:12 UTC]    Is_active field in books: YES
[22-Nov-2025 18:30:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:30:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:30:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:30:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:30:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:30:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:30:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:30:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:30:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:30:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:30:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:30:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:30:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:30:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:30:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:30:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:30:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:30:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:30:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:30:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:30:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:30:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:30:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:30:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:30:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:30:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:30:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:30:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:30:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:30:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:30:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:30:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:30:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:30:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:30:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:30:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:30:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:30:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:30:37 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:30:37 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:30:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:30:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:30:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:30:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:30:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:30:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:30:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:30:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:30:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:30:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:30:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:30:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:30:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:30:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:30:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:30:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:30:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:30:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:30:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:30:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:30:37 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:30:37 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:30:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:30:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:30:37 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:30:37 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:30:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:30:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:30:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:30:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:30:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:30:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:30:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:30:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:30:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:30:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:30:37 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:30:37 UTC] 📊 Database Info:
[22-Nov-2025 18:30:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:30:37 UTC]    Books columns count: 44
[22-Nov-2025 18:30:37 UTC]    Categories columns count: 7
[22-Nov-2025 18:30:37 UTC]    Language field in books: YES
[22-Nov-2025 18:30:37 UTC]    Format field in books: YES
[22-Nov-2025 18:30:37 UTC]    Description field in categories: YES
[22-Nov-2025 18:30:37 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:30:37 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:30:37 UTC]    Is_active field in books: YES
[22-Nov-2025 18:30:37 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:30:37 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:30:37 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:30:37 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:30:37 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:30:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:30:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:30:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:30:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:30:37 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:30:37 UTC] 📊 Database Info:
[22-Nov-2025 18:30:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:30:37 UTC]    Books columns count: 44
[22-Nov-2025 18:30:37 UTC]    Categories columns count: 7
[22-Nov-2025 18:30:37 UTC]    Language field in books: YES
[22-Nov-2025 18:30:37 UTC]    Format field in books: YES
[22-Nov-2025 18:30:37 UTC]    Description field in categories: YES
[22-Nov-2025 18:30:37 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:30:37 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:30:37 UTC]    Is_active field in books: YES
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:30:37 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:30:37 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:30:37 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:30:37 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:30:37 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:30:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:30:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:30:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:30:37 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:30:37 UTC] 📊 Database Info:
[22-Nov-2025 18:30:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:30:37 UTC]    Books columns count: 44
[22-Nov-2025 18:30:37 UTC]    Categories columns count: 7
[22-Nov-2025 18:30:37 UTC]    Language field in books: YES
[22-Nov-2025 18:30:37 UTC]    Format field in books: YES
[22-Nov-2025 18:30:37 UTC]    Description field in categories: YES
[22-Nov-2025 18:30:37 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:30:37 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:30:37 UTC]    Is_active field in books: YES
[22-Nov-2025 18:30:37 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:30:37 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:30:37 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:30:37 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:30:37 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:30:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:30:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:30:37 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 18:30:37 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 18:31:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:31:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:31:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:31:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:31:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:31:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:31:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:31:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:31:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:31:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:31:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:31:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:31:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:31:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:31:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:31:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:31:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:31:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:31:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:31:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:31:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:31:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:31:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:31:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:31:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:31:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:31:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:31:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:31:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:31:38 UTC] 📊 Database Info:
[22-Nov-2025 18:31:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:31:38 UTC]    Books columns count: 44
[22-Nov-2025 18:31:38 UTC]    Categories columns count: 7
[22-Nov-2025 18:31:38 UTC]    Language field in books: YES
[22-Nov-2025 18:31:38 UTC]    Format field in books: YES
[22-Nov-2025 18:31:38 UTC]    Description field in categories: YES
[22-Nov-2025 18:31:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:31:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:31:38 UTC]    Is_active field in books: YES
[22-Nov-2025 18:31:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:31:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:31:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:31:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:31:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:31:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:31:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:31:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:31:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:31:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:31:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:31:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:31:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:31:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:31:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:31:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:31:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:31:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:31:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:31:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:31:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:31:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:31:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:31:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:31:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:31:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:31:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:31:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:31:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:31:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:31:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:31:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:31:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:31:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:31:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:31:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:31:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:31:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:31:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:31:40 UTC] 📊 Database Info:
[22-Nov-2025 18:31:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:31:40 UTC]    Books columns count: 44
[22-Nov-2025 18:31:40 UTC]    Categories columns count: 7
[22-Nov-2025 18:31:40 UTC]    Language field in books: YES
[22-Nov-2025 18:31:40 UTC]    Format field in books: YES
[22-Nov-2025 18:31:40 UTC]    Description field in categories: YES
[22-Nov-2025 18:31:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:31:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:31:40 UTC]    Is_active field in books: YES
[22-Nov-2025 18:31:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:31:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:31:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:31:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:31:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:31:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:31:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:31:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:31:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:31:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:31:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:31:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:31:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:31:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:31:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:31:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:31:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:31:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:31:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:31:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:31:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:31:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:31:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:31:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:31:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:31:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:31:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:31:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:31:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:31:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:31:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:31:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:31:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:31:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:31:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:31:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:31:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:31:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:31:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:31:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:31:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:31:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:31:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:31:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:31:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:31:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:31:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:31:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:31:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:31:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:31:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:31:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:31:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:31:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:31:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:31:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:31:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:31:45 UTC] 📊 Database Info:
[22-Nov-2025 18:31:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:31:45 UTC]    Books columns count: 44
[22-Nov-2025 18:31:45 UTC]    Categories columns count: 7
[22-Nov-2025 18:31:45 UTC]    Language field in books: YES
[22-Nov-2025 18:31:45 UTC]    Format field in books: YES
[22-Nov-2025 18:31:45 UTC]    Description field in categories: YES
[22-Nov-2025 18:31:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:31:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:31:45 UTC]    Is_active field in books: YES
[22-Nov-2025 18:31:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:31:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:31:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:31:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:31:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:31:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:31:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:31:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:31:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:31:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:31:45 UTC] 📊 Database Info:
[22-Nov-2025 18:31:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:31:45 UTC]    Books columns count: 44
[22-Nov-2025 18:31:45 UTC]    Categories columns count: 7
[22-Nov-2025 18:31:45 UTC]    Language field in books: YES
[22-Nov-2025 18:31:45 UTC]    Format field in books: YES
[22-Nov-2025 18:31:45 UTC]    Description field in categories: YES
[22-Nov-2025 18:31:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:31:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:31:45 UTC]    Is_active field in books: YES
[22-Nov-2025 18:31:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:31:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:31:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:31:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:31:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:31:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:31:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:31:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:31:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:31:45 UTC] 📊 Database Info:
[22-Nov-2025 18:31:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:31:45 UTC]    Books columns count: 44
[22-Nov-2025 18:31:45 UTC]    Categories columns count: 7
[22-Nov-2025 18:31:45 UTC]    Language field in books: YES
[22-Nov-2025 18:31:45 UTC]    Format field in books: YES
[22-Nov-2025 18:31:45 UTC]    Description field in categories: YES
[22-Nov-2025 18:31:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:31:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:31:45 UTC]    Is_active field in books: YES
[22-Nov-2025 18:31:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:31:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:31:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:31:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:31:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:31:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:31:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:31:45 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 18:31:45 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 18:31:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:31:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:31:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:31:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:31:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:31:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:31:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:31:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:31:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:31:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:31:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:31:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:31:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:31:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:31:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:31:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:31:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:31:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:31:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:31:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:31:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:31:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:31:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:31:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:31:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:31:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:31:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:31:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:31:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:31:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:31:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:31:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:31:47 UTC] 📊 Database Info:
[22-Nov-2025 18:31:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:31:47 UTC]    Books columns count: 44
[22-Nov-2025 18:31:47 UTC]    Categories columns count: 7
[22-Nov-2025 18:31:47 UTC]    Language field in books: YES
[22-Nov-2025 18:31:47 UTC]    Format field in books: YES
[22-Nov-2025 18:31:47 UTC]    Description field in categories: YES
[22-Nov-2025 18:31:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:31:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:31:47 UTC]    Is_active field in books: YES
[22-Nov-2025 18:31:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:31:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:31:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:31:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:31:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:31:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:31:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:31:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:31:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:31:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:31:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:31:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:31:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:31:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:31:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:31:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:31:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:31:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:31:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:31:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:31:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:31:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:31:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:31:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:31:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:31:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:31:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:31:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:31:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:31:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:31:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:31:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:31:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:31:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:31:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:31:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:31:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:31:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:31:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:31:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:31:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:31:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:31:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:31:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:31:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:31:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:31:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:31:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:31:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:31:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:31:50 UTC] 📊 Database Info:
[22-Nov-2025 18:31:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:31:50 UTC]    Books columns count: 44
[22-Nov-2025 18:31:50 UTC]    Categories columns count: 7
[22-Nov-2025 18:31:50 UTC]    Language field in books: YES
[22-Nov-2025 18:31:50 UTC]    Format field in books: YES
[22-Nov-2025 18:31:50 UTC]    Description field in categories: YES
[22-Nov-2025 18:31:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:31:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:31:50 UTC]    Is_active field in books: YES
[22-Nov-2025 18:31:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:31:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:31:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:31:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:31:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:31:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:32:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:32:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:32:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:32:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:32:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:32:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:32:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:32:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:32:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:32:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:32:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:32:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:32:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:32:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:32:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:32:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:32:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:32:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:32:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:32:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:32:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:32:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:32:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:32:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:32:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:32:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:32:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:32:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:32:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:32:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:32:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:32:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:32:08 UTC] 📊 Database Info:
[22-Nov-2025 18:32:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:32:08 UTC]    Books columns count: 44
[22-Nov-2025 18:32:08 UTC]    Categories columns count: 7
[22-Nov-2025 18:32:08 UTC]    Language field in books: YES
[22-Nov-2025 18:32:08 UTC]    Format field in books: YES
[22-Nov-2025 18:32:08 UTC]    Description field in categories: YES
[22-Nov-2025 18:32:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:32:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:32:08 UTC]    Is_active field in books: YES
[22-Nov-2025 18:32:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:32:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:32:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:32:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:32:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:32:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:32:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:32:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:32:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:32:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:32:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:32:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:32:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:32:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:32:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:32:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:32:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:32:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:33:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:33:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:33:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:33:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:33:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:33:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:33:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:33:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:33:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:33:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:33:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:33:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:33:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:33:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:33:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:33:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:33:37 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:33:37 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:33:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:33:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:33:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:33:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:33:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:33:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:33:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:33:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:33:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:33:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:33:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:33:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:33:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:33:37 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:33:37 UTC] 📊 Database Info:
[22-Nov-2025 18:33:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:33:37 UTC]    Books columns count: 44
[22-Nov-2025 18:33:37 UTC]    Categories columns count: 7
[22-Nov-2025 18:33:37 UTC]    Language field in books: YES
[22-Nov-2025 18:33:37 UTC]    Format field in books: YES
[22-Nov-2025 18:33:37 UTC]    Description field in categories: YES
[22-Nov-2025 18:33:37 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:33:37 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:33:37 UTC]    Is_active field in books: YES
[22-Nov-2025 18:33:37 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:33:37 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:33:37 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:33:37 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:33:37 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:33:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:33:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:33:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:33:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:33:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:33:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:33:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:33:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:33:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:33:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:33:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:33:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:33:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:33:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:33:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:33:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:33:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:33:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:33:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:33:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:33:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:33:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:33:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:33:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:33:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:33:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:33:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:33:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:33:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:33:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:33:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:33:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:33:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:33:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:33:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:33:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:33:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:33:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:33:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:33:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:33:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:33:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:33:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:33:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:33:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:33:41 UTC] 📊 Database Info:
[22-Nov-2025 18:33:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:33:41 UTC]    Books columns count: 44
[22-Nov-2025 18:33:41 UTC]    Categories columns count: 7
[22-Nov-2025 18:33:41 UTC]    Language field in books: YES
[22-Nov-2025 18:33:41 UTC]    Format field in books: YES
[22-Nov-2025 18:33:41 UTC]    Description field in categories: YES
[22-Nov-2025 18:33:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:33:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:33:41 UTC]    Is_active field in books: YES
[22-Nov-2025 18:33:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:33:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:33:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:33:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:33:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:33:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:33:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:33:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:33:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:33:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:33:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:33:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:33:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:33:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:33:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:33:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:33:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:33:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:33:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:33:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:33:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:33:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:33:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:33:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:33:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:33:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:33:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:34:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:34:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:34:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:34:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:34:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:34:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:34:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:34:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:34:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:34:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:34:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:34:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:34:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:34:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:34:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:34:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:34:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:34:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:34:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:34:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:34:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:34:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:34:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:34:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:34:00 UTC] 📊 Database Info:
[22-Nov-2025 18:34:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:34:00 UTC]    Books columns count: 44
[22-Nov-2025 18:34:00 UTC]    Categories columns count: 7
[22-Nov-2025 18:34:00 UTC]    Language field in books: YES
[22-Nov-2025 18:34:00 UTC]    Format field in books: YES
[22-Nov-2025 18:34:00 UTC]    Description field in categories: YES
[22-Nov-2025 18:34:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:34:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:34:00 UTC]    Is_active field in books: YES
[22-Nov-2025 18:34:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:34:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:34:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:34:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:34:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:34:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:34:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:34:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:34:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:34:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:34:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:34:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:34:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:34:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:34:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:34:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:34:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:34:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:34:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:34:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:34:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:34:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:34:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:34:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:34:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:34:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:34:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:34:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:34:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:34:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:34:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:34:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:34:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:34:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:34:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:34:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:34:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:34:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:34:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:34:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:34:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:34:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:34:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:34:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:34:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:34:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:34:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:34:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:34:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:34:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:34:28 UTC] 📊 Database Info:
[22-Nov-2025 18:34:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:34:28 UTC]    Books columns count: 44
[22-Nov-2025 18:34:28 UTC]    Categories columns count: 7
[22-Nov-2025 18:34:28 UTC]    Language field in books: YES
[22-Nov-2025 18:34:28 UTC]    Format field in books: YES
[22-Nov-2025 18:34:28 UTC]    Description field in categories: YES
[22-Nov-2025 18:34:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:34:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:34:28 UTC]    Is_active field in books: YES
[22-Nov-2025 18:34:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:34:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:34:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:34:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:34:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:34:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:34:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:34:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:34:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:34:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:34:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:34:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:34:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:34:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:34:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:34:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:34:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:34:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:37:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:37:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:37:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:37:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:37:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:37:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:37:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:37:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:37:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:37:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:37:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:37:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:37:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:37:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:37:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:37:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:37:53 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:37:53 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:37:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:37:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:37:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:37:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:37:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:37:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:37:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:37:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:37:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:37:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:37:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:37:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:37:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:37:53 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:37:53 UTC] 📊 Database Info:
[22-Nov-2025 18:37:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:37:53 UTC]    Books columns count: 44
[22-Nov-2025 18:37:53 UTC]    Categories columns count: 7
[22-Nov-2025 18:37:53 UTC]    Language field in books: YES
[22-Nov-2025 18:37:53 UTC]    Format field in books: YES
[22-Nov-2025 18:37:53 UTC]    Description field in categories: YES
[22-Nov-2025 18:37:53 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:37:53 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:37:53 UTC]    Is_active field in books: YES
[22-Nov-2025 18:37:53 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:37:53 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:37:53 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:37:53 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:37:53 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:37:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:37:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:37:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:37:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:37:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:37:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:37:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:37:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:37:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:37:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:37:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:37:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:37:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:38:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:38:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:38:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:38:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:38:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:38:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:38:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:38:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:38:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:38:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:38:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:38:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:38:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:38:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:38:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:38:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:38:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:38:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:38:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:38:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:38:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:38:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:38:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:38:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:38:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:38:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:38:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:38:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:38:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:38:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:38:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:38:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:38:20 UTC] 📊 Database Info:
[22-Nov-2025 18:38:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:38:20 UTC]    Books columns count: 44
[22-Nov-2025 18:38:20 UTC]    Categories columns count: 7
[22-Nov-2025 18:38:20 UTC]    Language field in books: YES
[22-Nov-2025 18:38:20 UTC]    Format field in books: YES
[22-Nov-2025 18:38:20 UTC]    Description field in categories: YES
[22-Nov-2025 18:38:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:38:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:38:20 UTC]    Is_active field in books: YES
[22-Nov-2025 18:38:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:38:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:38:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:38:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:38:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:38:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:38:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:38:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:38:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:38:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:38:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:38:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:38:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:38:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:38:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:38:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:38:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:38:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:38:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:38:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:38:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:38:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:38:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:38:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:38:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:38:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:38:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:38:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:38:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:38:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:38:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:38:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:38:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:38:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:38:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:38:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:38:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:38:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:38:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:38:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:38:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:38:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:38:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:38:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:38:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:38:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:38:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:38:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:38:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:38:30 UTC] 📊 Database Info:
[22-Nov-2025 18:38:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:38:30 UTC]    Books columns count: 44
[22-Nov-2025 18:38:30 UTC]    Categories columns count: 7
[22-Nov-2025 18:38:30 UTC]    Language field in books: YES
[22-Nov-2025 18:38:30 UTC]    Format field in books: YES
[22-Nov-2025 18:38:30 UTC]    Description field in categories: YES
[22-Nov-2025 18:38:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:38:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:38:30 UTC]    Is_active field in books: YES
[22-Nov-2025 18:38:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:38:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:38:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:38:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:38:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:38:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:38:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:38:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:38:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:38:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:38:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:38:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:38:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:38:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:38:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:38:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:38:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:38:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:38:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:38:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:38:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:38:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:38:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:38:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:38:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:38:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:38:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:38:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:38:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:38:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:38:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:38:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:38:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:38:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:38:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:38:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:38:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:38:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:38:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:38:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:38:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:38:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:38:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:38:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:38:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:38:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:38:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:38:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:38:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:38:33 UTC] 📊 Database Info:
[22-Nov-2025 18:38:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:38:33 UTC]    Books columns count: 44
[22-Nov-2025 18:38:33 UTC]    Categories columns count: 7
[22-Nov-2025 18:38:33 UTC]    Language field in books: YES
[22-Nov-2025 18:38:33 UTC]    Format field in books: YES
[22-Nov-2025 18:38:33 UTC]    Description field in categories: YES
[22-Nov-2025 18:38:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:38:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:38:33 UTC]    Is_active field in books: YES
[22-Nov-2025 18:38:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:38:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:38:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:38:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:38:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:38:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:38:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:38:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:38:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:38:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:38:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:38:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:38:33 UTC] 📊 Database Info:
[22-Nov-2025 18:38:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:38:33 UTC]    Books columns count: 44
[22-Nov-2025 18:38:33 UTC]    Categories columns count: 7
[22-Nov-2025 18:38:33 UTC]    Language field in books: YES
[22-Nov-2025 18:38:33 UTC]    Format field in books: YES
[22-Nov-2025 18:38:33 UTC]    Description field in categories: YES
[22-Nov-2025 18:38:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:38:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:38:33 UTC]    Is_active field in books: YES
[22-Nov-2025 18:38:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:38:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:38:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:38:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:38:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:38:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:38:33 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 18:38:33 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 18:38:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:38:33 UTC] 📊 Database Info:
[22-Nov-2025 18:38:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:38:33 UTC]    Books columns count: 44
[22-Nov-2025 18:38:33 UTC]    Categories columns count: 7
[22-Nov-2025 18:38:33 UTC]    Language field in books: YES
[22-Nov-2025 18:38:33 UTC]    Format field in books: YES
[22-Nov-2025 18:38:33 UTC]    Description field in categories: YES
[22-Nov-2025 18:38:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:38:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:38:33 UTC]    Is_active field in books: YES
[22-Nov-2025 18:38:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:38:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:38:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:38:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:38:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:38:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:38:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:38:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:38:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:38:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:38:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:38:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:38:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:38:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:38:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:38:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:38:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:38:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:38:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:38:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:38:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:38:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:38:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:38:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:38:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:38:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:38:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:38:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:38:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:38:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:38:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:38:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:38:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:38:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:38:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:38:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:38:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:38:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:38:47 UTC] 📊 Database Info:
[22-Nov-2025 18:38:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:38:47 UTC]    Books columns count: 44
[22-Nov-2025 18:38:47 UTC]    Categories columns count: 7
[22-Nov-2025 18:38:47 UTC]    Language field in books: YES
[22-Nov-2025 18:38:47 UTC]    Format field in books: YES
[22-Nov-2025 18:38:47 UTC]    Description field in categories: YES
[22-Nov-2025 18:38:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:38:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:38:47 UTC]    Is_active field in books: YES
[22-Nov-2025 18:38:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:38:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:38:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:38:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:38:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:38:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:38:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:38:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:38:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:38:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:38:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:38:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:38:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:38:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:38:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:38:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:38:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:38:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:39:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:39:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:39:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:39:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:39:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:39:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:39:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:39:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:39:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:39:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:39:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:39:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:39:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:39:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:39:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:39:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:39:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:39:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:39:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:39:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:39:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:39:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:39:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:39:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:39:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:39:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:39:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:39:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:39:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:39:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:39:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:39:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:39:45 UTC] 📊 Database Info:
[22-Nov-2025 18:39:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:39:45 UTC]    Books columns count: 44
[22-Nov-2025 18:39:45 UTC]    Categories columns count: 7
[22-Nov-2025 18:39:45 UTC]    Language field in books: YES
[22-Nov-2025 18:39:45 UTC]    Format field in books: YES
[22-Nov-2025 18:39:45 UTC]    Description field in categories: YES
[22-Nov-2025 18:39:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:39:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:39:45 UTC]    Is_active field in books: YES
[22-Nov-2025 18:39:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:39:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:39:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:39:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:39:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:39:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:39:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:39:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:39:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:39:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:39:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:39:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:39:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:39:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:39:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:39:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:39:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:39:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:40:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:40:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:40:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:40:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:40:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:40:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:40:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:40:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:40:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:40:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:40:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:40:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:40:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:40:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:40:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:40:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:40:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:40:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:40:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:40:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:40:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:40:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:40:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:40:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:40:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:40:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:40:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:40:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:40:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:40:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:40:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:40:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:40:06 UTC] 📊 Database Info:
[22-Nov-2025 18:40:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:40:06 UTC]    Books columns count: 44
[22-Nov-2025 18:40:06 UTC]    Categories columns count: 7
[22-Nov-2025 18:40:06 UTC]    Language field in books: YES
[22-Nov-2025 18:40:06 UTC]    Format field in books: YES
[22-Nov-2025 18:40:06 UTC]    Description field in categories: YES
[22-Nov-2025 18:40:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:40:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:40:06 UTC]    Is_active field in books: YES
[22-Nov-2025 18:40:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:40:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:40:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:40:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:40:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:40:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:40:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:40:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:40:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:40:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:40:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:40:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:40:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:40:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:40:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:40:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:40:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:40:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:40:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:40:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:40:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:40:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:40:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:40:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:40:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:40:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:40:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:40:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:40:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:40:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:40:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:40:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:40:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:40:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:40:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:40:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:40:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:40:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:40:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:40:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:40:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:40:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:40:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:40:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:40:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:40:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:40:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:40:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:40:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:40:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:40:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:40:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:40:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:40:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:40:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:40:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:40:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:40:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:40:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:40:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:40:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:40:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:40:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:40:41 UTC] 📊 Database Info:
[22-Nov-2025 18:40:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:40:41 UTC]    Books columns count: 44
[22-Nov-2025 18:40:41 UTC]    Categories columns count: 7
[22-Nov-2025 18:40:41 UTC]    Language field in books: YES
[22-Nov-2025 18:40:41 UTC]    Format field in books: YES
[22-Nov-2025 18:40:41 UTC]    Description field in categories: YES
[22-Nov-2025 18:40:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:40:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:40:41 UTC]    Is_active field in books: YES
[22-Nov-2025 18:40:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:40:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:40:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:40:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:40:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:40:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:40:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:40:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:40:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:40:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:40:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:40:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:40:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:40:41 UTC] 📊 Database Info:
[22-Nov-2025 18:40:41 UTC] 📊 Database Info:
[22-Nov-2025 18:40:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:40:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:40:41 UTC]    Books columns count: 44
[22-Nov-2025 18:40:41 UTC]    Books columns count: 44
[22-Nov-2025 18:40:41 UTC]    Categories columns count: 7
[22-Nov-2025 18:40:41 UTC]    Categories columns count: 7
[22-Nov-2025 18:40:41 UTC]    Language field in books: YES
[22-Nov-2025 18:40:41 UTC]    Language field in books: YES
[22-Nov-2025 18:40:41 UTC]    Format field in books: YES
[22-Nov-2025 18:40:41 UTC]    Format field in books: YES
[22-Nov-2025 18:40:41 UTC]    Description field in categories: YES
[22-Nov-2025 18:40:41 UTC]    Description field in categories: YES
[22-Nov-2025 18:40:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:40:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:40:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:40:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:40:41 UTC]    Is_active field in books: YES
[22-Nov-2025 18:40:41 UTC]    Is_active field in books: YES
[22-Nov-2025 18:40:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:40:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:40:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:40:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:40:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:40:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:40:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:40:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:40:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:40:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:40:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:40:41 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 18:40:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:40:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:40:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 18:40:41 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 18:40:41 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 18:40:41 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 18:41:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:41:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:41:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:41:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:41:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:41:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:41:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:41:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:41:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:41:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:41:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:41:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:41:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:41:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:41:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:41:12 UTC] 📊 Database Info:
[22-Nov-2025 18:41:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:41:12 UTC]    Books columns count: 44
[22-Nov-2025 18:41:12 UTC]    Categories columns count: 7
[22-Nov-2025 18:41:12 UTC]    Language field in books: YES
[22-Nov-2025 18:41:12 UTC]    Format field in books: YES
[22-Nov-2025 18:41:12 UTC]    Description field in categories: YES
[22-Nov-2025 18:41:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:41:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:41:12 UTC]    Is_active field in books: YES
[22-Nov-2025 18:41:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:41:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:41:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:41:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:41:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:41:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:41:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:41:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:41:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:41:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:41:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:41:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:41:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:41:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:41:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:41:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:41:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:41:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:41:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:41:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:41:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:41:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:41:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:41:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:41:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:41:12 UTC] 📊 Database Info:
[22-Nov-2025 18:41:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:41:12 UTC]    Books columns count: 44
[22-Nov-2025 18:41:12 UTC]    Categories columns count: 7
[22-Nov-2025 18:41:12 UTC]    Language field in books: YES
[22-Nov-2025 18:41:12 UTC]    Format field in books: YES
[22-Nov-2025 18:41:12 UTC]    Description field in categories: YES
[22-Nov-2025 18:41:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:41:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:41:12 UTC]    Is_active field in books: YES
[22-Nov-2025 18:41:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:41:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:41:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:41:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:41:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:41:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:41:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:41:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:41:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:41:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:41:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:41:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:41:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:41:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:41:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:41:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:41:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:41:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:41:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:41:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:41:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:41:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:41:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:41:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:41:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:41:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:41:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:41:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:41:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:41:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:41:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:41:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:41:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:41:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:41:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:41:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:41:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:41:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:41:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:41:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:41:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:41:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:41:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:41:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:41:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:41:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:41:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:41:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:41:25 UTC] 📊 Database Info:
[22-Nov-2025 18:41:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:41:25 UTC]    Books columns count: 44
[22-Nov-2025 18:41:25 UTC]    Categories columns count: 7
[22-Nov-2025 18:41:25 UTC]    Language field in books: YES
[22-Nov-2025 18:41:25 UTC]    Format field in books: YES
[22-Nov-2025 18:41:25 UTC]    Description field in categories: YES
[22-Nov-2025 18:41:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:41:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:41:25 UTC]    Is_active field in books: YES
[22-Nov-2025 18:41:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:41:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:41:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:41:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:41:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:41:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:41:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:41:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:41:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:41:25 UTC] 📊 Database Info:
[22-Nov-2025 18:41:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:41:25 UTC]    Books columns count: 44
[22-Nov-2025 18:41:25 UTC]    Categories columns count: 7
[22-Nov-2025 18:41:25 UTC]    Language field in books: YES
[22-Nov-2025 18:41:25 UTC]    Format field in books: YES
[22-Nov-2025 18:41:25 UTC]    Description field in categories: YES
[22-Nov-2025 18:41:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:41:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:41:25 UTC]    Is_active field in books: YES
[22-Nov-2025 18:41:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:41:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:41:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:41:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:41:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:41:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:41:25 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 18:41:25 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 18:41:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:41:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:41:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:41:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:41:25 UTC] 📊 Database Info:
[22-Nov-2025 18:41:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:41:25 UTC]    Books columns count: 44
[22-Nov-2025 18:41:25 UTC]    Categories columns count: 7
[22-Nov-2025 18:41:25 UTC]    Language field in books: YES
[22-Nov-2025 18:41:25 UTC]    Format field in books: YES
[22-Nov-2025 18:41:25 UTC]    Description field in categories: YES
[22-Nov-2025 18:41:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:41:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:41:25 UTC]    Is_active field in books: YES
[22-Nov-2025 18:41:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:41:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:41:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:41:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:41:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:41:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:41:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:41:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:41:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:41:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:41:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:41:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:41:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:41:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:41:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:41:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:41:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:41:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:41:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:41:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:41:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:41:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:41:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:41:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:41:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:41:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:41:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:41:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:41:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:41:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:41:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:41:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:41:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:41:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:41:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:41:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:41:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:41:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:41:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:41:28 UTC] 📊 Database Info:
[22-Nov-2025 18:41:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:41:28 UTC]    Books columns count: 44
[22-Nov-2025 18:41:28 UTC]    Categories columns count: 7
[22-Nov-2025 18:41:28 UTC]    Language field in books: YES
[22-Nov-2025 18:41:28 UTC]    Format field in books: YES
[22-Nov-2025 18:41:28 UTC]    Description field in categories: YES
[22-Nov-2025 18:41:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:41:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:41:28 UTC]    Is_active field in books: YES
[22-Nov-2025 18:41:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:41:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:41:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:41:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:41:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:41:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:41:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:41:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:41:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:41:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:41:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:41:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:41:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:41:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:41:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:41:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:41:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:41:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:41:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:41:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:41:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:41:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:41:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:41:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:41:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:41:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:41:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:41:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:41:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:41:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:41:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:41:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:41:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:41:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:41:53 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:41:53 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:41:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:41:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:41:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:41:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:41:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:41:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:41:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:41:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:41:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:41:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:41:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:41:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:41:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:41:53 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:41:53 UTC] 📊 Database Info:
[22-Nov-2025 18:41:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:41:53 UTC]    Books columns count: 44
[22-Nov-2025 18:41:53 UTC]    Categories columns count: 7
[22-Nov-2025 18:41:53 UTC]    Language field in books: YES
[22-Nov-2025 18:41:53 UTC]    Format field in books: YES
[22-Nov-2025 18:41:53 UTC]    Description field in categories: YES
[22-Nov-2025 18:41:53 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:41:53 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:41:53 UTC]    Is_active field in books: YES
[22-Nov-2025 18:41:53 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:41:53 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:41:53 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:41:53 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:41:53 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:41:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:41:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:41:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:41:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:41:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:41:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:41:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:41:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:41:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:41:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:41:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:41:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:41:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:41:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:41:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:41:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:41:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:41:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:41:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:41:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:41:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:41:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:41:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:41:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:41:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:41:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:41:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:41:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:41:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:41:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:41:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:41:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:41:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:41:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:41:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:41:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:41:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:41:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:41:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:41:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:41:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:41:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:41:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:41:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:41:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:41:54 UTC] 📊 Database Info:
[22-Nov-2025 18:41:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:41:54 UTC]    Books columns count: 44
[22-Nov-2025 18:41:54 UTC]    Categories columns count: 7
[22-Nov-2025 18:41:54 UTC]    Language field in books: YES
[22-Nov-2025 18:41:54 UTC]    Format field in books: YES
[22-Nov-2025 18:41:54 UTC]    Description field in categories: YES
[22-Nov-2025 18:41:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:41:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:41:54 UTC]    Is_active field in books: YES
[22-Nov-2025 18:41:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:41:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:41:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:41:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:41:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:41:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:41:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:41:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:41:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:41:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:41:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:41:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:41:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:41:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:41:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:41:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:41:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:41:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:42:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:42:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:42:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:42:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:42:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:42:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:42:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:42:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:42:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:42:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:42:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:42:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:42:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:42:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:42:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:42:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:42:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:42:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:42:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:42:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:42:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:42:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:42:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:42:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:42:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:42:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:42:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:42:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:42:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:42:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:42:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:42:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:42:54 UTC] 📊 Database Info:
[22-Nov-2025 18:42:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:42:54 UTC]    Books columns count: 44
[22-Nov-2025 18:42:54 UTC]    Categories columns count: 7
[22-Nov-2025 18:42:54 UTC]    Language field in books: YES
[22-Nov-2025 18:42:54 UTC]    Format field in books: YES
[22-Nov-2025 18:42:54 UTC]    Description field in categories: YES
[22-Nov-2025 18:42:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:42:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:42:54 UTC]    Is_active field in books: YES
[22-Nov-2025 18:42:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:42:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:42:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:42:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:42:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:42:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:42:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:43:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:43:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:43:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:43:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:43:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:43:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:43:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:43:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:43:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:43:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:43:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:43:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:43:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:43:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:43:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:43:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:43:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:43:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:43:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:43:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:43:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:43:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:43:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:43:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:43:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:43:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:43:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:43:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:43:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:43:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:43:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:43:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:43:02 UTC] 📊 Database Info:
[22-Nov-2025 18:43:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:43:02 UTC]    Books columns count: 44
[22-Nov-2025 18:43:02 UTC]    Categories columns count: 7
[22-Nov-2025 18:43:02 UTC]    Language field in books: YES
[22-Nov-2025 18:43:02 UTC]    Format field in books: YES
[22-Nov-2025 18:43:02 UTC]    Description field in categories: YES
[22-Nov-2025 18:43:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:43:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:43:02 UTC]    Is_active field in books: YES
[22-Nov-2025 18:43:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:43:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:43:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:43:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:43:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:43:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:43:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:43:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:43:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:43:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:43:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:43:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:43:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:43:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:43:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:43:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:43:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:43:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:43:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:43:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:43:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:43:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:43:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:43:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:43:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:43:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:43:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:43:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:43:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:43:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:43:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:43:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:43:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:43:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:43:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:43:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:43:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:43:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:43:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:43:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:43:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:43:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:43:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:43:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:43:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:43:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:43:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:43:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:43:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:43:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:43:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:43:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:43:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:43:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:43:23 UTC] 📊 Database Info:
[22-Nov-2025 18:43:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:43:23 UTC]    Books columns count: 44
[22-Nov-2025 18:43:23 UTC]    Categories columns count: 7
[22-Nov-2025 18:43:23 UTC]    Language field in books: YES
[22-Nov-2025 18:43:23 UTC]    Format field in books: YES
[22-Nov-2025 18:43:23 UTC]    Description field in categories: YES
[22-Nov-2025 18:43:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:43:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:43:23 UTC]    Is_active field in books: YES
[22-Nov-2025 18:43:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:43:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:43:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:43:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:43:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:43:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:43:23 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 18:43:23 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 18:43:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:43:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:43:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:43:23 UTC] 📊 Database Info:
[22-Nov-2025 18:43:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:43:23 UTC]    Books columns count: 44
[22-Nov-2025 18:43:23 UTC]    Categories columns count: 7
[22-Nov-2025 18:43:23 UTC]    Language field in books: YES
[22-Nov-2025 18:43:23 UTC]    Format field in books: YES
[22-Nov-2025 18:43:23 UTC]    Description field in categories: YES
[22-Nov-2025 18:43:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:43:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:43:23 UTC]    Is_active field in books: YES
[22-Nov-2025 18:43:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:43:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:43:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:43:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:43:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:43:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:43:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:43:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:43:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:43:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:43:23 UTC] 📊 Database Info:
[22-Nov-2025 18:43:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:43:23 UTC]    Books columns count: 44
[22-Nov-2025 18:43:23 UTC]    Categories columns count: 7
[22-Nov-2025 18:43:23 UTC]    Language field in books: YES
[22-Nov-2025 18:43:23 UTC]    Format field in books: YES
[22-Nov-2025 18:43:23 UTC]    Description field in categories: YES
[22-Nov-2025 18:43:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:43:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:43:23 UTC]    Is_active field in books: YES
[22-Nov-2025 18:43:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:43:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:43:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:43:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:43:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:43:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:43:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:43:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:43:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:43:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:43:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:43:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:43:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:43:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:43:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:43:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:43:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:43:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:43:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:43:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:43:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:43:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:43:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:43:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:43:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:43:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:43:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:43:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:43:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:43:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:43:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:43:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:43:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:43:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:43:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:43:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:43:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:43:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:43:25 UTC] 📊 Database Info:
[22-Nov-2025 18:43:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:43:25 UTC]    Books columns count: 44
[22-Nov-2025 18:43:25 UTC]    Categories columns count: 7
[22-Nov-2025 18:43:25 UTC]    Language field in books: YES
[22-Nov-2025 18:43:25 UTC]    Format field in books: YES
[22-Nov-2025 18:43:25 UTC]    Description field in categories: YES
[22-Nov-2025 18:43:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:43:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:43:25 UTC]    Is_active field in books: YES
[22-Nov-2025 18:43:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:43:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:43:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:43:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:43:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:43:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:43:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:43:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:43:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:43:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:43:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:43:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:43:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:43:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:43:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:43:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:43:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:43:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:44:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:44:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:44:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:44:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:44:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:44:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:44:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:44:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:44:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:44:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:44:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:44:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:44:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:44:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:44:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:44:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:44:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:44:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:44:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:44:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:44:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:44:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:44:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:44:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:44:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:44:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:44:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:44:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:44:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:44:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:44:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:44:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:44:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:44:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:44:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:44:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:44:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:44:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:44:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:44:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:44:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:44:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:44:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:44:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:44:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:44:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:44:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:44:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:44:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:44:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:44:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:44:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:44:32 UTC] 📊 Database Info:
[22-Nov-2025 18:44:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:44:32 UTC]    Books columns count: 44
[22-Nov-2025 18:44:32 UTC]    Categories columns count: 7
[22-Nov-2025 18:44:32 UTC]    Language field in books: YES
[22-Nov-2025 18:44:32 UTC]    Format field in books: YES
[22-Nov-2025 18:44:32 UTC]    Description field in categories: YES
[22-Nov-2025 18:44:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:44:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:44:32 UTC]    Is_active field in books: YES
[22-Nov-2025 18:44:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:44:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:44:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:44:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:44:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:44:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:44:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 18:44:32 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 18:44:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:44:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:44:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:44:32 UTC] 📊 Database Info:
[22-Nov-2025 18:44:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:44:32 UTC]    Books columns count: 44
[22-Nov-2025 18:44:32 UTC]    Categories columns count: 7
[22-Nov-2025 18:44:32 UTC]    Language field in books: YES
[22-Nov-2025 18:44:32 UTC]    Format field in books: YES
[22-Nov-2025 18:44:32 UTC]    Description field in categories: YES
[22-Nov-2025 18:44:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:44:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:44:32 UTC]    Is_active field in books: YES
[22-Nov-2025 18:44:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:44:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:44:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:44:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:44:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:44:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:44:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:44:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:44:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:44:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:44:32 UTC] 📊 Database Info:
[22-Nov-2025 18:44:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:44:32 UTC]    Books columns count: 44
[22-Nov-2025 18:44:32 UTC]    Categories columns count: 7
[22-Nov-2025 18:44:32 UTC]    Language field in books: YES
[22-Nov-2025 18:44:32 UTC]    Format field in books: YES
[22-Nov-2025 18:44:32 UTC]    Description field in categories: YES
[22-Nov-2025 18:44:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:44:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:44:32 UTC]    Is_active field in books: YES
[22-Nov-2025 18:44:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:44:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:44:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:44:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:44:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:44:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:44:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:44:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 18:44:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 18:44:32 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 18:45:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:45:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:45:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:45:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:45:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:45:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:45:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:45:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:45:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:45:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:45:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:45:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:45:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:45:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:45:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:45:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:45:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:45:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:45:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:45:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:45:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:45:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:45:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:45:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:45:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:45:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:45:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:45:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:45:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:45:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:45:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:45:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:45:20 UTC] 📊 Database Info:
[22-Nov-2025 18:45:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:45:20 UTC]    Books columns count: 44
[22-Nov-2025 18:45:20 UTC]    Categories columns count: 7
[22-Nov-2025 18:45:20 UTC]    Language field in books: YES
[22-Nov-2025 18:45:20 UTC]    Format field in books: YES
[22-Nov-2025 18:45:20 UTC]    Description field in categories: YES
[22-Nov-2025 18:45:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:45:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:45:20 UTC]    Is_active field in books: YES
[22-Nov-2025 18:45:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:45:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:45:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:45:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:45:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:45:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:45:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:45:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:45:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:45:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:45:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:45:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:45:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:45:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:45:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:45:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:45:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:45:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:45:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:45:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:45:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:45:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:45:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:45:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:45:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:45:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:45:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:45:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:45:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:45:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:45:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:45:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:45:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:45:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:45:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:45:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:45:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:45:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:45:21 UTC] 📊 Database Info:
[22-Nov-2025 18:45:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:45:21 UTC]    Books columns count: 44
[22-Nov-2025 18:45:21 UTC]    Categories columns count: 7
[22-Nov-2025 18:45:21 UTC]    Language field in books: YES
[22-Nov-2025 18:45:21 UTC]    Format field in books: YES
[22-Nov-2025 18:45:21 UTC]    Description field in categories: YES
[22-Nov-2025 18:45:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:45:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:45:21 UTC]    Is_active field in books: YES
[22-Nov-2025 18:45:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:45:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:45:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:45:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:45:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:45:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:45:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:45:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:45:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:45:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:45:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:45:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:45:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:45:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:45:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:45:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:45:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:45:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:45:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:45:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:45:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:45:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:45:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:45:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:45:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:45:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:45:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:45:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:45:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:45:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:45:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:45:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:45:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:45:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:45:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:45:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:45:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:45:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:45:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:45:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:45:27 UTC] 📊 Database Info:
[22-Nov-2025 18:45:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:45:27 UTC]    Books columns count: 44
[22-Nov-2025 18:45:27 UTC]    Categories columns count: 7
[22-Nov-2025 18:45:27 UTC]    Language field in books: YES
[22-Nov-2025 18:45:27 UTC]    Format field in books: YES
[22-Nov-2025 18:45:27 UTC]    Description field in categories: YES
[22-Nov-2025 18:45:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:45:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:45:27 UTC]    Is_active field in books: YES
[22-Nov-2025 18:45:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:45:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:45:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:45:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:45:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:45:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:45:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:45:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:45:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:45:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:45:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:45:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:45:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:45:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:45:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:45:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:45:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:45:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:45:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:45:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:45:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:45:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:45:43 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:45:43 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:45:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:45:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:45:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:45:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:45:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:45:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:45:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:45:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:45:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:45:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:45:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:45:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:45:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:45:43 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:45:43 UTC] 📊 Database Info:
[22-Nov-2025 18:45:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:45:43 UTC]    Books columns count: 44
[22-Nov-2025 18:45:43 UTC]    Categories columns count: 7
[22-Nov-2025 18:45:43 UTC]    Language field in books: YES
[22-Nov-2025 18:45:43 UTC]    Format field in books: YES
[22-Nov-2025 18:45:43 UTC]    Description field in categories: YES
[22-Nov-2025 18:45:43 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:45:43 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:45:43 UTC]    Is_active field in books: YES
[22-Nov-2025 18:45:43 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:45:43 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:45:43 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:45:43 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:45:43 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:45:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:45:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:45:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:45:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:45:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:45:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:45:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:45:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:45:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:45:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:45:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:45:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:45:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:46:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:46:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:46:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:46:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:46:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:46:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:46:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:46:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:46:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:46:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:46:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:46:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:46:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:46:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:46:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:46:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:46:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:46:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:46:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:46:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:46:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:46:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:46:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:46:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:46:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:46:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:46:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:46:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:46:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:46:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:46:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:46:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:46:23 UTC] 📊 Database Info:
[22-Nov-2025 18:46:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:46:23 UTC]    Books columns count: 44
[22-Nov-2025 18:46:23 UTC]    Categories columns count: 7
[22-Nov-2025 18:46:23 UTC]    Language field in books: YES
[22-Nov-2025 18:46:23 UTC]    Format field in books: YES
[22-Nov-2025 18:46:23 UTC]    Description field in categories: YES
[22-Nov-2025 18:46:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:46:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:46:23 UTC]    Is_active field in books: YES
[22-Nov-2025 18:46:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:46:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:46:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:46:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:46:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:46:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:46:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:46:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:46:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:46:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:46:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:46:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:46:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:46:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:46:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:46:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:46:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:46:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:46:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:46:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:46:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:46:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:46:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:46:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:46:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:46:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:46:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:46:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:46:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:46:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:46:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:46:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:46:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:46:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:46:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:46:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:46:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:46:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:46:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:46:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:46:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:46:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:46:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:46:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:46:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:46:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:46:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:46:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:46:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:46:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:46:24 UTC] 📊 Database Info:
[22-Nov-2025 18:46:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:46:24 UTC]    Books columns count: 44
[22-Nov-2025 18:46:24 UTC]    Categories columns count: 7
[22-Nov-2025 18:46:24 UTC]    Language field in books: YES
[22-Nov-2025 18:46:24 UTC]    Format field in books: YES
[22-Nov-2025 18:46:24 UTC]    Description field in categories: YES
[22-Nov-2025 18:46:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:46:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:46:24 UTC]    Is_active field in books: YES
[22-Nov-2025 18:46:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:46:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:46:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:46:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:46:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:46:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:46:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:46:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:46:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:46:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:46:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:46:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:46:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:46:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:46:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:46:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:46:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:46:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:46:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:46:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:46:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:46:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:46:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:46:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:46:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:46:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:46:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:46:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:46:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:46:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:46:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:46:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:46:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:46:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:46:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:46:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:46:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:46:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:46:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:46:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:46:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:46:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:46:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:46:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:46:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:46:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:46:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:46:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:46:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:46:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:46:44 UTC] 📊 Database Info:
[22-Nov-2025 18:46:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:46:44 UTC]    Books columns count: 44
[22-Nov-2025 18:46:44 UTC]    Categories columns count: 7
[22-Nov-2025 18:46:44 UTC]    Language field in books: YES
[22-Nov-2025 18:46:44 UTC]    Format field in books: YES
[22-Nov-2025 18:46:44 UTC]    Description field in categories: YES
[22-Nov-2025 18:46:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:46:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:46:44 UTC]    Is_active field in books: YES
[22-Nov-2025 18:46:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:46:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:46:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:46:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:46:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:46:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:47:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:47:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:47:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:47:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:47:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:47:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:47:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:47:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:47:43 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:47:43 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:47:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:47:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:47:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:47:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:47:43 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:47:43 UTC] 📊 Database Info:
[22-Nov-2025 18:47:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:47:43 UTC]    Books columns count: 44
[22-Nov-2025 18:47:43 UTC]    Categories columns count: 7
[22-Nov-2025 18:47:43 UTC]    Language field in books: YES
[22-Nov-2025 18:47:43 UTC]    Format field in books: YES
[22-Nov-2025 18:47:43 UTC]    Description field in categories: YES
[22-Nov-2025 18:47:43 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:47:43 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:47:43 UTC]    Is_active field in books: YES
[22-Nov-2025 18:47:43 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:47:43 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:47:43 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:47:43 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:47:43 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:47:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:47:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:47:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:47:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:47:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:47:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:47:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:47:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:47:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:47:43 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:47:43 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:47:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:47:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:47:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:47:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:47:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:47:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:47:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:47:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:47:43 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:47:43 UTC] 📊 Database Info:
[22-Nov-2025 18:47:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:47:43 UTC]    Books columns count: 44
[22-Nov-2025 18:47:43 UTC]    Categories columns count: 7
[22-Nov-2025 18:47:43 UTC]    Language field in books: YES
[22-Nov-2025 18:47:43 UTC]    Format field in books: YES
[22-Nov-2025 18:47:43 UTC]    Description field in categories: YES
[22-Nov-2025 18:47:43 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:47:43 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:47:43 UTC]    Is_active field in books: YES
[22-Nov-2025 18:47:43 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:47:43 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:47:43 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:47:43 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:47:43 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:47:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:47:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:48:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:48:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:48:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:48:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:48:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:48:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:48:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:48:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:48:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:48:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:48:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:48:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:48:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:48:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:48:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:48:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:48:05 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:48:05 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:48:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:48:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:48:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:48:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:48:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:48:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:48:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:48:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:48:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:48:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:48:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:48:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:48:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:48:05 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:48:05 UTC] 📊 Database Info:
[22-Nov-2025 18:48:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:48:05 UTC]    Books columns count: 44
[22-Nov-2025 18:48:05 UTC]    Categories columns count: 7
[22-Nov-2025 18:48:05 UTC]    Language field in books: YES
[22-Nov-2025 18:48:05 UTC]    Format field in books: YES
[22-Nov-2025 18:48:05 UTC]    Description field in categories: YES
[22-Nov-2025 18:48:05 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:48:05 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:48:05 UTC]    Is_active field in books: YES
[22-Nov-2025 18:48:05 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:48:05 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:48:05 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:48:05 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:48:05 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:48:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:48:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:48:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:48:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:48:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:48:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:48:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:48:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:48:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:48:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:48:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:48:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:48:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:49:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:49:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:49:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:49:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:49:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:49:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:49:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:49:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:49:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:49:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:49:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:49:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:49:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:49:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:49:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:49:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:49:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:49:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:49:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:49:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:49:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:49:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:49:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:49:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:49:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:49:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:49:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:49:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:49:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:49:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:49:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:49:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:49:15 UTC] 📊 Database Info:
[22-Nov-2025 18:49:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:49:15 UTC]    Books columns count: 44
[22-Nov-2025 18:49:15 UTC]    Categories columns count: 7
[22-Nov-2025 18:49:15 UTC]    Language field in books: YES
[22-Nov-2025 18:49:15 UTC]    Format field in books: YES
[22-Nov-2025 18:49:15 UTC]    Description field in categories: YES
[22-Nov-2025 18:49:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:49:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:49:15 UTC]    Is_active field in books: YES
[22-Nov-2025 18:49:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:49:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:49:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:49:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:49:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:49:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:49:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:49:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:49:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:49:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:49:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:49:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:49:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:49:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:49:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:49:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:49:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:49:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:49:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:49:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:49:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:49:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:49:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:49:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:49:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:49:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:49:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:49:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:49:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:49:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:49:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:49:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:49:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:49:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:49:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:49:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:49:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:49:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:49:33 UTC] 📊 Database Info:
[22-Nov-2025 18:49:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:49:33 UTC]    Books columns count: 44
[22-Nov-2025 18:49:33 UTC]    Categories columns count: 7
[22-Nov-2025 18:49:33 UTC]    Language field in books: YES
[22-Nov-2025 18:49:33 UTC]    Format field in books: YES
[22-Nov-2025 18:49:33 UTC]    Description field in categories: YES
[22-Nov-2025 18:49:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:49:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:49:33 UTC]    Is_active field in books: YES
[22-Nov-2025 18:49:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:49:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:49:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:49:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:49:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:49:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:49:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:49:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:49:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:49:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:49:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:49:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:49:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:49:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:49:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:49:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:49:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:49:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:49:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:49:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:49:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:49:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:49:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:49:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:49:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:49:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:49:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:49:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:49:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:49:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:49:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:49:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:49:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:49:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:49:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:49:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:49:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:49:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:49:50 UTC] 📊 Database Info:
[22-Nov-2025 18:49:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:49:50 UTC]    Books columns count: 44
[22-Nov-2025 18:49:50 UTC]    Categories columns count: 7
[22-Nov-2025 18:49:50 UTC]    Language field in books: YES
[22-Nov-2025 18:49:50 UTC]    Format field in books: YES
[22-Nov-2025 18:49:50 UTC]    Description field in categories: YES
[22-Nov-2025 18:49:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:49:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:49:50 UTC]    Is_active field in books: YES
[22-Nov-2025 18:49:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:49:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:49:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:49:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:49:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:49:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:49:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:49:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:49:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:49:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:49:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:49:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:49:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:49:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:49:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:49:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:49:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:49:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:49:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:49:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:49:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:49:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:49:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:49:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:49:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:49:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:49:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:49:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:49:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:49:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:49:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:49:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:49:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:49:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:49:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:49:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:49:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:49:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:49:51 UTC] 📊 Database Info:
[22-Nov-2025 18:49:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:49:51 UTC]    Books columns count: 44
[22-Nov-2025 18:49:51 UTC]    Categories columns count: 7
[22-Nov-2025 18:49:51 UTC]    Language field in books: YES
[22-Nov-2025 18:49:51 UTC]    Format field in books: YES
[22-Nov-2025 18:49:51 UTC]    Description field in categories: YES
[22-Nov-2025 18:49:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:49:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:49:51 UTC]    Is_active field in books: YES
[22-Nov-2025 18:49:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:49:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:49:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:49:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:49:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:49:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:49:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:49:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:49:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:49:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:49:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:49:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:49:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:49:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:49:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:49:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:49:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:49:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:49:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:49:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:49:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:49:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:49:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:49:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:49:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:49:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:49:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:49:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:49:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:49:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:49:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:49:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:49:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:49:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:49:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:49:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:49:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:49:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:49:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:49:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:49:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:49:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:49:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:49:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:49:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:49:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:49:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:49:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:49:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:49:59 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:49:59 UTC] 📊 Database Info:
[22-Nov-2025 18:49:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:49:59 UTC]    Books columns count: 44
[22-Nov-2025 18:49:59 UTC]    Categories columns count: 7
[22-Nov-2025 18:49:59 UTC]    Language field in books: YES
[22-Nov-2025 18:49:59 UTC]    Format field in books: YES
[22-Nov-2025 18:49:59 UTC]    Description field in categories: YES
[22-Nov-2025 18:49:59 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:49:59 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:49:59 UTC]    Is_active field in books: YES
[22-Nov-2025 18:49:59 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:49:59 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:49:59 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:49:59 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:49:59 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:49:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:49:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:49:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:49:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:49:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:49:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:49:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:49:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:49:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:49:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:49:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:49:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:49:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:50:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:50:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:50:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:50:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:50:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:50:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:50:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:50:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:50:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:50:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:50:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:50:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:50:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:50:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:50:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:50:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:50:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:50:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:50:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:50:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:50:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:50:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:50:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:50:40 UTC] 📊 Database Info:
[22-Nov-2025 18:50:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:50:40 UTC]    Books columns count: 44
[22-Nov-2025 18:50:40 UTC]    Categories columns count: 7
[22-Nov-2025 18:50:40 UTC]    Language field in books: YES
[22-Nov-2025 18:50:40 UTC]    Format field in books: YES
[22-Nov-2025 18:50:40 UTC]    Description field in categories: YES
[22-Nov-2025 18:50:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:50:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:50:40 UTC]    Is_active field in books: YES
[22-Nov-2025 18:50:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:50:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:50:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:50:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:50:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:50:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:50:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:50:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:50:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:50:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:50:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:50:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:50:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:50:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:50:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:50:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:50:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:50:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:50:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:50:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:50:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:50:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:50:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:50:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:50:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:50:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:50:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:50:40 UTC] 📊 Database Info:
[22-Nov-2025 18:50:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:50:40 UTC]    Books columns count: 44
[22-Nov-2025 18:50:40 UTC]    Categories columns count: 7
[22-Nov-2025 18:50:40 UTC]    Language field in books: YES
[22-Nov-2025 18:50:40 UTC]    Format field in books: YES
[22-Nov-2025 18:50:40 UTC]    Description field in categories: YES
[22-Nov-2025 18:50:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:50:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:50:40 UTC]    Is_active field in books: YES
[22-Nov-2025 18:50:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:50:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:50:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:50:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:50:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:50:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:50:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:51:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:51:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:51:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:51:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:51:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:51:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:51:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:51:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:51:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:51:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:51:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:51:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:51:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:51:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:51:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:51:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:51:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:51:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:51:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:51:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:51:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:51:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:51:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:51:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:51:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:51:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:51:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:51:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:51:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:51:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:51:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:51:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:51:09 UTC] 📊 Database Info:
[22-Nov-2025 18:51:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:51:09 UTC]    Books columns count: 44
[22-Nov-2025 18:51:09 UTC]    Categories columns count: 7
[22-Nov-2025 18:51:09 UTC]    Language field in books: YES
[22-Nov-2025 18:51:09 UTC]    Format field in books: YES
[22-Nov-2025 18:51:09 UTC]    Description field in categories: YES
[22-Nov-2025 18:51:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:51:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:51:09 UTC]    Is_active field in books: YES
[22-Nov-2025 18:51:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:51:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:51:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:51:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:51:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:51:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:51:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:51:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:51:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:51:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:51:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:51:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:51:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:51:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:51:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:51:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:51:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:51:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:52:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:52:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:52:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:52:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:52:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:52:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:52:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:52:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:52:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:52:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:52:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:52:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:52:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:52:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:52:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:52:42 UTC] 📊 Database Info:
[22-Nov-2025 18:52:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:52:42 UTC]    Books columns count: 44
[22-Nov-2025 18:52:42 UTC]    Categories columns count: 7
[22-Nov-2025 18:52:42 UTC]    Language field in books: YES
[22-Nov-2025 18:52:42 UTC]    Format field in books: YES
[22-Nov-2025 18:52:42 UTC]    Description field in categories: YES
[22-Nov-2025 18:52:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:52:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:52:42 UTC]    Is_active field in books: YES
[22-Nov-2025 18:52:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:52:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:52:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:52:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:52:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:52:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:52:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:52:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:52:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:52:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:52:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:52:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:52:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:52:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:52:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:52:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:52:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:52:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:52:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:52:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:52:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:52:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:52:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:52:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:52:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:52:42 UTC] 📊 Database Info:
[22-Nov-2025 18:52:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:52:42 UTC]    Books columns count: 44
[22-Nov-2025 18:52:42 UTC]    Categories columns count: 7
[22-Nov-2025 18:52:42 UTC]    Language field in books: YES
[22-Nov-2025 18:52:42 UTC]    Format field in books: YES
[22-Nov-2025 18:52:42 UTC]    Description field in categories: YES
[22-Nov-2025 18:52:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:52:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:52:42 UTC]    Is_active field in books: YES
[22-Nov-2025 18:52:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:52:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:52:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:52:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:52:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:52:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:52:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:53:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:53:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:53:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:53:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:53:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:53:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:53:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:53:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:53:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:53:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:53:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:53:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:53:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:53:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:53:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:53:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:53:01 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:53:01 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:53:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:53:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:53:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:53:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:53:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:53:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:53:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:53:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:53:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:53:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:53:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:53:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:53:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:53:01 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:53:01 UTC] 📊 Database Info:
[22-Nov-2025 18:53:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:53:01 UTC]    Books columns count: 44
[22-Nov-2025 18:53:01 UTC]    Categories columns count: 7
[22-Nov-2025 18:53:01 UTC]    Language field in books: YES
[22-Nov-2025 18:53:01 UTC]    Format field in books: YES
[22-Nov-2025 18:53:01 UTC]    Description field in categories: YES
[22-Nov-2025 18:53:01 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:53:01 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:53:01 UTC]    Is_active field in books: YES
[22-Nov-2025 18:53:01 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:53:01 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:53:01 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:53:01 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:53:01 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:53:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:53:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:53:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:53:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:53:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:53:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:53:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:53:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:53:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:53:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:53:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:53:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:53:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:53:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:53:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:53:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:53:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:53:58 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:53:58 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:53:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:53:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:53:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:53:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:53:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:53:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:53:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:53:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:53:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:53:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:53:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:53:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:53:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:53:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:53:58 UTC] 📊 Database Info:
[22-Nov-2025 18:53:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:53:58 UTC]    Books columns count: 44
[22-Nov-2025 18:53:58 UTC]    Categories columns count: 7
[22-Nov-2025 18:53:58 UTC]    Language field in books: YES
[22-Nov-2025 18:53:58 UTC]    Format field in books: YES
[22-Nov-2025 18:53:58 UTC]    Description field in categories: YES
[22-Nov-2025 18:53:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:53:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:53:58 UTC]    Is_active field in books: YES
[22-Nov-2025 18:53:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:53:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:53:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:53:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:53:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:53:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:53:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:53:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:53:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:53:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:53:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:53:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:53:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:53:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:53:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:53:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:53:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:53:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:53:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:53:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:53:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:53:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:53:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:53:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:53:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:53:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:53:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:53:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:53:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:53:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:53:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:53:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:53:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:53:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:53:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:53:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:53:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:53:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:53:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:53:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:53:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:53:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:53:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:53:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:53:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:53:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:53:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:53:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:53:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:53:59 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:53:59 UTC] 📊 Database Info:
[22-Nov-2025 18:53:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:53:59 UTC]    Books columns count: 44
[22-Nov-2025 18:53:59 UTC]    Categories columns count: 7
[22-Nov-2025 18:53:59 UTC]    Language field in books: YES
[22-Nov-2025 18:53:59 UTC]    Format field in books: YES
[22-Nov-2025 18:53:59 UTC]    Description field in categories: YES
[22-Nov-2025 18:53:59 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:53:59 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:53:59 UTC]    Is_active field in books: YES
[22-Nov-2025 18:53:59 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:53:59 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:53:59 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:53:59 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:53:59 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:53:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:53:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:53:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:53:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:53:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:53:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:53:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:53:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:53:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:53:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:53:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:53:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:53:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:54:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:54:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:54:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:54:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:54:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:54:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:54:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:54:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:54:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:54:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:54:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:54:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:54:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:54:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:54:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:54:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:54:18 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:54:18 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:54:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:54:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:54:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:54:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:54:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:54:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:54:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:54:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:54:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:54:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:54:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:54:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:54:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:54:18 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:54:18 UTC] 📊 Database Info:
[22-Nov-2025 18:54:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:54:18 UTC]    Books columns count: 44
[22-Nov-2025 18:54:18 UTC]    Categories columns count: 7
[22-Nov-2025 18:54:18 UTC]    Language field in books: YES
[22-Nov-2025 18:54:18 UTC]    Format field in books: YES
[22-Nov-2025 18:54:18 UTC]    Description field in categories: YES
[22-Nov-2025 18:54:18 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:54:18 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:54:18 UTC]    Is_active field in books: YES
[22-Nov-2025 18:54:18 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:54:18 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:54:18 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:54:18 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:54:18 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:54:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:54:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:54:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:54:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:54:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:54:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:54:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:54:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:54:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:54:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:54:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:54:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:54:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:54:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:54:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:54:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:54:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:54:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:54:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:54:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:54:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:54:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:54:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:54:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:54:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:54:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:54:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:54:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:54:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:54:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:54:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:54:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:54:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:54:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:54:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:54:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:54:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:54:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:54:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:54:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:54:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:54:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:54:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:54:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:54:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:54:30 UTC] 📊 Database Info:
[22-Nov-2025 18:54:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:54:30 UTC]    Books columns count: 44
[22-Nov-2025 18:54:30 UTC]    Categories columns count: 7
[22-Nov-2025 18:54:30 UTC]    Language field in books: YES
[22-Nov-2025 18:54:30 UTC]    Format field in books: YES
[22-Nov-2025 18:54:30 UTC]    Description field in categories: YES
[22-Nov-2025 18:54:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:54:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:54:30 UTC]    Is_active field in books: YES
[22-Nov-2025 18:54:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:54:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:54:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:54:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:54:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:54:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:55:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:55:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:55:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:55:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:55:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:55:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:55:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:55:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:55:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:55:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:55:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:55:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:55:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:55:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:55:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:55:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:55:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:55:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:55:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:55:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:55:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:55:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:55:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:55:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:55:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:55:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:55:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:55:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:55:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:55:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:55:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:55:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:55:51 UTC] 📊 Database Info:
[22-Nov-2025 18:55:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:55:51 UTC]    Books columns count: 44
[22-Nov-2025 18:55:51 UTC]    Categories columns count: 7
[22-Nov-2025 18:55:51 UTC]    Language field in books: YES
[22-Nov-2025 18:55:51 UTC]    Format field in books: YES
[22-Nov-2025 18:55:51 UTC]    Description field in categories: YES
[22-Nov-2025 18:55:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:55:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:55:51 UTC]    Is_active field in books: YES
[22-Nov-2025 18:55:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:55:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:55:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:55:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:55:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:55:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:55:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:55:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:55:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:55:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:55:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:55:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:55:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:55:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:55:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:55:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:55:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:55:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:55:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:55:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:55:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:55:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:55:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:55:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:55:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:55:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:55:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:55:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:55:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:55:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:55:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:55:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:55:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:55:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:55:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:55:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:55:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:55:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:55:51 UTC] 📊 Database Info:
[22-Nov-2025 18:55:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:55:51 UTC]    Books columns count: 44
[22-Nov-2025 18:55:51 UTC]    Categories columns count: 7
[22-Nov-2025 18:55:51 UTC]    Language field in books: YES
[22-Nov-2025 18:55:51 UTC]    Format field in books: YES
[22-Nov-2025 18:55:51 UTC]    Description field in categories: YES
[22-Nov-2025 18:55:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:55:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:55:51 UTC]    Is_active field in books: YES
[22-Nov-2025 18:55:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:55:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:55:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:55:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:55:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:55:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:55:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:55:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:55:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:55:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:55:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:55:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:55:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:55:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:55:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:55:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:55:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:55:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:55:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:55:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:55:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:55:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:55:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:55:58 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:55:58 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:55:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:55:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:55:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:55:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:55:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:55:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:55:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:55:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:55:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:55:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:55:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:55:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:55:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:55:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:55:58 UTC] 📊 Database Info:
[22-Nov-2025 18:55:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:55:58 UTC]    Books columns count: 44
[22-Nov-2025 18:55:58 UTC]    Categories columns count: 7
[22-Nov-2025 18:55:58 UTC]    Language field in books: YES
[22-Nov-2025 18:55:58 UTC]    Format field in books: YES
[22-Nov-2025 18:55:58 UTC]    Description field in categories: YES
[22-Nov-2025 18:55:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:55:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:55:58 UTC]    Is_active field in books: YES
[22-Nov-2025 18:55:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:55:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:55:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:55:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:55:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:55:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:55:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:55:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:55:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:55:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:55:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:55:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:55:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:55:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:55:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:55:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:55:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:55:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:57:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:57:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:57:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:57:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:57:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:57:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:57:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:57:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:57:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:57:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:57:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:57:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:57:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:57:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:57:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:57:19 UTC] 📊 Database Info:
[22-Nov-2025 18:57:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:57:19 UTC]    Books columns count: 44
[22-Nov-2025 18:57:19 UTC]    Categories columns count: 7
[22-Nov-2025 18:57:19 UTC]    Language field in books: YES
[22-Nov-2025 18:57:19 UTC]    Format field in books: YES
[22-Nov-2025 18:57:19 UTC]    Description field in categories: YES
[22-Nov-2025 18:57:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:57:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:57:19 UTC]    Is_active field in books: YES
[22-Nov-2025 18:57:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:57:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:57:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:57:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:57:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:57:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:57:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:57:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:57:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:57:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:57:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:57:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:57:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:57:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:57:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:57:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:57:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:57:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:57:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:57:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:57:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:57:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:57:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:57:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:57:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:57:19 UTC] 📊 Database Info:
[22-Nov-2025 18:57:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:57:19 UTC]    Books columns count: 44
[22-Nov-2025 18:57:19 UTC]    Categories columns count: 7
[22-Nov-2025 18:57:19 UTC]    Language field in books: YES
[22-Nov-2025 18:57:19 UTC]    Format field in books: YES
[22-Nov-2025 18:57:19 UTC]    Description field in categories: YES
[22-Nov-2025 18:57:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:57:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:57:19 UTC]    Is_active field in books: YES
[22-Nov-2025 18:57:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:57:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:57:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:57:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:57:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:57:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:57:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:57:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:57:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:57:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:57:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:57:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:57:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:57:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:57:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:57:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:57:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:57:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:57:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:57:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:57:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:57:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:57:23 UTC] 📊 Database Info:
[22-Nov-2025 18:57:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:57:23 UTC]    Books columns count: 44
[22-Nov-2025 18:57:23 UTC]    Categories columns count: 7
[22-Nov-2025 18:57:23 UTC]    Language field in books: YES
[22-Nov-2025 18:57:23 UTC]    Format field in books: YES
[22-Nov-2025 18:57:23 UTC]    Description field in categories: YES
[22-Nov-2025 18:57:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:57:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:57:23 UTC]    Is_active field in books: YES
[22-Nov-2025 18:57:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:57:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:57:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:57:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:57:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:57:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:57:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:57:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:57:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:57:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:57:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:57:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:57:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:57:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:57:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:57:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:57:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:57:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:57:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:57:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:57:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:57:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:57:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:57:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:57:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:57:23 UTC] 📊 Database Info:
[22-Nov-2025 18:57:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:57:23 UTC]    Books columns count: 44
[22-Nov-2025 18:57:23 UTC]    Categories columns count: 7
[22-Nov-2025 18:57:23 UTC]    Language field in books: YES
[22-Nov-2025 18:57:23 UTC]    Format field in books: YES
[22-Nov-2025 18:57:23 UTC]    Description field in categories: YES
[22-Nov-2025 18:57:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:57:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:57:23 UTC]    Is_active field in books: YES
[22-Nov-2025 18:57:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:57:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:57:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:57:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:57:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:57:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:57:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:57:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:57:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:57:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:57:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:57:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:57:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:57:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:57:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:57:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:57:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:57:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:57:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:57:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:57:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:57:49 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:57:49 UTC] 📊 Database Info:
[22-Nov-2025 18:57:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:57:49 UTC]    Books columns count: 44
[22-Nov-2025 18:57:49 UTC]    Categories columns count: 7
[22-Nov-2025 18:57:49 UTC]    Language field in books: YES
[22-Nov-2025 18:57:49 UTC]    Format field in books: YES
[22-Nov-2025 18:57:49 UTC]    Description field in categories: YES
[22-Nov-2025 18:57:49 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:57:49 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:57:49 UTC]    Is_active field in books: YES
[22-Nov-2025 18:57:49 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:57:49 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:57:49 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:57:49 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:57:49 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:57:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:57:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:57:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:57:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:57:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:57:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:57:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:57:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:57:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:57:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:57:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:57:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:57:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:57:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:57:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:57:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:57:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:57:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:57:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:57:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:57:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:57:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:57:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:57:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:57:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:57:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:57:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:57:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:57:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:57:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:57:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:57:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:57:50 UTC] 📊 Database Info:
[22-Nov-2025 18:57:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:57:50 UTC]    Books columns count: 44
[22-Nov-2025 18:57:50 UTC]    Categories columns count: 7
[22-Nov-2025 18:57:50 UTC]    Language field in books: YES
[22-Nov-2025 18:57:50 UTC]    Format field in books: YES
[22-Nov-2025 18:57:50 UTC]    Description field in categories: YES
[22-Nov-2025 18:57:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:57:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:57:50 UTC]    Is_active field in books: YES
[22-Nov-2025 18:57:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:57:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:57:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:57:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:57:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:57:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:57:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:58:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:58:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:58:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:58:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:58:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:58:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:58:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:58:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:58:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:58:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:58:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:58:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:58:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:58:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:58:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:58:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:58:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:58:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:58:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:58:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:58:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:58:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:58:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:58:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:58:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:58:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:58:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:58:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:58:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:58:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:58:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:58:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:58:19 UTC] 📊 Database Info:
[22-Nov-2025 18:58:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:58:19 UTC]    Books columns count: 44
[22-Nov-2025 18:58:19 UTC]    Categories columns count: 7
[22-Nov-2025 18:58:19 UTC]    Language field in books: YES
[22-Nov-2025 18:58:19 UTC]    Format field in books: YES
[22-Nov-2025 18:58:19 UTC]    Description field in categories: YES
[22-Nov-2025 18:58:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:58:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:58:19 UTC]    Is_active field in books: YES
[22-Nov-2025 18:58:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:58:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:58:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:58:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:58:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:58:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:58:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:58:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:58:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:58:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:58:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:58:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:58:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:58:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:58:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:58:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:58:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:58:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:58:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:58:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:58:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:58:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:58:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:58:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:58:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:58:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:58:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:58:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:58:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:58:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:58:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:58:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:58:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:58:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:58:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:58:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:58:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:58:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:58:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:58:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:58:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:58:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:58:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:58:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:58:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:58:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:58:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:58:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:58:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:58:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:58:25 UTC] 📊 Database Info:
[22-Nov-2025 18:58:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:58:25 UTC]    Books columns count: 44
[22-Nov-2025 18:58:25 UTC]    Categories columns count: 7
[22-Nov-2025 18:58:25 UTC]    Language field in books: YES
[22-Nov-2025 18:58:25 UTC]    Format field in books: YES
[22-Nov-2025 18:58:25 UTC]    Description field in categories: YES
[22-Nov-2025 18:58:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:58:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:58:25 UTC]    Is_active field in books: YES
[22-Nov-2025 18:58:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:58:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:58:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:58:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:58:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:58:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:58:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:58:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:58:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:58:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:58:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:58:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:58:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:58:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:58:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:58:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:58:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:58:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:58:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:58:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:58:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:58:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:58:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:58:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:58:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:58:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:58:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:58:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:58:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:58:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:58:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:58:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:58:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:58:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:58:32 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:58:32 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:58:32 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:58:32 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:58:32 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:58:32 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:58:32 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:58:32 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:58:32 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:58:32 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:58:32 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:58:32 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:58:32 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:58:32 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:58:32 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:58:32 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:58:32 UTC] 📊 Database Info:
[22-Nov-2025 18:58:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:58:32 UTC]    Books columns count: 44
[22-Nov-2025 18:58:32 UTC]    Categories columns count: 7
[22-Nov-2025 18:58:32 UTC]    Language field in books: YES
[22-Nov-2025 18:58:32 UTC]    Format field in books: YES
[22-Nov-2025 18:58:32 UTC]    Description field in categories: YES
[22-Nov-2025 18:58:32 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:58:32 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:58:32 UTC]    Is_active field in books: YES
[22-Nov-2025 18:58:32 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:58:32 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:58:32 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:58:32 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:58:32 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:58:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 18:59:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 18:59:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:59:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:59:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:59:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:59:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:59:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:59:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:59:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:59:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:59:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:59:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:59:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:59:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 18:59:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:59:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 18:59:53 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 18:59:53 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 18:59:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 18:59:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 18:59:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 18:59:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 18:59:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 18:59:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 18:59:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 18:59:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 18:59:53 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 18:59:53 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 18:59:53 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 18:59:53 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 18:59:53 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 18:59:53 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 18:59:53 UTC] 📊 Database Info:
[22-Nov-2025 18:59:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 18:59:53 UTC]    Books columns count: 44
[22-Nov-2025 18:59:53 UTC]    Categories columns count: 7
[22-Nov-2025 18:59:53 UTC]    Language field in books: YES
[22-Nov-2025 18:59:53 UTC]    Format field in books: YES
[22-Nov-2025 18:59:53 UTC]    Description field in categories: YES
[22-Nov-2025 18:59:53 UTC]    Display_order field in categories: YES
[22-Nov-2025 18:59:53 UTC]    Is_active field in categories: YES
[22-Nov-2025 18:59:53 UTC]    Is_active field in books: YES
[22-Nov-2025 18:59:53 UTC]    External_download_link field in books: YES
[22-Nov-2025 18:59:53 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 18:59:53 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 18:59:53 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 18:59:53 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 18:59:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 18:59:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 18:59:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 18:59:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 18:59:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 18:59:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 18:59:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 18:59:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 18:59:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 18:59:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 18:59:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 18:59:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 18:59:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:00:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:00:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:00:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:00:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:00:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:00:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:00:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:00:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:00:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:00:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:00:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:00:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:00:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:00:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:00:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:00:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:00:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:00:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:00:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:00:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:00:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:00:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:00:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:00:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:00:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:00:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:00:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:00:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:00:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:00:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:00:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:00:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:00:50 UTC] 📊 Database Info:
[22-Nov-2025 19:00:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:00:50 UTC]    Books columns count: 44
[22-Nov-2025 19:00:50 UTC]    Categories columns count: 7
[22-Nov-2025 19:00:50 UTC]    Language field in books: YES
[22-Nov-2025 19:00:50 UTC]    Format field in books: YES
[22-Nov-2025 19:00:50 UTC]    Description field in categories: YES
[22-Nov-2025 19:00:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:00:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:00:50 UTC]    Is_active field in books: YES
[22-Nov-2025 19:00:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:00:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:00:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:00:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:00:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:00:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:00:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:00:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:00:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:00:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:00:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:00:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:00:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:00:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:00:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:00:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:00:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:00:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:00:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:00:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:00:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:00:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:00:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:00:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:00:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:00:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:00:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:00:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:00:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:00:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:00:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:00:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:00:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:00:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:00:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:00:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:00:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:00:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:00:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:00:55 UTC] 📊 Database Info:
[22-Nov-2025 19:00:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:00:55 UTC]    Books columns count: 44
[22-Nov-2025 19:00:55 UTC]    Categories columns count: 7
[22-Nov-2025 19:00:55 UTC]    Language field in books: YES
[22-Nov-2025 19:00:55 UTC]    Format field in books: YES
[22-Nov-2025 19:00:55 UTC]    Description field in categories: YES
[22-Nov-2025 19:00:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:00:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:00:55 UTC]    Is_active field in books: YES
[22-Nov-2025 19:00:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:00:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:00:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:00:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:00:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:00:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:00:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:00:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:00:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:00:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:00:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:00:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:01:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:01:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:01:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:01:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:01:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:01:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:01:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:01:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:01:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:01:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:01:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:01:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:01:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:01:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:01:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:01:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:01:11 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:01:11 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:01:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:01:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:01:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:01:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:01:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:01:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:01:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:01:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:01:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:01:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:01:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:01:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:01:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:01:11 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:01:11 UTC] 📊 Database Info:
[22-Nov-2025 19:01:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:01:11 UTC]    Books columns count: 44
[22-Nov-2025 19:01:11 UTC]    Categories columns count: 7
[22-Nov-2025 19:01:11 UTC]    Language field in books: YES
[22-Nov-2025 19:01:11 UTC]    Format field in books: YES
[22-Nov-2025 19:01:11 UTC]    Description field in categories: YES
[22-Nov-2025 19:01:11 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:01:11 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:01:11 UTC]    Is_active field in books: YES
[22-Nov-2025 19:01:11 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:01:11 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:01:11 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:01:11 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:01:11 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:01:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:01:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:01:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:01:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:01:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:01:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:01:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:01:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:01:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:01:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:01:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:01:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:01:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:02:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:02:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:02:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:02:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:02:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:02:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:02:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:02:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:02:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:02:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:02:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:02:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:02:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:02:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:02:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:02:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:02:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:02:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:02:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:02:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:02:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:02:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:02:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:02:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:02:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:02:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:02:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:02:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:02:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:02:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:02:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:02:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:02:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:02:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:02:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:02:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:02:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:02:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:02:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:02:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:02:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:02:49 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:02:49 UTC] 📊 Database Info:
[22-Nov-2025 19:02:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:02:49 UTC]    Books columns count: 44
[22-Nov-2025 19:02:49 UTC]    Categories columns count: 7
[22-Nov-2025 19:02:49 UTC]    Language field in books: YES
[22-Nov-2025 19:02:49 UTC]    Format field in books: YES
[22-Nov-2025 19:02:49 UTC]    Description field in categories: YES
[22-Nov-2025 19:02:49 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:02:49 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:02:49 UTC]    Is_active field in books: YES
[22-Nov-2025 19:02:49 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:02:49 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:02:49 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:02:49 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:02:49 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:02:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:02:49 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 19:02:49 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 19:02:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:02:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:02:49 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:02:49 UTC] 📊 Database Info:
[22-Nov-2025 19:02:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:02:49 UTC]    Books columns count: 44
[22-Nov-2025 19:02:49 UTC]    Categories columns count: 7
[22-Nov-2025 19:02:49 UTC]    Language field in books: YES
[22-Nov-2025 19:02:49 UTC]    Format field in books: YES
[22-Nov-2025 19:02:49 UTC]    Description field in categories: YES
[22-Nov-2025 19:02:49 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:02:49 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:02:49 UTC]    Is_active field in books: YES
[22-Nov-2025 19:02:49 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:02:49 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:02:49 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:02:49 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:02:49 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:02:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:02:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:02:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:02:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:02:49 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:02:49 UTC] 📊 Database Info:
[22-Nov-2025 19:02:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:02:49 UTC]    Books columns count: 44
[22-Nov-2025 19:02:49 UTC]    Categories columns count: 7
[22-Nov-2025 19:02:49 UTC]    Language field in books: YES
[22-Nov-2025 19:02:49 UTC]    Format field in books: YES
[22-Nov-2025 19:02:49 UTC]    Description field in categories: YES
[22-Nov-2025 19:02:49 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:02:49 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:02:49 UTC]    Is_active field in books: YES
[22-Nov-2025 19:02:49 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:02:49 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:02:49 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:02:49 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:02:49 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:02:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:02:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:18:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:18:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:18:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:18:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:18:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:18:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:18:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:18:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:18:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:18:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:18:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:18:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:18:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:18:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:18:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:18:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:18:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:18:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:18:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:18:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:18:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:18:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:18:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:18:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:18:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:18:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:18:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:18:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:18:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:18:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:18:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:18:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:18:44 UTC] 📊 Database Info:
[22-Nov-2025 19:18:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:18:44 UTC]    Books columns count: 44
[22-Nov-2025 19:18:44 UTC]    Categories columns count: 7
[22-Nov-2025 19:18:44 UTC]    Language field in books: YES
[22-Nov-2025 19:18:44 UTC]    Format field in books: YES
[22-Nov-2025 19:18:44 UTC]    Description field in categories: YES
[22-Nov-2025 19:18:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:18:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:18:44 UTC]    Is_active field in books: YES
[22-Nov-2025 19:18:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:18:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:18:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:18:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:18:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:18:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:18:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:18:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:18:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:18:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:18:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:18:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:18:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:18:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:18:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:18:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:18:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:18:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:18:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:18:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:18:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:18:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:18:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:18:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:18:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:18:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:18:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:18:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:18:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:18:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:18:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:18:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:18:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:18:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:18:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:18:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:18:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:18:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:18:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:18:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:18:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:18:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:18:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:18:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:18:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:18:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:18:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:18:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:18:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:18:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:18:45 UTC] 📊 Database Info:
[22-Nov-2025 19:18:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:18:45 UTC]    Books columns count: 44
[22-Nov-2025 19:18:45 UTC]    Categories columns count: 7
[22-Nov-2025 19:18:45 UTC]    Language field in books: YES
[22-Nov-2025 19:18:45 UTC]    Format field in books: YES
[22-Nov-2025 19:18:45 UTC]    Description field in categories: YES
[22-Nov-2025 19:18:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:18:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:18:45 UTC]    Is_active field in books: YES
[22-Nov-2025 19:18:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:18:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:18:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:18:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:18:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:18:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:18:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:18:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:18:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:18:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:18:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:18:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:18:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:18:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:18:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:18:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:18:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:18:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:27:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:27:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:27:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:27:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:27:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:27:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:27:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:27:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:27:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:27:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:27:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:27:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:27:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:27:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:27:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:27:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:27:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:27:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:27:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:27:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:27:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:27:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:27:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:27:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:27:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:27:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:27:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:27:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:27:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:27:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:27:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:27:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:27:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:27:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:27:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:27:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:27:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:27:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:27:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:27:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:27:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:27:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:27:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:27:27 UTC] 📊 Database Info:
[22-Nov-2025 19:27:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:27:27 UTC]    Books columns count: 44
[22-Nov-2025 19:27:27 UTC]    Categories columns count: 7
[22-Nov-2025 19:27:27 UTC]    Language field in books: YES
[22-Nov-2025 19:27:27 UTC]    Format field in books: YES
[22-Nov-2025 19:27:27 UTC]    Description field in categories: YES
[22-Nov-2025 19:27:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:27:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:27:27 UTC]    Is_active field in books: YES
[22-Nov-2025 19:27:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:27:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:27:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:27:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:27:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:27:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:27:27 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 19:27:27 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 19:27:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:27:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:27:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:27:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:27:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:27:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:27:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:27:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:27:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:27:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:27:27 UTC] 📊 Database Info:
[22-Nov-2025 19:27:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:27:27 UTC]    Books columns count: 44
[22-Nov-2025 19:27:27 UTC]    Categories columns count: 7
[22-Nov-2025 19:27:27 UTC]    Language field in books: YES
[22-Nov-2025 19:27:27 UTC]    Format field in books: YES
[22-Nov-2025 19:27:27 UTC]    Description field in categories: YES
[22-Nov-2025 19:27:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:27:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:27:27 UTC]    Is_active field in books: YES
[22-Nov-2025 19:27:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:27:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:27:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:27:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:27:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:27:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:27:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 19:27:27 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 19:27:27 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 19:27:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:27:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:27:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:27:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:27:27 UTC] 📊 Database Info:
[22-Nov-2025 19:27:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:27:27 UTC]    Books columns count: 44
[22-Nov-2025 19:27:27 UTC]    Categories columns count: 7
[22-Nov-2025 19:27:27 UTC]    Language field in books: YES
[22-Nov-2025 19:27:27 UTC]    Format field in books: YES
[22-Nov-2025 19:27:27 UTC]    Description field in categories: YES
[22-Nov-2025 19:27:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:27:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:27:27 UTC]    Is_active field in books: YES
[22-Nov-2025 19:27:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:27:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:27:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:27:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:27:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:27:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:27:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:27:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:27:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:27:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:27:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:27:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:27:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:27:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:27:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:27:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:27:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:27:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:27:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:27:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:27:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:27:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:27:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:27:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:27:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:27:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:27:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:27:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:27:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:27:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:27:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:27:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:27:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:27:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:27:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:27:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:27:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:27:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:27:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:27:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:27:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:27:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:27:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:27:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:27:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:27:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:27:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:27:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:27:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:27:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:27:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:27:36 UTC] 📊 Database Info:
[22-Nov-2025 19:27:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:27:36 UTC]    Books columns count: 44
[22-Nov-2025 19:27:36 UTC]    Categories columns count: 7
[22-Nov-2025 19:27:36 UTC]    Language field in books: YES
[22-Nov-2025 19:27:36 UTC]    Format field in books: YES
[22-Nov-2025 19:27:36 UTC]    Description field in categories: YES
[22-Nov-2025 19:27:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:27:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:27:36 UTC]    Is_active field in books: YES
[22-Nov-2025 19:27:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:27:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:27:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:27:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:27:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:27:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:27:36 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 19:27:36 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 19:27:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:27:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:27:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:27:36 UTC] 📊 Database Info:
[22-Nov-2025 19:27:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:27:36 UTC]    Books columns count: 44
[22-Nov-2025 19:27:36 UTC]    Categories columns count: 7
[22-Nov-2025 19:27:36 UTC]    Language field in books: YES
[22-Nov-2025 19:27:36 UTC]    Format field in books: YES
[22-Nov-2025 19:27:36 UTC]    Description field in categories: YES
[22-Nov-2025 19:27:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:27:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:27:36 UTC]    Is_active field in books: YES
[22-Nov-2025 19:27:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:27:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:27:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:27:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:27:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:27:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:27:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:27:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:27:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:27:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:27:36 UTC] 📊 Database Info:
[22-Nov-2025 19:27:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:27:36 UTC]    Books columns count: 44
[22-Nov-2025 19:27:36 UTC]    Categories columns count: 7
[22-Nov-2025 19:27:36 UTC]    Language field in books: YES
[22-Nov-2025 19:27:36 UTC]    Format field in books: YES
[22-Nov-2025 19:27:36 UTC]    Description field in categories: YES
[22-Nov-2025 19:27:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:27:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:27:36 UTC]    Is_active field in books: YES
[22-Nov-2025 19:27:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:27:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:27:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:27:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:27:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:27:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:27:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 19:27:36 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 19:27:36 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 19:28:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:28:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:28:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:28:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:28:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:28:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:28:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:28:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:28:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:28:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:28:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:28:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:28:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:28:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:28:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:28:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:28:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:28:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:28:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:28:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:28:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:28:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:28:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:28:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:28:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:28:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:28:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:28:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:28:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:28:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:28:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:28:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:28:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:28:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:28:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:28:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:28:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:28:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:28:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:28:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:28:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:28:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:28:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:28:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:28:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:28:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:28:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:28:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:28:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:28:04 UTC] 📊 Database Info:
[22-Nov-2025 19:28:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:28:04 UTC]    Books columns count: 44
[22-Nov-2025 19:28:04 UTC]    Categories columns count: 7
[22-Nov-2025 19:28:04 UTC]    Language field in books: YES
[22-Nov-2025 19:28:04 UTC]    Format field in books: YES
[22-Nov-2025 19:28:04 UTC]    Description field in categories: YES
[22-Nov-2025 19:28:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:28:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:28:04 UTC]    Is_active field in books: YES
[22-Nov-2025 19:28:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:28:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:28:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:28:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:28:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:28:04 UTC] 📊 Database Info:
[22-Nov-2025 19:28:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:28:04 UTC]    Books columns count: 44
[22-Nov-2025 19:28:04 UTC]    Categories columns count: 7
[22-Nov-2025 19:28:04 UTC]    Language field in books: YES
[22-Nov-2025 19:28:04 UTC]    Format field in books: YES
[22-Nov-2025 19:28:04 UTC]    Description field in categories: YES
[22-Nov-2025 19:28:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:28:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:28:04 UTC]    Is_active field in books: YES
[22-Nov-2025 19:28:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:28:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:28:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:28:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:28:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:28:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:28:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:28:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:28:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:28:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:28:04 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 19:28:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:28:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:28:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:28:04 UTC] 📊 Database Info:
[22-Nov-2025 19:28:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:28:04 UTC]    Books columns count: 44
[22-Nov-2025 19:28:04 UTC]    Categories columns count: 7
[22-Nov-2025 19:28:04 UTC]    Language field in books: YES
[22-Nov-2025 19:28:04 UTC]    Format field in books: YES
[22-Nov-2025 19:28:04 UTC]    Description field in categories: YES
[22-Nov-2025 19:28:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:28:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:28:04 UTC]    Is_active field in books: YES
[22-Nov-2025 19:28:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:28:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:28:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:28:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:28:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:28:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:28:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:28:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 19:28:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 19:28:04 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 19:28:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:28:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:28:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:28:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:28:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:28:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:28:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:28:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:28:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:28:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:28:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:28:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:28:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:28:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:28:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:28:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:28:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:28:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:28:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:28:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:28:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:28:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:28:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:28:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:28:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:28:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:28:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:28:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:28:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:28:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:28:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:28:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:28:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:28:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:28:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:28:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:28:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:28:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:28:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:28:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:28:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:28:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:28:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:28:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:28:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:28:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:28:31 UTC] 📊 Database Info:
[22-Nov-2025 19:28:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:28:31 UTC]    Books columns count: 44
[22-Nov-2025 19:28:31 UTC]    Categories columns count: 7
[22-Nov-2025 19:28:31 UTC]    Language field in books: YES
[22-Nov-2025 19:28:31 UTC]    Format field in books: YES
[22-Nov-2025 19:28:31 UTC]    Description field in categories: YES
[22-Nov-2025 19:28:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:28:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:28:31 UTC]    Is_active field in books: YES
[22-Nov-2025 19:28:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:28:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:28:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:28:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:28:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:28:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:28:31 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 19:28:31 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 19:28:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:28:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:28:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:28:31 UTC] 📊 Database Info:
[22-Nov-2025 19:28:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:28:31 UTC]    Books columns count: 44
[22-Nov-2025 19:28:31 UTC]    Categories columns count: 7
[22-Nov-2025 19:28:31 UTC]    Language field in books: YES
[22-Nov-2025 19:28:31 UTC]    Format field in books: YES
[22-Nov-2025 19:28:31 UTC]    Description field in categories: YES
[22-Nov-2025 19:28:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:28:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:28:31 UTC]    Is_active field in books: YES
[22-Nov-2025 19:28:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:28:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:28:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:28:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:28:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:28:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:28:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 19:28:31 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 19:28:31 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 19:28:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:28:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:28:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:28:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:28:31 UTC] 📊 Database Info:
[22-Nov-2025 19:28:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:28:31 UTC]    Books columns count: 44
[22-Nov-2025 19:28:31 UTC]    Categories columns count: 7
[22-Nov-2025 19:28:31 UTC]    Language field in books: YES
[22-Nov-2025 19:28:31 UTC]    Format field in books: YES
[22-Nov-2025 19:28:31 UTC]    Description field in categories: YES
[22-Nov-2025 19:28:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:28:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:28:31 UTC]    Is_active field in books: YES
[22-Nov-2025 19:28:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:28:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:28:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:28:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:28:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:28:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:28:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:29:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:29:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:29:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:29:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:29:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:29:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:29:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:29:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:29:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:29:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:29:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:29:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:29:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:29:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:29:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:29:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:29:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:29:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:29:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:29:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:29:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:29:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:29:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:29:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:29:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:29:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:29:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:29:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:29:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:29:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:29:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:29:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:29:00 UTC] 📊 Database Info:
[22-Nov-2025 19:29:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:29:00 UTC]    Books columns count: 44
[22-Nov-2025 19:29:00 UTC]    Categories columns count: 7
[22-Nov-2025 19:29:00 UTC]    Language field in books: YES
[22-Nov-2025 19:29:00 UTC]    Format field in books: YES
[22-Nov-2025 19:29:00 UTC]    Description field in categories: YES
[22-Nov-2025 19:29:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:29:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:29:00 UTC]    Is_active field in books: YES
[22-Nov-2025 19:29:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:29:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:29:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:29:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:29:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:29:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:29:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:29:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:29:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:29:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:29:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:29:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:29:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:29:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:29:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:29:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:29:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:29:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:29:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:29:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:29:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:29:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:29:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:29:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:29:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:29:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:29:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:29:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:29:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:29:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:29:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:29:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:29:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:29:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:29:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:29:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:29:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:29:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:29:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:29:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:29:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:29:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:29:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:29:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:29:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:29:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:29:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:29:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:29:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:29:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:29:06 UTC] 📊 Database Info:
[22-Nov-2025 19:29:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:29:06 UTC]    Books columns count: 44
[22-Nov-2025 19:29:06 UTC]    Categories columns count: 7
[22-Nov-2025 19:29:06 UTC]    Language field in books: YES
[22-Nov-2025 19:29:06 UTC]    Format field in books: YES
[22-Nov-2025 19:29:06 UTC]    Description field in categories: YES
[22-Nov-2025 19:29:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:29:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:29:06 UTC]    Is_active field in books: YES
[22-Nov-2025 19:29:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:29:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:29:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:29:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:29:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:29:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:29:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:29:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:29:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:29:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:29:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:29:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:29:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:29:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:29:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:29:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:29:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:29:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:29:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:29:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:29:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:29:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:29:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:29:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:29:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:29:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:29:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:29:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:29:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:29:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:29:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:29:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:29:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:29:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:29:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:29:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:29:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:29:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:29:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:29:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:29:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:29:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:29:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:29:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:29:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:29:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:29:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:29:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:29:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:29:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:29:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:29:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:29:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:29:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:29:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:29:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:29:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:29:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:29:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:29:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:29:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:29:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:29:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:29:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:29:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:29:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:29:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:29:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:29:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:29:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:29:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:29:08 UTC] 📊 Database Info:
[22-Nov-2025 19:29:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:29:08 UTC]    Books columns count: 44
[22-Nov-2025 19:29:08 UTC]    Categories columns count: 7
[22-Nov-2025 19:29:08 UTC]    Language field in books: YES
[22-Nov-2025 19:29:08 UTC]    Format field in books: YES
[22-Nov-2025 19:29:08 UTC]    Description field in categories: YES
[22-Nov-2025 19:29:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:29:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:29:08 UTC]    Is_active field in books: YES
[22-Nov-2025 19:29:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:29:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:29:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:29:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:29:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:29:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:29:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:29:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:29:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:29:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:29:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:29:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:29:08 UTC] 📊 Database Info:
[22-Nov-2025 19:29:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:29:08 UTC]    Books columns count: 44
[22-Nov-2025 19:29:08 UTC]    Categories columns count: 7
[22-Nov-2025 19:29:08 UTC]    Language field in books: YES
[22-Nov-2025 19:29:08 UTC]    Format field in books: YES
[22-Nov-2025 19:29:08 UTC]    Description field in categories: YES
[22-Nov-2025 19:29:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:29:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:29:08 UTC]    Is_active field in books: YES
[22-Nov-2025 19:29:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:29:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:29:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:29:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:29:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:29:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:29:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:29:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:29:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:29:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:29:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:29:08 UTC] 📊 Database Info:
[22-Nov-2025 19:29:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:29:08 UTC]    Books columns count: 44
[22-Nov-2025 19:29:08 UTC]    Categories columns count: 7
[22-Nov-2025 19:29:08 UTC]    Language field in books: YES
[22-Nov-2025 19:29:08 UTC]    Format field in books: YES
[22-Nov-2025 19:29:08 UTC]    Description field in categories: YES
[22-Nov-2025 19:29:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:29:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:29:08 UTC]    Is_active field in books: YES
[22-Nov-2025 19:29:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:29:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:29:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:29:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:29:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:29:08 UTC] 📊 Database Info:
[22-Nov-2025 19:29:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:29:08 UTC]    Books columns count: 44
[22-Nov-2025 19:29:08 UTC]    Categories columns count: 7
[22-Nov-2025 19:29:08 UTC]    Language field in books: YES
[22-Nov-2025 19:29:08 UTC]    Format field in books: YES
[22-Nov-2025 19:29:08 UTC]    Description field in categories: YES
[22-Nov-2025 19:29:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:29:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:29:08 UTC]    Is_active field in books: YES
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:29:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:29:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:29:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:29:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:29:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:29:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:29:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:29:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:29:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:29:08 UTC] 📊 Database Info:
[22-Nov-2025 19:29:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:29:08 UTC]    Books columns count: 44
[22-Nov-2025 19:29:08 UTC]    Categories columns count: 7
[22-Nov-2025 19:29:08 UTC]    Language field in books: YES
[22-Nov-2025 19:29:08 UTC]    Format field in books: YES
[22-Nov-2025 19:29:08 UTC]    Description field in categories: YES
[22-Nov-2025 19:29:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:29:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:29:08 UTC]    Is_active field in books: YES
[22-Nov-2025 19:29:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:29:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:29:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:29:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:29:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:29:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:29:08 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 19:29:08 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 19:29:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:29:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:29:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:29:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:29:08 UTC] 📊 Database Info:
[22-Nov-2025 19:29:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:29:08 UTC]    Books columns count: 44
[22-Nov-2025 19:29:08 UTC]    Categories columns count: 7
[22-Nov-2025 19:29:08 UTC]    Language field in books: YES
[22-Nov-2025 19:29:08 UTC]    Format field in books: YES
[22-Nov-2025 19:29:08 UTC]    Description field in categories: YES
[22-Nov-2025 19:29:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:29:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:29:08 UTC]    Is_active field in books: YES
[22-Nov-2025 19:29:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:29:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:29:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:29:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:29:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:29:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:29:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:29:08 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 19:29:08 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 19:29:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:29:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:29:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:29:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:29:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:29:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:29:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:29:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:29:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:29:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:29:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:29:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:29:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:29:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:29:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:29:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:29:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:29:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:29:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:29:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:29:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:29:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:29:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:29:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:29:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:29:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:29:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:29:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:29:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:29:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:29:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:29:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:29:14 UTC] 📊 Database Info:
[22-Nov-2025 19:29:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:29:14 UTC]    Books columns count: 44
[22-Nov-2025 19:29:14 UTC]    Categories columns count: 7
[22-Nov-2025 19:29:14 UTC]    Language field in books: YES
[22-Nov-2025 19:29:14 UTC]    Format field in books: YES
[22-Nov-2025 19:29:14 UTC]    Description field in categories: YES
[22-Nov-2025 19:29:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:29:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:29:14 UTC]    Is_active field in books: YES
[22-Nov-2025 19:29:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:29:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:29:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:29:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:29:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:29:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:29:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:29:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:29:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:29:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:29:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:29:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:29:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:29:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:29:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:29:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:29:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:29:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:38:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:38:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:38:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:38:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:38:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:38:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:38:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:38:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:38:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:38:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:38:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:38:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:38:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:38:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:38:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:38:58 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:38:58 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:38:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:38:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:38:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:38:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:38:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:38:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:38:58 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:38:58 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:38:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:38:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:38:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:38:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:38:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:38:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:38:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:38:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:38:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:38:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:38:58 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:38:58 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:38:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:38:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:38:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:38:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:38:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:38:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:38:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:38:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:38:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:38:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:38:58 UTC] 📊 Database Info:
[22-Nov-2025 19:38:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:38:58 UTC]    Books columns count: 44
[22-Nov-2025 19:38:58 UTC]    Categories columns count: 7
[22-Nov-2025 19:38:58 UTC]    Language field in books: YES
[22-Nov-2025 19:38:58 UTC]    Format field in books: YES
[22-Nov-2025 19:38:58 UTC]    Description field in categories: YES
[22-Nov-2025 19:38:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:38:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:38:58 UTC]    Is_active field in books: YES
[22-Nov-2025 19:38:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:38:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:38:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:38:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:38:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:38:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:38:58 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 19:38:58 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 19:38:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:38:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:38:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:38:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:38:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:38:58 UTC] 📊 Database Info:
[22-Nov-2025 19:38:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:38:58 UTC]    Books columns count: 44
[22-Nov-2025 19:38:58 UTC]    Categories columns count: 7
[22-Nov-2025 19:38:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:38:58 UTC]    Language field in books: YES
[22-Nov-2025 19:38:58 UTC]    Format field in books: YES
[22-Nov-2025 19:38:58 UTC] 📊 Database Info:
[22-Nov-2025 19:38:58 UTC]    Description field in categories: YES
[22-Nov-2025 19:38:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:38:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:38:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:38:58 UTC]    Is_active field in books: YES
[22-Nov-2025 19:38:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:38:58 UTC]    Books columns count: 44
[22-Nov-2025 19:38:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:38:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:38:58 UTC]    Categories columns count: 7
[22-Nov-2025 19:38:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:38:58 UTC]    Language field in books: YES
[22-Nov-2025 19:38:58 UTC]    Format field in books: YES
[22-Nov-2025 19:38:58 UTC]    Description field in categories: YES
[22-Nov-2025 19:38:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:38:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:38:58 UTC]    Is_active field in books: YES
[22-Nov-2025 19:38:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:38:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:38:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:38:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:38:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:38:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:38:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 19:38:58 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:38:58 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:38:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:38:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:39:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:39:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:39:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:39:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:39:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:39:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:39:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:39:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:39:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:39:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:39:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:39:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:39:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:39:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:39:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:39:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:39:18 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:39:18 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:39:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:39:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:39:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:39:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:39:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:39:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:39:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:39:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:39:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:39:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:39:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:39:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:39:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:39:18 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:39:18 UTC] 📊 Database Info:
[22-Nov-2025 19:39:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:39:18 UTC]    Books columns count: 44
[22-Nov-2025 19:39:18 UTC]    Categories columns count: 7
[22-Nov-2025 19:39:18 UTC]    Language field in books: YES
[22-Nov-2025 19:39:18 UTC]    Format field in books: YES
[22-Nov-2025 19:39:18 UTC]    Description field in categories: YES
[22-Nov-2025 19:39:18 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:39:18 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:39:18 UTC]    Is_active field in books: YES
[22-Nov-2025 19:39:18 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:39:18 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:39:18 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:39:18 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:39:18 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:39:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:39:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:39:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:39:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:39:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:39:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:39:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:39:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:39:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:39:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:39:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:39:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:39:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:39:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:39:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:39:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:39:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:39:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:39:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:39:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:39:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:39:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:39:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:39:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:39:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:39:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:39:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:39:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:39:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:39:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:39:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:39:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:39:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:39:24 UTC] 📊 Database Info:
[22-Nov-2025 19:39:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:39:24 UTC]    Books columns count: 44
[22-Nov-2025 19:39:24 UTC]    Categories columns count: 7
[22-Nov-2025 19:39:24 UTC]    Language field in books: YES
[22-Nov-2025 19:39:24 UTC]    Format field in books: YES
[22-Nov-2025 19:39:24 UTC]    Description field in categories: YES
[22-Nov-2025 19:39:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:39:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:39:24 UTC]    Is_active field in books: YES
[22-Nov-2025 19:39:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:39:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:39:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:39:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:39:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:39:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:39:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:39:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:39:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:39:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:39:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:39:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:39:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:39:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:39:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:39:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:39:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:39:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:40:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:40:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:40:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:40:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:40:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:40:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:40:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:40:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:40:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:40:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:40:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:40:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:40:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:40:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:40:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:40:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:40:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:40:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:40:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:40:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:40:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:40:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:40:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:40:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:40:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:40:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:40:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:40:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:40:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:40:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:40:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:40:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:40:47 UTC] 📊 Database Info:
[22-Nov-2025 19:40:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:40:47 UTC]    Books columns count: 44
[22-Nov-2025 19:40:47 UTC]    Categories columns count: 7
[22-Nov-2025 19:40:47 UTC]    Language field in books: YES
[22-Nov-2025 19:40:47 UTC]    Format field in books: YES
[22-Nov-2025 19:40:47 UTC]    Description field in categories: YES
[22-Nov-2025 19:40:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:40:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:40:47 UTC]    Is_active field in books: YES
[22-Nov-2025 19:40:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:40:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:40:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:40:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:40:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:40:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:40:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:40:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:40:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:40:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:40:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:40:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:40:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:40:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:40:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:40:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:40:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:40:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:40:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:40:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:40:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:40:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:40:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:40:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:40:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:40:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:40:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:40:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:40:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:40:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:40:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:40:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:40:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:40:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:40:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:40:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:40:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:40:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:40:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:40:52 UTC] 📊 Database Info:
[22-Nov-2025 19:40:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:40:52 UTC]    Books columns count: 44
[22-Nov-2025 19:40:52 UTC]    Categories columns count: 7
[22-Nov-2025 19:40:52 UTC]    Language field in books: YES
[22-Nov-2025 19:40:52 UTC]    Format field in books: YES
[22-Nov-2025 19:40:52 UTC]    Description field in categories: YES
[22-Nov-2025 19:40:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:40:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:40:52 UTC]    Is_active field in books: YES
[22-Nov-2025 19:40:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:40:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:40:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:40:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:40:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:40:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:40:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:41:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:41:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:41:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:41:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:41:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:41:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:41:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:41:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:41:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:41:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:41:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:41:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:41:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:41:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:41:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:41:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:41:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:41:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:41:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:41:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:41:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:41:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:41:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:41:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:41:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:41:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:41:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:41:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:41:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:41:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:41:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:41:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:41:33 UTC] 📊 Database Info:
[22-Nov-2025 19:41:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:41:33 UTC]    Books columns count: 44
[22-Nov-2025 19:41:33 UTC]    Categories columns count: 7
[22-Nov-2025 19:41:33 UTC]    Language field in books: YES
[22-Nov-2025 19:41:33 UTC]    Format field in books: YES
[22-Nov-2025 19:41:33 UTC]    Description field in categories: YES
[22-Nov-2025 19:41:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:41:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:41:33 UTC]    Is_active field in books: YES
[22-Nov-2025 19:41:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:41:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:41:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:41:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:41:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:41:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:41:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:41:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:41:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:41:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:41:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:41:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:41:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:41:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:41:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:41:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:41:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:41:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:41:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:41:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:41:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:41:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:41:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:41:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:41:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:41:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:41:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:41:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:41:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:41:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:41:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:41:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:41:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:41:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:41:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:41:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:41:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:41:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:41:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:41:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:41:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:41:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:41:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:41:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:41:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:41:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:41:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:41:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:41:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:41:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:41:39 UTC] 📊 Database Info:
[22-Nov-2025 19:41:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:41:39 UTC]    Books columns count: 44
[22-Nov-2025 19:41:39 UTC]    Categories columns count: 7
[22-Nov-2025 19:41:39 UTC]    Language field in books: YES
[22-Nov-2025 19:41:39 UTC]    Format field in books: YES
[22-Nov-2025 19:41:39 UTC]    Description field in categories: YES
[22-Nov-2025 19:41:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:41:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:41:39 UTC]    Is_active field in books: YES
[22-Nov-2025 19:41:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:41:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:41:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:41:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:41:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:41:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:41:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:41:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:41:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:41:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:41:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:41:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:41:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:41:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:41:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:41:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:41:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:41:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:42:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:42:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:42:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:42:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:42:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:42:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:42:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:42:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:42:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:42:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:42:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:42:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:42:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:42:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:42:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:42:40 UTC] 📊 Database Info:
[22-Nov-2025 19:42:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:42:40 UTC]    Books columns count: 44
[22-Nov-2025 19:42:40 UTC]    Categories columns count: 7
[22-Nov-2025 19:42:40 UTC]    Language field in books: YES
[22-Nov-2025 19:42:40 UTC]    Format field in books: YES
[22-Nov-2025 19:42:40 UTC]    Description field in categories: YES
[22-Nov-2025 19:42:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:42:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:42:40 UTC]    Is_active field in books: YES
[22-Nov-2025 19:42:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:42:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:42:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:42:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:42:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:42:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:42:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:42:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:42:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:42:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:42:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:42:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:42:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:42:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:42:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:42:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:42:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:42:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:42:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:42:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:42:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:42:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:42:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:42:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:42:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:42:40 UTC] 📊 Database Info:
[22-Nov-2025 19:42:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:42:40 UTC]    Books columns count: 44
[22-Nov-2025 19:42:40 UTC]    Categories columns count: 7
[22-Nov-2025 19:42:40 UTC]    Language field in books: YES
[22-Nov-2025 19:42:40 UTC]    Format field in books: YES
[22-Nov-2025 19:42:40 UTC]    Description field in categories: YES
[22-Nov-2025 19:42:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:42:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:42:40 UTC]    Is_active field in books: YES
[22-Nov-2025 19:42:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:42:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:42:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:42:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:42:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:42:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:42:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:43:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:43:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:43:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:43:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:43:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:43:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:43:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:43:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:43:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:43:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:43:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:43:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:43:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:43:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:43:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:43:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:43:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:43:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:43:11 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:43:11 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:43:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:43:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:43:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:43:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:43:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:43:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:43:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:43:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:43:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:43:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:43:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:43:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:43:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:43:11 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:43:11 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:43:11 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:43:11 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:43:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:43:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:43:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:43:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:43:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:43:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:43:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:43:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:43:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:43:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:43:11 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:43:11 UTC] 📊 Database Info:
[22-Nov-2025 19:43:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:43:11 UTC]    Books columns count: 44
[22-Nov-2025 19:43:11 UTC]    Categories columns count: 7
[22-Nov-2025 19:43:11 UTC]    Language field in books: YES
[22-Nov-2025 19:43:11 UTC]    Format field in books: YES
[22-Nov-2025 19:43:11 UTC]    Description field in categories: YES
[22-Nov-2025 19:43:11 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:43:11 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:43:11 UTC]    Is_active field in books: YES
[22-Nov-2025 19:43:11 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:43:11 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:43:11 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:43:11 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:43:11 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:43:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:43:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:43:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:43:11 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:43:11 UTC] 📊 Database Info:
[22-Nov-2025 19:43:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:43:11 UTC]    Books columns count: 44
[22-Nov-2025 19:43:11 UTC]    Categories columns count: 7
[22-Nov-2025 19:43:11 UTC]    Language field in books: YES
[22-Nov-2025 19:43:11 UTC]    Format field in books: YES
[22-Nov-2025 19:43:11 UTC]    Description field in categories: YES
[22-Nov-2025 19:43:11 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:43:11 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:43:11 UTC]    Is_active field in books: YES
[22-Nov-2025 19:43:11 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:43:11 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:43:11 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:43:11 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:43:11 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:43:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:43:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:43:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:43:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:43:11 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:43:11 UTC] 📊 Database Info:
[22-Nov-2025 19:43:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:43:11 UTC]    Books columns count: 44
[22-Nov-2025 19:43:11 UTC]    Categories columns count: 7
[22-Nov-2025 19:43:11 UTC]    Language field in books: YES
[22-Nov-2025 19:43:11 UTC]    Format field in books: YES
[22-Nov-2025 19:43:11 UTC]    Description field in categories: YES
[22-Nov-2025 19:43:11 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:43:11 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:43:11 UTC]    Is_active field in books: YES
[22-Nov-2025 19:43:11 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:43:11 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:43:11 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:43:11 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:43:11 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:43:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:43:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:43:11 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 19:43:11 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 19:43:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:43:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:43:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:43:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:43:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:43:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:43:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:43:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:43:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:43:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:43:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:43:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:43:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:43:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:43:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:43:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:43:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:43:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:43:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:43:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:43:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:43:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:43:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:43:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:43:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:43:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:43:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:43:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:43:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:43:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:43:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:43:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:43:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:43:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:43:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:43:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:43:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:43:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:43:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:43:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:43:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:43:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:43:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:43:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:43:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:43:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:43:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:43:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:43:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:43:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:43:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:43:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:43:14 UTC] 📊 Database Info:
[22-Nov-2025 19:43:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:43:14 UTC]    Books columns count: 44
[22-Nov-2025 19:43:14 UTC]    Categories columns count: 7
[22-Nov-2025 19:43:14 UTC]    Language field in books: YES
[22-Nov-2025 19:43:14 UTC]    Format field in books: YES
[22-Nov-2025 19:43:14 UTC]    Description field in categories: YES
[22-Nov-2025 19:43:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:43:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:43:14 UTC]    Is_active field in books: YES
[22-Nov-2025 19:43:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:43:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:43:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:43:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:43:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:43:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:43:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:43:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:43:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:43:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:43:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:43:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:43:14 UTC] 📊 Database Info:
[22-Nov-2025 19:43:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:43:14 UTC]    Books columns count: 44
[22-Nov-2025 19:43:14 UTC]    Categories columns count: 7
[22-Nov-2025 19:43:14 UTC]    Language field in books: YES
[22-Nov-2025 19:43:14 UTC]    Format field in books: YES
[22-Nov-2025 19:43:14 UTC]    Description field in categories: YES
[22-Nov-2025 19:43:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:43:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:43:14 UTC]    Is_active field in books: YES
[22-Nov-2025 19:43:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:43:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:43:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:43:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:43:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:43:14 UTC] 📊 Database Info:
[22-Nov-2025 19:43:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:43:14 UTC]    Books columns count: 44
[22-Nov-2025 19:43:14 UTC]    Categories columns count: 7
[22-Nov-2025 19:43:14 UTC]    Language field in books: YES
[22-Nov-2025 19:43:14 UTC]    Format field in books: YES
[22-Nov-2025 19:43:14 UTC]    Description field in categories: YES
[22-Nov-2025 19:43:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:43:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:43:14 UTC]    Is_active field in books: YES
[22-Nov-2025 19:43:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:43:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:43:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:43:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:43:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:43:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:43:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:43:14 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 19:43:14 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 19:43:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:43:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:43:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:43:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:43:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:43:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:43:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:43:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:43:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:43:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:43:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:43:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:43:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:43:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:43:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:43:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:43:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:43:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:43:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:43:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:43:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:43:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:43:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:43:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:43:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:43:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:43:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:43:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:43:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:43:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:43:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:43:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:43:16 UTC] 📊 Database Info:
[22-Nov-2025 19:43:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:43:16 UTC]    Books columns count: 44
[22-Nov-2025 19:43:16 UTC]    Categories columns count: 7
[22-Nov-2025 19:43:16 UTC]    Language field in books: YES
[22-Nov-2025 19:43:16 UTC]    Format field in books: YES
[22-Nov-2025 19:43:16 UTC]    Description field in categories: YES
[22-Nov-2025 19:43:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:43:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:43:16 UTC]    Is_active field in books: YES
[22-Nov-2025 19:43:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:43:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:43:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:43:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:43:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:43:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:43:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:44:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:44:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:44:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:44:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:44:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:44:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:44:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:44:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:44:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:44:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:44:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:44:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:44:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:44:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:44:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:44:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:44:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:44:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:44:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:44:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:44:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:44:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:44:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:44:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:44:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:44:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:44:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:44:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:44:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:44:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:44:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:44:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:44:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:44:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:44:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:44:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:44:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:44:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:44:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:44:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:44:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:44:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:44:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:44:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:44:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:44:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:44:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:44:00 UTC] 📊 Database Info:
[22-Nov-2025 19:44:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:44:00 UTC]    Books columns count: 44
[22-Nov-2025 19:44:00 UTC]    Categories columns count: 7
[22-Nov-2025 19:44:00 UTC]    Language field in books: YES
[22-Nov-2025 19:44:00 UTC]    Format field in books: YES
[22-Nov-2025 19:44:00 UTC]    Description field in categories: YES
[22-Nov-2025 19:44:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:44:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:44:00 UTC]    Is_active field in books: YES
[22-Nov-2025 19:44:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:44:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:44:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:44:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:44:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:44:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:44:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:44:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:44:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:44:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:44:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:44:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:44:00 UTC] 📊 Database Info:
[22-Nov-2025 19:44:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:44:00 UTC]    Books columns count: 44
[22-Nov-2025 19:44:00 UTC]    Categories columns count: 7
[22-Nov-2025 19:44:00 UTC]    Language field in books: YES
[22-Nov-2025 19:44:00 UTC]    Format field in books: YES
[22-Nov-2025 19:44:00 UTC]    Description field in categories: YES
[22-Nov-2025 19:44:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:44:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:44:00 UTC]    Is_active field in books: YES
[22-Nov-2025 19:44:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:44:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:44:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:44:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:44:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:44:00 UTC] 📊 Database Info:
[22-Nov-2025 19:44:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:44:00 UTC]    Books columns count: 44
[22-Nov-2025 19:44:00 UTC]    Categories columns count: 7
[22-Nov-2025 19:44:00 UTC]    Language field in books: YES
[22-Nov-2025 19:44:00 UTC]    Format field in books: YES
[22-Nov-2025 19:44:00 UTC]    Description field in categories: YES
[22-Nov-2025 19:44:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:44:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:44:00 UTC]    Is_active field in books: YES
[22-Nov-2025 19:44:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:44:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:44:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:44:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:44:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:44:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:44:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:44:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 19:44:00 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:44:00 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:44:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:44:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:44:00 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 19:44:00 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 19:44:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:44:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:44:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:44:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:44:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:44:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:44:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:44:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:44:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:44:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:44:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:44:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:44:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:44:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:44:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:44:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:44:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:44:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:44:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:44:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:44:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:44:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:44:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:44:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:44:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:44:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:44:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:44:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:44:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:44:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:44:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:44:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:44:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:44:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:44:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:44:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:44:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:44:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:44:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:44:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:44:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:44:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:44:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:44:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:44:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:44:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:44:24 UTC] 📊 Database Info:
[22-Nov-2025 19:44:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:44:24 UTC]    Books columns count: 44
[22-Nov-2025 19:44:24 UTC]    Categories columns count: 7
[22-Nov-2025 19:44:24 UTC]    Language field in books: YES
[22-Nov-2025 19:44:24 UTC]    Format field in books: YES
[22-Nov-2025 19:44:24 UTC]    Description field in categories: YES
[22-Nov-2025 19:44:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:44:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:44:24 UTC]    Is_active field in books: YES
[22-Nov-2025 19:44:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:44:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:44:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:44:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:44:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:44:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:44:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:44:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:44:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:44:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:44:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:44:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:44:24 UTC] 📊 Database Info:
[22-Nov-2025 19:44:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:44:24 UTC]    Books columns count: 44
[22-Nov-2025 19:44:24 UTC]    Categories columns count: 7
[22-Nov-2025 19:44:24 UTC]    Language field in books: YES
[22-Nov-2025 19:44:24 UTC]    Format field in books: YES
[22-Nov-2025 19:44:24 UTC]    Description field in categories: YES
[22-Nov-2025 19:44:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:44:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:44:24 UTC]    Is_active field in books: YES
[22-Nov-2025 19:44:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:44:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:44:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:44:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:44:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:44:24 UTC] 📊 Database Info:
[22-Nov-2025 19:44:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:44:24 UTC]    Books columns count: 44
[22-Nov-2025 19:44:24 UTC]    Categories columns count: 7
[22-Nov-2025 19:44:24 UTC]    Language field in books: YES
[22-Nov-2025 19:44:24 UTC]    Format field in books: YES
[22-Nov-2025 19:44:24 UTC]    Description field in categories: YES
[22-Nov-2025 19:44:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:44:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:44:24 UTC]    Is_active field in books: YES
[22-Nov-2025 19:44:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:44:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:44:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:44:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:44:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:44:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:44:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:44:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:44:24 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 19:44:24 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 19:44:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:44:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:44:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:44:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:44:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:44:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:44:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:44:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:44:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:44:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:44:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:44:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:44:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:44:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:44:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:44:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:44:26 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:44:26 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:44:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:44:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:44:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:44:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:44:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:44:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:44:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:44:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:44:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:44:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:44:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:44:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:44:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:44:26 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:44:26 UTC] 📊 Database Info:
[22-Nov-2025 19:44:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:44:26 UTC]    Books columns count: 44
[22-Nov-2025 19:44:26 UTC]    Categories columns count: 7
[22-Nov-2025 19:44:26 UTC]    Language field in books: YES
[22-Nov-2025 19:44:26 UTC]    Format field in books: YES
[22-Nov-2025 19:44:26 UTC]    Description field in categories: YES
[22-Nov-2025 19:44:26 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:44:26 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:44:26 UTC]    Is_active field in books: YES
[22-Nov-2025 19:44:26 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:44:26 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:44:26 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:44:26 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:44:26 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:44:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:44:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:44:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:44:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:44:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:44:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:44:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:44:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:44:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:44:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:44:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:44:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:44:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:44:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:44:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:44:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:44:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:44:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:44:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:44:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:44:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:44:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:44:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:44:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:44:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:44:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:44:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:44:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:44:55 UTC] 📊 Database Info:
[22-Nov-2025 19:44:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:44:55 UTC]    Books columns count: 44
[22-Nov-2025 19:44:55 UTC]    Categories columns count: 7
[22-Nov-2025 19:44:55 UTC]    Language field in books: YES
[22-Nov-2025 19:44:55 UTC]    Format field in books: YES
[22-Nov-2025 19:44:55 UTC]    Description field in categories: YES
[22-Nov-2025 19:44:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:44:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:44:55 UTC]    Is_active field in books: YES
[22-Nov-2025 19:44:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:44:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:44:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:44:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:44:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:44:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:44:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:44:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:44:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:44:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:44:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:44:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:44:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:44:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:44:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:44:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:44:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:44:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:44:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:44:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:44:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:44:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:44:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:44:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:44:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:44:55 UTC] 📊 Database Info:
[22-Nov-2025 19:44:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:44:55 UTC]    Books columns count: 44
[22-Nov-2025 19:44:55 UTC]    Categories columns count: 7
[22-Nov-2025 19:44:55 UTC]    Language field in books: YES
[22-Nov-2025 19:44:55 UTC]    Format field in books: YES
[22-Nov-2025 19:44:55 UTC]    Description field in categories: YES
[22-Nov-2025 19:44:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:44:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:44:55 UTC]    Is_active field in books: YES
[22-Nov-2025 19:44:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:44:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:44:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:44:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:44:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:44:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:44:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:45:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:45:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:45:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:45:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:45:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:45:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:45:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:45:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:45:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:45:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:45:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:45:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:45:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:45:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:45:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:45:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:45:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:45:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:45:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:45:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:45:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:45:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:45:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:45:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:45:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:45:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:45:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:45:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:45:07 UTC] 📊 Database Info:
[22-Nov-2025 19:45:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:45:07 UTC]    Books columns count: 44
[22-Nov-2025 19:45:07 UTC]    Categories columns count: 7
[22-Nov-2025 19:45:07 UTC]    Language field in books: YES
[22-Nov-2025 19:45:07 UTC]    Format field in books: YES
[22-Nov-2025 19:45:07 UTC]    Description field in categories: YES
[22-Nov-2025 19:45:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:45:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:45:07 UTC]    Is_active field in books: YES
[22-Nov-2025 19:45:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:45:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:45:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:45:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:45:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:45:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:45:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:45:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:45:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:45:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:45:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:45:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:45:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:45:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:45:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:45:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:45:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:45:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:45:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:45:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:45:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:45:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:45:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:45:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:45:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:45:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:45:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:45:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:45:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:45:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:45:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:45:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:45:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:45:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:45:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:45:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:45:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:45:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:45:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:45:35 UTC] 📊 Database Info:
[22-Nov-2025 19:45:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:45:35 UTC]    Books columns count: 44
[22-Nov-2025 19:45:35 UTC]    Categories columns count: 7
[22-Nov-2025 19:45:35 UTC]    Language field in books: YES
[22-Nov-2025 19:45:35 UTC]    Format field in books: YES
[22-Nov-2025 19:45:35 UTC]    Description field in categories: YES
[22-Nov-2025 19:45:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:45:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:45:35 UTC]    Is_active field in books: YES
[22-Nov-2025 19:45:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:45:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:45:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:45:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:45:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:45:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:45:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:45:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:45:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:45:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:45:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:45:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:45:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:45:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:45:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:45:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:45:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:45:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:45:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:45:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:45:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:45:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:45:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:45:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:45:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:45:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:45:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:45:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:45:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:45:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:45:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:45:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:45:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:45:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:45:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:45:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:45:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:45:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:45:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:45:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:45:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:45:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:45:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:45:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:45:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:45:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:45:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:45:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:45:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:45:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:45:41 UTC] 📊 Database Info:
[22-Nov-2025 19:45:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:45:41 UTC]    Books columns count: 44
[22-Nov-2025 19:45:41 UTC]    Categories columns count: 7
[22-Nov-2025 19:45:41 UTC]    Language field in books: YES
[22-Nov-2025 19:45:41 UTC]    Format field in books: YES
[22-Nov-2025 19:45:41 UTC]    Description field in categories: YES
[22-Nov-2025 19:45:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:45:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:45:41 UTC]    Is_active field in books: YES
[22-Nov-2025 19:45:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:45:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:45:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:45:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:45:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:45:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:45:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:45:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:45:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:45:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:45:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:45:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:45:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:45:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:45:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:45:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:45:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:45:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:46:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:46:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:46:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:46:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:46:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:46:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:46:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:46:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:46:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:46:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:46:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:46:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:46:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:46:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:46:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:46:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:46:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:46:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:46:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:46:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:46:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:46:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:46:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:46:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:46:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:46:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:46:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:46:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:46:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:46:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:46:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:46:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:46:04 UTC] 📊 Database Info:
[22-Nov-2025 19:46:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:46:04 UTC]    Books columns count: 44
[22-Nov-2025 19:46:04 UTC]    Categories columns count: 7
[22-Nov-2025 19:46:04 UTC]    Language field in books: YES
[22-Nov-2025 19:46:04 UTC]    Format field in books: YES
[22-Nov-2025 19:46:04 UTC]    Description field in categories: YES
[22-Nov-2025 19:46:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:46:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:46:04 UTC]    Is_active field in books: YES
[22-Nov-2025 19:46:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:46:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:46:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:46:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:46:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:46:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:46:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:46:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:46:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:46:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:46:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:46:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:46:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:46:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:46:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:46:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:46:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:46:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:46:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:46:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:46:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:46:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:46:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:46:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:46:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:46:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:46:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:46:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:46:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:46:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:46:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:46:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:46:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:46:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:46:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:46:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:46:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:46:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:46:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:46:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:46:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:46:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:46:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:46:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:46:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:46:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:46:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:46:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:46:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:46:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:46:38 UTC] 📊 Database Info:
[22-Nov-2025 19:46:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:46:38 UTC]    Books columns count: 44
[22-Nov-2025 19:46:38 UTC]    Categories columns count: 7
[22-Nov-2025 19:46:38 UTC]    Language field in books: YES
[22-Nov-2025 19:46:38 UTC]    Format field in books: YES
[22-Nov-2025 19:46:38 UTC]    Description field in categories: YES
[22-Nov-2025 19:46:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:46:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:46:38 UTC]    Is_active field in books: YES
[22-Nov-2025 19:46:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:46:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:46:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:46:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:46:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:46:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:46:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:46:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:46:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:46:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:46:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:46:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:46:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:46:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:46:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:46:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:46:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:46:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:46:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:46:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:46:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:46:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:46:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:46:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:46:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:46:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:46:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:46:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:46:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:46:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:46:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:46:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:46:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:46:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:46:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:46:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:46:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:46:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:46:39 UTC] 📊 Database Info:
[22-Nov-2025 19:46:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:46:39 UTC]    Books columns count: 44
[22-Nov-2025 19:46:39 UTC]    Categories columns count: 7
[22-Nov-2025 19:46:39 UTC]    Language field in books: YES
[22-Nov-2025 19:46:39 UTC]    Format field in books: YES
[22-Nov-2025 19:46:39 UTC]    Description field in categories: YES
[22-Nov-2025 19:46:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:46:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:46:39 UTC]    Is_active field in books: YES
[22-Nov-2025 19:46:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:46:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:46:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:46:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:46:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:46:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:46:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:46:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:46:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:46:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:46:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:46:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:46:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:46:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:46:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:46:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:46:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:46:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:46:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:46:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:46:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:46:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:46:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:46:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:46:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:46:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:46:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:46:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:46:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:46:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:46:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:46:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:46:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:46:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:46:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:46:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:46:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:46:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:46:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:46:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:46:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:46:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:46:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:46:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:46:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:46:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:46:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:46:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:46:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:46:49 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:46:49 UTC] 📊 Database Info:
[22-Nov-2025 19:46:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:46:49 UTC]    Books columns count: 44
[22-Nov-2025 19:46:49 UTC]    Categories columns count: 7
[22-Nov-2025 19:46:49 UTC]    Language field in books: YES
[22-Nov-2025 19:46:49 UTC]    Format field in books: YES
[22-Nov-2025 19:46:49 UTC]    Description field in categories: YES
[22-Nov-2025 19:46:49 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:46:49 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:46:49 UTC]    Is_active field in books: YES
[22-Nov-2025 19:46:49 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:46:49 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:46:49 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:46:49 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:46:49 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:46:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:46:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:46:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:46:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:46:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:46:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:46:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:46:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:46:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:46:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:46:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:46:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:46:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:50:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:50:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:50:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:50:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:50:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:50:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:50:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:50:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:50:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:50:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:50:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:50:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:50:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:50:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:50:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:50:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:50:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:50:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:50:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:50:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:50:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:50:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:50:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:50:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:50:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:50:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:50:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:50:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:50:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:50:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:50:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:50:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:50:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:50:41 UTC] 📊 Database Info:
[22-Nov-2025 19:50:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:50:41 UTC]    Books columns count: 44
[22-Nov-2025 19:50:41 UTC]    Categories columns count: 7
[22-Nov-2025 19:50:41 UTC]    Language field in books: YES
[22-Nov-2025 19:50:41 UTC]    Format field in books: YES
[22-Nov-2025 19:50:41 UTC]    Description field in categories: YES
[22-Nov-2025 19:50:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:50:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:50:41 UTC]    Is_active field in books: YES
[22-Nov-2025 19:50:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:50:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:50:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:50:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:50:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:50:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:50:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:50:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:50:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:50:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:50:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:50:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:50:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:50:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:50:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:50:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:50:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:50:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:50:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:50:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:50:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:50:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:50:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:50:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:50:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:50:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:50:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:50:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:50:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:50:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:50:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:50:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:50:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:50:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:50:46 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:50:46 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:50:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:50:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:50:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:50:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:50:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:50:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:50:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:50:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:50:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:50:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:50:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:50:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:50:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:50:46 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:50:46 UTC] 📊 Database Info:
[22-Nov-2025 19:50:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:50:46 UTC]    Books columns count: 44
[22-Nov-2025 19:50:46 UTC]    Categories columns count: 7
[22-Nov-2025 19:50:46 UTC]    Language field in books: YES
[22-Nov-2025 19:50:46 UTC]    Format field in books: YES
[22-Nov-2025 19:50:46 UTC]    Description field in categories: YES
[22-Nov-2025 19:50:46 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:50:46 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:50:46 UTC]    Is_active field in books: YES
[22-Nov-2025 19:50:46 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:50:46 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:50:46 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:50:46 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:50:46 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:50:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:50:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:50:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:50:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:50:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:50:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:50:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:50:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:50:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:50:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:50:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:50:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:50:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:50:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:50:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:50:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:50:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:50:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:50:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:50:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:50:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:50:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:50:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:50:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:50:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:50:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:50:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:50:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:50:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:50:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:50:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:50:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:50:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:50:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:50:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:50:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:50:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:50:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:50:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:50:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:50:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:50:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:50:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:50:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:50:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:50:51 UTC] 📊 Database Info:
[22-Nov-2025 19:50:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:50:51 UTC]    Books columns count: 44
[22-Nov-2025 19:50:51 UTC]    Categories columns count: 7
[22-Nov-2025 19:50:51 UTC]    Language field in books: YES
[22-Nov-2025 19:50:51 UTC]    Format field in books: YES
[22-Nov-2025 19:50:51 UTC]    Description field in categories: YES
[22-Nov-2025 19:50:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:50:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:50:51 UTC]    Is_active field in books: YES
[22-Nov-2025 19:50:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:50:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:50:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:50:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:50:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:50:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:50:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:50:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:50:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:50:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:50:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:50:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:50:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:50:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:50:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:50:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:50:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:50:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:52:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:52:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:52:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:52:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:52:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:52:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:52:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:52:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:52:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:52:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:52:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:52:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:52:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:52:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:52:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:52:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:52:05 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:52:05 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:52:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:52:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:52:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:52:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:52:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:52:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:52:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:52:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:52:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:52:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:52:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:52:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:52:06 UTC] 📊 Database Info:
[22-Nov-2025 19:52:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:52:06 UTC]    Books columns count: 44
[22-Nov-2025 19:52:06 UTC]    Categories columns count: 7
[22-Nov-2025 19:52:06 UTC]    Language field in books: YES
[22-Nov-2025 19:52:06 UTC]    Format field in books: YES
[22-Nov-2025 19:52:06 UTC]    Description field in categories: YES
[22-Nov-2025 19:52:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:52:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:52:06 UTC]    Is_active field in books: YES
[22-Nov-2025 19:52:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:52:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:52:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:52:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:52:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:52:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:52:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:52:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:52:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:52:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:52:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:52:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:52:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:52:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:52:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:52:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:52:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:52:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:52:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:52:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:52:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:52:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:52:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:52:11 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:52:11 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:52:11 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:52:11 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:52:11 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:52:11 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:52:11 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:52:11 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:52:11 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:52:11 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:52:11 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:52:11 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:52:11 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:52:11 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:52:11 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:52:11 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:52:11 UTC] 📊 Database Info:
[22-Nov-2025 19:52:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:52:11 UTC]    Books columns count: 44
[22-Nov-2025 19:52:11 UTC]    Categories columns count: 7
[22-Nov-2025 19:52:11 UTC]    Language field in books: YES
[22-Nov-2025 19:52:11 UTC]    Format field in books: YES
[22-Nov-2025 19:52:11 UTC]    Description field in categories: YES
[22-Nov-2025 19:52:11 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:52:11 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:52:11 UTC]    Is_active field in books: YES
[22-Nov-2025 19:52:11 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:52:11 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:52:11 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:52:11 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:52:11 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:52:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:52:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:52:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:52:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:52:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:52:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:52:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:52:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:52:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:52:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:52:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:52:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:52:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:52:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:52:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:52:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:52:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:52:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:52:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:52:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:52:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:52:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:52:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:52:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:52:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:52:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:52:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:52:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:52:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:52:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:52:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:52:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:52:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:52:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:52:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:52:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:52:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:52:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:52:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:52:25 UTC] 📊 Database Info:
[22-Nov-2025 19:52:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:52:25 UTC]    Books columns count: 44
[22-Nov-2025 19:52:25 UTC]    Categories columns count: 7
[22-Nov-2025 19:52:25 UTC]    Language field in books: YES
[22-Nov-2025 19:52:25 UTC]    Format field in books: YES
[22-Nov-2025 19:52:25 UTC]    Description field in categories: YES
[22-Nov-2025 19:52:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:52:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:52:25 UTC]    Is_active field in books: YES
[22-Nov-2025 19:52:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:52:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:52:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:52:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:52:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:52:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:58:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:58:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:58:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:58:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 19:58:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:58:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:58:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:58:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:58:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:58:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:58:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:58:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:58:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:58:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:58:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:58:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:58:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:58:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:58:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:58:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:58:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:58:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:58:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:58:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:58:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 19:58:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:58:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:58:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:58:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:58:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:58:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:58:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:58:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 19:58:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:58:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:58:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:58:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:58:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:58:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 19:58:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 19:58:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 19:58:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 19:58:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 19:58:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:58:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:58:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:58:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:58:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:58:17 UTC] 📊 Database Info:
[22-Nov-2025 19:58:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:58:17 UTC]    Books columns count: 44
[22-Nov-2025 19:58:17 UTC]    Categories columns count: 7
[22-Nov-2025 19:58:17 UTC]    Language field in books: YES
[22-Nov-2025 19:58:17 UTC]    Format field in books: YES
[22-Nov-2025 19:58:17 UTC]    Description field in categories: YES
[22-Nov-2025 19:58:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:58:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:58:17 UTC]    Is_active field in books: YES
[22-Nov-2025 19:58:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:58:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:58:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:58:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:58:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:58:17 UTC] 📊 Database Info:
[22-Nov-2025 19:58:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:58:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:58:17 UTC]    Books columns count: 44
[22-Nov-2025 19:58:17 UTC]    Categories columns count: 7
[22-Nov-2025 19:58:17 UTC]    Language field in books: YES
[22-Nov-2025 19:58:17 UTC]    Format field in books: YES
[22-Nov-2025 19:58:17 UTC]    Description field in categories: YES
[22-Nov-2025 19:58:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:58:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:58:17 UTC]    Is_active field in books: YES
[22-Nov-2025 19:58:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:58:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:58:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:58:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:58:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:58:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:58:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 19:58:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:58:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:58:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 19:58:17 UTC] 📊 Database Info:
[22-Nov-2025 19:58:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 19:58:17 UTC]    Books columns count: 44
[22-Nov-2025 19:58:17 UTC]    Categories columns count: 7
[22-Nov-2025 19:58:17 UTC]    Language field in books: YES
[22-Nov-2025 19:58:17 UTC]    Format field in books: YES
[22-Nov-2025 19:58:17 UTC]    Description field in categories: YES
[22-Nov-2025 19:58:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 19:58:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 19:58:17 UTC]    Is_active field in books: YES
[22-Nov-2025 19:58:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 19:58:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 19:58:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 19:58:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 19:58:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 19:58:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 19:58:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 19:58:17 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 19:58:17 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:00:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:00:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:00:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:00:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:00:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:00:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:00:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:00:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:00:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:00:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:00:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:00:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:00:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:00:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:00:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:00:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:00:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:00:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:00:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:00:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:00:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:00:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:00:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:00:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:00:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:00:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:00:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:00:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:00:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:00:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:00:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:00:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:00:55 UTC] 📊 Database Info:
[22-Nov-2025 20:00:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:00:55 UTC]    Books columns count: 44
[22-Nov-2025 20:00:55 UTC]    Categories columns count: 7
[22-Nov-2025 20:00:55 UTC]    Language field in books: YES
[22-Nov-2025 20:00:55 UTC]    Format field in books: YES
[22-Nov-2025 20:00:55 UTC]    Description field in categories: YES
[22-Nov-2025 20:00:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:00:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:00:55 UTC]    Is_active field in books: YES
[22-Nov-2025 20:00:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:00:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:00:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:00:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:00:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:00:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:00:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:00:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:00:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:00:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:00:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:00:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:00:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:00:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:00:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:00:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:00:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:00:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:00:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:00:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:00:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:00:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:00:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:00:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:00:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:00:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:00:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:00:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:00:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:00:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:00:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:00:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:00:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:00:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:00:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:00:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:00:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:00:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:00:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:00:57 UTC] 📊 Database Info:
[22-Nov-2025 20:00:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:00:57 UTC]    Books columns count: 44
[22-Nov-2025 20:00:57 UTC]    Categories columns count: 7
[22-Nov-2025 20:00:57 UTC]    Language field in books: YES
[22-Nov-2025 20:00:57 UTC]    Format field in books: YES
[22-Nov-2025 20:00:57 UTC]    Description field in categories: YES
[22-Nov-2025 20:00:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:00:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:00:57 UTC]    Is_active field in books: YES
[22-Nov-2025 20:00:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:00:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:00:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:00:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:00:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:00:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:01:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:01:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:01:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:01:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:01:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:01:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:01:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:01:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:01:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:01:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:01:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:01:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:01:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:01:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:01:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:01:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:01:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:01:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:01:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:01:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:01:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:01:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:01:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:01:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:01:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:01:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:01:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:01:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:01:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:01:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:01:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:01:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:01:00 UTC] 📊 Database Info:
[22-Nov-2025 20:01:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:01:00 UTC]    Books columns count: 44
[22-Nov-2025 20:01:00 UTC]    Categories columns count: 7
[22-Nov-2025 20:01:00 UTC]    Language field in books: YES
[22-Nov-2025 20:01:00 UTC]    Format field in books: YES
[22-Nov-2025 20:01:00 UTC]    Description field in categories: YES
[22-Nov-2025 20:01:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:01:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:01:00 UTC]    Is_active field in books: YES
[22-Nov-2025 20:01:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:01:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:01:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:01:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:01:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:01:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:01:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:01:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:01:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:01:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:01:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:01:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:01:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:01:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:01:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:01:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:01:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:01:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:01:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:01:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:01:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:01:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:01:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:01:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:01:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:01:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:01:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:01:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:01:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:01:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:01:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:01:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:01:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:01:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:01:13 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:01:13 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:01:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:01:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:01:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:01:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:01:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:01:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:01:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:01:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:01:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:01:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:01:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:01:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:01:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:01:13 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:01:13 UTC] 📊 Database Info:
[22-Nov-2025 20:01:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:01:13 UTC]    Books columns count: 44
[22-Nov-2025 20:01:13 UTC]    Categories columns count: 7
[22-Nov-2025 20:01:13 UTC]    Language field in books: YES
[22-Nov-2025 20:01:13 UTC]    Format field in books: YES
[22-Nov-2025 20:01:13 UTC]    Description field in categories: YES
[22-Nov-2025 20:01:13 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:01:13 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:01:13 UTC]    Is_active field in books: YES
[22-Nov-2025 20:01:13 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:01:13 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:01:13 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:01:13 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:01:13 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:01:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:01:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:01:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:01:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:01:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:01:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:01:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:01:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:01:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:01:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:01:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:01:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:01:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:02:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:02:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:02:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:02:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:02:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:02:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:02:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:02:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:02:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:02:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:02:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:02:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:02:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:02:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:02:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:02:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:02:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:02:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:02:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:02:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:02:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:02:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:02:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:02:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:02:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:02:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:02:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:02:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:02:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:02:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:02:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:02:24 UTC] 📊 Database Info:
[22-Nov-2025 20:02:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:02:24 UTC]    Books columns count: 44
[22-Nov-2025 20:02:24 UTC]    Categories columns count: 7
[22-Nov-2025 20:02:24 UTC]    Language field in books: YES
[22-Nov-2025 20:02:24 UTC]    Format field in books: YES
[22-Nov-2025 20:02:24 UTC]    Description field in categories: YES
[22-Nov-2025 20:02:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:02:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:02:24 UTC]    Is_active field in books: YES
[22-Nov-2025 20:02:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:02:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:02:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:02:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:02:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:02:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:02:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:02:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:02:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:02:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:02:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:02:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:02:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:02:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:02:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:02:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:02:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:02:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:02:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:02:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:02:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:02:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:02:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:02:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:02:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:02:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:02:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:02:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:02:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:02:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:02:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:02:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:02:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:02:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:02:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:02:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:02:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:02:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:02:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:02:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:02:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:02:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:02:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:02:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:02:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:02:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:02:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:02:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:02:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:02:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:02:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:02:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:02:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:02:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:02:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:02:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:02:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:02:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:02:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:02:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:02:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:02:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:02:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:02:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:02:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:02:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:02:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:02:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:02:28 UTC] 📊 Database Info:
[22-Nov-2025 20:02:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:02:28 UTC]    Books columns count: 44
[22-Nov-2025 20:02:28 UTC]    Categories columns count: 7
[22-Nov-2025 20:02:28 UTC]    Language field in books: YES
[22-Nov-2025 20:02:28 UTC]    Format field in books: YES
[22-Nov-2025 20:02:28 UTC]    Description field in categories: YES
[22-Nov-2025 20:02:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:02:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:02:28 UTC]    Is_active field in books: YES
[22-Nov-2025 20:02:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:02:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:02:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:02:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:02:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:02:28 UTC] 📊 Database Info:
[22-Nov-2025 20:02:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:02:28 UTC]    Books columns count: 44
[22-Nov-2025 20:02:28 UTC]    Categories columns count: 7
[22-Nov-2025 20:02:28 UTC]    Language field in books: YES
[22-Nov-2025 20:02:28 UTC]    Format field in books: YES
[22-Nov-2025 20:02:28 UTC]    Description field in categories: YES
[22-Nov-2025 20:02:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:02:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:02:28 UTC]    Is_active field in books: YES
[22-Nov-2025 20:02:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:02:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:02:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:02:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:02:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:02:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:02:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:02:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:02:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:02:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:02:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:02:28 UTC] 📊 Database Info:
[22-Nov-2025 20:02:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:02:28 UTC]    Books columns count: 44
[22-Nov-2025 20:02:28 UTC]    Categories columns count: 7
[22-Nov-2025 20:02:28 UTC]    Language field in books: YES
[22-Nov-2025 20:02:28 UTC]    Format field in books: YES
[22-Nov-2025 20:02:28 UTC]    Description field in categories: YES
[22-Nov-2025 20:02:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:02:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:02:28 UTC]    Is_active field in books: YES
[22-Nov-2025 20:02:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:02:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:02:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:02:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:02:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:02:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:02:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:02:28 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:02:28 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:02:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:02:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:02:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:02:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:02:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:02:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:02:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:02:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:02:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:02:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:02:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:02:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:02:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:02:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:02:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:02:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:02:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:02:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:02:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:02:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:02:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:02:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:02:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:02:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:02:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:02:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:02:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:02:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:02:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:02:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:02:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:02:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:02:29 UTC] 📊 Database Info:
[22-Nov-2025 20:02:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:02:29 UTC]    Books columns count: 44
[22-Nov-2025 20:02:29 UTC]    Categories columns count: 7
[22-Nov-2025 20:02:29 UTC]    Language field in books: YES
[22-Nov-2025 20:02:29 UTC]    Format field in books: YES
[22-Nov-2025 20:02:29 UTC]    Description field in categories: YES
[22-Nov-2025 20:02:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:02:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:02:29 UTC]    Is_active field in books: YES
[22-Nov-2025 20:02:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:02:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:02:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:02:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:02:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:02:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:02:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:02:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:02:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:02:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:02:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:02:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:02:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:02:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:02:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:02:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:02:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:02:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:03:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:03:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:03:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:03:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:03:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:03:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:03:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:03:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:03:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:03:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:03:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:03:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:03:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:03:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:03:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:03:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:03:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:03:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:03:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:03:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:03:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:03:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:03:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:03:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:03:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:03:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:03:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:03:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:03:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:03:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:03:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:03:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:03:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:03:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:03:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:03:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:03:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:03:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:03:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:03:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:03:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:03:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:03:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:03:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:03:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:03:57 UTC] 📊 Database Info:
[22-Nov-2025 20:03:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:03:57 UTC]    Books columns count: 44
[22-Nov-2025 20:03:57 UTC]    Categories columns count: 7
[22-Nov-2025 20:03:57 UTC]    Language field in books: YES
[22-Nov-2025 20:03:57 UTC]    Format field in books: YES
[22-Nov-2025 20:03:57 UTC]    Description field in categories: YES
[22-Nov-2025 20:03:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:03:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:03:57 UTC]    Is_active field in books: YES
[22-Nov-2025 20:03:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:03:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:03:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:03:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:03:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:03:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:03:57 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 20:03:57 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 20:03:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:03:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:03:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:03:57 UTC] 📊 Database Info:
[22-Nov-2025 20:03:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:03:57 UTC]    Books columns count: 44
[22-Nov-2025 20:03:57 UTC]    Categories columns count: 7
[22-Nov-2025 20:03:57 UTC]    Language field in books: YES
[22-Nov-2025 20:03:57 UTC]    Format field in books: YES
[22-Nov-2025 20:03:57 UTC]    Description field in categories: YES
[22-Nov-2025 20:03:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:03:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:03:57 UTC]    Is_active field in books: YES
[22-Nov-2025 20:03:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:03:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:03:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:03:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:03:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:03:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:03:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:03:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:03:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:03:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:03:57 UTC] 📊 Database Info:
[22-Nov-2025 20:03:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:03:57 UTC]    Books columns count: 44
[22-Nov-2025 20:03:57 UTC]    Categories columns count: 7
[22-Nov-2025 20:03:57 UTC]    Language field in books: YES
[22-Nov-2025 20:03:57 UTC]    Format field in books: YES
[22-Nov-2025 20:03:57 UTC]    Description field in categories: YES
[22-Nov-2025 20:03:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:03:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:03:57 UTC]    Is_active field in books: YES
[22-Nov-2025 20:03:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:03:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:03:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:03:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:03:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:03:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:03:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:03:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:03:57 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 20:03:57 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 20:04:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:06 UTC] 📊 Database Info:
[22-Nov-2025 20:04:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:06 UTC]    Books columns count: 44
[22-Nov-2025 20:04:06 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:06 UTC]    Language field in books: YES
[22-Nov-2025 20:04:06 UTC]    Format field in books: YES
[22-Nov-2025 20:04:06 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:06 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:06 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 20:04:06 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 20:04:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:06 UTC] 📊 Database Info:
[22-Nov-2025 20:04:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:06 UTC]    Books columns count: 44
[22-Nov-2025 20:04:06 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:06 UTC]    Language field in books: YES
[22-Nov-2025 20:04:06 UTC]    Format field in books: YES
[22-Nov-2025 20:04:06 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:06 UTC] 📊 Database Info:
[22-Nov-2025 20:04:06 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:06 UTC]    Books columns count: 44
[22-Nov-2025 20:04:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:06 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:06 UTC]    Language field in books: YES
[22-Nov-2025 20:04:06 UTC]    Format field in books: YES
[22-Nov-2025 20:04:06 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:06 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:04:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:06 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 20:04:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:06 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 20:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:16 UTC] 📊 Database Info:
[22-Nov-2025 20:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:16 UTC]    Books columns count: 44
[22-Nov-2025 20:04:16 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:16 UTC]    Language field in books: YES
[22-Nov-2025 20:04:16 UTC]    Format field in books: YES
[22-Nov-2025 20:04:16 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:16 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:16 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:04:16 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:16 UTC] 📊 Database Info:
[22-Nov-2025 20:04:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:16 UTC]    Books columns count: 44
[22-Nov-2025 20:04:16 UTC] 📊 Database Info:
[22-Nov-2025 20:04:16 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:16 UTC]    Books columns count: 44
[22-Nov-2025 20:04:16 UTC]    Language field in books: YES
[22-Nov-2025 20:04:16 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:16 UTC]    Format field in books: YES
[22-Nov-2025 20:04:16 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:16 UTC]    Language field in books: YES
[22-Nov-2025 20:04:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:16 UTC]    Format field in books: YES
[22-Nov-2025 20:04:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:16 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:16 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:16 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:16 UTC] 📊 Database Info:
[22-Nov-2025 20:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:16 UTC]    Books columns count: 44
[22-Nov-2025 20:04:16 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:16 UTC]    Language field in books: YES
[22-Nov-2025 20:04:16 UTC]    Format field in books: YES
[22-Nov-2025 20:04:16 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:16 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:16 UTC] 📊 Database Info:
[22-Nov-2025 20:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:16 UTC]    Books columns count: 44
[22-Nov-2025 20:04:16 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:16 UTC]    Language field in books: YES
[22-Nov-2025 20:04:16 UTC]    Format field in books: YES
[22-Nov-2025 20:04:16 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:16 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:16 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:04:16 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:16 UTC] 📊 Database Info:
[22-Nov-2025 20:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:16 UTC]    Books columns count: 44
[22-Nov-2025 20:04:16 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:16 UTC]    Language field in books: YES
[22-Nov-2025 20:04:16 UTC]    Format field in books: YES
[22-Nov-2025 20:04:16 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:16 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:19 UTC] 📊 Database Info:
[22-Nov-2025 20:04:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC]    Books columns count: 44
[22-Nov-2025 20:04:19 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC]    Language field in books: YES
[22-Nov-2025 20:04:19 UTC]    Format field in books: YES
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:04:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:19 UTC] 📊 Database Info:
[22-Nov-2025 20:04:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:19 UTC]    Books columns count: 44
[22-Nov-2025 20:04:19 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:19 UTC]    Language field in books: YES
[22-Nov-2025 20:04:19 UTC]    Format field in books: YES
[22-Nov-2025 20:04:19 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:19 UTC] 📊 Database Info:
[22-Nov-2025 20:04:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:19 UTC]    Books columns count: 44
[22-Nov-2025 20:04:19 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:19 UTC]    Language field in books: YES
[22-Nov-2025 20:04:19 UTC]    Format field in books: YES
[22-Nov-2025 20:04:19 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:19 UTC] 📊 Database Info:
[22-Nov-2025 20:04:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:19 UTC]    Books columns count: 44
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:19 UTC]    Language field in books: YES
[22-Nov-2025 20:04:19 UTC]    Format field in books: YES
[22-Nov-2025 20:04:19 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:19 UTC] 📊 Database Info:
[22-Nov-2025 20:04:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:19 UTC]    Books columns count: 44
[22-Nov-2025 20:04:19 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:19 UTC]    Language field in books: YES
[22-Nov-2025 20:04:19 UTC]    Format field in books: YES
[22-Nov-2025 20:04:19 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:19 UTC] 📊 Database Info:
[22-Nov-2025 20:04:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:19 UTC]    Books columns count: 44
[22-Nov-2025 20:04:19 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:19 UTC]    Language field in books: YES
[22-Nov-2025 20:04:19 UTC]    Format field in books: YES
[22-Nov-2025 20:04:19 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:04:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:19 UTC] 📊 Database Info:
[22-Nov-2025 20:04:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:19 UTC]    Books columns count: 44
[22-Nov-2025 20:04:19 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:19 UTC]    Language field in books: YES
[22-Nov-2025 20:04:19 UTC]    Format field in books: YES
[22-Nov-2025 20:04:19 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:04:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:04:19 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:04:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:19 UTC] 📊 Database Info:
[22-Nov-2025 20:04:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:19 UTC]    Books columns count: 44
[22-Nov-2025 20:04:19 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:19 UTC]    Language field in books: YES
[22-Nov-2025 20:04:19 UTC]    Format field in books: YES
[22-Nov-2025 20:04:19 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:04:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:04:19 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:19 UTC] 📊 Database Info:
[22-Nov-2025 20:04:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:19 UTC]    Books columns count: 44
[22-Nov-2025 20:04:19 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:19 UTC]    Language field in books: YES
[22-Nov-2025 20:04:19 UTC]    Format field in books: YES
[22-Nov-2025 20:04:19 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:04:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:04:19 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:19 UTC] 📊 Database Info:
[22-Nov-2025 20:04:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:19 UTC]    Books columns count: 44
[22-Nov-2025 20:04:19 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:19 UTC]    Language field in books: YES
[22-Nov-2025 20:04:19 UTC]    Format field in books: YES
[22-Nov-2025 20:04:19 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:04:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:04:19 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:19 UTC] 📊 Database Info:
[22-Nov-2025 20:04:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:19 UTC]    Books columns count: 44
[22-Nov-2025 20:04:19 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:19 UTC]    Language field in books: YES
[22-Nov-2025 20:04:19 UTC]    Format field in books: YES
[22-Nov-2025 20:04:19 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:19 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:04:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:04:19 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:04:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:23 UTC] 📊 Database Info:
[22-Nov-2025 20:04:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:23 UTC]    Books columns count: 44
[22-Nov-2025 20:04:23 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:23 UTC]    Language field in books: YES
[22-Nov-2025 20:04:23 UTC]    Format field in books: YES
[22-Nov-2025 20:04:23 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:23 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:31 UTC] 📊 Database Info:
[22-Nov-2025 20:04:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:31 UTC]    Books columns count: 44
[22-Nov-2025 20:04:31 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:31 UTC]    Language field in books: YES
[22-Nov-2025 20:04:31 UTC]    Format field in books: YES
[22-Nov-2025 20:04:31 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:31 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:31 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":false}
[22-Nov-2025 20:04:31 UTC] ?? Processing: home_screen - show_welcome_section: 0
[22-Nov-2025 20:04:31 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[22-Nov-2025 20:04:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:31 UTC] 📊 Database Info:
[22-Nov-2025 20:04:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:31 UTC]    Books columns count: 44
[22-Nov-2025 20:04:31 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:31 UTC]    Language field in books: YES
[22-Nov-2025 20:04:31 UTC]    Format field in books: YES
[22-Nov-2025 20:04:31 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:31 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:31 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 20:04:31 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[22-Nov-2025 20:04:31 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[22-Nov-2025 20:04:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:59 UTC] 📊 Database Info:
[22-Nov-2025 20:04:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:59 UTC]    Books columns count: 44
[22-Nov-2025 20:04:59 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:59 UTC]    Language field in books: YES
[22-Nov-2025 20:04:59 UTC]    Format field in books: YES
[22-Nov-2025 20:04:59 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:59 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:59 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:59 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:59 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:59 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:59 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:59 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:59 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:59 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:59 UTC] 📊 Database Info:
[22-Nov-2025 20:04:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:59 UTC]    Books columns count: 44
[22-Nov-2025 20:04:59 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:59 UTC]    Language field in books: YES
[22-Nov-2025 20:04:59 UTC]    Format field in books: YES
[22-Nov-2025 20:04:59 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:59 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:59 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:59 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:59 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:59 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:59 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:59 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:59 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:59 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:04:59 UTC] 📊 Database Info:
[22-Nov-2025 20:04:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:04:59 UTC]    Books columns count: 44
[22-Nov-2025 20:04:59 UTC]    Categories columns count: 7
[22-Nov-2025 20:04:59 UTC]    Language field in books: YES
[22-Nov-2025 20:04:59 UTC]    Format field in books: YES
[22-Nov-2025 20:04:59 UTC]    Description field in categories: YES
[22-Nov-2025 20:04:59 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:04:59 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:04:59 UTC]    Is_active field in books: YES
[22-Nov-2025 20:04:59 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:04:59 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:04:59 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:04:59 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:04:59 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:04:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:04:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:04:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:04:59 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:04:59 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:04:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:04:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:04:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:04:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:04:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:04:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:04:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:04:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:04:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:04:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:04:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:00 UTC] 📊 Database Info:
[22-Nov-2025 20:05:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:00 UTC]    Books columns count: 44
[22-Nov-2025 20:05:00 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:00 UTC]    Language field in books: YES
[22-Nov-2025 20:05:00 UTC]    Format field in books: YES
[22-Nov-2025 20:05:00 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:00 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:05:00 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:05:00 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:05:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:00 UTC] 📊 Database Info:
[22-Nov-2025 20:05:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:00 UTC]    Books columns count: 44
[22-Nov-2025 20:05:00 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:00 UTC]    Language field in books: YES
[22-Nov-2025 20:05:00 UTC]    Format field in books: YES
[22-Nov-2025 20:05:00 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:00 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:05:00 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:05:00 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:05:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:03 UTC] 📊 Database Info:
[22-Nov-2025 20:05:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:03 UTC]    Books columns count: 44
[22-Nov-2025 20:05:03 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:03 UTC]    Language field in books: YES
[22-Nov-2025 20:05:03 UTC]    Format field in books: YES
[22-Nov-2025 20:05:03 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:03 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:03 UTC] 📊 Database Info:
[22-Nov-2025 20:05:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:03 UTC]    Books columns count: 44
[22-Nov-2025 20:05:03 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:03 UTC]    Language field in books: YES
[22-Nov-2025 20:05:03 UTC]    Format field in books: YES
[22-Nov-2025 20:05:03 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:03 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:03 UTC] 📊 Database Info:
[22-Nov-2025 20:05:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:03 UTC]    Books columns count: 44
[22-Nov-2025 20:05:03 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:03 UTC]    Language field in books: YES
[22-Nov-2025 20:05:03 UTC]    Format field in books: YES
[22-Nov-2025 20:05:03 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:03 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:03 UTC] 📊 Database Info:
[22-Nov-2025 20:05:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:03 UTC]    Books columns count: 44
[22-Nov-2025 20:05:03 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:03 UTC]    Language field in books: YES
[22-Nov-2025 20:05:03 UTC]    Format field in books: YES
[22-Nov-2025 20:05:03 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:03 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:03 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:05:03 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:05:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:03 UTC] 📊 Database Info:
[22-Nov-2025 20:05:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:03 UTC]    Books columns count: 44
[22-Nov-2025 20:05:03 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:03 UTC]    Language field in books: YES
[22-Nov-2025 20:05:03 UTC]    Format field in books: YES
[22-Nov-2025 20:05:03 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:03 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:03 UTC] 📊 Database Info:
[22-Nov-2025 20:05:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:03 UTC]    Books columns count: 44
[22-Nov-2025 20:05:03 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:03 UTC]    Language field in books: YES
[22-Nov-2025 20:05:03 UTC]    Format field in books: YES
[22-Nov-2025 20:05:03 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:03 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:03 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:03 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:05:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:08 UTC] 📊 Database Info:
[22-Nov-2025 20:05:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:08 UTC]    Books columns count: 44
[22-Nov-2025 20:05:08 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:08 UTC]    Language field in books: YES
[22-Nov-2025 20:05:08 UTC]    Format field in books: YES
[22-Nov-2025 20:05:08 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:08 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:08 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[22-Nov-2025 20:05:08 UTC] ?? Processing: home_screen - show_welcome_section: 1
[22-Nov-2025 20:05:08 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[22-Nov-2025 20:05:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:08 UTC] 📊 Database Info:
[22-Nov-2025 20:05:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:08 UTC]    Books columns count: 44
[22-Nov-2025 20:05:08 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:08 UTC]    Language field in books: YES
[22-Nov-2025 20:05:08 UTC]    Format field in books: YES
[22-Nov-2025 20:05:08 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:08 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:08 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 20:05:08 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[22-Nov-2025 20:05:08 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[22-Nov-2025 20:05:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:14 UTC] 📊 Database Info:
[22-Nov-2025 20:05:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:14 UTC]    Books columns count: 44
[22-Nov-2025 20:05:14 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:14 UTC]    Language field in books: YES
[22-Nov-2025 20:05:14 UTC]    Format field in books: YES
[22-Nov-2025 20:05:14 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:14 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:14 UTC] 📊 Database Info:
[22-Nov-2025 20:05:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:14 UTC]    Books columns count: 44
[22-Nov-2025 20:05:14 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:14 UTC]    Language field in books: YES
[22-Nov-2025 20:05:14 UTC]    Format field in books: YES
[22-Nov-2025 20:05:14 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:14 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:14 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:05:14 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:05:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:14 UTC] 📊 Database Info:
[22-Nov-2025 20:05:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:14 UTC]    Books columns count: 44
[22-Nov-2025 20:05:14 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:14 UTC]    Language field in books: YES
[22-Nov-2025 20:05:14 UTC]    Format field in books: YES
[22-Nov-2025 20:05:14 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:14 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:16 UTC] 📊 Database Info:
[22-Nov-2025 20:05:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:16 UTC]    Books columns count: 44
[22-Nov-2025 20:05:16 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:16 UTC]    Language field in books: YES
[22-Nov-2025 20:05:16 UTC]    Format field in books: YES
[22-Nov-2025 20:05:16 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:16 UTC] 📊 Database Info:
[22-Nov-2025 20:05:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:16 UTC]    Books columns count: 44
[22-Nov-2025 20:05:16 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:16 UTC]    Language field in books: YES
[22-Nov-2025 20:05:16 UTC]    Format field in books: YES
[22-Nov-2025 20:05:16 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:05:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:05:16 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:16 UTC] 📊 Database Info:
[22-Nov-2025 20:05:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:16 UTC]    Books columns count: 44
[22-Nov-2025 20:05:16 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:16 UTC]    Language field in books: YES
[22-Nov-2025 20:05:16 UTC]    Format field in books: YES
[22-Nov-2025 20:05:16 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:16 UTC] 📊 Database Info:
[22-Nov-2025 20:05:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:16 UTC]    Books columns count: 44
[22-Nov-2025 20:05:16 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:16 UTC]    Language field in books: YES
[22-Nov-2025 20:05:16 UTC]    Format field in books: YES
[22-Nov-2025 20:05:16 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:16 UTC] 📊 Database Info:
[22-Nov-2025 20:05:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:16 UTC]    Books columns count: 44
[22-Nov-2025 20:05:16 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:16 UTC]    Language field in books: YES
[22-Nov-2025 20:05:16 UTC]    Format field in books: YES
[22-Nov-2025 20:05:16 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:05:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:16 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:05:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:16 UTC] 📊 Database Info:
[22-Nov-2025 20:05:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:16 UTC]    Books columns count: 44
[22-Nov-2025 20:05:16 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:16 UTC]    Language field in books: YES
[22-Nov-2025 20:05:16 UTC]    Format field in books: YES
[22-Nov-2025 20:05:16 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:16 UTC] 📊 Database Info:
[22-Nov-2025 20:05:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:16 UTC]    Books columns count: 44
[22-Nov-2025 20:05:16 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:16 UTC]    Language field in books: YES
[22-Nov-2025 20:05:16 UTC]    Format field in books: YES
[22-Nov-2025 20:05:16 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:05:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:16 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:16 UTC] 📊 Database Info:
[22-Nov-2025 20:05:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:16 UTC]    Books columns count: 44
[22-Nov-2025 20:05:16 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:16 UTC]    Language field in books: YES
[22-Nov-2025 20:05:16 UTC]    Format field in books: YES
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:16 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:05:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:05:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:16 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:05:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:16 UTC] 📊 Database Info:
[22-Nov-2025 20:05:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:16 UTC]    Books columns count: 44
[22-Nov-2025 20:05:16 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:16 UTC]    Language field in books: YES
[22-Nov-2025 20:05:16 UTC]    Format field in books: YES
[22-Nov-2025 20:05:16 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:05:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:05:16 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:05:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:16 UTC] 📊 Database Info:
[22-Nov-2025 20:05:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:16 UTC]    Books columns count: 44
[22-Nov-2025 20:05:16 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:16 UTC]    Language field in books: YES
[22-Nov-2025 20:05:16 UTC]    Format field in books: YES
[22-Nov-2025 20:05:16 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:16 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:05:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:05:16 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:05:16 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:05:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:05:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:05:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:05:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:05:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:05:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:05:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:05:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:05:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:05:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:05:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:05:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:05:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:05:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:05:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:05:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:05:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:05:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:05:49 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:05:49 UTC] 📊 Database Info:
[22-Nov-2025 20:05:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:05:49 UTC]    Books columns count: 44
[22-Nov-2025 20:05:49 UTC]    Categories columns count: 7
[22-Nov-2025 20:05:49 UTC]    Language field in books: YES
[22-Nov-2025 20:05:49 UTC]    Format field in books: YES
[22-Nov-2025 20:05:49 UTC]    Description field in categories: YES
[22-Nov-2025 20:05:49 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:05:49 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:05:49 UTC]    Is_active field in books: YES
[22-Nov-2025 20:05:49 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:05:49 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:05:49 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:05:49 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:05:49 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:05:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:05:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:06:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:06:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:06:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:06:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:06:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:06:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:06:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:06:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:06:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:06:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:06:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:06:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:06:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:06:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:06:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:06:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:06:05 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:06:05 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:06:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:06:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:06:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:06:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:06:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:06:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:06:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:06:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:06:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:06:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:06:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:06:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:06:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:06:05 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:06:05 UTC] 📊 Database Info:
[22-Nov-2025 20:06:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:06:05 UTC]    Books columns count: 44
[22-Nov-2025 20:06:05 UTC]    Categories columns count: 7
[22-Nov-2025 20:06:05 UTC]    Language field in books: YES
[22-Nov-2025 20:06:05 UTC]    Format field in books: YES
[22-Nov-2025 20:06:05 UTC]    Description field in categories: YES
[22-Nov-2025 20:06:05 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:06:05 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:06:05 UTC]    Is_active field in books: YES
[22-Nov-2025 20:06:05 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:06:05 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:06:05 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:06:05 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:06:05 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:06:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:06:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:06:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:06:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:06:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:06:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:06:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:06:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:06:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:06:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:06:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:06:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:06:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:06:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:06:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:06:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:06:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:06:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:06:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:06:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:06:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:06:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:06:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:06:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:06:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:06:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:06:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:06:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:06:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:06:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:06:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:06:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:06:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:06:34 UTC] 📊 Database Info:
[22-Nov-2025 20:06:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:06:34 UTC]    Books columns count: 44
[22-Nov-2025 20:06:34 UTC]    Categories columns count: 7
[22-Nov-2025 20:06:34 UTC]    Language field in books: YES
[22-Nov-2025 20:06:34 UTC]    Format field in books: YES
[22-Nov-2025 20:06:34 UTC]    Description field in categories: YES
[22-Nov-2025 20:06:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:06:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:06:34 UTC]    Is_active field in books: YES
[22-Nov-2025 20:06:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:06:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:06:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:06:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:06:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:06:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:06:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:06:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:06:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:06:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:06:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:06:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:06:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:06:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:06:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:06:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:06:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:06:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:06:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:06:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:06:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:06:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:06:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:06:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:06:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:06:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:06:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:06:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:06:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:06:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:06:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:06:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:06:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:06:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:06:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:06:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:06:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:06:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:06:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:06:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:06:38 UTC] 📊 Database Info:
[22-Nov-2025 20:06:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:06:38 UTC]    Books columns count: 44
[22-Nov-2025 20:06:38 UTC]    Categories columns count: 7
[22-Nov-2025 20:06:38 UTC]    Language field in books: YES
[22-Nov-2025 20:06:38 UTC]    Format field in books: YES
[22-Nov-2025 20:06:38 UTC]    Description field in categories: YES
[22-Nov-2025 20:06:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:06:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:06:38 UTC]    Is_active field in books: YES
[22-Nov-2025 20:06:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:06:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:06:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:06:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:06:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:06:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:06:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:06:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:06:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:06:38 UTC] 📊 Database Info:
[22-Nov-2025 20:06:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:06:38 UTC]    Books columns count: 44
[22-Nov-2025 20:06:38 UTC]    Categories columns count: 7
[22-Nov-2025 20:06:38 UTC]    Language field in books: YES
[22-Nov-2025 20:06:38 UTC]    Format field in books: YES
[22-Nov-2025 20:06:38 UTC]    Description field in categories: YES
[22-Nov-2025 20:06:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:06:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:06:38 UTC]    Is_active field in books: YES
[22-Nov-2025 20:06:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:06:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:06:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:06:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:06:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:06:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:06:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:06:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:06:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:06:38 UTC] 📊 Database Info:
[22-Nov-2025 20:06:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:06:38 UTC]    Books columns count: 44
[22-Nov-2025 20:06:38 UTC]    Categories columns count: 7
[22-Nov-2025 20:06:38 UTC]    Language field in books: YES
[22-Nov-2025 20:06:38 UTC]    Format field in books: YES
[22-Nov-2025 20:06:38 UTC]    Description field in categories: YES
[22-Nov-2025 20:06:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:06:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:06:38 UTC]    Is_active field in books: YES
[22-Nov-2025 20:06:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:06:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:06:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:06:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:06:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:06:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:06:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:06:38 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:06:38 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:06:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:06:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:06:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:06:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:06:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:06:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:06:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:06:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:06:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:06:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:06:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:06:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:06:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:06:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:06:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:06:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:06:38 UTC] 📊 Database Info:
[22-Nov-2025 20:06:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:06:38 UTC]    Books columns count: 44
[22-Nov-2025 20:06:38 UTC]    Categories columns count: 7
[22-Nov-2025 20:06:38 UTC]    Language field in books: YES
[22-Nov-2025 20:06:38 UTC]    Format field in books: YES
[22-Nov-2025 20:06:38 UTC]    Description field in categories: YES
[22-Nov-2025 20:06:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:06:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:06:38 UTC]    Is_active field in books: YES
[22-Nov-2025 20:06:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:06:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:06:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:06:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:06:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:06:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:06:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:06:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:06:38 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:06:38 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:07:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:04 UTC] 📊 Database Info:
[22-Nov-2025 20:07:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:04 UTC]    Books columns count: 44
[22-Nov-2025 20:07:04 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:04 UTC]    Language field in books: YES
[22-Nov-2025 20:07:04 UTC]    Format field in books: YES
[22-Nov-2025 20:07:04 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:04 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:04 UTC] 📊 Database Info:
[22-Nov-2025 20:07:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:04 UTC]    Books columns count: 44
[22-Nov-2025 20:07:04 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:04 UTC]    Language field in books: YES
[22-Nov-2025 20:07:04 UTC]    Format field in books: YES
[22-Nov-2025 20:07:04 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:04 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:04 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:07:04 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:07:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:04 UTC] 📊 Database Info:
[22-Nov-2025 20:07:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:04 UTC]    Books columns count: 44
[22-Nov-2025 20:07:04 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:04 UTC]    Language field in books: YES
[22-Nov-2025 20:07:04 UTC]    Format field in books: YES
[22-Nov-2025 20:07:04 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:04 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:04 UTC] 📊 Database Info:
[22-Nov-2025 20:07:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:04 UTC]    Books columns count: 44
[22-Nov-2025 20:07:04 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:04 UTC]    Language field in books: YES
[22-Nov-2025 20:07:04 UTC]    Format field in books: YES
[22-Nov-2025 20:07:04 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:04 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:04 UTC] 📊 Database Info:
[22-Nov-2025 20:07:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:04 UTC]    Books columns count: 44
[22-Nov-2025 20:07:04 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:04 UTC]    Language field in books: YES
[22-Nov-2025 20:07:04 UTC]    Format field in books: YES
[22-Nov-2025 20:07:04 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:04 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:04 UTC] 📊 Database Info:
[22-Nov-2025 20:07:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:04 UTC]    Books columns count: 44
[22-Nov-2025 20:07:04 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:04 UTC]    Language field in books: YES
[22-Nov-2025 20:07:04 UTC]    Format field in books: YES
[22-Nov-2025 20:07:04 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:04 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:04 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:07:04 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:07:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:07 UTC] 📊 Database Info:
[22-Nov-2025 20:07:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:07 UTC]    Books columns count: 44
[22-Nov-2025 20:07:07 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:07 UTC]    Language field in books: YES
[22-Nov-2025 20:07:07 UTC]    Format field in books: YES
[22-Nov-2025 20:07:07 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:07 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:09 UTC] 📊 Database Info:
[22-Nov-2025 20:07:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:09 UTC]    Books columns count: 44
[22-Nov-2025 20:07:09 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:09 UTC]    Language field in books: YES
[22-Nov-2025 20:07:09 UTC]    Format field in books: YES
[22-Nov-2025 20:07:09 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:09 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:09 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:07:09 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:07:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:09 UTC] 📊 Database Info:
[22-Nov-2025 20:07:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:09 UTC]    Books columns count: 44
[22-Nov-2025 20:07:09 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:09 UTC]    Language field in books: YES
[22-Nov-2025 20:07:09 UTC]    Format field in books: YES
[22-Nov-2025 20:07:09 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:09 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:09 UTC] 📊 Database Info:
[22-Nov-2025 20:07:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:09 UTC]    Books columns count: 44
[22-Nov-2025 20:07:09 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:09 UTC]    Language field in books: YES
[22-Nov-2025 20:07:09 UTC]    Format field in books: YES
[22-Nov-2025 20:07:09 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:09 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:09 UTC] 📊 Database Info:
[22-Nov-2025 20:07:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:09 UTC]    Books columns count: 44
[22-Nov-2025 20:07:09 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:09 UTC]    Language field in books: YES
[22-Nov-2025 20:07:09 UTC]    Format field in books: YES
[22-Nov-2025 20:07:09 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:09 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:09 UTC] 📊 Database Info:
[22-Nov-2025 20:07:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:09 UTC]    Books columns count: 44
[22-Nov-2025 20:07:09 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:09 UTC]    Language field in books: YES
[22-Nov-2025 20:07:09 UTC]    Format field in books: YES
[22-Nov-2025 20:07:09 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:09 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:09 UTC] 📊 Database Info:
[22-Nov-2025 20:07:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:09 UTC]    Books columns count: 44
[22-Nov-2025 20:07:09 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:09 UTC]    Language field in books: YES
[22-Nov-2025 20:07:09 UTC]    Format field in books: YES
[22-Nov-2025 20:07:09 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:09 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:09 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:07:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:09 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:18 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:18 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:18 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:18 UTC] 📊 Database Info:
[22-Nov-2025 20:07:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:18 UTC]    Books columns count: 44
[22-Nov-2025 20:07:18 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:18 UTC]    Language field in books: YES
[22-Nov-2025 20:07:18 UTC]    Format field in books: YES
[22-Nov-2025 20:07:18 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:18 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:18 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:18 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:18 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:18 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:18 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:18 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:18 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:07:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:07:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:07:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:07:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:07:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:07:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:07:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:19 UTC] 📊 Database Info:
[22-Nov-2025 20:07:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:19 UTC]    Books columns count: 44
[22-Nov-2025 20:07:19 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:19 UTC]    Language field in books: YES
[22-Nov-2025 20:07:19 UTC]    Format field in books: YES
[22-Nov-2025 20:07:19 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:19 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:07:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:19 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:07:19 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:07:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:19 UTC] 📊 Database Info:
[22-Nov-2025 20:07:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:19 UTC]    Books columns count: 44
[22-Nov-2025 20:07:19 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:19 UTC]    Language field in books: YES
[22-Nov-2025 20:07:19 UTC]    Format field in books: YES
[22-Nov-2025 20:07:19 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:19 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:20 UTC] 📊 Database Info:
[22-Nov-2025 20:07:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:20 UTC]    Books columns count: 44
[22-Nov-2025 20:07:20 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:20 UTC]    Language field in books: YES
[22-Nov-2025 20:07:20 UTC]    Format field in books: YES
[22-Nov-2025 20:07:20 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:20 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:07:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:07:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:07:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:07:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:07:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:20 UTC] 📊 Database Info:
[22-Nov-2025 20:07:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:20 UTC]    Books columns count: 44
[22-Nov-2025 20:07:20 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:20 UTC]    Language field in books: YES
[22-Nov-2025 20:07:20 UTC]    Format field in books: YES
[22-Nov-2025 20:07:20 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:20 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:20 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:07:20 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:07:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:20 UTC] 📊 Database Info:
[22-Nov-2025 20:07:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:20 UTC]    Books columns count: 44
[22-Nov-2025 20:07:20 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:20 UTC]    Language field in books: YES
[22-Nov-2025 20:07:20 UTC]    Format field in books: YES
[22-Nov-2025 20:07:20 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:20 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:07:20 UTC] 📊 Database Info:
[22-Nov-2025 20:07:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:07:20 UTC]    Books columns count: 44
[22-Nov-2025 20:07:20 UTC]    Categories columns count: 7
[22-Nov-2025 20:07:20 UTC]    Language field in books: YES
[22-Nov-2025 20:07:20 UTC]    Format field in books: YES
[22-Nov-2025 20:07:20 UTC]    Description field in categories: YES
[22-Nov-2025 20:07:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:07:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:07:20 UTC]    Is_active field in books: YES
[22-Nov-2025 20:07:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:07:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:07:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:07:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:07:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:07:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:07:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:10:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:10:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:10:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:10:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:10:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:10:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:10:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:10:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:10:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:10:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:10:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:10:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:10:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:10:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:10:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:10:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:10:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:10:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:10:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:10:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:10:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:10:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:10:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:10:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:10:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:10:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:10:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:10:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:10:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:10:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:10:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:10:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:10:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:10:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:10:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:10:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:10:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:10:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:10:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:10:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:10:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:10:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:10:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:10:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:10:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:10:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:10:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:10:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:10:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:10:09 UTC] 📊 Database Info:
[22-Nov-2025 20:10:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:10:09 UTC]    Books columns count: 44
[22-Nov-2025 20:10:09 UTC]    Categories columns count: 7
[22-Nov-2025 20:10:09 UTC]    Language field in books: YES
[22-Nov-2025 20:10:09 UTC]    Format field in books: YES
[22-Nov-2025 20:10:09 UTC]    Description field in categories: YES
[22-Nov-2025 20:10:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:10:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:10:09 UTC]    Is_active field in books: YES
[22-Nov-2025 20:10:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:10:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:10:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:10:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:10:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:10:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:10:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:10:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:10:09 UTC] 📊 Database Info:
[22-Nov-2025 20:10:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:10:09 UTC]    Books columns count: 44
[22-Nov-2025 20:10:09 UTC]    Categories columns count: 7
[22-Nov-2025 20:10:09 UTC]    Language field in books: YES
[22-Nov-2025 20:10:09 UTC]    Format field in books: YES
[22-Nov-2025 20:10:09 UTC]    Description field in categories: YES
[22-Nov-2025 20:10:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:10:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:10:09 UTC]    Is_active field in books: YES
[22-Nov-2025 20:10:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:10:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:10:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:10:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:10:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:10:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:10:09 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:10:09 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:10:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:10:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:10:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:10:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:10:09 UTC] 📊 Database Info:
[22-Nov-2025 20:10:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:10:09 UTC]    Books columns count: 44
[22-Nov-2025 20:10:09 UTC]    Categories columns count: 7
[22-Nov-2025 20:10:09 UTC]    Language field in books: YES
[22-Nov-2025 20:10:09 UTC]    Format field in books: YES
[22-Nov-2025 20:10:09 UTC]    Description field in categories: YES
[22-Nov-2025 20:10:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:10:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:10:09 UTC]    Is_active field in books: YES
[22-Nov-2025 20:10:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:10:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:10:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:10:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:10:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:10:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:10:09 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 20:10:09 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 20:11:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:11:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:11:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:11:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:11:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:11:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:11:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:11:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:11:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:11:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:11:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:11:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:11:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:11:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:11:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:11:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:11:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:11:37 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:11:37 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:11:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:11:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:11:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:11:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:11:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:11:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:11:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:11:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:11:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:11:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:11:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:11:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:11:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:11:37 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:11:37 UTC] 📊 Database Info:
[22-Nov-2025 20:11:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:11:37 UTC]    Books columns count: 44
[22-Nov-2025 20:11:37 UTC]    Categories columns count: 7
[22-Nov-2025 20:11:37 UTC]    Language field in books: YES
[22-Nov-2025 20:11:37 UTC]    Format field in books: YES
[22-Nov-2025 20:11:37 UTC]    Description field in categories: YES
[22-Nov-2025 20:11:37 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:11:37 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:11:37 UTC]    Is_active field in books: YES
[22-Nov-2025 20:11:37 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:11:37 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:11:37 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:11:37 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:11:37 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:11:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:11:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:11:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:11:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:11:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:11:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:11:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:11:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:11:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:11:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:11:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:11:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:11:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:11:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:11:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:11:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:11:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:11:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:11:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:11:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:11:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:11:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:11:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:11:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:11:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:11:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:11:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:11:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:11:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:11:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:11:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:11:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:11:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:11:38 UTC] 📊 Database Info:
[22-Nov-2025 20:11:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:11:38 UTC]    Books columns count: 44
[22-Nov-2025 20:11:38 UTC]    Categories columns count: 7
[22-Nov-2025 20:11:38 UTC]    Language field in books: YES
[22-Nov-2025 20:11:38 UTC]    Format field in books: YES
[22-Nov-2025 20:11:38 UTC]    Description field in categories: YES
[22-Nov-2025 20:11:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:11:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:11:38 UTC]    Is_active field in books: YES
[22-Nov-2025 20:11:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:11:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:11:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:11:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:11:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:11:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:11:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:11:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:11:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:11:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:11:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:11:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:11:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:11:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:11:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:11:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:11:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:11:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:11:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:11:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:11:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:11:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:11:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:11:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:11:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:11:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:11:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:11:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:11:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:11:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:11:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:11:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:11:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:11:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:11:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:11:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:11:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:11:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:11:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:11:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:11:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:11:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:11:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:11:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:11:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:11:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:11:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:11:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:11:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:11:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:11:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:11:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:11:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:11:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:11:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:11:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:11:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:11:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:11:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:11:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:11:54 UTC] 📊 Database Info:
[22-Nov-2025 20:11:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:11:54 UTC]    Books columns count: 44
[22-Nov-2025 20:11:54 UTC]    Categories columns count: 7
[22-Nov-2025 20:11:54 UTC]    Language field in books: YES
[22-Nov-2025 20:11:54 UTC]    Format field in books: YES
[22-Nov-2025 20:11:54 UTC]    Description field in categories: YES
[22-Nov-2025 20:11:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:11:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:11:54 UTC]    Is_active field in books: YES
[22-Nov-2025 20:11:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:11:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:11:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:11:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:11:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:11:54 UTC] 📊 Database Info:
[22-Nov-2025 20:11:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:11:54 UTC]    Books columns count: 44
[22-Nov-2025 20:11:54 UTC]    Categories columns count: 7
[22-Nov-2025 20:11:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:11:54 UTC]    Language field in books: YES
[22-Nov-2025 20:11:54 UTC]    Format field in books: YES
[22-Nov-2025 20:11:54 UTC]    Description field in categories: YES
[22-Nov-2025 20:11:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:11:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:11:54 UTC]    Is_active field in books: YES
[22-Nov-2025 20:11:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:11:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:11:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:11:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:11:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:11:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:11:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:11:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:11:54 UTC] 📊 Database Info:
[22-Nov-2025 20:11:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:11:54 UTC]    Books columns count: 44
[22-Nov-2025 20:11:54 UTC]    Categories columns count: 7
[22-Nov-2025 20:11:54 UTC]    Language field in books: YES
[22-Nov-2025 20:11:54 UTC]    Format field in books: YES
[22-Nov-2025 20:11:54 UTC]    Description field in categories: YES
[22-Nov-2025 20:11:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:11:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:11:54 UTC]    Is_active field in books: YES
[22-Nov-2025 20:11:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:11:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:11:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:11:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:11:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:11:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:11:54 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 20:11:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:11:54 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:11:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:11:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:11:54 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 20:11:54 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 20:12:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:12:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:12:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:12:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:12:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:12:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:12:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:12:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:12:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:12:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:12:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:12:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:12:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:12:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:12:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:12:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:12:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:12:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:12:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:12:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:12:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:12:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:12:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:12:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:12:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:12:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:12:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:12:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:12:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:12:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:12:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:12:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:12:39 UTC] 📊 Database Info:
[22-Nov-2025 20:12:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:12:39 UTC]    Books columns count: 44
[22-Nov-2025 20:12:39 UTC]    Categories columns count: 7
[22-Nov-2025 20:12:39 UTC]    Language field in books: YES
[22-Nov-2025 20:12:39 UTC]    Format field in books: YES
[22-Nov-2025 20:12:39 UTC]    Description field in categories: YES
[22-Nov-2025 20:12:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:12:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:12:39 UTC]    Is_active field in books: YES
[22-Nov-2025 20:12:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:12:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:12:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:12:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:12:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:12:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:12:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:12:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:12:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:12:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:12:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:12:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:12:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:12:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:12:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:12:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:12:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:12:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:12:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:12:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:12:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:12:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:12:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:12:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:12:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:12:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:12:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:12:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:12:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:12:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:12:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:12:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:12:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:12:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:12:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:12:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:12:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:12:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:12:41 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:12:41 UTC] 📊 Database Info:
[22-Nov-2025 20:12:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:12:41 UTC]    Books columns count: 44
[22-Nov-2025 20:12:41 UTC]    Categories columns count: 7
[22-Nov-2025 20:12:41 UTC]    Language field in books: YES
[22-Nov-2025 20:12:41 UTC]    Format field in books: YES
[22-Nov-2025 20:12:41 UTC]    Description field in categories: YES
[22-Nov-2025 20:12:41 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:12:41 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:12:41 UTC]    Is_active field in books: YES
[22-Nov-2025 20:12:41 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:12:41 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:12:41 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:12:41 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:12:41 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:12:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:12:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:12:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:12:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:12:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:12:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:12:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:12:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:12:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:12:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:12:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:12:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:12:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:27:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:27:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:27:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:27:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:27:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:27:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:27:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:27:25 UTC] 📊 Database Info:
[22-Nov-2025 20:27:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:27:25 UTC]    Books columns count: 44
[22-Nov-2025 20:27:25 UTC]    Categories columns count: 7
[22-Nov-2025 20:27:25 UTC]    Language field in books: YES
[22-Nov-2025 20:27:25 UTC]    Format field in books: YES
[22-Nov-2025 20:27:25 UTC]    Description field in categories: YES
[22-Nov-2025 20:27:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:27:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:27:25 UTC]    Is_active field in books: YES
[22-Nov-2025 20:27:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:27:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:27:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:27:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:27:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:27:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:27:25 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 20:27:25 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 20:27:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:27:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:27:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:27:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:27:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:27:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:27:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:27:25 UTC] 📊 Database Info:
[22-Nov-2025 20:27:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:27:25 UTC]    Books columns count: 44
[22-Nov-2025 20:27:25 UTC]    Categories columns count: 7
[22-Nov-2025 20:27:25 UTC]    Language field in books: YES
[22-Nov-2025 20:27:25 UTC]    Format field in books: YES
[22-Nov-2025 20:27:25 UTC]    Description field in categories: YES
[22-Nov-2025 20:27:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:27:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:27:25 UTC]    Is_active field in books: YES
[22-Nov-2025 20:27:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:27:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:27:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:27:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:27:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:27:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:27:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:27:25 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 20:27:25 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 20:27:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:27:25 UTC] 📊 Database Info:
[22-Nov-2025 20:27:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:27:25 UTC]    Books columns count: 44
[22-Nov-2025 20:27:25 UTC]    Categories columns count: 7
[22-Nov-2025 20:27:25 UTC]    Language field in books: YES
[22-Nov-2025 20:27:25 UTC]    Format field in books: YES
[22-Nov-2025 20:27:25 UTC]    Description field in categories: YES
[22-Nov-2025 20:27:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:27:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:27:25 UTC]    Is_active field in books: YES
[22-Nov-2025 20:27:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:27:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:27:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:27:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:27:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:27:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:27:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:27:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:27:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:27:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:27:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:27:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:27:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:27:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:27:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:27:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:27:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:27:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:27:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:27:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:27:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:27:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:27:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:27:36 UTC] 📊 Database Info:
[22-Nov-2025 20:27:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:27:36 UTC]    Books columns count: 44
[22-Nov-2025 20:27:36 UTC]    Categories columns count: 7
[22-Nov-2025 20:27:36 UTC]    Language field in books: YES
[22-Nov-2025 20:27:36 UTC]    Format field in books: YES
[22-Nov-2025 20:27:36 UTC]    Description field in categories: YES
[22-Nov-2025 20:27:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:27:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:27:36 UTC]    Is_active field in books: YES
[22-Nov-2025 20:27:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:27:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:27:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:27:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:27:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:27:36 UTC] 📊 Database Info:
[22-Nov-2025 20:27:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:27:36 UTC]    Books columns count: 44
[22-Nov-2025 20:27:36 UTC]    Categories columns count: 7
[22-Nov-2025 20:27:36 UTC]    Language field in books: YES
[22-Nov-2025 20:27:36 UTC]    Format field in books: YES
[22-Nov-2025 20:27:36 UTC]    Description field in categories: YES
[22-Nov-2025 20:27:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:27:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:27:36 UTC]    Is_active field in books: YES
[22-Nov-2025 20:27:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:27:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:27:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:27:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:27:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:27:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:27:36 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:27:36 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:27:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:27:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:27:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:27:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:27:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:27:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:27:36 UTC] 📊 Database Info:
[22-Nov-2025 20:27:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:27:36 UTC]    Books columns count: 44
[22-Nov-2025 20:27:36 UTC]    Categories columns count: 7
[22-Nov-2025 20:27:36 UTC]    Language field in books: YES
[22-Nov-2025 20:27:36 UTC]    Format field in books: YES
[22-Nov-2025 20:27:36 UTC]    Description field in categories: YES
[22-Nov-2025 20:27:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:27:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:27:36 UTC]    Is_active field in books: YES
[22-Nov-2025 20:27:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:27:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:27:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:27:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:27:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:27:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:27:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:27:36 UTC] 📊 Database Info:
[22-Nov-2025 20:27:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:27:36 UTC]    Books columns count: 44
[22-Nov-2025 20:27:36 UTC]    Categories columns count: 7
[22-Nov-2025 20:27:36 UTC]    Language field in books: YES
[22-Nov-2025 20:27:36 UTC]    Format field in books: YES
[22-Nov-2025 20:27:36 UTC]    Description field in categories: YES
[22-Nov-2025 20:27:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:27:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:27:36 UTC]    Is_active field in books: YES
[22-Nov-2025 20:27:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:27:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:27:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:27:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:27:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:27:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:27:36 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:27:36 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:27:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:27:36 UTC] 📊 Database Info:
[22-Nov-2025 20:27:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:27:36 UTC]    Books columns count: 44
[22-Nov-2025 20:27:36 UTC]    Categories columns count: 7
[22-Nov-2025 20:27:36 UTC]    Language field in books: YES
[22-Nov-2025 20:27:36 UTC]    Format field in books: YES
[22-Nov-2025 20:27:36 UTC]    Description field in categories: YES
[22-Nov-2025 20:27:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:27:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:27:36 UTC]    Is_active field in books: YES
[22-Nov-2025 20:27:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:27:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:27:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:27:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:27:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:27:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:27:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:27:36 UTC] 📊 Database Info:
[22-Nov-2025 20:27:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:27:36 UTC]    Books columns count: 44
[22-Nov-2025 20:27:36 UTC]    Categories columns count: 7
[22-Nov-2025 20:27:36 UTC]    Language field in books: YES
[22-Nov-2025 20:27:36 UTC]    Format field in books: YES
[22-Nov-2025 20:27:36 UTC]    Description field in categories: YES
[22-Nov-2025 20:27:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:27:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:27:36 UTC]    Is_active field in books: YES
[22-Nov-2025 20:27:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:27:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:27:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:27:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:27:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:27:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:27:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:27:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:27:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:27:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:27:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:27:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:27:50 UTC] 📊 Database Info:
[22-Nov-2025 20:27:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:27:50 UTC]    Books columns count: 44
[22-Nov-2025 20:27:50 UTC]    Categories columns count: 7
[22-Nov-2025 20:27:50 UTC]    Language field in books: YES
[22-Nov-2025 20:27:50 UTC]    Format field in books: YES
[22-Nov-2025 20:27:50 UTC]    Description field in categories: YES
[22-Nov-2025 20:27:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:27:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:27:50 UTC]    Is_active field in books: YES
[22-Nov-2025 20:27:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:27:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:27:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:27:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:27:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:27:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:27:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:27:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:27:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:27:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:27:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:27:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:27:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:27:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:27:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:27:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:27:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:27:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:27:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:27:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:27:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:27:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:27:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:27:52 UTC] 📊 Database Info:
[22-Nov-2025 20:27:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:27:52 UTC]    Books columns count: 44
[22-Nov-2025 20:27:52 UTC]    Categories columns count: 7
[22-Nov-2025 20:27:52 UTC]    Language field in books: YES
[22-Nov-2025 20:27:52 UTC]    Format field in books: YES
[22-Nov-2025 20:27:52 UTC]    Description field in categories: YES
[22-Nov-2025 20:27:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:27:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:27:52 UTC]    Is_active field in books: YES
[22-Nov-2025 20:27:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:27:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:27:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:27:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:27:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:27:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:27:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:27:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:27:53 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:53 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:53 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:53 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:53 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:53 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:53 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:53 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:27:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:27:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:27:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:27:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:27:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:27:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:27:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:27:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:27:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:27:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:27:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:27:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:27:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:27:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:27:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:27:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:27:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:27:54 UTC] 📊 Database Info:
[22-Nov-2025 20:27:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:27:54 UTC]    Books columns count: 44
[22-Nov-2025 20:27:54 UTC]    Categories columns count: 7
[22-Nov-2025 20:27:54 UTC]    Language field in books: YES
[22-Nov-2025 20:27:54 UTC]    Format field in books: YES
[22-Nov-2025 20:27:54 UTC]    Description field in categories: YES
[22-Nov-2025 20:27:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:27:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:27:54 UTC]    Is_active field in books: YES
[22-Nov-2025 20:27:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:27:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:27:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:27:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:27:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:27:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:27:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:27:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:27:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:27:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:27:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:27:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:27:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:27:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:27:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:27:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:27:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:27:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:28:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:28:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:28:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:28:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:28:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:28:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:28:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:28:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:28:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:28:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:28:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:28:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:28:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:28:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:28:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:28:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:28:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:28:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:28:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:28:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:28:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:28:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:28:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:28:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:28:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:28:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:28:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:28:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:28:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:28:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:28:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:28:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:28:08 UTC] 📊 Database Info:
[22-Nov-2025 20:28:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:28:08 UTC]    Books columns count: 44
[22-Nov-2025 20:28:08 UTC]    Categories columns count: 7
[22-Nov-2025 20:28:08 UTC]    Language field in books: YES
[22-Nov-2025 20:28:08 UTC]    Format field in books: YES
[22-Nov-2025 20:28:08 UTC]    Description field in categories: YES
[22-Nov-2025 20:28:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:28:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:28:08 UTC]    Is_active field in books: YES
[22-Nov-2025 20:28:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:28:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:28:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:28:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:28:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:28:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:28:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:28:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:28:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:28:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:28:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:28:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:28:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:28:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:28:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:28:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:28:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:28:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:28:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:28:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:28:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:28:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:28:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:28:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:28:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:28:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:28:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:28:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:28:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:28:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:28:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:28:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:28:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:28:42 UTC] 📊 Database Info:
[22-Nov-2025 20:28:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:28:42 UTC]    Books columns count: 44
[22-Nov-2025 20:28:42 UTC]    Categories columns count: 7
[22-Nov-2025 20:28:42 UTC]    Language field in books: YES
[22-Nov-2025 20:28:42 UTC]    Format field in books: YES
[22-Nov-2025 20:28:42 UTC]    Description field in categories: YES
[22-Nov-2025 20:28:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:28:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:28:42 UTC]    Is_active field in books: YES
[22-Nov-2025 20:28:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:28:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:28:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:28:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:28:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:28:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:28:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:28:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:28:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:28:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:28:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:28:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:28:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:28:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:28:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:28:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:28:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:28:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:28:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:28:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:28:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:28:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:28:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:28:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:28:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:28:42 UTC] 📊 Database Info:
[22-Nov-2025 20:28:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:28:42 UTC]    Books columns count: 44
[22-Nov-2025 20:28:42 UTC]    Categories columns count: 7
[22-Nov-2025 20:28:42 UTC]    Language field in books: YES
[22-Nov-2025 20:28:42 UTC]    Format field in books: YES
[22-Nov-2025 20:28:42 UTC]    Description field in categories: YES
[22-Nov-2025 20:28:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:28:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:28:42 UTC]    Is_active field in books: YES
[22-Nov-2025 20:28:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:28:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:28:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:28:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:28:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:28:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:29:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:29:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:29:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:29:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:29:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:29:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:29:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:29:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:29:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:29:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:29:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:29:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:29:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:29:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:29:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:29:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:29:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:29:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:29:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:29:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:29:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:29:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:29:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:29:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:29:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:29:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:29:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:29:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:29:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:29:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:29:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:29:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:29:39 UTC] 📊 Database Info:
[22-Nov-2025 20:29:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:29:39 UTC]    Books columns count: 44
[22-Nov-2025 20:29:39 UTC]    Categories columns count: 7
[22-Nov-2025 20:29:39 UTC]    Language field in books: YES
[22-Nov-2025 20:29:39 UTC]    Format field in books: YES
[22-Nov-2025 20:29:39 UTC]    Description field in categories: YES
[22-Nov-2025 20:29:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:29:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:29:39 UTC]    Is_active field in books: YES
[22-Nov-2025 20:29:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:29:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:29:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:29:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:29:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:29:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:29:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:29:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:29:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:29:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:29:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:29:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:29:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:29:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:29:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:29:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:29:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:29:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:30:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:30:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:30:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:30:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:30:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:30:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:30:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:30:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:30:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:30:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:30:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:30:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:30:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:30:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:30:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:30:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:30:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:30:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:30:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:30:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:30:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:30:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:30:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:30:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:30:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:30:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:30:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:30:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:30:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:30:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:30:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:30:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:30:17 UTC] 📊 Database Info:
[22-Nov-2025 20:30:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:30:17 UTC]    Books columns count: 44
[22-Nov-2025 20:30:17 UTC]    Categories columns count: 7
[22-Nov-2025 20:30:17 UTC]    Language field in books: YES
[22-Nov-2025 20:30:17 UTC]    Format field in books: YES
[22-Nov-2025 20:30:17 UTC]    Description field in categories: YES
[22-Nov-2025 20:30:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:30:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:30:17 UTC]    Is_active field in books: YES
[22-Nov-2025 20:30:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:30:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:30:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:30:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:30:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:30:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:30:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:30:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:30:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:30:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:30:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:30:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:30:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:30:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:30:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:30:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:30:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:30:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:30:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:30:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:30:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:30:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:30:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:30:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:30:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:30:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:30:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:30:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:30:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:30:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:30:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:30:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:30:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:30:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:30:18 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:30:18 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:30:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:30:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:30:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:30:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:30:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:30:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:30:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:30:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:30:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:30:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:30:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:30:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:30:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:30:18 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:30:18 UTC] 📊 Database Info:
[22-Nov-2025 20:30:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:30:18 UTC]    Books columns count: 44
[22-Nov-2025 20:30:18 UTC]    Categories columns count: 7
[22-Nov-2025 20:30:18 UTC]    Language field in books: YES
[22-Nov-2025 20:30:18 UTC]    Format field in books: YES
[22-Nov-2025 20:30:18 UTC]    Description field in categories: YES
[22-Nov-2025 20:30:18 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:30:18 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:30:18 UTC]    Is_active field in books: YES
[22-Nov-2025 20:30:18 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:30:18 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:30:18 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:30:18 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:30:18 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:30:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:30:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:30:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:30:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:30:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:30:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:30:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:30:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:30:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:30:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:30:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:30:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:30:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:30:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:30:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:30:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:30:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:30:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:30:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:30:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:30:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:30:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:30:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:30:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:30:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:30:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:30:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:30:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:30:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:30:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:30:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:30:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:30:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:30:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:30:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:30:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:30:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:30:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:30:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:30:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:30:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:30:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:30:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:30:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:30:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:30:50 UTC] 📊 Database Info:
[22-Nov-2025 20:30:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:30:50 UTC]    Books columns count: 44
[22-Nov-2025 20:30:50 UTC]    Categories columns count: 7
[22-Nov-2025 20:30:50 UTC]    Language field in books: YES
[22-Nov-2025 20:30:50 UTC]    Format field in books: YES
[22-Nov-2025 20:30:50 UTC]    Description field in categories: YES
[22-Nov-2025 20:30:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:30:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:30:50 UTC]    Is_active field in books: YES
[22-Nov-2025 20:30:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:30:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:30:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:30:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:30:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:30:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:30:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:31:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:31:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:31:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:31:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:31:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:31:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:31:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:31:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:31:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:31:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:31:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:31:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:31:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:31:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:31:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:31:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:31:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:31:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:31:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:31:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:31:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:31:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:31:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:31:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:31:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:31:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:31:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:31:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:31:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:31:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:31:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:31:25 UTC] 📊 Database Info:
[22-Nov-2025 20:31:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:31:25 UTC]    Books columns count: 44
[22-Nov-2025 20:31:25 UTC]    Categories columns count: 7
[22-Nov-2025 20:31:25 UTC]    Language field in books: YES
[22-Nov-2025 20:31:25 UTC]    Format field in books: YES
[22-Nov-2025 20:31:25 UTC]    Description field in categories: YES
[22-Nov-2025 20:31:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:31:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:31:25 UTC]    Is_active field in books: YES
[22-Nov-2025 20:31:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:31:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:31:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:31:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:31:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:31:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:31:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:31:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:31:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:31:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:31:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:31:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:31:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:31:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:31:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:31:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:31:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:31:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:31:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:31:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:31:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:31:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:31:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:31:26 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:31:26 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:31:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:31:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:31:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:31:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:31:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:31:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:31:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:31:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:31:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:31:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:31:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:31:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:31:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:31:26 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:31:26 UTC] 📊 Database Info:
[22-Nov-2025 20:31:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:31:26 UTC]    Books columns count: 44
[22-Nov-2025 20:31:26 UTC]    Categories columns count: 7
[22-Nov-2025 20:31:26 UTC]    Language field in books: YES
[22-Nov-2025 20:31:26 UTC]    Format field in books: YES
[22-Nov-2025 20:31:26 UTC]    Description field in categories: YES
[22-Nov-2025 20:31:26 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:31:26 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:31:26 UTC]    Is_active field in books: YES
[22-Nov-2025 20:31:26 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:31:26 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:31:26 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:31:26 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:31:26 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:31:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:31:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:31:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:31:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:31:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:31:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:31:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:31:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:31:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:31:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:31:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:31:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:31:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:31:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:31:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:31:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:31:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:31:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:31:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:31:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:31:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:31:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:31:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:31:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:31:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:31:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:31:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:31:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:31:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:31:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:31:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:31:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:31:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:31:30 UTC] 📊 Database Info:
[22-Nov-2025 20:31:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:31:30 UTC]    Books columns count: 44
[22-Nov-2025 20:31:30 UTC]    Categories columns count: 7
[22-Nov-2025 20:31:30 UTC]    Language field in books: YES
[22-Nov-2025 20:31:30 UTC]    Format field in books: YES
[22-Nov-2025 20:31:30 UTC]    Description field in categories: YES
[22-Nov-2025 20:31:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:31:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:31:30 UTC]    Is_active field in books: YES
[22-Nov-2025 20:31:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:31:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:31:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:31:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:31:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:31:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:31:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:31:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:31:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:31:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:31:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:31:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:31:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:31:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:31:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:31:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:31:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:31:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:31:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:31:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:31:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:31:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:31:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:31:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:31:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:31:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:31:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:31:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:31:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:31:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:31:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:31:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:31:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:31:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:31:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:31:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:31:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:31:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:31:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:31:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:31:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:31:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:31:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:31:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:31:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:31:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:31:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:31:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:31:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:31:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:31:34 UTC] 📊 Database Info:
[22-Nov-2025 20:31:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:31:34 UTC]    Books columns count: 44
[22-Nov-2025 20:31:34 UTC]    Categories columns count: 7
[22-Nov-2025 20:31:34 UTC]    Language field in books: YES
[22-Nov-2025 20:31:34 UTC]    Format field in books: YES
[22-Nov-2025 20:31:34 UTC]    Description field in categories: YES
[22-Nov-2025 20:31:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:31:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:31:34 UTC]    Is_active field in books: YES
[22-Nov-2025 20:31:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:31:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:31:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:31:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:31:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:31:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:31:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:31:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:31:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:31:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:31:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:31:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:31:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:31:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:31:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:31:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:31:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:31:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:31:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:31:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:31:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:31:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:31:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:31:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:31:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:31:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:31:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:31:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:31:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:31:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:31:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:31:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:31:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:31:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:31:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:31:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:31:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:31:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:31:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:31:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:31:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:31:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:31:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:31:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:31:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:31:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:31:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:31:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:31:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:31:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:31:40 UTC] 📊 Database Info:
[22-Nov-2025 20:31:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:31:40 UTC]    Books columns count: 44
[22-Nov-2025 20:31:40 UTC]    Categories columns count: 7
[22-Nov-2025 20:31:40 UTC]    Language field in books: YES
[22-Nov-2025 20:31:40 UTC]    Format field in books: YES
[22-Nov-2025 20:31:40 UTC]    Description field in categories: YES
[22-Nov-2025 20:31:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:31:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:31:40 UTC]    Is_active field in books: YES
[22-Nov-2025 20:31:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:31:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:31:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:31:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:31:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:31:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:31:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:32:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:32:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:32:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:32:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:32:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:32:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:32:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:32:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:32:37 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:32:37 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:32:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:32:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:32:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:32:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:32:37 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:32:37 UTC] 📊 Database Info:
[22-Nov-2025 20:32:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:32:37 UTC]    Books columns count: 44
[22-Nov-2025 20:32:37 UTC]    Categories columns count: 7
[22-Nov-2025 20:32:37 UTC]    Language field in books: YES
[22-Nov-2025 20:32:37 UTC]    Format field in books: YES
[22-Nov-2025 20:32:37 UTC]    Description field in categories: YES
[22-Nov-2025 20:32:37 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:32:37 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:32:37 UTC]    Is_active field in books: YES
[22-Nov-2025 20:32:37 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:32:37 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:32:37 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:32:37 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:32:37 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:32:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:32:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:32:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:32:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:32:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:32:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:32:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:32:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:32:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:32:37 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:32:37 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:32:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:32:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:32:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:32:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:32:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:32:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:32:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:32:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:32:37 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:32:37 UTC] 📊 Database Info:
[22-Nov-2025 20:32:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:32:37 UTC]    Books columns count: 44
[22-Nov-2025 20:32:37 UTC]    Categories columns count: 7
[22-Nov-2025 20:32:37 UTC]    Language field in books: YES
[22-Nov-2025 20:32:37 UTC]    Format field in books: YES
[22-Nov-2025 20:32:37 UTC]    Description field in categories: YES
[22-Nov-2025 20:32:37 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:32:37 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:32:37 UTC]    Is_active field in books: YES
[22-Nov-2025 20:32:37 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:32:37 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:32:37 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:32:37 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:32:37 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:32:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:32:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:33:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:33:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:33:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:33:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:33:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:33:22 UTC] 📊 Database Info:
[22-Nov-2025 20:33:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:33:22 UTC]    Books columns count: 44
[22-Nov-2025 20:33:22 UTC]    Categories columns count: 7
[22-Nov-2025 20:33:22 UTC]    Language field in books: YES
[22-Nov-2025 20:33:22 UTC]    Format field in books: YES
[22-Nov-2025 20:33:22 UTC]    Description field in categories: YES
[22-Nov-2025 20:33:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:33:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:33:22 UTC]    Is_active field in books: YES
[22-Nov-2025 20:33:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:33:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:33:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:33:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:33:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:33:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:33:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:33:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:33:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:33:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:33:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:22 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:33:22 UTC] 📊 Database Info:
[22-Nov-2025 20:33:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:33:22 UTC]    Books columns count: 44
[22-Nov-2025 20:33:22 UTC]    Categories columns count: 7
[22-Nov-2025 20:33:22 UTC]    Language field in books: YES
[22-Nov-2025 20:33:22 UTC]    Format field in books: YES
[22-Nov-2025 20:33:22 UTC]    Description field in categories: YES
[22-Nov-2025 20:33:22 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:33:22 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:33:22 UTC]    Is_active field in books: YES
[22-Nov-2025 20:33:22 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:33:22 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:33:22 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:33:22 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:33:22 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:33:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:33:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:33:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:33:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:33:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:33:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:33:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:33:23 UTC] 📊 Database Info:
[22-Nov-2025 20:33:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:33:23 UTC]    Books columns count: 44
[22-Nov-2025 20:33:23 UTC]    Categories columns count: 7
[22-Nov-2025 20:33:23 UTC]    Language field in books: YES
[22-Nov-2025 20:33:23 UTC]    Format field in books: YES
[22-Nov-2025 20:33:23 UTC]    Description field in categories: YES
[22-Nov-2025 20:33:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:33:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:33:23 UTC]    Is_active field in books: YES
[22-Nov-2025 20:33:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:33:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:33:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:33:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:33:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:33:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:33:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:33:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:33:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:33:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:33:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:33:23 UTC] 📊 Database Info:
[22-Nov-2025 20:33:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:33:23 UTC]    Books columns count: 44
[22-Nov-2025 20:33:23 UTC]    Categories columns count: 7
[22-Nov-2025 20:33:23 UTC]    Language field in books: YES
[22-Nov-2025 20:33:23 UTC]    Format field in books: YES
[22-Nov-2025 20:33:23 UTC]    Description field in categories: YES
[22-Nov-2025 20:33:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:33:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:33:23 UTC]    Is_active field in books: YES
[22-Nov-2025 20:33:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:33:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:33:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:33:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:33:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:33:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:33:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:33:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:33:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:33:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:33:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:33:23 UTC] 📊 Database Info:
[22-Nov-2025 20:33:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:33:23 UTC]    Books columns count: 44
[22-Nov-2025 20:33:23 UTC]    Categories columns count: 7
[22-Nov-2025 20:33:23 UTC]    Language field in books: YES
[22-Nov-2025 20:33:23 UTC]    Format field in books: YES
[22-Nov-2025 20:33:23 UTC]    Description field in categories: YES
[22-Nov-2025 20:33:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:33:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:33:23 UTC]    Is_active field in books: YES
[22-Nov-2025 20:33:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:33:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:33:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:33:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:33:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:33:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:33:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:33:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:33:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:33:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:33:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:33:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:33:24 UTC] 📊 Database Info:
[22-Nov-2025 20:33:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:33:24 UTC]    Books columns count: 44
[22-Nov-2025 20:33:24 UTC]    Categories columns count: 7
[22-Nov-2025 20:33:24 UTC]    Language field in books: YES
[22-Nov-2025 20:33:24 UTC]    Format field in books: YES
[22-Nov-2025 20:33:24 UTC]    Description field in categories: YES
[22-Nov-2025 20:33:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:33:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:33:24 UTC]    Is_active field in books: YES
[22-Nov-2025 20:33:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:33:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:33:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:33:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:33:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:33:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:33:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:33:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:33:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:33:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:33:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:33:24 UTC] 📊 Database Info:
[22-Nov-2025 20:33:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:33:24 UTC]    Books columns count: 44
[22-Nov-2025 20:33:24 UTC]    Categories columns count: 7
[22-Nov-2025 20:33:24 UTC]    Language field in books: YES
[22-Nov-2025 20:33:24 UTC]    Format field in books: YES
[22-Nov-2025 20:33:24 UTC]    Description field in categories: YES
[22-Nov-2025 20:33:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:33:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:33:24 UTC]    Is_active field in books: YES
[22-Nov-2025 20:33:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:33:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:33:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:33:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:33:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:33:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:33:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:33:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:33:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:33:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:33:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:33:24 UTC] 📊 Database Info:
[22-Nov-2025 20:33:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:33:24 UTC]    Books columns count: 44
[22-Nov-2025 20:33:24 UTC]    Categories columns count: 7
[22-Nov-2025 20:33:24 UTC]    Language field in books: YES
[22-Nov-2025 20:33:24 UTC]    Format field in books: YES
[22-Nov-2025 20:33:24 UTC]    Description field in categories: YES
[22-Nov-2025 20:33:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:33:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:33:24 UTC]    Is_active field in books: YES
[22-Nov-2025 20:33:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:33:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:33:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:33:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:33:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:33:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:33:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:33:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:33:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:33:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:33:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:33:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:33:27 UTC] 📊 Database Info:
[22-Nov-2025 20:33:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:33:27 UTC]    Books columns count: 44
[22-Nov-2025 20:33:27 UTC]    Categories columns count: 7
[22-Nov-2025 20:33:27 UTC]    Language field in books: YES
[22-Nov-2025 20:33:27 UTC]    Format field in books: YES
[22-Nov-2025 20:33:27 UTC]    Description field in categories: YES
[22-Nov-2025 20:33:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:33:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:33:27 UTC]    Is_active field in books: YES
[22-Nov-2025 20:33:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:33:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:33:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:33:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:33:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:33:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:33:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:33:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:33:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:33:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:33:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:33:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:33:29 UTC] 📊 Database Info:
[22-Nov-2025 20:33:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:33:29 UTC]    Books columns count: 44
[22-Nov-2025 20:33:29 UTC]    Categories columns count: 7
[22-Nov-2025 20:33:29 UTC]    Language field in books: YES
[22-Nov-2025 20:33:29 UTC]    Format field in books: YES
[22-Nov-2025 20:33:29 UTC]    Description field in categories: YES
[22-Nov-2025 20:33:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:33:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:33:29 UTC]    Is_active field in books: YES
[22-Nov-2025 20:33:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:33:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:33:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:33:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:33:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:33:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:33:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:33:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:33:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:33:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:33:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:33:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:33:30 UTC] 📊 Database Info:
[22-Nov-2025 20:33:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:33:30 UTC]    Books columns count: 44
[22-Nov-2025 20:33:30 UTC]    Categories columns count: 7
[22-Nov-2025 20:33:30 UTC]    Language field in books: YES
[22-Nov-2025 20:33:30 UTC]    Format field in books: YES
[22-Nov-2025 20:33:30 UTC]    Description field in categories: YES
[22-Nov-2025 20:33:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:33:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:33:30 UTC]    Is_active field in books: YES
[22-Nov-2025 20:33:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:33:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:33:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:33:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:33:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:33:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:33:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:33:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:33:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:33:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:33:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:33:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:33:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:33:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:33:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:33:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:33:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:33:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:33:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:33:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:33:30 UTC] 📊 Database Info:
[22-Nov-2025 20:33:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:33:30 UTC]    Books columns count: 44
[22-Nov-2025 20:33:30 UTC]    Categories columns count: 7
[22-Nov-2025 20:33:30 UTC]    Language field in books: YES
[22-Nov-2025 20:33:30 UTC]    Format field in books: YES
[22-Nov-2025 20:33:30 UTC]    Description field in categories: YES
[22-Nov-2025 20:33:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:33:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:33:30 UTC]    Is_active field in books: YES
[22-Nov-2025 20:33:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:33:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:33:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:33:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:33:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:33:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:33:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:35:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:35:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:35:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:35:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:35:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:35:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:35:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:35:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:35:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:35:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:35:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:35:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:35:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:35:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:35:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:35:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:35:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:35:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:35:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:35:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:35:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:35:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:35:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:35:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:35:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:35:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:35:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:35:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:35:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:35:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:35:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:35:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:35:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:35:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:35:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:35:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:35:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:35:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:35:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:35:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:35:42 UTC] 📊 Database Info:
[22-Nov-2025 20:35:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:35:42 UTC]    Books columns count: 44
[22-Nov-2025 20:35:42 UTC]    Categories columns count: 7
[22-Nov-2025 20:35:42 UTC]    Language field in books: YES
[22-Nov-2025 20:35:42 UTC]    Format field in books: YES
[22-Nov-2025 20:35:42 UTC]    Description field in categories: YES
[22-Nov-2025 20:35:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:35:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:35:42 UTC]    Is_active field in books: YES
[22-Nov-2025 20:35:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:35:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:35:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:35:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:35:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:35:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:35:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:35:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:35:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:35:42 UTC] 📊 Database Info:
[22-Nov-2025 20:35:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:35:42 UTC]    Books columns count: 44
[22-Nov-2025 20:35:42 UTC]    Categories columns count: 7
[22-Nov-2025 20:35:42 UTC]    Language field in books: YES
[22-Nov-2025 20:35:42 UTC]    Format field in books: YES
[22-Nov-2025 20:35:42 UTC]    Description field in categories: YES
[22-Nov-2025 20:35:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:35:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:35:42 UTC]    Is_active field in books: YES
[22-Nov-2025 20:35:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:35:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:35:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:35:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:35:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:35:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:35:42 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:35:42 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:35:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:35:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:35:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:35:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:35:42 UTC] 📊 Database Info:
[22-Nov-2025 20:35:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:35:42 UTC]    Books columns count: 44
[22-Nov-2025 20:35:42 UTC]    Categories columns count: 7
[22-Nov-2025 20:35:42 UTC]    Language field in books: YES
[22-Nov-2025 20:35:42 UTC]    Format field in books: YES
[22-Nov-2025 20:35:42 UTC]    Description field in categories: YES
[22-Nov-2025 20:35:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:35:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:35:42 UTC]    Is_active field in books: YES
[22-Nov-2025 20:35:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:35:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:35:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:35:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:35:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:35:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:35:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:36:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:36:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:36:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:36:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:36:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:36:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:36:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:36:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:36:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:36:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:36:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:36:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:36:03 UTC] 📊 Database Info:
[22-Nov-2025 20:36:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:36:03 UTC]    Books columns count: 44
[22-Nov-2025 20:36:03 UTC]    Categories columns count: 7
[22-Nov-2025 20:36:03 UTC]    Language field in books: YES
[22-Nov-2025 20:36:03 UTC]    Format field in books: YES
[22-Nov-2025 20:36:03 UTC]    Description field in categories: YES
[22-Nov-2025 20:36:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:36:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:36:03 UTC]    Is_active field in books: YES
[22-Nov-2025 20:36:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:36:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:36:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:36:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:36:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:36:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:36:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:36:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:36:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:36:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:36:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:36:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:36:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:36:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:36:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:36:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:36:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:36:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:36:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:36:04 UTC] 📊 Database Info:
[22-Nov-2025 20:36:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:36:04 UTC]    Books columns count: 44
[22-Nov-2025 20:36:04 UTC]    Categories columns count: 7
[22-Nov-2025 20:36:04 UTC]    Language field in books: YES
[22-Nov-2025 20:36:04 UTC]    Format field in books: YES
[22-Nov-2025 20:36:04 UTC]    Description field in categories: YES
[22-Nov-2025 20:36:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:36:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:36:04 UTC]    Is_active field in books: YES
[22-Nov-2025 20:36:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:36:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:36:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:36:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:36:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:36:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:36:04 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:36:04 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:36:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:36:04 UTC] 📊 Database Info:
[22-Nov-2025 20:36:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:36:04 UTC]    Books columns count: 44
[22-Nov-2025 20:36:04 UTC]    Categories columns count: 7
[22-Nov-2025 20:36:04 UTC]    Language field in books: YES
[22-Nov-2025 20:36:04 UTC]    Format field in books: YES
[22-Nov-2025 20:36:04 UTC]    Description field in categories: YES
[22-Nov-2025 20:36:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:36:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:36:04 UTC]    Is_active field in books: YES
[22-Nov-2025 20:36:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:36:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:36:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:36:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:36:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:36:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:36:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:36:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:36:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:36:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:36:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:36:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:36:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:36:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:36:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:36:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:36:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:36:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:36:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:36:14 UTC] 📊 Database Info:
[22-Nov-2025 20:36:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:36:14 UTC]    Books columns count: 44
[22-Nov-2025 20:36:14 UTC]    Categories columns count: 7
[22-Nov-2025 20:36:14 UTC]    Language field in books: YES
[22-Nov-2025 20:36:14 UTC]    Format field in books: YES
[22-Nov-2025 20:36:14 UTC]    Description field in categories: YES
[22-Nov-2025 20:36:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:36:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:36:14 UTC]    Is_active field in books: YES
[22-Nov-2025 20:36:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:36:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:36:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:36:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:36:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:36:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:36:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:36:14 UTC] 📊 Database Info:
[22-Nov-2025 20:36:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:36:14 UTC]    Books columns count: 44
[22-Nov-2025 20:36:14 UTC]    Categories columns count: 7
[22-Nov-2025 20:36:14 UTC]    Language field in books: YES
[22-Nov-2025 20:36:14 UTC]    Format field in books: YES
[22-Nov-2025 20:36:14 UTC]    Description field in categories: YES
[22-Nov-2025 20:36:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:36:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:36:14 UTC]    Is_active field in books: YES
[22-Nov-2025 20:36:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:36:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:36:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:36:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:36:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:36:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:36:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:36:14 UTC] 📊 Database Info:
[22-Nov-2025 20:36:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:36:14 UTC]    Books columns count: 44
[22-Nov-2025 20:36:14 UTC]    Categories columns count: 7
[22-Nov-2025 20:36:14 UTC]    Language field in books: YES
[22-Nov-2025 20:36:14 UTC]    Format field in books: YES
[22-Nov-2025 20:36:14 UTC]    Description field in categories: YES
[22-Nov-2025 20:36:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:36:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:36:14 UTC]    Is_active field in books: YES
[22-Nov-2025 20:36:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:36:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:36:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:36:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:36:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:36:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:36:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:36:14 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:36:14 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:36:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:36:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:36:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:36:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:36:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:36:17 UTC] 📊 Database Info:
[22-Nov-2025 20:36:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:36:17 UTC]    Books columns count: 44
[22-Nov-2025 20:36:17 UTC]    Categories columns count: 7
[22-Nov-2025 20:36:17 UTC]    Language field in books: YES
[22-Nov-2025 20:36:17 UTC]    Format field in books: YES
[22-Nov-2025 20:36:17 UTC]    Description field in categories: YES
[22-Nov-2025 20:36:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:36:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:36:17 UTC]    Is_active field in books: YES
[22-Nov-2025 20:36:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:36:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:36:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:36:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:36:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:36:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:36:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:36:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:36:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:36:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:36:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:36:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:36:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:36:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:36:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:36:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:36:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:36:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:36:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:36:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:36:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:36:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:36:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:36:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:36:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:36:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:36:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:36:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:36:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:36:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:36:23 UTC] 📊 Database Info:
[22-Nov-2025 20:36:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:36:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:23 UTC]    Books columns count: 44
[22-Nov-2025 20:36:23 UTC]    Categories columns count: 7
[22-Nov-2025 20:36:23 UTC]    Language field in books: YES
[22-Nov-2025 20:36:23 UTC]    Format field in books: YES
[22-Nov-2025 20:36:23 UTC]    Description field in categories: YES
[22-Nov-2025 20:36:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:36:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:36:23 UTC]    Is_active field in books: YES
[22-Nov-2025 20:36:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:36:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:36:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:36:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:36:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:36:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:36:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:36:23 UTC] 📊 Database Info:
[22-Nov-2025 20:36:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:36:23 UTC]    Books columns count: 44
[22-Nov-2025 20:36:23 UTC]    Categories columns count: 7
[22-Nov-2025 20:36:23 UTC]    Language field in books: YES
[22-Nov-2025 20:36:23 UTC]    Format field in books: YES
[22-Nov-2025 20:36:23 UTC]    Description field in categories: YES
[22-Nov-2025 20:36:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:36:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:36:23 UTC]    Is_active field in books: YES
[22-Nov-2025 20:36:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:36:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:36:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:36:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:36:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:36:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:36:23 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:36:23 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:36:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:36:23 UTC] 📊 Database Info:
[22-Nov-2025 20:36:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:36:23 UTC]    Books columns count: 44
[22-Nov-2025 20:36:23 UTC]    Categories columns count: 7
[22-Nov-2025 20:36:23 UTC]    Language field in books: YES
[22-Nov-2025 20:36:23 UTC]    Format field in books: YES
[22-Nov-2025 20:36:23 UTC]    Description field in categories: YES
[22-Nov-2025 20:36:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:36:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:36:23 UTC]    Is_active field in books: YES
[22-Nov-2025 20:36:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:36:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:36:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:36:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:36:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:36:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:36:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:36:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:36:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:36:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:36:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:36:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:36:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:36:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:36:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:36:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:36:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:36:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:36:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:36:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:36:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:36:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:36:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:36:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:36:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:36:25 UTC] 📊 Database Info:
[22-Nov-2025 20:36:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:36:25 UTC]    Books columns count: 44
[22-Nov-2025 20:36:25 UTC]    Categories columns count: 7
[22-Nov-2025 20:36:25 UTC]    Language field in books: YES
[22-Nov-2025 20:36:25 UTC]    Format field in books: YES
[22-Nov-2025 20:36:25 UTC]    Description field in categories: YES
[22-Nov-2025 20:36:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:36:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:36:25 UTC]    Is_active field in books: YES
[22-Nov-2025 20:36:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:36:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:36:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:36:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:36:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:36:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:36:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:36:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:36:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:36:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:36:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:36:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:36:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:36:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:36:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:36:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:36:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:36:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:40:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:40:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:40:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:40:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:40:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:40:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:40:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:40:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:40:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:40:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:40:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:40:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:40:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:40:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:40:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:40:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:40:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:40:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:40:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:40:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:40:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:40:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:40:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:40:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:40:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:40:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:40:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:40:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:40:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:40:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:40:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:40:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:40:15 UTC] 📊 Database Info:
[22-Nov-2025 20:40:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:40:15 UTC]    Books columns count: 44
[22-Nov-2025 20:40:15 UTC]    Categories columns count: 7
[22-Nov-2025 20:40:15 UTC]    Language field in books: YES
[22-Nov-2025 20:40:15 UTC]    Format field in books: YES
[22-Nov-2025 20:40:15 UTC]    Description field in categories: YES
[22-Nov-2025 20:40:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:40:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:40:15 UTC]    Is_active field in books: YES
[22-Nov-2025 20:40:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:40:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:40:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:40:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:40:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:40:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:40:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:40:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:40:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:40:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:40:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:40:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:40:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:40:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:40:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:40:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:40:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:40:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:40:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:40:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:40:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:40:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:40:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:40:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:40:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:40:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:40:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:40:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:40:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:40:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:40:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:40:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:40:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:40:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:40:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:40:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:40:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:40:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:40:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:40:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:40:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:40:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:40:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:40:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:40:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:40:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:40:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:40:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:40:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:40:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:40:17 UTC] 📊 Database Info:
[22-Nov-2025 20:40:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:40:17 UTC]    Books columns count: 44
[22-Nov-2025 20:40:17 UTC]    Categories columns count: 7
[22-Nov-2025 20:40:17 UTC]    Language field in books: YES
[22-Nov-2025 20:40:17 UTC]    Format field in books: YES
[22-Nov-2025 20:40:17 UTC]    Description field in categories: YES
[22-Nov-2025 20:40:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:40:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:40:17 UTC]    Is_active field in books: YES
[22-Nov-2025 20:40:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:40:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:40:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:40:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:40:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:40:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:40:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:43:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:43:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:43:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:43:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:43:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:43:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:43:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:43:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:43:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:43:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:43:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:43:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:43:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:43:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:43:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:43:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:43:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:43:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:43:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:43:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:43:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:43:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:43:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:43:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:43:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:43:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:43:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:43:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:43:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:43:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:43:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:43:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:43:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:43:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:43:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:43:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:43:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:43:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:43:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:43:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:43:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:43:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:43:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:43:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:43:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:43:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:43:23 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:43:23 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:43:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:43:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:43:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:43:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:43:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:43:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:43:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:43:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:43:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:43:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:43:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:43:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:43:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:43:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:43:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:43:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:43:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:43:23 UTC] 📊 Database Info:
[22-Nov-2025 20:43:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:43:23 UTC]    Books columns count: 44
[22-Nov-2025 20:43:23 UTC]    Categories columns count: 7
[22-Nov-2025 20:43:23 UTC]    Language field in books: YES
[22-Nov-2025 20:43:23 UTC]    Format field in books: YES
[22-Nov-2025 20:43:23 UTC]    Description field in categories: YES
[22-Nov-2025 20:43:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:43:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:43:23 UTC]    Is_active field in books: YES
[22-Nov-2025 20:43:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:43:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:43:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:43:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:43:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:43:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:43:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:43:23 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 20:43:23 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 20:43:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:43:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:43:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:43:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:43:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:43:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:43:23 UTC] 📊 Database Info:
[22-Nov-2025 20:43:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:43:23 UTC]    Books columns count: 44
[22-Nov-2025 20:43:23 UTC]    Categories columns count: 7
[22-Nov-2025 20:43:23 UTC]    Language field in books: YES
[22-Nov-2025 20:43:23 UTC]    Format field in books: YES
[22-Nov-2025 20:43:23 UTC]    Description field in categories: YES
[22-Nov-2025 20:43:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:43:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:43:23 UTC]    Is_active field in books: YES
[22-Nov-2025 20:43:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:43:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:43:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:43:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:43:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:43:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:43:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:43:23 UTC] 📊 Database Info:
[22-Nov-2025 20:43:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:43:23 UTC]    Books columns count: 44
[22-Nov-2025 20:43:23 UTC]    Categories columns count: 7
[22-Nov-2025 20:43:23 UTC]    Language field in books: YES
[22-Nov-2025 20:43:23 UTC]    Format field in books: YES
[22-Nov-2025 20:43:23 UTC]    Description field in categories: YES
[22-Nov-2025 20:43:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:43:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:43:23 UTC]    Is_active field in books: YES
[22-Nov-2025 20:43:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:43:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:43:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:43:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:43:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:43:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:43:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:43:23 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 20:43:23 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 20:44:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:44:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:44:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:44:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:44:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:44:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:44:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:44:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:44:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:44:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:44:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:44:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:44:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:44:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:44:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:44:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:44:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:44:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:44:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:44:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:44:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:44:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:44:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:44:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:44:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:44:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:44:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:44:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:44:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:44:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:44:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:44:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:44:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:44:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:44:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:44:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:44:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:44:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:44:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:44:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:44:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:44:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:44:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:44:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:44:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:44:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:44:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:44:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:44:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:44:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:44:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:44:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:44:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:44:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:44:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:44:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:44:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:44:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:44:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:44:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:44:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:44:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:44:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:44:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:44:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:44:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:44:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:44:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:44:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:44:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:44:47 UTC] 📊 Database Info:
[22-Nov-2025 20:44:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:44:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:44:47 UTC]    Books columns count: 44
[22-Nov-2025 20:44:47 UTC]    Categories columns count: 7
[22-Nov-2025 20:44:47 UTC]    Language field in books: YES
[22-Nov-2025 20:44:47 UTC]    Format field in books: YES
[22-Nov-2025 20:44:47 UTC]    Description field in categories: YES
[22-Nov-2025 20:44:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:44:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:44:47 UTC]    Is_active field in books: YES
[22-Nov-2025 20:44:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:44:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:44:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:44:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:44:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:44:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:44:47 UTC] 📊 Database Info:
[22-Nov-2025 20:44:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:44:47 UTC]    Books columns count: 44
[22-Nov-2025 20:44:47 UTC]    Categories columns count: 7
[22-Nov-2025 20:44:47 UTC]    Language field in books: YES
[22-Nov-2025 20:44:47 UTC]    Format field in books: YES
[22-Nov-2025 20:44:47 UTC]    Description field in categories: YES
[22-Nov-2025 20:44:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:44:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:44:47 UTC]    Is_active field in books: YES
[22-Nov-2025 20:44:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:44:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:44:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:44:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:44:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:44:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:44:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:44:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:44:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:44:47 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:44:47 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:44:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:44:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:44:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:44:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:44:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:44:47 UTC] 📊 Database Info:
[22-Nov-2025 20:44:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:44:47 UTC]    Books columns count: 44
[22-Nov-2025 20:44:47 UTC]    Categories columns count: 7
[22-Nov-2025 20:44:47 UTC]    Language field in books: YES
[22-Nov-2025 20:44:47 UTC]    Format field in books: YES
[22-Nov-2025 20:44:47 UTC]    Description field in categories: YES
[22-Nov-2025 20:44:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:44:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:44:47 UTC]    Is_active field in books: YES
[22-Nov-2025 20:44:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:44:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:44:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:44:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:44:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:44:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:44:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:44:47 UTC] 📊 Database Info:
[22-Nov-2025 20:44:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:44:47 UTC]    Books columns count: 44
[22-Nov-2025 20:44:47 UTC]    Categories columns count: 7
[22-Nov-2025 20:44:47 UTC]    Language field in books: YES
[22-Nov-2025 20:44:47 UTC]    Format field in books: YES
[22-Nov-2025 20:44:47 UTC]    Description field in categories: YES
[22-Nov-2025 20:44:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:44:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:44:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:44:47 UTC]    Is_active field in books: YES
[22-Nov-2025 20:44:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:44:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:44:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:44:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:44:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:44:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:44:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:44:47 UTC] 📊 Database Info:
[22-Nov-2025 20:44:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:44:47 UTC]    Books columns count: 44
[22-Nov-2025 20:44:47 UTC]    Categories columns count: 7
[22-Nov-2025 20:44:47 UTC]    Language field in books: YES
[22-Nov-2025 20:44:47 UTC]    Format field in books: YES
[22-Nov-2025 20:44:47 UTC]    Description field in categories: YES
[22-Nov-2025 20:44:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:44:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:44:47 UTC]    Is_active field in books: YES
[22-Nov-2025 20:44:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:44:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:44:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:44:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:44:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:44:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:44:47 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:44:47 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:44:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:44:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:44:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:44:47 UTC] 📊 Database Info:
[22-Nov-2025 20:44:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:44:47 UTC]    Books columns count: 44
[22-Nov-2025 20:44:47 UTC]    Categories columns count: 7
[22-Nov-2025 20:44:47 UTC]    Language field in books: YES
[22-Nov-2025 20:44:47 UTC]    Format field in books: YES
[22-Nov-2025 20:44:47 UTC]    Description field in categories: YES
[22-Nov-2025 20:44:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:44:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:44:47 UTC]    Is_active field in books: YES
[22-Nov-2025 20:44:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:44:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:44:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:44:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:44:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:44:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:44:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:44:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:44:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:44:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:44:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:44:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:44:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:44:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:44:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:44:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:44:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:44:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:44:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:44:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:44:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:44:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:44:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:44:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:44:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:44:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:44:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:44:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:44:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:44:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:44:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:44:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:44:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:44:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:44:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:44:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:44:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:44:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:44:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:44:54 UTC] 📊 Database Info:
[22-Nov-2025 20:44:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:44:54 UTC]    Books columns count: 44
[22-Nov-2025 20:44:54 UTC]    Categories columns count: 7
[22-Nov-2025 20:44:54 UTC]    Language field in books: YES
[22-Nov-2025 20:44:54 UTC]    Format field in books: YES
[22-Nov-2025 20:44:54 UTC]    Description field in categories: YES
[22-Nov-2025 20:44:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:44:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:44:54 UTC]    Is_active field in books: YES
[22-Nov-2025 20:44:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:44:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:44:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:44:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:44:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:44:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:44:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:44:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:44:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:44:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:44:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:44:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:44:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:44:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:44:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:44:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:45:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:45:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:45:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:45:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:45:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:45:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:45:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:45:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:45:00 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:45:00 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:45:00 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:45:00 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:45:00 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:45:00 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:45:00 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:45:00 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:45:00 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:45:00 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:45:00 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:45:00 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:45:00 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:45:00 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:45:00 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:45:00 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:45:00 UTC] 📊 Database Info:
[22-Nov-2025 20:45:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:45:00 UTC]    Books columns count: 44
[22-Nov-2025 20:45:00 UTC]    Categories columns count: 7
[22-Nov-2025 20:45:00 UTC]    Language field in books: YES
[22-Nov-2025 20:45:00 UTC]    Format field in books: YES
[22-Nov-2025 20:45:00 UTC]    Description field in categories: YES
[22-Nov-2025 20:45:00 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:45:00 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:45:00 UTC]    Is_active field in books: YES
[22-Nov-2025 20:45:00 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:45:00 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:45:00 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:45:00 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:45:00 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:45:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:45:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:45:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:45:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:45:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:45:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:45:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:45:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:45:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:45:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:45:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:45:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:45:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:46:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:46:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:46:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:46:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:46:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:46:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:46:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:46:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:46:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:46:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:46:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:46:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:46:40 UTC] 📊 Database Info:
[22-Nov-2025 20:46:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:46:40 UTC]    Books columns count: 44
[22-Nov-2025 20:46:40 UTC]    Categories columns count: 7
[22-Nov-2025 20:46:40 UTC]    Language field in books: YES
[22-Nov-2025 20:46:40 UTC]    Format field in books: YES
[22-Nov-2025 20:46:40 UTC]    Description field in categories: YES
[22-Nov-2025 20:46:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:46:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:46:40 UTC]    Is_active field in books: YES
[22-Nov-2025 20:46:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:46:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:46:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:46:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:46:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:46:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:46:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:46:40 UTC] 📊 Database Info:
[22-Nov-2025 20:46:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:46:40 UTC]    Books columns count: 44
[22-Nov-2025 20:46:40 UTC]    Categories columns count: 7
[22-Nov-2025 20:46:40 UTC]    Language field in books: YES
[22-Nov-2025 20:46:40 UTC]    Format field in books: YES
[22-Nov-2025 20:46:40 UTC]    Description field in categories: YES
[22-Nov-2025 20:46:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:46:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:46:40 UTC]    Is_active field in books: YES
[22-Nov-2025 20:46:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:46:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:46:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:46:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:46:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:46:40 UTC] 📊 Database Info:
[22-Nov-2025 20:46:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:46:40 UTC]    Books columns count: 44
[22-Nov-2025 20:46:40 UTC]    Categories columns count: 7
[22-Nov-2025 20:46:40 UTC]    Language field in books: YES
[22-Nov-2025 20:46:40 UTC]    Format field in books: YES
[22-Nov-2025 20:46:40 UTC]    Description field in categories: YES
[22-Nov-2025 20:46:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:46:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:46:40 UTC]    Is_active field in books: YES
[22-Nov-2025 20:46:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:46:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:46:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:46:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:46:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:46:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:46:40 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:46:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:46:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:46:40 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:46:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:46:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:46:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:46:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:46:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:46:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:46:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:46:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:46:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:46:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:46:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:46:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:46:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:46:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:46:44 UTC] 📊 Database Info:
[22-Nov-2025 20:46:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:46:44 UTC]    Books columns count: 44
[22-Nov-2025 20:46:44 UTC]    Categories columns count: 7
[22-Nov-2025 20:46:44 UTC]    Language field in books: YES
[22-Nov-2025 20:46:44 UTC]    Format field in books: YES
[22-Nov-2025 20:46:44 UTC]    Description field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Is_active field in books: YES
[22-Nov-2025 20:46:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:46:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:46:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:46:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:46:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:46:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:46:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:46:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:46:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:46:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:46:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:46:44 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:46:44 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:46:44 UTC] 📊 Database Info:
[22-Nov-2025 20:46:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:46:44 UTC]    Books columns count: 44
[22-Nov-2025 20:46:44 UTC]    Categories columns count: 7
[22-Nov-2025 20:46:44 UTC]    Language field in books: YES
[22-Nov-2025 20:46:44 UTC]    Format field in books: YES
[22-Nov-2025 20:46:44 UTC]    Description field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Is_active field in books: YES
[22-Nov-2025 20:46:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:46:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:46:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:46:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:46:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:46:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:46:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:46:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:46:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:46:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:46:44 UTC] 📊 Database Info:
[22-Nov-2025 20:46:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:46:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:46:44 UTC] 📊 Database Info:
[22-Nov-2025 20:46:44 UTC]    Books columns count: 44
[22-Nov-2025 20:46:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:46:44 UTC]    Categories columns count: 7
[22-Nov-2025 20:46:44 UTC]    Books columns count: 44
[22-Nov-2025 20:46:44 UTC]    Categories columns count: 7
[22-Nov-2025 20:46:44 UTC]    Language field in books: YES
[22-Nov-2025 20:46:44 UTC]    Language field in books: YES
[22-Nov-2025 20:46:44 UTC]    Format field in books: YES
[22-Nov-2025 20:46:44 UTC]    Format field in books: YES
[22-Nov-2025 20:46:44 UTC]    Description field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Description field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Is_active field in books: YES
[22-Nov-2025 20:46:44 UTC]    Is_active field in books: YES
[22-Nov-2025 20:46:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:46:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:46:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:46:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:46:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:46:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:46:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:46:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:46:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:46:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:46:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:46:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:46:44 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:46:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:46:44 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:46:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:46:44 UTC] 📊 Database Info:
[22-Nov-2025 20:46:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:46:44 UTC]    Books columns count: 44
[22-Nov-2025 20:46:44 UTC]    Categories columns count: 7
[22-Nov-2025 20:46:44 UTC]    Language field in books: YES
[22-Nov-2025 20:46:44 UTC]    Format field in books: YES
[22-Nov-2025 20:46:44 UTC]    Description field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Is_active field in books: YES
[22-Nov-2025 20:46:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:46:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:46:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:46:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:46:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:46:44 UTC] 📊 Database Info:
[22-Nov-2025 20:46:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:46:44 UTC]    Books columns count: 44
[22-Nov-2025 20:46:44 UTC]    Categories columns count: 7
[22-Nov-2025 20:46:44 UTC]    Language field in books: YES
[22-Nov-2025 20:46:44 UTC]    Format field in books: YES
[22-Nov-2025 20:46:44 UTC]    Description field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Is_active field in books: YES
[22-Nov-2025 20:46:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:46:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:46:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:46:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:46:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:46:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:46:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:46:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:46:44 UTC] 📊 Database Info:
[22-Nov-2025 20:46:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:46:44 UTC]    Books columns count: 44
[22-Nov-2025 20:46:44 UTC]    Categories columns count: 7
[22-Nov-2025 20:46:44 UTC]    Language field in books: YES
[22-Nov-2025 20:46:44 UTC]    Format field in books: YES
[22-Nov-2025 20:46:44 UTC]    Description field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:46:44 UTC]    Is_active field in books: YES
[22-Nov-2025 20:46:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:46:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:46:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:46:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:46:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:46:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:46:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:46:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:46:44 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:46:44 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:46:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:46:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:46:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:46:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:46:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:46:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:46:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:46:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:46:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:46:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:46:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:46:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:46:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:46:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:46:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:46:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:46:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:46:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:46:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:46:45 UTC] 📊 Database Info:
[22-Nov-2025 20:46:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:46:45 UTC]    Books columns count: 44
[22-Nov-2025 20:46:45 UTC]    Categories columns count: 7
[22-Nov-2025 20:46:45 UTC]    Language field in books: YES
[22-Nov-2025 20:46:45 UTC]    Format field in books: YES
[22-Nov-2025 20:46:45 UTC]    Description field in categories: YES
[22-Nov-2025 20:46:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:46:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:46:45 UTC]    Is_active field in books: YES
[22-Nov-2025 20:46:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:46:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:46:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:46:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:46:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:46:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:46:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:46:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:46:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:46:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:46:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:46:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:46:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:46:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:46:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:46:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:46:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:46:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:46:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:46:45 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[22-Nov-2025 20:46:45 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[22-Nov-2025 20:47:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:05 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:05 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:05 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:05 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:05 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:05 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:05 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:05 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:05 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:05 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:05 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:05 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:05 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:05 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:05 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:05 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:05 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:05 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:05 UTC] 📊 Database Info:
[22-Nov-2025 20:47:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:05 UTC]    Books columns count: 44
[22-Nov-2025 20:47:05 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:05 UTC]    Language field in books: YES
[22-Nov-2025 20:47:05 UTC]    Format field in books: YES
[22-Nov-2025 20:47:05 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:05 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:05 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:05 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:05 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:05 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:05 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:05 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:05 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:05 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:47:05 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:47:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:05 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:05 UTC] 📊 Database Info:
[22-Nov-2025 20:47:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:05 UTC]    Books columns count: 44
[22-Nov-2025 20:47:05 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:05 UTC]    Language field in books: YES
[22-Nov-2025 20:47:05 UTC]    Format field in books: YES
[22-Nov-2025 20:47:05 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:05 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:05 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:05 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:05 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:05 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:05 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:05 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:05 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:05 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:05 UTC] 📊 Database Info:
[22-Nov-2025 20:47:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:05 UTC]    Books columns count: 44
[22-Nov-2025 20:47:05 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:05 UTC]    Language field in books: YES
[22-Nov-2025 20:47:05 UTC]    Format field in books: YES
[22-Nov-2025 20:47:05 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:05 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:05 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:05 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:05 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:05 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:05 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:05 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:05 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:05 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:05 UTC] 📊 Database Info:
[22-Nov-2025 20:47:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:05 UTC]    Books columns count: 44
[22-Nov-2025 20:47:05 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:05 UTC]    Language field in books: YES
[22-Nov-2025 20:47:05 UTC]    Format field in books: YES
[22-Nov-2025 20:47:05 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:05 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:05 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:05 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:05 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:05 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:05 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:05 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:05 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:05 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:05 UTC] 📊 Database Info:
[22-Nov-2025 20:47:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:05 UTC]    Books columns count: 44
[22-Nov-2025 20:47:05 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:05 UTC]    Language field in books: YES
[22-Nov-2025 20:47:05 UTC]    Format field in books: YES
[22-Nov-2025 20:47:05 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:05 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:05 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:05 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:05 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:05 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:05 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:05 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:05 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:05 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:05 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:05 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:05 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:05 UTC] 📊 Database Info:
[22-Nov-2025 20:47:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:05 UTC]    Books columns count: 44
[22-Nov-2025 20:47:05 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:05 UTC]    Language field in books: YES
[22-Nov-2025 20:47:05 UTC]    Format field in books: YES
[22-Nov-2025 20:47:05 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:05 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:05 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:05 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:05 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:05 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:05 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:05 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:05 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:05 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:47:05 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:47:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:12 UTC] 📊 Database Info:
[22-Nov-2025 20:47:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:12 UTC]    Books columns count: 44
[22-Nov-2025 20:47:12 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:12 UTC]    Language field in books: YES
[22-Nov-2025 20:47:12 UTC]    Format field in books: YES
[22-Nov-2025 20:47:12 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:12 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:12 UTC] 📊 Database Info:
[22-Nov-2025 20:47:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:12 UTC]    Books columns count: 44
[22-Nov-2025 20:47:12 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:12 UTC]    Language field in books: YES
[22-Nov-2025 20:47:12 UTC]    Format field in books: YES
[22-Nov-2025 20:47:12 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:12 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:12 UTC] 📊 Database Info:
[22-Nov-2025 20:47:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:12 UTC]    Books columns count: 44
[22-Nov-2025 20:47:12 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:12 UTC]    Language field in books: YES
[22-Nov-2025 20:47:12 UTC]    Format field in books: YES
[22-Nov-2025 20:47:12 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:12 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:12 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:47:12 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:47:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:33 UTC] 📊 Database Info:
[22-Nov-2025 20:47:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:33 UTC]    Books columns count: 44
[22-Nov-2025 20:47:33 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:33 UTC]    Language field in books: YES
[22-Nov-2025 20:47:33 UTC]    Format field in books: YES
[22-Nov-2025 20:47:33 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:33 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:33 UTC] 📊 Database Info:
[22-Nov-2025 20:47:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:33 UTC]    Books columns count: 44
[22-Nov-2025 20:47:33 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:33 UTC]    Language field in books: YES
[22-Nov-2025 20:47:33 UTC]    Format field in books: YES
[22-Nov-2025 20:47:33 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:33 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:33 UTC] 📊 Database Info:
[22-Nov-2025 20:47:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:33 UTC]    Books columns count: 44
[22-Nov-2025 20:47:33 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:33 UTC]    Language field in books: YES
[22-Nov-2025 20:47:33 UTC]    Format field in books: YES
[22-Nov-2025 20:47:33 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:33 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:33 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:47:33 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:47:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:33 UTC] 📊 Database Info:
[22-Nov-2025 20:47:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:33 UTC]    Books columns count: 44
[22-Nov-2025 20:47:33 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:33 UTC]    Language field in books: YES
[22-Nov-2025 20:47:33 UTC]    Format field in books: YES
[22-Nov-2025 20:47:33 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:33 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:33 UTC] 📊 Database Info:
[22-Nov-2025 20:47:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:33 UTC]    Books columns count: 44
[22-Nov-2025 20:47:33 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:33 UTC]    Language field in books: YES
[22-Nov-2025 20:47:33 UTC]    Format field in books: YES
[22-Nov-2025 20:47:33 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:33 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:33 UTC] 📊 Database Info:
[22-Nov-2025 20:47:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:33 UTC]    Books columns count: 44
[22-Nov-2025 20:47:33 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:33 UTC]    Language field in books: YES
[22-Nov-2025 20:47:33 UTC]    Format field in books: YES
[22-Nov-2025 20:47:33 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:33 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:33 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:47:33 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:47:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:35 UTC] 📊 Database Info:
[22-Nov-2025 20:47:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:35 UTC]    Books columns count: 44
[22-Nov-2025 20:47:35 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:35 UTC]    Language field in books: YES
[22-Nov-2025 20:47:35 UTC]    Format field in books: YES
[22-Nov-2025 20:47:35 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:35 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:35 UTC] 📊 Database Info:
[22-Nov-2025 20:47:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:35 UTC]    Books columns count: 44
[22-Nov-2025 20:47:35 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:35 UTC]    Language field in books: YES
[22-Nov-2025 20:47:35 UTC]    Format field in books: YES
[22-Nov-2025 20:47:35 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:35 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:35 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:47:35 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:47:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:35 UTC] 📊 Database Info:
[22-Nov-2025 20:47:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:35 UTC]    Books columns count: 44
[22-Nov-2025 20:47:35 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:35 UTC]    Language field in books: YES
[22-Nov-2025 20:47:35 UTC]    Format field in books: YES
[22-Nov-2025 20:47:35 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:35 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:37 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:37 UTC] 📊 Database Info:
[22-Nov-2025 20:47:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:37 UTC]    Books columns count: 44
[22-Nov-2025 20:47:37 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:37 UTC]    Language field in books: YES
[22-Nov-2025 20:47:37 UTC]    Format field in books: YES
[22-Nov-2025 20:47:37 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:37 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:37 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:37 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:37 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:37 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:37 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:37 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:37 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:37 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:37 UTC] 📊 Database Info:
[22-Nov-2025 20:47:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:37 UTC]    Books columns count: 44
[22-Nov-2025 20:47:37 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:37 UTC]    Language field in books: YES
[22-Nov-2025 20:47:37 UTC]    Format field in books: YES
[22-Nov-2025 20:47:37 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:37 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:37 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:37 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:37 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:37 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:37 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:37 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:37 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:37 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:47:37 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:47:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:37 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:37 UTC] 📊 Database Info:
[22-Nov-2025 20:47:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:37 UTC]    Books columns count: 44
[22-Nov-2025 20:47:37 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:37 UTC]    Language field in books: YES
[22-Nov-2025 20:47:37 UTC]    Format field in books: YES
[22-Nov-2025 20:47:37 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:37 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:37 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:37 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:37 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:37 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:37 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:37 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:37 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:47:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:47:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:47:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:51 UTC] 📊 Database Info:
[22-Nov-2025 20:47:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:51 UTC]    Books columns count: 44
[22-Nov-2025 20:47:51 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:51 UTC]    Language field in books: YES
[22-Nov-2025 20:47:51 UTC]    Format field in books: YES
[22-Nov-2025 20:47:51 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:51 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:47:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:47:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:47:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:51 UTC] 📊 Database Info:
[22-Nov-2025 20:47:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:51 UTC]    Books columns count: 44
[22-Nov-2025 20:47:51 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:51 UTC]    Language field in books: YES
[22-Nov-2025 20:47:51 UTC]    Format field in books: YES
[22-Nov-2025 20:47:51 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:51 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:51 UTC] 📊 Database Info:
[22-Nov-2025 20:47:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:51 UTC]    Books columns count: 44
[22-Nov-2025 20:47:51 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:51 UTC]    Language field in books: YES
[22-Nov-2025 20:47:51 UTC]    Format field in books: YES
[22-Nov-2025 20:47:51 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:51 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:51 UTC] 📊 Database Info:
[22-Nov-2025 20:47:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:51 UTC]    Books columns count: 44
[22-Nov-2025 20:47:51 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:51 UTC]    Language field in books: YES
[22-Nov-2025 20:47:51 UTC]    Format field in books: YES
[22-Nov-2025 20:47:51 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:51 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:47:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:51 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:47:51 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:47:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:51 UTC] 📊 Database Info:
[22-Nov-2025 20:47:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:51 UTC]    Books columns count: 44
[22-Nov-2025 20:47:51 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:51 UTC]    Language field in books: YES
[22-Nov-2025 20:47:51 UTC]    Format field in books: YES
[22-Nov-2025 20:47:51 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:51 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:47:51 UTC] 📊 Database Info:
[22-Nov-2025 20:47:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:47:51 UTC]    Books columns count: 44
[22-Nov-2025 20:47:51 UTC]    Categories columns count: 7
[22-Nov-2025 20:47:51 UTC]    Language field in books: YES
[22-Nov-2025 20:47:51 UTC]    Format field in books: YES
[22-Nov-2025 20:47:51 UTC]    Description field in categories: YES
[22-Nov-2025 20:47:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:47:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:47:51 UTC]    Is_active field in books: YES
[22-Nov-2025 20:47:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:47:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:47:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:47:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:47:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:47:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:47:51 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:47:51 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:48:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:48:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:48:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:48:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:48:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:48:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:48:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:48:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:48:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:48:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:48:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:48:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:48:08 UTC] 📊 Database Info:
[22-Nov-2025 20:48:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:48:08 UTC]    Books columns count: 44
[22-Nov-2025 20:48:08 UTC]    Categories columns count: 7
[22-Nov-2025 20:48:08 UTC]    Language field in books: YES
[22-Nov-2025 20:48:08 UTC]    Format field in books: YES
[22-Nov-2025 20:48:08 UTC]    Description field in categories: YES
[22-Nov-2025 20:48:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:48:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:48:08 UTC]    Is_active field in books: YES
[22-Nov-2025 20:48:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:48:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:48:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:48:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:48:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:48:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:48:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:48:08 UTC] 📊 Database Info:
[22-Nov-2025 20:48:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:48:08 UTC]    Books columns count: 44
[22-Nov-2025 20:48:08 UTC]    Categories columns count: 7
[22-Nov-2025 20:48:08 UTC]    Language field in books: YES
[22-Nov-2025 20:48:08 UTC]    Format field in books: YES
[22-Nov-2025 20:48:08 UTC]    Description field in categories: YES
[22-Nov-2025 20:48:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:48:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:48:08 UTC]    Is_active field in books: YES
[22-Nov-2025 20:48:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:48:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:48:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:48:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:48:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:48:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:48:08 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:48:08 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:48:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:48:08 UTC] 📊 Database Info:
[22-Nov-2025 20:48:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:48:08 UTC]    Books columns count: 44
[22-Nov-2025 20:48:08 UTC]    Categories columns count: 7
[22-Nov-2025 20:48:08 UTC]    Language field in books: YES
[22-Nov-2025 20:48:08 UTC]    Format field in books: YES
[22-Nov-2025 20:48:08 UTC]    Description field in categories: YES
[22-Nov-2025 20:48:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:48:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:48:08 UTC]    Is_active field in books: YES
[22-Nov-2025 20:48:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:48:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:48:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:48:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:48:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:48:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:48:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:48:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:48:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:48:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:48:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:10 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:48:10 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:48:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:10 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:48:10 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:48:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:10 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:48:10 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:48:10 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:10 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:10 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:10 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:10 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:10 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:48:10 UTC] 📊 Database Info:
[22-Nov-2025 20:48:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:48:10 UTC]    Books columns count: 44
[22-Nov-2025 20:48:10 UTC]    Categories columns count: 7
[22-Nov-2025 20:48:10 UTC]    Language field in books: YES
[22-Nov-2025 20:48:10 UTC]    Format field in books: YES
[22-Nov-2025 20:48:10 UTC]    Description field in categories: YES
[22-Nov-2025 20:48:10 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:48:10 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:48:10 UTC]    Is_active field in books: YES
[22-Nov-2025 20:48:10 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:48:10 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:48:10 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:48:10 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:48:10 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:48:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:48:10 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:48:10 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:48:10 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:48:10 UTC] 📊 Database Info:
[22-Nov-2025 20:48:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:48:10 UTC]    Books columns count: 44
[22-Nov-2025 20:48:10 UTC]    Categories columns count: 7
[22-Nov-2025 20:48:10 UTC]    Language field in books: YES
[22-Nov-2025 20:48:10 UTC]    Format field in books: YES
[22-Nov-2025 20:48:10 UTC]    Description field in categories: YES
[22-Nov-2025 20:48:10 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:48:10 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:48:10 UTC]    Is_active field in books: YES
[22-Nov-2025 20:48:10 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:48:10 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:48:10 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:48:10 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:48:10 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:48:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:48:10 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:10 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:10 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:10 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:48:10 UTC] 📊 Database Info:
[22-Nov-2025 20:48:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:48:10 UTC]    Books columns count: 44
[22-Nov-2025 20:48:10 UTC]    Categories columns count: 7
[22-Nov-2025 20:48:10 UTC]    Language field in books: YES
[22-Nov-2025 20:48:10 UTC]    Format field in books: YES
[22-Nov-2025 20:48:10 UTC]    Description field in categories: YES
[22-Nov-2025 20:48:10 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:48:10 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:48:10 UTC]    Is_active field in books: YES
[22-Nov-2025 20:48:10 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:48:10 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:48:10 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:48:10 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:48:10 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:48:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:48:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:48:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:48:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:48:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:48:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:48:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:48:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:48:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:48:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:48:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:48:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:48:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:48:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:48:12 UTC] 📊 Database Info:
[22-Nov-2025 20:48:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:48:12 UTC]    Books columns count: 44
[22-Nov-2025 20:48:12 UTC]    Categories columns count: 7
[22-Nov-2025 20:48:12 UTC]    Language field in books: YES
[22-Nov-2025 20:48:12 UTC]    Format field in books: YES
[22-Nov-2025 20:48:12 UTC]    Description field in categories: YES
[22-Nov-2025 20:48:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:48:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:48:12 UTC]    Is_active field in books: YES
[22-Nov-2025 20:48:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:48:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:48:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:48:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:48:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:48:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:48:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:48:12 UTC] 📊 Database Info:
[22-Nov-2025 20:48:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:48:12 UTC]    Books columns count: 44
[22-Nov-2025 20:48:12 UTC]    Categories columns count: 7
[22-Nov-2025 20:48:12 UTC]    Language field in books: YES
[22-Nov-2025 20:48:12 UTC]    Format field in books: YES
[22-Nov-2025 20:48:12 UTC]    Description field in categories: YES
[22-Nov-2025 20:48:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:48:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:48:12 UTC]    Is_active field in books: YES
[22-Nov-2025 20:48:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:48:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:48:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:48:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:48:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:48:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:48:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:48:12 UTC] 📊 Database Info:
[22-Nov-2025 20:48:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:48:12 UTC]    Books columns count: 44
[22-Nov-2025 20:48:12 UTC]    Categories columns count: 7
[22-Nov-2025 20:48:12 UTC]    Language field in books: YES
[22-Nov-2025 20:48:12 UTC]    Format field in books: YES
[22-Nov-2025 20:48:12 UTC]    Description field in categories: YES
[22-Nov-2025 20:48:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:48:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:48:12 UTC]    Is_active field in books: YES
[22-Nov-2025 20:48:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:48:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:48:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:48:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:48:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:48:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:48:12 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:48:12 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:48:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:48:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:48:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:48:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:48:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:48:12 UTC] 📊 Database Info:
[22-Nov-2025 20:48:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:48:12 UTC]    Books columns count: 44
[22-Nov-2025 20:48:12 UTC]    Categories columns count: 7
[22-Nov-2025 20:48:12 UTC]    Language field in books: YES
[22-Nov-2025 20:48:12 UTC]    Format field in books: YES
[22-Nov-2025 20:48:12 UTC]    Description field in categories: YES
[22-Nov-2025 20:48:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:48:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:48:12 UTC]    Is_active field in books: YES
[22-Nov-2025 20:48:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:48:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:48:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:48:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:48:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:48:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:48:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:48:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:48:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:48:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:48:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:48:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:48:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:48:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:48:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:48:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:48:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:48:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:48:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:48:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:48:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:48:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:48:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:48:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:48:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:48:36 UTC] 📊 Database Info:
[22-Nov-2025 20:48:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:48:36 UTC]    Books columns count: 44
[22-Nov-2025 20:48:36 UTC]    Categories columns count: 7
[22-Nov-2025 20:48:36 UTC]    Language field in books: YES
[22-Nov-2025 20:48:36 UTC]    Format field in books: YES
[22-Nov-2025 20:48:36 UTC]    Description field in categories: YES
[22-Nov-2025 20:48:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:48:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:48:36 UTC]    Is_active field in books: YES
[22-Nov-2025 20:48:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:48:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:48:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:48:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:48:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:48:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:48:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:48:36 UTC] 📊 Database Info:
[22-Nov-2025 20:48:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:48:36 UTC]    Books columns count: 44
[22-Nov-2025 20:48:36 UTC]    Categories columns count: 7
[22-Nov-2025 20:48:36 UTC]    Language field in books: YES
[22-Nov-2025 20:48:36 UTC]    Format field in books: YES
[22-Nov-2025 20:48:36 UTC]    Description field in categories: YES
[22-Nov-2025 20:48:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:48:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:48:36 UTC]    Is_active field in books: YES
[22-Nov-2025 20:48:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:48:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:48:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:48:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:48:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:48:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:48:36 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 20:48:36 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 20:48:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:48:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:48:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:48:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:48:36 UTC] 📊 Database Info:
[22-Nov-2025 20:48:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:48:36 UTC]    Books columns count: 44
[22-Nov-2025 20:48:36 UTC]    Categories columns count: 7
[22-Nov-2025 20:48:36 UTC]    Language field in books: YES
[22-Nov-2025 20:48:36 UTC]    Format field in books: YES
[22-Nov-2025 20:48:36 UTC]    Description field in categories: YES
[22-Nov-2025 20:48:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:48:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:48:36 UTC]    Is_active field in books: YES
[22-Nov-2025 20:48:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:48:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:48:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:48:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:48:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:48:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:48:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 20:48:36 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 20:48:36 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 20:49:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:49:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:49:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:49:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:49:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:49:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:49:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:49:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:49:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:49:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:49:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:49:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:49:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:49:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:49:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:49:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:49:13 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:49:13 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:49:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:49:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:49:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:49:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:49:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:49:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:49:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:49:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:49:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:49:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:49:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:49:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:49:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:49:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:49:14 UTC] 📊 Database Info:
[22-Nov-2025 20:49:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:49:14 UTC]    Books columns count: 44
[22-Nov-2025 20:49:14 UTC]    Categories columns count: 7
[22-Nov-2025 20:49:14 UTC]    Language field in books: YES
[22-Nov-2025 20:49:14 UTC]    Format field in books: YES
[22-Nov-2025 20:49:14 UTC]    Description field in categories: YES
[22-Nov-2025 20:49:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:49:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:49:14 UTC]    Is_active field in books: YES
[22-Nov-2025 20:49:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:49:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:49:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:49:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:49:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:49:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:49:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:49:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:49:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:49:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:49:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:49:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:49:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:49:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:49:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:49:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:49:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:49:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:49:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:49:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:49:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:49:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:49:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:49:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:49:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:49:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:49:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:49:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:49:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:49:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:49:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:49:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:49:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:49:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:49:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:49:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:49:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:49:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:49:14 UTC] 📊 Database Info:
[22-Nov-2025 20:49:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:49:14 UTC]    Books columns count: 44
[22-Nov-2025 20:49:14 UTC]    Categories columns count: 7
[22-Nov-2025 20:49:14 UTC]    Language field in books: YES
[22-Nov-2025 20:49:14 UTC]    Format field in books: YES
[22-Nov-2025 20:49:14 UTC]    Description field in categories: YES
[22-Nov-2025 20:49:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:49:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:49:14 UTC]    Is_active field in books: YES
[22-Nov-2025 20:49:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:49:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:49:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:49:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:49:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:49:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:49:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:49:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:49:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:49:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:49:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:49:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:49:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:49:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:49:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:49:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:49:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:49:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:49:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:49:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:49:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:49:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:49:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:49:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:49:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:49:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:49:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:49:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:49:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:49:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:49:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:49:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:49:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:49:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:49:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:49:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:49:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:49:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:49:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:49:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:49:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:49:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:49:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:49:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:49:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:49:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:49:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:49:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:49:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:49:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:49:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:49:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:49:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:49:19 UTC] 📊 Database Info:
[22-Nov-2025 20:49:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:49:19 UTC]    Books columns count: 44
[22-Nov-2025 20:49:19 UTC]    Categories columns count: 7
[22-Nov-2025 20:49:19 UTC]    Language field in books: YES
[22-Nov-2025 20:49:19 UTC]    Format field in books: YES
[22-Nov-2025 20:49:19 UTC]    Description field in categories: YES
[22-Nov-2025 20:49:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:49:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:49:19 UTC]    Is_active field in books: YES
[22-Nov-2025 20:49:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:49:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:49:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:49:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:49:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:49:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:49:19 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:49:19 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:49:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:49:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:49:19 UTC] 📊 Database Info:
[22-Nov-2025 20:49:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:49:19 UTC]    Books columns count: 44
[22-Nov-2025 20:49:19 UTC]    Categories columns count: 7
[22-Nov-2025 20:49:19 UTC]    Language field in books: YES
[22-Nov-2025 20:49:19 UTC]    Format field in books: YES
[22-Nov-2025 20:49:19 UTC]    Description field in categories: YES
[22-Nov-2025 20:49:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:49:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:49:19 UTC]    Is_active field in books: YES
[22-Nov-2025 20:49:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:49:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:49:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:49:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:49:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:49:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:49:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:49:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:49:19 UTC] 📊 Database Info:
[22-Nov-2025 20:49:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:49:19 UTC]    Books columns count: 44
[22-Nov-2025 20:49:19 UTC]    Categories columns count: 7
[22-Nov-2025 20:49:19 UTC]    Language field in books: YES
[22-Nov-2025 20:49:19 UTC]    Format field in books: YES
[22-Nov-2025 20:49:19 UTC]    Description field in categories: YES
[22-Nov-2025 20:49:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:49:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:49:19 UTC]    Is_active field in books: YES
[22-Nov-2025 20:49:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:49:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:49:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:49:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:49:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:49:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:49:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:49:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:49:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:49:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:49:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:49:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:49:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:49:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:49:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:49:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:49:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:49:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:49:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:49:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:49:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:49:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:49:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:49:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:49:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:49:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:49:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:49:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:49:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:49:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:49:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:49:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:49:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:49:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:49:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:49:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:49:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:49:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:49:21 UTC] 📊 Database Info:
[22-Nov-2025 20:49:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:49:21 UTC]    Books columns count: 44
[22-Nov-2025 20:49:21 UTC]    Categories columns count: 7
[22-Nov-2025 20:49:21 UTC]    Language field in books: YES
[22-Nov-2025 20:49:21 UTC]    Format field in books: YES
[22-Nov-2025 20:49:21 UTC]    Description field in categories: YES
[22-Nov-2025 20:49:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:49:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:49:21 UTC]    Is_active field in books: YES
[22-Nov-2025 20:49:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:49:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:49:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:49:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:49:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:49:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:49:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:50:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:50:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:50:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:50:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:50:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:50:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:50:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:50:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:50:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:50:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:50:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:50:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:50:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:50:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:50:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:50:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:50:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:50:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:50:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:50:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:50:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:50:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:50:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:50:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:50:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:50:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:50:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:50:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:50:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:50:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:50:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:50:56 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:50:56 UTC] 📊 Database Info:
[22-Nov-2025 20:50:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:50:56 UTC]    Books columns count: 44
[22-Nov-2025 20:50:56 UTC]    Categories columns count: 7
[22-Nov-2025 20:50:56 UTC]    Language field in books: YES
[22-Nov-2025 20:50:56 UTC]    Format field in books: YES
[22-Nov-2025 20:50:56 UTC]    Description field in categories: YES
[22-Nov-2025 20:50:56 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:50:56 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:50:56 UTC]    Is_active field in books: YES
[22-Nov-2025 20:50:56 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:50:56 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:50:56 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:50:56 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:50:56 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:50:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:50:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:50:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:50:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:50:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:50:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:50:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:50:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:50:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:50:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:50:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:50:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:50:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:50:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:50:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:50:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:50:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:50:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:50:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:50:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:50:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:50:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:50:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:50:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:50:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:50:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:50:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:50:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:50:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:50:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:50:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:50:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:50:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:50:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:50:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:50:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:50:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:50:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:50:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:50:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:50:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:50:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:50:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:50:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:50:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:50:57 UTC] 📊 Database Info:
[22-Nov-2025 20:50:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:50:57 UTC]    Books columns count: 44
[22-Nov-2025 20:50:57 UTC]    Categories columns count: 7
[22-Nov-2025 20:50:57 UTC]    Language field in books: YES
[22-Nov-2025 20:50:57 UTC]    Format field in books: YES
[22-Nov-2025 20:50:57 UTC]    Description field in categories: YES
[22-Nov-2025 20:50:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:50:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:50:57 UTC]    Is_active field in books: YES
[22-Nov-2025 20:50:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:50:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:50:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:50:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:50:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:50:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:50:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:51:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:51:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:51:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:51:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:51:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:51:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:51:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:51:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:51:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:51:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:51:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:51:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:51:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:51:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:51:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:51:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:51:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:51:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:51:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:51:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:51:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:51:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:51:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:51:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:51:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:51:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:51:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:51:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:51:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:51:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:51:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:51:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:51:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:51:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:51:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:51:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:51:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:51:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:51:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:51:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:51:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:51:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:51:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:51:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:51:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:51:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:51:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:51:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:51:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:51:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:51:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:51:02 UTC] 📊 Database Info:
[22-Nov-2025 20:51:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:51:02 UTC]    Books columns count: 44
[22-Nov-2025 20:51:02 UTC]    Categories columns count: 7
[22-Nov-2025 20:51:02 UTC]    Language field in books: YES
[22-Nov-2025 20:51:02 UTC]    Format field in books: YES
[22-Nov-2025 20:51:02 UTC]    Description field in categories: YES
[22-Nov-2025 20:51:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:51:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:51:02 UTC]    Is_active field in books: YES
[22-Nov-2025 20:51:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:51:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:51:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:51:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:51:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:51:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:51:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:51:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:51:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:51:02 UTC] 📊 Database Info:
[22-Nov-2025 20:51:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:51:02 UTC]    Books columns count: 44
[22-Nov-2025 20:51:02 UTC]    Categories columns count: 7
[22-Nov-2025 20:51:02 UTC]    Language field in books: YES
[22-Nov-2025 20:51:02 UTC]    Format field in books: YES
[22-Nov-2025 20:51:02 UTC]    Description field in categories: YES
[22-Nov-2025 20:51:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:51:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:51:02 UTC]    Is_active field in books: YES
[22-Nov-2025 20:51:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:51:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:51:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:51:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:51:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:51:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:51:02 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:51:02 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:51:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:51:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:51:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:51:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:51:02 UTC] 📊 Database Info:
[22-Nov-2025 20:51:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:51:02 UTC]    Books columns count: 44
[22-Nov-2025 20:51:02 UTC]    Categories columns count: 7
[22-Nov-2025 20:51:02 UTC]    Language field in books: YES
[22-Nov-2025 20:51:02 UTC]    Format field in books: YES
[22-Nov-2025 20:51:02 UTC]    Description field in categories: YES
[22-Nov-2025 20:51:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:51:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:51:02 UTC]    Is_active field in books: YES
[22-Nov-2025 20:51:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:51:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:51:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:51:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:51:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:51:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:51:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:51:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:51:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:51:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:51:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:51:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:51:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:51:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:51:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:51:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:51:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:51:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:51:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:51:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:51:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:51:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:51:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:51:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:51:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:51:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:51:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:51:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:51:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:51:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:51:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:51:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:51:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:51:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:51:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:51:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:51:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:51:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:51:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:51:03 UTC] 📊 Database Info:
[22-Nov-2025 20:51:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:51:03 UTC]    Books columns count: 44
[22-Nov-2025 20:51:03 UTC]    Categories columns count: 7
[22-Nov-2025 20:51:03 UTC]    Language field in books: YES
[22-Nov-2025 20:51:03 UTC]    Format field in books: YES
[22-Nov-2025 20:51:03 UTC]    Description field in categories: YES
[22-Nov-2025 20:51:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:51:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:51:03 UTC]    Is_active field in books: YES
[22-Nov-2025 20:51:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:51:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:51:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:51:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:51:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:51:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:51:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:51:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:51:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:51:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:51:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:51:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:51:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:51:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:51:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:51:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:51:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:51:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:51:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:51:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:51:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:51:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:51:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:51:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:51:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:51:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:51:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:51:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:51:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:51:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:51:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:51:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:51:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:51:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:51:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:51:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:51:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:51:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:51:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:51:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:51:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:51:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:51:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:51:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:51:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:51:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:51:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:51:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:51:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:51:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:51:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:51:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:51:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:51:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:51:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:51:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:51:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:51:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:51:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:51:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:51:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:51:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:51:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:51:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:51:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:51:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:51:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:51:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:51:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:51:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:51:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:51:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:51:57 UTC] 📊 Database Info:
[22-Nov-2025 20:51:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:51:57 UTC]    Books columns count: 44
[22-Nov-2025 20:51:57 UTC]    Categories columns count: 7
[22-Nov-2025 20:51:57 UTC]    Language field in books: YES
[22-Nov-2025 20:51:57 UTC]    Format field in books: YES
[22-Nov-2025 20:51:57 UTC]    Description field in categories: YES
[22-Nov-2025 20:51:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:51:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:51:57 UTC]    Is_active field in books: YES
[22-Nov-2025 20:51:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:51:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:51:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:51:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:51:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:51:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:51:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:51:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:51:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:51:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:51:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:51:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:51:57 UTC] 📊 Database Info:
[22-Nov-2025 20:51:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:51:57 UTC]    Books columns count: 44
[22-Nov-2025 20:51:57 UTC]    Categories columns count: 7
[22-Nov-2025 20:51:57 UTC]    Language field in books: YES
[22-Nov-2025 20:51:57 UTC]    Format field in books: YES
[22-Nov-2025 20:51:57 UTC]    Description field in categories: YES
[22-Nov-2025 20:51:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:51:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:51:57 UTC]    Is_active field in books: YES
[22-Nov-2025 20:51:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:51:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:51:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:51:57 UTC] 📊 Database Info:
[22-Nov-2025 20:51:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:51:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:51:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:51:57 UTC]    Books columns count: 44
[22-Nov-2025 20:51:57 UTC]    Categories columns count: 7
[22-Nov-2025 20:51:57 UTC]    Language field in books: YES
[22-Nov-2025 20:51:57 UTC]    Format field in books: YES
[22-Nov-2025 20:51:57 UTC]    Description field in categories: YES
[22-Nov-2025 20:51:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:51:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:51:57 UTC]    Is_active field in books: YES
[22-Nov-2025 20:51:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:51:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:51:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:51:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:51:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:51:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:51:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:51:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:51:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:51:57 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:51:57 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:52:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:52:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:52:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:52:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:52:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:52:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:52:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:52:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:52:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:52:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:52:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:52:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:52:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:52:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:52:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:52:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:52:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:52:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:52:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:52:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:52:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:52:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:52:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:52:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:52:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:52:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:52:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:52:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:52:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:52:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:52:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:52:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:52:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:52:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:52:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:52:55 UTC] 📊 Database Info:
[22-Nov-2025 20:52:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:52:55 UTC]    Books columns count: 44
[22-Nov-2025 20:52:55 UTC]    Categories columns count: 7
[22-Nov-2025 20:52:55 UTC]    Language field in books: YES
[22-Nov-2025 20:52:55 UTC]    Format field in books: YES
[22-Nov-2025 20:52:55 UTC]    Description field in categories: YES
[22-Nov-2025 20:52:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:52:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:52:55 UTC]    Is_active field in books: YES
[22-Nov-2025 20:52:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:52:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:52:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:52:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:52:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:52:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:52:55 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:52:55 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 20:52:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:52:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:52:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:52:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:52:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:52:55 UTC] 📊 Database Info:
[22-Nov-2025 20:52:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:52:55 UTC]    Books columns count: 44
[22-Nov-2025 20:52:55 UTC]    Categories columns count: 7
[22-Nov-2025 20:52:55 UTC]    Language field in books: YES
[22-Nov-2025 20:52:55 UTC]    Format field in books: YES
[22-Nov-2025 20:52:55 UTC]    Description field in categories: YES
[22-Nov-2025 20:52:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:52:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:52:55 UTC]    Is_active field in books: YES
[22-Nov-2025 20:52:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:52:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:52:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:52:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:52:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:52:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:52:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:52:55 UTC] 📊 Database Info:
[22-Nov-2025 20:52:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:52:55 UTC]    Books columns count: 44
[22-Nov-2025 20:52:55 UTC]    Categories columns count: 7
[22-Nov-2025 20:52:55 UTC]    Language field in books: YES
[22-Nov-2025 20:52:55 UTC]    Format field in books: YES
[22-Nov-2025 20:52:55 UTC]    Description field in categories: YES
[22-Nov-2025 20:52:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:52:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:52:55 UTC]    Is_active field in books: YES
[22-Nov-2025 20:52:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:52:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:52:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:52:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:52:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:52:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:52:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:53:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:53:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:53:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:53:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:53:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:53:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:53:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:53:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:53:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:53:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:53:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:53:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:53:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:53:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:53:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:53:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:53:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:53:46 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:53:46 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:53:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:53:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:53:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:53:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:53:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:53:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:53:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:53:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:53:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:53:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:53:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:53:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:53:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:53:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 20:53:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:53:46 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:53:46 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:53:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:53:46 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 20:53:46 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 20:53:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column institution already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:53:46 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:53:46 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:53:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:53:46 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:53:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column language already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column format already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:53:46 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:53:46 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:53:46 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 20:53:46 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 20:53:46 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 20:53:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:53:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:53:46 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:53:46 UTC] 📊 Database Info:
[22-Nov-2025 20:53:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:53:46 UTC]    Books columns count: 44
[22-Nov-2025 20:53:46 UTC]    Categories columns count: 7
[22-Nov-2025 20:53:46 UTC]    Language field in books: YES
[22-Nov-2025 20:53:46 UTC]    Format field in books: YES
[22-Nov-2025 20:53:46 UTC]    Description field in categories: YES
[22-Nov-2025 20:53:46 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:53:46 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:53:46 UTC]    Is_active field in books: YES
[22-Nov-2025 20:53:46 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:53:46 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:53:46 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:53:46 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:53:46 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:53:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:53:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:53:46 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:53:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:53:46 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:53:46 UTC] 📊 Database Info:
[22-Nov-2025 20:53:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:53:46 UTC]    Books columns count: 44
[22-Nov-2025 20:53:46 UTC]    Categories columns count: 7
[22-Nov-2025 20:53:46 UTC]    Language field in books: YES
[22-Nov-2025 20:53:46 UTC]    Format field in books: YES
[22-Nov-2025 20:53:46 UTC]    Description field in categories: YES
[22-Nov-2025 20:53:46 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:53:46 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:53:46 UTC]    Is_active field in books: YES
[22-Nov-2025 20:53:46 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:53:46 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:53:46 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:53:46 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:53:46 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:53:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 20:53:46 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 20:53:46 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 20:53:46 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 20:53:46 UTC] 📊 Database Info:
[22-Nov-2025 20:53:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 20:53:46 UTC]    Books columns count: 44
[22-Nov-2025 20:53:46 UTC]    Categories columns count: 7
[22-Nov-2025 20:53:46 UTC]    Language field in books: YES
[22-Nov-2025 20:53:46 UTC]    Format field in books: YES
[22-Nov-2025 20:53:46 UTC]    Description field in categories: YES
[22-Nov-2025 20:53:46 UTC]    Display_order field in categories: YES
[22-Nov-2025 20:53:46 UTC]    Is_active field in categories: YES
[22-Nov-2025 20:53:46 UTC]    Is_active field in books: YES
[22-Nov-2025 20:53:46 UTC]    External_download_link field in books: YES
[22-Nov-2025 20:53:46 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 20:53:46 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 20:53:46 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 20:53:46 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 20:53:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 20:53:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 20:53:46 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 20:53:46 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:05:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:05:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:05:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:05:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:05:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:05:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:05:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:05:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:05:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:05:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:05:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:05:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:05:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:05:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:05:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:05:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:05:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:05:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:05:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:05:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:05:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:05:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:05:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:05:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:05:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:05:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:05:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:05:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:05:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:05:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:05:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:05:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:05:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:05:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:05:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:05:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:05:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:05:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:05:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:05:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:05:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:05:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:05:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:05:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:05:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:05:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:05:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:05:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:05:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:05:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:05:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:05:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:05:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:05:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:05:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:05:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:05:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:05:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:05:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:05:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:05:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:05:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:05:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:05:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:05:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:05:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:05:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:05:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:05:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:05:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:05:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:05:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:05:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:05:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:05:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:05:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:05:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:05:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:05:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:05:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:05:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:05:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:05:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:05:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:05:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:05:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:05:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:05:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:05:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:05:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:05:15 UTC] 📊 Database Info:
[22-Nov-2025 21:05:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:05:15 UTC]    Books columns count: 44
[22-Nov-2025 21:05:15 UTC]    Categories columns count: 7
[22-Nov-2025 21:05:15 UTC]    Language field in books: YES
[22-Nov-2025 21:05:15 UTC]    Format field in books: YES
[22-Nov-2025 21:05:15 UTC]    Description field in categories: YES
[22-Nov-2025 21:05:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:05:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:05:15 UTC]    Is_active field in books: YES
[22-Nov-2025 21:05:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:05:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:05:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:05:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:05:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:05:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:05:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:05:15 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:05:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:05:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:05:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:05:15 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:05:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:05:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:05:15 UTC] 📊 Database Info:
[22-Nov-2025 21:05:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:05:15 UTC]    Books columns count: 44
[22-Nov-2025 21:05:15 UTC]    Categories columns count: 7
[22-Nov-2025 21:05:15 UTC]    Language field in books: YES
[22-Nov-2025 21:05:15 UTC]    Format field in books: YES
[22-Nov-2025 21:05:15 UTC]    Description field in categories: YES
[22-Nov-2025 21:05:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:05:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:05:15 UTC]    Is_active field in books: YES
[22-Nov-2025 21:05:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:05:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:05:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:05:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:05:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:05:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:05:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:05:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:05:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:05:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:05:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:05:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:05:15 UTC] 📊 Database Info:
[22-Nov-2025 21:05:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:05:15 UTC]    Books columns count: 44
[22-Nov-2025 21:05:15 UTC]    Categories columns count: 7
[22-Nov-2025 21:05:15 UTC]    Language field in books: YES
[22-Nov-2025 21:05:15 UTC]    Format field in books: YES
[22-Nov-2025 21:05:15 UTC]    Description field in categories: YES
[22-Nov-2025 21:05:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:05:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:05:15 UTC]    Is_active field in books: YES
[22-Nov-2025 21:05:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:05:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:05:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:05:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:05:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:05:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:05:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:05:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:05:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:05:15 UTC] 📊 Database Info:
[22-Nov-2025 21:05:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:05:15 UTC]    Books columns count: 44
[22-Nov-2025 21:05:15 UTC]    Categories columns count: 7
[22-Nov-2025 21:05:15 UTC]    Language field in books: YES
[22-Nov-2025 21:05:15 UTC]    Format field in books: YES
[22-Nov-2025 21:05:15 UTC]    Description field in categories: YES
[22-Nov-2025 21:05:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:05:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:05:15 UTC]    Is_active field in books: YES
[22-Nov-2025 21:05:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:05:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:05:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:05:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:05:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:05:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:05:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:05:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:05:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:05:15 UTC] 📊 Database Info:
[22-Nov-2025 21:05:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:05:15 UTC]    Books columns count: 44
[22-Nov-2025 21:05:15 UTC]    Categories columns count: 7
[22-Nov-2025 21:05:15 UTC]    Language field in books: YES
[22-Nov-2025 21:05:15 UTC]    Format field in books: YES
[22-Nov-2025 21:05:15 UTC]    Description field in categories: YES
[22-Nov-2025 21:05:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:05:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:05:15 UTC]    Is_active field in books: YES
[22-Nov-2025 21:05:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:05:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:05:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:05:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:05:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:05:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:05:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:05:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:05:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:05:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:05:15 UTC] 📊 Database Info:
[22-Nov-2025 21:05:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:05:15 UTC]    Books columns count: 44
[22-Nov-2025 21:05:15 UTC]    Categories columns count: 7
[22-Nov-2025 21:05:15 UTC]    Language field in books: YES
[22-Nov-2025 21:05:15 UTC]    Format field in books: YES
[22-Nov-2025 21:05:15 UTC]    Description field in categories: YES
[22-Nov-2025 21:05:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:05:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:05:15 UTC]    Is_active field in books: YES
[22-Nov-2025 21:05:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:05:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:05:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:05:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:05:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:05:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:05:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:05:15 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:05:15 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:06:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:06:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:06:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:06:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:06:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:06:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:06:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:06:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:06:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:06:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:06:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:06:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:06:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:06:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:06:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:06:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:06:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:06:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:06:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:06:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:06:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:06:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:06:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:06:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:06:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:06:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:06:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:06:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:06:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:06:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:06:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:06:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:06:48 UTC] 📊 Database Info:
[22-Nov-2025 21:06:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:06:48 UTC]    Books columns count: 44
[22-Nov-2025 21:06:48 UTC]    Categories columns count: 7
[22-Nov-2025 21:06:48 UTC]    Language field in books: YES
[22-Nov-2025 21:06:48 UTC]    Format field in books: YES
[22-Nov-2025 21:06:48 UTC]    Description field in categories: YES
[22-Nov-2025 21:06:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:06:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:06:48 UTC]    Is_active field in books: YES
[22-Nov-2025 21:06:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:06:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:06:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:06:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:06:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:06:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:06:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:06:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:06:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:06:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:06:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:06:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:06:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:06:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:06:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:06:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:06:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:06:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:06:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:06:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:06:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:06:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:06:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:06:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:06:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:06:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:06:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:06:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:06:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:06:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:06:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:06:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:06:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:06:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:06:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:06:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:06:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:06:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:06:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:06:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:06:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:06:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:06:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:06:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:06:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:06:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:06:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:06:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:06:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:06:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:06:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:06:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:06:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:06:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:06:50 UTC] 📊 Database Info:
[22-Nov-2025 21:06:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:06:50 UTC]    Books columns count: 44
[22-Nov-2025 21:06:50 UTC]    Categories columns count: 7
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:06:50 UTC]    Language field in books: YES
[22-Nov-2025 21:06:50 UTC]    Format field in books: YES
[22-Nov-2025 21:06:50 UTC]    Description field in categories: YES
[22-Nov-2025 21:06:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:06:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:06:50 UTC]    Is_active field in books: YES
[22-Nov-2025 21:06:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:06:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:06:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:06:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:06:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:06:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:06:50 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:06:50 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:06:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:06:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:06:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:06:50 UTC] 📊 Database Info:
[22-Nov-2025 21:06:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:06:50 UTC]    Books columns count: 44
[22-Nov-2025 21:06:50 UTC]    Categories columns count: 7
[22-Nov-2025 21:06:50 UTC]    Language field in books: YES
[22-Nov-2025 21:06:50 UTC]    Format field in books: YES
[22-Nov-2025 21:06:50 UTC]    Description field in categories: YES
[22-Nov-2025 21:06:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:06:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:06:50 UTC]    Is_active field in books: YES
[22-Nov-2025 21:06:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:06:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:06:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:06:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:06:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:06:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:06:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:06:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:06:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:06:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:06:50 UTC] 📊 Database Info:
[22-Nov-2025 21:06:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:06:50 UTC]    Books columns count: 44
[22-Nov-2025 21:06:50 UTC]    Categories columns count: 7
[22-Nov-2025 21:06:50 UTC]    Language field in books: YES
[22-Nov-2025 21:06:50 UTC]    Format field in books: YES
[22-Nov-2025 21:06:50 UTC]    Description field in categories: YES
[22-Nov-2025 21:06:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:06:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:06:50 UTC]    Is_active field in books: YES
[22-Nov-2025 21:06:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:06:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:06:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:06:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:06:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:06:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:08:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:08:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:08:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:08:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:08:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:08:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:08:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:08:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:08:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:08:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:08:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:08:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:08:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:08:12 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:08:12 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:08:12 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:08:12 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:08:12 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:08:12 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:08:12 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:08:12 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:08:12 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:08:12 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:08:12 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:08:12 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:08:12 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:08:12 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:08:12 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:08:12 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:08:12 UTC] 📊 Database Info:
[22-Nov-2025 21:08:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:08:12 UTC]    Books columns count: 44
[22-Nov-2025 21:08:12 UTC]    Categories columns count: 7
[22-Nov-2025 21:08:12 UTC]    Language field in books: YES
[22-Nov-2025 21:08:12 UTC]    Format field in books: YES
[22-Nov-2025 21:08:12 UTC]    Description field in categories: YES
[22-Nov-2025 21:08:12 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:08:12 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:08:12 UTC]    Is_active field in books: YES
[22-Nov-2025 21:08:12 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:08:12 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:08:12 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:08:12 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:08:12 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:08:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:08:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:08:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:08:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:08:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:08:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:08:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:08:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:08:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:08:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:08:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:08:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:08:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:08:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:08:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:08:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:08:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:08:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:08:13 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:08:13 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:08:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:08:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:08:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:08:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:08:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:08:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:08:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:08:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:08:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:08:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:08:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:08:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:08:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:08:13 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:08:13 UTC] 📊 Database Info:
[22-Nov-2025 21:08:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:08:13 UTC]    Books columns count: 44
[22-Nov-2025 21:08:13 UTC]    Categories columns count: 7
[22-Nov-2025 21:08:13 UTC]    Language field in books: YES
[22-Nov-2025 21:08:13 UTC]    Format field in books: YES
[22-Nov-2025 21:08:13 UTC]    Description field in categories: YES
[22-Nov-2025 21:08:13 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:08:13 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:08:13 UTC]    Is_active field in books: YES
[22-Nov-2025 21:08:13 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:08:13 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:08:13 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:08:13 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:08:13 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:08:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:08:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:08:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:08:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:08:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:08:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:08:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:08:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:08:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:08:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:08:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:08:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:08:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:08:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:08:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:08:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:08:16 UTC] 📊 Database Info:
[22-Nov-2025 21:08:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:08:16 UTC]    Books columns count: 44
[22-Nov-2025 21:08:16 UTC]    Categories columns count: 7
[22-Nov-2025 21:08:16 UTC]    Language field in books: YES
[22-Nov-2025 21:08:16 UTC]    Format field in books: YES
[22-Nov-2025 21:08:16 UTC]    Description field in categories: YES
[22-Nov-2025 21:08:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:08:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:08:16 UTC]    Is_active field in books: YES
[22-Nov-2025 21:08:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:08:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:08:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:08:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:08:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:08:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:08:16 UTC] 📊 Database Info:
[22-Nov-2025 21:08:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:08:16 UTC]    Books columns count: 44
[22-Nov-2025 21:08:16 UTC]    Categories columns count: 7
[22-Nov-2025 21:08:16 UTC]    Language field in books: YES
[22-Nov-2025 21:08:16 UTC]    Format field in books: YES
[22-Nov-2025 21:08:16 UTC]    Description field in categories: YES
[22-Nov-2025 21:08:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:08:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:08:16 UTC]    Is_active field in books: YES
[22-Nov-2025 21:08:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:08:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:08:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:08:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:08:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:08:16 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:08:16 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:08:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:08:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:08:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:08:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:08:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:08:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:08:16 UTC] 📊 Database Info:
[22-Nov-2025 21:08:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:08:16 UTC]    Books columns count: 44
[22-Nov-2025 21:08:16 UTC]    Categories columns count: 7
[22-Nov-2025 21:08:16 UTC]    Language field in books: YES
[22-Nov-2025 21:08:16 UTC]    Format field in books: YES
[22-Nov-2025 21:08:16 UTC]    Description field in categories: YES
[22-Nov-2025 21:08:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:08:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:08:16 UTC]    Is_active field in books: YES
[22-Nov-2025 21:08:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:08:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:08:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:08:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:08:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:08:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:08:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:08:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:08:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:08:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:08:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:08:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:08:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:08:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:08:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:08:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:08:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:08:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:08:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:08:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:08:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:08:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:08:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:08:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:08:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:08:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:08:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:08:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:08:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:08:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:08:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:08:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:08:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:08:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:08:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:08:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:08:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:08:20 UTC] 📊 Database Info:
[22-Nov-2025 21:08:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:08:20 UTC]    Books columns count: 44
[22-Nov-2025 21:08:20 UTC]    Categories columns count: 7
[22-Nov-2025 21:08:20 UTC]    Language field in books: YES
[22-Nov-2025 21:08:20 UTC]    Format field in books: YES
[22-Nov-2025 21:08:20 UTC]    Description field in categories: YES
[22-Nov-2025 21:08:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:08:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:08:20 UTC]    Is_active field in books: YES
[22-Nov-2025 21:08:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:08:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:08:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:08:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:08:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:08:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:08:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:08:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:08:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:08:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:08:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:08:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:08:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:08:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:08:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:08:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:08:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:08:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:08:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:08:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:08:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:08:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:08:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:08:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:08:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:08:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:08:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:08:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:08:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:08:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:08:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:08:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:08:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:08:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:08:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:08:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:08:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:08:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:08:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:08:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:08:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:08:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:08:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:08:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:08:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:08:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:08:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:08:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:08:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:08:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:08:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:08:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:08:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:08:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:08:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:08:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:08:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:08:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:08:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:08:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:08:38 UTC] 📊 Database Info:
[22-Nov-2025 21:08:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:08:38 UTC]    Books columns count: 44
[22-Nov-2025 21:08:38 UTC]    Categories columns count: 7
[22-Nov-2025 21:08:38 UTC]    Language field in books: YES
[22-Nov-2025 21:08:38 UTC]    Format field in books: YES
[22-Nov-2025 21:08:38 UTC]    Description field in categories: YES
[22-Nov-2025 21:08:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:08:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:08:38 UTC]    Is_active field in books: YES
[22-Nov-2025 21:08:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:08:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:08:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:08:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:08:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:08:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:08:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 21:08:38 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 21:08:38 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 21:08:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:08:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:08:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:08:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:08:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:08:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:08:38 UTC] 📊 Database Info:
[22-Nov-2025 21:08:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:08:38 UTC]    Books columns count: 44
[22-Nov-2025 21:08:38 UTC]    Categories columns count: 7
[22-Nov-2025 21:08:38 UTC]    Language field in books: YES
[22-Nov-2025 21:08:38 UTC]    Format field in books: YES
[22-Nov-2025 21:08:38 UTC]    Description field in categories: YES
[22-Nov-2025 21:08:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:08:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:08:38 UTC]    Is_active field in books: YES
[22-Nov-2025 21:08:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:08:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:08:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:08:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:08:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:08:38 UTC] 📊 Database Info:
[22-Nov-2025 21:08:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:08:38 UTC]    Books columns count: 44
[22-Nov-2025 21:08:38 UTC]    Categories columns count: 7
[22-Nov-2025 21:08:38 UTC]    Language field in books: YES
[22-Nov-2025 21:08:38 UTC]    Format field in books: YES
[22-Nov-2025 21:08:38 UTC]    Description field in categories: YES
[22-Nov-2025 21:08:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:08:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:08:38 UTC]    Is_active field in books: YES
[22-Nov-2025 21:08:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:08:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:08:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:08:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:08:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:08:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:08:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:08:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:08:38 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 21:08:38 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 21:09:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:09:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:09:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:13 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:09:13 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:09:13 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:13 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:13 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:13 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:13 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:13 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:13 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:13 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:13 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:13 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:13 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:13 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:13 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:13 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:09:13 UTC] 📊 Database Info:
[22-Nov-2025 21:09:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:09:13 UTC]    Books columns count: 44
[22-Nov-2025 21:09:13 UTC]    Categories columns count: 7
[22-Nov-2025 21:09:13 UTC]    Language field in books: YES
[22-Nov-2025 21:09:13 UTC]    Format field in books: YES
[22-Nov-2025 21:09:13 UTC]    Description field in categories: YES
[22-Nov-2025 21:09:13 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:09:13 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:09:13 UTC]    Is_active field in books: YES
[22-Nov-2025 21:09:13 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:09:13 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:09:13 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:09:13 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:09:13 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:09:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:09:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:09:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:09:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:09:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:09:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:09:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:09:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:09:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:09:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:09:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:09:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:09:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:09:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:09:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:09:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:09:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:09:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:09:14 UTC] 📊 Database Info:
[22-Nov-2025 21:09:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:09:14 UTC]    Books columns count: 44
[22-Nov-2025 21:09:14 UTC]    Categories columns count: 7
[22-Nov-2025 21:09:14 UTC]    Language field in books: YES
[22-Nov-2025 21:09:14 UTC]    Format field in books: YES
[22-Nov-2025 21:09:14 UTC]    Description field in categories: YES
[22-Nov-2025 21:09:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:09:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:09:14 UTC]    Is_active field in books: YES
[22-Nov-2025 21:09:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:09:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:09:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:09:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:09:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:09:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:09:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:09:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:09:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:09:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:09:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:09:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:09:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:09:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:09:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:09:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:09:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:09:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:09:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:09:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:09:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:09:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:09:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:09:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:09:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:09:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:09:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:09:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:09:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:09:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:09:16 UTC] 📊 Database Info:
[22-Nov-2025 21:09:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:09:16 UTC]    Books columns count: 44
[22-Nov-2025 21:09:16 UTC]    Categories columns count: 7
[22-Nov-2025 21:09:16 UTC]    Language field in books: YES
[22-Nov-2025 21:09:16 UTC]    Format field in books: YES
[22-Nov-2025 21:09:16 UTC]    Description field in categories: YES
[22-Nov-2025 21:09:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:09:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:09:16 UTC]    Is_active field in books: YES
[22-Nov-2025 21:09:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:09:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:09:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:09:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:09:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:09:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:09:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:09:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:09:16 UTC] 📊 Database Info:
[22-Nov-2025 21:09:16 UTC] 📊 Database Info:
[22-Nov-2025 21:09:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:09:16 UTC]    Books columns count: 44
[22-Nov-2025 21:09:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:09:16 UTC]    Categories columns count: 7
[22-Nov-2025 21:09:16 UTC]    Books columns count: 44
[22-Nov-2025 21:09:16 UTC]    Categories columns count: 7
[22-Nov-2025 21:09:16 UTC]    Language field in books: YES
[22-Nov-2025 21:09:16 UTC]    Format field in books: YES
[22-Nov-2025 21:09:16 UTC]    Description field in categories: YES
[22-Nov-2025 21:09:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:09:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:09:16 UTC]    Language field in books: YES
[22-Nov-2025 21:09:16 UTC]    Is_active field in books: YES
[22-Nov-2025 21:09:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:09:16 UTC]    Format field in books: YES
[22-Nov-2025 21:09:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:09:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:09:16 UTC]    Description field in categories: YES
[22-Nov-2025 21:09:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:09:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:09:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:09:16 UTC]    Is_active field in books: YES
[22-Nov-2025 21:09:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:09:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:09:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:09:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:09:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:09:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:09:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:09:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:09:16 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:09:16 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:09:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:09:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:09:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:18 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:09:18 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:09:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:18 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:09:18 UTC] 📊 Database Info:
[22-Nov-2025 21:09:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:09:18 UTC]    Books columns count: 44
[22-Nov-2025 21:09:18 UTC]    Categories columns count: 7
[22-Nov-2025 21:09:18 UTC]    Language field in books: YES
[22-Nov-2025 21:09:18 UTC]    Format field in books: YES
[22-Nov-2025 21:09:18 UTC]    Description field in categories: YES
[22-Nov-2025 21:09:18 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:09:18 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:09:18 UTC]    Is_active field in books: YES
[22-Nov-2025 21:09:18 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:09:18 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:09:18 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:09:18 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:09:18 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:09:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:09:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:09:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:09:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:09:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:09:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:09:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:09:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:09:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:09:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:09:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:09:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:09:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:09:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:09:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:09:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:09:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:09:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:09:24 UTC] 📊 Database Info:
[22-Nov-2025 21:09:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:09:24 UTC]    Books columns count: 44
[22-Nov-2025 21:09:24 UTC]    Categories columns count: 7
[22-Nov-2025 21:09:24 UTC]    Language field in books: YES
[22-Nov-2025 21:09:24 UTC]    Format field in books: YES
[22-Nov-2025 21:09:24 UTC]    Description field in categories: YES
[22-Nov-2025 21:09:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:09:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:09:24 UTC]    Is_active field in books: YES
[22-Nov-2025 21:09:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:09:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:09:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:09:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:09:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:09:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:09:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:09:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:09:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:09:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:09:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:09:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:09:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:09:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:09:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:09:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:09:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:09:45 UTC] 📊 Database Info:
[22-Nov-2025 21:09:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:09:45 UTC]    Books columns count: 44
[22-Nov-2025 21:09:45 UTC]    Categories columns count: 7
[22-Nov-2025 21:09:45 UTC]    Language field in books: YES
[22-Nov-2025 21:09:45 UTC]    Format field in books: YES
[22-Nov-2025 21:09:45 UTC]    Description field in categories: YES
[22-Nov-2025 21:09:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:09:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:09:45 UTC]    Is_active field in books: YES
[22-Nov-2025 21:09:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:09:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:09:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:09:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:09:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:09:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:09:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:09:45 UTC] 📊 Database Info:
[22-Nov-2025 21:09:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:09:45 UTC]    Books columns count: 44
[22-Nov-2025 21:09:45 UTC]    Categories columns count: 7
[22-Nov-2025 21:09:45 UTC]    Language field in books: YES
[22-Nov-2025 21:09:45 UTC]    Format field in books: YES
[22-Nov-2025 21:09:45 UTC]    Description field in categories: YES
[22-Nov-2025 21:09:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:09:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:09:45 UTC]    Is_active field in books: YES
[22-Nov-2025 21:09:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:09:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:09:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:09:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:09:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:09:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:09:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:09:45 UTC] 📊 Database Info:
[22-Nov-2025 21:09:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:09:45 UTC]    Books columns count: 44
[22-Nov-2025 21:09:45 UTC]    Categories columns count: 7
[22-Nov-2025 21:09:45 UTC]    Language field in books: YES
[22-Nov-2025 21:09:45 UTC]    Format field in books: YES
[22-Nov-2025 21:09:45 UTC]    Description field in categories: YES
[22-Nov-2025 21:09:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:09:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:09:45 UTC]    Is_active field in books: YES
[22-Nov-2025 21:09:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:09:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:09:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:09:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:09:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:09:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:09:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:09:45 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:09:45 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:09:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:09:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:09:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:58 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:09:58 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:09:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:09:58 UTC] 📊 Database Info:
[22-Nov-2025 21:09:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:09:58 UTC]    Books columns count: 44
[22-Nov-2025 21:09:58 UTC]    Categories columns count: 7
[22-Nov-2025 21:09:58 UTC]    Language field in books: YES
[22-Nov-2025 21:09:58 UTC]    Format field in books: YES
[22-Nov-2025 21:09:58 UTC]    Description field in categories: YES
[22-Nov-2025 21:09:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:09:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:09:58 UTC]    Is_active field in books: YES
[22-Nov-2025 21:09:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:09:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:09:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:09:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:09:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:09:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:09:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:09:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:09:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:09:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:09:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:09:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:09:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:09:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:09:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:09:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:09:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:09:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:09:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:09:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:09:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:09:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:09:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:09:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:09:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:09:59 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:09:59 UTC] 📊 Database Info:
[22-Nov-2025 21:09:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:09:59 UTC]    Books columns count: 44
[22-Nov-2025 21:09:59 UTC]    Categories columns count: 7
[22-Nov-2025 21:09:59 UTC]    Language field in books: YES
[22-Nov-2025 21:09:59 UTC]    Format field in books: YES
[22-Nov-2025 21:09:59 UTC]    Description field in categories: YES
[22-Nov-2025 21:09:59 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:09:59 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:09:59 UTC]    Is_active field in books: YES
[22-Nov-2025 21:09:59 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:09:59 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:09:59 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:09:59 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:09:59 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:09:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:09:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:10:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:10:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:10:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:10:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:10:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:01 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:10:01 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:10:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:10:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:10:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:10:02 UTC] 📊 Database Info:
[22-Nov-2025 21:10:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:10:02 UTC]    Books columns count: 44
[22-Nov-2025 21:10:02 UTC]    Categories columns count: 7
[22-Nov-2025 21:10:02 UTC]    Language field in books: YES
[22-Nov-2025 21:10:02 UTC]    Format field in books: YES
[22-Nov-2025 21:10:02 UTC]    Description field in categories: YES
[22-Nov-2025 21:10:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:10:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:10:02 UTC]    Is_active field in books: YES
[22-Nov-2025 21:10:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:10:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:10:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:10:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:10:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:10:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:10:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:10:02 UTC] 📊 Database Info:
[22-Nov-2025 21:10:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:10:02 UTC]    Books columns count: 44
[22-Nov-2025 21:10:02 UTC]    Categories columns count: 7
[22-Nov-2025 21:10:02 UTC]    Language field in books: YES
[22-Nov-2025 21:10:02 UTC]    Format field in books: YES
[22-Nov-2025 21:10:02 UTC]    Description field in categories: YES
[22-Nov-2025 21:10:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:10:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:10:02 UTC]    Is_active field in books: YES
[22-Nov-2025 21:10:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:10:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:10:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:10:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:10:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:10:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:10:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:10:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:02 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:10:02 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:10:02 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:02 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:02 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:02 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:02 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:02 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:02 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:02 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:02 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:10:02 UTC] 📊 Database Info:
[22-Nov-2025 21:10:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:10:02 UTC]    Books columns count: 44
[22-Nov-2025 21:10:02 UTC]    Categories columns count: 7
[22-Nov-2025 21:10:02 UTC]    Language field in books: YES
[22-Nov-2025 21:10:02 UTC]    Format field in books: YES
[22-Nov-2025 21:10:02 UTC]    Description field in categories: YES
[22-Nov-2025 21:10:02 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:10:02 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:10:02 UTC]    Is_active field in books: YES
[22-Nov-2025 21:10:02 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:10:02 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:10:02 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:10:02 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:10:02 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:10:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:10:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:10:02 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:10:02 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:10:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:10:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:10:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:10:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:10:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:10:03 UTC] 📊 Database Info:
[22-Nov-2025 21:10:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:10:03 UTC]    Books columns count: 44
[22-Nov-2025 21:10:03 UTC]    Categories columns count: 7
[22-Nov-2025 21:10:03 UTC]    Language field in books: YES
[22-Nov-2025 21:10:03 UTC]    Format field in books: YES
[22-Nov-2025 21:10:03 UTC]    Description field in categories: YES
[22-Nov-2025 21:10:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:10:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:10:03 UTC]    Is_active field in books: YES
[22-Nov-2025 21:10:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:10:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:10:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:10:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:10:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:10:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:10:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:10:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:10:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:10:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:10:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:10:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:10:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:10:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:10:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:10:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:10:09 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:10:09 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:10:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:09 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:09 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:09 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:09 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:09 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:09 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:09 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:09 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:10:09 UTC] 📊 Database Info:
[22-Nov-2025 21:10:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:10:09 UTC]    Books columns count: 44
[22-Nov-2025 21:10:09 UTC]    Categories columns count: 7
[22-Nov-2025 21:10:09 UTC]    Language field in books: YES
[22-Nov-2025 21:10:09 UTC]    Format field in books: YES
[22-Nov-2025 21:10:09 UTC]    Description field in categories: YES
[22-Nov-2025 21:10:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:10:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:10:09 UTC]    Is_active field in books: YES
[22-Nov-2025 21:10:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:10:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:10:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:10:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:10:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:10:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:10:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:10:09 UTC] 📊 Database Info:
[22-Nov-2025 21:10:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:10:09 UTC]    Books columns count: 44
[22-Nov-2025 21:10:09 UTC]    Categories columns count: 7
[22-Nov-2025 21:10:09 UTC]    Language field in books: YES
[22-Nov-2025 21:10:09 UTC]    Format field in books: YES
[22-Nov-2025 21:10:09 UTC]    Description field in categories: YES
[22-Nov-2025 21:10:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:10:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:10:09 UTC]    Is_active field in books: YES
[22-Nov-2025 21:10:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:10:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:10:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:10:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:10:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:10:09 UTC] 📊 Database Info:
[22-Nov-2025 21:10:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:10:09 UTC]    Books columns count: 44
[22-Nov-2025 21:10:09 UTC]    Categories columns count: 7
[22-Nov-2025 21:10:09 UTC]    Language field in books: YES
[22-Nov-2025 21:10:09 UTC]    Format field in books: YES
[22-Nov-2025 21:10:09 UTC]    Description field in categories: YES
[22-Nov-2025 21:10:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:10:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:10:09 UTC]    Is_active field in books: YES
[22-Nov-2025 21:10:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:10:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:10:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:10:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:10:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:10:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:10:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:10:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:10:09 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:10:09 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:10:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:10:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:10:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:10:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:10:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:10:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:10:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:10:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:10:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:10:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:10:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:10:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:10:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:10:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:10:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:10:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:10:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:10:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:10:28 UTC] 📊 Database Info:
[22-Nov-2025 21:10:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:10:28 UTC]    Books columns count: 44
[22-Nov-2025 21:10:28 UTC]    Categories columns count: 7
[22-Nov-2025 21:10:28 UTC]    Language field in books: YES
[22-Nov-2025 21:10:28 UTC]    Format field in books: YES
[22-Nov-2025 21:10:28 UTC]    Description field in categories: YES
[22-Nov-2025 21:10:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:10:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:10:28 UTC]    Is_active field in books: YES
[22-Nov-2025 21:10:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:10:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:10:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:10:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:10:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:10:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:10:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:10:28 UTC] 📊 Database Info:
[22-Nov-2025 21:10:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:10:28 UTC]    Books columns count: 44
[22-Nov-2025 21:10:28 UTC]    Categories columns count: 7
[22-Nov-2025 21:10:28 UTC]    Language field in books: YES
[22-Nov-2025 21:10:28 UTC]    Format field in books: YES
[22-Nov-2025 21:10:28 UTC]    Description field in categories: YES
[22-Nov-2025 21:10:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:10:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:10:28 UTC]    Is_active field in books: YES
[22-Nov-2025 21:10:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:10:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:10:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:10:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:10:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:10:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:10:28 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:10:28 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:10:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:10:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:10:28 UTC] 📊 Database Info:
[22-Nov-2025 21:10:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:10:28 UTC]    Books columns count: 44
[22-Nov-2025 21:10:28 UTC]    Categories columns count: 7
[22-Nov-2025 21:10:28 UTC]    Language field in books: YES
[22-Nov-2025 21:10:28 UTC]    Format field in books: YES
[22-Nov-2025 21:10:28 UTC]    Description field in categories: YES
[22-Nov-2025 21:10:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:10:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:10:28 UTC]    Is_active field in books: YES
[22-Nov-2025 21:10:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:10:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:10:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:10:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:10:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:10:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:10:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:11:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:11:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:11:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:11:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:11:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:11:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:11:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:11:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:11:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:11:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:11:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:11:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:11:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:11:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:11:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:11:55 UTC] 📊 Database Info:
[22-Nov-2025 21:11:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:11:55 UTC]    Books columns count: 44
[22-Nov-2025 21:11:55 UTC]    Categories columns count: 7
[22-Nov-2025 21:11:55 UTC]    Language field in books: YES
[22-Nov-2025 21:11:55 UTC]    Format field in books: YES
[22-Nov-2025 21:11:55 UTC]    Description field in categories: YES
[22-Nov-2025 21:11:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:11:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:11:55 UTC]    Is_active field in books: YES
[22-Nov-2025 21:11:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:11:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:11:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:11:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:11:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:11:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:11:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:11:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:11:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:11:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:11:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:11:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:11:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:11:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:11:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:11:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:11:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:11:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:11:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:11:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:11:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:11:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:11:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:11:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:11:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:11:55 UTC] 📊 Database Info:
[22-Nov-2025 21:11:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:11:55 UTC]    Books columns count: 44
[22-Nov-2025 21:11:55 UTC]    Categories columns count: 7
[22-Nov-2025 21:11:55 UTC]    Language field in books: YES
[22-Nov-2025 21:11:55 UTC]    Format field in books: YES
[22-Nov-2025 21:11:55 UTC]    Description field in categories: YES
[22-Nov-2025 21:11:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:11:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:11:55 UTC]    Is_active field in books: YES
[22-Nov-2025 21:11:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:11:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:11:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:11:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:11:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:11:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:11:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:11:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:11:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:11:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:11:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:11:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:11:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:11:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:11:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:11:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:11:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:11:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:11:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:11:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:11:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:11:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:11:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:11:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:11:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:11:58 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:11:58 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:11:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:11:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:11:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:11:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:11:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:11:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:11:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:11:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:11:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:11:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:11:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:11:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:11:58 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:11:58 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:11:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:11:58 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:11:58 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:11:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:11:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:11:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:11:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:11:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:11:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:11:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:11:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:11:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:11:58 UTC] 📊 Database Info:
[22-Nov-2025 21:11:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:11:58 UTC]    Books columns count: 44
[22-Nov-2025 21:11:58 UTC]    Categories columns count: 7
[22-Nov-2025 21:11:58 UTC]    Language field in books: YES
[22-Nov-2025 21:11:58 UTC]    Format field in books: YES
[22-Nov-2025 21:11:58 UTC]    Description field in categories: YES
[22-Nov-2025 21:11:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:11:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:11:58 UTC]    Is_active field in books: YES
[22-Nov-2025 21:11:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:11:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:11:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:11:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:11:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:11:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:11:58 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:11:58 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:11:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:11:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:11:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:11:58 UTC] 📊 Database Info:
[22-Nov-2025 21:11:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:11:58 UTC]    Books columns count: 44
[22-Nov-2025 21:11:58 UTC]    Categories columns count: 7
[22-Nov-2025 21:11:58 UTC]    Language field in books: YES
[22-Nov-2025 21:11:58 UTC]    Format field in books: YES
[22-Nov-2025 21:11:58 UTC]    Description field in categories: YES
[22-Nov-2025 21:11:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:11:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:11:58 UTC]    Is_active field in books: YES
[22-Nov-2025 21:11:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:11:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:11:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:11:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:11:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:11:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:11:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:11:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:11:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:11:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:11:58 UTC] 📊 Database Info:
[22-Nov-2025 21:11:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:11:58 UTC]    Books columns count: 44
[22-Nov-2025 21:11:58 UTC]    Categories columns count: 7
[22-Nov-2025 21:11:58 UTC]    Language field in books: YES
[22-Nov-2025 21:11:58 UTC]    Format field in books: YES
[22-Nov-2025 21:11:58 UTC]    Description field in categories: YES
[22-Nov-2025 21:11:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:11:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:11:58 UTC]    Is_active field in books: YES
[22-Nov-2025 21:11:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:11:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:11:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:11:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:11:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:11:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:11:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:12:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:12:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:12:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:01 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:12:01 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:12:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:01 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:12:01 UTC] 📊 Database Info:
[22-Nov-2025 21:12:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:12:01 UTC]    Books columns count: 44
[22-Nov-2025 21:12:01 UTC]    Categories columns count: 7
[22-Nov-2025 21:12:01 UTC]    Language field in books: YES
[22-Nov-2025 21:12:01 UTC]    Format field in books: YES
[22-Nov-2025 21:12:01 UTC]    Description field in categories: YES
[22-Nov-2025 21:12:01 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:12:01 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:12:01 UTC]    Is_active field in books: YES
[22-Nov-2025 21:12:01 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:12:01 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:12:01 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:12:01 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:12:01 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:12:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:12:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:12:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:12:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:12:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:12:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:12:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:12:25 UTC] 📊 Database Info:
[22-Nov-2025 21:12:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:12:25 UTC]    Books columns count: 44
[22-Nov-2025 21:12:25 UTC]    Categories columns count: 7
[22-Nov-2025 21:12:25 UTC]    Language field in books: YES
[22-Nov-2025 21:12:25 UTC]    Format field in books: YES
[22-Nov-2025 21:12:25 UTC]    Description field in categories: YES
[22-Nov-2025 21:12:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:12:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:12:25 UTC]    Is_active field in books: YES
[22-Nov-2025 21:12:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:12:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:12:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:12:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:12:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:12:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:12:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:12:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:12:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:25 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:12:25 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:12:25 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:25 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:25 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:25 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:25 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:25 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:25 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:25 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:25 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:12:25 UTC] 📊 Database Info:
[22-Nov-2025 21:12:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:12:25 UTC]    Books columns count: 44
[22-Nov-2025 21:12:25 UTC]    Categories columns count: 7
[22-Nov-2025 21:12:25 UTC]    Language field in books: YES
[22-Nov-2025 21:12:25 UTC]    Format field in books: YES
[22-Nov-2025 21:12:25 UTC]    Description field in categories: YES
[22-Nov-2025 21:12:25 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:12:25 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:12:25 UTC]    Is_active field in books: YES
[22-Nov-2025 21:12:25 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:12:25 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:12:25 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:12:25 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:12:25 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:12:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:12:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:12:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:12:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:12:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:12:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:12:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:12:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:12:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:12:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:12:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:12:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:12:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:12:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:12:28 UTC] 📊 Database Info:
[22-Nov-2025 21:12:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:12:28 UTC]    Books columns count: 44
[22-Nov-2025 21:12:28 UTC]    Categories columns count: 7
[22-Nov-2025 21:12:28 UTC]    Language field in books: YES
[22-Nov-2025 21:12:28 UTC]    Format field in books: YES
[22-Nov-2025 21:12:28 UTC]    Description field in categories: YES
[22-Nov-2025 21:12:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:12:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:12:28 UTC]    Is_active field in books: YES
[22-Nov-2025 21:12:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:12:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:12:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:12:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:12:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:12:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:12:28 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:12:28 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:12:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:12:28 UTC] 📊 Database Info:
[22-Nov-2025 21:12:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:12:28 UTC]    Books columns count: 44
[22-Nov-2025 21:12:28 UTC]    Categories columns count: 7
[22-Nov-2025 21:12:28 UTC]    Language field in books: YES
[22-Nov-2025 21:12:28 UTC]    Format field in books: YES
[22-Nov-2025 21:12:28 UTC]    Description field in categories: YES
[22-Nov-2025 21:12:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:12:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:12:28 UTC]    Is_active field in books: YES
[22-Nov-2025 21:12:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:12:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:12:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:12:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:12:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:12:28 UTC] 📊 Database Info:
[22-Nov-2025 21:12:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:12:28 UTC]    Books columns count: 44
[22-Nov-2025 21:12:28 UTC]    Categories columns count: 7
[22-Nov-2025 21:12:28 UTC]    Language field in books: YES
[22-Nov-2025 21:12:28 UTC]    Format field in books: YES
[22-Nov-2025 21:12:28 UTC]    Description field in categories: YES
[22-Nov-2025 21:12:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:12:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:12:28 UTC]    Is_active field in books: YES
[22-Nov-2025 21:12:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:12:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:12:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:12:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:12:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:12:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:12:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:12:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:12:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:12:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:12:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:30 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:12:30 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:12:30 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:30 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:30 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:30 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:30 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:30 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:30 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:30 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:30 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:30 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:30 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:30 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:30 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:30 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:12:30 UTC] 📊 Database Info:
[22-Nov-2025 21:12:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:12:30 UTC]    Books columns count: 44
[22-Nov-2025 21:12:30 UTC]    Categories columns count: 7
[22-Nov-2025 21:12:30 UTC]    Language field in books: YES
[22-Nov-2025 21:12:30 UTC]    Format field in books: YES
[22-Nov-2025 21:12:30 UTC]    Description field in categories: YES
[22-Nov-2025 21:12:30 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:12:30 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:12:30 UTC]    Is_active field in books: YES
[22-Nov-2025 21:12:30 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:12:30 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:12:30 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:12:30 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:12:30 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:12:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:12:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:12:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:12:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:12:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:56 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:12:56 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:12:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:56 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:12:56 UTC] 📊 Database Info:
[22-Nov-2025 21:12:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:12:56 UTC]    Books columns count: 44
[22-Nov-2025 21:12:56 UTC]    Categories columns count: 7
[22-Nov-2025 21:12:56 UTC]    Language field in books: YES
[22-Nov-2025 21:12:56 UTC]    Format field in books: YES
[22-Nov-2025 21:12:56 UTC]    Description field in categories: YES
[22-Nov-2025 21:12:56 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:12:56 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:12:56 UTC]    Is_active field in books: YES
[22-Nov-2025 21:12:56 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:12:56 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:12:56 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:12:56 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:12:56 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:12:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:12:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:12:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:12:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:12:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:12:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:12:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:12:57 UTC] 📊 Database Info:
[22-Nov-2025 21:12:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:12:57 UTC]    Books columns count: 44
[22-Nov-2025 21:12:57 UTC]    Categories columns count: 7
[22-Nov-2025 21:12:57 UTC]    Language field in books: YES
[22-Nov-2025 21:12:57 UTC]    Format field in books: YES
[22-Nov-2025 21:12:57 UTC]    Description field in categories: YES
[22-Nov-2025 21:12:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:12:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:12:57 UTC]    Is_active field in books: YES
[22-Nov-2025 21:12:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:12:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:12:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:12:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:12:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:12:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:12:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:12:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:12:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:12:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:12:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:12:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:12:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:12:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:12:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:12:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:12:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:12:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:12:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:12:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:12:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:12:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:12:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:59 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:12:59 UTC] 📊 Database Info:
[22-Nov-2025 21:12:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:12:59 UTC]    Books columns count: 44
[22-Nov-2025 21:12:59 UTC]    Categories columns count: 7
[22-Nov-2025 21:12:59 UTC]    Language field in books: YES
[22-Nov-2025 21:12:59 UTC]    Format field in books: YES
[22-Nov-2025 21:12:59 UTC]    Description field in categories: YES
[22-Nov-2025 21:12:59 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:12:59 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:12:59 UTC]    Is_active field in books: YES
[22-Nov-2025 21:12:59 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:12:59 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:12:59 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:12:59 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:12:59 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:12:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:12:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:12:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:12:59 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:12:59 UTC] 📊 Database Info:
[22-Nov-2025 21:12:59 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:12:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:12:59 UTC]    Books columns count: 44
[22-Nov-2025 21:12:59 UTC] 📊 Database Info:
[22-Nov-2025 21:12:59 UTC]    Categories columns count: 7
[22-Nov-2025 21:12:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:12:59 UTC]    Books columns count: 44
[22-Nov-2025 21:12:59 UTC]    Language field in books: YES
[22-Nov-2025 21:12:59 UTC]    Format field in books: YES
[22-Nov-2025 21:12:59 UTC]    Categories columns count: 7
[22-Nov-2025 21:12:59 UTC]    Description field in categories: YES
[22-Nov-2025 21:12:59 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:12:59 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:12:59 UTC]    Is_active field in books: YES
[22-Nov-2025 21:12:59 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:12:59 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:12:59 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:12:59 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:12:59 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:12:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:12:59 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:12:59 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:12:59 UTC]    Language field in books: YES
[22-Nov-2025 21:12:59 UTC]    Format field in books: YES
[22-Nov-2025 21:12:59 UTC]    Description field in categories: YES
[22-Nov-2025 21:12:59 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:12:59 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:12:59 UTC]    Is_active field in books: YES
[22-Nov-2025 21:12:59 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:12:59 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:12:59 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:12:59 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:12:59 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:12:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:12:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:13:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:13:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:13:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:01 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:13:01 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:13:01 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:01 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:01 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:01 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:01 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:01 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:01 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:01 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:01 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:01 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:01 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:01 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:01 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:01 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:13:01 UTC] 📊 Database Info:
[22-Nov-2025 21:13:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:13:01 UTC]    Books columns count: 44
[22-Nov-2025 21:13:01 UTC]    Categories columns count: 7
[22-Nov-2025 21:13:01 UTC]    Language field in books: YES
[22-Nov-2025 21:13:01 UTC]    Format field in books: YES
[22-Nov-2025 21:13:01 UTC]    Description field in categories: YES
[22-Nov-2025 21:13:01 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:13:01 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:13:01 UTC]    Is_active field in books: YES
[22-Nov-2025 21:13:01 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:13:01 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:13:01 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:13:01 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:13:01 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:13:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:13:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:13:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:13:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:13:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:13:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:13:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:13:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:13:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:13:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:13:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:13:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:13:06 UTC] 📊 Database Info:
[22-Nov-2025 21:13:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:13:06 UTC]    Books columns count: 44
[22-Nov-2025 21:13:06 UTC]    Categories columns count: 7
[22-Nov-2025 21:13:06 UTC]    Language field in books: YES
[22-Nov-2025 21:13:06 UTC]    Format field in books: YES
[22-Nov-2025 21:13:06 UTC]    Description field in categories: YES
[22-Nov-2025 21:13:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:13:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:13:06 UTC]    Is_active field in books: YES
[22-Nov-2025 21:13:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:13:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:13:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:13:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:13:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:13:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:13:07 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:13:07 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:13:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:13:07 UTC] 📊 Database Info:
[22-Nov-2025 21:13:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:13:07 UTC]    Books columns count: 44
[22-Nov-2025 21:13:07 UTC]    Categories columns count: 7
[22-Nov-2025 21:13:07 UTC]    Language field in books: YES
[22-Nov-2025 21:13:07 UTC]    Format field in books: YES
[22-Nov-2025 21:13:07 UTC]    Description field in categories: YES
[22-Nov-2025 21:13:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:13:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:13:07 UTC]    Is_active field in books: YES
[22-Nov-2025 21:13:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:13:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:13:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:13:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:13:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:13:07 UTC] 📊 Database Info:
[22-Nov-2025 21:13:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:13:07 UTC]    Books columns count: 44
[22-Nov-2025 21:13:07 UTC]    Categories columns count: 7
[22-Nov-2025 21:13:07 UTC]    Language field in books: YES
[22-Nov-2025 21:13:07 UTC]    Format field in books: YES
[22-Nov-2025 21:13:07 UTC]    Description field in categories: YES
[22-Nov-2025 21:13:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:13:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:13:07 UTC]    Is_active field in books: YES
[22-Nov-2025 21:13:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:13:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:13:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:13:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:13:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:13:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:13:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:13:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:13:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:13:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:13:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:13:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:13:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:13:17 UTC] 📊 Database Info:
[22-Nov-2025 21:13:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:13:17 UTC]    Books columns count: 44
[22-Nov-2025 21:13:17 UTC]    Categories columns count: 7
[22-Nov-2025 21:13:17 UTC]    Language field in books: YES
[22-Nov-2025 21:13:17 UTC]    Format field in books: YES
[22-Nov-2025 21:13:17 UTC]    Description field in categories: YES
[22-Nov-2025 21:13:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:13:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:13:17 UTC]    Is_active field in books: YES
[22-Nov-2025 21:13:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:13:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:13:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:13:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:13:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:13:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:13:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:13:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:13:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:13:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:13:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:13:17 UTC] 📊 Database Info:
[22-Nov-2025 21:13:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:13:17 UTC]    Books columns count: 44
[22-Nov-2025 21:13:17 UTC]    Categories columns count: 7
[22-Nov-2025 21:13:17 UTC]    Language field in books: YES
[22-Nov-2025 21:13:17 UTC]    Format field in books: YES
[22-Nov-2025 21:13:17 UTC]    Description field in categories: YES
[22-Nov-2025 21:13:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:13:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:13:17 UTC]    Is_active field in books: YES
[22-Nov-2025 21:13:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:13:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:13:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:13:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:13:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:13:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:13:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:13:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:13:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:13:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:13:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:13:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:13:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:13:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:13:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:13:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:13:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:13:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:13:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:13:20 UTC] 📊 Database Info:
[22-Nov-2025 21:13:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:13:20 UTC]    Books columns count: 44
[22-Nov-2025 21:13:20 UTC]    Categories columns count: 7
[22-Nov-2025 21:13:20 UTC]    Language field in books: YES
[22-Nov-2025 21:13:20 UTC]    Format field in books: YES
[22-Nov-2025 21:13:20 UTC]    Description field in categories: YES
[22-Nov-2025 21:13:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:13:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:13:20 UTC]    Is_active field in books: YES
[22-Nov-2025 21:13:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:13:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:13:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:13:20 UTC] 📊 Database Info:
[22-Nov-2025 21:13:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:13:20 UTC]    Books columns count: 44
[22-Nov-2025 21:13:20 UTC]    Categories columns count: 7
[22-Nov-2025 21:13:20 UTC]    Language field in books: YES
[22-Nov-2025 21:13:20 UTC]    Format field in books: YES
[22-Nov-2025 21:13:20 UTC]    Description field in categories: YES
[22-Nov-2025 21:13:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:13:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:13:20 UTC]    Is_active field in books: YES
[22-Nov-2025 21:13:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:13:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:13:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:13:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:13:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:13:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:13:20 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:13:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:13:20 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:13:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:13:20 UTC] 📊 Database Info:
[22-Nov-2025 21:13:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:13:20 UTC]    Books columns count: 44
[22-Nov-2025 21:13:20 UTC]    Categories columns count: 7
[22-Nov-2025 21:13:20 UTC]    Language field in books: YES
[22-Nov-2025 21:13:20 UTC]    Format field in books: YES
[22-Nov-2025 21:13:20 UTC]    Description field in categories: YES
[22-Nov-2025 21:13:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:13:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:13:20 UTC]    Is_active field in books: YES
[22-Nov-2025 21:13:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:13:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:13:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:13:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:13:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:13:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:13:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:13:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:13:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:13:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:21 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:13:21 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:13:21 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:21 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:21 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:21 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:21 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:21 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:21 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:21 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:21 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:21 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:21 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:21 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:21 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:21 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:13:21 UTC] 📊 Database Info:
[22-Nov-2025 21:13:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:13:21 UTC]    Books columns count: 44
[22-Nov-2025 21:13:21 UTC]    Categories columns count: 7
[22-Nov-2025 21:13:21 UTC]    Language field in books: YES
[22-Nov-2025 21:13:21 UTC]    Format field in books: YES
[22-Nov-2025 21:13:21 UTC]    Description field in categories: YES
[22-Nov-2025 21:13:21 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:13:21 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:13:21 UTC]    Is_active field in books: YES
[22-Nov-2025 21:13:21 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:13:21 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:13:21 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:13:21 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:13:21 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:13:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:13:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:13:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:13:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:13:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:43 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:13:43 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:13:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:43 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:13:43 UTC] 📊 Database Info:
[22-Nov-2025 21:13:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:13:43 UTC]    Books columns count: 44
[22-Nov-2025 21:13:43 UTC]    Categories columns count: 7
[22-Nov-2025 21:13:43 UTC]    Language field in books: YES
[22-Nov-2025 21:13:43 UTC]    Format field in books: YES
[22-Nov-2025 21:13:43 UTC]    Description field in categories: YES
[22-Nov-2025 21:13:43 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:13:43 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:13:43 UTC]    Is_active field in books: YES
[22-Nov-2025 21:13:43 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:13:43 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:13:43 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:13:43 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:13:43 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:13:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:13:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:13:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:13:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:43 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:13:43 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:13:43 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:43 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:43 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:43 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:43 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:43 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:43 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:43 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:43 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:13:43 UTC] 📊 Database Info:
[22-Nov-2025 21:13:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:13:43 UTC]    Books columns count: 44
[22-Nov-2025 21:13:43 UTC]    Categories columns count: 7
[22-Nov-2025 21:13:43 UTC]    Language field in books: YES
[22-Nov-2025 21:13:43 UTC]    Format field in books: YES
[22-Nov-2025 21:13:43 UTC]    Description field in categories: YES
[22-Nov-2025 21:13:43 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:13:43 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:13:43 UTC]    Is_active field in books: YES
[22-Nov-2025 21:13:43 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:13:43 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:13:43 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:13:43 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:13:43 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:13:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:13:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:13:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:13:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:13:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:13:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:13:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:13:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:13:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:13:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:13:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:13:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:13:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:13:47 UTC] 📊 Database Info:
[22-Nov-2025 21:13:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:13:47 UTC]    Books columns count: 44
[22-Nov-2025 21:13:47 UTC]    Categories columns count: 7
[22-Nov-2025 21:13:47 UTC]    Language field in books: YES
[22-Nov-2025 21:13:47 UTC]    Format field in books: YES
[22-Nov-2025 21:13:47 UTC]    Description field in categories: YES
[22-Nov-2025 21:13:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:13:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:13:47 UTC]    Is_active field in books: YES
[22-Nov-2025 21:13:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:13:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:13:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:13:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:13:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:13:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:13:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:13:47 UTC] 📊 Database Info:
[22-Nov-2025 21:13:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:13:47 UTC]    Books columns count: 44
[22-Nov-2025 21:13:47 UTC]    Categories columns count: 7
[22-Nov-2025 21:13:47 UTC]    Language field in books: YES
[22-Nov-2025 21:13:47 UTC]    Format field in books: YES
[22-Nov-2025 21:13:47 UTC]    Description field in categories: YES
[22-Nov-2025 21:13:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:13:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:13:47 UTC]    Is_active field in books: YES
[22-Nov-2025 21:13:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:13:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:13:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:13:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:13:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:13:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:13:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:13:47 UTC] 📊 Database Info:
[22-Nov-2025 21:13:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:13:47 UTC]    Books columns count: 44
[22-Nov-2025 21:13:47 UTC]    Categories columns count: 7
[22-Nov-2025 21:13:47 UTC]    Language field in books: YES
[22-Nov-2025 21:13:47 UTC]    Format field in books: YES
[22-Nov-2025 21:13:47 UTC]    Description field in categories: YES
[22-Nov-2025 21:13:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:13:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:13:47 UTC]    Is_active field in books: YES
[22-Nov-2025 21:13:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:13:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:13:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:13:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:13:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:13:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:13:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:13:47 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:13:47 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:13:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:13:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:13:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:13:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:13:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:13:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:13:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:13:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:13:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:13:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:13:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:13:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:13:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:13:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:13:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:13:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:13:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:13:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:13:49 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:13:49 UTC] 📊 Database Info:
[22-Nov-2025 21:13:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:13:49 UTC]    Books columns count: 44
[22-Nov-2025 21:13:49 UTC]    Categories columns count: 7
[22-Nov-2025 21:13:49 UTC]    Language field in books: YES
[22-Nov-2025 21:13:49 UTC]    Format field in books: YES
[22-Nov-2025 21:13:49 UTC]    Description field in categories: YES
[22-Nov-2025 21:13:49 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:13:49 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:13:49 UTC]    Is_active field in books: YES
[22-Nov-2025 21:13:49 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:13:49 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:13:49 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:13:49 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:13:49 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:13:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:13:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:13:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:13:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:13:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:13:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:13:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:13:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:13:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:13:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:13:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:13:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:13:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:14:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:14:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:14:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:14:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:14:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:14:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:14:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:14:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:14:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:14:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:14:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:14:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:14:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:14:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:14:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:14:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:14:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:14:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:14:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:14:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:14:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:14:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:14:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:14:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:14:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:14:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:14:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:14:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:14:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:14:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:14:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:14:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:14:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:14:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:14:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:14:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:14:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:14:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:14:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:14:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:14:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:14:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:14:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:14:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:14:35 UTC] 📊 Database Info:
[22-Nov-2025 21:14:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:14:35 UTC]    Books columns count: 44
[22-Nov-2025 21:14:35 UTC]    Categories columns count: 7
[22-Nov-2025 21:14:35 UTC]    Language field in books: YES
[22-Nov-2025 21:14:35 UTC]    Format field in books: YES
[22-Nov-2025 21:14:35 UTC]    Description field in categories: YES
[22-Nov-2025 21:14:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:14:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:14:35 UTC]    Is_active field in books: YES
[22-Nov-2025 21:14:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:14:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:14:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:14:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:14:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:14:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:14:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:14:35 UTC] 📊 Database Info:
[22-Nov-2025 21:14:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:14:35 UTC]    Books columns count: 44
[22-Nov-2025 21:14:35 UTC]    Categories columns count: 7
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:14:35 UTC]    Language field in books: YES
[22-Nov-2025 21:14:35 UTC]    Format field in books: YES
[22-Nov-2025 21:14:35 UTC]    Description field in categories: YES
[22-Nov-2025 21:14:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:14:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:14:35 UTC]    Is_active field in books: YES
[22-Nov-2025 21:14:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:14:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:14:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:14:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:14:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:14:35 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:14:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:14:35 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:14:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:14:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:14:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:14:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:14:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:14:35 UTC] 📊 Database Info:
[22-Nov-2025 21:14:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:14:35 UTC]    Books columns count: 44
[22-Nov-2025 21:14:35 UTC]    Categories columns count: 7
[22-Nov-2025 21:14:35 UTC]    Language field in books: YES
[22-Nov-2025 21:14:35 UTC]    Format field in books: YES
[22-Nov-2025 21:14:35 UTC]    Description field in categories: YES
[22-Nov-2025 21:14:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:14:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:14:35 UTC]    Is_active field in books: YES
[22-Nov-2025 21:14:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:14:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:14:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:14:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:14:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:14:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:14:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:22:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:22:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:22:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:22:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:22:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:22:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:22:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:22:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:22:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:22:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:22:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:22:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:22:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:22:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:22:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:22:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:22:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:22:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:22:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:22:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:22:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:22:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:22:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:22:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:22:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:22:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:22:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:22:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:22:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:22:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:22:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:22:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:22:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:22:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:22:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:22:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:22:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:22:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:22:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:22:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:22:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:22:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:22:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:22:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:22:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:22:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:22:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:22:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:22:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:22:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:22:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:22:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:22:15 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:22:15 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:22:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:22:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:22:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:22:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:22:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:22:15 UTC] 📊 Database Info:
[22-Nov-2025 21:22:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:22:15 UTC]    Books columns count: 44
[22-Nov-2025 21:22:15 UTC]    Categories columns count: 7
[22-Nov-2025 21:22:15 UTC]    Language field in books: YES
[22-Nov-2025 21:22:15 UTC]    Format field in books: YES
[22-Nov-2025 21:22:15 UTC]    Description field in categories: YES
[22-Nov-2025 21:22:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:22:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:22:15 UTC]    Is_active field in books: YES
[22-Nov-2025 21:22:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:22:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:22:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:22:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:22:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:22:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:22:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:22:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:22:15 UTC] 📊 Database Info:
[22-Nov-2025 21:22:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:22:15 UTC]    Books columns count: 44
[22-Nov-2025 21:22:15 UTC]    Categories columns count: 7
[22-Nov-2025 21:22:15 UTC]    Language field in books: YES
[22-Nov-2025 21:22:15 UTC]    Format field in books: YES
[22-Nov-2025 21:22:15 UTC]    Description field in categories: YES
[22-Nov-2025 21:22:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:22:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:22:15 UTC]    Is_active field in books: YES
[22-Nov-2025 21:22:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:22:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:22:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:22:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:22:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:22:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:22:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:22:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:22:15 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:22:15 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:22:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:22:15 UTC] 📊 Database Info:
[22-Nov-2025 21:22:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:22:15 UTC]    Books columns count: 44
[22-Nov-2025 21:22:15 UTC]    Categories columns count: 7
[22-Nov-2025 21:22:15 UTC]    Language field in books: YES
[22-Nov-2025 21:22:15 UTC]    Format field in books: YES
[22-Nov-2025 21:22:15 UTC]    Description field in categories: YES
[22-Nov-2025 21:22:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:22:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:22:15 UTC]    Is_active field in books: YES
[22-Nov-2025 21:22:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:22:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:22:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:22:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:22:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:22:15 UTC] 📊 Database Info:
[22-Nov-2025 21:22:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:22:15 UTC]    Books columns count: 44
[22-Nov-2025 21:22:15 UTC]    Categories columns count: 7
[22-Nov-2025 21:22:15 UTC]    Language field in books: YES
[22-Nov-2025 21:22:15 UTC]    Format field in books: YES
[22-Nov-2025 21:22:15 UTC]    Description field in categories: YES
[22-Nov-2025 21:22:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:22:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:22:15 UTC]    Is_active field in books: YES
[22-Nov-2025 21:22:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:22:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:22:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:22:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:22:15 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:22:15 UTC] 📊 Database Info:
[22-Nov-2025 21:22:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:22:15 UTC]    Books columns count: 44
[22-Nov-2025 21:22:15 UTC]    Categories columns count: 7
[22-Nov-2025 21:22:15 UTC]    Language field in books: YES
[22-Nov-2025 21:22:15 UTC]    Format field in books: YES
[22-Nov-2025 21:22:15 UTC]    Description field in categories: YES
[22-Nov-2025 21:22:15 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:22:15 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:22:15 UTC]    Is_active field in books: YES
[22-Nov-2025 21:22:15 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:22:15 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:22:15 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:22:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:22:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:22:15 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:22:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:22:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:22:15 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:22:15 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:22:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:22:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:22:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:22:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:22:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:22:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:22:15 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:22:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:22:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:22:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:22:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:22:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:22:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:22:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:22:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:22:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:22:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:22:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:22:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:22:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:22:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:22:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:22:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:22:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:22:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:22:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:22:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:22:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:22:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:22:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:22:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:22:16 UTC] 📊 Database Info:
[22-Nov-2025 21:22:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:22:16 UTC]    Books columns count: 44
[22-Nov-2025 21:22:16 UTC]    Categories columns count: 7
[22-Nov-2025 21:22:16 UTC]    Language field in books: YES
[22-Nov-2025 21:22:16 UTC]    Format field in books: YES
[22-Nov-2025 21:22:16 UTC]    Description field in categories: YES
[22-Nov-2025 21:22:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:22:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:22:16 UTC]    Is_active field in books: YES
[22-Nov-2025 21:22:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:22:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:22:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:22:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:22:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:22:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:22:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:22:16 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:22:16 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:22:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:22:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:22:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:22:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:22:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:22:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:22:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:22:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:22:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:22:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:22:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:22:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:22:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:22:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:22:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:22:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:22:19 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:22:19 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:22:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:22:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:22:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:22:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:22:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:22:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:22:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:22:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:22:19 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:22:19 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:22:19 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:22:19 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:22:19 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:22:19 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:22:19 UTC] 📊 Database Info:
[22-Nov-2025 21:22:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:22:19 UTC]    Books columns count: 44
[22-Nov-2025 21:22:19 UTC]    Categories columns count: 7
[22-Nov-2025 21:22:19 UTC]    Language field in books: YES
[22-Nov-2025 21:22:19 UTC]    Format field in books: YES
[22-Nov-2025 21:22:19 UTC]    Description field in categories: YES
[22-Nov-2025 21:22:19 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:22:19 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:22:19 UTC]    Is_active field in books: YES
[22-Nov-2025 21:22:19 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:22:19 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:22:19 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:22:19 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:22:19 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:22:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:22:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:22:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:22:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:22:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:22:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:22:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:22:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:22:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:22:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:22:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:22:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:22:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:32:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:32:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:32:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:32:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:32:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:32:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:32:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:32:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:32:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:32:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:32:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:32:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:32:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:32:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:32:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:32:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:32:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:32:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:32:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:32:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:32:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:32:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:32:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:32:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:32:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:32:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:32:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:32:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:32:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:32:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:32:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:32:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:32:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:32:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:32:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:32:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:32:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:32:52 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:32:52 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:32:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:32:52 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:32:52 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:32:52 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:32:52 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:32:52 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:32:52 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:32:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:32:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:32:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:32:52 UTC] 📊 Database Info:
[22-Nov-2025 21:32:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:32:52 UTC]    Books columns count: 44
[22-Nov-2025 21:32:52 UTC]    Categories columns count: 7
[22-Nov-2025 21:32:52 UTC]    Language field in books: YES
[22-Nov-2025 21:32:52 UTC]    Format field in books: YES
[22-Nov-2025 21:32:52 UTC]    Description field in categories: YES
[22-Nov-2025 21:32:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:32:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:32:52 UTC]    Is_active field in books: YES
[22-Nov-2025 21:32:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:32:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:32:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:32:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:32:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:32:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:32:52 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:32:52 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:32:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:32:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:32:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:32:52 UTC] 📊 Database Info:
[22-Nov-2025 21:32:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:32:52 UTC]    Books columns count: 44
[22-Nov-2025 21:32:52 UTC]    Categories columns count: 7
[22-Nov-2025 21:32:52 UTC]    Language field in books: YES
[22-Nov-2025 21:32:52 UTC]    Format field in books: YES
[22-Nov-2025 21:32:52 UTC]    Description field in categories: YES
[22-Nov-2025 21:32:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:32:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:32:52 UTC]    Is_active field in books: YES
[22-Nov-2025 21:32:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:32:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:32:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:32:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:32:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:32:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:32:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:32:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:32:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:32:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:32:52 UTC] 📊 Database Info:
[22-Nov-2025 21:32:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:32:52 UTC]    Books columns count: 44
[22-Nov-2025 21:32:52 UTC]    Categories columns count: 7
[22-Nov-2025 21:32:52 UTC]    Language field in books: YES
[22-Nov-2025 21:32:52 UTC]    Format field in books: YES
[22-Nov-2025 21:32:52 UTC]    Description field in categories: YES
[22-Nov-2025 21:32:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:32:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:32:52 UTC]    Is_active field in books: YES
[22-Nov-2025 21:32:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:32:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:32:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:32:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:32:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:32:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:32:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:32:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:32:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:32:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:32:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:32:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:32:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:32:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:32:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:32:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:32:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:32:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:32:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:32:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:32:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:32:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:32:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:32:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:32:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:32:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:32:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:32:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:32:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:32:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:32:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:32:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:32:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:32:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:32:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:32:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:32:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:32:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:32:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:32:57 UTC] 📊 Database Info:
[22-Nov-2025 21:32:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:32:57 UTC]    Books columns count: 44
[22-Nov-2025 21:32:57 UTC]    Categories columns count: 7
[22-Nov-2025 21:32:57 UTC]    Language field in books: YES
[22-Nov-2025 21:32:57 UTC]    Format field in books: YES
[22-Nov-2025 21:32:57 UTC]    Description field in categories: YES
[22-Nov-2025 21:32:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:32:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:32:57 UTC]    Is_active field in books: YES
[22-Nov-2025 21:32:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:32:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:32:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:32:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:32:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:32:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:32:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:38:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:38:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:38:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:38:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:38:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:38:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:38:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:38:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:38:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:38:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:38:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:38:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:38:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:38:16 UTC] 📊 Database Info:
[22-Nov-2025 21:38:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:38:16 UTC]    Books columns count: 44
[22-Nov-2025 21:38:16 UTC]    Categories columns count: 7
[22-Nov-2025 21:38:16 UTC]    Language field in books: YES
[22-Nov-2025 21:38:16 UTC]    Format field in books: YES
[22-Nov-2025 21:38:16 UTC]    Description field in categories: YES
[22-Nov-2025 21:38:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:38:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:38:16 UTC]    Is_active field in books: YES
[22-Nov-2025 21:38:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:38:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:38:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:38:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:38:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:38:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:38:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:38:16 UTC] 📊 Database Info:
[22-Nov-2025 21:38:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:38:16 UTC]    Books columns count: 44
[22-Nov-2025 21:38:16 UTC]    Categories columns count: 7
[22-Nov-2025 21:38:16 UTC]    Language field in books: YES
[22-Nov-2025 21:38:16 UTC]    Format field in books: YES
[22-Nov-2025 21:38:16 UTC]    Description field in categories: YES
[22-Nov-2025 21:38:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:38:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:38:16 UTC]    Is_active field in books: YES
[22-Nov-2025 21:38:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:38:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:38:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:38:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:38:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:38:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:38:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:38:16 UTC] 📊 Database Info:
[22-Nov-2025 21:38:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:38:16 UTC]    Books columns count: 44
[22-Nov-2025 21:38:16 UTC]    Categories columns count: 7
[22-Nov-2025 21:38:16 UTC]    Language field in books: YES
[22-Nov-2025 21:38:16 UTC]    Format field in books: YES
[22-Nov-2025 21:38:16 UTC]    Description field in categories: YES
[22-Nov-2025 21:38:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:38:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:38:16 UTC]    Is_active field in books: YES
[22-Nov-2025 21:38:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:38:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:38:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:38:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:38:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:38:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:38:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:38:16 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:38:16 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:38:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:38:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:38:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:38:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:38:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:38:29 UTC] 📊 Database Info:
[22-Nov-2025 21:38:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:38:29 UTC]    Books columns count: 44
[22-Nov-2025 21:38:29 UTC]    Categories columns count: 7
[22-Nov-2025 21:38:29 UTC]    Language field in books: YES
[22-Nov-2025 21:38:29 UTC]    Format field in books: YES
[22-Nov-2025 21:38:29 UTC]    Description field in categories: YES
[22-Nov-2025 21:38:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:38:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:38:29 UTC]    Is_active field in books: YES
[22-Nov-2025 21:38:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:38:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:38:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:38:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:38:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:38:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:38:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:38:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:38:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:38:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:38:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:38:29 UTC] 📊 Database Info:
[22-Nov-2025 21:38:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:38:29 UTC]    Books columns count: 44
[22-Nov-2025 21:38:29 UTC]    Categories columns count: 7
[22-Nov-2025 21:38:29 UTC]    Language field in books: YES
[22-Nov-2025 21:38:29 UTC]    Format field in books: YES
[22-Nov-2025 21:38:29 UTC]    Description field in categories: YES
[22-Nov-2025 21:38:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:38:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:38:29 UTC]    Is_active field in books: YES
[22-Nov-2025 21:38:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:38:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:38:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:38:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:38:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:38:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:38:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:38:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:38:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:38:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:38:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:38:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:38:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:38:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:38:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:38:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:38:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:38:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:38:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:38:29 UTC] 📊 Database Info:
[22-Nov-2025 21:38:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:38:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:29 UTC]    Books columns count: 44
[22-Nov-2025 21:38:29 UTC]    Categories columns count: 7
[22-Nov-2025 21:38:29 UTC]    Language field in books: YES
[22-Nov-2025 21:38:29 UTC]    Format field in books: YES
[22-Nov-2025 21:38:29 UTC]    Description field in categories: YES
[22-Nov-2025 21:38:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:38:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:38:29 UTC]    Is_active field in books: YES
[22-Nov-2025 21:38:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:38:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:38:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:38:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:38:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:38:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:38:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:38:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:38:29 UTC] 📊 Database Info:
[22-Nov-2025 21:38:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:38:29 UTC]    Books columns count: 44
[22-Nov-2025 21:38:29 UTC]    Categories columns count: 7
[22-Nov-2025 21:38:29 UTC]    Language field in books: YES
[22-Nov-2025 21:38:29 UTC]    Format field in books: YES
[22-Nov-2025 21:38:29 UTC]    Description field in categories: YES
[22-Nov-2025 21:38:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:38:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:38:29 UTC]    Is_active field in books: YES
[22-Nov-2025 21:38:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:38:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:38:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:38:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:38:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:38:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:38:29 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:38:29 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:38:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:38:29 UTC] 📊 Database Info:
[22-Nov-2025 21:38:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:38:29 UTC]    Books columns count: 44
[22-Nov-2025 21:38:29 UTC]    Categories columns count: 7
[22-Nov-2025 21:38:29 UTC]    Language field in books: YES
[22-Nov-2025 21:38:29 UTC]    Format field in books: YES
[22-Nov-2025 21:38:29 UTC]    Description field in categories: YES
[22-Nov-2025 21:38:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:38:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:38:29 UTC]    Is_active field in books: YES
[22-Nov-2025 21:38:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:38:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:38:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:38:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:38:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:38:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:38:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:38:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:38:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:38:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:38:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:38:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:38:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 21:38:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:38:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:38:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:38:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:38:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:38:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:38:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:38:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:38:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 21:38:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:38:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:38:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 21:38:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:38:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:38:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:38:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 21:38:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:38:31 UTC] 📊 Database Info:
[22-Nov-2025 21:38:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:38:31 UTC]    Books columns count: 44
[22-Nov-2025 21:38:31 UTC]    Categories columns count: 7
[22-Nov-2025 21:38:31 UTC]    Language field in books: YES
[22-Nov-2025 21:38:31 UTC]    Format field in books: YES
[22-Nov-2025 21:38:31 UTC]    Description field in categories: YES
[22-Nov-2025 21:38:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:38:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:38:31 UTC]    Is_active field in books: YES
[22-Nov-2025 21:38:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:38:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:38:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:38:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:38:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:38:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 21:38:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 21:38:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 21:38:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:38:31 UTC] 📊 Database Info:
[22-Nov-2025 21:38:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:38:31 UTC]    Books columns count: 44
[22-Nov-2025 21:38:31 UTC]    Categories columns count: 7
[22-Nov-2025 21:38:31 UTC]    Language field in books: YES
[22-Nov-2025 21:38:31 UTC]    Format field in books: YES
[22-Nov-2025 21:38:31 UTC]    Description field in categories: YES
[22-Nov-2025 21:38:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:38:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:38:31 UTC]    Is_active field in books: YES
[22-Nov-2025 21:38:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:38:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:38:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:38:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:38:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:38:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:38:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:38:31 UTC] 📊 Database Info:
[22-Nov-2025 21:38:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:38:31 UTC]    Books columns count: 44
[22-Nov-2025 21:38:31 UTC]    Categories columns count: 7
[22-Nov-2025 21:38:31 UTC]    Language field in books: YES
[22-Nov-2025 21:38:31 UTC]    Format field in books: YES
[22-Nov-2025 21:38:31 UTC]    Description field in categories: YES
[22-Nov-2025 21:38:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:38:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:38:31 UTC]    Is_active field in books: YES
[22-Nov-2025 21:38:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:38:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:38:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:38:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:38:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:38:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:38:31 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:38:31 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:38:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:38:31 UTC] 📊 Database Info:
[22-Nov-2025 21:38:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:38:31 UTC]    Books columns count: 44
[22-Nov-2025 21:38:31 UTC]    Categories columns count: 7
[22-Nov-2025 21:38:31 UTC]    Language field in books: YES
[22-Nov-2025 21:38:31 UTC]    Format field in books: YES
[22-Nov-2025 21:38:31 UTC]    Description field in categories: YES
[22-Nov-2025 21:38:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:38:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:38:31 UTC]    Is_active field in books: YES
[22-Nov-2025 21:38:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:38:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:38:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:38:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:38:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:38:31 UTC] 📊 Database Info:
[22-Nov-2025 21:38:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:38:31 UTC]    Books columns count: 44
[22-Nov-2025 21:38:31 UTC]    Categories columns count: 7
[22-Nov-2025 21:38:31 UTC]    Language field in books: YES
[22-Nov-2025 21:38:31 UTC]    Format field in books: YES
[22-Nov-2025 21:38:31 UTC]    Description field in categories: YES
[22-Nov-2025 21:38:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:38:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:38:31 UTC]    Is_active field in books: YES
[22-Nov-2025 21:38:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:38:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:38:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:38:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:38:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 21:38:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:38:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:38:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 21:38:31 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 21:38:31 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 21:38:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 21:38:31 UTC] 📊 Database Info:
[22-Nov-2025 21:38:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 21:38:31 UTC]    Books columns count: 44
[22-Nov-2025 21:38:31 UTC]    Categories columns count: 7
[22-Nov-2025 21:38:31 UTC]    Language field in books: YES
[22-Nov-2025 21:38:31 UTC]    Format field in books: YES
[22-Nov-2025 21:38:31 UTC]    Description field in categories: YES
[22-Nov-2025 21:38:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 21:38:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 21:38:31 UTC]    Is_active field in books: YES
[22-Nov-2025 21:38:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 21:38:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 21:38:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 21:38:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 21:38:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 21:38:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 21:38:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 22:00:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 22:00:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:00:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:00:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:00:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 22:00:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:00:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:00:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 22:00:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 22:00:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:00:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:00:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:00:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 22:00:57 UTC] 📊 Database Info:
[22-Nov-2025 22:00:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 22:00:57 UTC]    Books columns count: 44
[22-Nov-2025 22:00:57 UTC]    Categories columns count: 7
[22-Nov-2025 22:00:57 UTC]    Language field in books: YES
[22-Nov-2025 22:00:57 UTC]    Format field in books: YES
[22-Nov-2025 22:00:57 UTC]    Description field in categories: YES
[22-Nov-2025 22:00:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 22:00:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 22:00:57 UTC]    Is_active field in books: YES
[22-Nov-2025 22:00:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 22:00:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 22:00:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 22:00:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 22:00:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 22:00:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 22:00:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 22:00:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 22:00:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:00:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 22:00:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 22:00:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:00:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 22:00:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:00:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:00:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:00:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:00:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:00:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:00:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:00:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 22:00:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:00:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:00:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:00:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:00:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:00:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:00:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 22:00:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:00:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:00:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:00:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:00:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:00:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:00:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 22:00:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:00:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:00:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 22:00:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 22:00:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:00:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:00:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:00:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:00:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:00:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:00:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:00:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 22:00:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:00:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:00:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:00:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 22:00:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 22:00:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:00:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 22:00:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 22:00:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:00:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:00:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:00:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:00:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:00:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:00:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 22:00:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:00:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:00:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 22:00:57 UTC] 📊 Database Info:
[22-Nov-2025 22:00:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 22:00:57 UTC]    Books columns count: 44
[22-Nov-2025 22:00:57 UTC]    Categories columns count: 7
[22-Nov-2025 22:00:57 UTC]    Language field in books: YES
[22-Nov-2025 22:00:57 UTC]    Format field in books: YES
[22-Nov-2025 22:00:57 UTC]    Description field in categories: YES
[22-Nov-2025 22:00:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 22:00:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 22:00:57 UTC]    Is_active field in books: YES
[22-Nov-2025 22:00:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 22:00:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 22:00:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 22:00:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 22:00:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 22:00:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 22:00:57 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 22:00:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:00:57 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:00:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:00:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:00:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 22:00:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:00:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:00:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:00:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:00:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:00:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:00:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:00:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 22:00:57 UTC] 📊 Database Info:
[22-Nov-2025 22:00:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 22:00:57 UTC]    Books columns count: 44
[22-Nov-2025 22:00:57 UTC]    Categories columns count: 7
[22-Nov-2025 22:00:57 UTC]    Language field in books: YES
[22-Nov-2025 22:00:57 UTC]    Format field in books: YES
[22-Nov-2025 22:00:57 UTC]    Description field in categories: YES
[22-Nov-2025 22:00:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 22:00:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 22:00:57 UTC]    Is_active field in books: YES
[22-Nov-2025 22:00:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 22:00:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 22:00:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 22:00:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 22:00:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 22:00:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 22:00:57 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 22:00:57 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 22:00:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:00:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:00:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:00:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:00:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 22:00:57 UTC] 📊 Database Info:
[22-Nov-2025 22:00:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 22:00:57 UTC]    Books columns count: 44
[22-Nov-2025 22:00:57 UTC]    Categories columns count: 7
[22-Nov-2025 22:00:57 UTC]    Language field in books: YES
[22-Nov-2025 22:00:57 UTC]    Format field in books: YES
[22-Nov-2025 22:00:57 UTC]    Description field in categories: YES
[22-Nov-2025 22:00:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 22:00:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 22:00:57 UTC]    Is_active field in books: YES
[22-Nov-2025 22:00:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 22:00:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 22:00:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 22:00:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 22:00:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 22:00:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 22:00:57 UTC] 📊 Database Info:
[22-Nov-2025 22:00:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 22:00:57 UTC]    Books columns count: 44
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 22:00:57 UTC]    Categories columns count: 7
[22-Nov-2025 22:00:57 UTC]    Language field in books: YES
[22-Nov-2025 22:00:57 UTC]    Format field in books: YES
[22-Nov-2025 22:00:57 UTC]    Description field in categories: YES
[22-Nov-2025 22:00:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 22:00:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 22:00:57 UTC]    Is_active field in books: YES
[22-Nov-2025 22:00:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 22:00:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 22:00:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 22:00:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 22:00:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 22:00:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 22:00:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:00:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:00:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:00:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 22:00:57 UTC] 📊 Database Info:
[22-Nov-2025 22:00:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 22:00:57 UTC]    Books columns count: 44
[22-Nov-2025 22:00:57 UTC]    Categories columns count: 7
[22-Nov-2025 22:00:57 UTC]    Language field in books: YES
[22-Nov-2025 22:00:57 UTC]    Format field in books: YES
[22-Nov-2025 22:00:57 UTC]    Description field in categories: YES
[22-Nov-2025 22:00:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 22:00:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 22:00:57 UTC]    Is_active field in books: YES
[22-Nov-2025 22:00:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 22:00:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 22:00:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 22:00:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 22:00:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 22:00:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 22:00:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 22:00:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 22:00:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:00:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:00:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:00:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:00:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:00:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:00:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:00:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:00:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:00:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:00:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:00:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:00:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 22:00:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:00:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:00:59 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 22:00:59 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 22:00:59 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:00:59 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:00:59 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:00:59 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:00:59 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:00:59 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:00:59 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:00:59 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:00:59 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:00:59 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:00:59 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:00:59 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:00:59 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:00:59 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 22:00:59 UTC] 📊 Database Info:
[22-Nov-2025 22:00:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 22:00:59 UTC]    Books columns count: 44
[22-Nov-2025 22:00:59 UTC]    Categories columns count: 7
[22-Nov-2025 22:00:59 UTC]    Language field in books: YES
[22-Nov-2025 22:00:59 UTC]    Format field in books: YES
[22-Nov-2025 22:00:59 UTC]    Description field in categories: YES
[22-Nov-2025 22:00:59 UTC]    Display_order field in categories: YES
[22-Nov-2025 22:00:59 UTC]    Is_active field in categories: YES
[22-Nov-2025 22:00:59 UTC]    Is_active field in books: YES
[22-Nov-2025 22:00:59 UTC]    External_download_link field in books: YES
[22-Nov-2025 22:00:59 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 22:00:59 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 22:00:59 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 22:00:59 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 22:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 22:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 22:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 22:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 22:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 22:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 22:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 22:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 22:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 22:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 22:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 22:00:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 22:00:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 22:58:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 22:58:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:58:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:58:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:58:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 22:58:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:58:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 22:58:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:58:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:58:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:58:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:58:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:58:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:58:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:58:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:58:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:58:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:58:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 22:58:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 22:58:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:58:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:58:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:58:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 22:58:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:58:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:58:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 22:58:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 22:58:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:58:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:58:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:58:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:58:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:58:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:58:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:58:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:58:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:58:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 22:58:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 22:58:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:58:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:58:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:58:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:58:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:58:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:58:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 22:58:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 22:58:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:58:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:58:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:58:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 22:58:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 22:58:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:58:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:58:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:58:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:58:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:58:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:58:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:58:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 22:58:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:58:35 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 22:58:35 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 22:58:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:58:35 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:58:35 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 22:58:35 UTC] 📊 Database Info:
[22-Nov-2025 22:58:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 22:58:35 UTC]    Books columns count: 44
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:58:35 UTC]    Categories columns count: 7
[22-Nov-2025 22:58:35 UTC]    Language field in books: YES
[22-Nov-2025 22:58:35 UTC]    Format field in books: YES
[22-Nov-2025 22:58:35 UTC]    Description field in categories: YES
[22-Nov-2025 22:58:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 22:58:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 22:58:35 UTC]    Is_active field in books: YES
[22-Nov-2025 22:58:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 22:58:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 22:58:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 22:58:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 22:58:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:58:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:58:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 22:58:35 UTC] 📊 Database Info:
[22-Nov-2025 22:58:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 22:58:35 UTC]    Books columns count: 44
[22-Nov-2025 22:58:35 UTC]    Categories columns count: 7
[22-Nov-2025 22:58:35 UTC]    Language field in books: YES
[22-Nov-2025 22:58:35 UTC]    Format field in books: YES
[22-Nov-2025 22:58:35 UTC]    Description field in categories: YES
[22-Nov-2025 22:58:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 22:58:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 22:58:35 UTC]    Is_active field in books: YES
[22-Nov-2025 22:58:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 22:58:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 22:58:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 22:58:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 22:58:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 22:58:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 22:58:35 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 22:58:35 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 22:58:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:58:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 22:58:35 UTC] 📊 Database Info:
[22-Nov-2025 22:58:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 22:58:35 UTC]    Books columns count: 44
[22-Nov-2025 22:58:35 UTC]    Categories columns count: 7
[22-Nov-2025 22:58:35 UTC]    Language field in books: YES
[22-Nov-2025 22:58:35 UTC]    Format field in books: YES
[22-Nov-2025 22:58:35 UTC]    Description field in categories: YES
[22-Nov-2025 22:58:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 22:58:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 22:58:35 UTC]    Is_active field in books: YES
[22-Nov-2025 22:58:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 22:58:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 22:58:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 22:58:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 22:58:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 22:58:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 22:58:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:58:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:58:35 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:58:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 22:58:35 UTC] 📊 Database Info:
[22-Nov-2025 22:58:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 22:58:35 UTC]    Books columns count: 44
[22-Nov-2025 22:58:35 UTC]    Categories columns count: 7
[22-Nov-2025 22:58:35 UTC]    Language field in books: YES
[22-Nov-2025 22:58:35 UTC]    Format field in books: YES
[22-Nov-2025 22:58:35 UTC]    Description field in categories: YES
[22-Nov-2025 22:58:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 22:58:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 22:58:35 UTC]    Is_active field in books: YES
[22-Nov-2025 22:58:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 22:58:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 22:58:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 22:58:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 22:58:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 22:58:35 UTC] 📊 Database Info:
[22-Nov-2025 22:58:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 22:58:35 UTC]    Books columns count: 44
[22-Nov-2025 22:58:35 UTC]    Categories columns count: 7
[22-Nov-2025 22:58:35 UTC]    Language field in books: YES
[22-Nov-2025 22:58:35 UTC]    Format field in books: YES
[22-Nov-2025 22:58:35 UTC]    Description field in categories: YES
[22-Nov-2025 22:58:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 22:58:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 22:58:35 UTC]    Is_active field in books: YES
[22-Nov-2025 22:58:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 22:58:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 22:58:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 22:58:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 22:58:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 22:58:35 UTC] 📊 Database Info:
[22-Nov-2025 22:58:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 22:58:35 UTC]    Books columns count: 44
[22-Nov-2025 22:58:35 UTC]    Categories columns count: 7
[22-Nov-2025 22:58:35 UTC]    Language field in books: YES
[22-Nov-2025 22:58:35 UTC]    Format field in books: YES
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 22:58:35 UTC]    Description field in categories: YES
[22-Nov-2025 22:58:35 UTC]    Display_order field in categories: YES
[22-Nov-2025 22:58:35 UTC]    Is_active field in categories: YES
[22-Nov-2025 22:58:35 UTC]    Is_active field in books: YES
[22-Nov-2025 22:58:35 UTC]    External_download_link field in books: YES
[22-Nov-2025 22:58:35 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 22:58:35 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 22:58:35 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 22:58:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 22:58:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 22:58:35 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 22:58:35 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 22:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 22:58:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 22:58:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 22:58:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:58:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:58:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:58:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:58:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:58:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:58:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:58:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:58:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:58:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:58:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:58:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:58:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 22:58:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:58:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 22:58:37 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 22:58:37 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 22:58:37 UTC] ℹ️ Column institution already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column language already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column format already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 22:58:37 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 22:58:37 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 22:58:37 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 22:58:37 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 22:58:37 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 22:58:37 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 22:58:37 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 22:58:37 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 22:58:37 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 22:58:37 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 22:58:37 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 22:58:37 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 22:58:37 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 22:58:37 UTC] 📊 Database Info:
[22-Nov-2025 22:58:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 22:58:37 UTC]    Books columns count: 44
[22-Nov-2025 22:58:37 UTC]    Categories columns count: 7
[22-Nov-2025 22:58:37 UTC]    Language field in books: YES
[22-Nov-2025 22:58:37 UTC]    Format field in books: YES
[22-Nov-2025 22:58:37 UTC]    Description field in categories: YES
[22-Nov-2025 22:58:37 UTC]    Display_order field in categories: YES
[22-Nov-2025 22:58:37 UTC]    Is_active field in categories: YES
[22-Nov-2025 22:58:37 UTC]    Is_active field in books: YES
[22-Nov-2025 22:58:37 UTC]    External_download_link field in books: YES
[22-Nov-2025 22:58:37 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 22:58:37 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 22:58:37 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 22:58:37 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 22:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 22:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 22:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 22:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 22:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 22:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 22:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 22:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 22:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 22:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 22:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 22:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 22:58:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:35:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:35:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:35:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:35:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:35:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:35:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:35:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:35:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:35:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:35:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:35:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:35:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:35:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:35:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:35:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:35:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:35:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:35:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:35:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:35:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:35:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:35:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:35:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:35:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:35:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:35:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:35:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:35:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:35:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:35:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:35:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:35:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:35:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:35:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:35:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:35:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:35:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:35:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:35:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:35:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:35:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:35:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:35:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:35:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:35:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:35:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:35:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:35:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:35:48 UTC] 📊 Database Info:
[22-Nov-2025 23:35:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:35:48 UTC]    Books columns count: 44
[22-Nov-2025 23:35:48 UTC]    Categories columns count: 7
[22-Nov-2025 23:35:48 UTC]    Language field in books: YES
[22-Nov-2025 23:35:48 UTC]    Format field in books: YES
[22-Nov-2025 23:35:48 UTC]    Description field in categories: YES
[22-Nov-2025 23:35:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:35:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:35:48 UTC]    Is_active field in books: YES
[22-Nov-2025 23:35:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:35:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:35:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:35:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:35:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:35:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:35:48 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 23:35:48 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 23:35:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:35:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:35:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:35:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:35:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:35:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:35:48 UTC] 📊 Database Info:
[22-Nov-2025 23:35:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:35:48 UTC]    Books columns count: 44
[22-Nov-2025 23:35:48 UTC]    Categories columns count: 7
[22-Nov-2025 23:35:48 UTC]    Language field in books: YES
[22-Nov-2025 23:35:48 UTC]    Format field in books: YES
[22-Nov-2025 23:35:48 UTC]    Description field in categories: YES
[22-Nov-2025 23:35:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:35:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:35:48 UTC]    Is_active field in books: YES
[22-Nov-2025 23:35:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:35:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:35:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:35:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:35:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:35:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:35:48 UTC] 📊 Database Info:
[22-Nov-2025 23:35:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:35:48 UTC]    Books columns count: 44
[22-Nov-2025 23:35:48 UTC]    Categories columns count: 7
[22-Nov-2025 23:35:48 UTC]    Language field in books: YES
[22-Nov-2025 23:35:48 UTC]    Format field in books: YES
[22-Nov-2025 23:35:48 UTC]    Description field in categories: YES
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:35:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:35:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:35:48 UTC]    Is_active field in books: YES
[22-Nov-2025 23:35:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:35:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:35:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:35:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:35:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:35:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 23:35:48 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 23:35:48 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:35:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:35:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:35:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:35:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:35:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:35:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:35:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:35:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:35:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:35:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:35:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:35:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:35:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:35:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:35:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:35:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:35:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:35:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:35:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:35:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:35:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:35:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:35:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:35:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:35:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:35:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:35:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:35:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:35:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:35:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:35:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:35:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:35:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:35:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:35:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:35:51 UTC] 📊 Database Info:
[22-Nov-2025 23:35:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:35:51 UTC]    Books columns count: 44
[22-Nov-2025 23:35:51 UTC]    Categories columns count: 7
[22-Nov-2025 23:35:51 UTC]    Language field in books: YES
[22-Nov-2025 23:35:51 UTC]    Format field in books: YES
[22-Nov-2025 23:35:51 UTC]    Description field in categories: YES
[22-Nov-2025 23:35:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:35:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:35:51 UTC]    Is_active field in books: YES
[22-Nov-2025 23:35:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:35:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:35:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:35:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:35:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:35:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:35:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:35:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:35:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:35:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:35:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:35:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:35:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:35:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:35:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:35:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:35:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:35:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:35:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:35:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:35:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:35:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:35:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:35:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:35:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:35:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:35:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:35:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:35:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:35:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:35:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:35:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:35:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:35:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:35:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:35:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:35:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:35:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:35:57 UTC] 📊 Database Info:
[22-Nov-2025 23:35:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:35:57 UTC]    Books columns count: 44
[22-Nov-2025 23:35:57 UTC]    Categories columns count: 7
[22-Nov-2025 23:35:57 UTC]    Language field in books: YES
[22-Nov-2025 23:35:57 UTC]    Format field in books: YES
[22-Nov-2025 23:35:57 UTC]    Description field in categories: YES
[22-Nov-2025 23:35:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:35:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:35:57 UTC]    Is_active field in books: YES
[22-Nov-2025 23:35:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:35:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:35:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:35:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:35:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:35:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:35:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:35:57 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":false}
[22-Nov-2025 23:35:57 UTC] ?? Processing: home_screen - show_welcome_section: 0
[22-Nov-2025 23:35:57 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[22-Nov-2025 23:35:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:35:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:35:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:35:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:35:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:35:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:35:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:35:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:35:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:35:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:35:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:35:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:35:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:35:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:35:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:35:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:35:58 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:35:58 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:35:58 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:35:58 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:35:58 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:35:58 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:35:58 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:35:58 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:35:58 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:35:58 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:35:58 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:35:58 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:35:58 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:35:58 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:35:58 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:35:58 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:35:58 UTC] 📊 Database Info:
[22-Nov-2025 23:35:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:35:58 UTC]    Books columns count: 44
[22-Nov-2025 23:35:58 UTC]    Categories columns count: 7
[22-Nov-2025 23:35:58 UTC]    Language field in books: YES
[22-Nov-2025 23:35:58 UTC]    Format field in books: YES
[22-Nov-2025 23:35:58 UTC]    Description field in categories: YES
[22-Nov-2025 23:35:58 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:35:58 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:35:58 UTC]    Is_active field in books: YES
[22-Nov-2025 23:35:58 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:35:58 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:35:58 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:35:58 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:35:58 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:35:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:35:58 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 23:35:58 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[22-Nov-2025 23:35:58 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[22-Nov-2025 23:36:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:36:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:36:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:36:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:26 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:26 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:26 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:26 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:26 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:26 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:26 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:26 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:26 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:26 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:26 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:26 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:26 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:36:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:36:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:36:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:36:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:36:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:36:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:36:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:36:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:36:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:36:27 UTC] 📊 Database Info:
[22-Nov-2025 23:36:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:36:27 UTC]    Books columns count: 44
[22-Nov-2025 23:36:27 UTC]    Categories columns count: 7
[22-Nov-2025 23:36:27 UTC]    Language field in books: YES
[22-Nov-2025 23:36:27 UTC]    Format field in books: YES
[22-Nov-2025 23:36:27 UTC]    Description field in categories: YES
[22-Nov-2025 23:36:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:36:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:36:27 UTC]    Is_active field in books: YES
[22-Nov-2025 23:36:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:36:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:36:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:36:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:36:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:36:27 UTC] 📊 Database Info:
[22-Nov-2025 23:36:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:36:27 UTC]    Books columns count: 44
[22-Nov-2025 23:36:27 UTC]    Categories columns count: 7
[22-Nov-2025 23:36:27 UTC]    Language field in books: YES
[22-Nov-2025 23:36:27 UTC]    Format field in books: YES
[22-Nov-2025 23:36:27 UTC]    Description field in categories: YES
[22-Nov-2025 23:36:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:36:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:36:27 UTC]    Is_active field in books: YES
[22-Nov-2025 23:36:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:36:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:36:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:36:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:36:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:36:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:36:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:36:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 23:36:27 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:36:27 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:36:27 UTC] 📊 Database Info:
[22-Nov-2025 23:36:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:36:27 UTC]    Books columns count: 44
[22-Nov-2025 23:36:27 UTC]    Categories columns count: 7
[22-Nov-2025 23:36:27 UTC]    Language field in books: YES
[22-Nov-2025 23:36:27 UTC]    Format field in books: YES
[22-Nov-2025 23:36:27 UTC]    Description field in categories: YES
[22-Nov-2025 23:36:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:36:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:36:27 UTC]    Is_active field in books: YES
[22-Nov-2025 23:36:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:36:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:36:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:36:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:36:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:36:27 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 23:36:27 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:36:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:36:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:36:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:36:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:36:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:36:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:36:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:36:29 UTC] 📊 Database Info:
[22-Nov-2025 23:36:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:36:29 UTC]    Books columns count: 44
[22-Nov-2025 23:36:29 UTC]    Categories columns count: 7
[22-Nov-2025 23:36:29 UTC]    Language field in books: YES
[22-Nov-2025 23:36:29 UTC]    Format field in books: YES
[22-Nov-2025 23:36:29 UTC]    Description field in categories: YES
[22-Nov-2025 23:36:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:36:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:36:29 UTC]    Is_active field in books: YES
[22-Nov-2025 23:36:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:36:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:36:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:36:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:36:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:36:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:36:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:36:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:36:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:36:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:36:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:36:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:36:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:36:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:36:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:36:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:36:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:36:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:36:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:36:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:36:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:36:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:36:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:36:34 UTC] 📊 Database Info:
[22-Nov-2025 23:36:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:36:34 UTC]    Books columns count: 44
[22-Nov-2025 23:36:34 UTC]    Categories columns count: 7
[22-Nov-2025 23:36:34 UTC]    Language field in books: YES
[22-Nov-2025 23:36:34 UTC]    Format field in books: YES
[22-Nov-2025 23:36:34 UTC]    Description field in categories: YES
[22-Nov-2025 23:36:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:36:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:36:34 UTC]    Is_active field in books: YES
[22-Nov-2025 23:36:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:36:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:36:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:36:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:36:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:36:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:36:34 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[22-Nov-2025 23:36:34 UTC] ?? Processing: home_screen - show_welcome_section: 1
[22-Nov-2025 23:36:34 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[22-Nov-2025 23:36:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:36:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:36:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:34 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:36:34 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:36:34 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:34 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:34 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:34 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:34 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:34 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:34 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:34 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:34 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:34 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:34 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:34 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:34 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:34 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:36:34 UTC] 📊 Database Info:
[22-Nov-2025 23:36:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:36:34 UTC]    Books columns count: 44
[22-Nov-2025 23:36:34 UTC]    Categories columns count: 7
[22-Nov-2025 23:36:34 UTC]    Language field in books: YES
[22-Nov-2025 23:36:34 UTC]    Format field in books: YES
[22-Nov-2025 23:36:34 UTC]    Description field in categories: YES
[22-Nov-2025 23:36:34 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:36:34 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:36:34 UTC]    Is_active field in books: YES
[22-Nov-2025 23:36:34 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:36:34 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:36:34 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:36:34 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:36:34 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:36:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:36:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:36:34 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 23:36:34 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[22-Nov-2025 23:36:34 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[22-Nov-2025 23:36:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:36:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:36:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:36:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:41 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:41 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:41 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:41 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:41 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:36:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:41 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:36:41 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:36:41 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:41 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:41 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:41 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:41 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:41 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:41 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:41 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:36:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:36:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:36:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:42 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:36:42 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:36:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:42 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:42 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:42 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:42 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:42 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:36:42 UTC] 📊 Database Info:
[22-Nov-2025 23:36:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:36:42 UTC]    Books columns count: 44
[22-Nov-2025 23:36:42 UTC]    Categories columns count: 7
[22-Nov-2025 23:36:42 UTC]    Language field in books: YES
[22-Nov-2025 23:36:42 UTC]    Format field in books: YES
[22-Nov-2025 23:36:42 UTC]    Description field in categories: YES
[22-Nov-2025 23:36:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:36:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:36:42 UTC]    Is_active field in books: YES
[22-Nov-2025 23:36:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:36:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:36:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:36:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:36:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:36:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:36:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:36:42 UTC] 📊 Database Info:
[22-Nov-2025 23:36:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:36:42 UTC]    Books columns count: 44
[22-Nov-2025 23:36:42 UTC]    Categories columns count: 7
[22-Nov-2025 23:36:42 UTC]    Language field in books: YES
[22-Nov-2025 23:36:42 UTC]    Format field in books: YES
[22-Nov-2025 23:36:42 UTC]    Description field in categories: YES
[22-Nov-2025 23:36:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:36:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:36:42 UTC]    Is_active field in books: YES
[22-Nov-2025 23:36:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:36:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:36:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:36:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:36:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:36:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:36:42 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 23:36:42 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 23:36:42 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:42 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:42 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:42 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:36:42 UTC] 📊 Database Info:
[22-Nov-2025 23:36:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:36:42 UTC]    Books columns count: 44
[22-Nov-2025 23:36:42 UTC]    Categories columns count: 7
[22-Nov-2025 23:36:42 UTC]    Language field in books: YES
[22-Nov-2025 23:36:42 UTC]    Format field in books: YES
[22-Nov-2025 23:36:42 UTC]    Description field in categories: YES
[22-Nov-2025 23:36:42 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:36:42 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:36:42 UTC]    Is_active field in books: YES
[22-Nov-2025 23:36:42 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:36:42 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:36:42 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:36:42 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:36:42 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:36:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:36:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:36:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 23:36:42 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 23:36:42 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 23:36:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:36:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:36:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:36:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:36:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:36:44 UTC] 📊 Database Info:
[22-Nov-2025 23:36:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:36:44 UTC]    Books columns count: 44
[22-Nov-2025 23:36:44 UTC]    Categories columns count: 7
[22-Nov-2025 23:36:44 UTC]    Language field in books: YES
[22-Nov-2025 23:36:44 UTC]    Format field in books: YES
[22-Nov-2025 23:36:44 UTC]    Description field in categories: YES
[22-Nov-2025 23:36:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:36:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:36:44 UTC]    Is_active field in books: YES
[22-Nov-2025 23:36:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:36:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:36:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:36:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:36:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:36:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:36:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:36:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:36:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:36:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:36:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:36:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:36:45 UTC] 📊 Database Info:
[22-Nov-2025 23:36:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:36:45 UTC]    Books columns count: 44
[22-Nov-2025 23:36:45 UTC]    Categories columns count: 7
[22-Nov-2025 23:36:45 UTC]    Language field in books: YES
[22-Nov-2025 23:36:45 UTC]    Format field in books: YES
[22-Nov-2025 23:36:45 UTC]    Description field in categories: YES
[22-Nov-2025 23:36:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:36:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:36:45 UTC]    Is_active field in books: YES
[22-Nov-2025 23:36:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:36:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:36:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:36:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:36:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:36:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:36:45 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[22-Nov-2025 23:36:45 UTC] ?? Processing: home_screen - show_welcome_section: 1
[22-Nov-2025 23:36:45 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[22-Nov-2025 23:36:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:36:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:36:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:36:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:36:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:36:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:36:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:36:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:36:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:36:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:36:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:36:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:36:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:36:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:36:45 UTC] 📊 Database Info:
[22-Nov-2025 23:36:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:36:45 UTC]    Books columns count: 44
[22-Nov-2025 23:36:45 UTC]    Categories columns count: 7
[22-Nov-2025 23:36:45 UTC]    Language field in books: YES
[22-Nov-2025 23:36:45 UTC]    Format field in books: YES
[22-Nov-2025 23:36:45 UTC]    Description field in categories: YES
[22-Nov-2025 23:36:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:36:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:36:45 UTC]    Is_active field in books: YES
[22-Nov-2025 23:36:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:36:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:36:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:36:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:36:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:36:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:36:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:36:45 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 23:36:45 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[22-Nov-2025 23:36:45 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[22-Nov-2025 23:39:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:39:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:39:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:39:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:39:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:39:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:39:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:39:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:39:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:39:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:39:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:39:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:39:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:39:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:39:49 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:39:49 UTC] 📊 Database Info:
[22-Nov-2025 23:39:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:39:49 UTC]    Books columns count: 44
[22-Nov-2025 23:39:49 UTC]    Categories columns count: 7
[22-Nov-2025 23:39:49 UTC]    Language field in books: YES
[22-Nov-2025 23:39:49 UTC]    Format field in books: YES
[22-Nov-2025 23:39:49 UTC]    Description field in categories: YES
[22-Nov-2025 23:39:49 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:39:49 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:39:49 UTC]    Is_active field in books: YES
[22-Nov-2025 23:39:49 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:39:49 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:39:49 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:39:49 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:39:49 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:39:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:39:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:39:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:39:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:39:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:39:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:39:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:39:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:39:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:39:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:39:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:39:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:39:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:39:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:39:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:39:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:39:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:39:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:39:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:39:49 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:39:49 UTC] 📊 Database Info:
[22-Nov-2025 23:39:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:39:49 UTC]    Books columns count: 44
[22-Nov-2025 23:39:49 UTC]    Categories columns count: 7
[22-Nov-2025 23:39:49 UTC]    Language field in books: YES
[22-Nov-2025 23:39:49 UTC]    Format field in books: YES
[22-Nov-2025 23:39:49 UTC]    Description field in categories: YES
[22-Nov-2025 23:39:49 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:39:49 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:39:49 UTC]    Is_active field in books: YES
[22-Nov-2025 23:39:49 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:39:49 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:39:49 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:39:49 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:39:49 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:39:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:39:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:40:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:40:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:40:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:40:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:40:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:40:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:40:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:40:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:40:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:40:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:40:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:40:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:40:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:40:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:40:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:40:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:40:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:40:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:40:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:40:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:40:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:40:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:40:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:40:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:40:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:40:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:40:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:40:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:40:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:40:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:40:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:40:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:40:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:40:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:40:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:40:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:40:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:40:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:40:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:40:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:40:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:40:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:40:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:40:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:40:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:40:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:40:28 UTC] 📊 Database Info:
[22-Nov-2025 23:40:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:40:28 UTC]    Books columns count: 44
[22-Nov-2025 23:40:28 UTC]    Categories columns count: 7
[22-Nov-2025 23:40:28 UTC]    Language field in books: YES
[22-Nov-2025 23:40:28 UTC]    Format field in books: YES
[22-Nov-2025 23:40:28 UTC]    Description field in categories: YES
[22-Nov-2025 23:40:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:40:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:40:28 UTC]    Is_active field in books: YES
[22-Nov-2025 23:40:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:40:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:40:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:40:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:40:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:40:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:40:28 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 23:40:28 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 23:40:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:40:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:40:28 UTC] 📊 Database Info:
[22-Nov-2025 23:40:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:40:28 UTC]    Books columns count: 44
[22-Nov-2025 23:40:28 UTC]    Categories columns count: 7
[22-Nov-2025 23:40:28 UTC]    Language field in books: YES
[22-Nov-2025 23:40:28 UTC]    Format field in books: YES
[22-Nov-2025 23:40:28 UTC]    Description field in categories: YES
[22-Nov-2025 23:40:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:40:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:40:28 UTC]    Is_active field in books: YES
[22-Nov-2025 23:40:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:40:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:40:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:40:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:40:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:40:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:40:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:40:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:40:28 UTC] 📊 Database Info:
[22-Nov-2025 23:40:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:40:28 UTC]    Books columns count: 44
[22-Nov-2025 23:40:28 UTC]    Categories columns count: 7
[22-Nov-2025 23:40:28 UTC]    Language field in books: YES
[22-Nov-2025 23:40:28 UTC]    Format field in books: YES
[22-Nov-2025 23:40:28 UTC]    Description field in categories: YES
[22-Nov-2025 23:40:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:40:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:40:28 UTC]    Is_active field in books: YES
[22-Nov-2025 23:40:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:40:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:40:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:40:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:40:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:40:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:40:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 23:40:28 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 23:40:28 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 23:41:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:41:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:41:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:41:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:41:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:41:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:41:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:41:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:41:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:41:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:41:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:41:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:41:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:41:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:41:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:41:14 UTC] 📊 Database Info:
[22-Nov-2025 23:41:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:41:14 UTC]    Books columns count: 44
[22-Nov-2025 23:41:14 UTC]    Categories columns count: 7
[22-Nov-2025 23:41:14 UTC]    Language field in books: YES
[22-Nov-2025 23:41:14 UTC]    Format field in books: YES
[22-Nov-2025 23:41:14 UTC]    Description field in categories: YES
[22-Nov-2025 23:41:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:41:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:41:14 UTC]    Is_active field in books: YES
[22-Nov-2025 23:41:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:41:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:41:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:41:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:41:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:41:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:41:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:41:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:41:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:41:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:41:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:41:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:41:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:41:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:41:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:41:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:41:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:41:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:41:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:41:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:41:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:41:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:41:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:41:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:41:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:41:14 UTC] 📊 Database Info:
[22-Nov-2025 23:41:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:41:14 UTC]    Books columns count: 44
[22-Nov-2025 23:41:14 UTC]    Categories columns count: 7
[22-Nov-2025 23:41:14 UTC]    Language field in books: YES
[22-Nov-2025 23:41:14 UTC]    Format field in books: YES
[22-Nov-2025 23:41:14 UTC]    Description field in categories: YES
[22-Nov-2025 23:41:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:41:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:41:14 UTC]    Is_active field in books: YES
[22-Nov-2025 23:41:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:41:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:41:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:41:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:41:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:41:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:41:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:41:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:41:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:41:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:41:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:41:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:41:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:41:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:41:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:41:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:41:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:41:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:41:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:41:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:41:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:41:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:41:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:41:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:41:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:41:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:41:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:41:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:41:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:41:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:41:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:41:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:41:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:41:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:41:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:41:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:41:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:41:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:41:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:41:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:41:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:41:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:41:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:41:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:41:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:41:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:41:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:41:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:41:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:41:44 UTC] 📊 Database Info:
[22-Nov-2025 23:41:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:41:44 UTC]    Books columns count: 44
[22-Nov-2025 23:41:44 UTC]    Categories columns count: 7
[22-Nov-2025 23:41:44 UTC]    Language field in books: YES
[22-Nov-2025 23:41:44 UTC]    Format field in books: YES
[22-Nov-2025 23:41:44 UTC]    Description field in categories: YES
[22-Nov-2025 23:41:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:41:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:41:44 UTC]    Is_active field in books: YES
[22-Nov-2025 23:41:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:41:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:41:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:41:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:41:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:41:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:41:44 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 23:41:44 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 23:41:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:41:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:41:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:41:44 UTC] 📊 Database Info:
[22-Nov-2025 23:41:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:41:44 UTC]    Books columns count: 44
[22-Nov-2025 23:41:44 UTC]    Categories columns count: 7
[22-Nov-2025 23:41:44 UTC]    Language field in books: YES
[22-Nov-2025 23:41:44 UTC]    Format field in books: YES
[22-Nov-2025 23:41:44 UTC]    Description field in categories: YES
[22-Nov-2025 23:41:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:41:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:41:44 UTC]    Is_active field in books: YES
[22-Nov-2025 23:41:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:41:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:41:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:41:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:41:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:41:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:41:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:41:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:41:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:41:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:41:44 UTC] 📊 Database Info:
[22-Nov-2025 23:41:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:41:44 UTC]    Books columns count: 44
[22-Nov-2025 23:41:44 UTC]    Categories columns count: 7
[22-Nov-2025 23:41:44 UTC]    Language field in books: YES
[22-Nov-2025 23:41:44 UTC]    Format field in books: YES
[22-Nov-2025 23:41:44 UTC]    Description field in categories: YES
[22-Nov-2025 23:41:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:41:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:41:44 UTC]    Is_active field in books: YES
[22-Nov-2025 23:41:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:41:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:41:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:41:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:41:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:41:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:41:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 23:41:44 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 23:41:44 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 23:42:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:42:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:42:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:42:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:42:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:42:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:42:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:42:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:42:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:42:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:42:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:42:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:42:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:42:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:42:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:42:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:42:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:42:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:42:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:42:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:42:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:42:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:42:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:42:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:42:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:42:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:42:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:42:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:42:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:42:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:42:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:42:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:42:04 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:42:04 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:42:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:42:04 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:42:04 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:42:04 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:42:04 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:42:04 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:42:04 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:42:04 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:42:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:42:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:42:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:42:04 UTC] 📊 Database Info:
[22-Nov-2025 23:42:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:42:04 UTC]    Books columns count: 44
[22-Nov-2025 23:42:04 UTC]    Categories columns count: 7
[22-Nov-2025 23:42:04 UTC]    Language field in books: YES
[22-Nov-2025 23:42:04 UTC]    Format field in books: YES
[22-Nov-2025 23:42:04 UTC]    Description field in categories: YES
[22-Nov-2025 23:42:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:42:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:42:04 UTC]    Is_active field in books: YES
[22-Nov-2025 23:42:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:42:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:42:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:42:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:42:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:42:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:42:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 23:42:04 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 23:42:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:42:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:42:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:42:04 UTC] 📊 Database Info:
[22-Nov-2025 23:42:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:42:04 UTC]    Books columns count: 44
[22-Nov-2025 23:42:04 UTC]    Categories columns count: 7
[22-Nov-2025 23:42:04 UTC]    Language field in books: YES
[22-Nov-2025 23:42:04 UTC]    Format field in books: YES
[22-Nov-2025 23:42:04 UTC]    Description field in categories: YES
[22-Nov-2025 23:42:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:42:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:42:04 UTC]    Is_active field in books: YES
[22-Nov-2025 23:42:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:42:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:42:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:42:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:42:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:42:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:42:04 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:42:04 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:42:04 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:42:04 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:42:04 UTC] 📊 Database Info:
[22-Nov-2025 23:42:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:42:04 UTC]    Books columns count: 44
[22-Nov-2025 23:42:04 UTC]    Categories columns count: 7
[22-Nov-2025 23:42:04 UTC]    Language field in books: YES
[22-Nov-2025 23:42:04 UTC]    Format field in books: YES
[22-Nov-2025 23:42:04 UTC]    Description field in categories: YES
[22-Nov-2025 23:42:04 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:42:04 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:42:04 UTC]    Is_active field in books: YES
[22-Nov-2025 23:42:04 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:42:04 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:42:04 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:42:04 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:42:04 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:42:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:42:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:42:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 23:42:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 23:42:04 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 23:42:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:42:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:42:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:42:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:42:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:42:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:42:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:42:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:42:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:42:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:42:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:42:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:42:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:42:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:42:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:42:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:42:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:42:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:42:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:42:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:42:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:42:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:42:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:42:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:42:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:42:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:42:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:42:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:42:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:42:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:42:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:42:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:42:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:42:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:42:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:42:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:42:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:42:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:42:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:42:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:42:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:42:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:42:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:42:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:42:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:42:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:42:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:42:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:42:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:42:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:42:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:42:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:42:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:42:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:42:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:42:08 UTC] 📊 Database Info:
[22-Nov-2025 23:42:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:42:08 UTC]    Books columns count: 44
[22-Nov-2025 23:42:08 UTC]    Categories columns count: 7
[22-Nov-2025 23:42:08 UTC]    Language field in books: YES
[22-Nov-2025 23:42:08 UTC]    Format field in books: YES
[22-Nov-2025 23:42:08 UTC]    Description field in categories: YES
[22-Nov-2025 23:42:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:42:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:42:08 UTC]    Is_active field in books: YES
[22-Nov-2025 23:42:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:42:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:42:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:42:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:42:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:42:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:42:08 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 23:42:08 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 23:42:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:42:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:42:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:42:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:42:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:42:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:42:08 UTC] 📊 Database Info:
[22-Nov-2025 23:42:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:42:08 UTC]    Books columns count: 44
[22-Nov-2025 23:42:08 UTC]    Categories columns count: 7
[22-Nov-2025 23:42:08 UTC]    Language field in books: YES
[22-Nov-2025 23:42:08 UTC]    Format field in books: YES
[22-Nov-2025 23:42:08 UTC]    Description field in categories: YES
[22-Nov-2025 23:42:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:42:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:42:08 UTC]    Is_active field in books: YES
[22-Nov-2025 23:42:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:42:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:42:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:42:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:42:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:42:08 UTC] 📊 Database Info:
[22-Nov-2025 23:42:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:42:08 UTC]    Books columns count: 44
[22-Nov-2025 23:42:08 UTC]    Categories columns count: 7
[22-Nov-2025 23:42:08 UTC]    Language field in books: YES
[22-Nov-2025 23:42:08 UTC]    Format field in books: YES
[22-Nov-2025 23:42:08 UTC]    Description field in categories: YES
[22-Nov-2025 23:42:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:42:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:42:08 UTC]    Is_active field in books: YES
[22-Nov-2025 23:42:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:42:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:42:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:42:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:42:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:42:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:42:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:42:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:42:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:42:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 23:42:08 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 23:42:08 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 23:42:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:42:15 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:42:15 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:42:15 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:42:15 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:42:15 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:42:15 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:42:15 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:42:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:42:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:42:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:42:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:42:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:42:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:42:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:42:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:42:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:42:16 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:42:16 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:42:16 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:42:16 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:42:16 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:42:16 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:42:16 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:42:16 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:42:16 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:42:16 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:42:16 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:42:16 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:42:16 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:42:16 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:42:16 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:42:16 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:42:16 UTC] 📊 Database Info:
[22-Nov-2025 23:42:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:42:16 UTC]    Books columns count: 44
[22-Nov-2025 23:42:16 UTC]    Categories columns count: 7
[22-Nov-2025 23:42:16 UTC]    Language field in books: YES
[22-Nov-2025 23:42:16 UTC]    Format field in books: YES
[22-Nov-2025 23:42:16 UTC]    Description field in categories: YES
[22-Nov-2025 23:42:16 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:42:16 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:42:16 UTC]    Is_active field in books: YES
[22-Nov-2025 23:42:16 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:42:16 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:42:16 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:42:16 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:42:16 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:42:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:42:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:42:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:42:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:42:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:42:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:42:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:42:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:42:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:42:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:42:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:42:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:42:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:42:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:42:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:42:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:42:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:42:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:42:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:42:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:42:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:42:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:42:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:42:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:42:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:42:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:42:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:42:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:42:17 UTC] 📊 Database Info:
[22-Nov-2025 23:42:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:42:17 UTC]    Books columns count: 44
[22-Nov-2025 23:42:17 UTC]    Categories columns count: 7
[22-Nov-2025 23:42:17 UTC]    Language field in books: YES
[22-Nov-2025 23:42:17 UTC]    Format field in books: YES
[22-Nov-2025 23:42:17 UTC]    Description field in categories: YES
[22-Nov-2025 23:42:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:42:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:42:17 UTC]    Is_active field in books: YES
[22-Nov-2025 23:42:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:42:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:42:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:42:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:42:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:42:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:42:17 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[22-Nov-2025 23:42:17 UTC] ?? Processing: home_screen - show_welcome_section: 1
[22-Nov-2025 23:42:17 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[22-Nov-2025 23:42:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:42:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:42:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:42:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:42:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:42:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:42:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:42:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:42:17 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:42:17 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:42:17 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:42:17 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:42:17 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:42:17 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:42:17 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:42:17 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:42:17 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:42:17 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:42:17 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:42:17 UTC] 📊 Database Info:
[22-Nov-2025 23:42:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:42:17 UTC]    Books columns count: 44
[22-Nov-2025 23:42:17 UTC]    Categories columns count: 7
[22-Nov-2025 23:42:17 UTC]    Language field in books: YES
[22-Nov-2025 23:42:17 UTC]    Format field in books: YES
[22-Nov-2025 23:42:17 UTC]    Description field in categories: YES
[22-Nov-2025 23:42:17 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:42:17 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:42:17 UTC]    Is_active field in books: YES
[22-Nov-2025 23:42:17 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:42:17 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:42:17 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:42:17 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:42:17 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:42:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:42:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:42:17 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[22-Nov-2025 23:42:17 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[22-Nov-2025 23:42:17 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[22-Nov-2025 23:43:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:43:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:43:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:43:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:43:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:43:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:43:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:43:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:43:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:43:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:43:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:43:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:43:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:43:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:43:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:43:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:43:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:43:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:43:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:43:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:43:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:43:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:43:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:43:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:43:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:43:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:43:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:43:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:43:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:43:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:43:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:43:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:43:38 UTC] 📊 Database Info:
[22-Nov-2025 23:43:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:43:38 UTC]    Books columns count: 44
[22-Nov-2025 23:43:38 UTC]    Categories columns count: 7
[22-Nov-2025 23:43:38 UTC]    Language field in books: YES
[22-Nov-2025 23:43:38 UTC]    Format field in books: YES
[22-Nov-2025 23:43:38 UTC]    Description field in categories: YES
[22-Nov-2025 23:43:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:43:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:43:38 UTC]    Is_active field in books: YES
[22-Nov-2025 23:43:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:43:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:43:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:43:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:43:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:43:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:43:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:43:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:43:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:43:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:43:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:43:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:43:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:43:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:43:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:43:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:43:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:43:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:43:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:43:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:43:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:43:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:43:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:43:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:43:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:43:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:43:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:43:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:43:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:43:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:43:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:43:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:43:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:43:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:43:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:43:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:43:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:43:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:43:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:43:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:43:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:43:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:43:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:43:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:43:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:43:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:43:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:43:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:43:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:43:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:43:39 UTC] 📊 Database Info:
[22-Nov-2025 23:43:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:43:39 UTC]    Books columns count: 44
[22-Nov-2025 23:43:39 UTC]    Categories columns count: 7
[22-Nov-2025 23:43:39 UTC]    Language field in books: YES
[22-Nov-2025 23:43:39 UTC]    Format field in books: YES
[22-Nov-2025 23:43:39 UTC]    Description field in categories: YES
[22-Nov-2025 23:43:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:43:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:43:39 UTC]    Is_active field in books: YES
[22-Nov-2025 23:43:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:43:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:43:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:43:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:43:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:43:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:43:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:46:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:46:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:46:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:46:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:46:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:46:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:46:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:46:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:46:56 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:46:56 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:46:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:46:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:46:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:46:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:46:56 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:46:56 UTC] 📊 Database Info:
[22-Nov-2025 23:46:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:46:56 UTC]    Books columns count: 44
[22-Nov-2025 23:46:56 UTC]    Categories columns count: 7
[22-Nov-2025 23:46:56 UTC]    Language field in books: YES
[22-Nov-2025 23:46:56 UTC]    Format field in books: YES
[22-Nov-2025 23:46:56 UTC]    Description field in categories: YES
[22-Nov-2025 23:46:56 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:46:56 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:46:56 UTC]    Is_active field in books: YES
[22-Nov-2025 23:46:56 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:46:56 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:46:56 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:46:56 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:46:56 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:46:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:46:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:46:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:46:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:46:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:46:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:46:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:46:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:46:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:46:56 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:46:56 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:46:56 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:46:56 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:46:56 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:46:56 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:46:56 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:46:56 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:46:56 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:46:56 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:46:56 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:46:56 UTC] 📊 Database Info:
[22-Nov-2025 23:46:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:46:56 UTC]    Books columns count: 44
[22-Nov-2025 23:46:56 UTC]    Categories columns count: 7
[22-Nov-2025 23:46:56 UTC]    Language field in books: YES
[22-Nov-2025 23:46:56 UTC]    Format field in books: YES
[22-Nov-2025 23:46:56 UTC]    Description field in categories: YES
[22-Nov-2025 23:46:56 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:46:56 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:46:56 UTC]    Is_active field in books: YES
[22-Nov-2025 23:46:56 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:46:56 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:46:56 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:46:56 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:46:56 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:46:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:46:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:48:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:48:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:48:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:48:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:48:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:48:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:48:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:48:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:48:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:48:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:48:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:48:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:48:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:48:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:48:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:48:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:48:49 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:48:49 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:48:49 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:48:49 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:48:49 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:48:49 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:48:49 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:48:49 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:48:49 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:48:49 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:48:49 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:48:49 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:48:49 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:48:49 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:48:49 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:48:49 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:48:49 UTC] 📊 Database Info:
[22-Nov-2025 23:48:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:48:49 UTC]    Books columns count: 44
[22-Nov-2025 23:48:49 UTC]    Categories columns count: 7
[22-Nov-2025 23:48:49 UTC]    Language field in books: YES
[22-Nov-2025 23:48:49 UTC]    Format field in books: YES
[22-Nov-2025 23:48:49 UTC]    Description field in categories: YES
[22-Nov-2025 23:48:49 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:48:49 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:48:49 UTC]    Is_active field in books: YES
[22-Nov-2025 23:48:49 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:48:49 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:48:49 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:48:49 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:48:49 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:48:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:48:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:48:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:48:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:48:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:48:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:48:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:48:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:48:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:48:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:48:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:48:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:48:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:48:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:48:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:48:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:48:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:48:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:48:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:48:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:48:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:48:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:48:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:48:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:48:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:48:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:48:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:48:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:48:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:48:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:48:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:48:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:48:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:48:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:48:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:48:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:48:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:48:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:48:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:48:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:48:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:48:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:48:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:48:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:48:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:48:50 UTC] 📊 Database Info:
[22-Nov-2025 23:48:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:48:50 UTC]    Books columns count: 44
[22-Nov-2025 23:48:50 UTC]    Categories columns count: 7
[22-Nov-2025 23:48:50 UTC]    Language field in books: YES
[22-Nov-2025 23:48:50 UTC]    Format field in books: YES
[22-Nov-2025 23:48:50 UTC]    Description field in categories: YES
[22-Nov-2025 23:48:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:48:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:48:50 UTC]    Is_active field in books: YES
[22-Nov-2025 23:48:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:48:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:48:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:48:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:48:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:48:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:48:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:49:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:49:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:49:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:49:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:49:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:49:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:49:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:49:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:49:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:49:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:49:03 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:49:03 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:49:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:03 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:03 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:03 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:03 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:03 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:03 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:03 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:49:03 UTC] 📊 Database Info:
[22-Nov-2025 23:49:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:49:03 UTC]    Books columns count: 44
[22-Nov-2025 23:49:03 UTC]    Categories columns count: 7
[22-Nov-2025 23:49:03 UTC]    Language field in books: YES
[22-Nov-2025 23:49:03 UTC]    Format field in books: YES
[22-Nov-2025 23:49:03 UTC]    Description field in categories: YES
[22-Nov-2025 23:49:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:49:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:49:03 UTC]    Is_active field in books: YES
[22-Nov-2025 23:49:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:49:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:49:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:49:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:49:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:49:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:49:03 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:49:03 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:49:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:49:03 UTC] 📊 Database Info:
[22-Nov-2025 23:49:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:49:03 UTC]    Books columns count: 44
[22-Nov-2025 23:49:03 UTC]    Categories columns count: 7
[22-Nov-2025 23:49:03 UTC]    Language field in books: YES
[22-Nov-2025 23:49:03 UTC]    Format field in books: YES
[22-Nov-2025 23:49:03 UTC]    Description field in categories: YES
[22-Nov-2025 23:49:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:49:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:49:03 UTC]    Is_active field in books: YES
[22-Nov-2025 23:49:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:49:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:49:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:49:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:49:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:49:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:49:03 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:03 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:03 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:03 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:49:03 UTC] 📊 Database Info:
[22-Nov-2025 23:49:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:49:03 UTC]    Books columns count: 44
[22-Nov-2025 23:49:03 UTC]    Categories columns count: 7
[22-Nov-2025 23:49:03 UTC]    Language field in books: YES
[22-Nov-2025 23:49:03 UTC]    Format field in books: YES
[22-Nov-2025 23:49:03 UTC]    Description field in categories: YES
[22-Nov-2025 23:49:03 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:49:03 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:49:03 UTC]    Is_active field in books: YES
[22-Nov-2025 23:49:03 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:49:03 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:49:03 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:49:03 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:49:03 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:49:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:49:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:49:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:49:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:49:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:49:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:49:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:49:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:49:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:49:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:49:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:49:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:49:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:07 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:49:07 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:49:07 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:07 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:07 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:07 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:07 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:49:07 UTC] 📊 Database Info:
[22-Nov-2025 23:49:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:49:07 UTC]    Books columns count: 44
[22-Nov-2025 23:49:07 UTC]    Categories columns count: 7
[22-Nov-2025 23:49:07 UTC]    Language field in books: YES
[22-Nov-2025 23:49:07 UTC]    Format field in books: YES
[22-Nov-2025 23:49:07 UTC]    Description field in categories: YES
[22-Nov-2025 23:49:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:49:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:49:07 UTC]    Is_active field in books: YES
[22-Nov-2025 23:49:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:49:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:49:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:49:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:49:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:49:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:49:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:49:07 UTC] 📊 Database Info:
[22-Nov-2025 23:49:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:49:07 UTC]    Books columns count: 44
[22-Nov-2025 23:49:07 UTC]    Categories columns count: 7
[22-Nov-2025 23:49:07 UTC]    Language field in books: YES
[22-Nov-2025 23:49:07 UTC]    Format field in books: YES
[22-Nov-2025 23:49:07 UTC]    Description field in categories: YES
[22-Nov-2025 23:49:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:49:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:49:07 UTC]    Is_active field in books: YES
[22-Nov-2025 23:49:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:49:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:49:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:49:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:49:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:49:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:49:07 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:07 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:07 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:07 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:49:07 UTC] 📊 Database Info:
[22-Nov-2025 23:49:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:49:07 UTC]    Books columns count: 44
[22-Nov-2025 23:49:07 UTC]    Categories columns count: 7
[22-Nov-2025 23:49:07 UTC]    Language field in books: YES
[22-Nov-2025 23:49:07 UTC]    Format field in books: YES
[22-Nov-2025 23:49:07 UTC]    Description field in categories: YES
[22-Nov-2025 23:49:07 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:49:07 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:49:07 UTC]    Is_active field in books: YES
[22-Nov-2025 23:49:07 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:49:07 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:49:07 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:49:07 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:49:07 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:49:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:49:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:49:07 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:49:07 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:49:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:49:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:49:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:49:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:49:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:49:08 UTC] 📊 Database Info:
[22-Nov-2025 23:49:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:49:08 UTC]    Books columns count: 44
[22-Nov-2025 23:49:08 UTC]    Categories columns count: 7
[22-Nov-2025 23:49:08 UTC]    Language field in books: YES
[22-Nov-2025 23:49:08 UTC]    Format field in books: YES
[22-Nov-2025 23:49:08 UTC]    Description field in categories: YES
[22-Nov-2025 23:49:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:49:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:49:08 UTC]    Is_active field in books: YES
[22-Nov-2025 23:49:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:49:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:49:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:49:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:49:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:49:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:49:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:49:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:49:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:49:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:49:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:38 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:49:38 UTC] 📊 Database Info:
[22-Nov-2025 23:49:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:49:38 UTC]    Books columns count: 44
[22-Nov-2025 23:49:38 UTC]    Categories columns count: 7
[22-Nov-2025 23:49:38 UTC]    Language field in books: YES
[22-Nov-2025 23:49:38 UTC]    Format field in books: YES
[22-Nov-2025 23:49:38 UTC]    Description field in categories: YES
[22-Nov-2025 23:49:38 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:49:38 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:49:38 UTC]    Is_active field in books: YES
[22-Nov-2025 23:49:38 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:49:38 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:49:38 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:49:38 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:49:38 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:49:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:49:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:49:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:49:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:49:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:49:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:49:39 UTC] 📊 Database Info:
[22-Nov-2025 23:49:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:49:39 UTC]    Books columns count: 44
[22-Nov-2025 23:49:39 UTC]    Categories columns count: 7
[22-Nov-2025 23:49:39 UTC]    Language field in books: YES
[22-Nov-2025 23:49:39 UTC]    Format field in books: YES
[22-Nov-2025 23:49:39 UTC]    Description field in categories: YES
[22-Nov-2025 23:49:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:49:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:49:39 UTC]    Is_active field in books: YES
[22-Nov-2025 23:49:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:49:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:49:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:49:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:49:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:49:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:49:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:49:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:49:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:49:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:49:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:49:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:49:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:49:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:49:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:49:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:39 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:49:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:39 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:49:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:39 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:39 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:39 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:39 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:49:39 UTC] 📊 Database Info:
[22-Nov-2025 23:49:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:49:39 UTC]    Books columns count: 44
[22-Nov-2025 23:49:39 UTC]    Categories columns count: 7
[22-Nov-2025 23:49:39 UTC]    Language field in books: YES
[22-Nov-2025 23:49:39 UTC]    Format field in books: YES
[22-Nov-2025 23:49:39 UTC]    Description field in categories: YES
[22-Nov-2025 23:49:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:49:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:49:39 UTC]    Is_active field in books: YES
[22-Nov-2025 23:49:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:49:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:49:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:49:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:49:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:49:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:49:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:49:39 UTC] 📊 Database Info:
[22-Nov-2025 23:49:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:49:39 UTC]    Books columns count: 44
[22-Nov-2025 23:49:39 UTC]    Categories columns count: 7
[22-Nov-2025 23:49:39 UTC]    Language field in books: YES
[22-Nov-2025 23:49:39 UTC]    Format field in books: YES
[22-Nov-2025 23:49:39 UTC]    Description field in categories: YES
[22-Nov-2025 23:49:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:49:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:49:39 UTC]    Is_active field in books: YES
[22-Nov-2025 23:49:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:49:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:49:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:49:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:49:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:49:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:49:39 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:49:39 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:49:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:49:39 UTC] 📊 Database Info:
[22-Nov-2025 23:49:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:49:39 UTC]    Books columns count: 44
[22-Nov-2025 23:49:39 UTC]    Categories columns count: 7
[22-Nov-2025 23:49:39 UTC]    Language field in books: YES
[22-Nov-2025 23:49:39 UTC]    Format field in books: YES
[22-Nov-2025 23:49:39 UTC]    Description field in categories: YES
[22-Nov-2025 23:49:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:49:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:49:39 UTC]    Is_active field in books: YES
[22-Nov-2025 23:49:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:49:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:49:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:49:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:49:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:49:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:49:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:49:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:49:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:49:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:49:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:49:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:49:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:49:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:49:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:49:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:49:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:49:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:49:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:49:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:49:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:49:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:49:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:49:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:49:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:49:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:49:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:49:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:49:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:40 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:49:40 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:40 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:49:40 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:49:40 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:49:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:49:40 UTC] 📊 Database Info:
[22-Nov-2025 23:49:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:49:40 UTC]    Books columns count: 44
[22-Nov-2025 23:49:40 UTC]    Categories columns count: 7
[22-Nov-2025 23:49:40 UTC]    Language field in books: YES
[22-Nov-2025 23:49:40 UTC]    Format field in books: YES
[22-Nov-2025 23:49:40 UTC]    Description field in categories: YES
[22-Nov-2025 23:49:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:49:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:49:40 UTC]    Is_active field in books: YES
[22-Nov-2025 23:49:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:49:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:49:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:49:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:49:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:49:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:49:40 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:49:40 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:49:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:49:40 UTC] 📊 Database Info:
[22-Nov-2025 23:49:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:49:40 UTC]    Books columns count: 44
[22-Nov-2025 23:49:40 UTC]    Categories columns count: 7
[22-Nov-2025 23:49:40 UTC]    Language field in books: YES
[22-Nov-2025 23:49:40 UTC]    Format field in books: YES
[22-Nov-2025 23:49:40 UTC]    Description field in categories: YES
[22-Nov-2025 23:49:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:49:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:49:40 UTC]    Is_active field in books: YES
[22-Nov-2025 23:49:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:49:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:49:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:49:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:49:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:49:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:49:40 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:49:40 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:49:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:40 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:40 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:49:40 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:49:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:49:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:49:40 UTC] 📊 Database Info:
[22-Nov-2025 23:49:40 UTC] 📊 Database Info:
[22-Nov-2025 23:49:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:49:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:49:40 UTC]    Books columns count: 44
[22-Nov-2025 23:49:40 UTC]    Categories columns count: 7
[22-Nov-2025 23:49:40 UTC]    Books columns count: 44
[22-Nov-2025 23:49:40 UTC]    Categories columns count: 7
[22-Nov-2025 23:49:40 UTC]    Language field in books: YES
[22-Nov-2025 23:49:40 UTC]    Format field in books: YES
[22-Nov-2025 23:49:40 UTC]    Description field in categories: YES
[22-Nov-2025 23:49:40 UTC]    Language field in books: YES
[22-Nov-2025 23:49:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:49:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:49:40 UTC]    Format field in books: YES
[22-Nov-2025 23:49:40 UTC]    Is_active field in books: YES
[22-Nov-2025 23:49:40 UTC]    Description field in categories: YES
[22-Nov-2025 23:49:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:49:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:49:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:49:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:49:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:49:40 UTC]    Is_active field in books: YES
[22-Nov-2025 23:49:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:49:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:49:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:49:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:49:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:49:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:49:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:49:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:49:40 UTC] 📊 Database Info:
[22-Nov-2025 23:49:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:49:40 UTC]    Books columns count: 44
[22-Nov-2025 23:49:40 UTC]    Categories columns count: 7
[22-Nov-2025 23:49:40 UTC]    Language field in books: YES
[22-Nov-2025 23:49:40 UTC]    Format field in books: YES
[22-Nov-2025 23:49:40 UTC]    Description field in categories: YES
[22-Nov-2025 23:49:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:49:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:49:40 UTC]    Is_active field in books: YES
[22-Nov-2025 23:49:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:49:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:49:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:49:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:49:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:49:40 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:49:40 UTC] 📊 Database Info:
[22-Nov-2025 23:49:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:49:40 UTC]    Books columns count: 44
[22-Nov-2025 23:49:40 UTC]    Categories columns count: 7
[22-Nov-2025 23:49:40 UTC]    Language field in books: YES
[22-Nov-2025 23:49:40 UTC]    Format field in books: YES
[22-Nov-2025 23:49:40 UTC]    Description field in categories: YES
[22-Nov-2025 23:49:40 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:49:40 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:49:40 UTC]    Is_active field in books: YES
[22-Nov-2025 23:49:40 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:49:40 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:49:40 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:49:40 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:49:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:49:40 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:49:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:49:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:49:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:49:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:23 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:23 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:23 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:23 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:24 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:24 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:24 UTC] 📊 Database Info:
[22-Nov-2025 23:50:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:24 UTC]    Books columns count: 44
[22-Nov-2025 23:50:24 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:24 UTC]    Language field in books: YES
[22-Nov-2025 23:50:24 UTC]    Format field in books: YES
[22-Nov-2025 23:50:24 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:24 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:24 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:24 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:24 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:24 UTC] 📊 Database Info:
[22-Nov-2025 23:50:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:24 UTC]    Books columns count: 44
[22-Nov-2025 23:50:24 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:24 UTC]    Language field in books: YES
[22-Nov-2025 23:50:24 UTC]    Format field in books: YES
[22-Nov-2025 23:50:24 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:24 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:50:24 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:50:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:24 UTC] 📊 Database Info:
[22-Nov-2025 23:50:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:24 UTC]    Books columns count: 44
[22-Nov-2025 23:50:24 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:24 UTC]    Language field in books: YES
[22-Nov-2025 23:50:24 UTC]    Format field in books: YES
[22-Nov-2025 23:50:24 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:24 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:24 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:24 UTC] 📊 Database Info:
[22-Nov-2025 23:50:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:24 UTC]    Books columns count: 44
[22-Nov-2025 23:50:24 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:24 UTC]    Language field in books: YES
[22-Nov-2025 23:50:24 UTC]    Format field in books: YES
[22-Nov-2025 23:50:24 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:24 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:50:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:24 UTC] 📊 Database Info:
[22-Nov-2025 23:50:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:24 UTC]    Books columns count: 44
[22-Nov-2025 23:50:24 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:24 UTC]    Language field in books: YES
[22-Nov-2025 23:50:24 UTC]    Format field in books: YES
[22-Nov-2025 23:50:24 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:24 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:24 UTC] 📊 Database Info:
[22-Nov-2025 23:50:24 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:24 UTC]    Books columns count: 44
[22-Nov-2025 23:50:24 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:24 UTC]    Language field in books: YES
[22-Nov-2025 23:50:24 UTC]    Format field in books: YES
[22-Nov-2025 23:50:24 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:24 UTC] 📊 Database Info:
[22-Nov-2025 23:50:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:24 UTC]    Books columns count: 44
[22-Nov-2025 23:50:24 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:24 UTC]    Language field in books: YES
[22-Nov-2025 23:50:24 UTC]    Format field in books: YES
[22-Nov-2025 23:50:24 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:24 UTC] 📊 Database Info:
[22-Nov-2025 23:50:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:24 UTC]    Books columns count: 44
[22-Nov-2025 23:50:24 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:24 UTC]    Language field in books: YES
[22-Nov-2025 23:50:24 UTC]    Format field in books: YES
[22-Nov-2025 23:50:24 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:24 UTC] 📊 Database Info:
[22-Nov-2025 23:50:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:24 UTC]    Books columns count: 44
[22-Nov-2025 23:50:24 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:24 UTC]    Language field in books: YES
[22-Nov-2025 23:50:24 UTC]    Format field in books: YES
[22-Nov-2025 23:50:24 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:24 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:24 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:24 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:24 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:24 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:24 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:24 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:28 UTC] 📊 Database Info:
[22-Nov-2025 23:50:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:28 UTC]    Books columns count: 44
[22-Nov-2025 23:50:28 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:28 UTC]    Language field in books: YES
[22-Nov-2025 23:50:28 UTC]    Format field in books: YES
[22-Nov-2025 23:50:28 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:28 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:28 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:50:28 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:50:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:28 UTC] 📊 Database Info:
[22-Nov-2025 23:50:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:28 UTC]    Books columns count: 44
[22-Nov-2025 23:50:28 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:28 UTC]    Language field in books: YES
[22-Nov-2025 23:50:28 UTC]    Format field in books: YES
[22-Nov-2025 23:50:28 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:28 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:28 UTC] 📊 Database Info:
[22-Nov-2025 23:50:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:28 UTC]    Books columns count: 44
[22-Nov-2025 23:50:28 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:28 UTC]    Language field in books: YES
[22-Nov-2025 23:50:28 UTC]    Format field in books: YES
[22-Nov-2025 23:50:28 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:28 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:38 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:38 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:38 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:38 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:38 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:38 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:38 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:38 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:38 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:38 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:39 UTC] 📊 Database Info:
[22-Nov-2025 23:50:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:39 UTC]    Books columns count: 44
[22-Nov-2025 23:50:39 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:39 UTC]    Language field in books: YES
[22-Nov-2025 23:50:39 UTC]    Format field in books: YES
[22-Nov-2025 23:50:39 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:39 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:39 UTC] 📊 Database Info:
[22-Nov-2025 23:50:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:39 UTC]    Books columns count: 44
[22-Nov-2025 23:50:39 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:39 UTC]    Language field in books: YES
[22-Nov-2025 23:50:39 UTC]    Format field in books: YES
[22-Nov-2025 23:50:39 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:39 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:39 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:39 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:39 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:39 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:39 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:39 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:39 UTC] 📊 Database Info:
[22-Nov-2025 23:50:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:39 UTC]    Books columns count: 44
[22-Nov-2025 23:50:39 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:39 UTC]    Language field in books: YES
[22-Nov-2025 23:50:39 UTC]    Format field in books: YES
[22-Nov-2025 23:50:39 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:39 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:39 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:39 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:39 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:39 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:39 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:39 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:39 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:39 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:50:39 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:50:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:44 UTC] 📊 Database Info:
[22-Nov-2025 23:50:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:44 UTC]    Books columns count: 44
[22-Nov-2025 23:50:44 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:44 UTC]    Language field in books: YES
[22-Nov-2025 23:50:44 UTC]    Format field in books: YES
[22-Nov-2025 23:50:44 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:44 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:44 UTC] 📊 Database Info:
[22-Nov-2025 23:50:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:44 UTC]    Books columns count: 44
[22-Nov-2025 23:50:44 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:44 UTC]    Language field in books: YES
[22-Nov-2025 23:50:44 UTC]    Format field in books: YES
[22-Nov-2025 23:50:44 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:44 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:44 UTC] 📊 Database Info:
[22-Nov-2025 23:50:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:44 UTC]    Books columns count: 44
[22-Nov-2025 23:50:44 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:44 UTC]    Language field in books: YES
[22-Nov-2025 23:50:44 UTC]    Format field in books: YES
[22-Nov-2025 23:50:44 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:44 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:44 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:50:44 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:50:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:44 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:44 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:44 UTC] 📊 Database Info:
[22-Nov-2025 23:50:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:44 UTC]    Books columns count: 44
[22-Nov-2025 23:50:44 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:44 UTC]    Language field in books: YES
[22-Nov-2025 23:50:44 UTC]    Format field in books: YES
[22-Nov-2025 23:50:44 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:44 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:44 UTC] 📊 Database Info:
[22-Nov-2025 23:50:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:44 UTC]    Books columns count: 44
[22-Nov-2025 23:50:44 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:44 UTC]    Language field in books: YES
[22-Nov-2025 23:50:44 UTC]    Format field in books: YES
[22-Nov-2025 23:50:44 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:44 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:44 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:44 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:44 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:44 UTC] 📊 Database Info:
[22-Nov-2025 23:50:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:44 UTC]    Books columns count: 44
[22-Nov-2025 23:50:44 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:44 UTC]    Language field in books: YES
[22-Nov-2025 23:50:44 UTC]    Format field in books: YES
[22-Nov-2025 23:50:44 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:44 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:44 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:44 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:44 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:44 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:44 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:44 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:44 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:44 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:44 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:44 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:44 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:50:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:50:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:45 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:50:45 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:45 UTC] 📊 Database Info:
[22-Nov-2025 23:50:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:45 UTC]    Books columns count: 44
[22-Nov-2025 23:50:45 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:45 UTC]    Language field in books: YES
[22-Nov-2025 23:50:45 UTC]    Format field in books: YES
[22-Nov-2025 23:50:45 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:45 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:45 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:45 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:45 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:50:45 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:50:45 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:50:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:45 UTC] 📊 Database Info:
[22-Nov-2025 23:50:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:45 UTC]    Books columns count: 44
[22-Nov-2025 23:50:45 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:45 UTC]    Language field in books: YES
[22-Nov-2025 23:50:45 UTC]    Format field in books: YES
[22-Nov-2025 23:50:45 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:45 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:45 UTC] 📊 Database Info:
[22-Nov-2025 23:50:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:45 UTC]    Books columns count: 44
[22-Nov-2025 23:50:45 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:45 UTC]    Language field in books: YES
[22-Nov-2025 23:50:45 UTC]    Format field in books: YES
[22-Nov-2025 23:50:45 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:45 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:45 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:50:45 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:50:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:45 UTC] 📊 Database Info:
[22-Nov-2025 23:50:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:45 UTC]    Books columns count: 44
[22-Nov-2025 23:50:45 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:45 UTC]    Language field in books: YES
[22-Nov-2025 23:50:45 UTC]    Format field in books: YES
[22-Nov-2025 23:50:45 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:45 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:45 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:45 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:50:45 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:50:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:45 UTC] 📊 Database Info:
[22-Nov-2025 23:50:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:45 UTC]    Books columns count: 44
[22-Nov-2025 23:50:45 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:45 UTC]    Language field in books: YES
[22-Nov-2025 23:50:45 UTC]    Format field in books: YES
[22-Nov-2025 23:50:45 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:45 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:50:45 UTC] 📊 Database Info:
[22-Nov-2025 23:50:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:50:45 UTC]    Books columns count: 44
[22-Nov-2025 23:50:45 UTC]    Categories columns count: 7
[22-Nov-2025 23:50:45 UTC]    Language field in books: YES
[22-Nov-2025 23:50:45 UTC]    Format field in books: YES
[22-Nov-2025 23:50:45 UTC]    Description field in categories: YES
[22-Nov-2025 23:50:45 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:50:45 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:50:45 UTC]    Is_active field in books: YES
[22-Nov-2025 23:50:45 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:50:45 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:50:45 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:50:45 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:50:45 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:50:45 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:50:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:50:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:28 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:28 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:28 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:28 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:28 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:28 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:28 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:28 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:28 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:28 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:28 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:28 UTC] 📊 Database Info:
[22-Nov-2025 23:53:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:28 UTC]    Books columns count: 44
[22-Nov-2025 23:53:28 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:28 UTC]    Language field in books: YES
[22-Nov-2025 23:53:28 UTC]    Format field in books: YES
[22-Nov-2025 23:53:28 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:28 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:28 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:53:28 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:53:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:28 UTC] 📊 Database Info:
[22-Nov-2025 23:53:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:28 UTC]    Books columns count: 44
[22-Nov-2025 23:53:28 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:28 UTC]    Language field in books: YES
[22-Nov-2025 23:53:28 UTC]    Format field in books: YES
[22-Nov-2025 23:53:28 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:28 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:28 UTC] 📊 Database Info:
[22-Nov-2025 23:53:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:28 UTC]    Books columns count: 44
[22-Nov-2025 23:53:28 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:28 UTC]    Language field in books: YES
[22-Nov-2025 23:53:28 UTC]    Format field in books: YES
[22-Nov-2025 23:53:28 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:28 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:29 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:29 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:29 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:29 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:29 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:29 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:29 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:29 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:29 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:29 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:29 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:29 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:29 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:29 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:29 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:29 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:29 UTC] 📊 Database Info:
[22-Nov-2025 23:53:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:29 UTC]    Books columns count: 44
[22-Nov-2025 23:53:29 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:29 UTC]    Language field in books: YES
[22-Nov-2025 23:53:29 UTC]    Format field in books: YES
[22-Nov-2025 23:53:29 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:29 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:29 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:29 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:29 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:29 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:29 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:29 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:29 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:50 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:50 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:50 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:50 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:50 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:50 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:50 UTC] 📊 Database Info:
[22-Nov-2025 23:53:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:50 UTC]    Books columns count: 44
[22-Nov-2025 23:53:50 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:50 UTC]    Language field in books: YES
[22-Nov-2025 23:53:50 UTC]    Format field in books: YES
[22-Nov-2025 23:53:50 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:50 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:50 UTC] 📊 Database Info:
[22-Nov-2025 23:53:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:50 UTC]    Books columns count: 44
[22-Nov-2025 23:53:50 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:50 UTC]    Language field in books: YES
[22-Nov-2025 23:53:50 UTC]    Format field in books: YES
[22-Nov-2025 23:53:50 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:50 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:50 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:53:50 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:53:50 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:50 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:50 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:50 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:50 UTC] 📊 Database Info:
[22-Nov-2025 23:53:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:50 UTC]    Books columns count: 44
[22-Nov-2025 23:53:50 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:50 UTC]    Language field in books: YES
[22-Nov-2025 23:53:50 UTC]    Format field in books: YES
[22-Nov-2025 23:53:50 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:50 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:50 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:50 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:50 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:50 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:50 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:50 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:50 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:54 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:54 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:54 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:54 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:54 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:54 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:54 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:54 UTC] 📊 Database Info:
[22-Nov-2025 23:53:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:54 UTC]    Books columns count: 44
[22-Nov-2025 23:53:54 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:54 UTC]    Language field in books: YES
[22-Nov-2025 23:53:54 UTC]    Format field in books: YES
[22-Nov-2025 23:53:54 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:54 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:54 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:53:54 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:53:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:54 UTC] 📊 Database Info:
[22-Nov-2025 23:53:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:54 UTC]    Books columns count: 44
[22-Nov-2025 23:53:54 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:54 UTC]    Language field in books: YES
[22-Nov-2025 23:53:54 UTC]    Format field in books: YES
[22-Nov-2025 23:53:54 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:54 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:54 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:54 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:54 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:54 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:54 UTC] 📊 Database Info:
[22-Nov-2025 23:53:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:54 UTC]    Books columns count: 44
[22-Nov-2025 23:53:54 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:54 UTC]    Language field in books: YES
[22-Nov-2025 23:53:54 UTC]    Format field in books: YES
[22-Nov-2025 23:53:54 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:54 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:54 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:54 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:54 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:54 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:54 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:54 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:54 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:55 UTC] 📊 Database Info:
[22-Nov-2025 23:53:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:55 UTC]    Books columns count: 44
[22-Nov-2025 23:53:55 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:55 UTC]    Language field in books: YES
[22-Nov-2025 23:53:55 UTC]    Format field in books: YES
[22-Nov-2025 23:53:55 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:55 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:53:55 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:53:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:55 UTC] 📊 Database Info:
[22-Nov-2025 23:53:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:55 UTC]    Books columns count: 44
[22-Nov-2025 23:53:55 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:55 UTC]    Language field in books: YES
[22-Nov-2025 23:53:55 UTC]    Format field in books: YES
[22-Nov-2025 23:53:55 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:53:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:55 UTC] 📊 Database Info:
[22-Nov-2025 23:53:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:55 UTC]    Books columns count: 44
[22-Nov-2025 23:53:55 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:55 UTC]    Language field in books: YES
[22-Nov-2025 23:53:55 UTC]    Format field in books: YES
[22-Nov-2025 23:53:55 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:53:55 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:53:55 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:53:55 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:53:55 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:53:55 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:53:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:55 UTC] 📊 Database Info:
[22-Nov-2025 23:53:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:55 UTC]    Books columns count: 44
[22-Nov-2025 23:53:55 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:55 UTC]    Language field in books: YES
[22-Nov-2025 23:53:55 UTC]    Format field in books: YES
[22-Nov-2025 23:53:55 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:55 UTC] 📊 Database Info:
[22-Nov-2025 23:53:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:55 UTC]    Books columns count: 44
[22-Nov-2025 23:53:55 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:55 UTC]    Language field in books: YES
[22-Nov-2025 23:53:55 UTC]    Format field in books: YES
[22-Nov-2025 23:53:55 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:55 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:55 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:53:55 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:53:55 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:53:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:55 UTC] 📊 Database Info:
[22-Nov-2025 23:53:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:55 UTC]    Books columns count: 44
[22-Nov-2025 23:53:55 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:55 UTC]    Language field in books: YES
[22-Nov-2025 23:53:55 UTC]    Format field in books: YES
[22-Nov-2025 23:53:55 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:55 UTC] 📊 Database Info:
[22-Nov-2025 23:53:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:55 UTC]    Books columns count: 44
[22-Nov-2025 23:53:55 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:55 UTC]    Language field in books: YES
[22-Nov-2025 23:53:55 UTC]    Format field in books: YES
[22-Nov-2025 23:53:55 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:55 UTC] 📊 Database Info:
[22-Nov-2025 23:53:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:55 UTC]    Books columns count: 44
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:55 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:55 UTC]    Language field in books: YES
[22-Nov-2025 23:53:55 UTC]    Format field in books: YES
[22-Nov-2025 23:53:55 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:53:55 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:53:55 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:53:55 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:53:55 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:53:55 UTC] 📊 Database Info:
[22-Nov-2025 23:53:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:53:55 UTC]    Books columns count: 44
[22-Nov-2025 23:53:55 UTC]    Categories columns count: 7
[22-Nov-2025 23:53:55 UTC]    Language field in books: YES
[22-Nov-2025 23:53:55 UTC]    Format field in books: YES
[22-Nov-2025 23:53:55 UTC]    Description field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:53:55 UTC]    Is_active field in books: YES
[22-Nov-2025 23:53:55 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:53:55 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:53:55 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:53:55 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:53:55 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:53:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:53:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:55:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:55:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:55:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:55:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:55:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:55:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:55:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:55:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:55:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:55:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:55:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:55:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:55:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:55:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:55:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:55:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:55:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:55:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:55:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:55:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:55:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:55:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:55:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:55:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:55:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:55:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:55:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:55:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:55:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:55:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:55:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:55:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:55:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:55:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:55:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:55:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:55:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:55:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:55:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:55:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:55:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:55:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:55:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:55:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:55:47 UTC] 📊 Database Info:
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:55:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:55:47 UTC]    Books columns count: 44
[22-Nov-2025 23:55:47 UTC]    Categories columns count: 7
[22-Nov-2025 23:55:47 UTC]    Language field in books: YES
[22-Nov-2025 23:55:47 UTC]    Format field in books: YES
[22-Nov-2025 23:55:47 UTC]    Description field in categories: YES
[22-Nov-2025 23:55:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:55:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:55:47 UTC]    Is_active field in books: YES
[22-Nov-2025 23:55:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:55:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:55:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:55:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:55:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:55:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:55:47 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:55:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:55:47 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:55:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:55:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:55:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:55:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:55:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:55:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:55:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:55:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:55:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:55:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:55:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:55:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:55:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:55:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:55:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:55:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:55:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:55:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:55:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:55:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:55:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:55:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:55:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:55:47 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:55:47 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:55:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:55:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:55:47 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:55:47 UTC] 📊 Database Info:
[22-Nov-2025 23:55:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:55:47 UTC]    Books columns count: 44
[22-Nov-2025 23:55:47 UTC]    Categories columns count: 7
[22-Nov-2025 23:55:47 UTC]    Language field in books: YES
[22-Nov-2025 23:55:47 UTC]    Format field in books: YES
[22-Nov-2025 23:55:47 UTC]    Description field in categories: YES
[22-Nov-2025 23:55:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:55:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:55:47 UTC]    Is_active field in books: YES
[22-Nov-2025 23:55:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:55:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:55:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:55:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:55:47 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:55:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:55:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:55:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:55:47 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:55:47 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:55:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:55:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:55:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:55:47 UTC] 📊 Database Info:
[22-Nov-2025 23:55:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:55:47 UTC]    Books columns count: 44
[22-Nov-2025 23:55:47 UTC]    Categories columns count: 7
[22-Nov-2025 23:55:47 UTC]    Language field in books: YES
[22-Nov-2025 23:55:47 UTC]    Format field in books: YES
[22-Nov-2025 23:55:47 UTC]    Description field in categories: YES
[22-Nov-2025 23:55:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:55:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:55:47 UTC]    Is_active field in books: YES
[22-Nov-2025 23:55:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:55:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:55:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:55:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:55:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:55:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:55:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:55:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:55:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:55:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:55:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:55:47 UTC] 📊 Database Info:
[22-Nov-2025 23:55:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:55:47 UTC]    Books columns count: 44
[22-Nov-2025 23:55:47 UTC]    Categories columns count: 7
[22-Nov-2025 23:55:47 UTC]    Language field in books: YES
[22-Nov-2025 23:55:47 UTC]    Format field in books: YES
[22-Nov-2025 23:55:47 UTC]    Description field in categories: YES
[22-Nov-2025 23:55:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:55:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:55:47 UTC]    Is_active field in books: YES
[22-Nov-2025 23:55:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:55:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:55:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:55:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:55:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:55:47 UTC] 📊 Database Info:
[22-Nov-2025 23:55:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:55:47 UTC]    Books columns count: 44
[22-Nov-2025 23:55:47 UTC]    Categories columns count: 7
[22-Nov-2025 23:55:47 UTC]    Language field in books: YES
[22-Nov-2025 23:55:47 UTC]    Format field in books: YES
[22-Nov-2025 23:55:47 UTC]    Description field in categories: YES
[22-Nov-2025 23:55:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:55:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:55:47 UTC]    Is_active field in books: YES
[22-Nov-2025 23:55:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:55:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:55:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:55:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:55:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:55:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:55:47 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:55:47 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:55:47 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:55:47 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:55:47 UTC] 📊 Database Info:
[22-Nov-2025 23:55:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:55:47 UTC]    Books columns count: 44
[22-Nov-2025 23:55:47 UTC]    Categories columns count: 7
[22-Nov-2025 23:55:47 UTC]    Language field in books: YES
[22-Nov-2025 23:55:47 UTC]    Format field in books: YES
[22-Nov-2025 23:55:47 UTC]    Description field in categories: YES
[22-Nov-2025 23:55:47 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:55:47 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:55:47 UTC]    Is_active field in books: YES
[22-Nov-2025 23:55:47 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:55:47 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:55:47 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:55:47 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:55:47 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:55:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:55:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:55:47 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:55:47 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:55:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:55:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:55:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:55:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:55:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:55:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:55:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:55:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:55:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:55:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:55:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:55:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:55:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:55:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:55:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:55:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:55:48 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:55:48 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:55:48 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:55:48 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:55:48 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:55:48 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:55:48 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:55:48 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:55:48 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:55:48 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:55:48 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:55:48 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:55:48 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:55:48 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:55:48 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:55:48 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:55:48 UTC] 📊 Database Info:
[22-Nov-2025 23:55:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:55:48 UTC]    Books columns count: 44
[22-Nov-2025 23:55:48 UTC]    Categories columns count: 7
[22-Nov-2025 23:55:48 UTC]    Language field in books: YES
[22-Nov-2025 23:55:48 UTC]    Format field in books: YES
[22-Nov-2025 23:55:48 UTC]    Description field in categories: YES
[22-Nov-2025 23:55:48 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:55:48 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:55:48 UTC]    Is_active field in books: YES
[22-Nov-2025 23:55:48 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:55:48 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:55:48 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:55:48 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:55:48 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:55:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:56:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:56:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:56:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:56:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:56:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:56:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:56:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:56:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:56:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:56:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:56:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:56:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:56:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:56:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:56:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:56:14 UTC] 📊 Database Info:
[22-Nov-2025 23:56:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:56:14 UTC]    Books columns count: 44
[22-Nov-2025 23:56:14 UTC]    Categories columns count: 7
[22-Nov-2025 23:56:14 UTC]    Language field in books: YES
[22-Nov-2025 23:56:14 UTC]    Format field in books: YES
[22-Nov-2025 23:56:14 UTC]    Description field in categories: YES
[22-Nov-2025 23:56:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:56:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:56:14 UTC]    Is_active field in books: YES
[22-Nov-2025 23:56:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:56:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:56:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:56:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:56:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:56:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:56:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:56:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:56:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:56:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:56:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:56:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:56:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:56:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:56:14 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:56:14 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:56:14 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:56:14 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:56:14 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:56:14 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:56:14 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:56:14 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:56:14 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:56:14 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:56:14 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:56:14 UTC] 📊 Database Info:
[22-Nov-2025 23:56:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:56:14 UTC]    Books columns count: 44
[22-Nov-2025 23:56:14 UTC]    Categories columns count: 7
[22-Nov-2025 23:56:14 UTC]    Language field in books: YES
[22-Nov-2025 23:56:14 UTC]    Format field in books: YES
[22-Nov-2025 23:56:14 UTC]    Description field in categories: YES
[22-Nov-2025 23:56:14 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:56:14 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:56:14 UTC]    Is_active field in books: YES
[22-Nov-2025 23:56:14 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:56:14 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:56:14 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:56:14 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:56:14 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:56:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:56:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:56:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:56:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:56:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:56:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:56:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:56:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:56:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:56:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:56:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:56:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:56:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:56:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:56:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:56:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:56:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:56:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:56:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:56:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:56:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:56:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:56:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:56:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:56:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:56:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:56:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:56:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:56:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:56:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:56:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:56:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:56:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:56:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:56:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:56:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:56:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:56:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:56:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:56:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:56:33 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:56:33 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:56:33 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:56:33 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:56:33 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:56:33 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:56:33 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:56:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:56:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:56:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:56:33 UTC] 📊 Database Info:
[22-Nov-2025 23:56:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:56:33 UTC]    Books columns count: 44
[22-Nov-2025 23:56:33 UTC]    Categories columns count: 7
[22-Nov-2025 23:56:33 UTC]    Language field in books: YES
[22-Nov-2025 23:56:33 UTC]    Format field in books: YES
[22-Nov-2025 23:56:33 UTC]    Description field in categories: YES
[22-Nov-2025 23:56:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:56:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:56:33 UTC]    Is_active field in books: YES
[22-Nov-2025 23:56:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:56:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:56:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:56:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:56:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:56:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:56:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:56:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:56:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:56:33 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 23:56:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:56:33 UTC] 📊 Database Info:
[22-Nov-2025 23:56:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:56:33 UTC]    Books columns count: 44
[22-Nov-2025 23:56:33 UTC]    Categories columns count: 7
[22-Nov-2025 23:56:33 UTC]    Language field in books: YES
[22-Nov-2025 23:56:33 UTC]    Format field in books: YES
[22-Nov-2025 23:56:33 UTC]    Description field in categories: YES
[22-Nov-2025 23:56:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:56:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:56:33 UTC]    Is_active field in books: YES
[22-Nov-2025 23:56:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:56:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:56:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:56:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:56:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:56:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:56:33 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:56:33 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:56:33 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:56:33 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:56:33 UTC] 📊 Database Info:
[22-Nov-2025 23:56:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:56:33 UTC]    Books columns count: 44
[22-Nov-2025 23:56:33 UTC]    Categories columns count: 7
[22-Nov-2025 23:56:33 UTC]    Language field in books: YES
[22-Nov-2025 23:56:33 UTC]    Format field in books: YES
[22-Nov-2025 23:56:33 UTC]    Description field in categories: YES
[22-Nov-2025 23:56:33 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:56:33 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:56:33 UTC]    Is_active field in books: YES
[22-Nov-2025 23:56:33 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:56:33 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:56:33 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:56:33 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:56:33 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:56:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:56:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:56:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 23:56:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 23:56:33 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 23:57:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:57:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:57:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:57:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:57:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:57:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:57:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:57:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:57:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:57:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:57:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:57:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:57:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:57:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:57:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:57:06 UTC] 📊 Database Info:
[22-Nov-2025 23:57:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:57:06 UTC]    Books columns count: 44
[22-Nov-2025 23:57:06 UTC]    Categories columns count: 7
[22-Nov-2025 23:57:06 UTC]    Language field in books: YES
[22-Nov-2025 23:57:06 UTC]    Format field in books: YES
[22-Nov-2025 23:57:06 UTC]    Description field in categories: YES
[22-Nov-2025 23:57:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:57:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:57:06 UTC]    Is_active field in books: YES
[22-Nov-2025 23:57:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:57:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:57:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:57:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:57:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:57:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:57:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:57:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:57:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:57:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:57:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:57:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:57:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:57:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:57:06 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:57:06 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:57:06 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:57:06 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:57:06 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:57:06 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:57:06 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:57:06 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:57:06 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:57:06 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:57:06 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:57:06 UTC] 📊 Database Info:
[22-Nov-2025 23:57:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:57:06 UTC]    Books columns count: 44
[22-Nov-2025 23:57:06 UTC]    Categories columns count: 7
[22-Nov-2025 23:57:06 UTC]    Language field in books: YES
[22-Nov-2025 23:57:06 UTC]    Format field in books: YES
[22-Nov-2025 23:57:06 UTC]    Description field in categories: YES
[22-Nov-2025 23:57:06 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:57:06 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:57:06 UTC]    Is_active field in books: YES
[22-Nov-2025 23:57:06 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:57:06 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:57:06 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:57:06 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:57:06 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:57:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:57:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:57:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:57:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:57:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:57:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:57:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:57:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:57:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:57:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:57:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:57:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:57:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:57:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:57:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:57:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:57:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:57:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:57:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:57:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:57:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:57:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:57:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:57:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:57:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:57:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:57:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:57:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:57:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:57:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:57:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:57:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:57:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:57:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:57:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:57:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:57:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:57:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:57:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:57:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:57:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:57:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:57:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:57:27 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:57:27 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:57:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:57:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:57:27 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:57:27 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:57:27 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:57:27 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:57:27 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:57:27 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:57:27 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:57:27 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:57:27 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:57:27 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:57:27 UTC] 📊 Database Info:
[22-Nov-2025 23:57:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:57:27 UTC]    Books columns count: 44
[22-Nov-2025 23:57:27 UTC]    Categories columns count: 7
[22-Nov-2025 23:57:27 UTC]    Language field in books: YES
[22-Nov-2025 23:57:27 UTC]    Format field in books: YES
[22-Nov-2025 23:57:27 UTC]    Description field in categories: YES
[22-Nov-2025 23:57:27 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:57:27 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:57:27 UTC]    Is_active field in books: YES
[22-Nov-2025 23:57:27 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:57:27 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:57:27 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:57:27 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:57:27 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:57:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:57:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:57:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:57:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:57:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:57:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:57:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:57:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:57:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:57:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:57:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:57:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:57:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:57:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 23:57:27 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 23:57:27 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 23:57:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:57:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:57:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:57:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:57:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:57:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:57:28 UTC] 📊 Database Info:
[22-Nov-2025 23:57:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:57:28 UTC]    Books columns count: 44
[22-Nov-2025 23:57:28 UTC]    Categories columns count: 7
[22-Nov-2025 23:57:28 UTC]    Language field in books: YES
[22-Nov-2025 23:57:28 UTC]    Format field in books: YES
[22-Nov-2025 23:57:28 UTC]    Description field in categories: YES
[22-Nov-2025 23:57:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:57:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:57:28 UTC]    Is_active field in books: YES
[22-Nov-2025 23:57:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:57:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:57:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:57:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:57:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:57:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:57:28 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 23:57:28 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 23:57:28 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:57:28 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:57:28 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:57:28 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:57:28 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:57:28 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:57:28 UTC] 📊 Database Info:
[22-Nov-2025 23:57:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:57:28 UTC]    Books columns count: 44
[22-Nov-2025 23:57:28 UTC]    Categories columns count: 7
[22-Nov-2025 23:57:28 UTC]    Language field in books: YES
[22-Nov-2025 23:57:28 UTC]    Format field in books: YES
[22-Nov-2025 23:57:28 UTC]    Description field in categories: YES
[22-Nov-2025 23:57:28 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:57:28 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:57:28 UTC]    Is_active field in books: YES
[22-Nov-2025 23:57:28 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:57:28 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:57:28 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:57:28 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:57:28 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:57:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:57:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:57:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:57:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:57:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:57:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:57:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:57:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:57:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:57:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:57:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:57:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:57:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:57:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:57:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:57:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:57:51 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:57:51 UTC] 📊 Database Info:
[22-Nov-2025 23:57:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:57:51 UTC]    Books columns count: 44
[22-Nov-2025 23:57:51 UTC]    Categories columns count: 7
[22-Nov-2025 23:57:51 UTC]    Language field in books: YES
[22-Nov-2025 23:57:51 UTC]    Format field in books: YES
[22-Nov-2025 23:57:51 UTC]    Description field in categories: YES
[22-Nov-2025 23:57:51 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:57:51 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:57:51 UTC]    Is_active field in books: YES
[22-Nov-2025 23:57:51 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:57:51 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:57:51 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:57:51 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:57:51 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:57:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:57:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:57:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:57:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:57:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:57:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:57:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:57:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:57:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:57:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:57:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:57:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:57:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:57:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:57:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:57:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:57:51 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:57:51 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:57:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:57:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:57:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:57:51 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:57:51 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:57:51 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:57:51 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:57:51 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:57:51 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:57:51 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:57:51 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:57:52 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:57:52 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:57:52 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:57:52 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:57:52 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:57:52 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:57:52 UTC] 📊 Database Info:
[22-Nov-2025 23:57:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:57:52 UTC]    Books columns count: 44
[22-Nov-2025 23:57:52 UTC]    Categories columns count: 7
[22-Nov-2025 23:57:52 UTC]    Language field in books: YES
[22-Nov-2025 23:57:52 UTC]    Format field in books: YES
[22-Nov-2025 23:57:52 UTC]    Description field in categories: YES
[22-Nov-2025 23:57:52 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:57:52 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:57:52 UTC]    Is_active field in books: YES
[22-Nov-2025 23:57:52 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:57:52 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:57:52 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:57:52 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:57:52 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:57:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:58:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:58:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:58:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:58:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:58:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:58:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:58:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:58:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:58:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:58:08 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:58:08 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:58:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:08 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:08 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:08 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:08 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:08 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:08 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:08 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:08 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:08 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:08 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:58:08 UTC] 📊 Database Info:
[22-Nov-2025 23:58:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:58:08 UTC]    Books columns count: 44
[22-Nov-2025 23:58:08 UTC]    Categories columns count: 7
[22-Nov-2025 23:58:08 UTC]    Language field in books: YES
[22-Nov-2025 23:58:08 UTC]    Format field in books: YES
[22-Nov-2025 23:58:08 UTC]    Description field in categories: YES
[22-Nov-2025 23:58:08 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:58:08 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:58:08 UTC]    Is_active field in books: YES
[22-Nov-2025 23:58:08 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:58:08 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:58:08 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:58:08 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:58:08 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:58:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:58:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:58:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:09 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:09 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:09 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:09 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:09 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:58:09 UTC] 📊 Database Info:
[22-Nov-2025 23:58:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:58:09 UTC]    Books columns count: 44
[22-Nov-2025 23:58:09 UTC]    Categories columns count: 7
[22-Nov-2025 23:58:09 UTC]    Language field in books: YES
[22-Nov-2025 23:58:09 UTC]    Format field in books: YES
[22-Nov-2025 23:58:09 UTC]    Description field in categories: YES
[22-Nov-2025 23:58:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:58:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:58:09 UTC]    Is_active field in books: YES
[22-Nov-2025 23:58:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:58:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:58:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:58:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:58:09 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:58:09 UTC] 📊 Database Info:
[22-Nov-2025 23:58:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:58:09 UTC]    Books columns count: 44
[22-Nov-2025 23:58:09 UTC]    Categories columns count: 7
[22-Nov-2025 23:58:09 UTC]    Language field in books: YES
[22-Nov-2025 23:58:09 UTC]    Format field in books: YES
[22-Nov-2025 23:58:09 UTC]    Description field in categories: YES
[22-Nov-2025 23:58:09 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:58:09 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:58:09 UTC]    Is_active field in books: YES
[22-Nov-2025 23:58:09 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:58:09 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:58:09 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:58:09 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:58:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:58:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:58:09 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:58:09 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:58:09 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:58:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:58:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:58:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:58:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:58:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:18 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:58:18 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:58:18 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:18 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:18 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:18 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:18 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:18 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:18 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:18 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:18 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:18 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:18 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:18 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:18 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:18 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:58:18 UTC] 📊 Database Info:
[22-Nov-2025 23:58:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:58:18 UTC]    Books columns count: 44
[22-Nov-2025 23:58:18 UTC]    Categories columns count: 7
[22-Nov-2025 23:58:18 UTC]    Language field in books: YES
[22-Nov-2025 23:58:18 UTC]    Format field in books: YES
[22-Nov-2025 23:58:18 UTC]    Description field in categories: YES
[22-Nov-2025 23:58:18 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:58:18 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:58:18 UTC]    Is_active field in books: YES
[22-Nov-2025 23:58:18 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:58:18 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:58:18 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:58:18 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:58:18 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:58:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:58:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:58:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:58:19 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:19 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:19 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:19 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:19 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:19 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:19 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:19 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:58:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:58:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:58:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:58:20 UTC] 📊 Database Info:
[22-Nov-2025 23:58:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:58:20 UTC]    Books columns count: 44
[22-Nov-2025 23:58:20 UTC]    Categories columns count: 7
[22-Nov-2025 23:58:20 UTC]    Language field in books: YES
[22-Nov-2025 23:58:20 UTC]    Format field in books: YES
[22-Nov-2025 23:58:20 UTC]    Description field in categories: YES
[22-Nov-2025 23:58:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:58:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:58:20 UTC]    Is_active field in books: YES
[22-Nov-2025 23:58:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:58:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:58:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:58:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:58:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:58:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:58:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:58:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:58:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:20 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:58:20 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:58:20 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:20 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:20 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:20 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:20 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:20 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:20 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:20 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:20 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:58:20 UTC] 📊 Database Info:
[22-Nov-2025 23:58:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:58:20 UTC]    Books columns count: 44
[22-Nov-2025 23:58:20 UTC]    Categories columns count: 7
[22-Nov-2025 23:58:20 UTC]    Language field in books: YES
[22-Nov-2025 23:58:20 UTC]    Format field in books: YES
[22-Nov-2025 23:58:20 UTC]    Description field in categories: YES
[22-Nov-2025 23:58:20 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:58:20 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:58:20 UTC]    Is_active field in books: YES
[22-Nov-2025 23:58:20 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:58:20 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:58:20 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:58:20 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:58:20 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:58:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:58:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:58:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:58:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:36 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:58:36 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:58:36 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:36 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:36 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:36 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:36 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:36 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:36 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:36 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:36 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:36 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:36 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:36 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:36 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:36 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:58:36 UTC] 📊 Database Info:
[22-Nov-2025 23:58:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:58:36 UTC]    Books columns count: 44
[22-Nov-2025 23:58:36 UTC]    Categories columns count: 7
[22-Nov-2025 23:58:36 UTC]    Language field in books: YES
[22-Nov-2025 23:58:36 UTC]    Format field in books: YES
[22-Nov-2025 23:58:36 UTC]    Description field in categories: YES
[22-Nov-2025 23:58:36 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:58:36 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:58:36 UTC]    Is_active field in books: YES
[22-Nov-2025 23:58:36 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:58:36 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:58:36 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:58:36 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:58:36 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:58:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:58:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:58:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:58:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:58:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:58:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:58:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:58:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:58:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:58:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:58:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:58:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:58:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:58:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:58:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:58:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:58:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:58:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:58:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:58:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:58:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:58:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:58:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:58:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:57 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:58:57 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:57 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:57 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:57 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:58:57 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:58:57 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:58:57 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:58:57 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:58:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:58:57 UTC] 📊 Database Info:
[22-Nov-2025 23:58:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:58:57 UTC]    Books columns count: 44
[22-Nov-2025 23:58:57 UTC]    Categories columns count: 7
[22-Nov-2025 23:58:57 UTC]    Language field in books: YES
[22-Nov-2025 23:58:57 UTC]    Format field in books: YES
[22-Nov-2025 23:58:57 UTC]    Description field in categories: YES
[22-Nov-2025 23:58:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:58:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:58:57 UTC]    Is_active field in books: YES
[22-Nov-2025 23:58:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:58:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:58:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:58:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:58:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:58:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:58:57 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[22-Nov-2025 23:58:57 UTC] ✅ إرجاع 2 تصنيف
[22-Nov-2025 23:58:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:58:57 UTC] 📊 Database Info:
[22-Nov-2025 23:58:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:58:57 UTC]    Books columns count: 44
[22-Nov-2025 23:58:57 UTC]    Categories columns count: 7
[22-Nov-2025 23:58:57 UTC]    Language field in books: YES
[22-Nov-2025 23:58:57 UTC]    Format field in books: YES
[22-Nov-2025 23:58:57 UTC]    Description field in categories: YES
[22-Nov-2025 23:58:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:58:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:58:57 UTC]    Is_active field in books: YES
[22-Nov-2025 23:58:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:58:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:58:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:58:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:58:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:58:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:58:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[22-Nov-2025 23:58:57 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[22-Nov-2025 23:58:57 UTC] ✅ إرجاع 0 تصنيف بروفايل
[22-Nov-2025 23:58:57 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:58:57 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:58:57 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:58:57 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:58:57 UTC] 📊 Database Info:
[22-Nov-2025 23:58:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:58:57 UTC]    Books columns count: 44
[22-Nov-2025 23:58:57 UTC]    Categories columns count: 7
[22-Nov-2025 23:58:57 UTC]    Language field in books: YES
[22-Nov-2025 23:58:57 UTC]    Format field in books: YES
[22-Nov-2025 23:58:57 UTC]    Description field in categories: YES
[22-Nov-2025 23:58:57 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:58:57 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:58:57 UTC]    Is_active field in books: YES
[22-Nov-2025 23:58:57 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:58:57 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:58:57 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:58:57 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:58:57 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:58:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:58:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:59:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:59:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:59:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:59:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:59:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:59:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:59:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:59:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:59:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:59:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:59:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:59:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:59:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:59:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:59:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:59:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:59:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:59:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:59:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:59:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:59:22 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:59:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:59:22 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:59:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:59:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:59:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:59:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:59:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:59:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:59:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:59:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:59:22 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:59:22 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:59:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:59:22 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:59:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:59:22 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:59:22 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:59:22 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:59:22 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:59:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:59:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:59:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:59:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:59:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:59:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:59:23 UTC] 📊 Database Info:
[22-Nov-2025 23:59:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:59:23 UTC]    Books columns count: 44
[22-Nov-2025 23:59:23 UTC]    Categories columns count: 7
[22-Nov-2025 23:59:23 UTC]    Language field in books: YES
[22-Nov-2025 23:59:23 UTC]    Format field in books: YES
[22-Nov-2025 23:59:23 UTC]    Description field in categories: YES
[22-Nov-2025 23:59:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:59:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:59:23 UTC]    Is_active field in books: YES
[22-Nov-2025 23:59:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:59:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:59:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:59:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:59:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:59:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:59:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:59:23 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:59:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:59:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:59:23 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:59:23 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:59:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:59:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:59:23 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:59:23 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:59:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:59:23 UTC] 📊 Database Info:
[22-Nov-2025 23:59:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:59:23 UTC]    Books columns count: 44
[22-Nov-2025 23:59:23 UTC]    Categories columns count: 7
[22-Nov-2025 23:59:23 UTC]    Language field in books: YES
[22-Nov-2025 23:59:23 UTC]    Format field in books: YES
[22-Nov-2025 23:59:23 UTC]    Description field in categories: YES
[22-Nov-2025 23:59:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:59:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:59:23 UTC]    Is_active field in books: YES
[22-Nov-2025 23:59:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:59:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:59:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:59:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:59:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:59:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:59:23 UTC] 📁 جلب التصنيفات النشطة فقط
[22-Nov-2025 23:59:23 UTC] ✅ إرجاع 2 تصنيف نشط
[22-Nov-2025 23:59:23 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:59:23 UTC] 📊 Database Info:
[22-Nov-2025 23:59:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:59:23 UTC]    Books columns count: 44
[22-Nov-2025 23:59:23 UTC]    Categories columns count: 7
[22-Nov-2025 23:59:23 UTC]    Language field in books: YES
[22-Nov-2025 23:59:23 UTC]    Format field in books: YES
[22-Nov-2025 23:59:23 UTC]    Description field in categories: YES
[22-Nov-2025 23:59:23 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:59:23 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:59:23 UTC]    Is_active field in books: YES
[22-Nov-2025 23:59:23 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:59:23 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:59:23 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:59:23 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:59:23 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:59:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:59:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[22-Nov-2025 23:59:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[22-Nov-2025 23:59:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:59:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:59:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:59:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:59:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:59:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:59:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:59:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:59:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:59:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:59:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:59:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:59:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[22-Nov-2025 23:59:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:59:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[22-Nov-2025 23:59:31 UTC] ⚠️ Missing columns detected: description, display_order
[22-Nov-2025 23:59:31 UTC] 🔄 Attempting to add missing columns...
[22-Nov-2025 23:59:31 UTC] ℹ️ Column institution already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column publication_year already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column keywords already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column selected_pages_summary already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column selected_pages_toc already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column selected_pages_original already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column is_protected already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column protection_key already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column show_read_button already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column read_button_text already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column is_external_plus already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column custom_file_size already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column show_file_size already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column taille_before_extrait already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column show_download_extrait_button already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column download_extrait_button_text already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column original_pdf_url already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column download_count already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column stockage already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column language already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column format already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column external_download_link already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column show_external_download_button already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column external_download_protection_key already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column is_external_download_protected already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column is_active already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column description already exists in categories
[22-Nov-2025 23:59:31 UTC] ℹ️ Column display_order already exists in categories
[22-Nov-2025 23:59:31 UTC] ℹ️ Column is_active already exists in categories
[22-Nov-2025 23:59:31 UTC] ℹ️ Column show_welcome_section already exists
[22-Nov-2025 23:59:31 UTC] ℹ️ Column company_address already exists
[22-Nov-2025 23:59:31 UTC] ✅ Updated existing books with original_pdf_url
[22-Nov-2025 23:59:31 UTC] ✅ Updated existing books with is_active = TRUE
[22-Nov-2025 23:59:31 UTC] ✅ Updated existing categories with new fields
[22-Nov-2025 23:59:31 UTC] ✅ Default screen texts inserted successfully
[22-Nov-2025 23:59:31 UTC] ✅ Updated existing books with empty language field
[22-Nov-2025 23:59:31 UTC] ✅ Updated existing books with empty format field
[22-Nov-2025 23:59:31 UTC] ✅ Updated existing books with default external download link and protection values
[22-Nov-2025 23:59:31 UTC] ✅ Database tables created/updated successfully with all new fields
[22-Nov-2025 23:59:31 UTC] ℹ️ Favorites table not available for inspection
[22-Nov-2025 23:59:31 UTC] 📊 Database Info:
[22-Nov-2025 23:59:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[22-Nov-2025 23:59:31 UTC]    Books columns count: 44
[22-Nov-2025 23:59:31 UTC]    Categories columns count: 7
[22-Nov-2025 23:59:31 UTC]    Language field in books: YES
[22-Nov-2025 23:59:31 UTC]    Format field in books: YES
[22-Nov-2025 23:59:31 UTC]    Description field in categories: YES
[22-Nov-2025 23:59:31 UTC]    Display_order field in categories: YES
[22-Nov-2025 23:59:31 UTC]    Is_active field in categories: YES
[22-Nov-2025 23:59:31 UTC]    Is_active field in books: YES
[22-Nov-2025 23:59:31 UTC]    External_download_link field in books: YES
[22-Nov-2025 23:59:31 UTC]    Show_external_download_button field in books: YES
[22-Nov-2025 23:59:31 UTC]    External_download_protection_key field in books: YES
[22-Nov-2025 23:59:31 UTC]    Is_external_download_protected field in books: YES
[22-Nov-2025 23:59:31 UTC] ℹ️ Database is already at version 23
[22-Nov-2025 23:59:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[22-Nov-2025 23:59:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[22-Nov-2025 23:59:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[22-Nov-2025 23:59:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[22-Nov-2025 23:59:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[22-Nov-2025 23:59:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[22-Nov-2025 23:59:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[22-Nov-2025 23:59:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[22-Nov-2025 23:59:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[22-Nov-2025 23:59:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[22-Nov-2025 23:59:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[22-Nov-2025 23:59:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[22-Nov-2025 23:59:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:00 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:00 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:01 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:01 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:01 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:01 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:01 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:01 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:01 UTC] 📊 Database Info:
[23-Nov-2025 00:00:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:01 UTC]    Books columns count: 44
[23-Nov-2025 00:00:01 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:01 UTC]    Language field in books: YES
[23-Nov-2025 00:00:01 UTC]    Format field in books: YES
[23-Nov-2025 00:00:01 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:01 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:01 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:01 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:01 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:01 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:01 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:01 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:01 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:01 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:01 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:01 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:01 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:01 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:01 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:01 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:01 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:01 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:01 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:01 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:01 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:01 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:01 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:01 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:01 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:01 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:01 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:01 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:01 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:01 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:01 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:01 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:01 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:01 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:01 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:01 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:01 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:01 UTC] 📊 Database Info:
[23-Nov-2025 00:00:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:01 UTC]    Books columns count: 44
[23-Nov-2025 00:00:01 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:01 UTC]    Language field in books: YES
[23-Nov-2025 00:00:01 UTC]    Format field in books: YES
[23-Nov-2025 00:00:01 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:01 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:01 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:01 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:01 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:01 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:01 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:01 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:01 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:05 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:05 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:05 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:05 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:05 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:05 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:05 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:05 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:05 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:05 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:05 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:05 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:05 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:05 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:05 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:05 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:05 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:05 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:05 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:05 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:05 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:05 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:05 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:05 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:05 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:05 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:05 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:05 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:05 UTC] 📊 Database Info:
[23-Nov-2025 00:00:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:05 UTC]    Books columns count: 44
[23-Nov-2025 00:00:05 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:05 UTC]    Language field in books: YES
[23-Nov-2025 00:00:05 UTC]    Format field in books: YES
[23-Nov-2025 00:00:05 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:05 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:05 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:05 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:05 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:05 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:05 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:05 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:05 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:16 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:16 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:16 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:16 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:16 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:16 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:16 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:16 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:16 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:16 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:16 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:16 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:16 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:16 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:16 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:16 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:16 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:16 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:16 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:16 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:16 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:16 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:16 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:16 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:16 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:16 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:16 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:16 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:16 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:16 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:16 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:16 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:16 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:16 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:16 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:16 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:16 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:16 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:17 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:17 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:17 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:17 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:17 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:17 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:17 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:17 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:17 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:17 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:17 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:17 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:17 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:17 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:17 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:17 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:17 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:17 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:17 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:17 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:17 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:17 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:17 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:17 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:17 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:17 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:17 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:17 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:17 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:17 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:17 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:17 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:17 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:17 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:17 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:17 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:17 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:17 UTC] 📊 Database Info:
[23-Nov-2025 00:00:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:17 UTC]    Books columns count: 44
[23-Nov-2025 00:00:17 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:17 UTC]    Language field in books: YES
[23-Nov-2025 00:00:17 UTC]    Format field in books: YES
[23-Nov-2025 00:00:17 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:17 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:17 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:17 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:17 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:17 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:17 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:17 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:17 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:17 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:17 UTC] 📊 Database Info:
[23-Nov-2025 00:00:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:17 UTC]    Books columns count: 44
[23-Nov-2025 00:00:17 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:17 UTC]    Language field in books: YES
[23-Nov-2025 00:00:17 UTC]    Format field in books: YES
[23-Nov-2025 00:00:17 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:17 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:17 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:17 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:17 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:17 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:17 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:17 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:17 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:17 UTC] 📊 Database Info:
[23-Nov-2025 00:00:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:17 UTC]    Books columns count: 44
[23-Nov-2025 00:00:17 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:17 UTC]    Language field in books: YES
[23-Nov-2025 00:00:17 UTC]    Format field in books: YES
[23-Nov-2025 00:00:17 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:17 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:17 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:17 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:17 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:17 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:17 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:17 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:17 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:17 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 00:00:17 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:17 UTC] 📊 Database Info:
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:17 UTC]    Books columns count: 44
[23-Nov-2025 00:00:17 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:17 UTC]    Language field in books: YES
[23-Nov-2025 00:00:17 UTC]    Format field in books: YES
[23-Nov-2025 00:00:17 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:17 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:17 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:17 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:17 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:17 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:17 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:17 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:17 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:17 UTC] 📊 Database Info:
[23-Nov-2025 00:00:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:17 UTC]    Books columns count: 44
[23-Nov-2025 00:00:17 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:17 UTC]    Language field in books: YES
[23-Nov-2025 00:00:17 UTC]    Format field in books: YES
[23-Nov-2025 00:00:17 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:17 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:17 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:17 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:17 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:17 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:17 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:17 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:17 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:17 UTC] 📊 Database Info:
[23-Nov-2025 00:00:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:17 UTC]    Books columns count: 44
[23-Nov-2025 00:00:17 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:17 UTC]    Language field in books: YES
[23-Nov-2025 00:00:17 UTC]    Format field in books: YES
[23-Nov-2025 00:00:17 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:17 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:17 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:17 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:17 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:17 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:17 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:17 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:17 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:17 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:17 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:20 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:20 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:20 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:20 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:20 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:20 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:20 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:20 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:20 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:20 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:20 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:20 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:20 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:20 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:20 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:20 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:20 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:20 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:20 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:20 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:20 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:20 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:20 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:20 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:20 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:20 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:20 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:20 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:20 UTC] 📊 Database Info:
[23-Nov-2025 00:00:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:20 UTC]    Books columns count: 44
[23-Nov-2025 00:00:20 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:20 UTC]    Language field in books: YES
[23-Nov-2025 00:00:20 UTC]    Format field in books: YES
[23-Nov-2025 00:00:20 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:20 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:20 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:20 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:20 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:20 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:20 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:20 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:20 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:38 UTC] 📊 Database Info:
[23-Nov-2025 00:00:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:38 UTC]    Books columns count: 44
[23-Nov-2025 00:00:38 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:38 UTC]    Language field in books: YES
[23-Nov-2025 00:00:38 UTC]    Format field in books: YES
[23-Nov-2025 00:00:38 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 00:00:38 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 00:00:38 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 00:00:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:38 UTC] 📊 Database Info:
[23-Nov-2025 00:00:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:38 UTC]    Books columns count: 44
[23-Nov-2025 00:00:38 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:38 UTC]    Language field in books: YES
[23-Nov-2025 00:00:38 UTC]    Format field in books: YES
[23-Nov-2025 00:00:38 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:38 UTC] 📊 Database Info:
[23-Nov-2025 00:00:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:38 UTC]    Books columns count: 44
[23-Nov-2025 00:00:38 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:38 UTC]    Language field in books: YES
[23-Nov-2025 00:00:38 UTC]    Format field in books: YES
[23-Nov-2025 00:00:38 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 00:00:38 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 00:00:38 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 00:00:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:38 UTC] 📊 Database Info:
[23-Nov-2025 00:00:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:38 UTC]    Books columns count: 44
[23-Nov-2025 00:00:38 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:38 UTC]    Language field in books: YES
[23-Nov-2025 00:00:38 UTC]    Format field in books: YES
[23-Nov-2025 00:00:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:38 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:38 UTC] 📊 Database Info:
[23-Nov-2025 00:00:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:38 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:38 UTC]    Books columns count: 44
[23-Nov-2025 00:00:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:38 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:38 UTC]    Language field in books: YES
[23-Nov-2025 00:00:38 UTC]    Format field in books: YES
[23-Nov-2025 00:00:38 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:38 UTC] 📊 Database Info:
[23-Nov-2025 00:00:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:38 UTC]    Books columns count: 44
[23-Nov-2025 00:00:38 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:38 UTC]    Language field in books: YES
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:38 UTC]    Format field in books: YES
[23-Nov-2025 00:00:38 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:38 UTC] 📊 Database Info:
[23-Nov-2025 00:00:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:38 UTC]    Books columns count: 44
[23-Nov-2025 00:00:38 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:38 UTC]    Language field in books: YES
[23-Nov-2025 00:00:38 UTC]    Format field in books: YES
[23-Nov-2025 00:00:38 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:38 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 00:00:38 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 00:00:38 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 00:00:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:39 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:39 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:39 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:39 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:39 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:39 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:39 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:39 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:39 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:39 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:39 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:39 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:39 UTC] 📊 Database Info:
[23-Nov-2025 00:00:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:39 UTC]    Books columns count: 44
[23-Nov-2025 00:00:39 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:39 UTC]    Language field in books: YES
[23-Nov-2025 00:00:39 UTC]    Format field in books: YES
[23-Nov-2025 00:00:39 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:39 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:39 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:39 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:39 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:39 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:39 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:39 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:39 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:39 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:39 UTC] 📊 Database Info:
[23-Nov-2025 00:00:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:39 UTC]    Books columns count: 44
[23-Nov-2025 00:00:39 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:39 UTC]    Language field in books: YES
[23-Nov-2025 00:00:39 UTC]    Format field in books: YES
[23-Nov-2025 00:00:39 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:39 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:39 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:39 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:39 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:39 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:39 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:39 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:39 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:39 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 00:00:39 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 00:00:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:39 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:39 UTC] 📊 Database Info:
[23-Nov-2025 00:00:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:39 UTC]    Books columns count: 44
[23-Nov-2025 00:00:39 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:39 UTC]    Language field in books: YES
[23-Nov-2025 00:00:39 UTC]    Format field in books: YES
[23-Nov-2025 00:00:39 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:39 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:39 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:39 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:39 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:39 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:39 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:39 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:39 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:39 UTC] 📊 Database Info:
[23-Nov-2025 00:00:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:39 UTC]    Books columns count: 44
[23-Nov-2025 00:00:39 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:39 UTC]    Language field in books: YES
[23-Nov-2025 00:00:39 UTC]    Format field in books: YES
[23-Nov-2025 00:00:39 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:39 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:39 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:39 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:39 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:39 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:39 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:39 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:39 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:39 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:39 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 00:00:39 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 00:00:39 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:39 UTC] 📊 Database Info:
[23-Nov-2025 00:00:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:39 UTC]    Books columns count: 44
[23-Nov-2025 00:00:39 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:39 UTC]    Language field in books: YES
[23-Nov-2025 00:00:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:39 UTC]    Format field in books: YES
[23-Nov-2025 00:00:39 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:39 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:39 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:39 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:39 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:39 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:39 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:39 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:39 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:39 UTC] 📊 Database Info:
[23-Nov-2025 00:00:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:39 UTC]    Books columns count: 44
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:39 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:39 UTC]    Language field in books: YES
[23-Nov-2025 00:00:39 UTC]    Format field in books: YES
[23-Nov-2025 00:00:39 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:39 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:39 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:39 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:39 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:39 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:39 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:39 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:00:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:00:41 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:41 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:41 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:41 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:41 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:41 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:41 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:41 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:41 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:41 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:41 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:41 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:00:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:00:41 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:00:41 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:00:41 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:00:41 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:00:41 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:00:41 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:00:41 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:00:41 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:00:41 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:00:41 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:00:41 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:00:41 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:00:41 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:00:41 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:00:41 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:00:41 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:00:41 UTC] 📊 Database Info:
[23-Nov-2025 00:00:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:00:41 UTC]    Books columns count: 44
[23-Nov-2025 00:00:41 UTC]    Categories columns count: 7
[23-Nov-2025 00:00:41 UTC]    Language field in books: YES
[23-Nov-2025 00:00:41 UTC]    Format field in books: YES
[23-Nov-2025 00:00:41 UTC]    Description field in categories: YES
[23-Nov-2025 00:00:41 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:00:41 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:00:41 UTC]    Is_active field in books: YES
[23-Nov-2025 00:00:41 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:00:41 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:00:41 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:00:41 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:00:41 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:00:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:00:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:00:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:00:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:00:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:00:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:00:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:00:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:00:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:00:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:00:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:00:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:00:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:01:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:01:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:01:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:01:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:01:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:01:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:01:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:01:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:01:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:01:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:01:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:01:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:01:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:01:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:01:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:01:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:01:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:01:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:01:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:01:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:01:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:01:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:01:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:01:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:01:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:01:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:01:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:01:02 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:01:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:01:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:01:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:01:02 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:01:02 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:01:02 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:01:02 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:01:02 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:01:02 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:01:02 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:01:02 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:01:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:01:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:01:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:01:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:01:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:01:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:01:02 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:01:02 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:01:02 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:01:02 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:01:02 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:01:02 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:01:02 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:01:02 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:01:02 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:01:02 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:01:02 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:01:02 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:01:02 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:01:02 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:01:02 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:01:02 UTC] 📊 Database Info:
[23-Nov-2025 00:01:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:01:02 UTC]    Books columns count: 44
[23-Nov-2025 00:01:02 UTC]    Categories columns count: 7
[23-Nov-2025 00:01:02 UTC]    Language field in books: YES
[23-Nov-2025 00:01:02 UTC]    Format field in books: YES
[23-Nov-2025 00:01:02 UTC]    Description field in categories: YES
[23-Nov-2025 00:01:02 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:01:02 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:01:02 UTC]    Is_active field in books: YES
[23-Nov-2025 00:01:02 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:01:02 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:01:02 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:01:02 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:01:02 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:01:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:01:02 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:01:02 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:01:02 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:01:02 UTC] 📊 Database Info:
[23-Nov-2025 00:01:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:01:02 UTC]    Books columns count: 44
[23-Nov-2025 00:01:02 UTC]    Categories columns count: 7
[23-Nov-2025 00:01:02 UTC]    Language field in books: YES
[23-Nov-2025 00:01:02 UTC]    Format field in books: YES
[23-Nov-2025 00:01:02 UTC]    Description field in categories: YES
[23-Nov-2025 00:01:02 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:01:02 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:01:02 UTC]    Is_active field in books: YES
[23-Nov-2025 00:01:02 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:01:02 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:01:02 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:01:02 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:01:02 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:01:02 UTC] 📊 Database Info:
[23-Nov-2025 00:01:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:01:02 UTC]    Books columns count: 44
[23-Nov-2025 00:01:02 UTC]    Categories columns count: 7
[23-Nov-2025 00:01:02 UTC]    Language field in books: YES
[23-Nov-2025 00:01:02 UTC]    Format field in books: YES
[23-Nov-2025 00:01:02 UTC]    Description field in categories: YES
[23-Nov-2025 00:01:02 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:01:02 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:01:02 UTC]    Is_active field in books: YES
[23-Nov-2025 00:01:02 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:01:02 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:01:02 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:01:02 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:01:02 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:01:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:01:02 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:01:02 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 00:01:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:01:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:01:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 00:01:02 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 00:01:02 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 00:01:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:01:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:01:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:01:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:01:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:01:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:01:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:01:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:01:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:01:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:01:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:01:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:01:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:01:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:01:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:01:09 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:01:09 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:01:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:01:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:01:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:01:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:01:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:01:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:01:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:01:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:01:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:01:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:01:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:01:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:01:09 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:01:09 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:01:09 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:01:09 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:01:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:01:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:01:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:01:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:01:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:01:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:01:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:01:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:01:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:01:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:01:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:01:09 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:01:09 UTC] 📊 Database Info:
[23-Nov-2025 00:01:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:01:09 UTC]    Books columns count: 44
[23-Nov-2025 00:01:09 UTC]    Categories columns count: 7
[23-Nov-2025 00:01:09 UTC]    Language field in books: YES
[23-Nov-2025 00:01:09 UTC]    Format field in books: YES
[23-Nov-2025 00:01:09 UTC]    Description field in categories: YES
[23-Nov-2025 00:01:09 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:01:09 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:01:09 UTC]    Is_active field in books: YES
[23-Nov-2025 00:01:09 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:01:09 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:01:09 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:01:09 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:01:09 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:01:09 UTC] 📊 Database Info:
[23-Nov-2025 00:01:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:01:09 UTC]    Books columns count: 44
[23-Nov-2025 00:01:09 UTC]    Categories columns count: 7
[23-Nov-2025 00:01:09 UTC]    Language field in books: YES
[23-Nov-2025 00:01:09 UTC]    Format field in books: YES
[23-Nov-2025 00:01:09 UTC]    Description field in categories: YES
[23-Nov-2025 00:01:09 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:01:09 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:01:09 UTC]    Is_active field in books: YES
[23-Nov-2025 00:01:09 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:01:09 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:01:09 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:01:09 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:01:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:01:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:01:09 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 00:01:09 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 00:01:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:01:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:01:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:01:09 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:01:09 UTC] 📊 Database Info:
[23-Nov-2025 00:01:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:01:09 UTC]    Books columns count: 44
[23-Nov-2025 00:01:09 UTC]    Categories columns count: 7
[23-Nov-2025 00:01:09 UTC]    Language field in books: YES
[23-Nov-2025 00:01:09 UTC]    Format field in books: YES
[23-Nov-2025 00:01:09 UTC]    Description field in categories: YES
[23-Nov-2025 00:01:09 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:01:09 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:01:09 UTC]    Is_active field in books: YES
[23-Nov-2025 00:01:09 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:01:09 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:01:09 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:01:09 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:01:09 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:01:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:01:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:01:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 00:01:09 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 00:01:09 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 00:01:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:01:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:01:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:01:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:01:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:01:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:01:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:01:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:01:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:01:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:01:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:01:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:01:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:01:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:01:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:01:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:01:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:01:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:01:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:01:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:01:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:01:54 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:01:54 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:01:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:01:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:01:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:01:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:01:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:01:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:01:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:01:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:01:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:01:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:01:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:01:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:01:54 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:01:54 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:01:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:01:54 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:01:54 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:01:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:01:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:01:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:01:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:01:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:01:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:01:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:01:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:01:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:01:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:01:54 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:01:54 UTC] 📊 Database Info:
[23-Nov-2025 00:01:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:01:54 UTC]    Books columns count: 44
[23-Nov-2025 00:01:54 UTC]    Categories columns count: 7
[23-Nov-2025 00:01:54 UTC]    Language field in books: YES
[23-Nov-2025 00:01:54 UTC]    Format field in books: YES
[23-Nov-2025 00:01:54 UTC]    Description field in categories: YES
[23-Nov-2025 00:01:54 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:01:54 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:01:54 UTC]    Is_active field in books: YES
[23-Nov-2025 00:01:54 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:01:54 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:01:54 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:01:54 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:01:54 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:01:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:01:54 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 00:01:54 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 00:01:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:01:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:01:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:01:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:01:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:01:54 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:01:54 UTC] 📊 Database Info:
[23-Nov-2025 00:01:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:01:54 UTC]    Books columns count: 44
[23-Nov-2025 00:01:54 UTC]    Categories columns count: 7
[23-Nov-2025 00:01:54 UTC]    Language field in books: YES
[23-Nov-2025 00:01:54 UTC]    Format field in books: YES
[23-Nov-2025 00:01:54 UTC]    Description field in categories: YES
[23-Nov-2025 00:01:54 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:01:54 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:01:54 UTC]    Is_active field in books: YES
[23-Nov-2025 00:01:54 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:01:54 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:01:54 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:01:54 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:01:54 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:01:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:01:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 00:01:54 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 00:01:54 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:01:54 UTC] 📊 Database Info:
[23-Nov-2025 00:01:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:01:54 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 00:01:54 UTC]    Books columns count: 44
[23-Nov-2025 00:01:54 UTC]    Categories columns count: 7
[23-Nov-2025 00:01:54 UTC]    Language field in books: YES
[23-Nov-2025 00:01:54 UTC]    Format field in books: YES
[23-Nov-2025 00:01:54 UTC]    Description field in categories: YES
[23-Nov-2025 00:01:54 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:01:54 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:01:54 UTC]    Is_active field in books: YES
[23-Nov-2025 00:01:54 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:01:54 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:01:54 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:01:54 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:01:54 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:01:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:01:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:02:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:02:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:02:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:02:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:02:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:02:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:02:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:02:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:02:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:02:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:02:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:02:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:02:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:02:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:02:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:02:08 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:02:08 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:02:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:02:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:02:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:02:08 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:02:08 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:02:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:02:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:02:08 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:02:08 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:02:08 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:02:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:02:08 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:02:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:02:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:02:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:02:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:02:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:02:08 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:02:08 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:02:08 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:02:08 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:02:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:02:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:02:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:02:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:02:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:02:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:02:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:02:08 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:02:08 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:02:08 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:02:08 UTC] 📊 Database Info:
[23-Nov-2025 00:02:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:02:08 UTC]    Books columns count: 44
[23-Nov-2025 00:02:08 UTC]    Categories columns count: 7
[23-Nov-2025 00:02:08 UTC]    Language field in books: YES
[23-Nov-2025 00:02:08 UTC]    Format field in books: YES
[23-Nov-2025 00:02:08 UTC]    Description field in categories: YES
[23-Nov-2025 00:02:08 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:02:08 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:02:08 UTC]    Is_active field in books: YES
[23-Nov-2025 00:02:08 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:02:08 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:02:08 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:02:08 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:02:08 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:02:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:02:08 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 00:02:08 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 00:02:08 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:02:08 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:02:08 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:02:08 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:02:08 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:02:08 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:02:08 UTC] 📊 Database Info:
[23-Nov-2025 00:02:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:02:08 UTC]    Books columns count: 44
[23-Nov-2025 00:02:08 UTC]    Categories columns count: 7
[23-Nov-2025 00:02:08 UTC]    Language field in books: YES
[23-Nov-2025 00:02:08 UTC]    Format field in books: YES
[23-Nov-2025 00:02:08 UTC]    Description field in categories: YES
[23-Nov-2025 00:02:08 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:02:08 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:02:08 UTC]    Is_active field in books: YES
[23-Nov-2025 00:02:08 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:02:08 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:02:08 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:02:08 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:02:08 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:02:08 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:02:08 UTC] 📊 Database Info:
[23-Nov-2025 00:02:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:02:08 UTC]    Books columns count: 44
[23-Nov-2025 00:02:08 UTC]    Categories columns count: 7
[23-Nov-2025 00:02:08 UTC]    Language field in books: YES
[23-Nov-2025 00:02:08 UTC]    Format field in books: YES
[23-Nov-2025 00:02:08 UTC]    Description field in categories: YES
[23-Nov-2025 00:02:08 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:02:08 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:02:08 UTC]    Is_active field in books: YES
[23-Nov-2025 00:02:08 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:02:08 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:02:08 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:02:08 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:02:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:02:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:02:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:02:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:02:12 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:02:12 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:02:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:02:12 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:02:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:02:12 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:02:12 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:02:12 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:02:12 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:02:12 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:02:12 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:02:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:02:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:02:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:02:12 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:02:12 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:02:12 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:02:12 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:02:12 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:02:12 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:02:12 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:02:12 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:02:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:02:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:02:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:02:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:02:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:02:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:02:12 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:02:12 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:02:12 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:02:12 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:02:12 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:02:12 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:02:12 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:02:12 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:02:12 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:02:12 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:02:12 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:02:12 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:02:12 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:02:12 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:02:12 UTC] 📊 Database Info:
[23-Nov-2025 00:02:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:02:12 UTC]    Books columns count: 44
[23-Nov-2025 00:02:12 UTC]    Categories columns count: 7
[23-Nov-2025 00:02:12 UTC]    Language field in books: YES
[23-Nov-2025 00:02:12 UTC]    Format field in books: YES
[23-Nov-2025 00:02:12 UTC]    Description field in categories: YES
[23-Nov-2025 00:02:12 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:02:12 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:02:12 UTC]    Is_active field in books: YES
[23-Nov-2025 00:02:12 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:02:12 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:02:12 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:02:12 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:02:12 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:02:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:02:12 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:02:12 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:02:12 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:02:12 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:02:12 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:02:12 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:02:12 UTC] 📊 Database Info:
[23-Nov-2025 00:02:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:02:12 UTC]    Books columns count: 44
[23-Nov-2025 00:02:12 UTC]    Categories columns count: 7
[23-Nov-2025 00:02:12 UTC]    Language field in books: YES
[23-Nov-2025 00:02:12 UTC]    Format field in books: YES
[23-Nov-2025 00:02:12 UTC]    Description field in categories: YES
[23-Nov-2025 00:02:12 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:02:12 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:02:12 UTC]    Is_active field in books: YES
[23-Nov-2025 00:02:12 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:02:12 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:02:12 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:02:12 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:02:12 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:02:12 UTC] 📊 Database Info:
[23-Nov-2025 00:02:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:02:12 UTC]    Books columns count: 44
[23-Nov-2025 00:02:12 UTC]    Categories columns count: 7
[23-Nov-2025 00:02:12 UTC]    Language field in books: YES
[23-Nov-2025 00:02:12 UTC]    Format field in books: YES
[23-Nov-2025 00:02:12 UTC]    Description field in categories: YES
[23-Nov-2025 00:02:12 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:02:12 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:02:12 UTC]    Is_active field in books: YES
[23-Nov-2025 00:02:12 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:02:12 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:02:12 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:02:12 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:02:12 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:02:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:02:12 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:02:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 00:02:12 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 00:02:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 00:02:14 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:02:14 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:02:14 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:02:14 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:02:14 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:02:14 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:02:14 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:02:14 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:02:14 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:02:14 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:02:14 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:02:14 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:02:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 00:02:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:02:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 00:02:14 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 00:02:14 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 00:02:14 UTC] ℹ️ Column institution already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column language already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column format already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 00:02:14 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 00:02:14 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 00:02:14 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 00:02:14 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 00:02:14 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 00:02:14 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 00:02:14 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 00:02:14 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 00:02:14 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 00:02:14 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 00:02:14 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 00:02:14 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 00:02:14 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 00:02:14 UTC] 📊 Database Info:
[23-Nov-2025 00:02:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 00:02:14 UTC]    Books columns count: 44
[23-Nov-2025 00:02:14 UTC]    Categories columns count: 7
[23-Nov-2025 00:02:14 UTC]    Language field in books: YES
[23-Nov-2025 00:02:14 UTC]    Format field in books: YES
[23-Nov-2025 00:02:14 UTC]    Description field in categories: YES
[23-Nov-2025 00:02:14 UTC]    Display_order field in categories: YES
[23-Nov-2025 00:02:14 UTC]    Is_active field in categories: YES
[23-Nov-2025 00:02:14 UTC]    Is_active field in books: YES
[23-Nov-2025 00:02:14 UTC]    External_download_link field in books: YES
[23-Nov-2025 00:02:14 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 00:02:14 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 00:02:14 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 00:02:14 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 00:02:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 00:02:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 00:02:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 00:02:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 00:02:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 00:02:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 00:02:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 00:02:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 00:02:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 00:02:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 00:02:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 00:02:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 00:02:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 01:12:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 01:12:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 01:12:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 01:12:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 01:12:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 01:12:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 01:12:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 01:12:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 01:12:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 01:12:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 01:12:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 01:12:47 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 01:12:47 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 01:12:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 01:12:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 01:12:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 01:12:47 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 01:12:47 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 01:12:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 01:12:47 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 01:12:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 01:12:47 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 01:12:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 01:12:47 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 01:12:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 01:12:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 01:12:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 01:12:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 01:12:47 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 01:12:47 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 01:12:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 01:12:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 01:12:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 01:12:47 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 01:12:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 01:12:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 01:12:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 01:12:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 01:12:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 01:12:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 01:12:47 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 01:12:47 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 01:12:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 01:12:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 01:12:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 01:12:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 01:12:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 01:12:47 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 01:12:47 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 01:12:47 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 01:12:47 UTC] 📊 Database Info:
[23-Nov-2025 01:12:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 01:12:47 UTC]    Books columns count: 44
[23-Nov-2025 01:12:47 UTC]    Categories columns count: 7
[23-Nov-2025 01:12:47 UTC]    Language field in books: YES
[23-Nov-2025 01:12:47 UTC]    Format field in books: YES
[23-Nov-2025 01:12:47 UTC]    Description field in categories: YES
[23-Nov-2025 01:12:47 UTC]    Display_order field in categories: YES
[23-Nov-2025 01:12:47 UTC]    Is_active field in categories: YES
[23-Nov-2025 01:12:47 UTC]    Is_active field in books: YES
[23-Nov-2025 01:12:47 UTC]    External_download_link field in books: YES
[23-Nov-2025 01:12:47 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 01:12:47 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 01:12:47 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 01:12:47 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 01:12:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 01:12:47 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 01:12:47 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 01:12:47 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 01:12:47 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 01:12:47 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 01:12:47 UTC] 📊 Database Info:
[23-Nov-2025 01:12:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 01:12:47 UTC]    Books columns count: 44
[23-Nov-2025 01:12:47 UTC]    Categories columns count: 7
[23-Nov-2025 01:12:47 UTC]    Language field in books: YES
[23-Nov-2025 01:12:47 UTC]    Format field in books: YES
[23-Nov-2025 01:12:47 UTC]    Description field in categories: YES
[23-Nov-2025 01:12:47 UTC]    Display_order field in categories: YES
[23-Nov-2025 01:12:47 UTC]    Is_active field in categories: YES
[23-Nov-2025 01:12:47 UTC]    Is_active field in books: YES
[23-Nov-2025 01:12:47 UTC]    External_download_link field in books: YES
[23-Nov-2025 01:12:47 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 01:12:47 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 01:12:47 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 01:12:47 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 01:12:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 01:12:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 01:12:47 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 01:12:47 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 01:12:47 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 01:12:47 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 01:12:47 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 01:12:47 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 01:12:47 UTC] 📊 Database Info:
[23-Nov-2025 01:12:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 01:12:47 UTC]    Books columns count: 44
[23-Nov-2025 01:12:47 UTC]    Categories columns count: 7
[23-Nov-2025 01:12:47 UTC]    Language field in books: YES
[23-Nov-2025 01:12:47 UTC]    Format field in books: YES
[23-Nov-2025 01:12:47 UTC]    Description field in categories: YES
[23-Nov-2025 01:12:47 UTC]    Display_order field in categories: YES
[23-Nov-2025 01:12:47 UTC]    Is_active field in categories: YES
[23-Nov-2025 01:12:47 UTC]    Is_active field in books: YES
[23-Nov-2025 01:12:47 UTC]    External_download_link field in books: YES
[23-Nov-2025 01:12:47 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 01:12:47 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 01:12:47 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 01:12:47 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 01:12:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 01:12:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:30 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:30 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:30 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:30 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:30 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:30 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:30 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:30 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:30 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:30 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:30 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:30 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:30 UTC] 📊 Database Info:
[23-Nov-2025 12:28:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:30 UTC]    Books columns count: 44
[23-Nov-2025 12:28:30 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:30 UTC]    Language field in books: YES
[23-Nov-2025 12:28:30 UTC]    Format field in books: YES
[23-Nov-2025 12:28:30 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:30 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:30 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:30 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:30 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:30 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:30 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:30 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:30 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:30 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:30 UTC] 📊 Database Info:
[23-Nov-2025 12:28:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:30 UTC]    Books columns count: 44
[23-Nov-2025 12:28:30 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:30 UTC]    Language field in books: YES
[23-Nov-2025 12:28:30 UTC]    Format field in books: YES
[23-Nov-2025 12:28:30 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:30 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:30 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:30 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:30 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:30 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:30 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:30 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:30 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:30 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 12:28:30 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 12:28:30 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:30 UTC] 📊 Database Info:
[23-Nov-2025 12:28:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:30 UTC]    Books columns count: 44
[23-Nov-2025 12:28:30 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:30 UTC]    Language field in books: YES
[23-Nov-2025 12:28:30 UTC]    Format field in books: YES
[23-Nov-2025 12:28:30 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:30 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:30 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:30 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:30 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:30 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:30 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:30 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:30 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:30 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:30 UTC] 📊 Database Info:
[23-Nov-2025 12:28:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:30 UTC]    Books columns count: 44
[23-Nov-2025 12:28:30 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:30 UTC]    Language field in books: YES
[23-Nov-2025 12:28:30 UTC]    Format field in books: YES
[23-Nov-2025 12:28:30 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:30 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:30 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:30 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:30 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:30 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:30 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:30 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:30 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:30 UTC] 📊 Database Info:
[23-Nov-2025 12:28:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:30 UTC]    Books columns count: 44
[23-Nov-2025 12:28:30 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:30 UTC]    Language field in books: YES
[23-Nov-2025 12:28:30 UTC]    Format field in books: YES
[23-Nov-2025 12:28:30 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:30 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:30 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:30 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:30 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:30 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:30 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:30 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:30 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:30 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:30 UTC] 📊 Database Info:
[23-Nov-2025 12:28:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:30 UTC]    Books columns count: 44
[23-Nov-2025 12:28:30 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:30 UTC]    Language field in books: YES
[23-Nov-2025 12:28:30 UTC]    Format field in books: YES
[23-Nov-2025 12:28:30 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:30 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:30 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:30 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:30 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:30 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:30 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:30 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:30 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:30 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 12:28:30 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 12:28:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:33 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:33 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:33 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:33 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:33 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:33 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:33 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:33 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:33 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:33 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:33 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:33 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:33 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:33 UTC] 📊 Database Info:
[23-Nov-2025 12:28:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:33 UTC]    Books columns count: 44
[23-Nov-2025 12:28:33 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:33 UTC]    Language field in books: YES
[23-Nov-2025 12:28:33 UTC]    Format field in books: YES
[23-Nov-2025 12:28:33 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:33 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:33 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:33 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:33 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:33 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:33 UTC] 📊 Database Info:
[23-Nov-2025 12:28:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:33 UTC]    Books columns count: 44
[23-Nov-2025 12:28:33 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:33 UTC]    Language field in books: YES
[23-Nov-2025 12:28:33 UTC]    Format field in books: YES
[23-Nov-2025 12:28:33 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:33 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:33 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:33 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:33 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:33 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 12:28:33 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 12:28:33 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 12:28:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:33 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:33 UTC] 📊 Database Info:
[23-Nov-2025 12:28:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:33 UTC]    Books columns count: 44
[23-Nov-2025 12:28:33 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:33 UTC]    Language field in books: YES
[23-Nov-2025 12:28:33 UTC]    Format field in books: YES
[23-Nov-2025 12:28:33 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:33 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:33 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:33 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:33 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:33 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:33 UTC] 📊 Database Info:
[23-Nov-2025 12:28:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:33 UTC]    Books columns count: 44
[23-Nov-2025 12:28:33 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:33 UTC]    Language field in books: YES
[23-Nov-2025 12:28:33 UTC]    Format field in books: YES
[23-Nov-2025 12:28:33 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:33 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:33 UTC] 📊 Database Info:
[23-Nov-2025 12:28:33 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:33 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:33 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:33 UTC]    Books columns count: 44
[23-Nov-2025 12:28:33 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:33 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:33 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:33 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:33 UTC]    Language field in books: YES
[23-Nov-2025 12:28:33 UTC]    Format field in books: YES
[23-Nov-2025 12:28:33 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:33 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:33 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:33 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:33 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:33 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:33 UTC] 📊 Database Info:
[23-Nov-2025 12:28:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:33 UTC]    Books columns count: 44
[23-Nov-2025 12:28:33 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:33 UTC]    Language field in books: YES
[23-Nov-2025 12:28:33 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:33 UTC]    Format field in books: YES
[23-Nov-2025 12:28:33 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:33 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:33 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:33 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:33 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:33 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 12:28:33 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:33 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:33 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:33 UTC] 📊 Database Info:
[23-Nov-2025 12:28:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:33 UTC]    Books columns count: 44
[23-Nov-2025 12:28:33 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:33 UTC]    Language field in books: YES
[23-Nov-2025 12:28:33 UTC]    Format field in books: YES
[23-Nov-2025 12:28:33 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:33 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:33 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:33 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:33 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:33 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:33 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 12:28:33 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 12:28:33 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 12:28:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:34 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:34 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:34 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:34 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:34 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:34 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:34 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:34 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:34 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:34 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:34 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:34 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:34 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:34 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:34 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:34 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:34 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:34 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:34 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:34 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:34 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:34 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:34 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:34 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:34 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:34 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:34 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:34 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:34 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:34 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:34 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:34 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:34 UTC] 📊 Database Info:
[23-Nov-2025 12:28:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:34 UTC]    Books columns count: 44
[23-Nov-2025 12:28:34 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:34 UTC]    Language field in books: YES
[23-Nov-2025 12:28:34 UTC]    Format field in books: YES
[23-Nov-2025 12:28:34 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:34 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:34 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:34 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:34 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:34 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:34 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:34 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:34 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 12:28:34 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 12:28:34 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 12:28:34 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:34 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:34 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:34 UTC] 📊 Database Info:
[23-Nov-2025 12:28:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:34 UTC]    Books columns count: 44
[23-Nov-2025 12:28:34 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:34 UTC]    Language field in books: YES
[23-Nov-2025 12:28:34 UTC]    Format field in books: YES
[23-Nov-2025 12:28:34 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:34 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:34 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:34 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:34 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:34 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:34 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:34 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:34 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 12:28:34 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 12:28:34 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 12:28:34 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:34 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:34 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:34 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:34 UTC] 📊 Database Info:
[23-Nov-2025 12:28:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:34 UTC]    Books columns count: 44
[23-Nov-2025 12:28:34 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:34 UTC]    Language field in books: YES
[23-Nov-2025 12:28:34 UTC]    Format field in books: YES
[23-Nov-2025 12:28:34 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:34 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:34 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:34 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:34 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:34 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:34 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:34 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:34 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 12:28:34 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 12:28:34 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 12:28:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:36 UTC] 📊 Database Info:
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:36 UTC]    Books columns count: 44
[23-Nov-2025 12:28:36 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:36 UTC]    Language field in books: YES
[23-Nov-2025 12:28:36 UTC]    Format field in books: YES
[23-Nov-2025 12:28:36 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:36 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:36 UTC] 📊 Database Info:
[23-Nov-2025 12:28:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:36 UTC]    Books columns count: 44
[23-Nov-2025 12:28:36 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:36 UTC]    Language field in books: YES
[23-Nov-2025 12:28:36 UTC]    Format field in books: YES
[23-Nov-2025 12:28:36 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:36 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:36 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 12:28:36 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 12:28:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:36 UTC] 📊 Database Info:
[23-Nov-2025 12:28:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:36 UTC]    Books columns count: 44
[23-Nov-2025 12:28:36 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:36 UTC]    Language field in books: YES
[23-Nov-2025 12:28:36 UTC]    Format field in books: YES
[23-Nov-2025 12:28:36 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:36 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:36 UTC] 📊 Database Info:
[23-Nov-2025 12:28:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:36 UTC] 📊 Database Info:
[23-Nov-2025 12:28:36 UTC]    Books columns count: 44
[23-Nov-2025 12:28:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:36 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:36 UTC]    Books columns count: 44
[23-Nov-2025 12:28:36 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:36 UTC]    Language field in books: YES
[23-Nov-2025 12:28:36 UTC]    Language field in books: YES
[23-Nov-2025 12:28:36 UTC]    Format field in books: YES
[23-Nov-2025 12:28:36 UTC]    Format field in books: YES
[23-Nov-2025 12:28:36 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:36 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:36 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:36 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:36 UTC] 📊 Database Info:
[23-Nov-2025 12:28:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:36 UTC]    Books columns count: 44
[23-Nov-2025 12:28:36 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:36 UTC]    Language field in books: YES
[23-Nov-2025 12:28:36 UTC]    Format field in books: YES
[23-Nov-2025 12:28:36 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:36 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:36 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 12:28:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:28:36 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 12:28:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:28:40 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:40 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:40 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:40 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:40 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:40 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:40 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:40 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:41 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:41 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:41 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:41 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:41 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:28:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:28:41 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:28:41 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:28:41 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:28:41 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:28:41 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:28:41 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:28:41 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:28:41 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:28:41 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:28:41 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:28:41 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:28:41 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:28:41 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:28:41 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:28:41 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:28:41 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:28:41 UTC] 📊 Database Info:
[23-Nov-2025 12:28:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:28:41 UTC]    Books columns count: 44
[23-Nov-2025 12:28:41 UTC]    Categories columns count: 7
[23-Nov-2025 12:28:41 UTC]    Language field in books: YES
[23-Nov-2025 12:28:41 UTC]    Format field in books: YES
[23-Nov-2025 12:28:41 UTC]    Description field in categories: YES
[23-Nov-2025 12:28:41 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:28:41 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:28:41 UTC]    Is_active field in books: YES
[23-Nov-2025 12:28:41 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:28:41 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:28:41 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:28:41 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:28:41 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:28:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:28:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:28:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:28:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:28:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:28:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:28:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:28:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:28:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:28:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:28:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:28:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:28:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:29:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:29:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:29:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:30 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:29:30 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:29:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:30 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:29:30 UTC] 📊 Database Info:
[23-Nov-2025 12:29:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:29:30 UTC]    Books columns count: 44
[23-Nov-2025 12:29:30 UTC]    Categories columns count: 7
[23-Nov-2025 12:29:30 UTC]    Language field in books: YES
[23-Nov-2025 12:29:30 UTC]    Format field in books: YES
[23-Nov-2025 12:29:30 UTC]    Description field in categories: YES
[23-Nov-2025 12:29:30 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:29:30 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:29:30 UTC]    Is_active field in books: YES
[23-Nov-2025 12:29:30 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:29:30 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:29:30 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:29:30 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:29:30 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:29:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:29:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:29:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:29:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:29:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:31 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:29:31 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:29:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:29:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:29:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:29:31 UTC] 📊 Database Info:
[23-Nov-2025 12:29:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:29:31 UTC]    Books columns count: 44
[23-Nov-2025 12:29:31 UTC]    Categories columns count: 7
[23-Nov-2025 12:29:31 UTC]    Language field in books: YES
[23-Nov-2025 12:29:31 UTC]    Format field in books: YES
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:31 UTC]    Description field in categories: YES
[23-Nov-2025 12:29:31 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:29:31 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:29:31 UTC]    Is_active field in books: YES
[23-Nov-2025 12:29:31 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:29:31 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:29:31 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:29:31 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:29:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:29:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:29:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:31 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:29:31 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:29:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:29:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:31 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:29:31 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:29:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:29:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:31 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:29:31 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:29:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:31 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:29:31 UTC] 📊 Database Info:
[23-Nov-2025 12:29:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:29:31 UTC]    Books columns count: 44
[23-Nov-2025 12:29:31 UTC]    Categories columns count: 7
[23-Nov-2025 12:29:31 UTC]    Language field in books: YES
[23-Nov-2025 12:29:31 UTC]    Format field in books: YES
[23-Nov-2025 12:29:31 UTC]    Description field in categories: YES
[23-Nov-2025 12:29:31 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:29:31 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:29:31 UTC]    Is_active field in books: YES
[23-Nov-2025 12:29:31 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:29:31 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:29:31 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:29:31 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:29:31 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:29:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:29:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:31 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:29:31 UTC] 📊 Database Info:
[23-Nov-2025 12:29:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:29:31 UTC]    Books columns count: 44
[23-Nov-2025 12:29:31 UTC]    Categories columns count: 7
[23-Nov-2025 12:29:31 UTC]    Language field in books: YES
[23-Nov-2025 12:29:31 UTC]    Format field in books: YES
[23-Nov-2025 12:29:31 UTC]    Description field in categories: YES
[23-Nov-2025 12:29:31 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:29:31 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:29:31 UTC]    Is_active field in books: YES
[23-Nov-2025 12:29:31 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:29:31 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:29:31 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:29:31 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:29:31 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:29:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:29:31 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 12:29:31 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 12:29:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:31 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:29:31 UTC] 📊 Database Info:
[23-Nov-2025 12:29:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:29:31 UTC]    Books columns count: 44
[23-Nov-2025 12:29:31 UTC]    Categories columns count: 7
[23-Nov-2025 12:29:31 UTC]    Language field in books: YES
[23-Nov-2025 12:29:31 UTC]    Format field in books: YES
[23-Nov-2025 12:29:31 UTC]    Description field in categories: YES
[23-Nov-2025 12:29:31 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:29:31 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:29:31 UTC]    Is_active field in books: YES
[23-Nov-2025 12:29:31 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:29:31 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:29:31 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:29:31 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:29:31 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:29:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:29:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:29:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:29:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:29:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:29:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:29:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:29:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:32 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:29:32 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:29:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:32 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:29:32 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:29:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:32 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:29:32 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:29:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:29:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:32 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:29:32 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:29:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:29:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:32 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:29:32 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:29:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:32 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:29:32 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:29:32 UTC] 📊 Database Info:
[23-Nov-2025 12:29:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:29:32 UTC]    Books columns count: 44
[23-Nov-2025 12:29:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:32 UTC]    Categories columns count: 7
[23-Nov-2025 12:29:32 UTC]    Language field in books: YES
[23-Nov-2025 12:29:32 UTC]    Format field in books: YES
[23-Nov-2025 12:29:32 UTC]    Description field in categories: YES
[23-Nov-2025 12:29:32 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:29:32 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:29:32 UTC]    Is_active field in books: YES
[23-Nov-2025 12:29:32 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:29:32 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:29:32 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:29:32 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:29:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:32 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 12:29:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:32 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:29:32 UTC] 📊 Database Info:
[23-Nov-2025 12:29:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:29:32 UTC]    Books columns count: 44
[23-Nov-2025 12:29:32 UTC]    Categories columns count: 7
[23-Nov-2025 12:29:32 UTC]    Language field in books: YES
[23-Nov-2025 12:29:32 UTC]    Format field in books: YES
[23-Nov-2025 12:29:32 UTC]    Description field in categories: YES
[23-Nov-2025 12:29:32 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:29:32 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:29:32 UTC]    Is_active field in books: YES
[23-Nov-2025 12:29:32 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:29:32 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:29:32 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:29:32 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:29:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:29:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:29:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:29:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:29:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:29:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:29:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:32 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:29:32 UTC] 📊 Database Info:
[23-Nov-2025 12:29:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:29:32 UTC]    Books columns count: 44
[23-Nov-2025 12:29:32 UTC]    Categories columns count: 7
[23-Nov-2025 12:29:32 UTC]    Language field in books: YES
[23-Nov-2025 12:29:32 UTC]    Format field in books: YES
[23-Nov-2025 12:29:32 UTC]    Description field in categories: YES
[23-Nov-2025 12:29:32 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:29:32 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:29:32 UTC]    Is_active field in books: YES
[23-Nov-2025 12:29:32 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:29:32 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:29:32 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:29:32 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:29:32 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:29:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:29:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:32 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:29:32 UTC] 📊 Database Info:
[23-Nov-2025 12:29:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:29:32 UTC]    Books columns count: 44
[23-Nov-2025 12:29:32 UTC]    Categories columns count: 7
[23-Nov-2025 12:29:32 UTC]    Language field in books: YES
[23-Nov-2025 12:29:32 UTC]    Format field in books: YES
[23-Nov-2025 12:29:32 UTC]    Description field in categories: YES
[23-Nov-2025 12:29:32 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:29:32 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:29:32 UTC]    Is_active field in books: YES
[23-Nov-2025 12:29:32 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:29:32 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:29:32 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:29:32 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:29:32 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:29:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:29:32 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 12:29:32 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 12:29:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:29:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:29:32 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:29:32 UTC] 📊 Database Info:
[23-Nov-2025 12:29:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:29:32 UTC]    Books columns count: 44
[23-Nov-2025 12:29:32 UTC]    Categories columns count: 7
[23-Nov-2025 12:29:32 UTC]    Language field in books: YES
[23-Nov-2025 12:29:32 UTC]    Format field in books: YES
[23-Nov-2025 12:29:32 UTC]    Description field in categories: YES
[23-Nov-2025 12:29:32 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:29:32 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:29:32 UTC]    Is_active field in books: YES
[23-Nov-2025 12:29:32 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:29:32 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:29:32 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:29:32 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:29:32 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:29:32 UTC] 📊 Database Info:
[23-Nov-2025 12:29:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:29:32 UTC]    Books columns count: 44
[23-Nov-2025 12:29:32 UTC]    Categories columns count: 7
[23-Nov-2025 12:29:32 UTC]    Language field in books: YES
[23-Nov-2025 12:29:32 UTC]    Format field in books: YES
[23-Nov-2025 12:29:32 UTC]    Description field in categories: YES
[23-Nov-2025 12:29:32 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:29:32 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:29:32 UTC]    Is_active field in books: YES
[23-Nov-2025 12:29:32 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:29:32 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:29:32 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:29:32 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:29:32 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:29:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:29:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:29:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:30:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:30:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:30:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:30:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:30:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:30:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:30:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:30:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:30:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:30:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:30:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:30:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:30:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:30:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:30:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:30:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:30:06 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:30:06 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:30:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:30:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:30:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:30:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:30:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:30:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:30:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:30:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:30:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:30:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:30:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:30:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:30:06 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:30:06 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:30:06 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:30:06 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:30:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:30:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:30:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:30:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:30:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:30:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:30:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:30:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:30:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:30:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:30:06 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:30:06 UTC] 📊 Database Info:
[23-Nov-2025 12:30:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:30:06 UTC]    Books columns count: 44
[23-Nov-2025 12:30:06 UTC]    Categories columns count: 7
[23-Nov-2025 12:30:06 UTC]    Language field in books: YES
[23-Nov-2025 12:30:06 UTC]    Format field in books: YES
[23-Nov-2025 12:30:06 UTC]    Description field in categories: YES
[23-Nov-2025 12:30:06 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:30:06 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:30:06 UTC]    Is_active field in books: YES
[23-Nov-2025 12:30:06 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:30:06 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:30:06 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:30:06 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:30:06 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:30:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:30:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:30:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:30:06 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:30:06 UTC] 📊 Database Info:
[23-Nov-2025 12:30:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:30:06 UTC]    Books columns count: 44
[23-Nov-2025 12:30:06 UTC]    Categories columns count: 7
[23-Nov-2025 12:30:06 UTC]    Language field in books: YES
[23-Nov-2025 12:30:06 UTC]    Format field in books: YES
[23-Nov-2025 12:30:06 UTC]    Description field in categories: YES
[23-Nov-2025 12:30:06 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:30:06 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:30:06 UTC]    Is_active field in books: YES
[23-Nov-2025 12:30:06 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:30:06 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:30:06 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:30:06 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:30:06 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:30:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:30:06 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 12:30:06 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 12:30:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:30:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:30:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:30:06 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:30:06 UTC] 📊 Database Info:
[23-Nov-2025 12:30:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:30:06 UTC]    Books columns count: 44
[23-Nov-2025 12:30:06 UTC]    Categories columns count: 7
[23-Nov-2025 12:30:06 UTC]    Language field in books: YES
[23-Nov-2025 12:30:06 UTC]    Format field in books: YES
[23-Nov-2025 12:30:06 UTC]    Description field in categories: YES
[23-Nov-2025 12:30:06 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:30:06 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:30:06 UTC]    Is_active field in books: YES
[23-Nov-2025 12:30:06 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:30:06 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:30:06 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:30:06 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:30:06 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:30:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:30:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:30:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:30:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:30:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:30:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:30:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:30:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:30:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:30:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:30:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:30:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:30:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:30:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:30:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:30:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:30:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:30:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:30:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:30:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:30:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:30:13 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:30:13 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:30:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:30:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:30:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:30:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:30:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:30:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:30:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:30:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:30:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:30:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:30:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:30:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:30:13 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:30:13 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:30:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:30:13 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:30:13 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:30:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:30:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:30:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:30:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:30:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:30:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:30:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:30:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:30:13 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:30:13 UTC] 📊 Database Info:
[23-Nov-2025 12:30:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:30:13 UTC]    Books columns count: 44
[23-Nov-2025 12:30:13 UTC]    Categories columns count: 7
[23-Nov-2025 12:30:13 UTC]    Language field in books: YES
[23-Nov-2025 12:30:13 UTC]    Format field in books: YES
[23-Nov-2025 12:30:13 UTC]    Description field in categories: YES
[23-Nov-2025 12:30:13 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:30:13 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:30:13 UTC]    Is_active field in books: YES
[23-Nov-2025 12:30:13 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:30:13 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:30:13 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:30:13 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:30:13 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:30:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:30:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:30:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:30:13 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:30:13 UTC] 📊 Database Info:
[23-Nov-2025 12:30:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:30:13 UTC]    Books columns count: 44
[23-Nov-2025 12:30:13 UTC]    Categories columns count: 7
[23-Nov-2025 12:30:13 UTC]    Language field in books: YES
[23-Nov-2025 12:30:13 UTC]    Format field in books: YES
[23-Nov-2025 12:30:13 UTC]    Description field in categories: YES
[23-Nov-2025 12:30:13 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:30:13 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:30:13 UTC]    Is_active field in books: YES
[23-Nov-2025 12:30:13 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:30:13 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:30:13 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:30:13 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:30:13 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:30:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:30:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:30:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:30:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:30:13 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:30:13 UTC] 📊 Database Info:
[23-Nov-2025 12:30:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:30:13 UTC]    Books columns count: 44
[23-Nov-2025 12:30:13 UTC]    Categories columns count: 7
[23-Nov-2025 12:30:13 UTC]    Language field in books: YES
[23-Nov-2025 12:30:13 UTC]    Format field in books: YES
[23-Nov-2025 12:30:13 UTC]    Description field in categories: YES
[23-Nov-2025 12:30:13 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:30:13 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:30:13 UTC]    Is_active field in books: YES
[23-Nov-2025 12:30:13 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:30:13 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:30:13 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:30:13 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:30:13 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:30:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:30:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:30:13 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 12:30:13 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 12:30:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:30:16 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:30:16 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:30:16 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:30:16 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:30:16 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:30:16 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:30:16 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:30:16 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:30:16 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:30:16 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:30:16 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:30:16 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:30:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:30:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:30:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:30:16 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:30:16 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:30:16 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:30:16 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:30:16 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:30:16 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:30:16 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:30:16 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:30:16 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:30:16 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:30:16 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:30:16 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:30:16 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:30:16 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:30:16 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:30:16 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:30:16 UTC] 📊 Database Info:
[23-Nov-2025 12:30:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:30:16 UTC]    Books columns count: 44
[23-Nov-2025 12:30:16 UTC]    Categories columns count: 7
[23-Nov-2025 12:30:16 UTC]    Language field in books: YES
[23-Nov-2025 12:30:16 UTC]    Format field in books: YES
[23-Nov-2025 12:30:16 UTC]    Description field in categories: YES
[23-Nov-2025 12:30:16 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:30:16 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:30:16 UTC]    Is_active field in books: YES
[23-Nov-2025 12:30:16 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:30:16 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:30:16 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:30:16 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:30:16 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:30:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:30:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:30:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:30:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:30:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:30:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:30:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:30:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:30:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:30:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:30:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:30:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:30:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:31:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:31:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:31:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:31:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:31:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:08 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:08 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:31:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:08 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:31:08 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:31:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:08 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:08 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:08 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:08 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:08 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:08 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:08 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:08 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:08 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:31:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:31:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:08 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:31:08 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:08 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:31:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:31:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:08 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:31:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:08 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:31:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:08 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:31:08 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:31:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:31:08 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:31:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:08 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:31:08 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:08 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:08 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:08 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:31:08 UTC] 📊 Database Info:
[23-Nov-2025 12:31:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:31:08 UTC]    Books columns count: 44
[23-Nov-2025 12:31:08 UTC]    Categories columns count: 7
[23-Nov-2025 12:31:08 UTC]    Language field in books: YES
[23-Nov-2025 12:31:08 UTC]    Format field in books: YES
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:08 UTC]    Description field in categories: YES
[23-Nov-2025 12:31:08 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:31:08 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:31:08 UTC]    Is_active field in books: YES
[23-Nov-2025 12:31:08 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:31:08 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:31:08 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:31:08 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:08 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:31:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:31:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:08 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:08 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:08 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:08 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:08 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:31:08 UTC] 📊 Database Info:
[23-Nov-2025 12:31:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:31:08 UTC]    Books columns count: 44
[23-Nov-2025 12:31:08 UTC]    Categories columns count: 7
[23-Nov-2025 12:31:08 UTC]    Language field in books: YES
[23-Nov-2025 12:31:08 UTC]    Format field in books: YES
[23-Nov-2025 12:31:08 UTC]    Description field in categories: YES
[23-Nov-2025 12:31:08 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:31:08 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:31:08 UTC]    Is_active field in books: YES
[23-Nov-2025 12:31:08 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:31:08 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:31:08 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:31:08 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:31:08 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:31:08 UTC] 📊 Database Info:
[23-Nov-2025 12:31:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:31:08 UTC]    Books columns count: 44
[23-Nov-2025 12:31:08 UTC]    Categories columns count: 7
[23-Nov-2025 12:31:08 UTC]    Language field in books: YES
[23-Nov-2025 12:31:08 UTC]    Format field in books: YES
[23-Nov-2025 12:31:08 UTC]    Description field in categories: YES
[23-Nov-2025 12:31:08 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:31:08 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:31:08 UTC]    Is_active field in books: YES
[23-Nov-2025 12:31:08 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:31:08 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:31:08 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:31:08 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:31:08 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:31:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:31:08 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:31:08 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:31:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:31:08 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 12:31:08 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 12:31:08 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:08 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:08 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:08 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:08 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:31:08 UTC] 📊 Database Info:
[23-Nov-2025 12:31:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:31:08 UTC]    Books columns count: 44
[23-Nov-2025 12:31:08 UTC]    Categories columns count: 7
[23-Nov-2025 12:31:08 UTC]    Language field in books: YES
[23-Nov-2025 12:31:08 UTC]    Format field in books: YES
[23-Nov-2025 12:31:08 UTC]    Description field in categories: YES
[23-Nov-2025 12:31:08 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:31:08 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:31:08 UTC]    Is_active field in books: YES
[23-Nov-2025 12:31:08 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:31:08 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:31:08 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:31:08 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:31:08 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:31:08 UTC] 📊 Database Info:
[23-Nov-2025 12:31:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:31:08 UTC]    Books columns count: 44
[23-Nov-2025 12:31:08 UTC]    Categories columns count: 7
[23-Nov-2025 12:31:08 UTC]    Language field in books: YES
[23-Nov-2025 12:31:08 UTC]    Format field in books: YES
[23-Nov-2025 12:31:08 UTC]    Description field in categories: YES
[23-Nov-2025 12:31:08 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:31:08 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:31:08 UTC]    Is_active field in books: YES
[23-Nov-2025 12:31:08 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:31:08 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:31:08 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:31:08 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:31:08 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:31:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:31:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:31:08 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:08 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:08 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:08 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:31:08 UTC] 📊 Database Info:
[23-Nov-2025 12:31:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:31:08 UTC]    Books columns count: 44
[23-Nov-2025 12:31:08 UTC]    Categories columns count: 7
[23-Nov-2025 12:31:08 UTC]    Language field in books: YES
[23-Nov-2025 12:31:08 UTC]    Format field in books: YES
[23-Nov-2025 12:31:08 UTC]    Description field in categories: YES
[23-Nov-2025 12:31:08 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:31:08 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:31:08 UTC]    Is_active field in books: YES
[23-Nov-2025 12:31:08 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:31:08 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:31:08 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:31:08 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:31:08 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:31:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:31:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:31:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:31:14 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:14 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:14 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:14 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:31:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:14 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:31:14 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:31:14 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:14 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:14 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:14 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:14 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:31:14 UTC] 📊 Database Info:
[23-Nov-2025 12:31:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:31:14 UTC]    Books columns count: 44
[23-Nov-2025 12:31:14 UTC]    Categories columns count: 7
[23-Nov-2025 12:31:14 UTC]    Language field in books: YES
[23-Nov-2025 12:31:14 UTC]    Format field in books: YES
[23-Nov-2025 12:31:14 UTC]    Description field in categories: YES
[23-Nov-2025 12:31:14 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:31:14 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:31:14 UTC]    Is_active field in books: YES
[23-Nov-2025 12:31:14 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:31:14 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:31:14 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:31:14 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:31:14 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:31:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:31:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:31:14 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:14 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:14 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:14 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:31:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:14 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:31:14 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:31:14 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:14 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:14 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:14 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:14 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:14 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:14 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:14 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:14 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:31:14 UTC] 📊 Database Info:
[23-Nov-2025 12:31:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:31:14 UTC]    Books columns count: 44
[23-Nov-2025 12:31:14 UTC]    Categories columns count: 7
[23-Nov-2025 12:31:14 UTC]    Language field in books: YES
[23-Nov-2025 12:31:14 UTC]    Format field in books: YES
[23-Nov-2025 12:31:14 UTC]    Description field in categories: YES
[23-Nov-2025 12:31:14 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:31:14 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:31:14 UTC]    Is_active field in books: YES
[23-Nov-2025 12:31:14 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:31:14 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:31:14 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:31:14 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:31:14 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:31:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:31:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:31:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:31:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:31:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:18 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:31:18 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:31:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:18 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:31:18 UTC] 📊 Database Info:
[23-Nov-2025 12:31:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:31:18 UTC]    Books columns count: 44
[23-Nov-2025 12:31:18 UTC]    Categories columns count: 7
[23-Nov-2025 12:31:18 UTC]    Language field in books: YES
[23-Nov-2025 12:31:18 UTC]    Format field in books: YES
[23-Nov-2025 12:31:18 UTC]    Description field in categories: YES
[23-Nov-2025 12:31:18 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:31:18 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:31:18 UTC]    Is_active field in books: YES
[23-Nov-2025 12:31:18 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:31:18 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:31:18 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:31:18 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:31:18 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:31:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:31:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:31:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:31:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:31:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:31:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:31:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:31:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:31:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:31:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:31:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:31:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:31:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:31:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:31:28 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:31:28 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:28 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:28 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:28 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:28 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:28 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:28 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:31:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:28 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:31:28 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:31:28 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:28 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:28 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:28 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:31:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:28 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:31:28 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:31:28 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:28 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:28 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:28 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:28 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:28 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:28 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:28 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:31:28 UTC] 📊 Database Info:
[23-Nov-2025 12:31:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:31:28 UTC]    Books columns count: 44
[23-Nov-2025 12:31:28 UTC]    Categories columns count: 7
[23-Nov-2025 12:31:28 UTC]    Language field in books: YES
[23-Nov-2025 12:31:28 UTC]    Format field in books: YES
[23-Nov-2025 12:31:28 UTC]    Description field in categories: YES
[23-Nov-2025 12:31:28 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:31:28 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:31:28 UTC]    Is_active field in books: YES
[23-Nov-2025 12:31:28 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:31:28 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:31:28 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:31:28 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:31:28 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:31:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:31:28 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:28 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:28 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:28 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:31:28 UTC] 📊 Database Info:
[23-Nov-2025 12:31:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:31:28 UTC]    Books columns count: 44
[23-Nov-2025 12:31:28 UTC]    Categories columns count: 7
[23-Nov-2025 12:31:28 UTC]    Language field in books: YES
[23-Nov-2025 12:31:28 UTC]    Format field in books: YES
[23-Nov-2025 12:31:28 UTC]    Description field in categories: YES
[23-Nov-2025 12:31:28 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:31:28 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:31:28 UTC]    Is_active field in books: YES
[23-Nov-2025 12:31:28 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:31:28 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:31:28 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:31:28 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:31:28 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:31:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:31:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:31:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:31:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:31:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:31:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:31:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:31:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:31:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:31:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:31:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:31:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:31:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:31:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:31:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:31:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:31:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:31:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:31:36 UTC] 📊 Database Info:
[23-Nov-2025 12:31:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:31:36 UTC]    Books columns count: 44
[23-Nov-2025 12:31:36 UTC]    Categories columns count: 7
[23-Nov-2025 12:31:36 UTC]    Language field in books: YES
[23-Nov-2025 12:31:36 UTC]    Format field in books: YES
[23-Nov-2025 12:31:36 UTC]    Description field in categories: YES
[23-Nov-2025 12:31:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:31:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:31:36 UTC]    Is_active field in books: YES
[23-Nov-2025 12:31:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:31:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:31:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:31:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:31:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:31:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:31:36 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 12:31:36 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 12:31:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:31:36 UTC] 📊 Database Info:
[23-Nov-2025 12:31:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:31:36 UTC]    Books columns count: 44
[23-Nov-2025 12:31:36 UTC]    Categories columns count: 7
[23-Nov-2025 12:31:36 UTC]    Language field in books: YES
[23-Nov-2025 12:31:36 UTC]    Format field in books: YES
[23-Nov-2025 12:31:36 UTC]    Description field in categories: YES
[23-Nov-2025 12:31:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:31:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:31:36 UTC]    Is_active field in books: YES
[23-Nov-2025 12:31:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:31:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:31:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:31:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:31:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:31:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:31:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:31:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:31:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:31:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:31:36 UTC] 📊 Database Info:
[23-Nov-2025 12:31:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:31:36 UTC]    Books columns count: 44
[23-Nov-2025 12:31:36 UTC]    Categories columns count: 7
[23-Nov-2025 12:31:36 UTC]    Language field in books: YES
[23-Nov-2025 12:31:36 UTC]    Format field in books: YES
[23-Nov-2025 12:31:36 UTC]    Description field in categories: YES
[23-Nov-2025 12:31:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:31:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:31:36 UTC]    Is_active field in books: YES
[23-Nov-2025 12:31:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:31:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:31:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:31:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:31:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:31:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:58:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:58:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:58:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:58:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:58:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:06 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:58:06 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:58:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:58:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:58:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:06 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:58:06 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:58:06 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:58:06 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:58:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:06 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:58:06 UTC] 📊 Database Info:
[23-Nov-2025 12:58:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:58:06 UTC]    Books columns count: 44
[23-Nov-2025 12:58:06 UTC]    Categories columns count: 7
[23-Nov-2025 12:58:06 UTC]    Language field in books: YES
[23-Nov-2025 12:58:06 UTC]    Format field in books: YES
[23-Nov-2025 12:58:06 UTC]    Description field in categories: YES
[23-Nov-2025 12:58:06 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:58:06 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:58:06 UTC]    Is_active field in books: YES
[23-Nov-2025 12:58:06 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:58:06 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:58:06 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:58:06 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:58:06 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:58:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:58:06 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 12:58:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:06 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:58:06 UTC] 📊 Database Info:
[23-Nov-2025 12:58:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:58:06 UTC]    Books columns count: 44
[23-Nov-2025 12:58:06 UTC]    Categories columns count: 7
[23-Nov-2025 12:58:06 UTC]    Language field in books: YES
[23-Nov-2025 12:58:06 UTC]    Format field in books: YES
[23-Nov-2025 12:58:06 UTC]    Description field in categories: YES
[23-Nov-2025 12:58:06 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:58:06 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:58:06 UTC]    Is_active field in books: YES
[23-Nov-2025 12:58:06 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:58:06 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:58:06 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:58:06 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:58:06 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 12:58:06 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:58:06 UTC] 📊 Database Info:
[23-Nov-2025 12:58:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:58:06 UTC]    Books columns count: 44
[23-Nov-2025 12:58:06 UTC]    Categories columns count: 7
[23-Nov-2025 12:58:06 UTC]    Language field in books: YES
[23-Nov-2025 12:58:06 UTC]    Format field in books: YES
[23-Nov-2025 12:58:06 UTC]    Description field in categories: YES
[23-Nov-2025 12:58:06 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:58:06 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:58:06 UTC]    Is_active field in books: YES
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:58:06 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:58:06 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:58:06 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:58:06 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:58:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:58:06 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:58:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:58:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:58:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 12:58:06 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 12:58:06 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 12:58:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:58:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:58:19 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:58:19 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:58:19 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:19 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:19 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:19 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:19 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:19 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:19 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:19 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:19 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:19 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:19 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:58:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:19 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:58:19 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:58:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:19 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:19 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:19 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:19 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:19 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:19 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:19 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:19 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:19 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:58:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:19 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:19 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:58:19 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:19 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:58:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:19 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:19 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:58:19 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:58:19 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:58:19 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:58:19 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:19 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:58:19 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:58:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:19 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:58:19 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:58:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:19 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:58:19 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:58:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:20 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:20 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:20 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:20 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:20 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:20 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:58:20 UTC] 📊 Database Info:
[23-Nov-2025 12:58:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:58:20 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:20 UTC]    Books columns count: 44
[23-Nov-2025 12:58:20 UTC]    Categories columns count: 7
[23-Nov-2025 12:58:20 UTC]    Language field in books: YES
[23-Nov-2025 12:58:20 UTC]    Format field in books: YES
[23-Nov-2025 12:58:20 UTC]    Description field in categories: YES
[23-Nov-2025 12:58:20 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:58:20 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:58:20 UTC]    Is_active field in books: YES
[23-Nov-2025 12:58:20 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:20 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:58:20 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:58:20 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:58:20 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:58:20 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:58:20 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:58:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:58:20 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:20 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:20 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:20 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:20 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:20 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:20 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:20 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:20 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:20 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:20 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:20 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:20 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:20 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:20 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:20 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:20 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:20 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:20 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:20 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:20 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:20 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:58:20 UTC] 📊 Database Info:
[23-Nov-2025 12:58:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:58:20 UTC]    Books columns count: 44
[23-Nov-2025 12:58:20 UTC]    Categories columns count: 7
[23-Nov-2025 12:58:20 UTC]    Language field in books: YES
[23-Nov-2025 12:58:20 UTC]    Format field in books: YES
[23-Nov-2025 12:58:20 UTC]    Description field in categories: YES
[23-Nov-2025 12:58:20 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:58:20 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:58:20 UTC]    Is_active field in books: YES
[23-Nov-2025 12:58:20 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:58:20 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:58:20 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:58:20 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:58:20 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:58:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:58:20 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:20 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:20 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:20 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:20 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:20 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:20 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:20 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:20 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:20 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:58:20 UTC] 📊 Database Info:
[23-Nov-2025 12:58:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:58:20 UTC]    Books columns count: 44
[23-Nov-2025 12:58:20 UTC]    Categories columns count: 7
[23-Nov-2025 12:58:20 UTC]    Language field in books: YES
[23-Nov-2025 12:58:20 UTC]    Format field in books: YES
[23-Nov-2025 12:58:20 UTC]    Description field in categories: YES
[23-Nov-2025 12:58:20 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:58:20 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:58:20 UTC]    Is_active field in books: YES
[23-Nov-2025 12:58:20 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:58:20 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:58:20 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:58:20 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:58:20 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:58:20 UTC] 📊 Database Info:
[23-Nov-2025 12:58:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:58:20 UTC]    Books columns count: 44
[23-Nov-2025 12:58:20 UTC]    Categories columns count: 7
[23-Nov-2025 12:58:20 UTC]    Language field in books: YES
[23-Nov-2025 12:58:20 UTC]    Format field in books: YES
[23-Nov-2025 12:58:20 UTC]    Description field in categories: YES
[23-Nov-2025 12:58:20 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:58:20 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:58:20 UTC]    Is_active field in books: YES
[23-Nov-2025 12:58:20 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:58:20 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:58:20 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:58:20 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:58:20 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:58:20 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:58:20 UTC] 📊 Database Info:
[23-Nov-2025 12:58:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:58:20 UTC]    Books columns count: 44
[23-Nov-2025 12:58:20 UTC]    Categories columns count: 7
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:58:20 UTC]    Language field in books: YES
[23-Nov-2025 12:58:20 UTC]    Format field in books: YES
[23-Nov-2025 12:58:20 UTC]    Description field in categories: YES
[23-Nov-2025 12:58:20 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:58:20 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:58:20 UTC]    Is_active field in books: YES
[23-Nov-2025 12:58:20 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:58:20 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:58:20 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:58:20 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:58:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:58:20 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:58:20 UTC] 📊 Database Info:
[23-Nov-2025 12:58:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:58:20 UTC]    Books columns count: 44
[23-Nov-2025 12:58:20 UTC]    Categories columns count: 7
[23-Nov-2025 12:58:20 UTC]    Language field in books: YES
[23-Nov-2025 12:58:20 UTC]    Format field in books: YES
[23-Nov-2025 12:58:20 UTC]    Description field in categories: YES
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:58:20 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:58:20 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:58:20 UTC]    Is_active field in books: YES
[23-Nov-2025 12:58:20 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:58:20 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:58:20 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:58:20 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:58:20 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:58:20 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:58:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:58:20 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:58:20 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:58:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:58:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:58:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:58:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:58:21 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:21 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:21 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:58:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:21 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:58:21 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:58:21 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:21 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:21 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:21 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:58:21 UTC] 📊 Database Info:
[23-Nov-2025 12:58:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:58:21 UTC]    Books columns count: 44
[23-Nov-2025 12:58:21 UTC]    Categories columns count: 7
[23-Nov-2025 12:58:21 UTC]    Language field in books: YES
[23-Nov-2025 12:58:21 UTC]    Format field in books: YES
[23-Nov-2025 12:58:21 UTC]    Description field in categories: YES
[23-Nov-2025 12:58:21 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:58:21 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:58:21 UTC]    Is_active field in books: YES
[23-Nov-2025 12:58:21 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:58:21 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:58:21 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:58:21 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:58:21 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:58:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:58:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:58:21 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:21 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:21 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:58:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:21 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:58:21 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:58:21 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:21 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:21 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:21 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:21 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:21 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:21 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:58:21 UTC] 📊 Database Info:
[23-Nov-2025 12:58:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:58:21 UTC]    Books columns count: 44
[23-Nov-2025 12:58:21 UTC]    Categories columns count: 7
[23-Nov-2025 12:58:21 UTC]    Language field in books: YES
[23-Nov-2025 12:58:21 UTC]    Format field in books: YES
[23-Nov-2025 12:58:21 UTC]    Description field in categories: YES
[23-Nov-2025 12:58:21 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:58:21 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:58:21 UTC]    Is_active field in books: YES
[23-Nov-2025 12:58:21 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:58:21 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:58:21 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:58:21 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:58:21 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:58:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:58:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:58:27 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:27 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:27 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:27 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:58:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:27 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:58:27 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:58:27 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:27 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:27 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:27 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:27 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:58:27 UTC] 📊 Database Info:
[23-Nov-2025 12:58:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:58:27 UTC]    Books columns count: 44
[23-Nov-2025 12:58:27 UTC]    Categories columns count: 7
[23-Nov-2025 12:58:27 UTC]    Language field in books: YES
[23-Nov-2025 12:58:27 UTC]    Format field in books: YES
[23-Nov-2025 12:58:27 UTC]    Description field in categories: YES
[23-Nov-2025 12:58:27 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:58:27 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:58:27 UTC]    Is_active field in books: YES
[23-Nov-2025 12:58:27 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:58:27 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:58:27 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:58:27 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:58:27 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:58:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:58:27 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":false}
[23-Nov-2025 12:58:27 UTC] ?? Processing: home_screen - show_welcome_section: 0
[23-Nov-2025 12:58:27 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[23-Nov-2025 12:58:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:58:27 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:27 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:27 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:27 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:58:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:27 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:58:27 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:58:27 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:27 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:27 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:27 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:27 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:27 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:27 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:27 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:27 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:58:27 UTC] 📊 Database Info:
[23-Nov-2025 12:58:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:58:27 UTC]    Books columns count: 44
[23-Nov-2025 12:58:27 UTC]    Categories columns count: 7
[23-Nov-2025 12:58:27 UTC]    Language field in books: YES
[23-Nov-2025 12:58:27 UTC]    Format field in books: YES
[23-Nov-2025 12:58:27 UTC]    Description field in categories: YES
[23-Nov-2025 12:58:27 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:58:27 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:58:27 UTC]    Is_active field in books: YES
[23-Nov-2025 12:58:27 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:58:27 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:58:27 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:58:27 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:58:27 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:58:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:58:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:58:27 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[23-Nov-2025 12:58:27 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[23-Nov-2025 12:58:27 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[23-Nov-2025 12:58:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:58:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:58:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 12:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:58:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:35 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:58:35 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:58:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 12:58:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:35 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:58:35 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:35 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 12:58:35 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 12:58:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 12:58:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 12:58:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 12:58:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 12:58:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:35 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:58:35 UTC] 📊 Database Info:
[23-Nov-2025 12:58:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:58:35 UTC]    Books columns count: 44
[23-Nov-2025 12:58:35 UTC]    Categories columns count: 7
[23-Nov-2025 12:58:35 UTC]    Language field in books: YES
[23-Nov-2025 12:58:35 UTC]    Format field in books: YES
[23-Nov-2025 12:58:35 UTC]    Description field in categories: YES
[23-Nov-2025 12:58:35 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:58:35 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:58:35 UTC]    Is_active field in books: YES
[23-Nov-2025 12:58:35 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:58:35 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:58:35 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:58:35 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:58:35 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:58:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:58:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:35 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:58:35 UTC] 📊 Database Info:
[23-Nov-2025 12:58:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:58:35 UTC]    Books columns count: 44
[23-Nov-2025 12:58:35 UTC]    Categories columns count: 7
[23-Nov-2025 12:58:35 UTC]    Language field in books: YES
[23-Nov-2025 12:58:35 UTC]    Format field in books: YES
[23-Nov-2025 12:58:35 UTC]    Description field in categories: YES
[23-Nov-2025 12:58:35 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:58:35 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:58:35 UTC]    Is_active field in books: YES
[23-Nov-2025 12:58:35 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:58:35 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:58:35 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:58:35 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:58:35 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:58:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:58:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 12:58:35 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 12:58:35 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 12:58:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 12:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 12:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 12:58:35 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 12:58:35 UTC] 📊 Database Info:
[23-Nov-2025 12:58:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 12:58:35 UTC]    Books columns count: 44
[23-Nov-2025 12:58:35 UTC]    Categories columns count: 7
[23-Nov-2025 12:58:35 UTC]    Language field in books: YES
[23-Nov-2025 12:58:35 UTC]    Format field in books: YES
[23-Nov-2025 12:58:35 UTC]    Description field in categories: YES
[23-Nov-2025 12:58:35 UTC]    Display_order field in categories: YES
[23-Nov-2025 12:58:35 UTC]    Is_active field in categories: YES
[23-Nov-2025 12:58:35 UTC]    Is_active field in books: YES
[23-Nov-2025 12:58:35 UTC]    External_download_link field in books: YES
[23-Nov-2025 12:58:35 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 12:58:35 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 12:58:35 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 12:58:35 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 12:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 12:58:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 12:58:35 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 12:58:35 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 13:31:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 13:31:41 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:31:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 13:31:41 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:31:41 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:31:41 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:31:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:31:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:31:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 13:31:41 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:31:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:31:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:31:41 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:31:41 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:31:41 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:31:41 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:31:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 13:31:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:31:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:31:41 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 13:31:41 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 13:31:41 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:31:41 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:31:41 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:31:41 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:31:41 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:31:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 13:31:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:31:41 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:31:41 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:31:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:31:41 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 13:31:41 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 13:31:41 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:31:41 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:31:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:31:41 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:31:41 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:31:41 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:31:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:31:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:31:41 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:31:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:31:41 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:31:41 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:31:41 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 13:31:41 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:31:41 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:31:41 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:31:41 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:31:41 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:31:41 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:31:41 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:31:41 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:31:41 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:31:41 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 13:31:41 UTC] 📊 Database Info:
[23-Nov-2025 13:31:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 13:31:41 UTC]    Books columns count: 44
[23-Nov-2025 13:31:41 UTC]    Categories columns count: 7
[23-Nov-2025 13:31:41 UTC]    Language field in books: YES
[23-Nov-2025 13:31:41 UTC]    Format field in books: YES
[23-Nov-2025 13:31:41 UTC]    Description field in categories: YES
[23-Nov-2025 13:31:41 UTC]    Display_order field in categories: YES
[23-Nov-2025 13:31:41 UTC]    Is_active field in categories: YES
[23-Nov-2025 13:31:41 UTC]    Is_active field in books: YES
[23-Nov-2025 13:31:41 UTC]    External_download_link field in books: YES
[23-Nov-2025 13:31:41 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 13:31:41 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 13:31:41 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 13:31:41 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 13:31:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 13:31:41 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 13:31:41 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 13:31:41 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:31:41 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:31:41 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 13:31:41 UTC] 📊 Database Info:
[23-Nov-2025 13:31:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 13:31:41 UTC]    Books columns count: 44
[23-Nov-2025 13:31:41 UTC]    Categories columns count: 7
[23-Nov-2025 13:31:41 UTC]    Language field in books: YES
[23-Nov-2025 13:31:41 UTC]    Format field in books: YES
[23-Nov-2025 13:31:41 UTC]    Description field in categories: YES
[23-Nov-2025 13:31:41 UTC]    Display_order field in categories: YES
[23-Nov-2025 13:31:41 UTC]    Is_active field in categories: YES
[23-Nov-2025 13:31:41 UTC]    Is_active field in books: YES
[23-Nov-2025 13:31:41 UTC]    External_download_link field in books: YES
[23-Nov-2025 13:31:41 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 13:31:41 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 13:31:41 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 13:31:41 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 13:31:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 13:31:41 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:31:41 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:31:41 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:31:41 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 13:31:41 UTC] 📊 Database Info:
[23-Nov-2025 13:31:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 13:31:41 UTC]    Books columns count: 44
[23-Nov-2025 13:31:41 UTC]    Categories columns count: 7
[23-Nov-2025 13:31:41 UTC]    Language field in books: YES
[23-Nov-2025 13:31:41 UTC]    Format field in books: YES
[23-Nov-2025 13:31:41 UTC]    Description field in categories: YES
[23-Nov-2025 13:31:41 UTC]    Display_order field in categories: YES
[23-Nov-2025 13:31:41 UTC]    Is_active field in categories: YES
[23-Nov-2025 13:31:41 UTC]    Is_active field in books: YES
[23-Nov-2025 13:31:41 UTC]    External_download_link field in books: YES
[23-Nov-2025 13:31:41 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 13:31:41 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 13:31:41 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 13:31:41 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 13:31:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 13:31:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 13:31:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 13:31:41 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 13:31:41 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 13:31:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 13:31:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:31:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:31:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:31:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:31:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:31:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:31:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:31:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:31:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:31:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:31:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:31:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:31:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 13:31:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:31:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:31:44 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 13:31:44 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 13:31:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:31:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:31:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:31:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:31:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:31:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:31:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:31:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:31:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:31:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:31:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:31:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:31:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:31:44 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 13:31:44 UTC] 📊 Database Info:
[23-Nov-2025 13:31:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 13:31:44 UTC]    Books columns count: 44
[23-Nov-2025 13:31:44 UTC]    Categories columns count: 7
[23-Nov-2025 13:31:44 UTC]    Language field in books: YES
[23-Nov-2025 13:31:44 UTC]    Format field in books: YES
[23-Nov-2025 13:31:44 UTC]    Description field in categories: YES
[23-Nov-2025 13:31:44 UTC]    Display_order field in categories: YES
[23-Nov-2025 13:31:44 UTC]    Is_active field in categories: YES
[23-Nov-2025 13:31:44 UTC]    Is_active field in books: YES
[23-Nov-2025 13:31:44 UTC]    External_download_link field in books: YES
[23-Nov-2025 13:31:44 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 13:31:44 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 13:31:44 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 13:31:44 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 13:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 13:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 13:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 13:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 13:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 13:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 13:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 13:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 13:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 13:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 13:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 13:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 13:31:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 13:31:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 13:31:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:31:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:31:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:31:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:31:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 13:31:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:31:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:31:48 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 13:31:48 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 13:31:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:31:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:31:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:31:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:31:48 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 13:31:48 UTC] 📊 Database Info:
[23-Nov-2025 13:31:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 13:31:48 UTC]    Books columns count: 44
[23-Nov-2025 13:31:48 UTC]    Categories columns count: 7
[23-Nov-2025 13:31:48 UTC]    Language field in books: YES
[23-Nov-2025 13:31:48 UTC]    Format field in books: YES
[23-Nov-2025 13:31:48 UTC]    Description field in categories: YES
[23-Nov-2025 13:31:48 UTC]    Display_order field in categories: YES
[23-Nov-2025 13:31:48 UTC]    Is_active field in categories: YES
[23-Nov-2025 13:31:48 UTC]    Is_active field in books: YES
[23-Nov-2025 13:31:48 UTC]    External_download_link field in books: YES
[23-Nov-2025 13:31:48 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 13:31:48 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 13:31:48 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 13:31:48 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 13:31:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 13:31:48 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[23-Nov-2025 13:31:48 UTC] ?? Processing: home_screen - show_welcome_section: 1
[23-Nov-2025 13:31:48 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[23-Nov-2025 13:31:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 13:31:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:31:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:31:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:31:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:31:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 13:31:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:31:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:31:48 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 13:31:48 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 13:31:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:31:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:31:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:31:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:31:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:31:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:31:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:31:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:31:48 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 13:31:48 UTC] 📊 Database Info:
[23-Nov-2025 13:31:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 13:31:48 UTC]    Books columns count: 44
[23-Nov-2025 13:31:48 UTC]    Categories columns count: 7
[23-Nov-2025 13:31:48 UTC]    Language field in books: YES
[23-Nov-2025 13:31:48 UTC]    Format field in books: YES
[23-Nov-2025 13:31:48 UTC]    Description field in categories: YES
[23-Nov-2025 13:31:48 UTC]    Display_order field in categories: YES
[23-Nov-2025 13:31:48 UTC]    Is_active field in categories: YES
[23-Nov-2025 13:31:48 UTC]    Is_active field in books: YES
[23-Nov-2025 13:31:48 UTC]    External_download_link field in books: YES
[23-Nov-2025 13:31:48 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 13:31:48 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 13:31:48 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 13:31:48 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 13:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 13:31:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 13:31:48 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[23-Nov-2025 13:31:48 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[23-Nov-2025 13:31:48 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[23-Nov-2025 13:41:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 13:41:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 13:41:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:41:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:41:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:41:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:41:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 13:41:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:41:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:41:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:41:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:41:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 13:41:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:41:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:41:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:41:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 13:41:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:41:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:41:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:41:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:41:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 13:41:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:41:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:41:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:41:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:41:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:41:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 13:41:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:41:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:41:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:41:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:41:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:41:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:41:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 13:41:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:41:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:41:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:41:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 13:41:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 13:41:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:41:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:41:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:41:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:41:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:41:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:41:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:41:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:41:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:41:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:41:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:41:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 13:41:38 UTC] 📊 Database Info:
[23-Nov-2025 13:41:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 13:41:38 UTC]    Books columns count: 44
[23-Nov-2025 13:41:38 UTC]    Categories columns count: 7
[23-Nov-2025 13:41:38 UTC]    Language field in books: YES
[23-Nov-2025 13:41:38 UTC]    Format field in books: YES
[23-Nov-2025 13:41:38 UTC]    Description field in categories: YES
[23-Nov-2025 13:41:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 13:41:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 13:41:38 UTC]    Is_active field in books: YES
[23-Nov-2025 13:41:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 13:41:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 13:41:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 13:41:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 13:41:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 13:41:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 13:41:38 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 13:41:38 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 13:41:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:41:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:41:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 13:41:38 UTC] 📊 Database Info:
[23-Nov-2025 13:41:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 13:41:38 UTC]    Books columns count: 44
[23-Nov-2025 13:41:38 UTC]    Categories columns count: 7
[23-Nov-2025 13:41:38 UTC]    Language field in books: YES
[23-Nov-2025 13:41:38 UTC]    Format field in books: YES
[23-Nov-2025 13:41:38 UTC]    Description field in categories: YES
[23-Nov-2025 13:41:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 13:41:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 13:41:38 UTC]    Is_active field in books: YES
[23-Nov-2025 13:41:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 13:41:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 13:41:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 13:41:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 13:41:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 13:41:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 13:41:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 13:41:38 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 13:41:38 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 13:41:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:41:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:41:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:41:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 13:41:38 UTC] 📊 Database Info:
[23-Nov-2025 13:41:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 13:41:38 UTC]    Books columns count: 44
[23-Nov-2025 13:41:38 UTC]    Categories columns count: 7
[23-Nov-2025 13:41:38 UTC]    Language field in books: YES
[23-Nov-2025 13:41:38 UTC]    Format field in books: YES
[23-Nov-2025 13:41:38 UTC]    Description field in categories: YES
[23-Nov-2025 13:41:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 13:41:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 13:41:38 UTC]    Is_active field in books: YES
[23-Nov-2025 13:41:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 13:41:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 13:41:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 13:41:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 13:41:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 13:41:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 13:41:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 13:41:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 13:41:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:41:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:41:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:41:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:41:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 13:41:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:41:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:41:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:41:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:41:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:41:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:41:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:41:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:41:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:41:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 13:41:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:41:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:41:44 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 13:41:44 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 13:41:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:41:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:41:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:41:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:41:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:41:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:41:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 13:41:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:41:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:41:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:41:44 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 13:41:44 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 13:41:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:41:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:41:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:41:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:41:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:41:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 13:41:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:41:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:41:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:41:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:41:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:41:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:41:44 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 13:41:44 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 13:41:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:41:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:41:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:41:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:41:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:41:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:41:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:41:44 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 13:41:44 UTC] 📊 Database Info:
[23-Nov-2025 13:41:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 13:41:44 UTC]    Books columns count: 44
[23-Nov-2025 13:41:44 UTC]    Categories columns count: 7
[23-Nov-2025 13:41:44 UTC]    Language field in books: YES
[23-Nov-2025 13:41:44 UTC]    Format field in books: YES
[23-Nov-2025 13:41:44 UTC]    Description field in categories: YES
[23-Nov-2025 13:41:44 UTC]    Display_order field in categories: YES
[23-Nov-2025 13:41:44 UTC]    Is_active field in categories: YES
[23-Nov-2025 13:41:44 UTC]    Is_active field in books: YES
[23-Nov-2025 13:41:44 UTC]    External_download_link field in books: YES
[23-Nov-2025 13:41:44 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 13:41:44 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 13:41:44 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 13:41:44 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 13:41:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 13:41:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:41:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:41:44 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 13:41:44 UTC] 📊 Database Info:
[23-Nov-2025 13:41:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 13:41:44 UTC]    Books columns count: 44
[23-Nov-2025 13:41:44 UTC]    Categories columns count: 7
[23-Nov-2025 13:41:44 UTC]    Language field in books: YES
[23-Nov-2025 13:41:44 UTC]    Format field in books: YES
[23-Nov-2025 13:41:44 UTC]    Description field in categories: YES
[23-Nov-2025 13:41:44 UTC]    Display_order field in categories: YES
[23-Nov-2025 13:41:44 UTC]    Is_active field in categories: YES
[23-Nov-2025 13:41:44 UTC]    Is_active field in books: YES
[23-Nov-2025 13:41:44 UTC]    External_download_link field in books: YES
[23-Nov-2025 13:41:44 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 13:41:44 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 13:41:44 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 13:41:44 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 13:41:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 13:41:44 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 13:41:44 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 13:41:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:41:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:41:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:41:44 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 13:41:44 UTC] 📊 Database Info:
[23-Nov-2025 13:41:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 13:41:44 UTC]    Books columns count: 44
[23-Nov-2025 13:41:44 UTC]    Categories columns count: 7
[23-Nov-2025 13:41:44 UTC]    Language field in books: YES
[23-Nov-2025 13:41:44 UTC]    Format field in books: YES
[23-Nov-2025 13:41:44 UTC]    Description field in categories: YES
[23-Nov-2025 13:41:44 UTC]    Display_order field in categories: YES
[23-Nov-2025 13:41:44 UTC]    Is_active field in categories: YES
[23-Nov-2025 13:41:44 UTC]    Is_active field in books: YES
[23-Nov-2025 13:41:44 UTC]    External_download_link field in books: YES
[23-Nov-2025 13:41:44 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 13:41:44 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 13:41:44 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 13:41:44 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 13:41:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 13:41:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 13:41:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 13:41:44 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 13:41:44 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 13:41:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 13:41:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:41:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:41:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:41:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:41:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:41:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:41:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:41:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:41:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:41:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:41:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:41:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:41:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 13:41:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:41:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:41:46 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 13:41:46 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 13:41:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:41:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:41:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:41:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:41:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:41:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:41:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:41:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:41:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:41:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:41:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:41:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:41:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:41:46 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 13:41:46 UTC] 📊 Database Info:
[23-Nov-2025 13:41:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 13:41:46 UTC]    Books columns count: 44
[23-Nov-2025 13:41:46 UTC]    Categories columns count: 7
[23-Nov-2025 13:41:46 UTC]    Language field in books: YES
[23-Nov-2025 13:41:46 UTC]    Format field in books: YES
[23-Nov-2025 13:41:46 UTC]    Description field in categories: YES
[23-Nov-2025 13:41:46 UTC]    Display_order field in categories: YES
[23-Nov-2025 13:41:46 UTC]    Is_active field in categories: YES
[23-Nov-2025 13:41:46 UTC]    Is_active field in books: YES
[23-Nov-2025 13:41:46 UTC]    External_download_link field in books: YES
[23-Nov-2025 13:41:46 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 13:41:46 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 13:41:46 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 13:41:46 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 13:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 13:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 13:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 13:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 13:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 13:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 13:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 13:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 13:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 13:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 13:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 13:41:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 13:41:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 13:41:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 13:41:50 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:41:50 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:41:50 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:41:50 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:41:50 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:41:50 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:41:50 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:41:50 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:41:51 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:41:51 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:41:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 13:41:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:41:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:41:51 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 13:41:51 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 13:41:51 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:41:51 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:41:51 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:41:51 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:41:51 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:41:51 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:41:51 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 13:41:51 UTC] 📊 Database Info:
[23-Nov-2025 13:41:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 13:41:51 UTC]    Books columns count: 44
[23-Nov-2025 13:41:51 UTC]    Categories columns count: 7
[23-Nov-2025 13:41:51 UTC]    Language field in books: YES
[23-Nov-2025 13:41:51 UTC]    Format field in books: YES
[23-Nov-2025 13:41:51 UTC]    Description field in categories: YES
[23-Nov-2025 13:41:51 UTC]    Display_order field in categories: YES
[23-Nov-2025 13:41:51 UTC]    Is_active field in categories: YES
[23-Nov-2025 13:41:51 UTC]    Is_active field in books: YES
[23-Nov-2025 13:41:51 UTC]    External_download_link field in books: YES
[23-Nov-2025 13:41:51 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 13:41:51 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 13:41:51 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 13:41:51 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 13:41:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 13:41:51 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[23-Nov-2025 13:41:51 UTC] ?? Processing: home_screen - show_welcome_section: 1
[23-Nov-2025 13:41:51 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[23-Nov-2025 13:41:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 13:41:51 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:41:51 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:41:51 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:41:51 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:41:51 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:41:51 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:41:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 13:41:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:41:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 13:41:51 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 13:41:51 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 13:41:51 UTC] ℹ️ Column institution already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column language already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column format already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 13:41:51 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 13:41:51 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 13:41:51 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 13:41:51 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 13:41:51 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 13:41:51 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 13:41:51 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 13:41:51 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 13:41:51 UTC] 📊 Database Info:
[23-Nov-2025 13:41:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 13:41:51 UTC]    Books columns count: 44
[23-Nov-2025 13:41:51 UTC]    Categories columns count: 7
[23-Nov-2025 13:41:51 UTC]    Language field in books: YES
[23-Nov-2025 13:41:51 UTC]    Format field in books: YES
[23-Nov-2025 13:41:51 UTC]    Description field in categories: YES
[23-Nov-2025 13:41:51 UTC]    Display_order field in categories: YES
[23-Nov-2025 13:41:51 UTC]    Is_active field in categories: YES
[23-Nov-2025 13:41:51 UTC]    Is_active field in books: YES
[23-Nov-2025 13:41:51 UTC]    External_download_link field in books: YES
[23-Nov-2025 13:41:51 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 13:41:51 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 13:41:51 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 13:41:51 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 13:41:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 13:41:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 13:41:51 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[23-Nov-2025 13:41:51 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[23-Nov-2025 13:41:51 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[23-Nov-2025 14:12:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 14:12:05 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:12:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 14:12:05 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:12:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 14:12:05 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:12:05 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:12:05 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:12:05 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:12:05 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:12:05 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:12:05 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:12:05 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:12:05 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:12:05 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:12:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 14:12:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:12:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:12:05 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 14:12:05 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 14:12:05 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:12:05 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:12:05 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:12:05 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:12:05 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:12:05 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:12:05 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:12:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 14:12:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 14:12:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:12:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:12:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:12:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:12:05 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 14:12:05 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 14:12:05 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 14:12:05 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 14:12:05 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:12:05 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:12:05 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:12:05 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:12:05 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:12:05 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:12:05 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:12:05 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:12:05 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 14:12:05 UTC] 📊 Database Info:
[23-Nov-2025 14:12:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 14:12:05 UTC]    Books columns count: 44
[23-Nov-2025 14:12:05 UTC]    Categories columns count: 7
[23-Nov-2025 14:12:05 UTC]    Language field in books: YES
[23-Nov-2025 14:12:05 UTC]    Format field in books: YES
[23-Nov-2025 14:12:05 UTC]    Description field in categories: YES
[23-Nov-2025 14:12:05 UTC]    Display_order field in categories: YES
[23-Nov-2025 14:12:05 UTC]    Is_active field in categories: YES
[23-Nov-2025 14:12:05 UTC]    Is_active field in books: YES
[23-Nov-2025 14:12:05 UTC]    External_download_link field in books: YES
[23-Nov-2025 14:12:05 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 14:12:05 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 14:12:05 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 14:12:05 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 14:12:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 14:12:05 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 14:12:05 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 14:12:05 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:12:05 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:12:05 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 14:12:05 UTC] 📊 Database Info:
[23-Nov-2025 14:12:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 14:12:05 UTC]    Books columns count: 44
[23-Nov-2025 14:12:05 UTC]    Categories columns count: 7
[23-Nov-2025 14:12:05 UTC]    Language field in books: YES
[23-Nov-2025 14:12:05 UTC]    Format field in books: YES
[23-Nov-2025 14:12:05 UTC]    Description field in categories: YES
[23-Nov-2025 14:12:05 UTC]    Display_order field in categories: YES
[23-Nov-2025 14:12:05 UTC]    Is_active field in categories: YES
[23-Nov-2025 14:12:05 UTC]    Is_active field in books: YES
[23-Nov-2025 14:12:05 UTC]    External_download_link field in books: YES
[23-Nov-2025 14:12:05 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 14:12:05 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 14:12:05 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 14:12:05 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 14:12:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 14:12:05 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:12:05 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:12:05 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:12:05 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 14:12:05 UTC] 📊 Database Info:
[23-Nov-2025 14:12:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 14:12:05 UTC]    Books columns count: 44
[23-Nov-2025 14:12:05 UTC]    Categories columns count: 7
[23-Nov-2025 14:12:05 UTC]    Language field in books: YES
[23-Nov-2025 14:12:05 UTC]    Format field in books: YES
[23-Nov-2025 14:12:05 UTC]    Description field in categories: YES
[23-Nov-2025 14:12:05 UTC]    Display_order field in categories: YES
[23-Nov-2025 14:12:05 UTC]    Is_active field in categories: YES
[23-Nov-2025 14:12:05 UTC]    Is_active field in books: YES
[23-Nov-2025 14:12:05 UTC]    External_download_link field in books: YES
[23-Nov-2025 14:12:05 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 14:12:05 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 14:12:05 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 14:12:05 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 14:12:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 14:12:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 14:12:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 14:12:05 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 14:12:05 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 14:12:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 14:12:07 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:12:07 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:12:07 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:12:07 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:12:07 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:12:07 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:12:07 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:12:07 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:12:07 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:12:07 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:12:07 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:12:07 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:12:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 14:12:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:12:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:12:07 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 14:12:07 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 14:12:07 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:12:07 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:12:07 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:12:07 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:12:07 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:12:07 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:12:07 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:12:07 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:12:07 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:12:07 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:12:07 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:12:07 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:12:07 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:12:07 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 14:12:07 UTC] 📊 Database Info:
[23-Nov-2025 14:12:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 14:12:07 UTC]    Books columns count: 44
[23-Nov-2025 14:12:07 UTC]    Categories columns count: 7
[23-Nov-2025 14:12:07 UTC]    Language field in books: YES
[23-Nov-2025 14:12:07 UTC]    Format field in books: YES
[23-Nov-2025 14:12:07 UTC]    Description field in categories: YES
[23-Nov-2025 14:12:07 UTC]    Display_order field in categories: YES
[23-Nov-2025 14:12:07 UTC]    Is_active field in categories: YES
[23-Nov-2025 14:12:07 UTC]    Is_active field in books: YES
[23-Nov-2025 14:12:07 UTC]    External_download_link field in books: YES
[23-Nov-2025 14:12:07 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 14:12:07 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 14:12:07 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 14:12:07 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 14:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 14:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 14:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 14:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 14:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 14:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 14:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 14:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 14:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 14:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 14:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 14:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 14:12:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 14:12:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 14:12:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:12:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:12:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:12:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:12:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:12:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:12:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:12:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:12:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:12:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:12:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:12:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:12:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 14:12:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:12:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:12:09 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 14:12:09 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 14:12:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:12:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:12:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:12:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:12:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:12:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:12:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:12:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:12:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:12:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:12:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:12:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:12:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:12:09 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 14:12:09 UTC] 📊 Database Info:
[23-Nov-2025 14:12:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 14:12:09 UTC]    Books columns count: 44
[23-Nov-2025 14:12:09 UTC]    Categories columns count: 7
[23-Nov-2025 14:12:09 UTC]    Language field in books: YES
[23-Nov-2025 14:12:09 UTC]    Format field in books: YES
[23-Nov-2025 14:12:09 UTC]    Description field in categories: YES
[23-Nov-2025 14:12:09 UTC]    Display_order field in categories: YES
[23-Nov-2025 14:12:09 UTC]    Is_active field in categories: YES
[23-Nov-2025 14:12:09 UTC]    Is_active field in books: YES
[23-Nov-2025 14:12:09 UTC]    External_download_link field in books: YES
[23-Nov-2025 14:12:09 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 14:12:09 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 14:12:09 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 14:12:09 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 14:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 14:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 14:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 14:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 14:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 14:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 14:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 14:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 14:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 14:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 14:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 14:12:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 14:12:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 14:12:09 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[23-Nov-2025 14:12:09 UTC] ?? Processing: home_screen - show_welcome_section: 1
[23-Nov-2025 14:12:09 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[23-Nov-2025 14:12:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 14:12:10 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:12:10 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:12:10 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:12:10 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:12:10 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:12:10 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:12:10 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:12:10 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:12:10 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:12:10 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:12:10 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:12:10 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:12:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 14:12:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:12:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:12:10 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 14:12:10 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 14:12:10 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:12:10 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:12:10 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:12:10 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:12:10 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:12:10 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:12:10 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:12:10 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:12:10 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:12:10 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:12:10 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:12:10 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:12:10 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:12:10 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 14:12:10 UTC] 📊 Database Info:
[23-Nov-2025 14:12:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 14:12:10 UTC]    Books columns count: 44
[23-Nov-2025 14:12:10 UTC]    Categories columns count: 7
[23-Nov-2025 14:12:10 UTC]    Language field in books: YES
[23-Nov-2025 14:12:10 UTC]    Format field in books: YES
[23-Nov-2025 14:12:10 UTC]    Description field in categories: YES
[23-Nov-2025 14:12:10 UTC]    Display_order field in categories: YES
[23-Nov-2025 14:12:10 UTC]    Is_active field in categories: YES
[23-Nov-2025 14:12:10 UTC]    Is_active field in books: YES
[23-Nov-2025 14:12:10 UTC]    External_download_link field in books: YES
[23-Nov-2025 14:12:10 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 14:12:10 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 14:12:10 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 14:12:10 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 14:12:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 14:12:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 14:12:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 14:12:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 14:12:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 14:12:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 14:12:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 14:12:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 14:12:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 14:12:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 14:12:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 14:12:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 14:12:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 14:12:10 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[23-Nov-2025 14:12:10 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[23-Nov-2025 14:12:10 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[23-Nov-2025 14:49:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 14:49:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:49:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 14:49:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:49:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 14:49:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:49:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:49:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:49:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:49:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:49:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:49:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:49:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:49:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:49:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 14:49:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:49:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:49:44 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 14:49:44 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 14:49:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:49:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:49:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:49:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:49:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:49:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:49:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 14:49:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:49:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:49:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:49:44 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 14:49:44 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 14:49:44 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 14:49:44 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 14:49:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:49:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:49:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:49:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:49:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:49:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:49:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:49:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:49:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:49:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:49:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:49:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:49:44 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 14:49:44 UTC] 📊 Database Info:
[23-Nov-2025 14:49:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 14:49:44 UTC]    Books columns count: 44
[23-Nov-2025 14:49:44 UTC]    Categories columns count: 7
[23-Nov-2025 14:49:44 UTC]    Language field in books: YES
[23-Nov-2025 14:49:44 UTC]    Format field in books: YES
[23-Nov-2025 14:49:44 UTC]    Description field in categories: YES
[23-Nov-2025 14:49:44 UTC]    Display_order field in categories: YES
[23-Nov-2025 14:49:44 UTC]    Is_active field in categories: YES
[23-Nov-2025 14:49:44 UTC]    Is_active field in books: YES
[23-Nov-2025 14:49:44 UTC]    External_download_link field in books: YES
[23-Nov-2025 14:49:44 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 14:49:44 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 14:49:44 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 14:49:44 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 14:49:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 14:49:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 14:49:44 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 14:49:44 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 14:49:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:49:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:49:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:49:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:49:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:49:44 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 14:49:44 UTC] 📊 Database Info:
[23-Nov-2025 14:49:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 14:49:44 UTC]    Books columns count: 44
[23-Nov-2025 14:49:44 UTC]    Categories columns count: 7
[23-Nov-2025 14:49:44 UTC]    Language field in books: YES
[23-Nov-2025 14:49:44 UTC]    Format field in books: YES
[23-Nov-2025 14:49:44 UTC]    Description field in categories: YES
[23-Nov-2025 14:49:44 UTC]    Display_order field in categories: YES
[23-Nov-2025 14:49:44 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 14:49:44 UTC]    Is_active field in categories: YES
[23-Nov-2025 14:49:44 UTC] 📊 Database Info:
[23-Nov-2025 14:49:44 UTC]    Is_active field in books: YES
[23-Nov-2025 14:49:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 14:49:44 UTC]    Books columns count: 44
[23-Nov-2025 14:49:44 UTC]    External_download_link field in books: YES
[23-Nov-2025 14:49:44 UTC]    Categories columns count: 7
[23-Nov-2025 14:49:44 UTC]    Language field in books: YES
[23-Nov-2025 14:49:44 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 14:49:44 UTC]    Format field in books: YES
[23-Nov-2025 14:49:44 UTC]    Description field in categories: YES
[23-Nov-2025 14:49:44 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 14:49:44 UTC]    Display_order field in categories: YES
[23-Nov-2025 14:49:44 UTC]    Is_active field in categories: YES
[23-Nov-2025 14:49:44 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 14:49:44 UTC]    Is_active field in books: YES
[23-Nov-2025 14:49:44 UTC]    External_download_link field in books: YES
[23-Nov-2025 14:49:44 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 14:49:44 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 14:49:44 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 14:49:44 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 14:49:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 14:49:44 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 14:49:44 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 14:49:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 14:49:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 14:49:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 14:49:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:49:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:49:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:49:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:49:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:49:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:49:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:49:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:49:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:49:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:49:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:49:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:49:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 14:49:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:49:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:49:46 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 14:49:46 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 14:49:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:49:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:49:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:49:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:49:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:49:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:49:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:49:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:49:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:49:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:49:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:49:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:49:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:49:46 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 14:49:46 UTC] 📊 Database Info:
[23-Nov-2025 14:49:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 14:49:46 UTC]    Books columns count: 44
[23-Nov-2025 14:49:46 UTC]    Categories columns count: 7
[23-Nov-2025 14:49:46 UTC]    Language field in books: YES
[23-Nov-2025 14:49:46 UTC]    Format field in books: YES
[23-Nov-2025 14:49:46 UTC]    Description field in categories: YES
[23-Nov-2025 14:49:46 UTC]    Display_order field in categories: YES
[23-Nov-2025 14:49:46 UTC]    Is_active field in categories: YES
[23-Nov-2025 14:49:46 UTC]    Is_active field in books: YES
[23-Nov-2025 14:49:46 UTC]    External_download_link field in books: YES
[23-Nov-2025 14:49:46 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 14:49:46 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 14:49:46 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 14:49:46 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 14:49:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 14:49:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 14:49:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 14:49:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 14:49:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 14:49:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 14:49:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 14:49:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 14:49:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 14:49:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 14:49:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 14:49:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 14:49:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 14:49:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 14:49:49 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:49:49 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:49:49 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:49:49 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:49:49 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:49:50 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:49:50 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:49:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 14:49:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:49:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:49:50 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 14:49:50 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 14:49:50 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:49:50 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:49:50 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:49:50 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:49:50 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:49:50 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:49:50 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 14:49:50 UTC] 📊 Database Info:
[23-Nov-2025 14:49:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 14:49:50 UTC]    Books columns count: 44
[23-Nov-2025 14:49:50 UTC]    Categories columns count: 7
[23-Nov-2025 14:49:50 UTC]    Language field in books: YES
[23-Nov-2025 14:49:50 UTC]    Format field in books: YES
[23-Nov-2025 14:49:50 UTC]    Description field in categories: YES
[23-Nov-2025 14:49:50 UTC]    Display_order field in categories: YES
[23-Nov-2025 14:49:50 UTC]    Is_active field in categories: YES
[23-Nov-2025 14:49:50 UTC]    Is_active field in books: YES
[23-Nov-2025 14:49:50 UTC]    External_download_link field in books: YES
[23-Nov-2025 14:49:50 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 14:49:50 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 14:49:50 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 14:49:50 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 14:49:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 14:49:50 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[23-Nov-2025 14:49:50 UTC] ?? Processing: home_screen - show_welcome_section: 1
[23-Nov-2025 14:49:50 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[23-Nov-2025 14:49:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 14:49:50 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:49:50 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:49:50 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:49:50 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:49:50 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:49:50 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:49:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 14:49:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:49:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 14:49:50 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 14:49:50 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 14:49:50 UTC] ℹ️ Column institution already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column language already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column format already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 14:49:50 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 14:49:50 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 14:49:50 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 14:49:50 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 14:49:50 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 14:49:50 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 14:49:50 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 14:49:50 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 14:49:50 UTC] 📊 Database Info:
[23-Nov-2025 14:49:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 14:49:50 UTC]    Books columns count: 44
[23-Nov-2025 14:49:50 UTC]    Categories columns count: 7
[23-Nov-2025 14:49:50 UTC]    Language field in books: YES
[23-Nov-2025 14:49:50 UTC]    Format field in books: YES
[23-Nov-2025 14:49:50 UTC]    Description field in categories: YES
[23-Nov-2025 14:49:50 UTC]    Display_order field in categories: YES
[23-Nov-2025 14:49:50 UTC]    Is_active field in categories: YES
[23-Nov-2025 14:49:50 UTC]    Is_active field in books: YES
[23-Nov-2025 14:49:50 UTC]    External_download_link field in books: YES
[23-Nov-2025 14:49:50 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 14:49:50 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 14:49:50 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 14:49:50 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 14:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 14:49:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 14:49:50 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[23-Nov-2025 14:49:50 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[23-Nov-2025 14:49:50 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[23-Nov-2025 15:49:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 15:49:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 15:49:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 15:49:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 15:49:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 15:49:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 15:49:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 15:49:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 15:49:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 15:49:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 15:49:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 15:49:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 15:49:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 15:49:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 15:49:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 15:49:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 15:49:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 15:49:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 15:49:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 15:49:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 15:49:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 15:49:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 15:49:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 15:49:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 15:49:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 15:49:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 15:49:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 15:49:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 15:49:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 15:49:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 15:49:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 15:49:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 15:49:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 15:49:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 15:49:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 15:49:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 15:49:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 15:49:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 15:49:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 15:49:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 15:49:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 15:49:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 15:49:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 15:49:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 15:49:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 15:49:36 UTC] 📊 Database Info:
[23-Nov-2025 15:49:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 15:49:36 UTC]    Books columns count: 44
[23-Nov-2025 15:49:36 UTC]    Categories columns count: 7
[23-Nov-2025 15:49:36 UTC]    Language field in books: YES
[23-Nov-2025 15:49:36 UTC]    Format field in books: YES
[23-Nov-2025 15:49:36 UTC]    Description field in categories: YES
[23-Nov-2025 15:49:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 15:49:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 15:49:36 UTC]    Is_active field in books: YES
[23-Nov-2025 15:49:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 15:49:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 15:49:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 15:49:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 15:49:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 15:49:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 15:49:36 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 15:49:36 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 15:49:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 15:49:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 15:49:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 15:49:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 15:49:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 15:49:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 15:49:36 UTC] 📊 Database Info:
[23-Nov-2025 15:49:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 15:49:36 UTC]    Books columns count: 44
[23-Nov-2025 15:49:36 UTC]    Categories columns count: 7
[23-Nov-2025 15:49:36 UTC]    Language field in books: YES
[23-Nov-2025 15:49:36 UTC]    Format field in books: YES
[23-Nov-2025 15:49:36 UTC]    Description field in categories: YES
[23-Nov-2025 15:49:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 15:49:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 15:49:36 UTC]    Is_active field in books: YES
[23-Nov-2025 15:49:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 15:49:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 15:49:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 15:49:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 15:49:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 15:49:36 UTC] 📊 Database Info:
[23-Nov-2025 15:49:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 15:49:36 UTC]    Books columns count: 44
[23-Nov-2025 15:49:36 UTC]    Categories columns count: 7
[23-Nov-2025 15:49:36 UTC]    Language field in books: YES
[23-Nov-2025 15:49:36 UTC]    Format field in books: YES
[23-Nov-2025 15:49:36 UTC]    Description field in categories: YES
[23-Nov-2025 15:49:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 15:49:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 15:49:36 UTC]    Is_active field in books: YES
[23-Nov-2025 15:49:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 15:49:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 15:49:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 15:49:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 15:49:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 15:49:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 15:49:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 15:49:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 15:49:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 15:49:36 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 15:49:36 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 15:49:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 15:49:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 15:49:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 15:49:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 15:49:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 15:49:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 15:49:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 15:49:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 15:49:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 15:49:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 15:49:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 15:49:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 15:49:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 15:49:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 15:49:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 15:49:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 15:49:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 15:49:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 15:49:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 15:49:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 15:49:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 15:49:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 15:49:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 15:49:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 15:49:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 15:49:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 15:49:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 15:49:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 15:49:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 15:49:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 15:49:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 15:49:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 15:49:38 UTC] 📊 Database Info:
[23-Nov-2025 15:49:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 15:49:38 UTC]    Books columns count: 44
[23-Nov-2025 15:49:38 UTC]    Categories columns count: 7
[23-Nov-2025 15:49:38 UTC]    Language field in books: YES
[23-Nov-2025 15:49:38 UTC]    Format field in books: YES
[23-Nov-2025 15:49:38 UTC]    Description field in categories: YES
[23-Nov-2025 15:49:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 15:49:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 15:49:38 UTC]    Is_active field in books: YES
[23-Nov-2025 15:49:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 15:49:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 15:49:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 15:49:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 15:49:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 15:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 15:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 15:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 15:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 15:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 15:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 15:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 15:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 15:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 15:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 15:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 15:49:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 15:49:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 15:49:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 15:49:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 15:49:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 15:49:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 15:49:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 15:49:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 15:49:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 15:49:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 15:49:45 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 15:49:45 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 15:49:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 15:49:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 15:49:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 15:49:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 15:49:45 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 15:49:45 UTC] 📊 Database Info:
[23-Nov-2025 15:49:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 15:49:45 UTC]    Books columns count: 44
[23-Nov-2025 15:49:45 UTC]    Categories columns count: 7
[23-Nov-2025 15:49:45 UTC]    Language field in books: YES
[23-Nov-2025 15:49:45 UTC]    Format field in books: YES
[23-Nov-2025 15:49:45 UTC]    Description field in categories: YES
[23-Nov-2025 15:49:45 UTC]    Display_order field in categories: YES
[23-Nov-2025 15:49:45 UTC]    Is_active field in categories: YES
[23-Nov-2025 15:49:45 UTC]    Is_active field in books: YES
[23-Nov-2025 15:49:45 UTC]    External_download_link field in books: YES
[23-Nov-2025 15:49:45 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 15:49:45 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 15:49:45 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 15:49:45 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 15:49:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 15:49:45 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":false}
[23-Nov-2025 15:49:45 UTC] ?? Processing: home_screen - show_welcome_section: 0
[23-Nov-2025 15:49:45 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[23-Nov-2025 15:49:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 15:49:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 15:49:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 15:49:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 15:49:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 15:49:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 15:49:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 15:49:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 15:49:45 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 15:49:45 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 15:49:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 15:49:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 15:49:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 15:49:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 15:49:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 15:49:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 15:49:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 15:49:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 15:49:45 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 15:49:45 UTC] 📊 Database Info:
[23-Nov-2025 15:49:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 15:49:45 UTC]    Books columns count: 44
[23-Nov-2025 15:49:45 UTC]    Categories columns count: 7
[23-Nov-2025 15:49:45 UTC]    Language field in books: YES
[23-Nov-2025 15:49:45 UTC]    Format field in books: YES
[23-Nov-2025 15:49:45 UTC]    Description field in categories: YES
[23-Nov-2025 15:49:45 UTC]    Display_order field in categories: YES
[23-Nov-2025 15:49:45 UTC]    Is_active field in categories: YES
[23-Nov-2025 15:49:45 UTC]    Is_active field in books: YES
[23-Nov-2025 15:49:45 UTC]    External_download_link field in books: YES
[23-Nov-2025 15:49:45 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 15:49:45 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 15:49:45 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 15:49:45 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 15:49:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 15:49:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 15:49:45 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":false}
[23-Nov-2025 15:49:45 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[23-Nov-2025 15:49:45 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[23-Nov-2025 16:08:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:08:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:08:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:08:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:08:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:08:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:08:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:08:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:08:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:08:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:08:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:08:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:08:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:08:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:08:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:08:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:08:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:08:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:08:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:08:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:08:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:08:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:08:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:08:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:08:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:08:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:08:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:08:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:08:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:08:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:08:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:08:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:08:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:08:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:08:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:08:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:08:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:08:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:08:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:08:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:08:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:08:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:08:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:08:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:08:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:08:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:08:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:08:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:08:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:08:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:08:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:08:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:08:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:08:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:08:36 UTC] 📊 Database Info:
[23-Nov-2025 16:08:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:08:36 UTC]    Books columns count: 44
[23-Nov-2025 16:08:36 UTC]    Categories columns count: 7
[23-Nov-2025 16:08:36 UTC]    Language field in books: YES
[23-Nov-2025 16:08:36 UTC]    Format field in books: YES
[23-Nov-2025 16:08:36 UTC]    Description field in categories: YES
[23-Nov-2025 16:08:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:08:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:08:36 UTC]    Is_active field in books: YES
[23-Nov-2025 16:08:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:08:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:08:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:08:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:08:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:08:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:08:36 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 16:08:36 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 16:08:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:08:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:08:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:08:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:08:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:08:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:08:36 UTC] 📊 Database Info:
[23-Nov-2025 16:08:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:08:36 UTC]    Books columns count: 44
[23-Nov-2025 16:08:36 UTC]    Categories columns count: 7
[23-Nov-2025 16:08:36 UTC]    Language field in books: YES
[23-Nov-2025 16:08:36 UTC]    Format field in books: YES
[23-Nov-2025 16:08:36 UTC]    Description field in categories: YES
[23-Nov-2025 16:08:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:08:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:08:36 UTC]    Is_active field in books: YES
[23-Nov-2025 16:08:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:08:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:08:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:08:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:08:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:08:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:08:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:08:36 UTC] 📊 Database Info:
[23-Nov-2025 16:08:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:08:36 UTC]    Books columns count: 44
[23-Nov-2025 16:08:36 UTC]    Categories columns count: 7
[23-Nov-2025 16:08:36 UTC]    Language field in books: YES
[23-Nov-2025 16:08:36 UTC]    Format field in books: YES
[23-Nov-2025 16:08:36 UTC]    Description field in categories: YES
[23-Nov-2025 16:08:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:08:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:08:36 UTC]    Is_active field in books: YES
[23-Nov-2025 16:08:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:08:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:08:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:08:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:08:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:08:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:08:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:08:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 16:08:36 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 16:08:36 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 16:08:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:08:37 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:08:37 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:08:37 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:08:37 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:08:37 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:08:37 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:08:37 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:08:37 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:08:37 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:08:37 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:08:37 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:08:37 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:08:37 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:08:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:08:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:08:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:08:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:08:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:08:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:08:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:08:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:08:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:08:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:08:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:08:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:08:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:08:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:08:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:08:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:08:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:08:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:08:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:08:38 UTC] 📊 Database Info:
[23-Nov-2025 16:08:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:08:38 UTC]    Books columns count: 44
[23-Nov-2025 16:08:38 UTC]    Categories columns count: 7
[23-Nov-2025 16:08:38 UTC]    Language field in books: YES
[23-Nov-2025 16:08:38 UTC]    Format field in books: YES
[23-Nov-2025 16:08:38 UTC]    Description field in categories: YES
[23-Nov-2025 16:08:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:08:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:08:38 UTC]    Is_active field in books: YES
[23-Nov-2025 16:08:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:08:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:08:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:08:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:08:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:08:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:08:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:08:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:08:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:08:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:08:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:08:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:08:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:08:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:08:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:08:44 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:08:44 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:08:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:08:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:08:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:08:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:08:44 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:08:44 UTC] 📊 Database Info:
[23-Nov-2025 16:08:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:08:44 UTC]    Books columns count: 44
[23-Nov-2025 16:08:44 UTC]    Categories columns count: 7
[23-Nov-2025 16:08:44 UTC]    Language field in books: YES
[23-Nov-2025 16:08:44 UTC]    Format field in books: YES
[23-Nov-2025 16:08:44 UTC]    Description field in categories: YES
[23-Nov-2025 16:08:44 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:08:44 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:08:44 UTC]    Is_active field in books: YES
[23-Nov-2025 16:08:44 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:08:44 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:08:44 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:08:44 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:08:44 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:08:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:08:44 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":false}
[23-Nov-2025 16:08:44 UTC] ?? Processing: home_screen - show_welcome_section: 0
[23-Nov-2025 16:08:44 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[23-Nov-2025 16:08:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:08:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:08:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:08:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:08:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:08:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:08:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:08:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:08:44 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:08:44 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:08:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:08:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:08:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:08:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:08:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:08:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:08:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:08:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:08:44 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:08:44 UTC] 📊 Database Info:
[23-Nov-2025 16:08:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:08:44 UTC]    Books columns count: 44
[23-Nov-2025 16:08:44 UTC]    Categories columns count: 7
[23-Nov-2025 16:08:44 UTC]    Language field in books: YES
[23-Nov-2025 16:08:44 UTC]    Format field in books: YES
[23-Nov-2025 16:08:44 UTC]    Description field in categories: YES
[23-Nov-2025 16:08:44 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:08:44 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:08:44 UTC]    Is_active field in books: YES
[23-Nov-2025 16:08:44 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:08:44 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:08:44 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:08:44 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:08:44 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:08:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:08:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:08:44 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[23-Nov-2025 16:08:44 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[23-Nov-2025 16:08:44 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[23-Nov-2025 16:16:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:16:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:16:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:16:25 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:16:25 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:16:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:16:25 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:16:25 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:16:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:16:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:16:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:16:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:16:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:16:25 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:16:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:16:25 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:16:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:16:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:16:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:16:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:16:25 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:16:25 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:16:25 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:16:25 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:16:25 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:16:25 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:16:25 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:16:25 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:16:25 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:16:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:16:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:16:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:16:25 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:16:25 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:16:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:16:25 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:16:25 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:16:25 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:16:25 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:16:25 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:16:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:16:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:16:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:16:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:16:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:16:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:16:25 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:16:25 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:16:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:16:25 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:16:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:16:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:16:25 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:16:25 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:16:25 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:16:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:16:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:16:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:16:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:16:25 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:16:25 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:16:25 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:16:25 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:16:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:16:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:16:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:16:25 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:16:26 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:16:26 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:16:26 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:16:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:16:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:16:26 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:16:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:16:26 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:16:26 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:16:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:16:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:16:26 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:16:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:16:26 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:16:26 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:16:26 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:16:26 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:16:26 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:16:26 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:16:26 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:16:26 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:16:26 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:16:26 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:16:26 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:16:26 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:16:26 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:16:26 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:16:26 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:16:26 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:16:26 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:16:26 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:16:26 UTC] 📊 Database Info:
[23-Nov-2025 16:16:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:16:26 UTC]    Books columns count: 44
[23-Nov-2025 16:16:26 UTC]    Categories columns count: 7
[23-Nov-2025 16:16:26 UTC]    Language field in books: YES
[23-Nov-2025 16:16:26 UTC]    Format field in books: YES
[23-Nov-2025 16:16:26 UTC]    Description field in categories: YES
[23-Nov-2025 16:16:26 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:16:26 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:16:26 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:16:26 UTC]    Is_active field in books: YES
[23-Nov-2025 16:16:26 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:16:26 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:16:26 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:16:26 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:16:26 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:16:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:16:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:16:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:16:26 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 16:16:26 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 16:16:26 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:16:26 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:16:26 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:16:26 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:16:26 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:16:26 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:16:26 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:16:26 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:16:26 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:16:26 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:16:26 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:16:26 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:16:26 UTC] 📊 Database Info:
[23-Nov-2025 16:16:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:16:26 UTC]    Books columns count: 44
[23-Nov-2025 16:16:26 UTC]    Categories columns count: 7
[23-Nov-2025 16:16:26 UTC]    Language field in books: YES
[23-Nov-2025 16:16:26 UTC]    Format field in books: YES
[23-Nov-2025 16:16:26 UTC]    Description field in categories: YES
[23-Nov-2025 16:16:26 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:16:26 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:16:26 UTC]    Is_active field in books: YES
[23-Nov-2025 16:16:26 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:16:26 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:16:26 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:16:26 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:16:26 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:16:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:16:26 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 16:16:26 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 16:16:26 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:16:26 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:16:26 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:16:26 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:16:26 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:16:26 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:16:26 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:16:26 UTC] 📊 Database Info:
[23-Nov-2025 16:16:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:16:26 UTC]    Books columns count: 44
[23-Nov-2025 16:16:26 UTC]    Categories columns count: 7
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:16:26 UTC]    Language field in books: YES
[23-Nov-2025 16:16:26 UTC]    Format field in books: YES
[23-Nov-2025 16:16:26 UTC]    Description field in categories: YES
[23-Nov-2025 16:16:26 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:16:26 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:16:26 UTC]    Is_active field in books: YES
[23-Nov-2025 16:16:26 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:16:26 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:16:26 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:16:26 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:16:26 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:16:26 UTC] 📊 Database Info:
[23-Nov-2025 16:16:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:16:26 UTC]    Books columns count: 44
[23-Nov-2025 16:16:26 UTC]    Categories columns count: 7
[23-Nov-2025 16:16:26 UTC]    Language field in books: YES
[23-Nov-2025 16:16:26 UTC]    Format field in books: YES
[23-Nov-2025 16:16:26 UTC]    Description field in categories: YES
[23-Nov-2025 16:16:26 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:16:26 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:16:26 UTC]    Is_active field in books: YES
[23-Nov-2025 16:16:26 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:16:26 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:16:26 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:16:26 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:16:26 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:16:26 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:16:26 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:16:26 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:16:26 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:16:26 UTC] 📊 Database Info:
[23-Nov-2025 16:16:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:16:26 UTC]    Books columns count: 44
[23-Nov-2025 16:16:26 UTC]    Categories columns count: 7
[23-Nov-2025 16:16:26 UTC]    Language field in books: YES
[23-Nov-2025 16:16:26 UTC]    Format field in books: YES
[23-Nov-2025 16:16:26 UTC]    Description field in categories: YES
[23-Nov-2025 16:16:26 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:16:26 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:16:26 UTC]    Is_active field in books: YES
[23-Nov-2025 16:16:26 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:16:26 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:16:26 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:16:26 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:16:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:16:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:16:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:16:26 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:16:26 UTC] 📊 Database Info:
[23-Nov-2025 16:16:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:16:26 UTC]    Books columns count: 44
[23-Nov-2025 16:16:26 UTC]    Categories columns count: 7
[23-Nov-2025 16:16:26 UTC]    Language field in books: YES
[23-Nov-2025 16:16:26 UTC]    Format field in books: YES
[23-Nov-2025 16:16:26 UTC]    Description field in categories: YES
[23-Nov-2025 16:16:26 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:16:26 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:16:26 UTC]    Is_active field in books: YES
[23-Nov-2025 16:16:26 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:16:26 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:16:26 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:16:26 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:16:26 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:16:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:16:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:16:29 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:16:29 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:16:29 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:16:29 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:16:29 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:16:29 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:16:29 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:16:29 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:16:29 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:16:29 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:16:29 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:16:29 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:16:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:16:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:16:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:16:29 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:16:29 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:16:29 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:16:29 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:16:29 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:16:29 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:16:29 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:16:29 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:16:29 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:16:29 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:16:29 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:16:29 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:16:29 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:16:29 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:16:29 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:16:29 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:16:29 UTC] 📊 Database Info:
[23-Nov-2025 16:16:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:16:29 UTC]    Books columns count: 44
[23-Nov-2025 16:16:29 UTC]    Categories columns count: 7
[23-Nov-2025 16:16:29 UTC]    Language field in books: YES
[23-Nov-2025 16:16:29 UTC]    Format field in books: YES
[23-Nov-2025 16:16:29 UTC]    Description field in categories: YES
[23-Nov-2025 16:16:29 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:16:29 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:16:29 UTC]    Is_active field in books: YES
[23-Nov-2025 16:16:29 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:16:29 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:16:29 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:16:29 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:16:29 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:16:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:16:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:16:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:16:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:16:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:16:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:16:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:16:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:16:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:16:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:16:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:16:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:16:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:19:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:19:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:19:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:19:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:19:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:19:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:19:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:19:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:19:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:19:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:19:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:19:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:19:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:19:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:19:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:19:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:19:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:19:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:19:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:19:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:19:13 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:19:13 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:19:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:19:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:19:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:19:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:19:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:19:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:19:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:19:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:19:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:19:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:19:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:19:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:19:13 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:19:13 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:19:13 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:19:13 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:19:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:19:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:19:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:19:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:19:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:19:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:19:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:19:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:19:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:19:13 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:19:13 UTC] 📊 Database Info:
[23-Nov-2025 16:19:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:19:13 UTC]    Books columns count: 44
[23-Nov-2025 16:19:13 UTC]    Categories columns count: 7
[23-Nov-2025 16:19:13 UTC]    Language field in books: YES
[23-Nov-2025 16:19:13 UTC]    Format field in books: YES
[23-Nov-2025 16:19:13 UTC]    Description field in categories: YES
[23-Nov-2025 16:19:13 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:19:13 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:19:13 UTC]    Is_active field in books: YES
[23-Nov-2025 16:19:13 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:19:13 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:19:13 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:19:13 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:19:13 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:19:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:19:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:19:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:19:13 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:19:13 UTC] 📊 Database Info:
[23-Nov-2025 16:19:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:19:13 UTC]    Books columns count: 44
[23-Nov-2025 16:19:13 UTC]    Categories columns count: 7
[23-Nov-2025 16:19:13 UTC]    Language field in books: YES
[23-Nov-2025 16:19:13 UTC]    Format field in books: YES
[23-Nov-2025 16:19:13 UTC]    Description field in categories: YES
[23-Nov-2025 16:19:13 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:19:13 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:19:13 UTC]    Is_active field in books: YES
[23-Nov-2025 16:19:13 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:19:13 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:19:13 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:19:13 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:19:13 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:19:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:19:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:19:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:19:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:19:13 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:19:13 UTC] 📊 Database Info:
[23-Nov-2025 16:19:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:19:13 UTC]    Books columns count: 44
[23-Nov-2025 16:19:13 UTC]    Categories columns count: 7
[23-Nov-2025 16:19:13 UTC]    Language field in books: YES
[23-Nov-2025 16:19:13 UTC]    Format field in books: YES
[23-Nov-2025 16:19:13 UTC]    Description field in categories: YES
[23-Nov-2025 16:19:13 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:19:13 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:19:13 UTC]    Is_active field in books: YES
[23-Nov-2025 16:19:13 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:19:13 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:19:13 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:19:13 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:19:13 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:19:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:19:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:19:13 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 16:19:13 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 16:19:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:19:24 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:19:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:19:24 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:19:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:19:24 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:19:24 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:19:24 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:19:24 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:19:24 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:19:24 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:19:24 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:19:24 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:19:24 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:19:24 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:19:24 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:19:24 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:19:24 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:19:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:19:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:19:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:19:24 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:19:24 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:19:24 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:19:24 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:19:24 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:19:24 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:19:24 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:19:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:19:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:19:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:19:24 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:19:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:19:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:19:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:19:24 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:19:24 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:19:24 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:19:24 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:19:24 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:19:24 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:19:24 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:19:24 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:19:24 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:19:24 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:19:24 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:19:24 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:19:24 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:19:24 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:19:24 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:19:24 UTC] 📊 Database Info:
[23-Nov-2025 16:19:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:19:24 UTC]    Books columns count: 44
[23-Nov-2025 16:19:24 UTC]    Categories columns count: 7
[23-Nov-2025 16:19:24 UTC]    Language field in books: YES
[23-Nov-2025 16:19:24 UTC]    Format field in books: YES
[23-Nov-2025 16:19:24 UTC]    Description field in categories: YES
[23-Nov-2025 16:19:24 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:19:24 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:19:24 UTC]    Is_active field in books: YES
[23-Nov-2025 16:19:24 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:19:24 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:19:24 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:19:24 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:19:24 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:19:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:19:24 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 16:19:24 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 16:19:24 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:19:24 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:19:24 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:19:24 UTC] 📊 Database Info:
[23-Nov-2025 16:19:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:19:24 UTC]    Books columns count: 44
[23-Nov-2025 16:19:24 UTC]    Categories columns count: 7
[23-Nov-2025 16:19:24 UTC]    Language field in books: YES
[23-Nov-2025 16:19:24 UTC]    Format field in books: YES
[23-Nov-2025 16:19:24 UTC]    Description field in categories: YES
[23-Nov-2025 16:19:24 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:19:24 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:19:24 UTC]    Is_active field in books: YES
[23-Nov-2025 16:19:24 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:19:24 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:19:24 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:19:24 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:19:24 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:19:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:19:24 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:19:24 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:19:24 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:19:24 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:19:24 UTC] 📊 Database Info:
[23-Nov-2025 16:19:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:19:24 UTC]    Books columns count: 44
[23-Nov-2025 16:19:24 UTC]    Categories columns count: 7
[23-Nov-2025 16:19:24 UTC]    Language field in books: YES
[23-Nov-2025 16:19:24 UTC]    Format field in books: YES
[23-Nov-2025 16:19:24 UTC]    Description field in categories: YES
[23-Nov-2025 16:19:24 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:19:24 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:19:24 UTC]    Is_active field in books: YES
[23-Nov-2025 16:19:24 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:19:24 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:19:24 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:19:24 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:19:24 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:19:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:19:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:21:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:21:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:21:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:21:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:21:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:21:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:21:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:21:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:21:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:21:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:21:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:21:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:21:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:21:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:21:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:21:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:21:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:21:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:21:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:21:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:21:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:21:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:21:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:21:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:21:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:21:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:21:04 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:21:04 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:21:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:21:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:21:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:21:04 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:21:04 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:21:04 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:21:04 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:21:04 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:21:04 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:21:04 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:21:04 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:21:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:21:04 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:21:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:21:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:21:04 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:21:04 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:21:04 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:21:04 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:21:04 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:21:04 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:21:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:21:04 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:21:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:21:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:21:04 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:21:04 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:21:04 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:21:04 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:21:04 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:21:04 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:21:04 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:21:04 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:21:04 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:21:04 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:21:04 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:21:04 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:21:04 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:21:04 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:21:04 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:21:04 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:21:04 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:21:04 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:21:04 UTC] 📊 Database Info:
[23-Nov-2025 16:21:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:21:04 UTC]    Books columns count: 44
[23-Nov-2025 16:21:04 UTC]    Categories columns count: 7
[23-Nov-2025 16:21:04 UTC]    Language field in books: YES
[23-Nov-2025 16:21:04 UTC]    Format field in books: YES
[23-Nov-2025 16:21:04 UTC]    Description field in categories: YES
[23-Nov-2025 16:21:04 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:21:04 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:21:04 UTC]    Is_active field in books: YES
[23-Nov-2025 16:21:04 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:21:04 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:21:04 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:21:04 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:21:04 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:21:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:21:04 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:21:04 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:21:04 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:21:04 UTC] 📊 Database Info:
[23-Nov-2025 16:21:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:21:04 UTC]    Books columns count: 44
[23-Nov-2025 16:21:04 UTC]    Categories columns count: 7
[23-Nov-2025 16:21:04 UTC]    Language field in books: YES
[23-Nov-2025 16:21:04 UTC]    Format field in books: YES
[23-Nov-2025 16:21:04 UTC]    Description field in categories: YES
[23-Nov-2025 16:21:04 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:21:04 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:21:04 UTC]    Is_active field in books: YES
[23-Nov-2025 16:21:04 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:21:04 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:21:04 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:21:04 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:21:04 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:21:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:21:04 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 16:21:04 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 16:21:04 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:21:04 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:21:04 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:21:04 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:21:04 UTC] 📊 Database Info:
[23-Nov-2025 16:21:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:21:04 UTC]    Books columns count: 44
[23-Nov-2025 16:21:04 UTC]    Categories columns count: 7
[23-Nov-2025 16:21:04 UTC]    Language field in books: YES
[23-Nov-2025 16:21:04 UTC]    Format field in books: YES
[23-Nov-2025 16:21:04 UTC]    Description field in categories: YES
[23-Nov-2025 16:21:04 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:21:04 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:21:04 UTC]    Is_active field in books: YES
[23-Nov-2025 16:21:04 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:21:04 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:21:04 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:21:04 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:21:04 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:21:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:21:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:22:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:22:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:22:53 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:22:53 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:22:53 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:22:53 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:22:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:22:53 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:22:53 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:22:53 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:22:53 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:22:53 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:22:53 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:22:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:22:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:22:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:22:53 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:22:53 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:22:53 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:22:53 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:22:53 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:22:53 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:22:53 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:22:53 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:22:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:22:53 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:22:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:22:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:22:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:22:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:22:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:22:53 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:22:53 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:22:53 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:22:53 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:22:53 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:22:53 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:22:53 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:22:53 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:22:53 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:22:53 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:22:53 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:22:53 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:22:53 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:22:53 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:22:53 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:22:53 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:22:53 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:22:53 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:22:53 UTC] 📊 Database Info:
[23-Nov-2025 16:22:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:22:53 UTC]    Books columns count: 44
[23-Nov-2025 16:22:53 UTC]    Categories columns count: 7
[23-Nov-2025 16:22:53 UTC]    Language field in books: YES
[23-Nov-2025 16:22:53 UTC]    Format field in books: YES
[23-Nov-2025 16:22:53 UTC]    Description field in categories: YES
[23-Nov-2025 16:22:53 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:22:53 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:22:53 UTC]    Is_active field in books: YES
[23-Nov-2025 16:22:53 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:22:53 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:22:53 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:22:53 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:22:53 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:22:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:22:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:22:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:22:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:22:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:22:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:22:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:22:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:22:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:22:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:22:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:22:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:22:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:22:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:22:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:22:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:22:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:22:54 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:22:54 UTC] 📊 Database Info:
[23-Nov-2025 16:22:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:22:54 UTC]    Books columns count: 44
[23-Nov-2025 16:22:54 UTC]    Categories columns count: 7
[23-Nov-2025 16:22:54 UTC]    Language field in books: YES
[23-Nov-2025 16:22:54 UTC]    Format field in books: YES
[23-Nov-2025 16:22:54 UTC]    Description field in categories: YES
[23-Nov-2025 16:22:54 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:22:54 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:22:54 UTC]    Is_active field in books: YES
[23-Nov-2025 16:22:54 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:22:54 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:22:54 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:22:54 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:22:54 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:22:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:22:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:22:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:22:54 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 16:22:54 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 16:22:54 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:22:54 UTC] 📊 Database Info:
[23-Nov-2025 16:22:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:22:54 UTC]    Books columns count: 44
[23-Nov-2025 16:22:54 UTC]    Categories columns count: 7
[23-Nov-2025 16:22:54 UTC]    Language field in books: YES
[23-Nov-2025 16:22:54 UTC]    Format field in books: YES
[23-Nov-2025 16:22:54 UTC]    Description field in categories: YES
[23-Nov-2025 16:22:54 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:22:54 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:22:54 UTC]    Is_active field in books: YES
[23-Nov-2025 16:22:54 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:22:54 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:22:54 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:22:54 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:22:54 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:22:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:22:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:09 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:09 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:09 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:09 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:09 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:09 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:09 UTC] 📊 Database Info:
[23-Nov-2025 16:27:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:09 UTC]    Books columns count: 44
[23-Nov-2025 16:27:09 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:09 UTC]    Language field in books: YES
[23-Nov-2025 16:27:09 UTC]    Format field in books: YES
[23-Nov-2025 16:27:09 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:09 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:09 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:09 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:09 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:09 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:09 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:09 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:09 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:09 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 16:27:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:09 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:09 UTC] 📊 Database Info:
[23-Nov-2025 16:27:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:09 UTC]    Books columns count: 44
[23-Nov-2025 16:27:09 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:09 UTC]    Language field in books: YES
[23-Nov-2025 16:27:09 UTC]    Format field in books: YES
[23-Nov-2025 16:27:09 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:09 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:09 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:09 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:09 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:09 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:09 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:09 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:09 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:09 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:09 UTC] 📊 Database Info:
[23-Nov-2025 16:27:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:09 UTC]    Books columns count: 44
[23-Nov-2025 16:27:09 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:09 UTC]    Language field in books: YES
[23-Nov-2025 16:27:09 UTC]    Format field in books: YES
[23-Nov-2025 16:27:09 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:09 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:09 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:09 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:09 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:09 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:09 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:09 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:09 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 16:27:09 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 16:27:09 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 16:27:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:13 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:13 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:13 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:13 UTC] 📊 Database Info:
[23-Nov-2025 16:27:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:13 UTC]    Books columns count: 44
[23-Nov-2025 16:27:13 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:13 UTC]    Language field in books: YES
[23-Nov-2025 16:27:13 UTC]    Format field in books: YES
[23-Nov-2025 16:27:13 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:13 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:13 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:13 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:13 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:13 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:13 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:13 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:13 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:16 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:16 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:16 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:16 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:16 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:16 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:16 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:16 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:16 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:16 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:16 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:16 UTC] 📊 Database Info:
[23-Nov-2025 16:27:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:16 UTC]    Books columns count: 44
[23-Nov-2025 16:27:16 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:16 UTC]    Language field in books: YES
[23-Nov-2025 16:27:16 UTC]    Format field in books: YES
[23-Nov-2025 16:27:16 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:16 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:16 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:16 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:16 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:16 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:16 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:16 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:16 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:16 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":false}
[23-Nov-2025 16:27:16 UTC] ?? Processing: home_screen - show_welcome_section: 0
[23-Nov-2025 16:27:16 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[23-Nov-2025 16:27:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:16 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:16 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:16 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:16 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:16 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:16 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:16 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:16 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:16 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:16 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:16 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:16 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:16 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:16 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:16 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:16 UTC] 📊 Database Info:
[23-Nov-2025 16:27:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:16 UTC]    Books columns count: 44
[23-Nov-2025 16:27:16 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:16 UTC]    Language field in books: YES
[23-Nov-2025 16:27:16 UTC]    Format field in books: YES
[23-Nov-2025 16:27:16 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:16 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:16 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:16 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:16 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:16 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:16 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:16 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:16 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:16 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[23-Nov-2025 16:27:16 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[23-Nov-2025 16:27:16 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[23-Nov-2025 16:27:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:35 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:35 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:35 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:35 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:35 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:35 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:35 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:35 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:35 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:35 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:35 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:35 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:35 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:35 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:35 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:35 UTC] 📊 Database Info:
[23-Nov-2025 16:27:35 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:35 UTC]    Books columns count: 44
[23-Nov-2025 16:27:35 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:35 UTC]    Language field in books: YES
[23-Nov-2025 16:27:35 UTC]    Format field in books: YES
[23-Nov-2025 16:27:35 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:35 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:35 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:35 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:35 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:35 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:35 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:35 UTC] 📊 Database Info:
[23-Nov-2025 16:27:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:35 UTC]    Books columns count: 44
[23-Nov-2025 16:27:35 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:35 UTC]    Language field in books: YES
[23-Nov-2025 16:27:35 UTC]    Format field in books: YES
[23-Nov-2025 16:27:35 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:35 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:35 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:35 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:35 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:35 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:35 UTC] 📊 Database Info:
[23-Nov-2025 16:27:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:35 UTC]    Books columns count: 44
[23-Nov-2025 16:27:35 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:35 UTC]    Language field in books: YES
[23-Nov-2025 16:27:35 UTC]    Format field in books: YES
[23-Nov-2025 16:27:35 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:35 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:35 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:35 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:35 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:35 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:35 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:35 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 16:27:35 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:35 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:35 UTC] 📊 Database Info:
[23-Nov-2025 16:27:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:35 UTC]    Books columns count: 44
[23-Nov-2025 16:27:35 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:35 UTC]    Language field in books: YES
[23-Nov-2025 16:27:35 UTC]    Format field in books: YES
[23-Nov-2025 16:27:35 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:35 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:35 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:35 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:35 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:35 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:35 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:35 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:35 UTC] 📊 Database Info:
[23-Nov-2025 16:27:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:35 UTC]    Books columns count: 44
[23-Nov-2025 16:27:35 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:35 UTC]    Language field in books: YES
[23-Nov-2025 16:27:35 UTC]    Format field in books: YES
[23-Nov-2025 16:27:35 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:35 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:35 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:35 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:35 UTC] 📊 Database Info:
[23-Nov-2025 16:27:35 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:35 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:35 UTC]    Books columns count: 44
[23-Nov-2025 16:27:35 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:35 UTC]    Language field in books: YES
[23-Nov-2025 16:27:35 UTC]    Format field in books: YES
[23-Nov-2025 16:27:35 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:35 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:35 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:35 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:35 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:35 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:35 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:35 UTC] 📊 Database Info:
[23-Nov-2025 16:27:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:35 UTC]    Books columns count: 44
[23-Nov-2025 16:27:35 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:35 UTC]    Language field in books: YES
[23-Nov-2025 16:27:35 UTC]    Format field in books: YES
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:35 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:35 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:35 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:35 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:35 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:35 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:35 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:35 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 16:27:35 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 16:27:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:35 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:35 UTC] 📊 Database Info:
[23-Nov-2025 16:27:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:35 UTC]    Books columns count: 44
[23-Nov-2025 16:27:35 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:35 UTC]    Language field in books: YES
[23-Nov-2025 16:27:35 UTC]    Format field in books: YES
[23-Nov-2025 16:27:35 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:35 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:35 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:35 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:35 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:35 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:35 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:35 UTC] 📊 Database Info:
[23-Nov-2025 16:27:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:35 UTC]    Books columns count: 44
[23-Nov-2025 16:27:35 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:35 UTC]    Language field in books: YES
[23-Nov-2025 16:27:35 UTC]    Format field in books: YES
[23-Nov-2025 16:27:35 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:35 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:35 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:35 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:35 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:35 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:35 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:48 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:48 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:48 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:48 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:48 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:48 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:48 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:48 UTC] 📊 Database Info:
[23-Nov-2025 16:27:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:48 UTC]    Books columns count: 44
[23-Nov-2025 16:27:48 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:48 UTC]    Language field in books: YES
[23-Nov-2025 16:27:48 UTC]    Format field in books: YES
[23-Nov-2025 16:27:48 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:48 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:48 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:48 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:48 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:48 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:48 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:48 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:48 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:48 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 16:27:48 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 16:27:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:48 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:48 UTC] 📊 Database Info:
[23-Nov-2025 16:27:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:48 UTC]    Books columns count: 44
[23-Nov-2025 16:27:48 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:48 UTC]    Language field in books: YES
[23-Nov-2025 16:27:48 UTC]    Format field in books: YES
[23-Nov-2025 16:27:48 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:48 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:48 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:48 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:48 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:48 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:48 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:48 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:48 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:48 UTC] 📊 Database Info:
[23-Nov-2025 16:27:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:48 UTC]    Books columns count: 44
[23-Nov-2025 16:27:48 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:48 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:48 UTC]    Language field in books: YES
[23-Nov-2025 16:27:48 UTC]    Format field in books: YES
[23-Nov-2025 16:27:48 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:48 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:48 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:48 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:48 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:48 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:48 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:48 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:48 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:27:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:27:49 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:49 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:49 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:49 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:49 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:49 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:49 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:49 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:49 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:49 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:49 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:49 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:27:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:27:49 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:27:49 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:27:49 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:27:49 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:27:49 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:27:49 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:27:49 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:27:49 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:27:49 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:27:49 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:27:49 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:27:49 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:27:49 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:27:49 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:27:49 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:27:49 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:27:49 UTC] 📊 Database Info:
[23-Nov-2025 16:27:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:27:49 UTC]    Books columns count: 44
[23-Nov-2025 16:27:49 UTC]    Categories columns count: 7
[23-Nov-2025 16:27:49 UTC]    Language field in books: YES
[23-Nov-2025 16:27:49 UTC]    Format field in books: YES
[23-Nov-2025 16:27:49 UTC]    Description field in categories: YES
[23-Nov-2025 16:27:49 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:27:49 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:27:49 UTC]    Is_active field in books: YES
[23-Nov-2025 16:27:49 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:27:49 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:27:49 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:27:49 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:27:49 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:27:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:27:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:27:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:27:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:27:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:27:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:27:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:27:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:27:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:27:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:27:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:27:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:27:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 16:28:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 16:28:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:28:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:28:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:28:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:28:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:28:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:28:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:28:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:28:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:28:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:28:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:28:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:28:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 16:28:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:28:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 16:28:00 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 16:28:00 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 16:28:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 16:28:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 16:28:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 16:28:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 16:28:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 16:28:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 16:28:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 16:28:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 16:28:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 16:28:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 16:28:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 16:28:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 16:28:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 16:28:00 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 16:28:00 UTC] 📊 Database Info:
[23-Nov-2025 16:28:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 16:28:00 UTC]    Books columns count: 44
[23-Nov-2025 16:28:00 UTC]    Categories columns count: 7
[23-Nov-2025 16:28:00 UTC]    Language field in books: YES
[23-Nov-2025 16:28:00 UTC]    Format field in books: YES
[23-Nov-2025 16:28:00 UTC]    Description field in categories: YES
[23-Nov-2025 16:28:00 UTC]    Display_order field in categories: YES
[23-Nov-2025 16:28:00 UTC]    Is_active field in categories: YES
[23-Nov-2025 16:28:00 UTC]    Is_active field in books: YES
[23-Nov-2025 16:28:00 UTC]    External_download_link field in books: YES
[23-Nov-2025 16:28:00 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 16:28:00 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 16:28:00 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 16:28:00 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 16:28:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 16:28:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 16:28:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 16:28:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 16:28:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 16:28:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 16:28:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 16:28:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 16:28:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 16:28:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 16:28:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 16:28:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 16:28:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 17:39:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 17:39:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 17:39:29 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:29 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:29 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:29 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 17:39:29 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:29 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:29 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:29 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 17:39:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:29 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 17:39:29 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 17:39:29 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:29 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:29 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:29 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 17:39:29 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:29 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:29 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 17:39:29 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 17:39:29 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:29 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:29 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:29 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 17:39:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:29 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 17:39:29 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 17:39:29 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:29 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:29 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:29 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:29 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:29 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:29 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:29 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:29 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 17:39:29 UTC] 📊 Database Info:
[23-Nov-2025 17:39:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 17:39:29 UTC]    Books columns count: 44
[23-Nov-2025 17:39:29 UTC]    Categories columns count: 7
[23-Nov-2025 17:39:29 UTC]    Language field in books: YES
[23-Nov-2025 17:39:29 UTC]    Format field in books: YES
[23-Nov-2025 17:39:29 UTC]    Description field in categories: YES
[23-Nov-2025 17:39:29 UTC]    Display_order field in categories: YES
[23-Nov-2025 17:39:29 UTC]    Is_active field in categories: YES
[23-Nov-2025 17:39:29 UTC]    Is_active field in books: YES
[23-Nov-2025 17:39:29 UTC]    External_download_link field in books: YES
[23-Nov-2025 17:39:29 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 17:39:29 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 17:39:29 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 17:39:29 UTC] 📊 Database Info:
[23-Nov-2025 17:39:29 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 17:39:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 17:39:29 UTC]    Books columns count: 44
[23-Nov-2025 17:39:29 UTC]    Categories columns count: 7
[23-Nov-2025 17:39:29 UTC]    Language field in books: YES
[23-Nov-2025 17:39:29 UTC]    Format field in books: YES
[23-Nov-2025 17:39:29 UTC]    Description field in categories: YES
[23-Nov-2025 17:39:29 UTC]    Display_order field in categories: YES
[23-Nov-2025 17:39:29 UTC]    Is_active field in categories: YES
[23-Nov-2025 17:39:29 UTC]    Is_active field in books: YES
[23-Nov-2025 17:39:29 UTC]    External_download_link field in books: YES
[23-Nov-2025 17:39:29 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 17:39:29 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 17:39:29 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 17:39:29 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 17:39:29 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 17:39:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 17:39:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 17:39:29 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 17:39:29 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 17:39:29 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:29 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:29 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:29 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 17:39:29 UTC] 📊 Database Info:
[23-Nov-2025 17:39:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 17:39:29 UTC]    Books columns count: 44
[23-Nov-2025 17:39:29 UTC]    Categories columns count: 7
[23-Nov-2025 17:39:29 UTC]    Language field in books: YES
[23-Nov-2025 17:39:29 UTC]    Format field in books: YES
[23-Nov-2025 17:39:29 UTC]    Description field in categories: YES
[23-Nov-2025 17:39:29 UTC]    Display_order field in categories: YES
[23-Nov-2025 17:39:29 UTC]    Is_active field in categories: YES
[23-Nov-2025 17:39:29 UTC]    Is_active field in books: YES
[23-Nov-2025 17:39:29 UTC]    External_download_link field in books: YES
[23-Nov-2025 17:39:29 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 17:39:29 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 17:39:29 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 17:39:29 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 17:39:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 17:39:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 17:39:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 17:39:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 17:39:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 17:39:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:31 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 17:39:31 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 17:39:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 17:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:31 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 17:39:31 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 17:39:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:31 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 17:39:31 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 17:39:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:31 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 17:39:31 UTC] 📊 Database Info:
[23-Nov-2025 17:39:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 17:39:31 UTC]    Books columns count: 44
[23-Nov-2025 17:39:31 UTC]    Categories columns count: 7
[23-Nov-2025 17:39:31 UTC]    Language field in books: YES
[23-Nov-2025 17:39:31 UTC]    Format field in books: YES
[23-Nov-2025 17:39:31 UTC]    Description field in categories: YES
[23-Nov-2025 17:39:31 UTC]    Display_order field in categories: YES
[23-Nov-2025 17:39:31 UTC]    Is_active field in categories: YES
[23-Nov-2025 17:39:31 UTC]    Is_active field in books: YES
[23-Nov-2025 17:39:31 UTC]    External_download_link field in books: YES
[23-Nov-2025 17:39:31 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 17:39:31 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 17:39:31 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 17:39:31 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 17:39:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 17:39:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:31 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 17:39:31 UTC] 📊 Database Info:
[23-Nov-2025 17:39:31 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 17:39:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 17:39:31 UTC] 📊 Database Info:
[23-Nov-2025 17:39:31 UTC]    Books columns count: 44
[23-Nov-2025 17:39:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 17:39:31 UTC]    Categories columns count: 7
[23-Nov-2025 17:39:31 UTC]    Books columns count: 44
[23-Nov-2025 17:39:31 UTC]    Categories columns count: 7
[23-Nov-2025 17:39:31 UTC]    Language field in books: YES
[23-Nov-2025 17:39:31 UTC]    Language field in books: YES
[23-Nov-2025 17:39:31 UTC]    Format field in books: YES
[23-Nov-2025 17:39:31 UTC]    Format field in books: YES
[23-Nov-2025 17:39:31 UTC]    Description field in categories: YES
[23-Nov-2025 17:39:31 UTC]    Description field in categories: YES
[23-Nov-2025 17:39:31 UTC]    Display_order field in categories: YES
[23-Nov-2025 17:39:31 UTC]    Display_order field in categories: YES
[23-Nov-2025 17:39:31 UTC]    Is_active field in categories: YES
[23-Nov-2025 17:39:31 UTC]    Is_active field in categories: YES
[23-Nov-2025 17:39:31 UTC]    Is_active field in books: YES
[23-Nov-2025 17:39:31 UTC]    Is_active field in books: YES
[23-Nov-2025 17:39:31 UTC]    External_download_link field in books: YES
[23-Nov-2025 17:39:31 UTC]    External_download_link field in books: YES
[23-Nov-2025 17:39:31 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 17:39:31 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 17:39:31 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 17:39:31 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 17:39:31 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 17:39:31 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 17:39:31 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 17:39:31 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 17:39:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 17:39:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 17:39:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 17:39:31 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 17:39:31 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 17:39:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 17:39:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 17:39:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 17:39:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 17:39:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 17:39:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 17:39:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 17:39:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 17:39:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 17:39:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 17:39:38 UTC] 📊 Database Info:
[23-Nov-2025 17:39:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 17:39:38 UTC]    Books columns count: 44
[23-Nov-2025 17:39:38 UTC]    Categories columns count: 7
[23-Nov-2025 17:39:38 UTC]    Language field in books: YES
[23-Nov-2025 17:39:38 UTC]    Format field in books: YES
[23-Nov-2025 17:39:38 UTC]    Description field in categories: YES
[23-Nov-2025 17:39:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 17:39:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 17:39:38 UTC]    Is_active field in books: YES
[23-Nov-2025 17:39:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 17:39:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 17:39:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 17:39:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 17:39:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 17:39:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 17:39:38 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 17:39:38 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 17:39:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 17:39:38 UTC] 📊 Database Info:
[23-Nov-2025 17:39:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 17:39:38 UTC]    Books columns count: 44
[23-Nov-2025 17:39:38 UTC]    Categories columns count: 7
[23-Nov-2025 17:39:38 UTC]    Language field in books: YES
[23-Nov-2025 17:39:38 UTC]    Format field in books: YES
[23-Nov-2025 17:39:38 UTC]    Description field in categories: YES
[23-Nov-2025 17:39:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 17:39:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 17:39:38 UTC]    Is_active field in books: YES
[23-Nov-2025 17:39:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 17:39:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 17:39:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 17:39:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 17:39:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 17:39:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 17:39:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 17:39:38 UTC] 📊 Database Info:
[23-Nov-2025 17:39:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 17:39:38 UTC]    Books columns count: 44
[23-Nov-2025 17:39:38 UTC]    Categories columns count: 7
[23-Nov-2025 17:39:38 UTC]    Language field in books: YES
[23-Nov-2025 17:39:38 UTC]    Format field in books: YES
[23-Nov-2025 17:39:38 UTC]    Description field in categories: YES
[23-Nov-2025 17:39:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 17:39:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 17:39:38 UTC]    Is_active field in books: YES
[23-Nov-2025 17:39:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 17:39:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 17:39:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 17:39:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 17:39:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 17:39:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 17:39:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 17:39:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 17:39:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 17:39:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:39 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 17:39:39 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 17:39:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 17:39:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 17:39:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 17:39:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:39 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 17:39:39 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 17:39:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 17:39:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 17:39:39 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 17:39:39 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 17:39:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 17:39:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 17:39:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 17:39:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 17:39:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 17:39:39 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 17:39:39 UTC] 📊 Database Info:
[23-Nov-2025 17:39:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 17:39:39 UTC]    Books columns count: 44
[23-Nov-2025 17:39:39 UTC]    Categories columns count: 7
[23-Nov-2025 17:39:39 UTC]    Language field in books: YES
[23-Nov-2025 17:39:39 UTC]    Format field in books: YES
[23-Nov-2025 17:39:39 UTC]    Description field in categories: YES
[23-Nov-2025 17:39:39 UTC]    Display_order field in categories: YES
[23-Nov-2025 17:39:39 UTC]    Is_active field in categories: YES
[23-Nov-2025 17:39:39 UTC]    Is_active field in books: YES
[23-Nov-2025 17:39:39 UTC]    External_download_link field in books: YES
[23-Nov-2025 17:39:39 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 17:39:39 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 17:39:39 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 17:39:39 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 17:39:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 17:39:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:39 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 17:39:39 UTC] 📊 Database Info:
[23-Nov-2025 17:39:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 17:39:39 UTC]    Books columns count: 44
[23-Nov-2025 17:39:39 UTC]    Categories columns count: 7
[23-Nov-2025 17:39:39 UTC]    Language field in books: YES
[23-Nov-2025 17:39:39 UTC]    Format field in books: YES
[23-Nov-2025 17:39:39 UTC]    Description field in categories: YES
[23-Nov-2025 17:39:39 UTC]    Display_order field in categories: YES
[23-Nov-2025 17:39:39 UTC]    Is_active field in categories: YES
[23-Nov-2025 17:39:39 UTC]    Is_active field in books: YES
[23-Nov-2025 17:39:39 UTC]    External_download_link field in books: YES
[23-Nov-2025 17:39:39 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 17:39:39 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 17:39:39 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 17:39:39 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 17:39:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 17:39:39 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 17:39:39 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 17:39:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 17:39:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 17:39:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 17:39:39 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 17:39:39 UTC] 📊 Database Info:
[23-Nov-2025 17:39:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 17:39:39 UTC]    Books columns count: 44
[23-Nov-2025 17:39:39 UTC]    Categories columns count: 7
[23-Nov-2025 17:39:39 UTC]    Language field in books: YES
[23-Nov-2025 17:39:39 UTC]    Format field in books: YES
[23-Nov-2025 17:39:39 UTC]    Description field in categories: YES
[23-Nov-2025 17:39:39 UTC]    Display_order field in categories: YES
[23-Nov-2025 17:39:39 UTC]    Is_active field in categories: YES
[23-Nov-2025 17:39:39 UTC]    Is_active field in books: YES
[23-Nov-2025 17:39:39 UTC]    External_download_link field in books: YES
[23-Nov-2025 17:39:39 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 17:39:39 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 17:39:39 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 17:39:39 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 17:39:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 17:39:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 18:14:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 18:14:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 18:14:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 18:14:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 18:14:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 18:14:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 18:14:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 18:14:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 18:14:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 18:14:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 18:14:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 18:14:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 18:14:03 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 18:14:03 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 18:14:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 18:14:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 18:14:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 18:14:03 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 18:14:03 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 18:14:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 18:14:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 18:14:03 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 18:14:03 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 18:14:03 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 18:14:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 18:14:03 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 18:14:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 18:14:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 18:14:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 18:14:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 18:14:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 18:14:03 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 18:14:03 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 18:14:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 18:14:03 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 18:14:03 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 18:14:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 18:14:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 18:14:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 18:14:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 18:14:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 18:14:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 18:14:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 18:14:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 18:14:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 18:14:03 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 18:14:03 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 18:14:03 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 18:14:03 UTC] 📊 Database Info:
[23-Nov-2025 18:14:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 18:14:03 UTC]    Books columns count: 44
[23-Nov-2025 18:14:03 UTC]    Categories columns count: 7
[23-Nov-2025 18:14:03 UTC]    Language field in books: YES
[23-Nov-2025 18:14:03 UTC]    Format field in books: YES
[23-Nov-2025 18:14:03 UTC]    Description field in categories: YES
[23-Nov-2025 18:14:03 UTC]    Display_order field in categories: YES
[23-Nov-2025 18:14:03 UTC]    Is_active field in categories: YES
[23-Nov-2025 18:14:03 UTC]    Is_active field in books: YES
[23-Nov-2025 18:14:03 UTC]    External_download_link field in books: YES
[23-Nov-2025 18:14:03 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 18:14:03 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 18:14:03 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 18:14:03 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 18:14:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 18:14:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 18:14:03 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 18:14:03 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 18:14:03 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 18:14:03 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 18:14:03 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 18:14:03 UTC] 📊 Database Info:
[23-Nov-2025 18:14:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 18:14:03 UTC]    Books columns count: 44
[23-Nov-2025 18:14:03 UTC]    Categories columns count: 7
[23-Nov-2025 18:14:03 UTC]    Language field in books: YES
[23-Nov-2025 18:14:03 UTC]    Format field in books: YES
[23-Nov-2025 18:14:03 UTC]    Description field in categories: YES
[23-Nov-2025 18:14:03 UTC]    Display_order field in categories: YES
[23-Nov-2025 18:14:03 UTC]    Is_active field in categories: YES
[23-Nov-2025 18:14:03 UTC]    Is_active field in books: YES
[23-Nov-2025 18:14:03 UTC]    External_download_link field in books: YES
[23-Nov-2025 18:14:03 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 18:14:03 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 18:14:03 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 18:14:03 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 18:14:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 18:14:03 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 18:14:03 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 18:14:03 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 18:14:03 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 18:14:03 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 18:14:03 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 18:14:03 UTC] 📊 Database Info:
[23-Nov-2025 18:14:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 18:14:03 UTC]    Books columns count: 44
[23-Nov-2025 18:14:03 UTC]    Categories columns count: 7
[23-Nov-2025 18:14:03 UTC]    Language field in books: YES
[23-Nov-2025 18:14:03 UTC]    Format field in books: YES
[23-Nov-2025 18:14:03 UTC]    Description field in categories: YES
[23-Nov-2025 18:14:03 UTC]    Display_order field in categories: YES
[23-Nov-2025 18:14:03 UTC]    Is_active field in categories: YES
[23-Nov-2025 18:14:03 UTC]    Is_active field in books: YES
[23-Nov-2025 18:14:03 UTC]    External_download_link field in books: YES
[23-Nov-2025 18:14:03 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 18:14:03 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 18:14:03 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 18:14:03 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 18:14:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 18:14:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 18:14:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 18:14:10 UTC] ℹ️ Column institution already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 18:14:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column language already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column format already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column institution already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 18:14:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 18:14:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 18:14:10 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 18:14:10 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 18:14:10 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column language already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column format already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 18:14:10 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 18:14:10 UTC] ℹ️ Column institution already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column language already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column format already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 18:14:10 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 18:14:10 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 18:14:10 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 18:14:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 18:14:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 18:14:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 18:14:10 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 18:14:10 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 18:14:10 UTC] ℹ️ Column institution already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 18:14:10 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 18:14:10 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 18:14:10 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 18:14:10 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 18:14:10 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 18:14:10 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 18:14:10 UTC] ℹ️ Column language already exists
[23-Nov-2025 18:14:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 18:14:10 UTC] ℹ️ Column format already exists
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 18:14:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 18:14:10 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 18:14:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 18:14:10 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 18:14:10 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 18:14:10 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 18:14:10 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 18:14:10 UTC] ℹ️ Column institution already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 18:14:10 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 18:14:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 18:14:10 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 18:14:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 18:14:10 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 18:14:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 18:14:10 UTC] ℹ️ Column language already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column format already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 18:14:10 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 18:14:10 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 18:14:10 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 18:14:10 UTC] ℹ️ Column institution already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column language already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column format already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 18:14:10 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 18:14:10 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 18:14:10 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 18:14:10 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 18:14:10 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 18:14:10 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 18:14:10 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 18:14:10 UTC] 📊 Database Info:
[23-Nov-2025 18:14:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 18:14:10 UTC]    Books columns count: 44
[23-Nov-2025 18:14:10 UTC]    Categories columns count: 7
[23-Nov-2025 18:14:10 UTC]    Language field in books: YES
[23-Nov-2025 18:14:10 UTC]    Format field in books: YES
[23-Nov-2025 18:14:10 UTC]    Description field in categories: YES
[23-Nov-2025 18:14:10 UTC]    Display_order field in categories: YES
[23-Nov-2025 18:14:10 UTC]    Is_active field in categories: YES
[23-Nov-2025 18:14:10 UTC]    Is_active field in books: YES
[23-Nov-2025 18:14:10 UTC]    External_download_link field in books: YES
[23-Nov-2025 18:14:10 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 18:14:10 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 18:14:10 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 18:14:10 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 18:14:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 18:14:10 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 18:14:10 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 18:14:10 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 18:14:10 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 18:14:10 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 18:14:10 UTC] 📊 Database Info:
[23-Nov-2025 18:14:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 18:14:10 UTC]    Books columns count: 44
[23-Nov-2025 18:14:10 UTC]    Categories columns count: 7
[23-Nov-2025 18:14:10 UTC]    Language field in books: YES
[23-Nov-2025 18:14:10 UTC]    Format field in books: YES
[23-Nov-2025 18:14:10 UTC]    Description field in categories: YES
[23-Nov-2025 18:14:10 UTC]    Display_order field in categories: YES
[23-Nov-2025 18:14:10 UTC]    Is_active field in categories: YES
[23-Nov-2025 18:14:10 UTC]    Is_active field in books: YES
[23-Nov-2025 18:14:10 UTC]    External_download_link field in books: YES
[23-Nov-2025 18:14:10 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 18:14:10 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 18:14:10 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 18:14:10 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 18:14:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 18:14:10 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 18:14:10 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 18:14:10 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 18:14:10 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 18:14:10 UTC] 📊 Database Info:
[23-Nov-2025 18:14:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 18:14:10 UTC]    Books columns count: 44
[23-Nov-2025 18:14:10 UTC]    Categories columns count: 7
[23-Nov-2025 18:14:10 UTC]    Language field in books: YES
[23-Nov-2025 18:14:10 UTC]    Format field in books: YES
[23-Nov-2025 18:14:10 UTC]    Description field in categories: YES
[23-Nov-2025 18:14:10 UTC]    Display_order field in categories: YES
[23-Nov-2025 18:14:10 UTC]    Is_active field in categories: YES
[23-Nov-2025 18:14:10 UTC]    Is_active field in books: YES
[23-Nov-2025 18:14:10 UTC]    External_download_link field in books: YES
[23-Nov-2025 18:14:10 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 18:14:10 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 18:14:10 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 18:14:10 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 18:14:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 18:14:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 18:14:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 18:14:10 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 18:14:10 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 19:27:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:27:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:27:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:27:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:27:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:27:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:27:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:27:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:27:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:27:58 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:27:58 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:27:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:27:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:27:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:27:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:27:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:27:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:27:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:27:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:27:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:27:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:27:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:27:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:27:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:27:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:27:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:27:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:27:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:27:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:27:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:27:58 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:27:58 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:27:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:27:58 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:27:58 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:27:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:27:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:27:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:27:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:27:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:27:58 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:27:58 UTC] 📊 Database Info:
[23-Nov-2025 19:27:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:27:58 UTC]    Books columns count: 44
[23-Nov-2025 19:27:58 UTC]    Categories columns count: 7
[23-Nov-2025 19:27:58 UTC]    Language field in books: YES
[23-Nov-2025 19:27:58 UTC]    Format field in books: YES
[23-Nov-2025 19:27:58 UTC]    Description field in categories: YES
[23-Nov-2025 19:27:58 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:27:58 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:27:58 UTC]    Is_active field in books: YES
[23-Nov-2025 19:27:58 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:27:58 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:27:58 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:27:58 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:27:58 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:27:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:27:58 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 19:27:58 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 19:27:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:27:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:27:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:27:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:27:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:27:58 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:27:58 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:27:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:27:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:27:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:27:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:27:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:27:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:27:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:27:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:27:58 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:27:58 UTC] 📊 Database Info:
[23-Nov-2025 19:27:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:27:58 UTC]    Books columns count: 44
[23-Nov-2025 19:27:58 UTC]    Categories columns count: 7
[23-Nov-2025 19:27:58 UTC]    Language field in books: YES
[23-Nov-2025 19:27:58 UTC]    Format field in books: YES
[23-Nov-2025 19:27:58 UTC]    Description field in categories: YES
[23-Nov-2025 19:27:58 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:27:58 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:27:58 UTC]    Is_active field in books: YES
[23-Nov-2025 19:27:58 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:27:58 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:27:58 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:27:58 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:27:58 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:27:58 UTC] 📊 Database Info:
[23-Nov-2025 19:27:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:27:58 UTC]    Books columns count: 44
[23-Nov-2025 19:27:58 UTC]    Categories columns count: 7
[23-Nov-2025 19:27:58 UTC]    Language field in books: YES
[23-Nov-2025 19:27:58 UTC]    Format field in books: YES
[23-Nov-2025 19:27:58 UTC]    Description field in categories: YES
[23-Nov-2025 19:27:58 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:27:58 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:27:58 UTC]    Is_active field in books: YES
[23-Nov-2025 19:27:58 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:27:58 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:27:58 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:27:58 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:27:58 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:27:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:27:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:27:59 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:27:59 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:27:59 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:27:59 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:27:59 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:27:59 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:27:59 UTC] 📊 Database Info:
[23-Nov-2025 19:27:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:27:59 UTC]    Books columns count: 44
[23-Nov-2025 19:27:59 UTC]    Categories columns count: 7
[23-Nov-2025 19:27:59 UTC]    Language field in books: YES
[23-Nov-2025 19:27:59 UTC]    Format field in books: YES
[23-Nov-2025 19:27:59 UTC]    Description field in categories: YES
[23-Nov-2025 19:27:59 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:27:59 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:27:59 UTC]    Is_active field in books: YES
[23-Nov-2025 19:27:59 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:27:59 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:27:59 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:27:59 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:27:59 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:27:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:28:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:28:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:28:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:28:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:28:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:28:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:28:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:28:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:28:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:28:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:28:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:28:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:28:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:28:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:28:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:28:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:28:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:28:13 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:28:13 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:28:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:28:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:28:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:28:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:28:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:28:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:28:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:28:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:28:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:28:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:28:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:28:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:28:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:28:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:28:13 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:28:13 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:28:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:28:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:28:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:28:13 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:28:13 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:28:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:28:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:28:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:28:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:28:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:28:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:28:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:28:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:28:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:28:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:28:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:28:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:28:13 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:28:13 UTC] 📊 Database Info:
[23-Nov-2025 19:28:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:28:13 UTC]    Books columns count: 44
[23-Nov-2025 19:28:13 UTC]    Categories columns count: 7
[23-Nov-2025 19:28:13 UTC]    Language field in books: YES
[23-Nov-2025 19:28:13 UTC]    Format field in books: YES
[23-Nov-2025 19:28:13 UTC]    Description field in categories: YES
[23-Nov-2025 19:28:13 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:28:13 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:28:13 UTC]    Is_active field in books: YES
[23-Nov-2025 19:28:13 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:28:13 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:28:13 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:28:13 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:28:13 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:28:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:28:13 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 19:28:13 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 19:28:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:28:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:28:13 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:28:13 UTC] 📊 Database Info:
[23-Nov-2025 19:28:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:28:13 UTC]    Books columns count: 44
[23-Nov-2025 19:28:13 UTC]    Categories columns count: 7
[23-Nov-2025 19:28:13 UTC]    Language field in books: YES
[23-Nov-2025 19:28:13 UTC]    Format field in books: YES
[23-Nov-2025 19:28:13 UTC]    Description field in categories: YES
[23-Nov-2025 19:28:13 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:28:13 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:28:13 UTC]    Is_active field in books: YES
[23-Nov-2025 19:28:13 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:28:13 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:28:13 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:28:13 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:28:13 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:28:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:28:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:28:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:28:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:28:13 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:28:13 UTC] 📊 Database Info:
[23-Nov-2025 19:28:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:28:13 UTC]    Books columns count: 44
[23-Nov-2025 19:28:13 UTC]    Categories columns count: 7
[23-Nov-2025 19:28:13 UTC]    Language field in books: YES
[23-Nov-2025 19:28:13 UTC]    Format field in books: YES
[23-Nov-2025 19:28:13 UTC]    Description field in categories: YES
[23-Nov-2025 19:28:13 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:28:13 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:28:13 UTC]    Is_active field in books: YES
[23-Nov-2025 19:28:13 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:28:13 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:28:13 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:28:13 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:28:13 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:28:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:28:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 19:28:13 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 19:28:13 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 19:28:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:28:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:28:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:28:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:28:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:28:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:28:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:28:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:28:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:28:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:28:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:28:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:28:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:28:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:28:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:28:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:28:32 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:28:32 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:28:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:28:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:28:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:28:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:28:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:28:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:28:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:28:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:28:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:28:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:28:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:28:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:28:32 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:28:32 UTC] 📊 Database Info:
[23-Nov-2025 19:28:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:28:32 UTC]    Books columns count: 44
[23-Nov-2025 19:28:32 UTC]    Categories columns count: 7
[23-Nov-2025 19:28:32 UTC]    Language field in books: YES
[23-Nov-2025 19:28:32 UTC]    Format field in books: YES
[23-Nov-2025 19:28:32 UTC]    Description field in categories: YES
[23-Nov-2025 19:28:32 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:28:32 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:28:32 UTC]    Is_active field in books: YES
[23-Nov-2025 19:28:32 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:28:32 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:28:32 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:28:32 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:28:32 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:28:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:28:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:28:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:28:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:28:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:28:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:28:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:28:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:28:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:28:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:28:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:28:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:28:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:28:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:28:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:28:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:28:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:28:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:28:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:28:33 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:28:33 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:28:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:28:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:28:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:28:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:28:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:28:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:28:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:28:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:28:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:28:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:28:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:28:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:28:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:28:33 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:28:33 UTC] 📊 Database Info:
[23-Nov-2025 19:28:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:28:33 UTC]    Books columns count: 44
[23-Nov-2025 19:28:33 UTC]    Categories columns count: 7
[23-Nov-2025 19:28:33 UTC]    Language field in books: YES
[23-Nov-2025 19:28:33 UTC]    Format field in books: YES
[23-Nov-2025 19:28:33 UTC]    Description field in categories: YES
[23-Nov-2025 19:28:33 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:28:33 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:28:33 UTC]    Is_active field in books: YES
[23-Nov-2025 19:28:33 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:28:33 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:28:33 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:28:33 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:28:33 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:28:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:28:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:29:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:29:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:29:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:29:45 UTC] ✅ Added require_login_for_download column to books table
[23-Nov-2025 19:29:45 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:29:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:29:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:29:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:29:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:29:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:29:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:29:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:29:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:29:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:29:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:29:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:29:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:29:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:29:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:29:45 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:29:45 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:29:45 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:29:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:29:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:29:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:29:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:29:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:29:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:29:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:29:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:29:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:29:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:29:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:29:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:29:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:29:45 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:29:45 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:29:45 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:29:45 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:29:45 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:29:45 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:29:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:29:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:29:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:29:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:29:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:29:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:29:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:29:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:29:45 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:29:45 UTC] 📊 Database Info:
[23-Nov-2025 19:29:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:29:45 UTC]    Books columns count: 45
[23-Nov-2025 19:29:45 UTC]    Categories columns count: 7
[23-Nov-2025 19:29:45 UTC]    Language field in books: YES
[23-Nov-2025 19:29:45 UTC]    Format field in books: YES
[23-Nov-2025 19:29:45 UTC]    Description field in categories: YES
[23-Nov-2025 19:29:45 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:29:45 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:29:45 UTC]    Is_active field in books: YES
[23-Nov-2025 19:29:45 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:29:45 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:29:45 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:29:45 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:29:45 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:29:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:29:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:29:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:29:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:29:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:29:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:29:45 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:29:45 UTC] 📊 Database Info:
[23-Nov-2025 19:29:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:29:45 UTC]    Books columns count: 45
[23-Nov-2025 19:29:45 UTC]    Categories columns count: 7
[23-Nov-2025 19:29:45 UTC]    Language field in books: YES
[23-Nov-2025 19:29:45 UTC]    Format field in books: YES
[23-Nov-2025 19:29:45 UTC]    Description field in categories: YES
[23-Nov-2025 19:29:45 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:29:45 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:29:45 UTC]    Is_active field in books: YES
[23-Nov-2025 19:29:45 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:29:45 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:29:45 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:29:45 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:29:45 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:29:45 UTC] 📊 Database Info:
[23-Nov-2025 19:29:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:29:45 UTC]    Books columns count: 45
[23-Nov-2025 19:29:45 UTC]    Categories columns count: 7
[23-Nov-2025 19:29:45 UTC]    Language field in books: YES
[23-Nov-2025 19:29:45 UTC]    Format field in books: YES
[23-Nov-2025 19:29:45 UTC]    Description field in categories: YES
[23-Nov-2025 19:29:45 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:29:45 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:29:45 UTC]    Is_active field in books: YES
[23-Nov-2025 19:29:45 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:29:45 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:29:45 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:29:45 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:29:45 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:29:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:29:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 19:29:45 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:29:45 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 19:29:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:29:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:29:45 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 19:29:45 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 19:30:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:30:00 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:30:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:30:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:30:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:30:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:30:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:30:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:30:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:30:00 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:30:00 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:30:00 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:30:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:30:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:30:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:30:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:30:00 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:30:00 UTC] 📊 Database Info:
[23-Nov-2025 19:30:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:30:00 UTC]    Books columns count: 45
[23-Nov-2025 19:30:00 UTC]    Categories columns count: 7
[23-Nov-2025 19:30:00 UTC]    Language field in books: YES
[23-Nov-2025 19:30:00 UTC]    Format field in books: YES
[23-Nov-2025 19:30:00 UTC]    Description field in categories: YES
[23-Nov-2025 19:30:00 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:30:00 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:30:00 UTC]    Is_active field in books: YES
[23-Nov-2025 19:30:00 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:30:00 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:30:00 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:30:00 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:30:00 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:30:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:30:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:30:00 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:30:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:30:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:30:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:30:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:30:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:30:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:30:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:30:00 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:30:00 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:30:00 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:30:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:30:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:30:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:30:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:30:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:30:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:30:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:30:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:30:00 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:30:00 UTC] 📊 Database Info:
[23-Nov-2025 19:30:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:30:00 UTC]    Books columns count: 45
[23-Nov-2025 19:30:00 UTC]    Categories columns count: 7
[23-Nov-2025 19:30:00 UTC]    Language field in books: YES
[23-Nov-2025 19:30:00 UTC]    Format field in books: YES
[23-Nov-2025 19:30:00 UTC]    Description field in categories: YES
[23-Nov-2025 19:30:00 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:30:00 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:30:00 UTC]    Is_active field in books: YES
[23-Nov-2025 19:30:00 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:30:00 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:30:00 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:30:00 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:30:00 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:30:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:30:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:30:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:30:59 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:30:59 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:30:59 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:30:59 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:30:59 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:30:59 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:30:59 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:30:59 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:30:59 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:30:59 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:30:59 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:30:59 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:30:59 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:30:59 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:30:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:30:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:30:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:30:59 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:30:59 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:30:59 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:30:59 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:30:59 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:30:59 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:30:59 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:30:59 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:30:59 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:30:59 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:30:59 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:30:59 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:30:59 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:30:59 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:30:59 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:30:59 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:30:59 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:30:59 UTC] 📊 Database Info:
[23-Nov-2025 19:30:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:30:59 UTC]    Books columns count: 45
[23-Nov-2025 19:30:59 UTC]    Categories columns count: 7
[23-Nov-2025 19:30:59 UTC]    Language field in books: YES
[23-Nov-2025 19:30:59 UTC]    Format field in books: YES
[23-Nov-2025 19:30:59 UTC]    Description field in categories: YES
[23-Nov-2025 19:30:59 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:30:59 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:30:59 UTC]    Is_active field in books: YES
[23-Nov-2025 19:30:59 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:30:59 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:30:59 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:30:59 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:30:59 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:30:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:30:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:30:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:30:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:30:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:30:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:30:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:30:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:30:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:30:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:30:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:30:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:30:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:30:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:30:59 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:30:59 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:30:59 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:30:59 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:30:59 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:30:59 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:30:59 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:30:59 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:30:59 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:30:59 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:31:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:31:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:31:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:31:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:31:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:31:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:31:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:31:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:31:00 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:31:00 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:31:00 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:31:00 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:31:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:31:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:31:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:31:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:31:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:31:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:31:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:31:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:31:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:31:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:31:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:31:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:31:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:31:00 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:31:00 UTC] 📊 Database Info:
[23-Nov-2025 19:31:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:31:00 UTC]    Books columns count: 45
[23-Nov-2025 19:31:00 UTC]    Categories columns count: 7
[23-Nov-2025 19:31:00 UTC]    Language field in books: YES
[23-Nov-2025 19:31:00 UTC]    Format field in books: YES
[23-Nov-2025 19:31:00 UTC]    Description field in categories: YES
[23-Nov-2025 19:31:00 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:31:00 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:31:00 UTC]    Is_active field in books: YES
[23-Nov-2025 19:31:00 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:31:00 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:31:00 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:31:00 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:31:00 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:31:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:31:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:31:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:31:22 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:31:22 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:31:22 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:31:22 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:31:22 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:31:22 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:31:22 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:31:22 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:31:22 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:31:22 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:31:22 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:31:22 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:31:22 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:31:22 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:31:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:31:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:31:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:31:22 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:31:22 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:31:22 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:31:22 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:31:22 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:31:22 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:31:22 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:31:22 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:31:22 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:31:22 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:31:22 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:31:22 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:31:22 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:31:22 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:31:22 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:31:22 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:31:22 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:31:22 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:31:22 UTC] 📊 Database Info:
[23-Nov-2025 19:31:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:31:22 UTC]    Books columns count: 45
[23-Nov-2025 19:31:22 UTC]    Categories columns count: 7
[23-Nov-2025 19:31:22 UTC]    Language field in books: YES
[23-Nov-2025 19:31:22 UTC]    Format field in books: YES
[23-Nov-2025 19:31:22 UTC]    Description field in categories: YES
[23-Nov-2025 19:31:22 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:31:22 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:31:22 UTC]    Is_active field in books: YES
[23-Nov-2025 19:31:22 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:31:22 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:31:22 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:31:22 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:31:22 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:31:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:31:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:31:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:31:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:31:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:31:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:31:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:31:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:31:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:31:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:31:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:31:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:31:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:31:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:31:58 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:31:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:31:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:31:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:31:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:31:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:31:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:31:58 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:31:58 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:31:58 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:31:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:31:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:31:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:31:58 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:31:58 UTC] 📊 Database Info:
[23-Nov-2025 19:31:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:31:58 UTC]    Books columns count: 45
[23-Nov-2025 19:31:58 UTC]    Categories columns count: 7
[23-Nov-2025 19:31:58 UTC]    Language field in books: YES
[23-Nov-2025 19:31:58 UTC]    Format field in books: YES
[23-Nov-2025 19:31:58 UTC]    Description field in categories: YES
[23-Nov-2025 19:31:58 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:31:58 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:31:58 UTC]    Is_active field in books: YES
[23-Nov-2025 19:31:58 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:31:58 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:31:58 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:31:58 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:31:58 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:31:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:31:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:31:58 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:31:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:31:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:31:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:31:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:31:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:31:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:31:58 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:31:58 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:31:58 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:31:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:31:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:31:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:31:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:31:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:31:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:31:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:31:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:31:58 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:31:58 UTC] 📊 Database Info:
[23-Nov-2025 19:31:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:31:58 UTC]    Books columns count: 45
[23-Nov-2025 19:31:58 UTC]    Categories columns count: 7
[23-Nov-2025 19:31:58 UTC]    Language field in books: YES
[23-Nov-2025 19:31:58 UTC]    Format field in books: YES
[23-Nov-2025 19:31:58 UTC]    Description field in categories: YES
[23-Nov-2025 19:31:58 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:31:58 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:31:58 UTC]    Is_active field in books: YES
[23-Nov-2025 19:31:58 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:31:58 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:31:58 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:31:58 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:31:58 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:31:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:31:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:32:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:32:12 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:32:12 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:32:12 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:32:12 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:32:12 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:32:12 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:32:12 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:32:12 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:32:12 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:32:12 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:32:12 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:32:12 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:32:12 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:32:12 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:32:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:32:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:32:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:32:12 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:32:12 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:32:12 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:32:12 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:32:12 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:32:12 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:32:12 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:32:12 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:32:12 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:32:12 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:32:12 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:32:12 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:32:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:32:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:32:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:32:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:32:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:32:13 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:32:13 UTC] 📊 Database Info:
[23-Nov-2025 19:32:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:32:13 UTC]    Books columns count: 45
[23-Nov-2025 19:32:13 UTC]    Categories columns count: 7
[23-Nov-2025 19:32:13 UTC]    Language field in books: YES
[23-Nov-2025 19:32:13 UTC]    Format field in books: YES
[23-Nov-2025 19:32:13 UTC]    Description field in categories: YES
[23-Nov-2025 19:32:13 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:32:13 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:32:13 UTC]    Is_active field in books: YES
[23-Nov-2025 19:32:13 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:32:13 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:32:13 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:32:13 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:32:13 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:32:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:32:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:32:13 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:32:13 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:32:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:32:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:32:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:32:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:32:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:32:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:32:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:32:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:32:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:32:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:32:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:32:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:32:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:32:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:32:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:32:13 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:32:13 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:32:13 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:32:13 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:32:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:32:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:32:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:32:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:32:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:32:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:32:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:32:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:32:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:32:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:32:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:32:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:32:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:32:13 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:32:13 UTC] 📊 Database Info:
[23-Nov-2025 19:32:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:32:13 UTC]    Books columns count: 45
[23-Nov-2025 19:32:13 UTC]    Categories columns count: 7
[23-Nov-2025 19:32:13 UTC]    Language field in books: YES
[23-Nov-2025 19:32:13 UTC]    Format field in books: YES
[23-Nov-2025 19:32:13 UTC]    Description field in categories: YES
[23-Nov-2025 19:32:13 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:32:13 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:32:13 UTC]    Is_active field in books: YES
[23-Nov-2025 19:32:13 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:32:13 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:32:13 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:32:13 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:32:13 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:32:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:32:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:38:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:38:46 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:38:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:38:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:38:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:38:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:38:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:38:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:38:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:38:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:38:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:38:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:38:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:38:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:38:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:38:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:38:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:38:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:38:46 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:38:46 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:38:46 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:38:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:38:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:38:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:38:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:38:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:38:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:38:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:38:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:38:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:38:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:38:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:38:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:38:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:38:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:38:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:38:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:38:46 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:38:46 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:38:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:38:46 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:38:46 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:38:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:38:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:38:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:38:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:38:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:38:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:38:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:38:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:38:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:38:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:38:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:38:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:38:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:38:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:38:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:38:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:38:46 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:38:46 UTC] 📊 Database Info:
[23-Nov-2025 19:38:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:38:46 UTC]    Books columns count: 45
[23-Nov-2025 19:38:46 UTC]    Categories columns count: 7
[23-Nov-2025 19:38:46 UTC]    Language field in books: YES
[23-Nov-2025 19:38:46 UTC]    Format field in books: YES
[23-Nov-2025 19:38:46 UTC]    Description field in categories: YES
[23-Nov-2025 19:38:46 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:38:46 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:38:46 UTC]    Is_active field in books: YES
[23-Nov-2025 19:38:46 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:38:46 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:38:46 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:38:46 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:38:46 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:38:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:38:46 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 19:38:46 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 19:38:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:38:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:38:46 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:38:46 UTC] 📊 Database Info:
[23-Nov-2025 19:38:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:38:46 UTC]    Books columns count: 45
[23-Nov-2025 19:38:46 UTC]    Categories columns count: 7
[23-Nov-2025 19:38:46 UTC]    Language field in books: YES
[23-Nov-2025 19:38:46 UTC]    Format field in books: YES
[23-Nov-2025 19:38:46 UTC]    Description field in categories: YES
[23-Nov-2025 19:38:46 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:38:46 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:38:46 UTC]    Is_active field in books: YES
[23-Nov-2025 19:38:46 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:38:46 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:38:46 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:38:46 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:38:46 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:38:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:38:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 19:38:46 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 19:38:46 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 19:38:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:38:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:38:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:38:46 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:38:46 UTC] 📊 Database Info:
[23-Nov-2025 19:38:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:38:46 UTC]    Books columns count: 45
[23-Nov-2025 19:38:46 UTC]    Categories columns count: 7
[23-Nov-2025 19:38:46 UTC]    Language field in books: YES
[23-Nov-2025 19:38:46 UTC]    Format field in books: YES
[23-Nov-2025 19:38:46 UTC]    Description field in categories: YES
[23-Nov-2025 19:38:46 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:38:46 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:38:46 UTC]    Is_active field in books: YES
[23-Nov-2025 19:38:46 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:38:46 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:38:46 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:38:46 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:38:46 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:38:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:38:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:39:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:39:18 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:39:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:39:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:39:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:39:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:39:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:39:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:39:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:39:18 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:39:18 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:39:18 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:39:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:39:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:39:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:39:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:39:18 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:39:18 UTC] 📊 Database Info:
[23-Nov-2025 19:39:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:39:18 UTC]    Books columns count: 45
[23-Nov-2025 19:39:18 UTC]    Categories columns count: 7
[23-Nov-2025 19:39:18 UTC]    Language field in books: YES
[23-Nov-2025 19:39:18 UTC]    Format field in books: YES
[23-Nov-2025 19:39:18 UTC]    Description field in categories: YES
[23-Nov-2025 19:39:18 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:39:18 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:39:18 UTC]    Is_active field in books: YES
[23-Nov-2025 19:39:18 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:39:18 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:39:18 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:39:18 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:39:18 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:39:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:39:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:39:18 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:39:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:39:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:39:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:39:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:39:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:39:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:39:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:39:18 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:39:18 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:39:18 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:39:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:39:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:39:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:39:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:39:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:39:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:39:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:39:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:39:18 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:39:18 UTC] 📊 Database Info:
[23-Nov-2025 19:39:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:39:18 UTC]    Books columns count: 45
[23-Nov-2025 19:39:18 UTC]    Categories columns count: 7
[23-Nov-2025 19:39:18 UTC]    Language field in books: YES
[23-Nov-2025 19:39:18 UTC]    Format field in books: YES
[23-Nov-2025 19:39:18 UTC]    Description field in categories: YES
[23-Nov-2025 19:39:18 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:39:18 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:39:18 UTC]    Is_active field in books: YES
[23-Nov-2025 19:39:18 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:39:18 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:39:18 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:39:18 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:39:18 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:39:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:39:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:39:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:39:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:39:36 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:39:36 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:39:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:39:36 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:39:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:39:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:39:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:39:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:39:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:39:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:39:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:39:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:39:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:39:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:39:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:39:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:39:36 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:39:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:39:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:39:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:39:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:39:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:39:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:39:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:39:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:39:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:39:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:39:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:39:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:39:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:39:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:39:36 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:39:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:39:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:39:36 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:39:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:39:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:39:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:39:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:39:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:39:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:39:36 UTC] 📊 Database Info:
[23-Nov-2025 19:39:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:39:36 UTC]    Books columns count: 45
[23-Nov-2025 19:39:36 UTC]    Categories columns count: 7
[23-Nov-2025 19:39:36 UTC]    Language field in books: YES
[23-Nov-2025 19:39:36 UTC]    Format field in books: YES
[23-Nov-2025 19:39:36 UTC]    Description field in categories: YES
[23-Nov-2025 19:39:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:39:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:39:36 UTC]    Is_active field in books: YES
[23-Nov-2025 19:39:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:39:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:39:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:39:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:39:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:39:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:39:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:39:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:39:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:39:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:39:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:39:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:39:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:39:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:39:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:39:36 UTC] 📊 Database Info:
[23-Nov-2025 19:39:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:39:36 UTC]    Books columns count: 45
[23-Nov-2025 19:39:36 UTC]    Categories columns count: 7
[23-Nov-2025 19:39:36 UTC]    Language field in books: YES
[23-Nov-2025 19:39:36 UTC]    Format field in books: YES
[23-Nov-2025 19:39:36 UTC]    Description field in categories: YES
[23-Nov-2025 19:39:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:39:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:39:36 UTC]    Is_active field in books: YES
[23-Nov-2025 19:39:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:39:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:39:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:39:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:39:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:39:36 UTC] 📊 Database Info:
[23-Nov-2025 19:39:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:39:36 UTC]    Books columns count: 45
[23-Nov-2025 19:39:36 UTC]    Categories columns count: 7
[23-Nov-2025 19:39:36 UTC]    Language field in books: YES
[23-Nov-2025 19:39:36 UTC]    Format field in books: YES
[23-Nov-2025 19:39:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:39:36 UTC]    Description field in categories: YES
[23-Nov-2025 19:39:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:39:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:39:36 UTC]    Is_active field in books: YES
[23-Nov-2025 19:39:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:39:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:39:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:39:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:39:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:39:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:39:36 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 19:39:36 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 19:39:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:39:39 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:39:39 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:39:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:39:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:39:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:39:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:39:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:39:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:39:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:39:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:39:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:39:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:39:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:39:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:39:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:39:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:39:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:39:39 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:39:39 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:39:39 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:39:39 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:39:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:39:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:39:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:39:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:39:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:39:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:39:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:39:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:39:40 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:39:40 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:39:40 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:39:40 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:39:40 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:39:40 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:39:40 UTC] 📊 Database Info:
[23-Nov-2025 19:39:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:39:40 UTC]    Books columns count: 45
[23-Nov-2025 19:39:40 UTC]    Categories columns count: 7
[23-Nov-2025 19:39:40 UTC]    Language field in books: YES
[23-Nov-2025 19:39:40 UTC]    Format field in books: YES
[23-Nov-2025 19:39:40 UTC]    Description field in categories: YES
[23-Nov-2025 19:39:40 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:39:40 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:39:40 UTC]    Is_active field in books: YES
[23-Nov-2025 19:39:40 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:39:40 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:39:40 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:39:40 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:39:40 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:39:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:39:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:39:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:39:58 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:39:58 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:39:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:39:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:39:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:39:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:39:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:39:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:39:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:39:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:39:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:39:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:39:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:39:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:39:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:39:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:39:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:39:58 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:39:58 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:39:58 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:39:58 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:39:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:39:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:39:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:39:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:39:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:39:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:39:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:39:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:39:59 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:39:59 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:39:59 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:39:59 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:39:59 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:39:59 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:39:59 UTC] 📊 Database Info:
[23-Nov-2025 19:39:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:39:59 UTC]    Books columns count: 45
[23-Nov-2025 19:39:59 UTC]    Categories columns count: 7
[23-Nov-2025 19:39:59 UTC]    Language field in books: YES
[23-Nov-2025 19:39:59 UTC]    Format field in books: YES
[23-Nov-2025 19:39:59 UTC]    Description field in categories: YES
[23-Nov-2025 19:39:59 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:39:59 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:39:59 UTC]    Is_active field in books: YES
[23-Nov-2025 19:39:59 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:39:59 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:39:59 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:39:59 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:39:59 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:39:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:39:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:39:59 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:39:59 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:39:59 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:39:59 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:39:59 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:39:59 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:39:59 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:39:59 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:39:59 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:39:59 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:39:59 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:39:59 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:39:59 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:39:59 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:39:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:39:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:39:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:39:59 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:39:59 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:39:59 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:39:59 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:39:59 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:39:59 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:39:59 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:39:59 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:39:59 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:39:59 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:39:59 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:39:59 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:39:59 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:39:59 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:39:59 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:39:59 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:39:59 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:39:59 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:39:59 UTC] 📊 Database Info:
[23-Nov-2025 19:39:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:39:59 UTC]    Books columns count: 45
[23-Nov-2025 19:39:59 UTC]    Categories columns count: 7
[23-Nov-2025 19:39:59 UTC]    Language field in books: YES
[23-Nov-2025 19:39:59 UTC]    Format field in books: YES
[23-Nov-2025 19:39:59 UTC]    Description field in categories: YES
[23-Nov-2025 19:39:59 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:39:59 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:39:59 UTC]    Is_active field in books: YES
[23-Nov-2025 19:39:59 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:39:59 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:39:59 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:39:59 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:39:59 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:39:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:39:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:40:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:40:07 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:40:07 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:40:07 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:40:07 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:40:07 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:40:07 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:40:07 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:40:07 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:40:07 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:40:07 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:40:07 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:40:07 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:40:07 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:40:07 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:40:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:40:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:40:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:40:07 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:40:07 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:40:07 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:40:07 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:40:07 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:40:07 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:40:07 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:40:07 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:40:07 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:40:07 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:40:07 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:40:07 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:40:07 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:40:07 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:40:07 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:40:07 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:40:07 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:40:07 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:40:07 UTC] 📊 Database Info:
[23-Nov-2025 19:40:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:40:07 UTC]    Books columns count: 45
[23-Nov-2025 19:40:07 UTC]    Categories columns count: 7
[23-Nov-2025 19:40:07 UTC]    Language field in books: YES
[23-Nov-2025 19:40:07 UTC]    Format field in books: YES
[23-Nov-2025 19:40:07 UTC]    Description field in categories: YES
[23-Nov-2025 19:40:07 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:40:07 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:40:07 UTC]    Is_active field in books: YES
[23-Nov-2025 19:40:07 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:40:07 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:40:07 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:40:07 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:40:07 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:40:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:40:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:41:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:41:14 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:41:14 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:41:14 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:41:14 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:41:14 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:41:14 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:41:14 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:41:14 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:41:14 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:41:14 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:41:14 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:41:14 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:41:14 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:41:14 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:41:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:41:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:41:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:41:14 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:41:14 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:41:14 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:41:14 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:41:14 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:41:14 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:41:14 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:41:14 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:41:14 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:41:14 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:41:14 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:41:14 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:41:14 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:41:14 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:41:14 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:41:14 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:41:14 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:41:14 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:41:14 UTC] 📊 Database Info:
[23-Nov-2025 19:41:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:41:14 UTC]    Books columns count: 45
[23-Nov-2025 19:41:14 UTC]    Categories columns count: 7
[23-Nov-2025 19:41:14 UTC]    Language field in books: YES
[23-Nov-2025 19:41:14 UTC]    Format field in books: YES
[23-Nov-2025 19:41:14 UTC]    Description field in categories: YES
[23-Nov-2025 19:41:14 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:41:14 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:41:14 UTC]    Is_active field in books: YES
[23-Nov-2025 19:41:14 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:41:14 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:41:14 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:41:14 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:41:14 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:41:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:41:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:48:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:48:36 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:48:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:48:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:48:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:48:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:48:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:48:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:48:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:48:36 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:48:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:48:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:48:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:48:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:48:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:48:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:48:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:48:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:48:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:48:36 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:48:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:48:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:48:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:48:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:48:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:48:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:48:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:48:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:48:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:48:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:48:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:48:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:48:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:48:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:48:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:48:36 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:48:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:48:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:48:36 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:48:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:48:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:48:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:48:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:48:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:48:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:48:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:48:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:48:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:48:36 UTC] 📊 Database Info:
[23-Nov-2025 19:48:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:48:36 UTC]    Books columns count: 45
[23-Nov-2025 19:48:36 UTC]    Categories columns count: 7
[23-Nov-2025 19:48:36 UTC]    Language field in books: YES
[23-Nov-2025 19:48:36 UTC]    Format field in books: YES
[23-Nov-2025 19:48:36 UTC]    Description field in categories: YES
[23-Nov-2025 19:48:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:48:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:48:36 UTC]    Is_active field in books: YES
[23-Nov-2025 19:48:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:48:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:48:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:48:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:48:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:48:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:48:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:48:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:48:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:48:36 UTC] 📊 Database Info:
[23-Nov-2025 19:48:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:48:36 UTC]    Books columns count: 45
[23-Nov-2025 19:48:36 UTC]    Categories columns count: 7
[23-Nov-2025 19:48:36 UTC]    Language field in books: YES
[23-Nov-2025 19:48:36 UTC]    Format field in books: YES
[23-Nov-2025 19:48:36 UTC]    Description field in categories: YES
[23-Nov-2025 19:48:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:48:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:48:36 UTC]    Is_active field in books: YES
[23-Nov-2025 19:48:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:48:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:48:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:48:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:48:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:48:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:48:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:48:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:48:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:48:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:48:36 UTC] 📊 Database Info:
[23-Nov-2025 19:48:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:48:36 UTC]    Books columns count: 45
[23-Nov-2025 19:48:36 UTC]    Categories columns count: 7
[23-Nov-2025 19:48:36 UTC]    Language field in books: YES
[23-Nov-2025 19:48:36 UTC]    Format field in books: YES
[23-Nov-2025 19:48:36 UTC]    Description field in categories: YES
[23-Nov-2025 19:48:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:48:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:48:36 UTC]    Is_active field in books: YES
[23-Nov-2025 19:48:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:48:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:48:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:48:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:48:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:48:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:48:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 19:48:36 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 19:48:36 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 19:48:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 19:48:42 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:48:42 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:48:42 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:48:42 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:48:42 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:48:42 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:48:42 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:48:42 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:48:42 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:48:42 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:48:42 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:48:42 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:48:42 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:48:42 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:48:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 19:48:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:48:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 19:48:42 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 19:48:42 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 19:48:42 UTC] ℹ️ Column require_login_for_download already exists
[23-Nov-2025 19:48:42 UTC] ✅ Updated existing books with require_login_for_download = FALSE
[23-Nov-2025 19:48:42 UTC] ℹ️ Column institution already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column language already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column format already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 19:48:42 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 19:48:42 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 19:48:42 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 19:48:42 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 19:48:42 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 19:48:42 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 19:48:42 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 19:48:42 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 19:48:42 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 19:48:42 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 19:48:42 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 19:48:42 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 19:48:42 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 19:48:42 UTC] 📊 Database Info:
[23-Nov-2025 19:48:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 19:48:42 UTC]    Books columns count: 45
[23-Nov-2025 19:48:42 UTC]    Categories columns count: 7
[23-Nov-2025 19:48:42 UTC]    Language field in books: YES
[23-Nov-2025 19:48:42 UTC]    Format field in books: YES
[23-Nov-2025 19:48:42 UTC]    Description field in categories: YES
[23-Nov-2025 19:48:42 UTC]    Display_order field in categories: YES
[23-Nov-2025 19:48:42 UTC]    Is_active field in categories: YES
[23-Nov-2025 19:48:42 UTC]    Is_active field in books: YES
[23-Nov-2025 19:48:42 UTC]    External_download_link field in books: YES
[23-Nov-2025 19:48:42 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 19:48:42 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 19:48:42 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 19:48:42 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 19:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 19:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 19:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 19:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 19:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 19:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 19:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 19:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 19:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 19:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 19:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 19:48:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 19:48:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:04:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:04:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:04:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:04:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:04:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:04:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:04:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:04:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:04:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:04:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:04:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:04:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:04:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:04:31 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:04:31 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:04:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:04:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:04:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:04:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:04:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:04:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:04:31 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:04:31 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:04:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:04:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:04:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:04:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:04:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:04:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:04:31 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:04:31 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:04:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:04:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:04:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:04:31 UTC] 📊 Database Info:
[23-Nov-2025 20:04:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:04:31 UTC]    Books columns count: 45
[23-Nov-2025 20:04:31 UTC]    Categories columns count: 7
[23-Nov-2025 20:04:31 UTC]    Language field in books: YES
[23-Nov-2025 20:04:31 UTC]    Format field in books: YES
[23-Nov-2025 20:04:31 UTC]    Description field in categories: YES
[23-Nov-2025 20:04:31 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:04:31 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:04:31 UTC]    Is_active field in books: YES
[23-Nov-2025 20:04:31 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:04:31 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:04:31 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:04:31 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:04:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:04:31 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 20:04:31 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 20:04:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:04:31 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:04:31 UTC] 📊 Database Info:
[23-Nov-2025 20:04:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:04:31 UTC]    Books columns count: 45
[23-Nov-2025 20:04:31 UTC]    Categories columns count: 7
[23-Nov-2025 20:04:31 UTC]    Language field in books: YES
[23-Nov-2025 20:04:31 UTC]    Format field in books: YES
[23-Nov-2025 20:04:31 UTC]    Description field in categories: YES
[23-Nov-2025 20:04:31 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:04:31 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:04:31 UTC]    Is_active field in books: YES
[23-Nov-2025 20:04:31 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:04:31 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:04:31 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:04:31 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:04:31 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:04:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:04:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:04:31 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 20:04:31 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 20:04:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:04:31 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:04:31 UTC] 📊 Database Info:
[23-Nov-2025 20:04:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:04:31 UTC]    Books columns count: 45
[23-Nov-2025 20:04:31 UTC]    Categories columns count: 7
[23-Nov-2025 20:04:31 UTC]    Language field in books: YES
[23-Nov-2025 20:04:31 UTC]    Format field in books: YES
[23-Nov-2025 20:04:31 UTC]    Description field in categories: YES
[23-Nov-2025 20:04:31 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:04:31 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:04:31 UTC]    Is_active field in books: YES
[23-Nov-2025 20:04:31 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:04:31 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:04:31 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:04:31 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:04:31 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:04:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:04:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:04:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:04:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:04:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:04:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:04:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:04:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:04:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:04:44 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:04:44 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:04:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:04:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:04:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:04:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:04:44 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:04:44 UTC] 📊 Database Info:
[23-Nov-2025 20:04:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:04:44 UTC]    Books columns count: 45
[23-Nov-2025 20:04:44 UTC]    Categories columns count: 7
[23-Nov-2025 20:04:44 UTC]    Language field in books: YES
[23-Nov-2025 20:04:44 UTC]    Format field in books: YES
[23-Nov-2025 20:04:44 UTC]    Description field in categories: YES
[23-Nov-2025 20:04:44 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:04:44 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:04:44 UTC]    Is_active field in books: YES
[23-Nov-2025 20:04:44 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:04:44 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:04:44 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:04:44 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:04:44 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:04:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:04:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:04:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:04:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:04:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:04:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:04:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:04:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:04:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:04:44 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:04:44 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:04:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:04:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:04:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:04:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:04:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:04:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:04:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:04:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:04:44 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:04:44 UTC] 📊 Database Info:
[23-Nov-2025 20:04:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:04:44 UTC]    Books columns count: 45
[23-Nov-2025 20:04:44 UTC]    Categories columns count: 7
[23-Nov-2025 20:04:44 UTC]    Language field in books: YES
[23-Nov-2025 20:04:44 UTC]    Format field in books: YES
[23-Nov-2025 20:04:44 UTC]    Description field in categories: YES
[23-Nov-2025 20:04:44 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:04:44 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:04:44 UTC]    Is_active field in books: YES
[23-Nov-2025 20:04:44 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:04:44 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:04:44 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:04:44 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:04:44 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:04:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:04:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:05:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:05:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:05:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:05:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:05:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:05:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:05:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:05:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:05:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:05:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:05:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:05:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:05:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:05:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:05:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:05:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:05:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:05:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:05:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:05:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:05:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:05:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:05:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:05:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:05:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:05:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:05:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:05:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:05:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:05:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:05:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:05:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:05:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:05:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:05:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:05:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:05:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:05:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:05:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:05:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:05:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:05:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:05:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:05:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:05:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:05:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:05:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:05:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:05:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:05:38 UTC] 📊 Database Info:
[23-Nov-2025 20:05:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:05:38 UTC]    Books columns count: 45
[23-Nov-2025 20:05:38 UTC]    Categories columns count: 7
[23-Nov-2025 20:05:38 UTC]    Language field in books: YES
[23-Nov-2025 20:05:38 UTC]    Format field in books: YES
[23-Nov-2025 20:05:38 UTC]    Description field in categories: YES
[23-Nov-2025 20:05:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:05:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:05:38 UTC]    Is_active field in books: YES
[23-Nov-2025 20:05:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:05:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:05:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:05:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:05:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:05:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:05:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:05:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:05:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:05:38 UTC] 📊 Database Info:
[23-Nov-2025 20:05:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:05:38 UTC]    Books columns count: 45
[23-Nov-2025 20:05:38 UTC]    Categories columns count: 7
[23-Nov-2025 20:05:38 UTC]    Language field in books: YES
[23-Nov-2025 20:05:38 UTC]    Format field in books: YES
[23-Nov-2025 20:05:38 UTC]    Description field in categories: YES
[23-Nov-2025 20:05:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:05:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:05:38 UTC]    Is_active field in books: YES
[23-Nov-2025 20:05:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:05:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:05:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:05:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:05:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:05:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:05:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:05:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:05:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:05:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:05:38 UTC] 📊 Database Info:
[23-Nov-2025 20:05:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:05:38 UTC]    Books columns count: 45
[23-Nov-2025 20:05:38 UTC]    Categories columns count: 7
[23-Nov-2025 20:05:38 UTC]    Language field in books: YES
[23-Nov-2025 20:05:38 UTC]    Format field in books: YES
[23-Nov-2025 20:05:38 UTC]    Description field in categories: YES
[23-Nov-2025 20:05:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:05:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:05:38 UTC]    Is_active field in books: YES
[23-Nov-2025 20:05:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:05:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:05:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:05:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:05:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:05:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:05:38 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 20:05:38 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 20:05:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:05:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:05:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:05:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:05:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:05:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:05:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:05:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:05:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:05:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:05:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:05:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:05:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:05:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:05:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:05:54 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:05:54 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:05:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:05:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:05:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:05:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:05:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:05:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:05:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:05:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:05:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:05:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:05:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:05:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:05:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:05:54 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:05:54 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:05:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:05:54 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:05:54 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:05:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:05:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:05:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:05:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:05:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:05:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:05:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:05:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:05:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:05:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:05:54 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:05:54 UTC] 📊 Database Info:
[23-Nov-2025 20:05:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:05:54 UTC]    Books columns count: 45
[23-Nov-2025 20:05:54 UTC]    Categories columns count: 7
[23-Nov-2025 20:05:54 UTC]    Language field in books: YES
[23-Nov-2025 20:05:54 UTC]    Format field in books: YES
[23-Nov-2025 20:05:54 UTC]    Description field in categories: YES
[23-Nov-2025 20:05:54 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:05:54 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:05:54 UTC]    Is_active field in books: YES
[23-Nov-2025 20:05:54 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:05:54 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:05:54 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:05:54 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:05:54 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:05:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:05:54 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 20:05:54 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 20:05:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:05:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:05:54 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:05:54 UTC] 📊 Database Info:
[23-Nov-2025 20:05:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:05:54 UTC]    Books columns count: 45
[23-Nov-2025 20:05:54 UTC]    Categories columns count: 7
[23-Nov-2025 20:05:54 UTC]    Language field in books: YES
[23-Nov-2025 20:05:54 UTC]    Format field in books: YES
[23-Nov-2025 20:05:54 UTC]    Description field in categories: YES
[23-Nov-2025 20:05:54 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:05:54 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:05:54 UTC]    Is_active field in books: YES
[23-Nov-2025 20:05:54 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:05:54 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:05:54 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:05:54 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:05:54 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:05:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:05:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:05:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:05:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:05:54 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:05:54 UTC] 📊 Database Info:
[23-Nov-2025 20:05:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:05:54 UTC]    Books columns count: 45
[23-Nov-2025 20:05:54 UTC]    Categories columns count: 7
[23-Nov-2025 20:05:54 UTC]    Language field in books: YES
[23-Nov-2025 20:05:54 UTC]    Format field in books: YES
[23-Nov-2025 20:05:54 UTC]    Description field in categories: YES
[23-Nov-2025 20:05:54 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:05:54 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:05:54 UTC]    Is_active field in books: YES
[23-Nov-2025 20:05:54 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:05:54 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:05:54 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:05:54 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:05:54 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:05:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:05:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:07:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:07:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:07:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:07:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:07:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:07:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:07:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:07:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:07:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:07:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:07:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:07:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:07:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:07:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:07:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:07:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:07:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:07:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:07:18 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:07:18 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:07:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:07:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:07:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:07:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:07:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:07:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:07:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:07:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:07:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:07:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:07:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:07:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:07:18 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:07:18 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:07:18 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:07:18 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:07:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:07:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:07:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:07:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:07:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:07:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:07:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:07:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:07:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:07:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:07:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:07:18 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:07:18 UTC] 📊 Database Info:
[23-Nov-2025 20:07:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:07:18 UTC]    Books columns count: 45
[23-Nov-2025 20:07:18 UTC]    Categories columns count: 7
[23-Nov-2025 20:07:18 UTC]    Language field in books: YES
[23-Nov-2025 20:07:18 UTC]    Format field in books: YES
[23-Nov-2025 20:07:18 UTC]    Description field in categories: YES
[23-Nov-2025 20:07:18 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:07:18 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:07:18 UTC]    Is_active field in books: YES
[23-Nov-2025 20:07:18 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:07:18 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:07:18 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:07:18 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:07:18 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:07:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:07:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:07:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:07:18 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:07:18 UTC] 📊 Database Info:
[23-Nov-2025 20:07:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:07:18 UTC]    Books columns count: 45
[23-Nov-2025 20:07:18 UTC]    Categories columns count: 7
[23-Nov-2025 20:07:18 UTC]    Language field in books: YES
[23-Nov-2025 20:07:18 UTC]    Format field in books: YES
[23-Nov-2025 20:07:18 UTC]    Description field in categories: YES
[23-Nov-2025 20:07:18 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:07:18 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:07:18 UTC]    Is_active field in books: YES
[23-Nov-2025 20:07:18 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:07:18 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:07:18 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:07:18 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:07:18 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:07:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:07:18 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 20:07:18 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 20:07:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:07:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:07:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:07:18 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:07:18 UTC] 📊 Database Info:
[23-Nov-2025 20:07:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:07:18 UTC]    Books columns count: 45
[23-Nov-2025 20:07:18 UTC]    Categories columns count: 7
[23-Nov-2025 20:07:18 UTC]    Language field in books: YES
[23-Nov-2025 20:07:18 UTC]    Format field in books: YES
[23-Nov-2025 20:07:18 UTC]    Description field in categories: YES
[23-Nov-2025 20:07:18 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:07:18 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:07:18 UTC]    Is_active field in books: YES
[23-Nov-2025 20:07:18 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:07:18 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:07:18 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:07:18 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:07:18 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:07:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:07:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:07:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:07:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:07:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:07:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:07:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:07:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:07:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:07:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:07:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:07:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:07:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:07:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:07:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:07:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:07:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:07:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:07:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:07:58 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:07:58 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:07:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:07:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:07:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:07:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:07:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:07:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:07:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:07:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:07:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:07:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:07:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:07:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:07:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:07:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:07:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:07:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:07:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:07:58 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:07:58 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:07:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:07:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:07:58 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:07:58 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:07:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:07:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:07:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:07:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:07:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:07:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:07:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:07:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:07:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:07:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:07:58 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:07:58 UTC] 📊 Database Info:
[23-Nov-2025 20:07:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:07:58 UTC]    Books columns count: 45
[23-Nov-2025 20:07:58 UTC]    Categories columns count: 7
[23-Nov-2025 20:07:58 UTC]    Language field in books: YES
[23-Nov-2025 20:07:58 UTC]    Format field in books: YES
[23-Nov-2025 20:07:58 UTC]    Description field in categories: YES
[23-Nov-2025 20:07:58 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:07:58 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:07:58 UTC]    Is_active field in books: YES
[23-Nov-2025 20:07:58 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:07:58 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:07:58 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:07:58 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:07:58 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:07:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:07:58 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 20:07:58 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 20:07:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:07:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:07:58 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:07:58 UTC] 📊 Database Info:
[23-Nov-2025 20:07:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:07:58 UTC]    Books columns count: 45
[23-Nov-2025 20:07:58 UTC]    Categories columns count: 7
[23-Nov-2025 20:07:58 UTC]    Language field in books: YES
[23-Nov-2025 20:07:58 UTC]    Format field in books: YES
[23-Nov-2025 20:07:58 UTC]    Description field in categories: YES
[23-Nov-2025 20:07:58 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:07:58 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:07:58 UTC]    Is_active field in books: YES
[23-Nov-2025 20:07:58 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:07:58 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:07:58 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:07:58 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:07:58 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:07:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:07:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:07:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:07:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:07:58 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:07:58 UTC] 📊 Database Info:
[23-Nov-2025 20:07:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:07:58 UTC]    Books columns count: 45
[23-Nov-2025 20:07:58 UTC]    Categories columns count: 7
[23-Nov-2025 20:07:58 UTC]    Language field in books: YES
[23-Nov-2025 20:07:58 UTC]    Format field in books: YES
[23-Nov-2025 20:07:58 UTC]    Description field in categories: YES
[23-Nov-2025 20:07:58 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:07:58 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:07:58 UTC]    Is_active field in books: YES
[23-Nov-2025 20:07:58 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:07:58 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:07:58 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:07:58 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:07:58 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:07:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:07:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:09:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:09:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:09:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:09:21 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:09:21 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:09:21 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:09:21 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:09:21 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:09:21 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:09:21 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:09:21 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:09:21 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:09:21 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:09:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:09:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:09:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:09:21 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:09:21 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:09:21 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:09:21 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:09:21 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:09:21 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:09:21 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:09:21 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:09:21 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:09:21 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:09:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:09:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:09:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:09:21 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:09:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:09:21 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:09:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:09:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:09:21 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:09:21 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:09:21 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:09:21 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:09:21 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:09:21 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:09:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:09:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:09:21 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:09:21 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:09:21 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:09:21 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:09:21 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:09:21 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:09:21 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:09:21 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:09:21 UTC] 📊 Database Info:
[23-Nov-2025 20:09:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:09:21 UTC]    Books columns count: 45
[23-Nov-2025 20:09:21 UTC]    Categories columns count: 7
[23-Nov-2025 20:09:21 UTC]    Language field in books: YES
[23-Nov-2025 20:09:21 UTC]    Format field in books: YES
[23-Nov-2025 20:09:21 UTC]    Description field in categories: YES
[23-Nov-2025 20:09:21 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:09:21 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:09:21 UTC]    Is_active field in books: YES
[23-Nov-2025 20:09:21 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:09:21 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:09:21 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:09:21 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:09:21 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:09:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:09:21 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 20:09:21 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 20:09:21 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:09:21 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:09:21 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:09:21 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:09:21 UTC] 📊 Database Info:
[23-Nov-2025 20:09:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:09:21 UTC]    Books columns count: 45
[23-Nov-2025 20:09:21 UTC]    Categories columns count: 7
[23-Nov-2025 20:09:21 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:09:21 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:09:21 UTC]    Language field in books: YES
[23-Nov-2025 20:09:21 UTC]    Format field in books: YES
[23-Nov-2025 20:09:21 UTC]    Description field in categories: YES
[23-Nov-2025 20:09:21 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:09:21 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:09:21 UTC]    Is_active field in books: YES
[23-Nov-2025 20:09:21 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:09:21 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:09:21 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:09:21 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:09:21 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:09:21 UTC] 📊 Database Info:
[23-Nov-2025 20:09:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:09:21 UTC]    Books columns count: 45
[23-Nov-2025 20:09:21 UTC]    Categories columns count: 7
[23-Nov-2025 20:09:21 UTC]    Language field in books: YES
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:09:21 UTC]    Format field in books: YES
[23-Nov-2025 20:09:21 UTC]    Description field in categories: YES
[23-Nov-2025 20:09:21 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:09:21 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:09:21 UTC]    Is_active field in books: YES
[23-Nov-2025 20:09:21 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:09:21 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:09:21 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:09:21 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:09:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:09:21 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:09:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:09:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:10:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:10:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:10:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:10:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:10:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:10:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:10:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:10:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:10:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:10:03 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:10:03 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:10:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:10:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:10:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:10:03 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:10:03 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:10:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:10:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:10:03 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:10:03 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:10:03 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:10:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:10:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:10:03 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:10:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:10:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:10:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:10:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:10:03 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:10:03 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:10:03 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:10:03 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:10:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:10:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:10:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:10:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:10:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:10:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:10:03 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:10:03 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:10:03 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:10:03 UTC] 📊 Database Info:
[23-Nov-2025 20:10:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:10:03 UTC]    Books columns count: 45
[23-Nov-2025 20:10:03 UTC]    Categories columns count: 7
[23-Nov-2025 20:10:03 UTC]    Language field in books: YES
[23-Nov-2025 20:10:03 UTC]    Format field in books: YES
[23-Nov-2025 20:10:03 UTC]    Description field in categories: YES
[23-Nov-2025 20:10:03 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:10:03 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:10:03 UTC]    Is_active field in books: YES
[23-Nov-2025 20:10:03 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:10:03 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:10:03 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:10:03 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:10:03 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:10:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:10:03 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 20:10:03 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 20:10:03 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:10:03 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:10:03 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:10:03 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:10:03 UTC] 📊 Database Info:
[23-Nov-2025 20:10:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:10:03 UTC]    Books columns count: 45
[23-Nov-2025 20:10:03 UTC]    Categories columns count: 7
[23-Nov-2025 20:10:03 UTC]    Language field in books: YES
[23-Nov-2025 20:10:03 UTC]    Format field in books: YES
[23-Nov-2025 20:10:03 UTC]    Description field in categories: YES
[23-Nov-2025 20:10:03 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:10:03 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:10:03 UTC]    Is_active field in books: YES
[23-Nov-2025 20:10:03 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:10:03 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:10:03 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:10:03 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:10:03 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:10:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:10:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:10:03 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:10:04 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:10:04 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:10:04 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:10:04 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:10:04 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:10:04 UTC] 📊 Database Info:
[23-Nov-2025 20:10:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:10:04 UTC]    Books columns count: 45
[23-Nov-2025 20:10:04 UTC]    Categories columns count: 7
[23-Nov-2025 20:10:04 UTC]    Language field in books: YES
[23-Nov-2025 20:10:04 UTC]    Format field in books: YES
[23-Nov-2025 20:10:04 UTC]    Description field in categories: YES
[23-Nov-2025 20:10:04 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:10:04 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:10:04 UTC]    Is_active field in books: YES
[23-Nov-2025 20:10:04 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:10:04 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:10:04 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:10:04 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:10:04 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:10:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:10:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:10:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:10:29 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:10:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:10:29 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:10:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:10:29 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:10:29 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:10:29 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:10:29 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:10:29 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:10:29 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:10:29 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:10:29 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:10:29 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:10:29 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:10:29 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:10:29 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:10:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:10:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:10:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:10:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:10:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:10:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:10:30 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:10:30 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:10:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:10:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:10:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:10:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:10:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:10:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:10:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:10:30 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:10:30 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:10:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:10:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:10:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:10:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:10:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:10:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:10:30 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:10:30 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:10:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:10:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:10:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:10:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:10:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:10:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:10:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:10:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:10:30 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:10:30 UTC] 📊 Database Info:
[23-Nov-2025 20:10:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:10:30 UTC]    Books columns count: 45
[23-Nov-2025 20:10:30 UTC]    Categories columns count: 7
[23-Nov-2025 20:10:30 UTC]    Language field in books: YES
[23-Nov-2025 20:10:30 UTC]    Format field in books: YES
[23-Nov-2025 20:10:30 UTC]    Description field in categories: YES
[23-Nov-2025 20:10:30 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:10:30 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:10:30 UTC]    Is_active field in books: YES
[23-Nov-2025 20:10:30 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:10:30 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:10:30 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:10:30 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:10:30 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:10:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:10:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:10:30 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:10:30 UTC] 📊 Database Info:
[23-Nov-2025 20:10:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:10:30 UTC]    Books columns count: 45
[23-Nov-2025 20:10:30 UTC]    Categories columns count: 7
[23-Nov-2025 20:10:30 UTC]    Language field in books: YES
[23-Nov-2025 20:10:30 UTC]    Format field in books: YES
[23-Nov-2025 20:10:30 UTC]    Description field in categories: YES
[23-Nov-2025 20:10:30 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:10:30 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:10:30 UTC]    Is_active field in books: YES
[23-Nov-2025 20:10:30 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:10:30 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:10:30 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:10:30 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:10:30 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:10:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:10:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:10:30 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:10:30 UTC] 📊 Database Info:
[23-Nov-2025 20:10:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:10:30 UTC]    Books columns count: 45
[23-Nov-2025 20:10:30 UTC]    Categories columns count: 7
[23-Nov-2025 20:10:30 UTC]    Language field in books: YES
[23-Nov-2025 20:10:30 UTC]    Format field in books: YES
[23-Nov-2025 20:10:30 UTC]    Description field in categories: YES
[23-Nov-2025 20:10:30 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:10:30 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:10:30 UTC]    Is_active field in books: YES
[23-Nov-2025 20:10:30 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:10:30 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:10:30 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:10:30 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:10:30 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:10:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:10:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:10:30 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 20:10:30 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 20:12:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:12:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:12:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:12:07 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:12:07 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:12:07 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:12:07 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:12:07 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:12:07 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:12:07 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:12:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:12:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:12:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:12:07 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:12:07 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:12:07 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:12:07 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:12:07 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:12:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:12:07 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:12:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:12:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:12:07 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:12:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:12:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:12:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:12:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:12:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:12:07 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:12:07 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:12:07 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:12:07 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:12:07 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:12:07 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:12:07 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:12:07 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:12:07 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:12:07 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:12:07 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:12:07 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:12:07 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:12:07 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:12:07 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:12:07 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:12:07 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:12:07 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:12:07 UTC] 📊 Database Info:
[23-Nov-2025 20:12:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:12:07 UTC]    Books columns count: 45
[23-Nov-2025 20:12:07 UTC]    Categories columns count: 7
[23-Nov-2025 20:12:07 UTC]    Language field in books: YES
[23-Nov-2025 20:12:07 UTC]    Format field in books: YES
[23-Nov-2025 20:12:07 UTC]    Description field in categories: YES
[23-Nov-2025 20:12:07 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:12:07 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:12:07 UTC]    Is_active field in books: YES
[23-Nov-2025 20:12:07 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:12:07 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:12:07 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:12:07 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:12:07 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:12:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:12:07 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:12:07 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:12:07 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:12:07 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:12:07 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:12:07 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:12:07 UTC] 📊 Database Info:
[23-Nov-2025 20:12:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:12:07 UTC]    Books columns count: 45
[23-Nov-2025 20:12:07 UTC]    Categories columns count: 7
[23-Nov-2025 20:12:07 UTC]    Language field in books: YES
[23-Nov-2025 20:12:07 UTC]    Format field in books: YES
[23-Nov-2025 20:12:07 UTC]    Description field in categories: YES
[23-Nov-2025 20:12:07 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:12:07 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:12:07 UTC]    Is_active field in books: YES
[23-Nov-2025 20:12:07 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:12:07 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:12:07 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:12:07 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:12:07 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:12:07 UTC] 📊 Database Info:
[23-Nov-2025 20:12:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:12:07 UTC]    Books columns count: 45
[23-Nov-2025 20:12:07 UTC]    Categories columns count: 7
[23-Nov-2025 20:12:07 UTC]    Language field in books: YES
[23-Nov-2025 20:12:07 UTC]    Format field in books: YES
[23-Nov-2025 20:12:07 UTC]    Description field in categories: YES
[23-Nov-2025 20:12:07 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:12:07 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:12:07 UTC]    Is_active field in books: YES
[23-Nov-2025 20:12:07 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:12:07 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:12:07 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:12:07 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:12:07 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:12:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:12:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:12:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:12:07 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 20:12:07 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 20:13:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:13:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:13:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:13:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:13:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:13:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:13:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:13:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:13:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:13:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:13:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:13:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:13:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:13:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:13:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:13:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:13:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:13:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:13:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:13:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:13:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:13:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:13:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:13:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:13:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:13:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:13:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:13:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:13:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:13:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:13:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:13:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:13:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:13:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:13:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:13:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:13:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:13:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:13:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:13:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:13:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:13:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:13:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:13:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:13:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:13:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:13:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:13:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:13:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:13:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:13:38 UTC] 📊 Database Info:
[23-Nov-2025 20:13:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:13:38 UTC]    Books columns count: 45
[23-Nov-2025 20:13:38 UTC]    Categories columns count: 7
[23-Nov-2025 20:13:38 UTC]    Language field in books: YES
[23-Nov-2025 20:13:38 UTC]    Format field in books: YES
[23-Nov-2025 20:13:38 UTC]    Description field in categories: YES
[23-Nov-2025 20:13:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:13:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:13:38 UTC]    Is_active field in books: YES
[23-Nov-2025 20:13:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:13:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:13:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:13:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:13:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:13:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:13:38 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 20:13:38 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 20:13:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:13:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:13:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:13:38 UTC] 📊 Database Info:
[23-Nov-2025 20:13:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:13:38 UTC]    Books columns count: 45
[23-Nov-2025 20:13:38 UTC]    Categories columns count: 7
[23-Nov-2025 20:13:38 UTC]    Language field in books: YES
[23-Nov-2025 20:13:38 UTC]    Format field in books: YES
[23-Nov-2025 20:13:38 UTC]    Description field in categories: YES
[23-Nov-2025 20:13:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:13:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:13:38 UTC]    Is_active field in books: YES
[23-Nov-2025 20:13:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:13:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:13:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:13:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:13:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:13:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:13:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:13:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:13:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:13:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:13:38 UTC] 📊 Database Info:
[23-Nov-2025 20:13:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:13:38 UTC]    Books columns count: 45
[23-Nov-2025 20:13:38 UTC]    Categories columns count: 7
[23-Nov-2025 20:13:38 UTC]    Language field in books: YES
[23-Nov-2025 20:13:38 UTC]    Format field in books: YES
[23-Nov-2025 20:13:38 UTC]    Description field in categories: YES
[23-Nov-2025 20:13:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:13:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:13:38 UTC]    Is_active field in books: YES
[23-Nov-2025 20:13:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:13:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:13:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:13:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:13:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:13:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:13:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:14:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:14:52 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:14:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:14:52 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:14:52 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:14:52 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:14:52 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:14:52 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:14:52 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:14:52 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:14:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:14:52 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:14:52 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:14:52 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:14:52 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:14:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:14:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:14:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:14:52 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:14:52 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:14:52 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:14:52 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:14:52 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:14:52 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:14:52 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:14:52 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:14:52 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:14:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:14:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:14:52 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:14:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:14:52 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:14:52 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:14:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:14:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:14:52 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:14:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:14:52 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:14:52 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:14:52 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:14:52 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:14:52 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:14:52 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:14:52 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:14:52 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:14:52 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:14:52 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:14:52 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:14:52 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:14:52 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:14:52 UTC] 📊 Database Info:
[23-Nov-2025 20:14:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:14:52 UTC]    Books columns count: 45
[23-Nov-2025 20:14:52 UTC]    Categories columns count: 7
[23-Nov-2025 20:14:52 UTC]    Language field in books: YES
[23-Nov-2025 20:14:52 UTC]    Format field in books: YES
[23-Nov-2025 20:14:52 UTC]    Description field in categories: YES
[23-Nov-2025 20:14:52 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:14:52 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:14:52 UTC]    Is_active field in books: YES
[23-Nov-2025 20:14:52 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:14:52 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:14:52 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:14:52 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:14:52 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:14:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:14:52 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:14:52 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:14:52 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:14:52 UTC] 📊 Database Info:
[23-Nov-2025 20:14:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:14:52 UTC]    Books columns count: 45
[23-Nov-2025 20:14:52 UTC]    Categories columns count: 7
[23-Nov-2025 20:14:52 UTC]    Language field in books: YES
[23-Nov-2025 20:14:52 UTC]    Format field in books: YES
[23-Nov-2025 20:14:52 UTC]    Description field in categories: YES
[23-Nov-2025 20:14:52 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:14:52 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:14:52 UTC]    Is_active field in books: YES
[23-Nov-2025 20:14:52 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:14:52 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:14:52 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:14:52 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:14:52 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:14:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:14:52 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:14:52 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:14:52 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:14:52 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:14:52 UTC] 📊 Database Info:
[23-Nov-2025 20:14:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:14:52 UTC]    Books columns count: 45
[23-Nov-2025 20:14:52 UTC]    Categories columns count: 7
[23-Nov-2025 20:14:52 UTC]    Language field in books: YES
[23-Nov-2025 20:14:52 UTC]    Format field in books: YES
[23-Nov-2025 20:14:52 UTC]    Description field in categories: YES
[23-Nov-2025 20:14:52 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:14:52 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:14:52 UTC]    Is_active field in books: YES
[23-Nov-2025 20:14:52 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:14:52 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:14:52 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:14:52 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:14:52 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:14:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:14:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:14:52 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 20:14:52 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 20:15:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:15:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:15:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:15:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:48 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:15:48 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:15:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:15:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:48 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:15:48 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:15:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:48 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:15:48 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:15:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:48 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:15:48 UTC] 📊 Database Info:
[23-Nov-2025 20:15:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:15:48 UTC]    Books columns count: 45
[23-Nov-2025 20:15:48 UTC]    Categories columns count: 7
[23-Nov-2025 20:15:48 UTC]    Language field in books: YES
[23-Nov-2025 20:15:48 UTC]    Format field in books: YES
[23-Nov-2025 20:15:48 UTC]    Description field in categories: YES
[23-Nov-2025 20:15:48 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:15:48 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:15:48 UTC]    Is_active field in books: YES
[23-Nov-2025 20:15:48 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:15:48 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:15:48 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:15:48 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:15:48 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:15:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:15:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:48 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:15:48 UTC] 📊 Database Info:
[23-Nov-2025 20:15:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:15:48 UTC]    Books columns count: 45
[23-Nov-2025 20:15:48 UTC]    Categories columns count: 7
[23-Nov-2025 20:15:48 UTC]    Language field in books: YES
[23-Nov-2025 20:15:48 UTC]    Format field in books: YES
[23-Nov-2025 20:15:48 UTC]    Description field in categories: YES
[23-Nov-2025 20:15:48 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:15:48 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:15:48 UTC]    Is_active field in books: YES
[23-Nov-2025 20:15:48 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:15:48 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:15:48 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:15:48 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:15:48 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:15:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:15:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:15:48 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:48 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:48 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:15:48 UTC] 📊 Database Info:
[23-Nov-2025 20:15:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:15:48 UTC]    Books columns count: 45
[23-Nov-2025 20:15:48 UTC]    Categories columns count: 7
[23-Nov-2025 20:15:48 UTC]    Language field in books: YES
[23-Nov-2025 20:15:48 UTC]    Format field in books: YES
[23-Nov-2025 20:15:48 UTC]    Description field in categories: YES
[23-Nov-2025 20:15:48 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:15:48 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:15:48 UTC]    Is_active field in books: YES
[23-Nov-2025 20:15:48 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:15:48 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:15:48 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:15:48 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:15:48 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:15:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:15:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:15:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:15:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:15:55 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:15:55 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:55 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:15:55 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:15:55 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:55 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:55 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:15:55 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:55 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:55 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:15:55 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:55 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:15:55 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:15:55 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:55 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:55 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:55 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:55 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:55 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:15:55 UTC] 📊 Database Info:
[23-Nov-2025 20:15:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:15:55 UTC]    Books columns count: 45
[23-Nov-2025 20:15:55 UTC]    Categories columns count: 7
[23-Nov-2025 20:15:55 UTC]    Language field in books: YES
[23-Nov-2025 20:15:55 UTC]    Format field in books: YES
[23-Nov-2025 20:15:55 UTC]    Description field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Is_active field in books: YES
[23-Nov-2025 20:15:55 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:15:55 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:15:55 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:15:55 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:15:55 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:15:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:15:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:15:55 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:15:55 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:15:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:55 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:15:55 UTC] 📊 Database Info:
[23-Nov-2025 20:15:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:15:55 UTC]    Books columns count: 45
[23-Nov-2025 20:15:55 UTC]    Categories columns count: 7
[23-Nov-2025 20:15:55 UTC]    Language field in books: YES
[23-Nov-2025 20:15:55 UTC]    Format field in books: YES
[23-Nov-2025 20:15:55 UTC]    Description field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Is_active field in books: YES
[23-Nov-2025 20:15:55 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:15:55 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:15:55 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:15:55 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:15:55 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:15:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:15:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:55 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:15:55 UTC] 📊 Database Info:
[23-Nov-2025 20:15:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:15:55 UTC]    Books columns count: 45
[23-Nov-2025 20:15:55 UTC]    Categories columns count: 7
[23-Nov-2025 20:15:55 UTC]    Language field in books: YES
[23-Nov-2025 20:15:55 UTC]    Format field in books: YES
[23-Nov-2025 20:15:55 UTC]    Description field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Is_active field in books: YES
[23-Nov-2025 20:15:55 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:15:55 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:15:55 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:15:55 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:15:55 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:15:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:15:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:15:55 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:55 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:55 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:55 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:15:55 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:15:55 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:55 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:55 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:15:55 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:15:55 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:15:55 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:55 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:15:55 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:15:55 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:55 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:55 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:55 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:15:55 UTC] 📊 Database Info:
[23-Nov-2025 20:15:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:15:55 UTC]    Books columns count: 45
[23-Nov-2025 20:15:55 UTC]    Categories columns count: 7
[23-Nov-2025 20:15:55 UTC]    Language field in books: YES
[23-Nov-2025 20:15:55 UTC]    Format field in books: YES
[23-Nov-2025 20:15:55 UTC]    Description field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Is_active field in books: YES
[23-Nov-2025 20:15:55 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:15:55 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:15:55 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:15:55 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:15:55 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:15:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:15:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:15:55 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:15:55 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:15:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:55 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:15:55 UTC] 📊 Database Info:
[23-Nov-2025 20:15:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:15:55 UTC]    Books columns count: 45
[23-Nov-2025 20:15:55 UTC]    Categories columns count: 7
[23-Nov-2025 20:15:55 UTC]    Language field in books: YES
[23-Nov-2025 20:15:55 UTC]    Format field in books: YES
[23-Nov-2025 20:15:55 UTC]    Description field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Is_active field in books: YES
[23-Nov-2025 20:15:55 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:15:55 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:15:55 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:15:55 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:15:55 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:15:55 UTC] 📊 Database Info:
[23-Nov-2025 20:15:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:15:55 UTC]    Books columns count: 45
[23-Nov-2025 20:15:55 UTC]    Categories columns count: 7
[23-Nov-2025 20:15:55 UTC]    Language field in books: YES
[23-Nov-2025 20:15:55 UTC]    Format field in books: YES
[23-Nov-2025 20:15:55 UTC]    Description field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Is_active field in books: YES
[23-Nov-2025 20:15:55 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:15:55 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:15:55 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:15:55 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:15:55 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:15:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:15:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:15:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:15:55 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:55 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:15:55 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:15:55 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:55 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:55 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:55 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:15:55 UTC] 📊 Database Info:
[23-Nov-2025 20:15:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:15:55 UTC]    Books columns count: 45
[23-Nov-2025 20:15:55 UTC]    Categories columns count: 7
[23-Nov-2025 20:15:55 UTC]    Language field in books: YES
[23-Nov-2025 20:15:55 UTC]    Format field in books: YES
[23-Nov-2025 20:15:55 UTC]    Description field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:15:55 UTC]    Is_active field in books: YES
[23-Nov-2025 20:15:55 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:15:55 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:15:55 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:15:55 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:15:55 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:15:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:15:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:15:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:15:55 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:15:55 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:15:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:15:57 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:57 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:57 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:57 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:57 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:57 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:57 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:57 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:57 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:15:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:15:57 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:15:57 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:15:57 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:15:57 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:15:57 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:15:57 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:15:57 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:15:57 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:15:57 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:15:57 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:15:57 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:15:57 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:15:57 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:15:57 UTC] 📊 Database Info:
[23-Nov-2025 20:15:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:15:57 UTC]    Books columns count: 45
[23-Nov-2025 20:15:57 UTC]    Categories columns count: 7
[23-Nov-2025 20:15:57 UTC]    Language field in books: YES
[23-Nov-2025 20:15:57 UTC]    Format field in books: YES
[23-Nov-2025 20:15:57 UTC]    Description field in categories: YES
[23-Nov-2025 20:15:57 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:15:57 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:15:57 UTC]    Is_active field in books: YES
[23-Nov-2025 20:15:57 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:15:57 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:15:57 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:15:57 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:15:57 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:15:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:15:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:15:57 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:15:57 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:16:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:16:52 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:16:52 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:16:52 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:16:52 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:16:52 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:16:52 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:16:52 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:16:52 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:16:52 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:16:52 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:16:52 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:16:52 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:16:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:16:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:16:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:16:52 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:16:52 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:16:52 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:16:52 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:16:52 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:16:52 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:16:52 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:16:52 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:16:52 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:16:52 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:16:52 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:16:52 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:16:52 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:16:52 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:16:52 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:16:52 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:16:52 UTC] 📊 Database Info:
[23-Nov-2025 20:16:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:16:52 UTC]    Books columns count: 45
[23-Nov-2025 20:16:52 UTC]    Categories columns count: 7
[23-Nov-2025 20:16:52 UTC]    Language field in books: YES
[23-Nov-2025 20:16:52 UTC]    Format field in books: YES
[23-Nov-2025 20:16:52 UTC]    Description field in categories: YES
[23-Nov-2025 20:16:52 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:16:52 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:16:52 UTC]    Is_active field in books: YES
[23-Nov-2025 20:16:52 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:16:52 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:16:52 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:16:52 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:16:52 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:16:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:16:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:17:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:17:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:17:53 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:17:53 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:17:53 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:17:53 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:17:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:17:53 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:17:53 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:17:53 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:17:53 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:17:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:17:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:17:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:17:53 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:17:53 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:17:53 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:17:53 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:17:53 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:17:53 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:17:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:17:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:17:53 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:17:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:17:53 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:17:53 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:17:53 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:17:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:17:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:17:53 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:17:53 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:17:53 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:17:53 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:17:53 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:17:53 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:17:53 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:17:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:17:53 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:17:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:17:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:17:53 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:17:53 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:17:53 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:17:53 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:17:53 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:17:53 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:17:53 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:17:53 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:17:53 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:17:53 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:17:53 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:17:53 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:17:53 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:17:53 UTC] 📊 Database Info:
[23-Nov-2025 20:17:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:17:53 UTC]    Books columns count: 45
[23-Nov-2025 20:17:53 UTC]    Categories columns count: 7
[23-Nov-2025 20:17:53 UTC]    Language field in books: YES
[23-Nov-2025 20:17:53 UTC]    Format field in books: YES
[23-Nov-2025 20:17:53 UTC]    Description field in categories: YES
[23-Nov-2025 20:17:53 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:17:53 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:17:53 UTC]    Is_active field in books: YES
[23-Nov-2025 20:17:53 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:17:53 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:17:53 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:17:53 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:17:53 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:17:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:17:53 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:17:53 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:17:53 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:17:53 UTC] 📊 Database Info:
[23-Nov-2025 20:17:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:17:53 UTC]    Books columns count: 45
[23-Nov-2025 20:17:53 UTC]    Categories columns count: 7
[23-Nov-2025 20:17:53 UTC]    Language field in books: YES
[23-Nov-2025 20:17:53 UTC]    Format field in books: YES
[23-Nov-2025 20:17:53 UTC]    Description field in categories: YES
[23-Nov-2025 20:17:53 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:17:53 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:17:53 UTC]    Is_active field in books: YES
[23-Nov-2025 20:17:53 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:17:53 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:17:53 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:17:53 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:17:53 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:17:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:17:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:17:53 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:17:53 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:17:53 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:17:53 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:17:53 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:17:53 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:17:53 UTC] 📊 Database Info:
[23-Nov-2025 20:17:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:17:53 UTC]    Books columns count: 45
[23-Nov-2025 20:17:53 UTC]    Categories columns count: 7
[23-Nov-2025 20:17:53 UTC]    Language field in books: YES
[23-Nov-2025 20:17:53 UTC]    Format field in books: YES
[23-Nov-2025 20:17:53 UTC]    Description field in categories: YES
[23-Nov-2025 20:17:53 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:17:53 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:17:53 UTC]    Is_active field in books: YES
[23-Nov-2025 20:17:53 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:17:53 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:17:53 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:17:53 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:17:53 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:17:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:17:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:17:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:17:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:17:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:17:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:17:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:17:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:17:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:17:54 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:17:54 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:17:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:17:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:17:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:17:54 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:17:54 UTC] 📊 Database Info:
[23-Nov-2025 20:17:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:17:54 UTC]    Books columns count: 45
[23-Nov-2025 20:17:54 UTC]    Categories columns count: 7
[23-Nov-2025 20:17:54 UTC]    Language field in books: YES
[23-Nov-2025 20:17:54 UTC]    Format field in books: YES
[23-Nov-2025 20:17:54 UTC]    Description field in categories: YES
[23-Nov-2025 20:17:54 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:17:54 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:17:54 UTC]    Is_active field in books: YES
[23-Nov-2025 20:17:54 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:17:54 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:17:54 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:17:54 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:17:54 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:17:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:17:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:17:54 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:17:54 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:17:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:17:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:17:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:17:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:17:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:17:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:17:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:17:54 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:17:54 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:17:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:17:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:17:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:17:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:17:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:17:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:17:54 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:17:54 UTC] 📊 Database Info:
[23-Nov-2025 20:17:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:17:54 UTC]    Books columns count: 45
[23-Nov-2025 20:17:54 UTC]    Categories columns count: 7
[23-Nov-2025 20:17:54 UTC]    Language field in books: YES
[23-Nov-2025 20:17:54 UTC]    Format field in books: YES
[23-Nov-2025 20:17:54 UTC]    Description field in categories: YES
[23-Nov-2025 20:17:54 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:17:54 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:17:54 UTC]    Is_active field in books: YES
[23-Nov-2025 20:17:54 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:17:54 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:17:54 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:17:54 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:17:54 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:17:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:17:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:17:54 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:17:54 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:18:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:18:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:18:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:18:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:18:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:13 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:18:13 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:18:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:18:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:13 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:18:13 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:18:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:13 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:18:13 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:18:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:13 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:18:13 UTC] 📊 Database Info:
[23-Nov-2025 20:18:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:18:13 UTC]    Books columns count: 45
[23-Nov-2025 20:18:13 UTC]    Categories columns count: 7
[23-Nov-2025 20:18:13 UTC]    Language field in books: YES
[23-Nov-2025 20:18:13 UTC]    Format field in books: YES
[23-Nov-2025 20:18:13 UTC]    Description field in categories: YES
[23-Nov-2025 20:18:13 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:18:13 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:18:13 UTC]    Is_active field in books: YES
[23-Nov-2025 20:18:13 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:18:13 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:18:13 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:18:13 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:18:13 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:18:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:18:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:13 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:18:13 UTC] 📊 Database Info:
[23-Nov-2025 20:18:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:18:13 UTC]    Books columns count: 45
[23-Nov-2025 20:18:13 UTC]    Categories columns count: 7
[23-Nov-2025 20:18:13 UTC]    Language field in books: YES
[23-Nov-2025 20:18:13 UTC]    Format field in books: YES
[23-Nov-2025 20:18:13 UTC]    Description field in categories: YES
[23-Nov-2025 20:18:13 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:18:13 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:18:13 UTC]    Is_active field in books: YES
[23-Nov-2025 20:18:13 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:18:13 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:18:13 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:18:13 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:18:13 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:18:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:18:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:18:13 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:18:13 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:18:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:13 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:18:13 UTC] 📊 Database Info:
[23-Nov-2025 20:18:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:18:13 UTC]    Books columns count: 45
[23-Nov-2025 20:18:13 UTC]    Categories columns count: 7
[23-Nov-2025 20:18:13 UTC]    Language field in books: YES
[23-Nov-2025 20:18:13 UTC]    Format field in books: YES
[23-Nov-2025 20:18:13 UTC]    Description field in categories: YES
[23-Nov-2025 20:18:13 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:18:13 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:18:13 UTC]    Is_active field in books: YES
[23-Nov-2025 20:18:13 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:18:13 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:18:13 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:18:13 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:18:13 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:18:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:18:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:18:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:18:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:13 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:18:13 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:18:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:13 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:18:13 UTC] 📊 Database Info:
[23-Nov-2025 20:18:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:18:13 UTC]    Books columns count: 45
[23-Nov-2025 20:18:13 UTC]    Categories columns count: 7
[23-Nov-2025 20:18:13 UTC]    Language field in books: YES
[23-Nov-2025 20:18:13 UTC]    Format field in books: YES
[23-Nov-2025 20:18:13 UTC]    Description field in categories: YES
[23-Nov-2025 20:18:13 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:18:13 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:18:13 UTC]    Is_active field in books: YES
[23-Nov-2025 20:18:13 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:18:13 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:18:13 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:18:13 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:18:13 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:18:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:18:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:18:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:18:13 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:18:13 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:18:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:18:14 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:14 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:14 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:14 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:14 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:14 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:14 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:14 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:14 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:14 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:14 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:14 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:18:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:14 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:18:14 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:18:14 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:14 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:14 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:14 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:14 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:14 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:14 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:14 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:14 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:14 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:14 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:14 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:14 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:18:14 UTC] 📊 Database Info:
[23-Nov-2025 20:18:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:18:14 UTC]    Books columns count: 45
[23-Nov-2025 20:18:14 UTC]    Categories columns count: 7
[23-Nov-2025 20:18:14 UTC]    Language field in books: YES
[23-Nov-2025 20:18:14 UTC]    Format field in books: YES
[23-Nov-2025 20:18:14 UTC]    Description field in categories: YES
[23-Nov-2025 20:18:14 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:18:14 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:18:14 UTC]    Is_active field in books: YES
[23-Nov-2025 20:18:14 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:18:14 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:18:14 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:18:14 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:18:14 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:18:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:18:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:18:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:18:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:18:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:18:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:18:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:18:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:18:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:18:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:18:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:18:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:18:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:18:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:18:14 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:14 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:14 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:14 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:14 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:14 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:14 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:14 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:15 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:15 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:15 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:15 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:15 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:18:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:15 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:18:15 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:18:15 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:15 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:15 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:15 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:15 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:15 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:15 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:15 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:15 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:15 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:15 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:15 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:15 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:15 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:18:15 UTC] 📊 Database Info:
[23-Nov-2025 20:18:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:18:15 UTC]    Books columns count: 45
[23-Nov-2025 20:18:15 UTC]    Categories columns count: 7
[23-Nov-2025 20:18:15 UTC]    Language field in books: YES
[23-Nov-2025 20:18:15 UTC]    Format field in books: YES
[23-Nov-2025 20:18:15 UTC]    Description field in categories: YES
[23-Nov-2025 20:18:15 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:18:15 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:18:15 UTC]    Is_active field in books: YES
[23-Nov-2025 20:18:15 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:18:15 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:18:15 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:18:15 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:18:15 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:18:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:18:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:18:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:18:15 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:18:15 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:18:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:18:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:18:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:18:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:18:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:18:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:18:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:43 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:43 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:18:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:43 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:18:43 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:18:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:18:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:43 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:18:43 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:43 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:18:43 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:43 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:18:43 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:18:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:43 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:18:43 UTC] 📊 Database Info:
[23-Nov-2025 20:18:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:18:43 UTC]    Books columns count: 45
[23-Nov-2025 20:18:43 UTC]    Categories columns count: 7
[23-Nov-2025 20:18:43 UTC]    Language field in books: YES
[23-Nov-2025 20:18:43 UTC]    Format field in books: YES
[23-Nov-2025 20:18:43 UTC]    Description field in categories: YES
[23-Nov-2025 20:18:43 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:18:43 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:18:43 UTC]    Is_active field in books: YES
[23-Nov-2025 20:18:43 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:18:43 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:18:43 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:18:43 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:43 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:18:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:18:43 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 20:18:43 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 20:18:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:18:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:43 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:18:43 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:18:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:43 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:18:43 UTC] 📊 Database Info:
[23-Nov-2025 20:18:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:18:43 UTC]    Books columns count: 45
[23-Nov-2025 20:18:43 UTC]    Categories columns count: 7
[23-Nov-2025 20:18:43 UTC]    Language field in books: YES
[23-Nov-2025 20:18:43 UTC]    Format field in books: YES
[23-Nov-2025 20:18:43 UTC]    Description field in categories: YES
[23-Nov-2025 20:18:43 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:18:43 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:18:43 UTC]    Is_active field in books: YES
[23-Nov-2025 20:18:43 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:18:43 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:18:43 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:18:43 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:18:43 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:18:43 UTC] 📊 Database Info:
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:18:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:18:43 UTC]    Books columns count: 45
[23-Nov-2025 20:18:43 UTC]    Categories columns count: 7
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:18:43 UTC]    Language field in books: YES
[23-Nov-2025 20:18:43 UTC]    Format field in books: YES
[23-Nov-2025 20:18:43 UTC]    Description field in categories: YES
[23-Nov-2025 20:18:43 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:18:43 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:18:43 UTC]    Is_active field in books: YES
[23-Nov-2025 20:18:43 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:18:43 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:18:43 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:18:43 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:18:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:18:43 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 20:18:43 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:18:43 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:18:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:18:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:43 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:18:43 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:18:43 UTC] 📊 Database Info:
[23-Nov-2025 20:18:43 UTC] 📊 Database Info:
[23-Nov-2025 20:18:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:18:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:18:43 UTC]    Books columns count: 45
[23-Nov-2025 20:18:43 UTC]    Books columns count: 45
[23-Nov-2025 20:18:43 UTC]    Categories columns count: 7
[23-Nov-2025 20:18:43 UTC]    Categories columns count: 7
[23-Nov-2025 20:18:43 UTC]    Language field in books: YES
[23-Nov-2025 20:18:43 UTC]    Language field in books: YES
[23-Nov-2025 20:18:43 UTC]    Format field in books: YES
[23-Nov-2025 20:18:43 UTC]    Format field in books: YES
[23-Nov-2025 20:18:43 UTC]    Description field in categories: YES
[23-Nov-2025 20:18:43 UTC]    Description field in categories: YES
[23-Nov-2025 20:18:43 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:18:43 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:18:43 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:18:43 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:18:43 UTC]    Is_active field in books: YES
[23-Nov-2025 20:18:43 UTC]    Is_active field in books: YES
[23-Nov-2025 20:18:43 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:18:43 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:18:43 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:18:43 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:18:43 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:18:43 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:18:43 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:18:43 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:18:43 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:18:43 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:18:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:18:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:18:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:43 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:18:43 UTC] 📊 Database Info:
[23-Nov-2025 20:18:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:18:43 UTC]    Books columns count: 45
[23-Nov-2025 20:18:43 UTC]    Categories columns count: 7
[23-Nov-2025 20:18:43 UTC]    Language field in books: YES
[23-Nov-2025 20:18:43 UTC]    Format field in books: YES
[23-Nov-2025 20:18:43 UTC]    Description field in categories: YES
[23-Nov-2025 20:18:43 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:18:43 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:18:43 UTC]    Is_active field in books: YES
[23-Nov-2025 20:18:43 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:18:43 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:18:43 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:18:43 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:18:43 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:18:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:18:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:18:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:18:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:18:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:18:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:18:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:46 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:18:46 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:18:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:46 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:18:46 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:18:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:18:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:46 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:18:46 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:18:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:46 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:18:46 UTC] 📊 Database Info:
[23-Nov-2025 20:18:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:18:46 UTC]    Books columns count: 45
[23-Nov-2025 20:18:46 UTC]    Categories columns count: 7
[23-Nov-2025 20:18:46 UTC]    Language field in books: YES
[23-Nov-2025 20:18:46 UTC]    Format field in books: YES
[23-Nov-2025 20:18:46 UTC]    Description field in categories: YES
[23-Nov-2025 20:18:46 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:18:46 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:18:46 UTC]    Is_active field in books: YES
[23-Nov-2025 20:18:46 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:18:46 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:18:46 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:18:46 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:18:46 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:18:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:18:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:46 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:18:46 UTC] 📊 Database Info:
[23-Nov-2025 20:18:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:18:46 UTC]    Books columns count: 45
[23-Nov-2025 20:18:46 UTC]    Categories columns count: 7
[23-Nov-2025 20:18:46 UTC]    Language field in books: YES
[23-Nov-2025 20:18:46 UTC]    Format field in books: YES
[23-Nov-2025 20:18:46 UTC]    Description field in categories: YES
[23-Nov-2025 20:18:46 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:18:46 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:18:46 UTC]    Is_active field in books: YES
[23-Nov-2025 20:18:46 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:18:46 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:18:46 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:18:46 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:18:46 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:18:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:18:46 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 20:18:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:46 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:46 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:18:46 UTC] 📊 Database Info:
[23-Nov-2025 20:18:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:18:46 UTC]    Books columns count: 45
[23-Nov-2025 20:18:46 UTC]    Categories columns count: 7
[23-Nov-2025 20:18:46 UTC]    Language field in books: YES
[23-Nov-2025 20:18:46 UTC]    Format field in books: YES
[23-Nov-2025 20:18:46 UTC]    Description field in categories: YES
[23-Nov-2025 20:18:46 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:18:46 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:18:46 UTC]    Is_active field in books: YES
[23-Nov-2025 20:18:46 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:18:46 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:18:46 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:18:46 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:18:46 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:18:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:18:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:18:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:18:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:18:46 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:18:46 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:18:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:18:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:18:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:18:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:18:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:18:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:18:46 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:18:46 UTC] 📊 Database Info:
[23-Nov-2025 20:18:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:18:46 UTC]    Books columns count: 45
[23-Nov-2025 20:18:46 UTC]    Categories columns count: 7
[23-Nov-2025 20:18:46 UTC]    Language field in books: YES
[23-Nov-2025 20:18:46 UTC]    Format field in books: YES
[23-Nov-2025 20:18:46 UTC]    Description field in categories: YES
[23-Nov-2025 20:18:46 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:18:46 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:18:46 UTC]    Is_active field in books: YES
[23-Nov-2025 20:18:46 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:18:46 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:18:46 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:18:46 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:18:46 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:18:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:18:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:19:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:19:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:19:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:19:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:19:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:00 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:19:00 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:19:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:19:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:00 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:19:00 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:19:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:00 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:19:00 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:00 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:19:00 UTC] 📊 Database Info:
[23-Nov-2025 20:19:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:19:00 UTC]    Books columns count: 45
[23-Nov-2025 20:19:00 UTC]    Categories columns count: 7
[23-Nov-2025 20:19:00 UTC]    Language field in books: YES
[23-Nov-2025 20:19:00 UTC]    Format field in books: YES
[23-Nov-2025 20:19:00 UTC]    Description field in categories: YES
[23-Nov-2025 20:19:00 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:19:00 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:19:00 UTC]    Is_active field in books: YES
[23-Nov-2025 20:19:00 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:19:00 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:19:00 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:19:00 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:19:00 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:19:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:19:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:00 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:19:00 UTC] 📊 Database Info:
[23-Nov-2025 20:19:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:19:00 UTC]    Books columns count: 45
[23-Nov-2025 20:19:00 UTC]    Categories columns count: 7
[23-Nov-2025 20:19:00 UTC]    Language field in books: YES
[23-Nov-2025 20:19:00 UTC]    Format field in books: YES
[23-Nov-2025 20:19:00 UTC]    Description field in categories: YES
[23-Nov-2025 20:19:00 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:19:00 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:19:00 UTC]    Is_active field in books: YES
[23-Nov-2025 20:19:00 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:19:00 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:19:00 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:19:00 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:19:00 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:19:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:19:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:00 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:19:00 UTC] 📊 Database Info:
[23-Nov-2025 20:19:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:19:00 UTC]    Books columns count: 45
[23-Nov-2025 20:19:00 UTC]    Categories columns count: 7
[23-Nov-2025 20:19:00 UTC]    Language field in books: YES
[23-Nov-2025 20:19:00 UTC]    Format field in books: YES
[23-Nov-2025 20:19:00 UTC]    Description field in categories: YES
[23-Nov-2025 20:19:00 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:19:00 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:19:00 UTC]    Is_active field in books: YES
[23-Nov-2025 20:19:00 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:19:00 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:19:00 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:19:00 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:19:00 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:19:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:19:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:19:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:19:00 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:19:00 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:19:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:19:01 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:01 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:01 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:01 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:19:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:01 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:19:01 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:19:01 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:01 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:01 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:01 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:01 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:19:01 UTC] 📊 Database Info:
[23-Nov-2025 20:19:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:19:01 UTC]    Books columns count: 45
[23-Nov-2025 20:19:01 UTC]    Categories columns count: 7
[23-Nov-2025 20:19:01 UTC]    Language field in books: YES
[23-Nov-2025 20:19:01 UTC]    Format field in books: YES
[23-Nov-2025 20:19:01 UTC]    Description field in categories: YES
[23-Nov-2025 20:19:01 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:19:01 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:19:01 UTC]    Is_active field in books: YES
[23-Nov-2025 20:19:01 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:19:01 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:19:01 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:19:01 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:19:01 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:19:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:19:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:19:01 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:19:01 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:19:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:19:01 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:01 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:01 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:01 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:19:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:01 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:19:01 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:19:01 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:01 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:01 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:01 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:01 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:01 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:01 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:01 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:01 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:19:01 UTC] 📊 Database Info:
[23-Nov-2025 20:19:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:19:01 UTC]    Books columns count: 45
[23-Nov-2025 20:19:01 UTC]    Categories columns count: 7
[23-Nov-2025 20:19:01 UTC]    Language field in books: YES
[23-Nov-2025 20:19:01 UTC]    Format field in books: YES
[23-Nov-2025 20:19:01 UTC]    Description field in categories: YES
[23-Nov-2025 20:19:01 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:19:01 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:19:01 UTC]    Is_active field in books: YES
[23-Nov-2025 20:19:01 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:19:01 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:19:01 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:19:01 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:19:01 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:19:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:19:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:19:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:19:01 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:19:01 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:19:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:19:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:19:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:19:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:19:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:19:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:19:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:19:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:19:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:19:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:19:36 UTC] 📊 Database Info:
[23-Nov-2025 20:19:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:19:36 UTC]    Books columns count: 45
[23-Nov-2025 20:19:36 UTC]    Categories columns count: 7
[23-Nov-2025 20:19:36 UTC]    Language field in books: YES
[23-Nov-2025 20:19:36 UTC]    Format field in books: YES
[23-Nov-2025 20:19:36 UTC]    Description field in categories: YES
[23-Nov-2025 20:19:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:19:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:19:36 UTC]    Is_active field in books: YES
[23-Nov-2025 20:19:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:19:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:19:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:19:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:19:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:19:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:19:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:19:36 UTC] 📊 Database Info:
[23-Nov-2025 20:19:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:19:36 UTC]    Books columns count: 45
[23-Nov-2025 20:19:36 UTC]    Categories columns count: 7
[23-Nov-2025 20:19:36 UTC]    Language field in books: YES
[23-Nov-2025 20:19:36 UTC]    Format field in books: YES
[23-Nov-2025 20:19:36 UTC]    Description field in categories: YES
[23-Nov-2025 20:19:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:19:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:19:36 UTC]    Is_active field in books: YES
[23-Nov-2025 20:19:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:19:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:19:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:19:36 UTC] 📊 Database Info:
[23-Nov-2025 20:19:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:19:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:19:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:19:36 UTC]    Books columns count: 45
[23-Nov-2025 20:19:36 UTC]    Categories columns count: 7
[23-Nov-2025 20:19:36 UTC]    Language field in books: YES
[23-Nov-2025 20:19:36 UTC]    Format field in books: YES
[23-Nov-2025 20:19:36 UTC]    Description field in categories: YES
[23-Nov-2025 20:19:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:19:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:19:36 UTC]    Is_active field in books: YES
[23-Nov-2025 20:19:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:19:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:19:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:19:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:19:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:19:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:19:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:19:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:19:36 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:19:36 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:19:36 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:19:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:19:37 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:37 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:37 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:37 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:19:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:37 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:19:37 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:19:37 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:37 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:37 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:37 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:37 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:19:37 UTC] 📊 Database Info:
[23-Nov-2025 20:19:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:19:37 UTC]    Books columns count: 45
[23-Nov-2025 20:19:37 UTC]    Categories columns count: 7
[23-Nov-2025 20:19:37 UTC]    Language field in books: YES
[23-Nov-2025 20:19:37 UTC]    Format field in books: YES
[23-Nov-2025 20:19:37 UTC]    Description field in categories: YES
[23-Nov-2025 20:19:37 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:19:37 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:19:37 UTC]    Is_active field in books: YES
[23-Nov-2025 20:19:37 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:19:37 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:19:37 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:19:37 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:19:37 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:19:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:19:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:19:37 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:19:37 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:19:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:19:37 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:37 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:37 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:37 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:19:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:19:37 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:19:37 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:19:37 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:19:37 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:19:37 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:19:37 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:19:37 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:19:37 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:19:37 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:19:37 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:19:37 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:19:37 UTC] 📊 Database Info:
[23-Nov-2025 20:19:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:19:37 UTC]    Books columns count: 45
[23-Nov-2025 20:19:37 UTC]    Categories columns count: 7
[23-Nov-2025 20:19:37 UTC]    Language field in books: YES
[23-Nov-2025 20:19:37 UTC]    Format field in books: YES
[23-Nov-2025 20:19:37 UTC]    Description field in categories: YES
[23-Nov-2025 20:19:37 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:19:37 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:19:37 UTC]    Is_active field in books: YES
[23-Nov-2025 20:19:37 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:19:37 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:19:37 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:19:37 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:19:37 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:19:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:19:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:19:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:19:37 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:19:37 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:20:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:03 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:03 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:03 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:03 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:03 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:03 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:03 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:03 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:03 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:03 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:03 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:03 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:03 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:03 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:03 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:03 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:03 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:03 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:03 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:03 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:03 UTC] 📊 Database Info:
[23-Nov-2025 20:20:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:03 UTC]    Books columns count: 45
[23-Nov-2025 20:20:03 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:03 UTC]    Language field in books: YES
[23-Nov-2025 20:20:03 UTC]    Format field in books: YES
[23-Nov-2025 20:20:03 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:03 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:03 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:03 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:03 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:03 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:03 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:03 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:03 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:20:03 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:03 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:03 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:03 UTC] 📊 Database Info:
[23-Nov-2025 20:20:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:03 UTC]    Books columns count: 45
[23-Nov-2025 20:20:03 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:03 UTC]    Language field in books: YES
[23-Nov-2025 20:20:03 UTC]    Format field in books: YES
[23-Nov-2025 20:20:03 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:03 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:03 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:03 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:03 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:03 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:03 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:03 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:03 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:20:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:20:03 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:20:03 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:20:03 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:03 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:03 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:03 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:03 UTC] 📊 Database Info:
[23-Nov-2025 20:20:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:03 UTC]    Books columns count: 45
[23-Nov-2025 20:20:03 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:03 UTC]    Language field in books: YES
[23-Nov-2025 20:20:03 UTC]    Format field in books: YES
[23-Nov-2025 20:20:03 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:03 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:03 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:03 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:03 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:03 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:03 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:03 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:03 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:20:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:04 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:04 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:04 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:04 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:04 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:04 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:04 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:04 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:04 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:04 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:04 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:04 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:04 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:04 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:04 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:04 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:04 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:04 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:04 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:04 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:04 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:04 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:04 UTC] 📊 Database Info:
[23-Nov-2025 20:20:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:04 UTC]    Books columns count: 45
[23-Nov-2025 20:20:04 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:04 UTC]    Language field in books: YES
[23-Nov-2025 20:20:04 UTC]    Format field in books: YES
[23-Nov-2025 20:20:04 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:04 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:04 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:04 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:04 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:04 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:04 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:04 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:04 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:20:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:20:04 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:20:04 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:20:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:21 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:21 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:21 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:21 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:21 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:21 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:21 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:21 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:21 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:21 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:21 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:21 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:21 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:21 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:21 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:21 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:21 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:21 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:21 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:21 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:21 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:21 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:21 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:21 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:21 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:21 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:21 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:21 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:21 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:21 UTC] 📊 Database Info:
[23-Nov-2025 20:20:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:21 UTC]    Books columns count: 45
[23-Nov-2025 20:20:21 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:21 UTC]    Language field in books: YES
[23-Nov-2025 20:20:21 UTC]    Format field in books: YES
[23-Nov-2025 20:20:21 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:21 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:21 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:21 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:21 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:21 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:21 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:21 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:21 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:21 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:21 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:21 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:21 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:21 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:21 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:21 UTC] 📊 Database Info:
[23-Nov-2025 20:20:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:21 UTC]    Books columns count: 45
[23-Nov-2025 20:20:21 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:21 UTC]    Language field in books: YES
[23-Nov-2025 20:20:21 UTC]    Format field in books: YES
[23-Nov-2025 20:20:21 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:21 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:21 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:21 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:21 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:21 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:21 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:21 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:21 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:20:21 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 20:20:21 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 20:20:21 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:21 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:21 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:21 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:21 UTC] 📊 Database Info:
[23-Nov-2025 20:20:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:21 UTC]    Books columns count: 45
[23-Nov-2025 20:20:21 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:21 UTC]    Language field in books: YES
[23-Nov-2025 20:20:21 UTC]    Format field in books: YES
[23-Nov-2025 20:20:21 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:21 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:21 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:21 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:21 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:21 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:21 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:21 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:21 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:20:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:23 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:23 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:23 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:23 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:23 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:23 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:23 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:23 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:23 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:23 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:23 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:23 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:23 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:23 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:23 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:23 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:23 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:23 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:23 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:23 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:23 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:23 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:23 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:23 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:23 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:23 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:23 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:23 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:23 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:23 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:23 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:23 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:23 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:23 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:23 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:23 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:23 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:23 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:23 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:23 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:23 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:23 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:23 UTC] 📊 Database Info:
[23-Nov-2025 20:20:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:23 UTC]    Books columns count: 45
[23-Nov-2025 20:20:23 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:23 UTC]    Language field in books: YES
[23-Nov-2025 20:20:23 UTC]    Format field in books: YES
[23-Nov-2025 20:20:23 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:23 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:23 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:23 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:23 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:23 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:23 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:23 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:23 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:20:23 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:23 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:23 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:23 UTC] 📊 Database Info:
[23-Nov-2025 20:20:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:23 UTC]    Books columns count: 45
[23-Nov-2025 20:20:23 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:23 UTC]    Language field in books: YES
[23-Nov-2025 20:20:23 UTC]    Format field in books: YES
[23-Nov-2025 20:20:23 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:23 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:23 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:23 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:23 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:23 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:23 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:23 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:23 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:20:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:20:23 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:20:23 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:20:23 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:23 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:23 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:23 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:23 UTC] 📊 Database Info:
[23-Nov-2025 20:20:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:23 UTC]    Books columns count: 45
[23-Nov-2025 20:20:23 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:23 UTC]    Language field in books: YES
[23-Nov-2025 20:20:23 UTC]    Format field in books: YES
[23-Nov-2025 20:20:23 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:23 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:23 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:23 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:23 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:23 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:23 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:23 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:23 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:20:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:24 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:24 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:24 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:24 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:24 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:24 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:24 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:24 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:25 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:25 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:25 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:25 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:25 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:25 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:25 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:25 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:25 UTC] 📊 Database Info:
[23-Nov-2025 20:20:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:25 UTC]    Books columns count: 45
[23-Nov-2025 20:20:25 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:25 UTC]    Language field in books: YES
[23-Nov-2025 20:20:25 UTC]    Format field in books: YES
[23-Nov-2025 20:20:25 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:25 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:25 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:25 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:25 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:25 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:25 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:25 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:25 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:20:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:20:25 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:20:25 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:20:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:25 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:25 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:25 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:25 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:25 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:25 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:25 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:25 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:25 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:25 UTC] 📊 Database Info:
[23-Nov-2025 20:20:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:25 UTC]    Books columns count: 45
[23-Nov-2025 20:20:25 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:25 UTC]    Language field in books: YES
[23-Nov-2025 20:20:25 UTC]    Format field in books: YES
[23-Nov-2025 20:20:25 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:25 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:25 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:25 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:25 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:25 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:25 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:25 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:25 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:20:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:20:25 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:20:25 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:20:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:25 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:25 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:25 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:25 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:25 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:25 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:25 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:25 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:25 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:25 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:25 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:25 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:25 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:25 UTC] 📊 Database Info:
[23-Nov-2025 20:20:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:25 UTC]    Books columns count: 45
[23-Nov-2025 20:20:25 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:25 UTC]    Language field in books: YES
[23-Nov-2025 20:20:25 UTC]    Format field in books: YES
[23-Nov-2025 20:20:25 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:25 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:25 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:25 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:25 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:25 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:25 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:25 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:25 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:20:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:20:25 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:20:25 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:20:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:29 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:29 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:29 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:29 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:29 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:29 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:29 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:29 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:29 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:29 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:29 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:29 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:29 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:29 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:29 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:29 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:29 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:29 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:29 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:29 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:29 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:29 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:29 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:29 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:29 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:29 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:29 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:29 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:29 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:29 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:29 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:29 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:29 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:29 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:29 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:29 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:29 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:29 UTC] 📊 Database Info:
[23-Nov-2025 20:20:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:29 UTC]    Books columns count: 45
[23-Nov-2025 20:20:29 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:29 UTC]    Language field in books: YES
[23-Nov-2025 20:20:29 UTC]    Format field in books: YES
[23-Nov-2025 20:20:29 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:29 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:29 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:29 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:29 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:29 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:29 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:29 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:29 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:20:29 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:29 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:29 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:29 UTC] 📊 Database Info:
[23-Nov-2025 20:20:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:29 UTC]    Books columns count: 45
[23-Nov-2025 20:20:29 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:29 UTC]    Language field in books: YES
[23-Nov-2025 20:20:29 UTC]    Format field in books: YES
[23-Nov-2025 20:20:29 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:29 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:29 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:29 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:29 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:29 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:29 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:29 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:29 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:20:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:20:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:20:29 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:20:29 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:29 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:29 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:29 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:29 UTC] 📊 Database Info:
[23-Nov-2025 20:20:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:29 UTC]    Books columns count: 45
[23-Nov-2025 20:20:29 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:29 UTC]    Language field in books: YES
[23-Nov-2025 20:20:29 UTC]    Format field in books: YES
[23-Nov-2025 20:20:29 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:29 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:29 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:29 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:29 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:29 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:29 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:29 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:29 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:20:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:30 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:30 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:30 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:30 UTC] 📊 Database Info:
[23-Nov-2025 20:20:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:30 UTC]    Books columns count: 45
[23-Nov-2025 20:20:30 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:30 UTC]    Language field in books: YES
[23-Nov-2025 20:20:30 UTC]    Format field in books: YES
[23-Nov-2025 20:20:30 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:30 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:30 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:30 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:30 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:30 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:30 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:30 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:30 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:20:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:20:30 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:20:30 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:20:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:30 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:30 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:30 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:30 UTC] 📊 Database Info:
[23-Nov-2025 20:20:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:30 UTC]    Books columns count: 45
[23-Nov-2025 20:20:30 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:30 UTC]    Language field in books: YES
[23-Nov-2025 20:20:30 UTC]    Format field in books: YES
[23-Nov-2025 20:20:30 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:30 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:30 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:30 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:30 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:30 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:30 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:30 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:30 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:20:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:20:30 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:20:30 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:20:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:20:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:20:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:20:31 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:20:31 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:20:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:20:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:20:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:20:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:20:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:20:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:20:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:20:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:20:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:20:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:20:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:20:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:20:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:20:31 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:20:31 UTC] 📊 Database Info:
[23-Nov-2025 20:20:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:20:31 UTC]    Books columns count: 45
[23-Nov-2025 20:20:31 UTC]    Categories columns count: 7
[23-Nov-2025 20:20:31 UTC]    Language field in books: YES
[23-Nov-2025 20:20:31 UTC]    Format field in books: YES
[23-Nov-2025 20:20:31 UTC]    Description field in categories: YES
[23-Nov-2025 20:20:31 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:20:31 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:20:31 UTC]    Is_active field in books: YES
[23-Nov-2025 20:20:31 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:20:31 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:20:31 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:20:31 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:20:31 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:20:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:20:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:20:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:20:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:20:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:20:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:20:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:20:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:20:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:20:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:20:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:20:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:20:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:21:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:21:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:21:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:21:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:21:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:39 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:21:39 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:21:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:21:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:39 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:21:39 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:21:39 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:21:39 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:21:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:39 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:21:39 UTC] 📊 Database Info:
[23-Nov-2025 20:21:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:21:39 UTC]    Books columns count: 45
[23-Nov-2025 20:21:39 UTC]    Categories columns count: 7
[23-Nov-2025 20:21:39 UTC]    Language field in books: YES
[23-Nov-2025 20:21:39 UTC]    Format field in books: YES
[23-Nov-2025 20:21:39 UTC]    Description field in categories: YES
[23-Nov-2025 20:21:39 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:21:39 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:21:39 UTC]    Is_active field in books: YES
[23-Nov-2025 20:21:39 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:21:39 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:21:39 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:21:39 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:21:39 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:21:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:21:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:39 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:21:39 UTC] 📊 Database Info:
[23-Nov-2025 20:21:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:21:39 UTC]    Books columns count: 45
[23-Nov-2025 20:21:39 UTC]    Categories columns count: 7
[23-Nov-2025 20:21:39 UTC]    Language field in books: YES
[23-Nov-2025 20:21:39 UTC]    Format field in books: YES
[23-Nov-2025 20:21:39 UTC]    Description field in categories: YES
[23-Nov-2025 20:21:39 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:21:39 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:21:39 UTC]    Is_active field in books: YES
[23-Nov-2025 20:21:39 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:21:39 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:21:39 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:21:39 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:21:39 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:21:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:21:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:21:39 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:21:39 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:21:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:39 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:21:39 UTC] 📊 Database Info:
[23-Nov-2025 20:21:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:21:39 UTC]    Books columns count: 45
[23-Nov-2025 20:21:39 UTC]    Categories columns count: 7
[23-Nov-2025 20:21:39 UTC]    Language field in books: YES
[23-Nov-2025 20:21:39 UTC]    Format field in books: YES
[23-Nov-2025 20:21:39 UTC]    Description field in categories: YES
[23-Nov-2025 20:21:39 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:21:39 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:21:39 UTC]    Is_active field in books: YES
[23-Nov-2025 20:21:39 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:21:39 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:21:39 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:21:39 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:21:39 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:21:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:21:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:21:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:21:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:39 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:21:39 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:21:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:39 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:21:39 UTC] 📊 Database Info:
[23-Nov-2025 20:21:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:21:39 UTC]    Books columns count: 45
[23-Nov-2025 20:21:39 UTC]    Categories columns count: 7
[23-Nov-2025 20:21:39 UTC]    Language field in books: YES
[23-Nov-2025 20:21:39 UTC]    Format field in books: YES
[23-Nov-2025 20:21:39 UTC]    Description field in categories: YES
[23-Nov-2025 20:21:39 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:21:39 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:21:39 UTC]    Is_active field in books: YES
[23-Nov-2025 20:21:39 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:21:39 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:21:39 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:21:39 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:21:39 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:21:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:21:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:21:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:21:39 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:21:39 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:21:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:21:42 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:21:42 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:21:42 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:42 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:42 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:42 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:42 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:42 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:21:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:42 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:21:42 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:21:42 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:42 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:42 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:42 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:21:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:42 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:21:42 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:21:42 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:42 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:42 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:42 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:21:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:42 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:21:42 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:21:42 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:42 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:42 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:42 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:42 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:42 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:21:42 UTC] 📊 Database Info:
[23-Nov-2025 20:21:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:21:42 UTC]    Books columns count: 45
[23-Nov-2025 20:21:42 UTC]    Categories columns count: 7
[23-Nov-2025 20:21:42 UTC]    Language field in books: YES
[23-Nov-2025 20:21:42 UTC]    Format field in books: YES
[23-Nov-2025 20:21:42 UTC]    Description field in categories: YES
[23-Nov-2025 20:21:42 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:21:42 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:21:42 UTC]    Is_active field in books: YES
[23-Nov-2025 20:21:42 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:21:42 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:21:42 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:21:42 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:21:42 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:21:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:21:42 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:42 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:42 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:21:42 UTC] 📊 Database Info:
[23-Nov-2025 20:21:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:21:42 UTC]    Books columns count: 45
[23-Nov-2025 20:21:42 UTC]    Categories columns count: 7
[23-Nov-2025 20:21:42 UTC]    Language field in books: YES
[23-Nov-2025 20:21:42 UTC]    Format field in books: YES
[23-Nov-2025 20:21:42 UTC]    Description field in categories: YES
[23-Nov-2025 20:21:42 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:21:42 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:21:42 UTC]    Is_active field in books: YES
[23-Nov-2025 20:21:42 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:21:42 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:21:42 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:21:42 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:21:42 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:21:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:21:42 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:42 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:42 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:21:42 UTC] 📊 Database Info:
[23-Nov-2025 20:21:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:21:42 UTC]    Books columns count: 45
[23-Nov-2025 20:21:42 UTC]    Categories columns count: 7
[23-Nov-2025 20:21:42 UTC]    Language field in books: YES
[23-Nov-2025 20:21:42 UTC]    Format field in books: YES
[23-Nov-2025 20:21:42 UTC]    Description field in categories: YES
[23-Nov-2025 20:21:42 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:21:42 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:21:42 UTC]    Is_active field in books: YES
[23-Nov-2025 20:21:42 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:21:42 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:21:42 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:21:42 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:21:42 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:21:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:21:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:21:42 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:21:42 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:21:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:21:42 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:42 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:42 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:21:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:42 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:21:42 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:21:42 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:42 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:42 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:42 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:21:42 UTC] 📊 Database Info:
[23-Nov-2025 20:21:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:21:42 UTC]    Books columns count: 45
[23-Nov-2025 20:21:42 UTC]    Categories columns count: 7
[23-Nov-2025 20:21:42 UTC]    Language field in books: YES
[23-Nov-2025 20:21:42 UTC]    Format field in books: YES
[23-Nov-2025 20:21:42 UTC]    Description field in categories: YES
[23-Nov-2025 20:21:42 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:21:42 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:21:42 UTC]    Is_active field in books: YES
[23-Nov-2025 20:21:42 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:21:42 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:21:42 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:21:42 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:21:42 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:21:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:21:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:21:42 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:21:42 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:21:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:21:42 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:42 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:42 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:21:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:42 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:21:42 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:21:42 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:42 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:42 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:42 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:42 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:42 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:42 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:21:42 UTC] 📊 Database Info:
[23-Nov-2025 20:21:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:21:42 UTC]    Books columns count: 45
[23-Nov-2025 20:21:42 UTC]    Categories columns count: 7
[23-Nov-2025 20:21:42 UTC]    Language field in books: YES
[23-Nov-2025 20:21:42 UTC]    Format field in books: YES
[23-Nov-2025 20:21:42 UTC]    Description field in categories: YES
[23-Nov-2025 20:21:42 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:21:42 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:21:42 UTC]    Is_active field in books: YES
[23-Nov-2025 20:21:42 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:21:42 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:21:42 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:21:42 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:21:42 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:21:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:21:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:21:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:21:42 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:21:42 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:21:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:21:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:21:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:21:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:21:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:45 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:21:45 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:21:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:21:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:45 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:21:45 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:21:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:45 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:21:45 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:21:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:45 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:21:45 UTC] 📊 Database Info:
[23-Nov-2025 20:21:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:21:45 UTC]    Books columns count: 45
[23-Nov-2025 20:21:45 UTC]    Categories columns count: 7
[23-Nov-2025 20:21:45 UTC]    Language field in books: YES
[23-Nov-2025 20:21:45 UTC]    Format field in books: YES
[23-Nov-2025 20:21:45 UTC]    Description field in categories: YES
[23-Nov-2025 20:21:45 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:21:45 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:21:45 UTC]    Is_active field in books: YES
[23-Nov-2025 20:21:45 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:21:45 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:21:45 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:21:45 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:21:45 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:21:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:21:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:45 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:21:45 UTC] 📊 Database Info:
[23-Nov-2025 20:21:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:21:45 UTC]    Books columns count: 45
[23-Nov-2025 20:21:45 UTC]    Categories columns count: 7
[23-Nov-2025 20:21:45 UTC]    Language field in books: YES
[23-Nov-2025 20:21:45 UTC]    Format field in books: YES
[23-Nov-2025 20:21:45 UTC]    Description field in categories: YES
[23-Nov-2025 20:21:45 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:21:45 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:21:45 UTC]    Is_active field in books: YES
[23-Nov-2025 20:21:45 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:21:45 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:21:45 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:21:45 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:21:45 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:21:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:21:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:21:45 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:21:45 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:21:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:45 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:21:45 UTC] 📊 Database Info:
[23-Nov-2025 20:21:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:21:45 UTC]    Books columns count: 45
[23-Nov-2025 20:21:45 UTC]    Categories columns count: 7
[23-Nov-2025 20:21:45 UTC]    Language field in books: YES
[23-Nov-2025 20:21:45 UTC]    Format field in books: YES
[23-Nov-2025 20:21:45 UTC]    Description field in categories: YES
[23-Nov-2025 20:21:45 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:21:45 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:21:45 UTC]    Is_active field in books: YES
[23-Nov-2025 20:21:45 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:21:45 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:21:45 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:21:45 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:21:45 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:21:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:21:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:21:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:21:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:46 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:21:46 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:21:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:46 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:21:46 UTC] 📊 Database Info:
[23-Nov-2025 20:21:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:21:46 UTC]    Books columns count: 45
[23-Nov-2025 20:21:46 UTC]    Categories columns count: 7
[23-Nov-2025 20:21:46 UTC]    Language field in books: YES
[23-Nov-2025 20:21:46 UTC]    Format field in books: YES
[23-Nov-2025 20:21:46 UTC]    Description field in categories: YES
[23-Nov-2025 20:21:46 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:21:46 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:21:46 UTC]    Is_active field in books: YES
[23-Nov-2025 20:21:46 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:21:46 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:21:46 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:21:46 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:21:46 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:21:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:21:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:21:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:21:46 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:21:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:21:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:21:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:46 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:21:46 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:21:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:46 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:21:46 UTC] 📊 Database Info:
[23-Nov-2025 20:21:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:21:46 UTC]    Books columns count: 45
[23-Nov-2025 20:21:46 UTC]    Categories columns count: 7
[23-Nov-2025 20:21:46 UTC]    Language field in books: YES
[23-Nov-2025 20:21:46 UTC]    Format field in books: YES
[23-Nov-2025 20:21:46 UTC]    Description field in categories: YES
[23-Nov-2025 20:21:46 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:21:46 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:21:46 UTC]    Is_active field in books: YES
[23-Nov-2025 20:21:46 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:21:46 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:21:46 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:21:46 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:21:46 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:21:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:21:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:21:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:21:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:21:46 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:21:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:21:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:21:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:21:58 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:21:58 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:21:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:21:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:21:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:21:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:21:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:21:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:21:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:21:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:21:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:21:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:21:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:21:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:21:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:21:58 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:21:58 UTC] 📊 Database Info:
[23-Nov-2025 20:21:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:21:58 UTC]    Books columns count: 45
[23-Nov-2025 20:21:58 UTC]    Categories columns count: 7
[23-Nov-2025 20:21:58 UTC]    Language field in books: YES
[23-Nov-2025 20:21:58 UTC]    Format field in books: YES
[23-Nov-2025 20:21:58 UTC]    Description field in categories: YES
[23-Nov-2025 20:21:58 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:21:58 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:21:58 UTC]    Is_active field in books: YES
[23-Nov-2025 20:21:58 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:21:58 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:21:58 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:21:58 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:21:58 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:21:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:21:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:21:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:21:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:21:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:21:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:21:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:21:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:21:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:21:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:21:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:21:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:21:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:21:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:21:58 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[23-Nov-2025 20:21:58 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[23-Nov-2025 20:26:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:26:50 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:26:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:26:50 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:26:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:26:50 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:26:50 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:26:50 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:26:50 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:26:50 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:26:50 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:26:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:26:50 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:26:50 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:26:50 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:26:50 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:26:50 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:26:50 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:26:50 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:26:50 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:26:50 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:26:50 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:26:50 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:26:50 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:26:50 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:26:50 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:26:50 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:26:50 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:26:51 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:26:51 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:26:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:26:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:26:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:26:51 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:26:51 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:26:51 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:26:51 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:26:51 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:26:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:26:51 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:26:51 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:26:51 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:26:51 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:26:51 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:26:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:26:51 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:26:51 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:26:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:26:51 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:26:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:26:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:26:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:26:51 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:26:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:26:51 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:26:51 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:26:51 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:26:51 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:26:51 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:26:51 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:26:51 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:26:51 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:26:51 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:26:51 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:26:51 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:26:51 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:26:51 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:26:51 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:26:51 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:26:51 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:26:51 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:26:51 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:26:51 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:26:51 UTC] 📊 Database Info:
[23-Nov-2025 20:26:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:26:51 UTC]    Books columns count: 45
[23-Nov-2025 20:26:51 UTC]    Categories columns count: 7
[23-Nov-2025 20:26:51 UTC]    Language field in books: YES
[23-Nov-2025 20:26:51 UTC]    Format field in books: YES
[23-Nov-2025 20:26:51 UTC]    Description field in categories: YES
[23-Nov-2025 20:26:51 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:26:51 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:26:51 UTC]    Is_active field in books: YES
[23-Nov-2025 20:26:51 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:26:51 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:26:51 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:26:51 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:26:51 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:26:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:26:51 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 20:26:51 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 20:26:51 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:26:51 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:26:51 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:26:51 UTC] 📊 Database Info:
[23-Nov-2025 20:26:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:26:51 UTC]    Books columns count: 45
[23-Nov-2025 20:26:51 UTC]    Categories columns count: 7
[23-Nov-2025 20:26:51 UTC]    Language field in books: YES
[23-Nov-2025 20:26:51 UTC]    Format field in books: YES
[23-Nov-2025 20:26:51 UTC]    Description field in categories: YES
[23-Nov-2025 20:26:51 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:26:51 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:26:51 UTC]    Is_active field in books: YES
[23-Nov-2025 20:26:51 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:26:51 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:26:51 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:26:51 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:26:51 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:26:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:26:51 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:26:51 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:26:51 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:26:51 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:26:51 UTC] 📊 Database Info:
[23-Nov-2025 20:26:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:26:51 UTC]    Books columns count: 45
[23-Nov-2025 20:26:51 UTC]    Categories columns count: 7
[23-Nov-2025 20:26:51 UTC]    Language field in books: YES
[23-Nov-2025 20:26:51 UTC]    Format field in books: YES
[23-Nov-2025 20:26:51 UTC]    Description field in categories: YES
[23-Nov-2025 20:26:51 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:26:51 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:26:51 UTC]    Is_active field in books: YES
[23-Nov-2025 20:26:51 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:26:51 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:26:51 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:26:51 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:26:51 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:26:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:26:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:26:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:26:51 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 20:26:51 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 20:29:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:29:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:29:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:29:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:29:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:29:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:29:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:29:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:29:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:29:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:29:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:29:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:29:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:29:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:29:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:29:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:29:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:29:18 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:29:18 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:29:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:29:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:29:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:29:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:29:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:29:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:29:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:29:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:29:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:29:18 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:29:18 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:29:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:29:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:29:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:29:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:29:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:29:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:29:18 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:29:18 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:29:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:29:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:29:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:29:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:29:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:29:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:29:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:29:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:29:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:29:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:29:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:29:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:29:19 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:29:19 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:29:19 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:29:19 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:29:19 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:29:19 UTC] 📊 Database Info:
[23-Nov-2025 20:29:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:29:19 UTC]    Books columns count: 45
[23-Nov-2025 20:29:19 UTC]    Categories columns count: 7
[23-Nov-2025 20:29:19 UTC]    Language field in books: YES
[23-Nov-2025 20:29:19 UTC]    Format field in books: YES
[23-Nov-2025 20:29:19 UTC]    Description field in categories: YES
[23-Nov-2025 20:29:19 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:29:19 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:29:19 UTC]    Is_active field in books: YES
[23-Nov-2025 20:29:19 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:29:19 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:29:19 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:29:19 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:29:19 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:29:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:29:19 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 20:29:19 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 20:29:19 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:29:19 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:29:19 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:29:19 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:29:19 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:29:19 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:29:19 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:29:19 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:29:19 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:29:19 UTC] 📊 Database Info:
[23-Nov-2025 20:29:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:29:19 UTC]    Books columns count: 45
[23-Nov-2025 20:29:19 UTC]    Categories columns count: 7
[23-Nov-2025 20:29:19 UTC]    Language field in books: YES
[23-Nov-2025 20:29:19 UTC]    Format field in books: YES
[23-Nov-2025 20:29:19 UTC]    Description field in categories: YES
[23-Nov-2025 20:29:19 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:29:19 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:29:19 UTC]    Is_active field in books: YES
[23-Nov-2025 20:29:19 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:29:19 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:29:19 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:29:19 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:29:19 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:29:19 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:29:19 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:29:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:29:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:29:19 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 20:29:19 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 20:29:19 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:29:19 UTC] 📊 Database Info:
[23-Nov-2025 20:29:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:29:19 UTC]    Books columns count: 45
[23-Nov-2025 20:29:19 UTC]    Categories columns count: 7
[23-Nov-2025 20:29:19 UTC]    Language field in books: YES
[23-Nov-2025 20:29:19 UTC]    Format field in books: YES
[23-Nov-2025 20:29:19 UTC]    Description field in categories: YES
[23-Nov-2025 20:29:19 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:29:19 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:29:19 UTC]    Is_active field in books: YES
[23-Nov-2025 20:29:19 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:29:19 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:29:19 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:29:19 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:29:19 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:29:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:29:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:31:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:31:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:31:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:31:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:31:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:31:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:31:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:31:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:31:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:31:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:31:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:31:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:31:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:31:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:31:44 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:31:44 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:31:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:31:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:31:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:31:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:31:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:31:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:31:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:31:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:31:44 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:31:44 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:31:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:31:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:31:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:31:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:31:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:31:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:31:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:31:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:31:44 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:31:44 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:31:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:31:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:31:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:31:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:31:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:31:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:31:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:31:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:31:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:31:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:31:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:31:44 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:31:44 UTC] 📊 Database Info:
[23-Nov-2025 20:31:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:31:44 UTC]    Books columns count: 45
[23-Nov-2025 20:31:44 UTC]    Categories columns count: 7
[23-Nov-2025 20:31:44 UTC]    Language field in books: YES
[23-Nov-2025 20:31:44 UTC]    Format field in books: YES
[23-Nov-2025 20:31:44 UTC]    Description field in categories: YES
[23-Nov-2025 20:31:44 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:31:44 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:31:44 UTC]    Is_active field in books: YES
[23-Nov-2025 20:31:44 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:31:44 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:31:44 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:31:44 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:31:44 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:31:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:31:44 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 20:31:44 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 20:31:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:31:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:31:44 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:31:44 UTC] 📊 Database Info:
[23-Nov-2025 20:31:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:31:44 UTC]    Books columns count: 45
[23-Nov-2025 20:31:44 UTC]    Categories columns count: 7
[23-Nov-2025 20:31:44 UTC]    Language field in books: YES
[23-Nov-2025 20:31:44 UTC]    Format field in books: YES
[23-Nov-2025 20:31:44 UTC]    Description field in categories: YES
[23-Nov-2025 20:31:44 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:31:44 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:31:44 UTC]    Is_active field in books: YES
[23-Nov-2025 20:31:44 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:31:44 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:31:44 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:31:44 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:31:44 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:31:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:31:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:31:44 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 20:31:44 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 20:31:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:31:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:31:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:31:44 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:31:44 UTC] 📊 Database Info:
[23-Nov-2025 20:31:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:31:44 UTC]    Books columns count: 45
[23-Nov-2025 20:31:44 UTC]    Categories columns count: 7
[23-Nov-2025 20:31:44 UTC]    Language field in books: YES
[23-Nov-2025 20:31:44 UTC]    Format field in books: YES
[23-Nov-2025 20:31:44 UTC]    Description field in categories: YES
[23-Nov-2025 20:31:44 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:31:44 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:31:44 UTC]    Is_active field in books: YES
[23-Nov-2025 20:31:44 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:31:44 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:31:44 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:31:44 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:31:44 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:31:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:31:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:37:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:37:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:37:22 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:37:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:37:22 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:37:22 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:37:22 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:37:22 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:37:22 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:37:22 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:37:22 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:37:22 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:37:22 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:37:22 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:37:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:37:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:37:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:37:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:37:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:37:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:37:22 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:37:22 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:37:22 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:37:22 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:37:22 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:37:22 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:37:22 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:37:22 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:37:22 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:37:22 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:37:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:37:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:37:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:37:22 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:37:22 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:37:22 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:37:22 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:37:22 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:37:22 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:37:22 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:37:22 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:37:22 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:37:22 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:37:22 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:37:22 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:37:22 UTC] 📊 Database Info:
[23-Nov-2025 20:37:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:37:22 UTC]    Books columns count: 45
[23-Nov-2025 20:37:22 UTC]    Categories columns count: 7
[23-Nov-2025 20:37:22 UTC]    Language field in books: YES
[23-Nov-2025 20:37:22 UTC]    Format field in books: YES
[23-Nov-2025 20:37:22 UTC]    Description field in categories: YES
[23-Nov-2025 20:37:22 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:37:22 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:37:22 UTC]    Is_active field in books: YES
[23-Nov-2025 20:37:22 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:37:22 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:37:22 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:37:22 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:37:22 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:37:22 UTC] 📊 Database Info:
[23-Nov-2025 20:37:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:37:22 UTC]    Books columns count: 45
[23-Nov-2025 20:37:22 UTC]    Categories columns count: 7
[23-Nov-2025 20:37:22 UTC]    Language field in books: YES
[23-Nov-2025 20:37:22 UTC]    Format field in books: YES
[23-Nov-2025 20:37:22 UTC]    Description field in categories: YES
[23-Nov-2025 20:37:22 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:37:22 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:37:22 UTC]    Is_active field in books: YES
[23-Nov-2025 20:37:22 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:37:22 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:37:22 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:37:22 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:37:22 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:37:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:37:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:37:22 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 20:37:22 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 20:37:22 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:37:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:37:22 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:37:22 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:37:22 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:37:22 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:37:22 UTC] 📊 Database Info:
[23-Nov-2025 20:37:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:37:22 UTC]    Books columns count: 45
[23-Nov-2025 20:37:22 UTC]    Categories columns count: 7
[23-Nov-2025 20:37:22 UTC]    Language field in books: YES
[23-Nov-2025 20:37:22 UTC]    Format field in books: YES
[23-Nov-2025 20:37:22 UTC]    Description field in categories: YES
[23-Nov-2025 20:37:22 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:37:22 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:37:22 UTC]    Is_active field in books: YES
[23-Nov-2025 20:37:22 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:37:22 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:37:22 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:37:22 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:37:22 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:37:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:37:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:37:22 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 20:37:22 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 20:38:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:38:41 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:38:41 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:38:41 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:38:41 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:38:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:38:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:38:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:38:41 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:38:41 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:38:41 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:38:41 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:38:41 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:38:41 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:38:41 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:38:41 UTC] 📊 Database Info:
[23-Nov-2025 20:38:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:38:41 UTC]    Books columns count: 45
[23-Nov-2025 20:38:41 UTC]    Categories columns count: 7
[23-Nov-2025 20:38:41 UTC]    Language field in books: YES
[23-Nov-2025 20:38:41 UTC]    Format field in books: YES
[23-Nov-2025 20:38:41 UTC]    Description field in categories: YES
[23-Nov-2025 20:38:41 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:38:41 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:38:41 UTC]    Is_active field in books: YES
[23-Nov-2025 20:38:41 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:38:41 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:38:41 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:38:41 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:38:41 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:38:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:38:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:38:41 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:38:41 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:38:41 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:38:41 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:38:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:38:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:38:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:38:41 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:38:41 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:38:41 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:38:41 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:38:41 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:38:41 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:38:41 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:38:41 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:38:41 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:38:41 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:38:41 UTC] 📊 Database Info:
[23-Nov-2025 20:38:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:38:41 UTC]    Books columns count: 45
[23-Nov-2025 20:38:41 UTC]    Categories columns count: 7
[23-Nov-2025 20:38:41 UTC]    Language field in books: YES
[23-Nov-2025 20:38:41 UTC]    Format field in books: YES
[23-Nov-2025 20:38:41 UTC]    Description field in categories: YES
[23-Nov-2025 20:38:41 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:38:41 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:38:41 UTC]    Is_active field in books: YES
[23-Nov-2025 20:38:41 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:38:41 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:38:41 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:38:41 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:38:41 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:38:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:48:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:48:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:48:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:48:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:48:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:48:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:48:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:48:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:48:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:48:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:48:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:48:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:48:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:48:32 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:48:32 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:48:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:48:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:48:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:48:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:48:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:48:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:48:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:48:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:48:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:48:32 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:48:32 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:48:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:48:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:48:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:48:32 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:48:32 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:48:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:48:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:48:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:48:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:48:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:48:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:48:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:48:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:48:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:48:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:48:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:48:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:48:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:48:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:48:32 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:48:32 UTC] 📊 Database Info:
[23-Nov-2025 20:48:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:48:32 UTC]    Books columns count: 45
[23-Nov-2025 20:48:32 UTC]    Categories columns count: 7
[23-Nov-2025 20:48:32 UTC]    Language field in books: YES
[23-Nov-2025 20:48:32 UTC]    Format field in books: YES
[23-Nov-2025 20:48:32 UTC]    Description field in categories: YES
[23-Nov-2025 20:48:32 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:48:32 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:48:32 UTC]    Is_active field in books: YES
[23-Nov-2025 20:48:32 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:48:32 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:48:32 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:48:32 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:48:32 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:48:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:48:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:48:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:48:32 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:48:32 UTC] 📊 Database Info:
[23-Nov-2025 20:48:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:48:32 UTC]    Books columns count: 45
[23-Nov-2025 20:48:32 UTC]    Categories columns count: 7
[23-Nov-2025 20:48:32 UTC]    Language field in books: YES
[23-Nov-2025 20:48:32 UTC]    Format field in books: YES
[23-Nov-2025 20:48:32 UTC]    Description field in categories: YES
[23-Nov-2025 20:48:32 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:48:32 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:48:32 UTC]    Is_active field in books: YES
[23-Nov-2025 20:48:32 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:48:32 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:48:32 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:48:32 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:48:32 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:48:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:48:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 20:48:32 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 20:48:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:48:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:48:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:48:32 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:48:32 UTC] 📊 Database Info:
[23-Nov-2025 20:48:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:48:32 UTC]    Books columns count: 45
[23-Nov-2025 20:48:32 UTC]    Categories columns count: 7
[23-Nov-2025 20:48:32 UTC]    Language field in books: YES
[23-Nov-2025 20:48:32 UTC]    Format field in books: YES
[23-Nov-2025 20:48:32 UTC]    Description field in categories: YES
[23-Nov-2025 20:48:32 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:48:32 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:48:32 UTC]    Is_active field in books: YES
[23-Nov-2025 20:48:32 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:48:32 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:48:32 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:48:32 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:48:32 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:48:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:48:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:48:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 20:48:32 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 20:48:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:48:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:48:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:48:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:48:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:48:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:48:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:48:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:48:45 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:48:45 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:48:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:48:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:48:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:48:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:48:45 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:48:45 UTC] 📊 Database Info:
[23-Nov-2025 20:48:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:48:45 UTC]    Books columns count: 45
[23-Nov-2025 20:48:45 UTC]    Categories columns count: 7
[23-Nov-2025 20:48:45 UTC]    Language field in books: YES
[23-Nov-2025 20:48:45 UTC]    Format field in books: YES
[23-Nov-2025 20:48:45 UTC]    Description field in categories: YES
[23-Nov-2025 20:48:45 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:48:45 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:48:45 UTC]    Is_active field in books: YES
[23-Nov-2025 20:48:45 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:48:45 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:48:45 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:48:45 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:48:45 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:48:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:48:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:48:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:48:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:48:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:48:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:48:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:48:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:48:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:48:45 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:48:45 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:48:45 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:48:45 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:48:45 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:48:45 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:48:45 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:48:45 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:48:45 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:48:45 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:48:45 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:48:45 UTC] 📊 Database Info:
[23-Nov-2025 20:48:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:48:45 UTC]    Books columns count: 45
[23-Nov-2025 20:48:45 UTC]    Categories columns count: 7
[23-Nov-2025 20:48:45 UTC]    Language field in books: YES
[23-Nov-2025 20:48:45 UTC]    Format field in books: YES
[23-Nov-2025 20:48:45 UTC]    Description field in categories: YES
[23-Nov-2025 20:48:45 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:48:45 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:48:45 UTC]    Is_active field in books: YES
[23-Nov-2025 20:48:45 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:48:45 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:48:45 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:48:45 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:48:45 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:48:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:48:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:49:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:49:05 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:49:05 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:49:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:49:05 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:49:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:49:05 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:49:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:49:05 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:49:05 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:49:05 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:49:05 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:49:05 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:49:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:49:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:49:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:49:05 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:49:05 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:49:05 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:49:05 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:49:05 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:49:05 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:49:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:49:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:49:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:49:05 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:49:05 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:49:05 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:49:05 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:49:05 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:49:05 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:49:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:49:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:49:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:49:05 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:49:05 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:49:05 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:49:05 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:49:05 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:49:05 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:49:05 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:49:05 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:49:05 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:49:05 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:49:05 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:49:05 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:49:05 UTC] 📊 Database Info:
[23-Nov-2025 20:49:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:49:05 UTC]    Books columns count: 45
[23-Nov-2025 20:49:05 UTC]    Categories columns count: 7
[23-Nov-2025 20:49:05 UTC]    Language field in books: YES
[23-Nov-2025 20:49:05 UTC]    Format field in books: YES
[23-Nov-2025 20:49:05 UTC]    Description field in categories: YES
[23-Nov-2025 20:49:05 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:49:05 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:49:05 UTC]    Is_active field in books: YES
[23-Nov-2025 20:49:05 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:49:05 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:49:05 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:49:05 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:49:05 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:49:05 UTC] 📊 Database Info:
[23-Nov-2025 20:49:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:49:05 UTC]    Books columns count: 45
[23-Nov-2025 20:49:05 UTC]    Categories columns count: 7
[23-Nov-2025 20:49:05 UTC]    Language field in books: YES
[23-Nov-2025 20:49:05 UTC]    Format field in books: YES
[23-Nov-2025 20:49:05 UTC]    Description field in categories: YES
[23-Nov-2025 20:49:05 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:49:05 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:49:05 UTC]    Is_active field in books: YES
[23-Nov-2025 20:49:05 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:49:05 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:49:05 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:49:05 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:49:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:49:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:49:05 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 20:49:05 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 20:49:05 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:49:05 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:49:05 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:49:05 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:49:05 UTC] 📊 Database Info:
[23-Nov-2025 20:49:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:49:05 UTC]    Books columns count: 45
[23-Nov-2025 20:49:05 UTC]    Categories columns count: 7
[23-Nov-2025 20:49:05 UTC]    Language field in books: YES
[23-Nov-2025 20:49:05 UTC]    Format field in books: YES
[23-Nov-2025 20:49:05 UTC]    Description field in categories: YES
[23-Nov-2025 20:49:05 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:49:05 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:49:05 UTC]    Is_active field in books: YES
[23-Nov-2025 20:49:05 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:49:05 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:49:05 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:49:05 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:49:05 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:49:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:49:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:49:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:49:05 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 20:49:05 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 20:49:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:49:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:49:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:49:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:49:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:49:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:49:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:49:18 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:49:18 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:49:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:49:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:49:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:49:18 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:49:18 UTC] 📊 Database Info:
[23-Nov-2025 20:49:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:49:18 UTC]    Books columns count: 45
[23-Nov-2025 20:49:18 UTC]    Categories columns count: 7
[23-Nov-2025 20:49:18 UTC]    Language field in books: YES
[23-Nov-2025 20:49:18 UTC]    Format field in books: YES
[23-Nov-2025 20:49:18 UTC]    Description field in categories: YES
[23-Nov-2025 20:49:18 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:49:18 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:49:18 UTC]    Is_active field in books: YES
[23-Nov-2025 20:49:18 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:49:18 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:49:18 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:49:18 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:49:18 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:49:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:49:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:49:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:49:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:49:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:49:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:49:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:49:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:49:18 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:49:18 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:49:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:49:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:49:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:49:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:49:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:49:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:49:18 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:49:18 UTC] 📊 Database Info:
[23-Nov-2025 20:49:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:49:18 UTC]    Books columns count: 45
[23-Nov-2025 20:49:18 UTC]    Categories columns count: 7
[23-Nov-2025 20:49:18 UTC]    Language field in books: YES
[23-Nov-2025 20:49:18 UTC]    Format field in books: YES
[23-Nov-2025 20:49:18 UTC]    Description field in categories: YES
[23-Nov-2025 20:49:18 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:49:18 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:49:18 UTC]    Is_active field in books: YES
[23-Nov-2025 20:49:18 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:49:18 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:49:18 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:49:18 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:49:18 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:49:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:58:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:58:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:58:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:58:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:58:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:58:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:58:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:58:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:58:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:58:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:58:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:58:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:58:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:58:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:58:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:58:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:58:32 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:58:32 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:58:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:58:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:58:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:58:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:58:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:58:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:58:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:58:32 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:58:32 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:58:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:58:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:58:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:58:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:58:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:58:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:58:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:58:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:58:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:58:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:58:32 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:58:32 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:58:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:58:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:58:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:58:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:58:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:58:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:58:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:58:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:58:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:58:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:58:32 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:58:32 UTC] 📊 Database Info:
[23-Nov-2025 20:58:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:58:32 UTC]    Books columns count: 45
[23-Nov-2025 20:58:32 UTC]    Categories columns count: 7
[23-Nov-2025 20:58:32 UTC]    Language field in books: YES
[23-Nov-2025 20:58:32 UTC]    Format field in books: YES
[23-Nov-2025 20:58:32 UTC]    Description field in categories: YES
[23-Nov-2025 20:58:32 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:58:32 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:58:32 UTC]    Is_active field in books: YES
[23-Nov-2025 20:58:32 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:58:32 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:58:32 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:58:32 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:58:32 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:58:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:58:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:58:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:58:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:58:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:58:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:58:32 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:58:32 UTC] 📊 Database Info:
[23-Nov-2025 20:58:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:58:32 UTC]    Books columns count: 45
[23-Nov-2025 20:58:32 UTC]    Categories columns count: 7
[23-Nov-2025 20:58:32 UTC]    Language field in books: YES
[23-Nov-2025 20:58:32 UTC]    Format field in books: YES
[23-Nov-2025 20:58:32 UTC]    Description field in categories: YES
[23-Nov-2025 20:58:32 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:58:32 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:58:32 UTC]    Is_active field in books: YES
[23-Nov-2025 20:58:32 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:58:32 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:58:32 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:58:32 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:58:32 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:58:32 UTC] 📊 Database Info:
[23-Nov-2025 20:58:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:58:32 UTC]    Books columns count: 45
[23-Nov-2025 20:58:32 UTC]    Categories columns count: 7
[23-Nov-2025 20:58:32 UTC]    Language field in books: YES
[23-Nov-2025 20:58:32 UTC]    Format field in books: YES
[23-Nov-2025 20:58:32 UTC]    Description field in categories: YES
[23-Nov-2025 20:58:32 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:58:32 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:58:32 UTC]    Is_active field in books: YES
[23-Nov-2025 20:58:32 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:58:32 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:58:32 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:58:32 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:58:32 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:58:32 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:58:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:58:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 20:58:32 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:58:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:58:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:58:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 20:58:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 20:58:32 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 20:58:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:58:52 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:58:52 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:58:52 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:58:52 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:58:52 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:58:52 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:58:52 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:58:52 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:58:52 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:58:52 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:58:52 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:58:52 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:58:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:58:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:58:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:58:52 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:58:52 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:58:52 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:58:52 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:58:52 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:58:52 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:58:52 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:58:52 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:58:52 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:58:52 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:58:52 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:58:52 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:58:52 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:58:52 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:58:52 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:58:52 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:58:52 UTC] 📊 Database Info:
[23-Nov-2025 20:58:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:58:52 UTC]    Books columns count: 45
[23-Nov-2025 20:58:52 UTC]    Categories columns count: 7
[23-Nov-2025 20:58:52 UTC]    Language field in books: YES
[23-Nov-2025 20:58:52 UTC]    Format field in books: YES
[23-Nov-2025 20:58:52 UTC]    Description field in categories: YES
[23-Nov-2025 20:58:52 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:58:52 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:58:52 UTC]    Is_active field in books: YES
[23-Nov-2025 20:58:52 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:58:52 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:58:52 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:58:52 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:58:52 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:58:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:58:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:58:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:58:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:58:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:58:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:58:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:58:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:58:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:58:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:58:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:58:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:58:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 20:59:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 20:59:02 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:59:02 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:59:02 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:59:02 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:59:02 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:59:02 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:59:02 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:59:02 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:59:02 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:59:02 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:59:02 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:59:02 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:59:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 20:59:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:59:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 20:59:02 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 20:59:02 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 20:59:02 UTC] ℹ️ Column institution already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column language already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column format already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 20:59:02 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 20:59:02 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 20:59:02 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 20:59:02 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 20:59:02 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 20:59:02 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 20:59:02 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 20:59:02 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 20:59:02 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 20:59:02 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 20:59:02 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 20:59:02 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 20:59:02 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 20:59:02 UTC] 📊 Database Info:
[23-Nov-2025 20:59:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 20:59:02 UTC]    Books columns count: 45
[23-Nov-2025 20:59:02 UTC]    Categories columns count: 7
[23-Nov-2025 20:59:02 UTC]    Language field in books: YES
[23-Nov-2025 20:59:02 UTC]    Format field in books: YES
[23-Nov-2025 20:59:02 UTC]    Description field in categories: YES
[23-Nov-2025 20:59:02 UTC]    Display_order field in categories: YES
[23-Nov-2025 20:59:02 UTC]    Is_active field in categories: YES
[23-Nov-2025 20:59:02 UTC]    Is_active field in books: YES
[23-Nov-2025 20:59:02 UTC]    External_download_link field in books: YES
[23-Nov-2025 20:59:02 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 20:59:02 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 20:59:02 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 20:59:02 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 20:59:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 20:59:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 20:59:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 20:59:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 20:59:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 20:59:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 20:59:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 20:59:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 20:59:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 20:59:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 20:59:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 20:59:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 20:59:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:00:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:00:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:00:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:00:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:00:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:00:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:00:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:00:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:00:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:00:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:00:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:00:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:00:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:00:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:00:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:00:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:00:39 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:00:39 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:00:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:00:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:00:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:00:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:00:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:00:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:00:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:00:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:00:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:00:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:00:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:00:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:00:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:00:39 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:00:39 UTC] 📊 Database Info:
[23-Nov-2025 21:00:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:00:39 UTC]    Books columns count: 45
[23-Nov-2025 21:00:39 UTC]    Categories columns count: 7
[23-Nov-2025 21:00:39 UTC]    Language field in books: YES
[23-Nov-2025 21:00:39 UTC]    Format field in books: YES
[23-Nov-2025 21:00:39 UTC]    Description field in categories: YES
[23-Nov-2025 21:00:39 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:00:39 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:00:39 UTC]    Is_active field in books: YES
[23-Nov-2025 21:00:39 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:00:39 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:00:39 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:00:39 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:00:39 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:00:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:00:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:00:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:00:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:00:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:00:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:00:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:00:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:00:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:00:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:00:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:00:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:00:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:00:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:00:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:00:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:00:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:00:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:00:43 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:00:43 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:00:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:00:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:00:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:00:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:00:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:00:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:00:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:00:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:00:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:00:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:00:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:00:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:00:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:00:43 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:00:43 UTC] 📊 Database Info:
[23-Nov-2025 21:00:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:00:43 UTC]    Books columns count: 45
[23-Nov-2025 21:00:43 UTC]    Categories columns count: 7
[23-Nov-2025 21:00:43 UTC]    Language field in books: YES
[23-Nov-2025 21:00:43 UTC]    Format field in books: YES
[23-Nov-2025 21:00:43 UTC]    Description field in categories: YES
[23-Nov-2025 21:00:43 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:00:43 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:00:43 UTC]    Is_active field in books: YES
[23-Nov-2025 21:00:43 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:00:43 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:00:43 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:00:43 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:00:43 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:00:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:00:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:00:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:00:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:00:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:00:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:00:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:00:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:00:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:00:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:00:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:00:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:00:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:00:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:00:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:00:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:00:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:00:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:00:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:00:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:00:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:00:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:00:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:00:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:00:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:00:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:00:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:00:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:00:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:00:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:00:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:00:48 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:00:48 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:00:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:00:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:00:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:00:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:00:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:00:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:00:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:00:48 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:00:48 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:00:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:00:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:00:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:00:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:00:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:00:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:00:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:00:48 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:00:48 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:00:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:00:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:00:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:00:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:00:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:00:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:00:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:00:48 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:00:48 UTC] 📊 Database Info:
[23-Nov-2025 21:00:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:00:48 UTC]    Books columns count: 45
[23-Nov-2025 21:00:48 UTC]    Categories columns count: 7
[23-Nov-2025 21:00:48 UTC]    Language field in books: YES
[23-Nov-2025 21:00:48 UTC]    Format field in books: YES
[23-Nov-2025 21:00:48 UTC]    Description field in categories: YES
[23-Nov-2025 21:00:48 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:00:48 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:00:48 UTC]    Is_active field in books: YES
[23-Nov-2025 21:00:48 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:00:48 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:00:48 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:00:48 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:00:48 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:00:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:00:48 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 21:00:48 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 21:00:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:00:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:00:48 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:00:48 UTC] 📊 Database Info:
[23-Nov-2025 21:00:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:00:48 UTC]    Books columns count: 45
[23-Nov-2025 21:00:48 UTC]    Categories columns count: 7
[23-Nov-2025 21:00:48 UTC]    Language field in books: YES
[23-Nov-2025 21:00:48 UTC]    Format field in books: YES
[23-Nov-2025 21:00:48 UTC]    Description field in categories: YES
[23-Nov-2025 21:00:48 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:00:48 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:00:48 UTC]    Is_active field in books: YES
[23-Nov-2025 21:00:48 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:00:48 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:00:48 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:00:48 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:00:48 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:00:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:00:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:00:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:00:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:00:48 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:00:48 UTC] 📊 Database Info:
[23-Nov-2025 21:00:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:00:48 UTC]    Books columns count: 45
[23-Nov-2025 21:00:48 UTC]    Categories columns count: 7
[23-Nov-2025 21:00:48 UTC]    Language field in books: YES
[23-Nov-2025 21:00:48 UTC]    Format field in books: YES
[23-Nov-2025 21:00:48 UTC]    Description field in categories: YES
[23-Nov-2025 21:00:48 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:00:48 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:00:48 UTC]    Is_active field in books: YES
[23-Nov-2025 21:00:48 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:00:48 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:00:48 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:00:48 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:00:48 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:00:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:00:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:00:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 21:00:48 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 21:00:48 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 21:01:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:01:14 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:01:14 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:01:14 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:01:14 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:01:14 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:01:14 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:01:14 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:01:14 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:01:15 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:01:15 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:01:15 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:01:15 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:01:15 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:01:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:01:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:01:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:01:15 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:01:15 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:01:15 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:01:15 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:01:15 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:01:15 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:01:15 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:01:15 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:01:15 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:01:15 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:01:16 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:01:16 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:01:16 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:01:16 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:01:16 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:01:16 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:01:16 UTC] 📊 Database Info:
[23-Nov-2025 21:01:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:01:16 UTC]    Books columns count: 45
[23-Nov-2025 21:01:16 UTC]    Categories columns count: 7
[23-Nov-2025 21:01:16 UTC]    Language field in books: YES
[23-Nov-2025 21:01:16 UTC]    Format field in books: YES
[23-Nov-2025 21:01:16 UTC]    Description field in categories: YES
[23-Nov-2025 21:01:16 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:01:16 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:01:16 UTC]    Is_active field in books: YES
[23-Nov-2025 21:01:16 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:01:16 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:01:16 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:01:16 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:01:16 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:01:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:01:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:02:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:02:40 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:02:40 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:02:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:02:40 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:02:40 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:02:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:02:40 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:02:40 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:02:40 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:02:40 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:02:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:02:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:02:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:02:40 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:02:40 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:02:40 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:02:40 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:02:40 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:02:40 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:02:40 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:02:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:02:40 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:02:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:02:40 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:02:40 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:02:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:02:40 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:02:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:02:40 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:02:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:02:40 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:02:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:02:40 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:02:40 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:02:40 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:02:40 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:02:40 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:02:40 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:02:40 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:02:40 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:02:40 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:02:40 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:02:40 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:02:40 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:02:40 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:02:40 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:02:40 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:02:40 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:02:40 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:02:40 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:02:40 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:02:40 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:02:40 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:02:40 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:02:40 UTC] 📊 Database Info:
[23-Nov-2025 21:02:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:02:40 UTC]    Books columns count: 45
[23-Nov-2025 21:02:40 UTC]    Categories columns count: 7
[23-Nov-2025 21:02:40 UTC]    Language field in books: YES
[23-Nov-2025 21:02:40 UTC]    Format field in books: YES
[23-Nov-2025 21:02:40 UTC]    Description field in categories: YES
[23-Nov-2025 21:02:40 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:02:40 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:02:40 UTC]    Is_active field in books: YES
[23-Nov-2025 21:02:40 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:02:40 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:02:40 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:02:40 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:02:40 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:02:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:02:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:02:40 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 21:02:40 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 21:02:41 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:02:41 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:02:41 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:02:41 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:02:41 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:02:41 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:02:41 UTC] 📊 Database Info:
[23-Nov-2025 21:02:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:02:41 UTC]    Books columns count: 45
[23-Nov-2025 21:02:41 UTC]    Categories columns count: 7
[23-Nov-2025 21:02:41 UTC]    Language field in books: YES
[23-Nov-2025 21:02:41 UTC]    Format field in books: YES
[23-Nov-2025 21:02:41 UTC]    Description field in categories: YES
[23-Nov-2025 21:02:41 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:02:41 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:02:41 UTC]    Is_active field in books: YES
[23-Nov-2025 21:02:41 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:02:41 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:02:41 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:02:41 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:02:41 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:02:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:02:41 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:02:41 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:02:41 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:02:41 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:02:41 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:02:41 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:02:41 UTC] 📊 Database Info:
[23-Nov-2025 21:02:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:02:41 UTC]    Books columns count: 45
[23-Nov-2025 21:02:41 UTC]    Categories columns count: 7
[23-Nov-2025 21:02:41 UTC]    Language field in books: YES
[23-Nov-2025 21:02:41 UTC]    Format field in books: YES
[23-Nov-2025 21:02:41 UTC]    Description field in categories: YES
[23-Nov-2025 21:02:41 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:02:41 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:02:41 UTC]    Is_active field in books: YES
[23-Nov-2025 21:02:41 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:02:41 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:02:41 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:02:41 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:02:41 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:02:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:02:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:02:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 21:02:41 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 21:02:41 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 21:02:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:02:57 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:02:57 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:02:57 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:02:57 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:02:57 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:02:57 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:02:57 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:02:57 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:02:57 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:02:57 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:02:57 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:02:57 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:02:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:02:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:02:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:02:57 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:02:57 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:02:57 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:02:57 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:02:57 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:02:57 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:02:57 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:02:57 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:02:57 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:02:57 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:02:57 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:02:57 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:02:57 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:02:57 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:02:57 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:02:57 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:02:57 UTC] 📊 Database Info:
[23-Nov-2025 21:02:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:02:57 UTC]    Books columns count: 45
[23-Nov-2025 21:02:57 UTC]    Categories columns count: 7
[23-Nov-2025 21:02:57 UTC]    Language field in books: YES
[23-Nov-2025 21:02:57 UTC]    Format field in books: YES
[23-Nov-2025 21:02:57 UTC]    Description field in categories: YES
[23-Nov-2025 21:02:57 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:02:57 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:02:57 UTC]    Is_active field in books: YES
[23-Nov-2025 21:02:57 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:02:57 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:02:57 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:02:57 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:02:57 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:02:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:02:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:02:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:02:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:02:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:02:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:02:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:02:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:02:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:02:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:02:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:02:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:02:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:03:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:03:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:03:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:03:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:03:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:03:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:03:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:03:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:03:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:03:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:03:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:03:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:03:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:03:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:03:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:03:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:03:18 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:03:18 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:03:18 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:03:18 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:03:18 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:03:18 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:03:18 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:03:18 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:03:18 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:03:18 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:03:18 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:03:18 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:03:18 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:03:18 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:03:18 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:03:18 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:03:18 UTC] 📊 Database Info:
[23-Nov-2025 21:03:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:03:18 UTC]    Books columns count: 45
[23-Nov-2025 21:03:18 UTC]    Categories columns count: 7
[23-Nov-2025 21:03:18 UTC]    Language field in books: YES
[23-Nov-2025 21:03:18 UTC]    Format field in books: YES
[23-Nov-2025 21:03:18 UTC]    Description field in categories: YES
[23-Nov-2025 21:03:18 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:03:18 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:03:18 UTC]    Is_active field in books: YES
[23-Nov-2025 21:03:18 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:03:18 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:03:18 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:03:18 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:03:18 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:03:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:03:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:04:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:04:20 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:04:20 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:04:20 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:04:20 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:04:20 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:04:20 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:04:20 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:04:20 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:04:22 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:04:22 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:04:22 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:04:22 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:04:22 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:04:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:04:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:04:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:04:22 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:04:22 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:04:22 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:04:22 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:04:22 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:04:22 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:04:22 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:04:22 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:04:22 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:04:22 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:04:22 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:04:22 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:04:22 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:04:22 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:04:22 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:04:22 UTC] 📊 Database Info:
[23-Nov-2025 21:04:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:04:22 UTC]    Books columns count: 45
[23-Nov-2025 21:04:22 UTC]    Categories columns count: 7
[23-Nov-2025 21:04:22 UTC]    Language field in books: YES
[23-Nov-2025 21:04:22 UTC]    Format field in books: YES
[23-Nov-2025 21:04:22 UTC]    Description field in categories: YES
[23-Nov-2025 21:04:22 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:04:22 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:04:22 UTC]    Is_active field in books: YES
[23-Nov-2025 21:04:22 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:04:22 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:04:22 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:04:22 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:04:22 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:04:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:05:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:05:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:05:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:05:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:05:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:05:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:05:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:05:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:05:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:05:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:05:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:05:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:05:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:05:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:05:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:05:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:05:43 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:05:43 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:05:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:05:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:05:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:05:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:05:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:05:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:05:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:05:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:05:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:05:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:05:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:05:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:05:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:05:43 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:05:43 UTC] 📊 Database Info:
[23-Nov-2025 21:05:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:05:43 UTC]    Books columns count: 45
[23-Nov-2025 21:05:43 UTC]    Categories columns count: 7
[23-Nov-2025 21:05:43 UTC]    Language field in books: YES
[23-Nov-2025 21:05:43 UTC]    Format field in books: YES
[23-Nov-2025 21:05:43 UTC]    Description field in categories: YES
[23-Nov-2025 21:05:43 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:05:43 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:05:43 UTC]    Is_active field in books: YES
[23-Nov-2025 21:05:43 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:05:43 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:05:43 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:05:43 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:05:43 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:05:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:05:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:05:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:05:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:05:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:05:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:05:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:05:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:05:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:05:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:05:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:05:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:05:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:06:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:06:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:06:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:06:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:06:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:06:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:06:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:06:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:06:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:06:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:06:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:06:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:06:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:06:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:06:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:06:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:06:09 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:06:09 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:06:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:06:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:06:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:06:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:06:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:06:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:06:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:06:09 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:06:09 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:06:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:06:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:06:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:06:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:06:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:06:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:06:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:06:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:06:09 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:06:09 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:06:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:06:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:06:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:06:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:06:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:06:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:06:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:06:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:06:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:06:09 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:06:09 UTC] 📊 Database Info:
[23-Nov-2025 21:06:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:06:09 UTC]    Books columns count: 45
[23-Nov-2025 21:06:09 UTC]    Categories columns count: 7
[23-Nov-2025 21:06:09 UTC]    Language field in books: YES
[23-Nov-2025 21:06:09 UTC]    Format field in books: YES
[23-Nov-2025 21:06:09 UTC]    Description field in categories: YES
[23-Nov-2025 21:06:09 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:06:09 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:06:09 UTC]    Is_active field in books: YES
[23-Nov-2025 21:06:09 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:06:09 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:06:09 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:06:09 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:06:09 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:06:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:06:09 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 21:06:09 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 21:06:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:06:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:06:09 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:06:09 UTC] 📊 Database Info:
[23-Nov-2025 21:06:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:06:09 UTC]    Books columns count: 45
[23-Nov-2025 21:06:09 UTC]    Categories columns count: 7
[23-Nov-2025 21:06:09 UTC]    Language field in books: YES
[23-Nov-2025 21:06:09 UTC]    Format field in books: YES
[23-Nov-2025 21:06:09 UTC]    Description field in categories: YES
[23-Nov-2025 21:06:09 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:06:09 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:06:09 UTC]    Is_active field in books: YES
[23-Nov-2025 21:06:09 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:06:09 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:06:09 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:06:09 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:06:09 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:06:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:06:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 21:06:09 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 21:06:09 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 21:06:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:06:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:06:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:06:09 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:06:09 UTC] 📊 Database Info:
[23-Nov-2025 21:06:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:06:09 UTC]    Books columns count: 45
[23-Nov-2025 21:06:09 UTC]    Categories columns count: 7
[23-Nov-2025 21:06:09 UTC]    Language field in books: YES
[23-Nov-2025 21:06:09 UTC]    Format field in books: YES
[23-Nov-2025 21:06:09 UTC]    Description field in categories: YES
[23-Nov-2025 21:06:09 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:06:09 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:06:09 UTC]    Is_active field in books: YES
[23-Nov-2025 21:06:09 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:06:09 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:06:09 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:06:09 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:06:09 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:06:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:06:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:06:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:06:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:06:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:06:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:06:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:06:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:06:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:06:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:06:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:06:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:06:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:06:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:06:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:06:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:06:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:06:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:06:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:06:33 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:06:33 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:06:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:06:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:06:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:06:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:06:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:06:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:06:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:06:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:06:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:06:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:06:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:06:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:06:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:06:33 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:06:33 UTC] 📊 Database Info:
[23-Nov-2025 21:06:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:06:33 UTC]    Books columns count: 45
[23-Nov-2025 21:06:33 UTC]    Categories columns count: 7
[23-Nov-2025 21:06:33 UTC]    Language field in books: YES
[23-Nov-2025 21:06:33 UTC]    Format field in books: YES
[23-Nov-2025 21:06:33 UTC]    Description field in categories: YES
[23-Nov-2025 21:06:33 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:06:33 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:06:33 UTC]    Is_active field in books: YES
[23-Nov-2025 21:06:33 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:06:33 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:06:33 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:06:33 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:06:33 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:06:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:06:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:07:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:07:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:07:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:07:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:07:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:07:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:07:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:07:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:07:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:07:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:07:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:07:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:07:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:07:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:07:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:07:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:07:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:07:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:07:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:07:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:07:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:07:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:07:46 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:07:46 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:07:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:07:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:07:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:07:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:07:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:07:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:07:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:07:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:07:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:07:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:07:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:07:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:07:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:07:46 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:07:46 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:07:46 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:07:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:07:46 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:07:46 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:07:46 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:07:46 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:07:46 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:07:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:07:46 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:07:46 UTC] 📊 Database Info:
[23-Nov-2025 21:07:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:07:46 UTC]    Books columns count: 45
[23-Nov-2025 21:07:46 UTC]    Categories columns count: 7
[23-Nov-2025 21:07:46 UTC]    Language field in books: YES
[23-Nov-2025 21:07:46 UTC]    Format field in books: YES
[23-Nov-2025 21:07:46 UTC]    Description field in categories: YES
[23-Nov-2025 21:07:46 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:07:46 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:07:46 UTC]    Is_active field in books: YES
[23-Nov-2025 21:07:46 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:07:46 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:07:46 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:07:46 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:07:46 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:07:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:07:46 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:07:46 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:07:46 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:07:46 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:07:46 UTC] 📊 Database Info:
[23-Nov-2025 21:07:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:07:46 UTC]    Books columns count: 45
[23-Nov-2025 21:07:46 UTC]    Categories columns count: 7
[23-Nov-2025 21:07:46 UTC]    Language field in books: YES
[23-Nov-2025 21:07:46 UTC]    Format field in books: YES
[23-Nov-2025 21:07:46 UTC]    Description field in categories: YES
[23-Nov-2025 21:07:46 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:07:46 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:07:46 UTC]    Is_active field in books: YES
[23-Nov-2025 21:07:46 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:07:46 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:07:46 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:07:46 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:07:46 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:07:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:07:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:07:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:07:50 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:07:50 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:07:50 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:07:50 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:07:50 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:07:50 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:07:50 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:07:50 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:07:50 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:07:50 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:07:50 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:07:50 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:07:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:07:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:07:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:07:50 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:07:50 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:07:50 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:07:50 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:07:50 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:07:50 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:07:50 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:07:50 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:07:50 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:07:50 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:07:50 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:07:50 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:07:50 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:07:50 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:07:50 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:07:50 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:07:50 UTC] 📊 Database Info:
[23-Nov-2025 21:07:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:07:50 UTC]    Books columns count: 45
[23-Nov-2025 21:07:50 UTC]    Categories columns count: 7
[23-Nov-2025 21:07:50 UTC]    Language field in books: YES
[23-Nov-2025 21:07:50 UTC]    Format field in books: YES
[23-Nov-2025 21:07:50 UTC]    Description field in categories: YES
[23-Nov-2025 21:07:50 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:07:50 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:07:50 UTC]    Is_active field in books: YES
[23-Nov-2025 21:07:50 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:07:50 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:07:50 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:07:50 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:07:50 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:07:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:07:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:07:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:07:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:07:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:07:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:07:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:07:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:07:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:07:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:07:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:07:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:07:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:08:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:08:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:08:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:08:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:08:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:08:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:08:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:08:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:08:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:08:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:08:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:08:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:08:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:08:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:08:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:08:00 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:08:00 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:08:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:08:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:08:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:08:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:08:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:08:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:08:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:08:00 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:08:00 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:08:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:08:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:08:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:08:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:08:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:08:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:08:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:08:00 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:08:00 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:08:00 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:08:00 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:08:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:08:00 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:08:00 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:08:00 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:08:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:08:00 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:08:00 UTC] 📊 Database Info:
[23-Nov-2025 21:08:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:08:00 UTC]    Books columns count: 45
[23-Nov-2025 21:08:00 UTC]    Categories columns count: 7
[23-Nov-2025 21:08:00 UTC]    Language field in books: YES
[23-Nov-2025 21:08:00 UTC]    Format field in books: YES
[23-Nov-2025 21:08:00 UTC]    Description field in categories: YES
[23-Nov-2025 21:08:00 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:08:00 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:08:00 UTC]    Is_active field in books: YES
[23-Nov-2025 21:08:00 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:08:00 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:08:00 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:08:00 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:08:00 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:08:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:08:00 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 21:08:00 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 21:08:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:08:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:08:00 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:08:00 UTC] 📊 Database Info:
[23-Nov-2025 21:08:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:08:00 UTC]    Books columns count: 45
[23-Nov-2025 21:08:00 UTC]    Categories columns count: 7
[23-Nov-2025 21:08:00 UTC]    Language field in books: YES
[23-Nov-2025 21:08:00 UTC]    Format field in books: YES
[23-Nov-2025 21:08:00 UTC]    Description field in categories: YES
[23-Nov-2025 21:08:00 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:08:00 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:08:00 UTC]    Is_active field in books: YES
[23-Nov-2025 21:08:00 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:08:00 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:08:00 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:08:00 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:08:00 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:08:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:08:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 21:08:00 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 21:08:00 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 21:08:00 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:08:00 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:08:00 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:08:00 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:08:00 UTC] 📊 Database Info:
[23-Nov-2025 21:08:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:08:00 UTC]    Books columns count: 45
[23-Nov-2025 21:08:00 UTC]    Categories columns count: 7
[23-Nov-2025 21:08:00 UTC]    Language field in books: YES
[23-Nov-2025 21:08:00 UTC]    Format field in books: YES
[23-Nov-2025 21:08:00 UTC]    Description field in categories: YES
[23-Nov-2025 21:08:00 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:08:00 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:08:00 UTC]    Is_active field in books: YES
[23-Nov-2025 21:08:00 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:08:00 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:08:00 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:08:00 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:08:00 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:08:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:08:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:08:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:08:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:08:19 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:08:19 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:08:19 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:08:19 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:08:19 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:08:19 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:08:19 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:08:19 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:08:19 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:08:19 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:08:19 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:08:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:08:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:08:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:08:19 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:08:19 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:08:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:08:19 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:08:19 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:08:19 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:08:19 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:08:19 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:08:19 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:08:19 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:08:19 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:08:19 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:08:19 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:08:19 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:08:19 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:08:19 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:08:19 UTC] 📊 Database Info:
[23-Nov-2025 21:08:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:08:19 UTC]    Books columns count: 45
[23-Nov-2025 21:08:19 UTC]    Categories columns count: 7
[23-Nov-2025 21:08:19 UTC]    Language field in books: YES
[23-Nov-2025 21:08:19 UTC]    Format field in books: YES
[23-Nov-2025 21:08:19 UTC]    Description field in categories: YES
[23-Nov-2025 21:08:19 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:08:19 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:08:19 UTC]    Is_active field in books: YES
[23-Nov-2025 21:08:19 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:08:19 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:08:19 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:08:19 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:08:19 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:08:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:08:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:08:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:08:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:08:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:08:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:08:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:08:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:08:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:08:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:08:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:08:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:08:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:08:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:08:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:08:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:08:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:08:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:08:32 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:08:32 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:08:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:08:32 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:08:32 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:08:32 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:08:32 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:08:32 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:08:32 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:08:32 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:08:32 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:08:32 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:08:32 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:08:32 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:08:32 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:08:32 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:08:32 UTC] 📊 Database Info:
[23-Nov-2025 21:08:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:08:32 UTC]    Books columns count: 45
[23-Nov-2025 21:08:32 UTC]    Categories columns count: 7
[23-Nov-2025 21:08:32 UTC]    Language field in books: YES
[23-Nov-2025 21:08:32 UTC]    Format field in books: YES
[23-Nov-2025 21:08:32 UTC]    Description field in categories: YES
[23-Nov-2025 21:08:32 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:08:32 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:08:32 UTC]    Is_active field in books: YES
[23-Nov-2025 21:08:32 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:08:32 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:08:32 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:08:32 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:08:32 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:08:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:08:32 UTC] 🔄 Processing category - ID: , Name: Agricultural science project topics, Active: 1, Remove Image: NO
[23-Nov-2025 21:08:32 UTC] 🔍 Checking for duplicate category name: 'Agricultural science project topics'
[23-Nov-2025 21:08:32 UTC] ❌ Validation failed: Category with same name already exists - ID: 11, Name: Agricultural science project topics
[23-Nov-2025 21:23:38 UTC] PHP Parse error:  syntax error, unexpected 'elseif' (T_ELSEIF) in /home/admin/public_html/acadlib.com/app-panel/api/books.php on line 1397
[23-Nov-2025 21:23:43 UTC] PHP Parse error:  syntax error, unexpected 'elseif' (T_ELSEIF) in /home/admin/public_html/acadlib.com/app-panel/api/books.php on line 1397
[23-Nov-2025 21:24:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:24:40 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:24:40 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:24:40 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:24:40 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:24:40 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:24:40 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:24:40 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:24:40 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:24:41 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:24:41 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:24:41 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:24:41 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:24:41 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:24:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:24:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:24:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:24:41 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:24:41 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:24:41 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:24:41 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:24:41 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:24:41 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:24:41 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:24:41 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:24:41 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:24:41 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:24:41 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:24:41 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:24:41 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:24:41 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:24:41 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:24:41 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:24:41 UTC] 📊 Database Info:
[23-Nov-2025 21:24:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:24:41 UTC]    Books columns count: 45
[23-Nov-2025 21:24:41 UTC]    Categories columns count: 7
[23-Nov-2025 21:24:41 UTC]    Language field in books: YES
[23-Nov-2025 21:24:41 UTC]    Format field in books: YES
[23-Nov-2025 21:24:41 UTC]    Description field in categories: YES
[23-Nov-2025 21:24:41 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:24:41 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:24:41 UTC]    Is_active field in books: YES
[23-Nov-2025 21:24:41 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:24:41 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:24:41 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:24:41 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:24:41 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:24:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:24:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:24:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:24:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:24:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:24:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:24:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:24:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:24:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:24:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:24:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:24:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:24:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:24:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:24:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:24:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:24:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:24:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:24:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:24:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:24:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:24:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:24:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:24:54 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:24:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:24:54 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:24:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:24:54 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:24:54 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:24:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:24:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:24:54 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:24:54 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:24:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:24:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:24:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:24:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:24:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:24:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:24:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:24:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:24:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:24:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:24:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:24:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:24:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:24:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:24:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:24:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:24:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:24:54 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:24:54 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:24:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:24:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:24:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:24:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:24:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:24:55 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:24:55 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:24:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:24:55 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:24:55 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:24:55 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:24:55 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:24:55 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:24:55 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:24:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:24:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:24:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:24:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:24:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:24:55 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:24:55 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:24:55 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:24:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:24:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:24:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:24:55 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:24:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:24:55 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:24:55 UTC] 📊 Database Info:
[23-Nov-2025 21:24:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:24:55 UTC]    Books columns count: 45
[23-Nov-2025 21:24:55 UTC]    Categories columns count: 7
[23-Nov-2025 21:24:55 UTC]    Language field in books: YES
[23-Nov-2025 21:24:55 UTC]    Format field in books: YES
[23-Nov-2025 21:24:55 UTC]    Description field in categories: YES
[23-Nov-2025 21:24:55 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:24:55 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:24:55 UTC]    Is_active field in books: YES
[23-Nov-2025 21:24:55 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:24:55 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:24:55 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:24:55 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:24:55 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:24:55 UTC] 📊 Database Info:
[23-Nov-2025 21:24:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:24:55 UTC]    Books columns count: 45
[23-Nov-2025 21:24:55 UTC]    Categories columns count: 7
[23-Nov-2025 21:24:55 UTC]    Language field in books: YES
[23-Nov-2025 21:24:55 UTC]    Format field in books: YES
[23-Nov-2025 21:24:55 UTC]    Description field in categories: YES
[23-Nov-2025 21:24:55 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:24:55 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:24:55 UTC]    Is_active field in books: YES
[23-Nov-2025 21:24:55 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:24:55 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:24:55 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:24:55 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:24:55 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:24:55 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:24:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:24:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:24:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:24:55 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:24:55 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:24:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:24:55 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:24:55 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:24:55 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 21:24:55 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:24:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:24:55 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:24:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:24:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:24:55 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:24:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:24:55 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:24:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:24:55 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:24:55 UTC] 📊 Database Info:
[23-Nov-2025 21:24:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:24:55 UTC]    Books columns count: 45
[23-Nov-2025 21:24:55 UTC]    Categories columns count: 7
[23-Nov-2025 21:24:55 UTC]    Language field in books: YES
[23-Nov-2025 21:24:55 UTC]    Format field in books: YES
[23-Nov-2025 21:24:55 UTC]    Description field in categories: YES
[23-Nov-2025 21:24:55 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:24:55 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:24:55 UTC]    Is_active field in books: YES
[23-Nov-2025 21:24:55 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:24:55 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:24:55 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:24:55 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:24:55 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:24:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:24:55 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:24:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:24:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:24:55 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:24:55 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:24:55 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:24:55 UTC] 📊 Database Info:
[23-Nov-2025 21:24:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:24:55 UTC]    Books columns count: 45
[23-Nov-2025 21:24:55 UTC]    Categories columns count: 7
[23-Nov-2025 21:24:55 UTC]    Language field in books: YES
[23-Nov-2025 21:24:55 UTC]    Format field in books: YES
[23-Nov-2025 21:24:55 UTC]    Description field in categories: YES
[23-Nov-2025 21:24:55 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:24:55 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:24:55 UTC]    Is_active field in books: YES
[23-Nov-2025 21:24:55 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:24:55 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:24:55 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:24:55 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:24:55 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:24:55 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:24:55 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:24:55 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:24:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:24:55 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:24:55 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:24:55 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:24:55 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:24:55 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:24:55 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:24:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:24:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:24:55 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:24:55 UTC] 📊 Database Info:
[23-Nov-2025 21:24:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:24:55 UTC]    Books columns count: 45
[23-Nov-2025 21:24:55 UTC]    Categories columns count: 7
[23-Nov-2025 21:24:55 UTC]    Language field in books: YES
[23-Nov-2025 21:24:55 UTC]    Format field in books: YES
[23-Nov-2025 21:24:55 UTC]    Description field in categories: YES
[23-Nov-2025 21:24:55 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:24:55 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:24:55 UTC]    Is_active field in books: YES
[23-Nov-2025 21:24:55 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:24:55 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:24:55 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:24:55 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:24:55 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:24:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:24:55 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 21:24:55 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 21:24:55 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:24:55 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:24:55 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:24:55 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:24:55 UTC] 📊 Database Info:
[23-Nov-2025 21:24:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:24:55 UTC]    Books columns count: 45
[23-Nov-2025 21:24:55 UTC]    Categories columns count: 7
[23-Nov-2025 21:24:55 UTC]    Language field in books: YES
[23-Nov-2025 21:24:55 UTC]    Format field in books: YES
[23-Nov-2025 21:24:55 UTC]    Description field in categories: YES
[23-Nov-2025 21:24:55 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:24:55 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:24:55 UTC]    Is_active field in books: YES
[23-Nov-2025 21:24:55 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:24:55 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:24:55 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:24:55 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:24:55 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:24:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:24:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:24:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:24:57 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:24:57 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:24:57 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:24:57 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:24:57 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:24:57 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:24:57 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:24:57 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:24:57 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:24:57 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:24:57 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:24:57 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:24:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:24:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:24:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:24:57 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:24:57 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:24:57 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:24:57 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:24:57 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:24:57 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:24:57 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:24:57 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:24:57 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:24:57 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:24:57 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:24:57 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:24:57 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:24:57 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:24:57 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:24:57 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:24:57 UTC] 📊 Database Info:
[23-Nov-2025 21:24:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:24:57 UTC]    Books columns count: 45
[23-Nov-2025 21:24:57 UTC]    Categories columns count: 7
[23-Nov-2025 21:24:57 UTC]    Language field in books: YES
[23-Nov-2025 21:24:57 UTC]    Format field in books: YES
[23-Nov-2025 21:24:57 UTC]    Description field in categories: YES
[23-Nov-2025 21:24:57 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:24:57 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:24:57 UTC]    Is_active field in books: YES
[23-Nov-2025 21:24:57 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:24:57 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:24:57 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:24:57 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:24:57 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:24:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:24:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:24:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:24:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:24:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:24:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:24:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:24:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:24:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:24:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:24:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:24:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:24:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:25:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:25:12 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:25:12 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:25:12 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:25:12 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:25:12 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:25:12 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:25:12 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:25:12 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:25:12 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:25:12 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:25:12 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:25:12 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:25:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:25:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:25:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:25:12 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:25:12 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:25:12 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:25:12 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:25:12 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:25:12 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:25:12 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:25:12 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:25:12 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:25:12 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:25:12 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:25:12 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:25:12 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:25:12 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:25:12 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:25:12 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:25:12 UTC] 📊 Database Info:
[23-Nov-2025 21:25:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:25:12 UTC]    Books columns count: 45
[23-Nov-2025 21:25:12 UTC]    Categories columns count: 7
[23-Nov-2025 21:25:12 UTC]    Language field in books: YES
[23-Nov-2025 21:25:12 UTC]    Format field in books: YES
[23-Nov-2025 21:25:12 UTC]    Description field in categories: YES
[23-Nov-2025 21:25:12 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:25:12 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:25:12 UTC]    Is_active field in books: YES
[23-Nov-2025 21:25:12 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:25:12 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:25:12 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:25:12 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:25:12 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:25:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:25:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:25:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:25:17 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:25:17 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:25:17 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:25:17 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:25:17 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:25:17 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:25:17 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:25:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:25:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:25:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:25:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:25:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:25:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:25:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:25:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:25:17 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:25:17 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:25:17 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:25:17 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:25:17 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:25:17 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:25:17 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:25:17 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:25:17 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:25:17 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:25:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:25:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:25:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:25:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:25:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:25:17 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:25:17 UTC] 📊 Database Info:
[23-Nov-2025 21:25:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:25:17 UTC]    Books columns count: 45
[23-Nov-2025 21:25:17 UTC]    Categories columns count: 7
[23-Nov-2025 21:25:17 UTC]    Language field in books: YES
[23-Nov-2025 21:25:17 UTC]    Format field in books: YES
[23-Nov-2025 21:25:17 UTC]    Description field in categories: YES
[23-Nov-2025 21:25:17 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:25:17 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:25:17 UTC]    Is_active field in books: YES
[23-Nov-2025 21:25:17 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:25:17 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:25:17 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:25:17 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:25:17 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:25:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:25:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:25:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:25:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:25:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:25:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:25:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:25:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:25:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:25:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:25:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:25:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:25:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:45:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:45:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:45:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:45:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:45:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:45:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:45:47 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:45:47 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:45:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:45:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:45:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:45:47 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:45:47 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:45:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:45:47 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:45:47 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:45:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:45:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:45:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:45:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:45:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:45:47 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:45:47 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:45:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:45:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:45:47 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:45:47 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:45:47 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:45:47 UTC] 📊 Database Info:
[23-Nov-2025 21:45:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:45:47 UTC]    Books columns count: 45
[23-Nov-2025 21:45:47 UTC]    Categories columns count: 7
[23-Nov-2025 21:45:47 UTC]    Language field in books: YES
[23-Nov-2025 21:45:47 UTC]    Format field in books: YES
[23-Nov-2025 21:45:47 UTC]    Description field in categories: YES
[23-Nov-2025 21:45:47 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:45:47 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:45:47 UTC]    Is_active field in books: YES
[23-Nov-2025 21:45:47 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:45:47 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:45:47 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:45:47 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:45:47 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:45:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:45:47 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 21:45:47 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 21:45:47 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:45:47 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:45:47 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:45:47 UTC] 📊 Database Info:
[23-Nov-2025 21:45:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:45:47 UTC]    Books columns count: 45
[23-Nov-2025 21:45:47 UTC]    Categories columns count: 7
[23-Nov-2025 21:45:47 UTC]    Language field in books: YES
[23-Nov-2025 21:45:47 UTC]    Format field in books: YES
[23-Nov-2025 21:45:47 UTC]    Description field in categories: YES
[23-Nov-2025 21:45:47 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:45:47 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:45:47 UTC]    Is_active field in books: YES
[23-Nov-2025 21:45:47 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:45:47 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:45:47 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:45:47 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:45:47 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:45:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:45:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:45:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:45:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:45:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:45:47 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:45:47 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:45:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:45:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:45:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:45:47 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:45:47 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:45:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:45:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:45:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:45:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:45:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:45:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:45:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:45:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:45:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:45:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:45:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:45:48 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:45:48 UTC] 📊 Database Info:
[23-Nov-2025 21:45:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:45:48 UTC]    Books columns count: 45
[23-Nov-2025 21:45:48 UTC]    Categories columns count: 7
[23-Nov-2025 21:45:48 UTC]    Language field in books: YES
[23-Nov-2025 21:45:48 UTC]    Format field in books: YES
[23-Nov-2025 21:45:48 UTC]    Description field in categories: YES
[23-Nov-2025 21:45:48 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:45:48 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:45:48 UTC]    Is_active field in books: YES
[23-Nov-2025 21:45:48 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:45:48 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:45:48 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:45:48 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:45:48 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:45:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:45:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:45:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:45:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:45:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:45:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:45:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:45:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:45:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:45:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:45:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:45:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:45:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:46:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:46:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:46:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:46:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:46:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:46:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:46:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:46:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:46:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:46:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:46:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:46:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:46:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:46:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:46:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:46:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:46:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:46:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:46:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:46:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:46:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:46:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:46:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:46:33 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:46:33 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:46:33 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:46:33 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:46:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:46:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:46:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:46:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:46:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:46:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:46:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:46:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:46:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:46:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:46:33 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:46:33 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:46:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:46:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:46:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:46:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:46:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:46:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:46:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:46:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:46:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:46:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:46:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:46:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:46:33 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:46:33 UTC] 📊 Database Info:
[23-Nov-2025 21:46:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:46:33 UTC]    Books columns count: 45
[23-Nov-2025 21:46:33 UTC]    Categories columns count: 7
[23-Nov-2025 21:46:33 UTC]    Language field in books: YES
[23-Nov-2025 21:46:33 UTC]    Format field in books: YES
[23-Nov-2025 21:46:33 UTC]    Description field in categories: YES
[23-Nov-2025 21:46:33 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:46:33 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:46:33 UTC]    Is_active field in books: YES
[23-Nov-2025 21:46:33 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:46:33 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:46:33 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:46:33 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:46:33 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:46:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:46:33 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 21:46:33 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 21:46:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:46:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:46:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:46:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:46:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:46:33 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:46:33 UTC] 📊 Database Info:
[23-Nov-2025 21:46:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:46:33 UTC]    Books columns count: 45
[23-Nov-2025 21:46:33 UTC]    Categories columns count: 7
[23-Nov-2025 21:46:33 UTC]    Language field in books: YES
[23-Nov-2025 21:46:33 UTC]    Format field in books: YES
[23-Nov-2025 21:46:33 UTC]    Description field in categories: YES
[23-Nov-2025 21:46:33 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:46:33 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:46:33 UTC]    Is_active field in books: YES
[23-Nov-2025 21:46:33 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:46:33 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:46:33 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:46:33 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:46:33 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:46:33 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:46:33 UTC] 📊 Database Info:
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:46:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:46:33 UTC]    Books columns count: 45
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:46:33 UTC]    Categories columns count: 7
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:46:33 UTC]    Language field in books: YES
[23-Nov-2025 21:46:33 UTC]    Format field in books: YES
[23-Nov-2025 21:46:33 UTC]    Description field in categories: YES
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:46:33 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:46:33 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:46:33 UTC]    Is_active field in books: YES
[23-Nov-2025 21:46:33 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:46:33 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:46:33 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:46:33 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:46:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:46:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:46:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:46:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:46:59 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:46:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:46:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:46:59 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:46:59 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:46:59 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:46:59 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:46:59 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:46:59 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:46:59 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:46:59 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:46:59 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:46:59 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:46:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:46:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:46:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:46:59 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:46:59 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:46:59 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:46:59 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:46:59 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:46:59 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:46:59 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:46:59 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:46:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:46:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:46:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:46:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:46:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:46:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:46:59 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:46:59 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:46:59 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:46:59 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:46:59 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:46:59 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:46:59 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:46:59 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:46:59 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:46:59 UTC] 📊 Database Info:
[23-Nov-2025 21:46:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:46:59 UTC]    Books columns count: 45
[23-Nov-2025 21:46:59 UTC]    Categories columns count: 7
[23-Nov-2025 21:46:59 UTC]    Language field in books: YES
[23-Nov-2025 21:46:59 UTC]    Format field in books: YES
[23-Nov-2025 21:46:59 UTC]    Description field in categories: YES
[23-Nov-2025 21:46:59 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:46:59 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:46:59 UTC]    Is_active field in books: YES
[23-Nov-2025 21:46:59 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:46:59 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:46:59 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:46:59 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:46:59 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:46:59 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:46:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:46:59 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:46:59 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:46:59 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:46:59 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:46:59 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:46:59 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:46:59 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:46:59 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:46:59 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:46:59 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:46:59 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:46:59 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:46:59 UTC] 📊 Database Info:
[23-Nov-2025 21:46:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:46:59 UTC]    Books columns count: 45
[23-Nov-2025 21:46:59 UTC]    Categories columns count: 7
[23-Nov-2025 21:46:59 UTC]    Language field in books: YES
[23-Nov-2025 21:46:59 UTC]    Format field in books: YES
[23-Nov-2025 21:46:59 UTC]    Description field in categories: YES
[23-Nov-2025 21:46:59 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:46:59 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:46:59 UTC]    Is_active field in books: YES
[23-Nov-2025 21:46:59 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:46:59 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:46:59 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:46:59 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:46:59 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:46:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:46:59 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:46:59 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:46:59 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:46:59 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:46:59 UTC] 📊 Database Info:
[23-Nov-2025 21:46:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:46:59 UTC]    Books columns count: 45
[23-Nov-2025 21:46:59 UTC]    Categories columns count: 7
[23-Nov-2025 21:46:59 UTC]    Language field in books: YES
[23-Nov-2025 21:46:59 UTC]    Format field in books: YES
[23-Nov-2025 21:46:59 UTC]    Description field in categories: YES
[23-Nov-2025 21:46:59 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:46:59 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:46:59 UTC]    Is_active field in books: YES
[23-Nov-2025 21:46:59 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:46:59 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:46:59 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:46:59 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:46:59 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:46:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:46:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:46:59 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 21:46:59 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 21:51:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:51:17 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:51:17 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:51:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:51:17 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:51:17 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:51:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:51:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:51:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:51:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:51:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:51:17 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:51:17 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:51:17 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:51:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:51:17 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:51:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:51:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:51:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:51:17 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:51:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:51:17 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:51:17 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:51:17 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:51:17 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:51:17 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:51:17 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:51:17 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:51:17 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:51:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:51:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:51:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:51:17 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:51:17 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:51:17 UTC] 📊 Database Info:
[23-Nov-2025 21:51:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:51:17 UTC]    Books columns count: 45
[23-Nov-2025 21:51:17 UTC]    Categories columns count: 7
[23-Nov-2025 21:51:17 UTC]    Language field in books: YES
[23-Nov-2025 21:51:17 UTC]    Format field in books: YES
[23-Nov-2025 21:51:17 UTC]    Description field in categories: YES
[23-Nov-2025 21:51:17 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:51:17 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:51:17 UTC]    Is_active field in books: YES
[23-Nov-2025 21:51:17 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:51:17 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:51:17 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:51:17 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:51:17 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:51:17 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:51:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:51:17 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 21:51:17 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 21:51:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:51:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:51:17 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:51:17 UTC] 📊 Database Info:
[23-Nov-2025 21:51:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:51:17 UTC]    Books columns count: 45
[23-Nov-2025 21:51:17 UTC]    Categories columns count: 7
[23-Nov-2025 21:51:17 UTC]    Language field in books: YES
[23-Nov-2025 21:51:17 UTC]    Format field in books: YES
[23-Nov-2025 21:51:17 UTC]    Description field in categories: YES
[23-Nov-2025 21:51:17 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:51:17 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:51:17 UTC]    Is_active field in books: YES
[23-Nov-2025 21:51:17 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:51:17 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:51:17 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:51:17 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:51:17 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:51:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:51:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:51:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:51:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:51:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:51:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:51:17 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:51:17 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:51:17 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:51:17 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:51:17 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:51:17 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:51:17 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:51:17 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:51:17 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:51:17 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:51:17 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:51:17 UTC] 📊 Database Info:
[23-Nov-2025 21:51:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:51:17 UTC]    Books columns count: 45
[23-Nov-2025 21:51:17 UTC]    Categories columns count: 7
[23-Nov-2025 21:51:17 UTC]    Language field in books: YES
[23-Nov-2025 21:51:17 UTC]    Format field in books: YES
[23-Nov-2025 21:51:17 UTC]    Description field in categories: YES
[23-Nov-2025 21:51:17 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:51:17 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:51:17 UTC]    Is_active field in books: YES
[23-Nov-2025 21:51:17 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:51:17 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:51:17 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:51:17 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:51:17 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:51:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:51:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:51:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 21:51:17 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 21:51:17 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 21:51:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:51:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:51:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:51:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:51:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:51:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:51:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:51:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:51:33 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:51:33 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:51:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:51:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:51:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:51:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:51:33 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:51:33 UTC] 📊 Database Info:
[23-Nov-2025 21:51:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:51:33 UTC]    Books columns count: 45
[23-Nov-2025 21:51:33 UTC]    Categories columns count: 7
[23-Nov-2025 21:51:33 UTC]    Language field in books: YES
[23-Nov-2025 21:51:33 UTC]    Format field in books: YES
[23-Nov-2025 21:51:33 UTC]    Description field in categories: YES
[23-Nov-2025 21:51:33 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:51:33 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:51:33 UTC]    Is_active field in books: YES
[23-Nov-2025 21:51:33 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:51:33 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:51:33 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:51:33 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:51:33 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:51:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:51:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:51:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:51:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:51:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:51:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:51:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:51:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:51:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:51:33 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:51:33 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:51:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:51:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:51:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:51:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:51:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:51:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:51:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:51:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:51:33 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:51:33 UTC] 📊 Database Info:
[23-Nov-2025 21:51:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:51:33 UTC]    Books columns count: 45
[23-Nov-2025 21:51:33 UTC]    Categories columns count: 7
[23-Nov-2025 21:51:33 UTC]    Language field in books: YES
[23-Nov-2025 21:51:33 UTC]    Format field in books: YES
[23-Nov-2025 21:51:33 UTC]    Description field in categories: YES
[23-Nov-2025 21:51:33 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:51:33 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:51:33 UTC]    Is_active field in books: YES
[23-Nov-2025 21:51:33 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:51:33 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:51:33 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:51:33 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:51:33 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:51:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:51:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:52:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:52:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:52:25 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:52:25 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:52:25 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:52:25 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:52:25 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:52:25 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:52:25 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:52:25 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:52:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:52:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:52:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:52:25 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:52:25 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:52:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:52:25 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:52:25 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:52:25 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:52:25 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:52:25 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:52:25 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:52:25 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:52:25 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:52:25 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:52:25 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:52:25 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:52:25 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:52:25 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:52:25 UTC] 📊 Database Info:
[23-Nov-2025 21:52:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:52:25 UTC]    Books columns count: 45
[23-Nov-2025 21:52:25 UTC]    Categories columns count: 7
[23-Nov-2025 21:52:25 UTC]    Language field in books: YES
[23-Nov-2025 21:52:25 UTC]    Format field in books: YES
[23-Nov-2025 21:52:25 UTC]    Description field in categories: YES
[23-Nov-2025 21:52:25 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:52:25 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:52:25 UTC]    Is_active field in books: YES
[23-Nov-2025 21:52:25 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:52:25 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:52:25 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:52:25 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:52:25 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:52:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:52:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:52:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:52:27 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:52:27 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:52:27 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:52:27 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:52:27 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:52:27 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:52:27 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:52:27 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:52:27 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:52:27 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:52:27 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:52:27 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:52:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:52:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:52:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:52:27 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:52:27 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:52:27 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:52:27 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:52:27 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:52:27 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:52:27 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:52:27 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:52:27 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:52:27 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:52:27 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:52:27 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:52:27 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:52:27 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:52:27 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:52:27 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:52:27 UTC] 📊 Database Info:
[23-Nov-2025 21:52:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:52:27 UTC]    Books columns count: 45
[23-Nov-2025 21:52:27 UTC]    Categories columns count: 7
[23-Nov-2025 21:52:27 UTC]    Language field in books: YES
[23-Nov-2025 21:52:27 UTC]    Format field in books: YES
[23-Nov-2025 21:52:27 UTC]    Description field in categories: YES
[23-Nov-2025 21:52:27 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:52:27 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:52:27 UTC]    Is_active field in books: YES
[23-Nov-2025 21:52:27 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:52:27 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:52:27 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:52:27 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:52:27 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:52:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:52:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:52:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:52:32 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:52:32 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:52:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:52:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:52:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:52:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:52:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:52:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:52:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:52:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:52:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:52:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:52:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:52:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:52:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:52:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:52:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:52:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:52:33 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:52:33 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:52:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:52:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:52:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:52:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:52:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:52:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:52:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:52:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:52:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:52:33 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:52:33 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:52:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:52:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:52:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:52:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:52:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:52:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:52:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:52:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:52:33 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:52:33 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:52:33 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:52:33 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:52:33 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:52:33 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:52:33 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:52:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:52:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:52:33 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:52:33 UTC] 📊 Database Info:
[23-Nov-2025 21:52:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:52:33 UTC]    Books columns count: 45
[23-Nov-2025 21:52:33 UTC]    Categories columns count: 7
[23-Nov-2025 21:52:33 UTC]    Language field in books: YES
[23-Nov-2025 21:52:33 UTC]    Format field in books: YES
[23-Nov-2025 21:52:33 UTC]    Description field in categories: YES
[23-Nov-2025 21:52:33 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:52:33 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:52:33 UTC]    Is_active field in books: YES
[23-Nov-2025 21:52:33 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:52:33 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:52:33 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:52:33 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:52:33 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:52:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:52:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:52:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:52:33 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:52:33 UTC] 📊 Database Info:
[23-Nov-2025 21:52:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:52:33 UTC]    Books columns count: 45
[23-Nov-2025 21:52:33 UTC]    Categories columns count: 7
[23-Nov-2025 21:52:33 UTC]    Language field in books: YES
[23-Nov-2025 21:52:33 UTC]    Format field in books: YES
[23-Nov-2025 21:52:33 UTC]    Description field in categories: YES
[23-Nov-2025 21:52:33 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:52:33 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:52:33 UTC]    Is_active field in books: YES
[23-Nov-2025 21:52:33 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:52:33 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:52:33 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:52:33 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:52:33 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:52:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:52:33 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:52:33 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:52:33 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:52:33 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:52:33 UTC] 📊 Database Info:
[23-Nov-2025 21:52:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:52:33 UTC]    Books columns count: 45
[23-Nov-2025 21:52:33 UTC]    Categories columns count: 7
[23-Nov-2025 21:52:33 UTC]    Language field in books: YES
[23-Nov-2025 21:52:33 UTC]    Format field in books: YES
[23-Nov-2025 21:52:33 UTC]    Description field in categories: YES
[23-Nov-2025 21:52:33 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:52:33 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:52:33 UTC]    Is_active field in books: YES
[23-Nov-2025 21:52:33 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:52:33 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:52:33 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:52:33 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:52:33 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:52:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:52:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:52:33 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 21:52:33 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 21:52:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:52:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:52:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:52:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:52:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:52:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:52:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:52:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:52:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:52:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:52:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:52:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:52:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:52:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:52:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:52:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:52:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:52:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:52:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:52:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:52:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:52:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:52:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:52:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:52:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:52:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:52:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:52:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:52:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:52:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:52:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:52:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:52:38 UTC] 📊 Database Info:
[23-Nov-2025 21:52:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:52:38 UTC]    Books columns count: 45
[23-Nov-2025 21:52:38 UTC]    Categories columns count: 7
[23-Nov-2025 21:52:38 UTC]    Language field in books: YES
[23-Nov-2025 21:52:38 UTC]    Format field in books: YES
[23-Nov-2025 21:52:38 UTC]    Description field in categories: YES
[23-Nov-2025 21:52:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:52:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:52:38 UTC]    Is_active field in books: YES
[23-Nov-2025 21:52:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:52:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:52:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:52:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:52:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:52:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:52:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:52:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:52:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:52:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:52:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:52:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:52:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:52:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:52:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:52:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:52:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:52:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:53:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:53:34 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:53:34 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:53:34 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:53:34 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:53:34 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:53:34 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:53:34 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:53:34 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:53:34 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:53:34 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:53:34 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:53:34 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:53:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:53:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:53:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:53:34 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:53:34 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:53:34 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:53:34 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:53:34 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:53:34 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:53:34 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:53:34 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:53:34 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:53:34 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:53:34 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:53:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:53:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:53:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:53:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:53:35 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:53:35 UTC] 📊 Database Info:
[23-Nov-2025 21:53:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:53:35 UTC]    Books columns count: 45
[23-Nov-2025 21:53:35 UTC]    Categories columns count: 7
[23-Nov-2025 21:53:35 UTC]    Language field in books: YES
[23-Nov-2025 21:53:35 UTC]    Format field in books: YES
[23-Nov-2025 21:53:35 UTC]    Description field in categories: YES
[23-Nov-2025 21:53:35 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:53:35 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:53:35 UTC]    Is_active field in books: YES
[23-Nov-2025 21:53:35 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:53:35 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:53:35 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:53:35 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:53:35 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:53:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:53:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:53:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:53:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:53:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:53:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:53:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:53:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:53:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:53:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:53:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:53:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:53:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:53:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:53:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:53:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:53:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:53:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:53:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:53:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:53:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:53:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:53:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:53:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:53:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:53:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:53:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:53:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:53:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:53:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:53:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:53:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:53:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:53:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:53:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:53:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:53:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:53:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:53:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:53:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:53:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:53:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:53:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:53:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:53:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:53:36 UTC] 📊 Database Info:
[23-Nov-2025 21:53:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:53:36 UTC]    Books columns count: 45
[23-Nov-2025 21:53:36 UTC]    Categories columns count: 7
[23-Nov-2025 21:53:36 UTC]    Language field in books: YES
[23-Nov-2025 21:53:36 UTC]    Format field in books: YES
[23-Nov-2025 21:53:36 UTC]    Description field in categories: YES
[23-Nov-2025 21:53:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:53:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:53:36 UTC]    Is_active field in books: YES
[23-Nov-2025 21:53:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:53:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:53:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:53:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:53:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:53:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:53:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:53:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:53:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:53:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:53:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:53:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:53:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:53:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:53:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:53:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:53:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:53:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:53:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:53:41 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:53:41 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:53:41 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:53:41 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:53:41 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:53:41 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:53:41 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:53:41 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:53:42 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:53:42 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:53:42 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:53:42 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:53:42 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:53:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:53:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:53:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:53:42 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:53:42 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:53:42 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:53:42 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:53:42 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:53:42 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:53:42 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:53:42 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:53:42 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:53:42 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:53:42 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:53:42 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:53:42 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:53:42 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:53:42 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:53:42 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:53:42 UTC] 📊 Database Info:
[23-Nov-2025 21:53:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:53:42 UTC]    Books columns count: 45
[23-Nov-2025 21:53:42 UTC]    Categories columns count: 7
[23-Nov-2025 21:53:42 UTC]    Language field in books: YES
[23-Nov-2025 21:53:42 UTC]    Format field in books: YES
[23-Nov-2025 21:53:42 UTC]    Description field in categories: YES
[23-Nov-2025 21:53:42 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:53:42 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:53:42 UTC]    Is_active field in books: YES
[23-Nov-2025 21:53:42 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:53:42 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:53:42 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:53:42 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:53:42 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:53:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:53:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:53:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:53:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:53:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:53:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:53:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:53:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:53:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:53:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:53:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:53:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:53:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:55:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:55:22 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:55:22 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:55:22 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:55:22 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:55:22 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:55:22 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:55:22 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:55:22 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:55:22 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:55:22 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:55:22 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:55:22 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:55:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:55:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:55:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:55:22 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:55:22 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:55:22 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:55:22 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:55:22 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:55:22 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:55:22 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:55:22 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:55:22 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:55:22 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:55:22 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:55:22 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:55:22 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:55:22 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:55:22 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:55:22 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:55:22 UTC] 📊 Database Info:
[23-Nov-2025 21:55:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:55:22 UTC]    Books columns count: 45
[23-Nov-2025 21:55:22 UTC]    Categories columns count: 7
[23-Nov-2025 21:55:22 UTC]    Language field in books: YES
[23-Nov-2025 21:55:22 UTC]    Format field in books: YES
[23-Nov-2025 21:55:22 UTC]    Description field in categories: YES
[23-Nov-2025 21:55:22 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:55:22 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:55:22 UTC]    Is_active field in books: YES
[23-Nov-2025 21:55:22 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:55:22 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:55:22 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:55:22 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:55:22 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:55:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:55:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:55:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:55:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:55:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:55:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:55:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:55:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:55:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:55:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:55:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:55:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:55:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:55:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:55:23 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:55:23 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:55:23 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:55:23 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:55:23 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:55:23 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:55:23 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:55:23 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:55:23 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:55:23 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:55:23 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:55:23 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:55:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:55:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:55:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:55:23 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:55:23 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:55:23 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:55:23 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:55:23 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:55:23 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:55:23 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:55:23 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:55:23 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:55:23 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:55:23 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:55:23 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:55:23 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:55:23 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:55:23 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:55:23 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:55:23 UTC] 📊 Database Info:
[23-Nov-2025 21:55:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:55:23 UTC]    Books columns count: 45
[23-Nov-2025 21:55:23 UTC]    Categories columns count: 7
[23-Nov-2025 21:55:23 UTC]    Language field in books: YES
[23-Nov-2025 21:55:23 UTC]    Format field in books: YES
[23-Nov-2025 21:55:23 UTC]    Description field in categories: YES
[23-Nov-2025 21:55:23 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:55:23 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:55:23 UTC]    Is_active field in books: YES
[23-Nov-2025 21:55:23 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:55:23 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:55:23 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:55:23 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:55:23 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:55:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:55:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:55:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:55:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:55:25 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:55:25 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:55:25 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:55:25 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:55:25 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:55:25 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:55:25 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:55:25 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:55:25 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:55:25 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:55:25 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:55:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:55:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:55:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:55:25 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:55:25 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:55:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:55:25 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:55:25 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:55:25 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:55:25 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:55:25 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:55:25 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:55:25 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:55:25 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:55:25 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:55:25 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:55:25 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:55:25 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:55:25 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:55:25 UTC] 📊 Database Info:
[23-Nov-2025 21:55:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:55:25 UTC]    Books columns count: 45
[23-Nov-2025 21:55:25 UTC]    Categories columns count: 7
[23-Nov-2025 21:55:25 UTC]    Language field in books: YES
[23-Nov-2025 21:55:25 UTC]    Format field in books: YES
[23-Nov-2025 21:55:25 UTC]    Description field in categories: YES
[23-Nov-2025 21:55:25 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:55:25 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:55:25 UTC]    Is_active field in books: YES
[23-Nov-2025 21:55:25 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:55:25 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:55:25 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:55:25 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:55:25 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:55:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:55:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:55:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:55:27 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:55:27 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:55:27 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:55:27 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:55:27 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:55:27 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:55:27 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:55:27 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:55:28 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:55:28 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:55:28 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:55:28 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:55:28 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:55:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:55:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:55:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:55:28 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:55:28 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:55:28 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:55:28 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:55:28 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:55:28 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:55:28 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:55:28 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:55:28 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:55:28 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:55:28 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:55:28 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:55:28 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:55:28 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:55:28 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:55:28 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:55:28 UTC] 📊 Database Info:
[23-Nov-2025 21:55:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:55:28 UTC]    Books columns count: 45
[23-Nov-2025 21:55:28 UTC]    Categories columns count: 7
[23-Nov-2025 21:55:28 UTC]    Language field in books: YES
[23-Nov-2025 21:55:28 UTC]    Format field in books: YES
[23-Nov-2025 21:55:28 UTC]    Description field in categories: YES
[23-Nov-2025 21:55:28 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:55:28 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:55:28 UTC]    Is_active field in books: YES
[23-Nov-2025 21:55:28 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:55:28 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:55:28 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:55:28 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:55:28 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:55:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:55:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:55:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:55:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:55:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:55:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:55:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:55:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:55:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:55:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:55:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:55:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:55:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:55:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:55:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:55:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:55:36 UTC] 📊 Database Info:
[23-Nov-2025 21:55:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:55:36 UTC]    Books columns count: 45
[23-Nov-2025 21:55:36 UTC]    Categories columns count: 7
[23-Nov-2025 21:55:36 UTC]    Language field in books: YES
[23-Nov-2025 21:55:36 UTC]    Format field in books: YES
[23-Nov-2025 21:55:36 UTC]    Description field in categories: YES
[23-Nov-2025 21:55:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:55:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:55:36 UTC]    Is_active field in books: YES
[23-Nov-2025 21:55:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:55:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:55:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:55:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:55:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:55:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:55:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:55:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:55:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:55:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:55:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:55:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:55:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:55:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:55:36 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:55:36 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:55:36 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:55:36 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:55:36 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:55:36 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:55:36 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:55:36 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:55:36 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:55:36 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:55:36 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:55:36 UTC] 📊 Database Info:
[23-Nov-2025 21:55:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:55:36 UTC]    Books columns count: 45
[23-Nov-2025 21:55:36 UTC]    Categories columns count: 7
[23-Nov-2025 21:55:36 UTC]    Language field in books: YES
[23-Nov-2025 21:55:36 UTC]    Format field in books: YES
[23-Nov-2025 21:55:36 UTC]    Description field in categories: YES
[23-Nov-2025 21:55:36 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:55:36 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:55:36 UTC]    Is_active field in books: YES
[23-Nov-2025 21:55:36 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:55:36 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:55:36 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:55:36 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:55:36 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:55:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:55:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:56:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:56:24 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:56:24 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:56:24 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:56:24 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:56:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:56:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:56:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:56:24 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:56:24 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:56:24 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:56:24 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:56:24 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:56:24 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:56:24 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:56:24 UTC] 📊 Database Info:
[23-Nov-2025 21:56:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:56:24 UTC]    Books columns count: 45
[23-Nov-2025 21:56:24 UTC]    Categories columns count: 7
[23-Nov-2025 21:56:24 UTC]    Language field in books: YES
[23-Nov-2025 21:56:24 UTC]    Format field in books: YES
[23-Nov-2025 21:56:24 UTC]    Description field in categories: YES
[23-Nov-2025 21:56:24 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:56:24 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:56:24 UTC]    Is_active field in books: YES
[23-Nov-2025 21:56:24 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:56:24 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:56:24 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:56:24 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:56:24 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:56:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:56:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:56:24 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:56:24 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:56:24 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:56:24 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:56:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:56:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:56:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:56:24 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:56:24 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:56:24 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:56:24 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:56:24 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:56:24 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:56:24 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:56:24 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:56:24 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:56:24 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:56:24 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:56:24 UTC] 📊 Database Info:
[23-Nov-2025 21:56:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:56:24 UTC]    Books columns count: 45
[23-Nov-2025 21:56:24 UTC]    Categories columns count: 7
[23-Nov-2025 21:56:24 UTC]    Language field in books: YES
[23-Nov-2025 21:56:24 UTC]    Format field in books: YES
[23-Nov-2025 21:56:24 UTC]    Description field in categories: YES
[23-Nov-2025 21:56:24 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:56:24 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:56:24 UTC]    Is_active field in books: YES
[23-Nov-2025 21:56:24 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:56:24 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:56:24 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:56:24 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:56:24 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:56:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:56:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:56:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:56:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:56:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:56:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:56:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:56:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:56:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:56:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:56:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:56:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:56:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:56:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:56:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:56:30 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:56:30 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:56:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:56:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:56:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:56:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:56:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:56:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:56:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:56:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:56:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:56:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:56:30 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:56:30 UTC] 📊 Database Info:
[23-Nov-2025 21:56:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:56:30 UTC]    Books columns count: 45
[23-Nov-2025 21:56:30 UTC]    Categories columns count: 7
[23-Nov-2025 21:56:30 UTC]    Language field in books: YES
[23-Nov-2025 21:56:30 UTC]    Format field in books: YES
[23-Nov-2025 21:56:30 UTC]    Description field in categories: YES
[23-Nov-2025 21:56:30 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:56:30 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:56:30 UTC]    Is_active field in books: YES
[23-Nov-2025 21:56:30 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:56:30 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:56:30 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:56:30 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:56:30 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:56:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:56:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:56:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:56:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:56:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:56:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:56:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:56:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:56:54 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:56:54 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:56:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:56:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:56:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:56:54 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:56:54 UTC] 📊 Database Info:
[23-Nov-2025 21:56:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:56:54 UTC]    Books columns count: 45
[23-Nov-2025 21:56:54 UTC]    Categories columns count: 7
[23-Nov-2025 21:56:54 UTC]    Language field in books: YES
[23-Nov-2025 21:56:54 UTC]    Format field in books: YES
[23-Nov-2025 21:56:54 UTC]    Description field in categories: YES
[23-Nov-2025 21:56:54 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:56:54 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:56:54 UTC]    Is_active field in books: YES
[23-Nov-2025 21:56:54 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:56:54 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:56:54 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:56:54 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:56:54 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:56:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:56:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:56:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:56:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:56:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:56:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:56:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:56:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:56:54 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:56:54 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:56:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:56:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:56:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:56:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:56:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:56:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:56:54 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:56:54 UTC] 📊 Database Info:
[23-Nov-2025 21:56:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:56:54 UTC]    Books columns count: 45
[23-Nov-2025 21:56:54 UTC]    Categories columns count: 7
[23-Nov-2025 21:56:54 UTC]    Language field in books: YES
[23-Nov-2025 21:56:54 UTC]    Format field in books: YES
[23-Nov-2025 21:56:54 UTC]    Description field in categories: YES
[23-Nov-2025 21:56:54 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:56:54 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:56:54 UTC]    Is_active field in books: YES
[23-Nov-2025 21:56:54 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:56:54 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:56:54 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:56:54 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:56:54 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:56:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:56:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:56:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:56:59 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:56:59 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:56:59 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:56:59 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:56:59 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:56:59 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:56:59 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:56:59 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:56:59 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:56:59 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:56:59 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:56:59 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:56:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:56:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:56:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:56:59 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:56:59 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:56:59 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:56:59 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:56:59 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:56:59 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:56:59 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:56:59 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:56:59 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:56:59 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:56:59 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:56:59 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:56:59 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:56:59 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:56:59 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:56:59 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:56:59 UTC] 📊 Database Info:
[23-Nov-2025 21:56:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:56:59 UTC]    Books columns count: 45
[23-Nov-2025 21:56:59 UTC]    Categories columns count: 7
[23-Nov-2025 21:56:59 UTC]    Language field in books: YES
[23-Nov-2025 21:56:59 UTC]    Format field in books: YES
[23-Nov-2025 21:56:59 UTC]    Description field in categories: YES
[23-Nov-2025 21:56:59 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:56:59 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:56:59 UTC]    Is_active field in books: YES
[23-Nov-2025 21:56:59 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:56:59 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:56:59 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:56:59 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:56:59 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:56:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:57:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:57:24 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:57:24 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:57:24 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:57:24 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:57:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:57:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:57:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:57:24 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:57:24 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:57:24 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:57:24 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:57:24 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:57:24 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:57:24 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:57:24 UTC] 📊 Database Info:
[23-Nov-2025 21:57:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:57:24 UTC]    Books columns count: 45
[23-Nov-2025 21:57:24 UTC]    Categories columns count: 7
[23-Nov-2025 21:57:24 UTC]    Language field in books: YES
[23-Nov-2025 21:57:24 UTC]    Format field in books: YES
[23-Nov-2025 21:57:24 UTC]    Description field in categories: YES
[23-Nov-2025 21:57:24 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:57:24 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:57:24 UTC]    Is_active field in books: YES
[23-Nov-2025 21:57:24 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:57:24 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:57:24 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:57:24 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:57:24 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:57:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:57:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:57:24 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:57:24 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:57:24 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:57:24 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:57:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:57:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:57:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:57:24 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:57:24 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:57:24 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:57:24 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:57:24 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:57:24 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:57:24 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:57:24 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:57:24 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:57:24 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:57:24 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:57:24 UTC] 📊 Database Info:
[23-Nov-2025 21:57:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:57:24 UTC]    Books columns count: 45
[23-Nov-2025 21:57:24 UTC]    Categories columns count: 7
[23-Nov-2025 21:57:24 UTC]    Language field in books: YES
[23-Nov-2025 21:57:24 UTC]    Format field in books: YES
[23-Nov-2025 21:57:24 UTC]    Description field in categories: YES
[23-Nov-2025 21:57:24 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:57:24 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:57:24 UTC]    Is_active field in books: YES
[23-Nov-2025 21:57:24 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:57:24 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:57:24 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:57:24 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:57:24 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:57:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:57:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:57:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:57:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:57:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:57:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:57:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:57:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:57:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:57:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:57:35 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:57:35 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:57:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:57:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:57:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:57:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:57:35 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:57:35 UTC] 📊 Database Info:
[23-Nov-2025 21:57:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:57:35 UTC]    Books columns count: 45
[23-Nov-2025 21:57:35 UTC]    Categories columns count: 7
[23-Nov-2025 21:57:35 UTC]    Language field in books: YES
[23-Nov-2025 21:57:35 UTC]    Format field in books: YES
[23-Nov-2025 21:57:35 UTC]    Description field in categories: YES
[23-Nov-2025 21:57:35 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:57:35 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:57:35 UTC]    Is_active field in books: YES
[23-Nov-2025 21:57:35 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:57:35 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:57:35 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:57:35 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:57:35 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:57:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 21:57:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 21:57:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:57:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:57:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:57:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:57:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 21:57:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:57:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 21:57:35 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 21:57:35 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 21:57:35 UTC] ℹ️ Column institution already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column language already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column format already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 21:57:35 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 21:57:35 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 21:57:35 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 21:57:35 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 21:57:35 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 21:57:35 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 21:57:35 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 21:57:35 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 21:57:35 UTC] 📊 Database Info:
[23-Nov-2025 21:57:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 21:57:35 UTC]    Books columns count: 45
[23-Nov-2025 21:57:35 UTC]    Categories columns count: 7
[23-Nov-2025 21:57:35 UTC]    Language field in books: YES
[23-Nov-2025 21:57:35 UTC]    Format field in books: YES
[23-Nov-2025 21:57:35 UTC]    Description field in categories: YES
[23-Nov-2025 21:57:35 UTC]    Display_order field in categories: YES
[23-Nov-2025 21:57:35 UTC]    Is_active field in categories: YES
[23-Nov-2025 21:57:35 UTC]    Is_active field in books: YES
[23-Nov-2025 21:57:35 UTC]    External_download_link field in books: YES
[23-Nov-2025 21:57:35 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 21:57:35 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 21:57:35 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 21:57:35 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 21:57:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 21:57:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:04:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:04:07 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:04:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:04:07 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:04:07 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:04:07 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:04:07 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:04:07 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:04:07 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:04:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:04:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:04:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:04:07 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:04:07 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:04:07 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:04:07 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:04:07 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:04:07 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:04:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:04:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:04:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:04:07 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:04:07 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:04:07 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:04:07 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:04:07 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:04:07 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:04:07 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:04:07 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:04:07 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:04:07 UTC] 📊 Database Info:
[23-Nov-2025 22:04:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:04:07 UTC]    Books columns count: 45
[23-Nov-2025 22:04:07 UTC]    Categories columns count: 7
[23-Nov-2025 22:04:07 UTC]    Language field in books: YES
[23-Nov-2025 22:04:07 UTC]    Format field in books: YES
[23-Nov-2025 22:04:07 UTC]    Description field in categories: YES
[23-Nov-2025 22:04:07 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:04:07 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:04:07 UTC]    Is_active field in books: YES
[23-Nov-2025 22:04:07 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:04:07 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:04:07 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:04:07 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:04:07 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:04:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:04:07 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 22:04:07 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 22:04:07 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:04:07 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:04:07 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:04:07 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:04:07 UTC] 📊 Database Info:
[23-Nov-2025 22:04:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:04:07 UTC]    Books columns count: 45
[23-Nov-2025 22:04:07 UTC]    Categories columns count: 7
[23-Nov-2025 22:04:07 UTC]    Language field in books: YES
[23-Nov-2025 22:04:07 UTC]    Format field in books: YES
[23-Nov-2025 22:04:07 UTC]    Description field in categories: YES
[23-Nov-2025 22:04:07 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:04:07 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:04:07 UTC]    Is_active field in books: YES
[23-Nov-2025 22:04:07 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:04:07 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:04:07 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:04:07 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:04:07 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:04:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:04:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:04:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:04:08 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:04:08 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:04:08 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:04:08 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:04:08 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:04:08 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:04:08 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:04:08 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:04:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:04:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:04:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:04:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:04:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:04:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:04:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:04:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:04:09 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:04:09 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:04:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:04:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:04:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:04:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:04:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:04:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:04:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:04:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:04:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:04:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:04:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:04:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:04:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:04:09 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:04:09 UTC] 📊 Database Info:
[23-Nov-2025 22:04:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:04:09 UTC]    Books columns count: 45
[23-Nov-2025 22:04:09 UTC]    Categories columns count: 7
[23-Nov-2025 22:04:09 UTC]    Language field in books: YES
[23-Nov-2025 22:04:09 UTC]    Format field in books: YES
[23-Nov-2025 22:04:09 UTC]    Description field in categories: YES
[23-Nov-2025 22:04:09 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:04:09 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:04:09 UTC]    Is_active field in books: YES
[23-Nov-2025 22:04:09 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:04:09 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:04:09 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:04:09 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:04:09 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:04:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:04:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:04:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 22:04:09 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 22:04:09 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 22:04:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:04:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:04:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:04:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:04:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:04:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:04:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:04:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:04:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:04:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:04:31 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:04:31 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:04:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:04:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:04:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:04:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:04:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:04:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:04:31 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:04:31 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:04:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:04:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:04:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:04:31 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:04:31 UTC] 📊 Database Info:
[23-Nov-2025 22:04:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:04:31 UTC]    Books columns count: 45
[23-Nov-2025 22:04:31 UTC]    Categories columns count: 7
[23-Nov-2025 22:04:31 UTC]    Language field in books: YES
[23-Nov-2025 22:04:31 UTC]    Format field in books: YES
[23-Nov-2025 22:04:31 UTC]    Description field in categories: YES
[23-Nov-2025 22:04:31 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:04:31 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:04:31 UTC]    Is_active field in books: YES
[23-Nov-2025 22:04:31 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:04:31 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:04:31 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:04:31 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:04:31 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:04:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:04:31 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 22:04:31 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 22:04:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:04:31 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:04:31 UTC] 📊 Database Info:
[23-Nov-2025 22:04:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:04:31 UTC]    Books columns count: 45
[23-Nov-2025 22:04:31 UTC]    Categories columns count: 7
[23-Nov-2025 22:04:31 UTC]    Language field in books: YES
[23-Nov-2025 22:04:31 UTC]    Format field in books: YES
[23-Nov-2025 22:04:31 UTC]    Description field in categories: YES
[23-Nov-2025 22:04:31 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:04:31 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:04:31 UTC]    Is_active field in books: YES
[23-Nov-2025 22:04:31 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:04:31 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:04:31 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:04:31 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:04:31 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:04:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:04:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:04:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:04:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:04:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:04:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:04:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:04:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:04:31 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:04:31 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:04:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:04:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:04:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:04:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:04:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:04:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:04:31 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:04:31 UTC] 📊 Database Info:
[23-Nov-2025 22:04:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:04:31 UTC]    Books columns count: 45
[23-Nov-2025 22:04:31 UTC]    Categories columns count: 7
[23-Nov-2025 22:04:31 UTC]    Language field in books: YES
[23-Nov-2025 22:04:31 UTC]    Format field in books: YES
[23-Nov-2025 22:04:31 UTC]    Description field in categories: YES
[23-Nov-2025 22:04:31 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:04:31 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:04:31 UTC]    Is_active field in books: YES
[23-Nov-2025 22:04:31 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:04:31 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:04:31 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:04:31 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:04:31 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:04:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:04:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:04:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:04:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:04:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:04:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:04:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:04:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:04:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:04:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:04:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:04:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:04:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:04:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:04:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:04:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:04:48 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:04:48 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:04:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:04:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:04:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:04:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:04:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:04:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:04:48 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:04:48 UTC] 📊 Database Info:
[23-Nov-2025 22:04:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:04:48 UTC]    Books columns count: 45
[23-Nov-2025 22:04:48 UTC]    Categories columns count: 7
[23-Nov-2025 22:04:48 UTC]    Language field in books: YES
[23-Nov-2025 22:04:48 UTC]    Format field in books: YES
[23-Nov-2025 22:04:48 UTC]    Description field in categories: YES
[23-Nov-2025 22:04:48 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:04:48 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:04:48 UTC]    Is_active field in books: YES
[23-Nov-2025 22:04:48 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:04:48 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:04:48 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:04:48 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:04:48 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:04:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:04:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:04:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:04:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:04:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:04:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:04:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:04:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:04:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:04:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:04:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:04:48 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:04:48 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:04:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:04:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:04:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:04:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:04:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:04:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:04:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:04:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:04:48 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:04:48 UTC] 📊 Database Info:
[23-Nov-2025 22:04:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:04:48 UTC]    Books columns count: 45
[23-Nov-2025 22:04:48 UTC]    Categories columns count: 7
[23-Nov-2025 22:04:48 UTC]    Language field in books: YES
[23-Nov-2025 22:04:48 UTC]    Format field in books: YES
[23-Nov-2025 22:04:48 UTC]    Description field in categories: YES
[23-Nov-2025 22:04:48 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:04:48 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:04:48 UTC]    Is_active field in books: YES
[23-Nov-2025 22:04:48 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:04:48 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:04:48 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:04:48 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:04:48 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:04:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:04:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:04:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:04:52 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:04:52 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:04:52 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:04:52 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:04:52 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:04:52 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:04:52 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:04:52 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:04:52 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:04:52 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:04:52 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:04:52 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:04:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:04:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:04:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:04:52 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:04:52 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:04:52 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:04:52 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:04:52 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:04:52 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:04:52 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:04:52 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:04:52 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:04:52 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:04:52 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:04:52 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:04:52 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:04:52 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:04:52 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:04:52 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:04:52 UTC] 📊 Database Info:
[23-Nov-2025 22:04:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:04:52 UTC]    Books columns count: 45
[23-Nov-2025 22:04:52 UTC]    Categories columns count: 7
[23-Nov-2025 22:04:52 UTC]    Language field in books: YES
[23-Nov-2025 22:04:52 UTC]    Format field in books: YES
[23-Nov-2025 22:04:52 UTC]    Description field in categories: YES
[23-Nov-2025 22:04:52 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:04:52 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:04:52 UTC]    Is_active field in books: YES
[23-Nov-2025 22:04:52 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:04:52 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:04:52 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:04:52 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:04:52 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:04:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:04:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:04:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:04:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:04:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:04:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:04:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:04:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:04:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:04:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:04:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:04:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:04:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:05:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:05:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:05:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:05:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:05:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:05:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:05:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:05:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:05:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:05:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:05:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:05:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:05:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:05:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:05:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:05:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:05:38 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:05:38 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:05:38 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:05:38 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:05:38 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:05:38 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:05:38 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:05:38 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:05:38 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:05:38 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:05:38 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:05:38 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:05:38 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:05:38 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:05:38 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:05:38 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:05:38 UTC] 📊 Database Info:
[23-Nov-2025 22:05:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:05:38 UTC]    Books columns count: 45
[23-Nov-2025 22:05:38 UTC]    Categories columns count: 7
[23-Nov-2025 22:05:38 UTC]    Language field in books: YES
[23-Nov-2025 22:05:38 UTC]    Format field in books: YES
[23-Nov-2025 22:05:38 UTC]    Description field in categories: YES
[23-Nov-2025 22:05:38 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:05:38 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:05:38 UTC]    Is_active field in books: YES
[23-Nov-2025 22:05:38 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:05:38 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:05:38 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:05:38 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:05:38 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:05:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:05:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:05:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:05:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:05:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:05:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:05:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:05:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:05:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:05:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:05:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:05:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:05:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:05:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:05:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:05:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:05:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:05:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:05:39 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:05:39 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:05:39 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:05:39 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:05:39 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:05:39 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:05:39 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:05:39 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:05:39 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:05:39 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:05:39 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:05:39 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:05:39 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:05:39 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:05:39 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:05:39 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:05:39 UTC] 📊 Database Info:
[23-Nov-2025 22:05:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:05:39 UTC]    Books columns count: 45
[23-Nov-2025 22:05:39 UTC]    Categories columns count: 7
[23-Nov-2025 22:05:39 UTC]    Language field in books: YES
[23-Nov-2025 22:05:39 UTC]    Format field in books: YES
[23-Nov-2025 22:05:39 UTC]    Description field in categories: YES
[23-Nov-2025 22:05:39 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:05:39 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:05:39 UTC]    Is_active field in books: YES
[23-Nov-2025 22:05:39 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:05:39 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:05:39 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:05:39 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:05:39 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:05:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:05:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:05:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:05:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:05:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:05:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:05:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:05:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:05:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:05:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:05:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:05:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:05:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:05:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:05:42 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:05:42 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:05:42 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:05:42 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:05:42 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:05:42 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:05:42 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:05:42 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:05:42 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:05:42 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:05:42 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:05:42 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:05:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:05:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:05:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:05:42 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:05:42 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:05:42 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:05:42 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:05:42 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:05:42 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:05:42 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:05:42 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:05:42 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:05:42 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:05:42 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:05:42 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:05:42 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:05:42 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:05:42 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:05:42 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:05:42 UTC] 📊 Database Info:
[23-Nov-2025 22:05:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:05:42 UTC]    Books columns count: 45
[23-Nov-2025 22:05:42 UTC]    Categories columns count: 7
[23-Nov-2025 22:05:42 UTC]    Language field in books: YES
[23-Nov-2025 22:05:42 UTC]    Format field in books: YES
[23-Nov-2025 22:05:42 UTC]    Description field in categories: YES
[23-Nov-2025 22:05:42 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:05:42 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:05:42 UTC]    Is_active field in books: YES
[23-Nov-2025 22:05:42 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:05:42 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:05:42 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:05:42 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:05:42 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:05:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:05:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:05:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:05:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:05:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:05:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:05:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:05:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:05:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:05:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:05:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:05:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:05:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:05:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:05:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:05:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:05:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:05:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:05:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:05:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:05:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:05:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:05:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:05:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:05:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:05:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:05:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:05:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:05:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:05:48 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:05:48 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:05:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:05:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:05:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:05:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:05:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:05:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:05:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:05:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:05:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:05:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:05:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:05:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:05:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:05:48 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:05:48 UTC] 📊 Database Info:
[23-Nov-2025 22:05:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:05:48 UTC]    Books columns count: 45
[23-Nov-2025 22:05:48 UTC]    Categories columns count: 7
[23-Nov-2025 22:05:48 UTC]    Language field in books: YES
[23-Nov-2025 22:05:48 UTC]    Format field in books: YES
[23-Nov-2025 22:05:48 UTC]    Description field in categories: YES
[23-Nov-2025 22:05:48 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:05:48 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:05:48 UTC]    Is_active field in books: YES
[23-Nov-2025 22:05:48 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:05:48 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:05:48 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:05:48 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:05:48 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:05:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:05:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:05:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:05:56 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:05:56 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:05:56 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:05:56 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:05:56 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:05:56 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:05:56 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:05:56 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:05:56 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:05:56 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:05:56 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:05:56 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:05:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:05:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:05:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:05:56 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:05:56 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:05:56 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:05:56 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:05:56 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:05:56 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:05:56 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:05:56 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:05:56 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:05:56 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:05:56 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:05:56 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:05:56 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:05:56 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:05:56 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:05:56 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:05:56 UTC] 📊 Database Info:
[23-Nov-2025 22:05:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:05:56 UTC]    Books columns count: 45
[23-Nov-2025 22:05:56 UTC]    Categories columns count: 7
[23-Nov-2025 22:05:56 UTC]    Language field in books: YES
[23-Nov-2025 22:05:56 UTC]    Format field in books: YES
[23-Nov-2025 22:05:56 UTC]    Description field in categories: YES
[23-Nov-2025 22:05:56 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:05:56 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:05:56 UTC]    Is_active field in books: YES
[23-Nov-2025 22:05:56 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:05:56 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:05:56 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:05:56 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:05:56 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:05:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:05:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:06:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:06:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:06:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:06:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:06:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:06:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:06:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:06:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:06:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:06:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:06:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:06:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:06:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:06:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:06:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:06:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:06:30 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:06:30 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:06:30 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:06:30 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:06:30 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:06:30 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:06:30 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:06:30 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:06:30 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:06:30 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:06:30 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:06:30 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:06:30 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:06:30 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:06:30 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:06:30 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:06:30 UTC] 📊 Database Info:
[23-Nov-2025 22:06:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:06:30 UTC]    Books columns count: 45
[23-Nov-2025 22:06:30 UTC]    Categories columns count: 7
[23-Nov-2025 22:06:30 UTC]    Language field in books: YES
[23-Nov-2025 22:06:30 UTC]    Format field in books: YES
[23-Nov-2025 22:06:30 UTC]    Description field in categories: YES
[23-Nov-2025 22:06:30 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:06:30 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:06:30 UTC]    Is_active field in books: YES
[23-Nov-2025 22:06:30 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:06:30 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:06:30 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:06:30 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:06:30 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:06:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:06:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:06:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:06:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:06:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:06:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:06:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:06:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:06:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:06:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:06:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:06:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:06:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:06:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:06:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:06:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:06:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:06:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:06:31 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:06:31 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:06:31 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:06:31 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:06:31 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:06:31 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:06:31 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:06:31 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:06:31 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:06:31 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:06:31 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:06:31 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:06:31 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:06:31 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:06:31 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:06:31 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:06:31 UTC] 📊 Database Info:
[23-Nov-2025 22:06:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:06:31 UTC]    Books columns count: 45
[23-Nov-2025 22:06:31 UTC]    Categories columns count: 7
[23-Nov-2025 22:06:31 UTC]    Language field in books: YES
[23-Nov-2025 22:06:31 UTC]    Format field in books: YES
[23-Nov-2025 22:06:31 UTC]    Description field in categories: YES
[23-Nov-2025 22:06:31 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:06:31 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:06:31 UTC]    Is_active field in books: YES
[23-Nov-2025 22:06:31 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:06:31 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:06:31 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:06:31 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:06:31 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:06:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:06:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:06:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:06:34 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:06:34 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:06:34 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:06:34 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:06:34 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:06:34 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:06:34 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:06:34 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:06:34 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:06:34 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:06:34 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:06:34 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:06:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:06:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:06:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:06:34 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:06:34 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:06:34 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:06:34 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:06:34 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:06:34 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:06:34 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:06:34 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:06:34 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:06:34 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:06:34 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:06:34 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:06:34 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:06:34 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:06:34 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:06:34 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:06:34 UTC] 📊 Database Info:
[23-Nov-2025 22:06:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:06:34 UTC]    Books columns count: 45
[23-Nov-2025 22:06:34 UTC]    Categories columns count: 7
[23-Nov-2025 22:06:34 UTC]    Language field in books: YES
[23-Nov-2025 22:06:34 UTC]    Format field in books: YES
[23-Nov-2025 22:06:34 UTC]    Description field in categories: YES
[23-Nov-2025 22:06:34 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:06:34 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:06:34 UTC]    Is_active field in books: YES
[23-Nov-2025 22:06:34 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:06:34 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:06:34 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:06:34 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:06:34 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:06:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:06:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:06:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:06:40 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:06:40 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:06:40 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:06:40 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:06:40 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:06:40 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:06:40 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:06:40 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:06:40 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:06:40 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:06:40 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:06:40 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:06:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:06:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:06:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:06:40 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:06:40 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:06:40 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:06:40 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:06:40 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:06:40 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:06:40 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:06:40 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:06:40 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:06:40 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:06:40 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:06:40 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:06:40 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:06:40 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:06:40 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:06:40 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:06:40 UTC] 📊 Database Info:
[23-Nov-2025 22:06:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:06:40 UTC]    Books columns count: 45
[23-Nov-2025 22:06:40 UTC]    Categories columns count: 7
[23-Nov-2025 22:06:40 UTC]    Language field in books: YES
[23-Nov-2025 22:06:40 UTC]    Format field in books: YES
[23-Nov-2025 22:06:40 UTC]    Description field in categories: YES
[23-Nov-2025 22:06:40 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:06:40 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:06:40 UTC]    Is_active field in books: YES
[23-Nov-2025 22:06:40 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:06:40 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:06:40 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:06:40 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:06:40 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:06:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:06:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:06:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:06:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:06:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:06:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:06:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:06:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:06:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:06:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:06:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:06:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:06:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:06:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:06:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:06:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:06:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:06:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:06:54 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:06:54 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:06:54 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:06:54 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:06:54 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:06:54 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:06:54 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:06:54 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:06:54 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:06:54 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:06:54 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:06:54 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:06:54 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:06:54 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:06:54 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:06:54 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:06:54 UTC] 📊 Database Info:
[23-Nov-2025 22:06:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:06:54 UTC]    Books columns count: 45
[23-Nov-2025 22:06:54 UTC]    Categories columns count: 7
[23-Nov-2025 22:06:54 UTC]    Language field in books: YES
[23-Nov-2025 22:06:54 UTC]    Format field in books: YES
[23-Nov-2025 22:06:54 UTC]    Description field in categories: YES
[23-Nov-2025 22:06:54 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:06:54 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:06:54 UTC]    Is_active field in books: YES
[23-Nov-2025 22:06:54 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:06:54 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:06:54 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:06:54 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:06:54 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:06:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:06:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:06:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:06:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:06:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:06:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:06:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:06:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:06:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:06:58 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:06:58 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:06:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:06:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:06:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:06:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:06:58 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:06:58 UTC] 📊 Database Info:
[23-Nov-2025 22:06:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:06:58 UTC]    Books columns count: 45
[23-Nov-2025 22:06:58 UTC]    Categories columns count: 7
[23-Nov-2025 22:06:58 UTC]    Language field in books: YES
[23-Nov-2025 22:06:58 UTC]    Format field in books: YES
[23-Nov-2025 22:06:58 UTC]    Description field in categories: YES
[23-Nov-2025 22:06:58 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:06:58 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:06:58 UTC]    Is_active field in books: YES
[23-Nov-2025 22:06:58 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:06:58 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:06:58 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:06:58 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:06:58 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:06:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:06:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:06:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:06:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:06:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:06:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:06:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:06:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:06:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:06:58 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:06:58 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:06:58 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:06:58 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:06:58 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:06:58 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:06:58 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:06:58 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:06:58 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:06:58 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:06:58 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:06:58 UTC] 📊 Database Info:
[23-Nov-2025 22:06:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:06:58 UTC]    Books columns count: 45
[23-Nov-2025 22:06:58 UTC]    Categories columns count: 7
[23-Nov-2025 22:06:58 UTC]    Language field in books: YES
[23-Nov-2025 22:06:58 UTC]    Format field in books: YES
[23-Nov-2025 22:06:58 UTC]    Description field in categories: YES
[23-Nov-2025 22:06:58 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:06:58 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:06:58 UTC]    Is_active field in books: YES
[23-Nov-2025 22:06:58 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:06:58 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:06:58 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:06:58 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:06:58 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:06:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:06:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:07:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:07:01 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:07:01 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:07:01 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:07:01 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:07:01 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:07:01 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:07:01 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:07:01 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:07:01 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:07:01 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:07:01 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:07:01 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:07:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:07:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:07:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:07:01 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:07:01 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:07:01 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:07:01 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:07:01 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:07:01 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:07:01 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:07:01 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:07:01 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:07:01 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:07:01 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:07:01 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:07:01 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:07:01 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:07:01 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:07:01 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:07:01 UTC] 📊 Database Info:
[23-Nov-2025 22:07:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:07:01 UTC]    Books columns count: 45
[23-Nov-2025 22:07:01 UTC]    Categories columns count: 7
[23-Nov-2025 22:07:01 UTC]    Language field in books: YES
[23-Nov-2025 22:07:01 UTC]    Format field in books: YES
[23-Nov-2025 22:07:01 UTC]    Description field in categories: YES
[23-Nov-2025 22:07:01 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:07:01 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:07:01 UTC]    Is_active field in books: YES
[23-Nov-2025 22:07:01 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:07:01 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:07:01 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:07:01 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:07:01 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:07:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:07:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:07:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:07:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:07:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:07:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:07:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:07:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:07:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:07:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:07:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:07:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:07:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:10:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:10:10 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:10:10 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:10:10 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:10:10 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:10:10 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:10:10 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:10:10 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:10:10 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:10:10 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:10:10 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:10:10 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:10:10 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:10:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:10:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:10:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:10:10 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:10:10 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:10:10 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:10:10 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:10:10 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:10:10 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:10:10 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:10:10 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:10:10 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:10:10 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:10:10 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:10:10 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:10:10 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:10:10 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:10:10 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:10:11 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:10:11 UTC] 📊 Database Info:
[23-Nov-2025 22:10:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:10:11 UTC]    Books columns count: 45
[23-Nov-2025 22:10:11 UTC]    Categories columns count: 7
[23-Nov-2025 22:10:11 UTC]    Language field in books: YES
[23-Nov-2025 22:10:11 UTC]    Format field in books: YES
[23-Nov-2025 22:10:11 UTC]    Description field in categories: YES
[23-Nov-2025 22:10:11 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:10:11 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:10:11 UTC]    Is_active field in books: YES
[23-Nov-2025 22:10:11 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:10:11 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:10:11 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:10:11 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:10:11 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:10:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:10:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:10:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:10:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:10:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:10:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:10:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:10:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:10:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:10:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:10:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:10:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:10:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:10:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:10:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:10:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:10:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:10:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:10:13 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:10:13 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:10:13 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:10:13 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:10:13 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:10:13 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:10:13 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:10:13 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:10:13 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:10:13 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:10:13 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:10:13 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:10:13 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:10:13 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:10:13 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:10:13 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:10:13 UTC] 📊 Database Info:
[23-Nov-2025 22:10:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:10:13 UTC]    Books columns count: 45
[23-Nov-2025 22:10:13 UTC]    Categories columns count: 7
[23-Nov-2025 22:10:13 UTC]    Language field in books: YES
[23-Nov-2025 22:10:13 UTC]    Format field in books: YES
[23-Nov-2025 22:10:13 UTC]    Description field in categories: YES
[23-Nov-2025 22:10:13 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:10:13 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:10:13 UTC]    Is_active field in books: YES
[23-Nov-2025 22:10:13 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:10:13 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:10:13 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:10:13 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:10:13 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:10:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:10:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:10:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:10:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:10:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:10:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:10:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:10:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:10:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:10:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:10:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:10:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:10:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:10:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:10:22 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:10:22 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:10:22 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:10:22 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:10:22 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:10:22 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:10:22 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:10:22 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:10:22 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:10:22 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:10:22 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:10:22 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:10:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:10:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:10:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:10:22 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:10:22 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:10:22 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:10:22 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:10:22 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:10:22 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:10:22 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:10:22 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:10:22 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:10:22 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:10:22 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:10:22 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:10:22 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:10:22 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:10:22 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:10:22 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:10:22 UTC] 📊 Database Info:
[23-Nov-2025 22:10:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:10:22 UTC]    Books columns count: 45
[23-Nov-2025 22:10:22 UTC]    Categories columns count: 7
[23-Nov-2025 22:10:22 UTC]    Language field in books: YES
[23-Nov-2025 22:10:22 UTC]    Format field in books: YES
[23-Nov-2025 22:10:22 UTC]    Description field in categories: YES
[23-Nov-2025 22:10:22 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:10:22 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:10:22 UTC]    Is_active field in books: YES
[23-Nov-2025 22:10:22 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:10:22 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:10:22 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:10:22 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:10:22 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:10:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:10:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:12:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:12:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:12:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:12:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:12:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:12:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:12:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:12:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:12:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:12:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:12:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:12:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:12:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:12:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:12:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:12:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:12:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:12:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:12:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:12:43 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:12:43 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:12:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:12:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:12:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:12:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:12:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:12:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:12:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:12:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:12:43 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:12:43 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:12:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:12:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:12:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:12:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:12:43 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:12:43 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:12:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:12:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:12:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:12:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:12:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:12:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:12:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:12:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:12:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:12:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:12:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:12:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:12:43 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:12:43 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:12:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:12:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:12:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:12:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:12:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:12:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:12:43 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:12:43 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:12:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:12:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:12:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:12:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:12:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:12:43 UTC] 📊 Database Info:
[23-Nov-2025 22:12:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:12:43 UTC]    Books columns count: 45
[23-Nov-2025 22:12:43 UTC]    Categories columns count: 7
[23-Nov-2025 22:12:43 UTC]    Language field in books: YES
[23-Nov-2025 22:12:43 UTC]    Format field in books: YES
[23-Nov-2025 22:12:43 UTC]    Description field in categories: YES
[23-Nov-2025 22:12:43 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:12:43 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:12:43 UTC]    Is_active field in books: YES
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:12:43 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:12:43 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:12:43 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:12:43 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:12:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:12:43 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:12:43 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:12:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:12:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:12:43 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:12:43 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:12:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:12:43 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:12:43 UTC] 📊 Database Info:
[23-Nov-2025 22:12:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:12:43 UTC]    Books columns count: 45
[23-Nov-2025 22:12:43 UTC]    Categories columns count: 7
[23-Nov-2025 22:12:43 UTC]    Language field in books: YES
[23-Nov-2025 22:12:43 UTC]    Format field in books: YES
[23-Nov-2025 22:12:43 UTC]    Description field in categories: YES
[23-Nov-2025 22:12:43 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:12:43 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:12:43 UTC]    Is_active field in books: YES
[23-Nov-2025 22:12:43 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:12:43 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:12:43 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:12:43 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:12:43 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:12:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:12:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:12:43 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:12:43 UTC] 📊 Database Info:
[23-Nov-2025 22:12:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:12:43 UTC]    Books columns count: 45
[23-Nov-2025 22:12:43 UTC]    Categories columns count: 7
[23-Nov-2025 22:12:43 UTC]    Language field in books: YES
[23-Nov-2025 22:12:43 UTC]    Format field in books: YES
[23-Nov-2025 22:12:43 UTC]    Description field in categories: YES
[23-Nov-2025 22:12:43 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:12:43 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:12:43 UTC]    Is_active field in books: YES
[23-Nov-2025 22:12:43 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:12:43 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:12:43 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:12:43 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:12:43 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:12:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:12:43 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 22:12:43 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 22:12:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:12:43 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:12:43 UTC] 📊 Database Info:
[23-Nov-2025 22:12:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:12:43 UTC]    Books columns count: 45
[23-Nov-2025 22:12:43 UTC]    Categories columns count: 7
[23-Nov-2025 22:12:43 UTC]    Language field in books: YES
[23-Nov-2025 22:12:43 UTC]    Format field in books: YES
[23-Nov-2025 22:12:43 UTC]    Description field in categories: YES
[23-Nov-2025 22:12:43 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:12:43 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:12:43 UTC]    Is_active field in books: YES
[23-Nov-2025 22:12:43 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:12:43 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:12:43 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:12:43 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:12:43 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:12:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:12:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:12:43 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:12:43 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:12:43 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:12:43 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:12:43 UTC] 📊 Database Info:
[23-Nov-2025 22:12:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:12:43 UTC]    Books columns count: 45
[23-Nov-2025 22:12:43 UTC]    Categories columns count: 7
[23-Nov-2025 22:12:43 UTC]    Language field in books: YES
[23-Nov-2025 22:12:43 UTC]    Format field in books: YES
[23-Nov-2025 22:12:43 UTC]    Description field in categories: YES
[23-Nov-2025 22:12:43 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:12:43 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:12:43 UTC]    Is_active field in books: YES
[23-Nov-2025 22:12:43 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:12:43 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:12:43 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:12:43 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:12:43 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:12:43 UTC] 📊 Database Info:
[23-Nov-2025 22:12:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:12:43 UTC]    Books columns count: 45
[23-Nov-2025 22:12:43 UTC]    Categories columns count: 7
[23-Nov-2025 22:12:43 UTC]    Language field in books: YES
[23-Nov-2025 22:12:43 UTC]    Format field in books: YES
[23-Nov-2025 22:12:43 UTC]    Description field in categories: YES
[23-Nov-2025 22:12:43 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:12:43 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:12:43 UTC]    Is_active field in books: YES
[23-Nov-2025 22:12:43 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:12:43 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:12:43 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:12:43 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:12:43 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:12:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:12:43 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:12:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:12:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:12:43 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 22:12:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:12:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:12:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:12:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:12:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:12:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:12:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:12:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:12:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:12:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:12:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:12:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:12:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:12:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:12:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:12:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:12:44 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:12:44 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:12:44 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:12:44 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:12:44 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:12:44 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:12:44 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:12:44 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:12:44 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:12:44 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:12:44 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:12:44 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:12:44 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:12:44 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:12:44 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:12:44 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:12:44 UTC] 📊 Database Info:
[23-Nov-2025 22:12:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:12:44 UTC]    Books columns count: 45
[23-Nov-2025 22:12:44 UTC]    Categories columns count: 7
[23-Nov-2025 22:12:44 UTC]    Language field in books: YES
[23-Nov-2025 22:12:44 UTC]    Format field in books: YES
[23-Nov-2025 22:12:44 UTC]    Description field in categories: YES
[23-Nov-2025 22:12:44 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:12:44 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:12:44 UTC]    Is_active field in books: YES
[23-Nov-2025 22:12:44 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:12:44 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:12:44 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:12:44 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:12:44 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:12:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:12:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:13:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:13:04 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:13:04 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:13:04 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:13:04 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:13:04 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:13:04 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:13:04 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:13:04 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:13:04 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:13:04 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:13:04 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:13:04 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:13:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:13:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:13:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:13:04 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:13:04 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:13:04 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:13:04 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:13:04 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:13:04 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:13:04 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:13:04 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:13:04 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:13:04 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:13:04 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:13:04 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:13:04 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:13:04 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:13:04 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:13:04 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:13:04 UTC] 📊 Database Info:
[23-Nov-2025 22:13:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:13:04 UTC]    Books columns count: 45
[23-Nov-2025 22:13:04 UTC]    Categories columns count: 7
[23-Nov-2025 22:13:04 UTC]    Language field in books: YES
[23-Nov-2025 22:13:04 UTC]    Format field in books: YES
[23-Nov-2025 22:13:04 UTC]    Description field in categories: YES
[23-Nov-2025 22:13:04 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:13:04 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:13:04 UTC]    Is_active field in books: YES
[23-Nov-2025 22:13:04 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:13:04 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:13:04 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:13:04 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:13:04 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:13:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:13:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:13:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:13:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:13:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:13:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:13:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:13:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:13:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:13:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:13:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:13:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:13:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:13:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:13:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:13:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:13:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:13:09 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:13:09 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:13:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:13:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:13:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:13:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:13:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:13:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:13:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:13:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:13:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:13:09 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:13:09 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:13:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:13:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:13:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:13:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:13:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:13:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:13:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:13:09 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:13:09 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:13:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:13:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:13:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:13:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:13:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:13:09 UTC] 📊 Database Info:
[23-Nov-2025 22:13:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:13:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:13:09 UTC]    Books columns count: 45
[23-Nov-2025 22:13:09 UTC]    Categories columns count: 7
[23-Nov-2025 22:13:09 UTC]    Language field in books: YES
[23-Nov-2025 22:13:09 UTC]    Format field in books: YES
[23-Nov-2025 22:13:09 UTC]    Description field in categories: YES
[23-Nov-2025 22:13:09 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:13:09 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:13:09 UTC]    Is_active field in books: YES
[23-Nov-2025 22:13:09 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:13:09 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:13:09 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:13:09 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:13:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:13:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:13:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:13:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:13:09 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:13:09 UTC] 📊 Database Info:
[23-Nov-2025 22:13:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:13:09 UTC]    Books columns count: 45
[23-Nov-2025 22:13:09 UTC]    Categories columns count: 7
[23-Nov-2025 22:13:09 UTC]    Language field in books: YES
[23-Nov-2025 22:13:09 UTC]    Format field in books: YES
[23-Nov-2025 22:13:09 UTC]    Description field in categories: YES
[23-Nov-2025 22:13:09 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:13:09 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:13:09 UTC]    Is_active field in books: YES
[23-Nov-2025 22:13:09 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:13:09 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:13:09 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:13:09 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:13:09 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:13:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:13:09 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 22:13:09 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 22:13:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:13:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:13:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:13:09 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:13:09 UTC] 📊 Database Info:
[23-Nov-2025 22:13:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:13:09 UTC]    Books columns count: 45
[23-Nov-2025 22:13:09 UTC]    Categories columns count: 7
[23-Nov-2025 22:13:09 UTC]    Language field in books: YES
[23-Nov-2025 22:13:09 UTC]    Format field in books: YES
[23-Nov-2025 22:13:09 UTC]    Description field in categories: YES
[23-Nov-2025 22:13:09 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:13:09 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:13:09 UTC]    Is_active field in books: YES
[23-Nov-2025 22:13:09 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:13:09 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:13:09 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:13:09 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:13:09 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:13:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:13:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:14:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:14:04 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:04 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:04 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:04 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:04 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:04 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:04 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:04 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:04 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:04 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:04 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:04 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:14:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:04 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:14:04 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:14:04 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:04 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:04 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:04 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:04 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:04 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:04 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:04 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:04 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:04 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:04 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:04 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:04 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:04 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:14:04 UTC] 📊 Database Info:
[23-Nov-2025 22:14:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:14:04 UTC]    Books columns count: 45
[23-Nov-2025 22:14:04 UTC]    Categories columns count: 7
[23-Nov-2025 22:14:04 UTC]    Language field in books: YES
[23-Nov-2025 22:14:04 UTC]    Format field in books: YES
[23-Nov-2025 22:14:04 UTC]    Description field in categories: YES
[23-Nov-2025 22:14:04 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:14:04 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:14:04 UTC]    Is_active field in books: YES
[23-Nov-2025 22:14:04 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:14:04 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:14:04 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:14:04 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:14:04 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:14:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:14:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:14:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:14:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:14:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:06 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:14:06 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:14:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:06 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:14:06 UTC] 📊 Database Info:
[23-Nov-2025 22:14:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:14:06 UTC]    Books columns count: 45
[23-Nov-2025 22:14:06 UTC]    Categories columns count: 7
[23-Nov-2025 22:14:06 UTC]    Language field in books: YES
[23-Nov-2025 22:14:06 UTC]    Format field in books: YES
[23-Nov-2025 22:14:06 UTC]    Description field in categories: YES
[23-Nov-2025 22:14:06 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:14:06 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:14:06 UTC]    Is_active field in books: YES
[23-Nov-2025 22:14:06 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:14:06 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:14:06 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:14:06 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:14:06 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:14:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:14:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:14:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:14:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:14:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:14:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:14:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:14:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:14:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:14:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:14:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:14:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:14:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:14:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:14:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:14:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:09 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:14:09 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:14:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:09 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:14:09 UTC] 📊 Database Info:
[23-Nov-2025 22:14:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:14:09 UTC]    Books columns count: 45
[23-Nov-2025 22:14:09 UTC]    Categories columns count: 7
[23-Nov-2025 22:14:09 UTC]    Language field in books: YES
[23-Nov-2025 22:14:09 UTC]    Format field in books: YES
[23-Nov-2025 22:14:09 UTC]    Description field in categories: YES
[23-Nov-2025 22:14:09 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:14:09 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:14:09 UTC]    Is_active field in books: YES
[23-Nov-2025 22:14:09 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:14:09 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:14:09 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:14:09 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:14:09 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:14:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:14:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:14:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:14:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:14:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:14:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:14:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:14:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:14:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:14:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:14:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:14:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:14:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:14:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:14:20 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:20 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:20 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:20 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:20 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:20 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:20 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:20 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:20 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:20 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:20 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:20 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:14:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:20 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:14:20 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:14:20 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:20 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:20 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:20 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:20 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:20 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:20 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:20 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:20 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:20 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:20 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:20 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:20 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:20 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:14:20 UTC] 📊 Database Info:
[23-Nov-2025 22:14:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:14:20 UTC]    Books columns count: 45
[23-Nov-2025 22:14:20 UTC]    Categories columns count: 7
[23-Nov-2025 22:14:20 UTC]    Language field in books: YES
[23-Nov-2025 22:14:20 UTC]    Format field in books: YES
[23-Nov-2025 22:14:20 UTC]    Description field in categories: YES
[23-Nov-2025 22:14:20 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:14:20 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:14:20 UTC]    Is_active field in books: YES
[23-Nov-2025 22:14:20 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:14:20 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:14:20 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:14:20 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:14:20 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:14:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:14:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:14:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:14:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:14:26 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:26 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:27 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:27 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:14:27 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:27 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:27 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:27 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:27 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:27 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:27 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:14:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:27 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:14:27 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:14:27 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:27 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:27 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:27 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:14:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:27 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:14:27 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:14:27 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:27 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:27 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:27 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:27 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:27 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:27 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:27 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:14:27 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:14:27 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:27 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:27 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:27 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:27 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:14:27 UTC] 📊 Database Info:
[23-Nov-2025 22:14:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:14:27 UTC]    Books columns count: 45
[23-Nov-2025 22:14:27 UTC]    Categories columns count: 7
[23-Nov-2025 22:14:27 UTC]    Language field in books: YES
[23-Nov-2025 22:14:27 UTC]    Format field in books: YES
[23-Nov-2025 22:14:27 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:27 UTC]    Description field in categories: YES
[23-Nov-2025 22:14:27 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:14:27 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:14:27 UTC]    Is_active field in books: YES
[23-Nov-2025 22:14:27 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:14:27 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:14:27 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:14:27 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:14:27 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:14:27 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:14:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:14:27 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:27 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:27 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:27 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:27 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:27 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:27 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:14:27 UTC] 📊 Database Info:
[23-Nov-2025 22:14:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:14:27 UTC]    Books columns count: 45
[23-Nov-2025 22:14:27 UTC]    Categories columns count: 7
[23-Nov-2025 22:14:27 UTC]    Language field in books: YES
[23-Nov-2025 22:14:27 UTC]    Format field in books: YES
[23-Nov-2025 22:14:27 UTC]    Description field in categories: YES
[23-Nov-2025 22:14:27 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:14:27 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:14:27 UTC]    Is_active field in books: YES
[23-Nov-2025 22:14:27 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:14:27 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:14:27 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:14:27 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:14:27 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:14:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:14:27 UTC] 📁 جلب التصنيفات النشطة فقط
[23-Nov-2025 22:14:27 UTC] ✅ إرجاع 2 تصنيف نشط
[23-Nov-2025 22:14:27 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:27 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:27 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:27 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:14:27 UTC] 📊 Database Info:
[23-Nov-2025 22:14:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:14:27 UTC]    Books columns count: 45
[23-Nov-2025 22:14:27 UTC]    Categories columns count: 7
[23-Nov-2025 22:14:27 UTC]    Language field in books: YES
[23-Nov-2025 22:14:27 UTC]    Format field in books: YES
[23-Nov-2025 22:14:27 UTC]    Description field in categories: YES
[23-Nov-2025 22:14:27 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:14:27 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:14:27 UTC]    Is_active field in books: YES
[23-Nov-2025 22:14:27 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:14:27 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:14:27 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:14:27 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:14:27 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:14:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:14:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:14:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:14:49 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:49 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:49 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:49 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:49 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:49 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:49 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:49 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:49 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:49 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:49 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:49 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:14:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:49 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:14:49 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:14:49 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:49 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:49 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:49 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:49 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:49 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:49 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:49 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:49 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:49 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:49 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:49 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:49 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:49 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:14:49 UTC] 📊 Database Info:
[23-Nov-2025 22:14:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:14:49 UTC]    Books columns count: 45
[23-Nov-2025 22:14:49 UTC]    Categories columns count: 7
[23-Nov-2025 22:14:49 UTC]    Language field in books: YES
[23-Nov-2025 22:14:49 UTC]    Format field in books: YES
[23-Nov-2025 22:14:49 UTC]    Description field in categories: YES
[23-Nov-2025 22:14:49 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:14:49 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:14:49 UTC]    Is_active field in books: YES
[23-Nov-2025 22:14:49 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:14:49 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:14:49 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:14:49 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:14:49 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:14:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:14:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:14:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:14:51 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:51 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:51 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:51 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:51 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:51 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:51 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:51 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:51 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:51 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:51 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:51 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:14:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:51 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:14:51 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:14:51 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:51 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:51 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:51 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:51 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:51 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:51 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:51 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:51 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:51 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:51 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:51 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:51 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:51 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:14:51 UTC] 📊 Database Info:
[23-Nov-2025 22:14:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:14:51 UTC]    Books columns count: 45
[23-Nov-2025 22:14:51 UTC]    Categories columns count: 7
[23-Nov-2025 22:14:51 UTC]    Language field in books: YES
[23-Nov-2025 22:14:51 UTC]    Format field in books: YES
[23-Nov-2025 22:14:51 UTC]    Description field in categories: YES
[23-Nov-2025 22:14:51 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:14:51 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:14:51 UTC]    Is_active field in books: YES
[23-Nov-2025 22:14:51 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:14:51 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:14:51 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:14:51 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:14:51 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:14:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:14:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:14:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:14:59 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:59 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:59 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:59 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:59 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:59 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:59 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:59 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:59 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:14:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:14:59 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:14:59 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:14:59 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:14:59 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:14:59 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:14:59 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:14:59 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:14:59 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:14:59 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:14:59 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:14:59 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:14:59 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:14:59 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:14:59 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:14:59 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:14:59 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:14:59 UTC] 📊 Database Info:
[23-Nov-2025 22:14:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:14:59 UTC]    Books columns count: 45
[23-Nov-2025 22:14:59 UTC]    Categories columns count: 7
[23-Nov-2025 22:14:59 UTC]    Language field in books: YES
[23-Nov-2025 22:14:59 UTC]    Format field in books: YES
[23-Nov-2025 22:14:59 UTC]    Description field in categories: YES
[23-Nov-2025 22:14:59 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:14:59 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:14:59 UTC]    Is_active field in books: YES
[23-Nov-2025 22:14:59 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:14:59 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:14:59 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:14:59 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:14:59 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:14:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:14:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:15:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:15:12 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:15:12 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:15:12 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:15:12 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:15:12 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:15:12 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:15:12 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:15:12 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:15:12 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:15:12 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:15:12 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:15:12 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:15:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:15:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:15:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:15:12 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:15:12 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:15:12 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:15:12 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:15:12 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:15:12 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:15:12 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:15:12 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:15:12 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:15:12 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:15:12 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:15:12 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:15:12 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:15:12 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:15:12 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:15:12 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:15:12 UTC] 📊 Database Info:
[23-Nov-2025 22:15:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:15:12 UTC]    Books columns count: 45
[23-Nov-2025 22:15:12 UTC]    Categories columns count: 7
[23-Nov-2025 22:15:12 UTC]    Language field in books: YES
[23-Nov-2025 22:15:12 UTC]    Format field in books: YES
[23-Nov-2025 22:15:12 UTC]    Description field in categories: YES
[23-Nov-2025 22:15:12 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:15:12 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:15:12 UTC]    Is_active field in books: YES
[23-Nov-2025 22:15:12 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:15:12 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:15:12 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:15:12 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:15:12 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:15:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:15:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:15:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:15:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:15:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:15:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:15:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:15:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:15:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:15:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:15:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:15:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:15:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:15:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:15:28 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:15:28 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:15:28 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:15:28 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:15:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:15:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:15:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:15:28 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:15:28 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:15:28 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:15:28 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:15:28 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:15:28 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:15:28 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:15:28 UTC] 📊 Database Info:
[23-Nov-2025 22:15:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:15:28 UTC]    Books columns count: 45
[23-Nov-2025 22:15:28 UTC]    Categories columns count: 7
[23-Nov-2025 22:15:28 UTC]    Language field in books: YES
[23-Nov-2025 22:15:28 UTC]    Format field in books: YES
[23-Nov-2025 22:15:28 UTC]    Description field in categories: YES
[23-Nov-2025 22:15:28 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:15:28 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:15:28 UTC]    Is_active field in books: YES
[23-Nov-2025 22:15:28 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:15:28 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:15:28 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:15:28 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:15:28 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:15:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:15:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:15:28 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:15:28 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:15:28 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:15:28 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:15:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:15:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:15:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:15:28 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:15:28 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:15:28 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:15:28 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:15:28 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:15:28 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:15:28 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:15:28 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:15:28 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:15:28 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:15:28 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:15:28 UTC] 📊 Database Info:
[23-Nov-2025 22:15:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:15:28 UTC]    Books columns count: 45
[23-Nov-2025 22:15:28 UTC]    Categories columns count: 7
[23-Nov-2025 22:15:28 UTC]    Language field in books: YES
[23-Nov-2025 22:15:28 UTC]    Format field in books: YES
[23-Nov-2025 22:15:28 UTC]    Description field in categories: YES
[23-Nov-2025 22:15:28 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:15:28 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:15:28 UTC]    Is_active field in books: YES
[23-Nov-2025 22:15:28 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:15:28 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:15:28 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:15:28 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:15:28 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:15:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:15:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:16:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:16:20 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:16:20 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:16:20 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:16:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:16:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:16:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:16:20 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:16:20 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:16:20 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:16:20 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:16:20 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:16:20 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:16:20 UTC] 📊 Database Info:
[23-Nov-2025 22:16:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:16:20 UTC]    Books columns count: 45
[23-Nov-2025 22:16:20 UTC]    Categories columns count: 7
[23-Nov-2025 22:16:20 UTC]    Language field in books: YES
[23-Nov-2025 22:16:20 UTC]    Format field in books: YES
[23-Nov-2025 22:16:20 UTC]    Description field in categories: YES
[23-Nov-2025 22:16:20 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:16:20 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:16:20 UTC]    Is_active field in books: YES
[23-Nov-2025 22:16:20 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:16:20 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:16:20 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:16:20 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:16:20 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:16:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:16:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:16:20 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:16:20 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:16:20 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:16:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:16:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:16:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:16:20 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:16:20 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:16:20 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:16:20 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:16:20 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:16:20 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:16:20 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:16:20 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:16:20 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:16:20 UTC] 📊 Database Info:
[23-Nov-2025 22:16:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:16:20 UTC]    Books columns count: 45
[23-Nov-2025 22:16:20 UTC]    Categories columns count: 7
[23-Nov-2025 22:16:20 UTC]    Language field in books: YES
[23-Nov-2025 22:16:20 UTC]    Format field in books: YES
[23-Nov-2025 22:16:20 UTC]    Description field in categories: YES
[23-Nov-2025 22:16:20 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:16:20 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:16:20 UTC]    Is_active field in books: YES
[23-Nov-2025 22:16:20 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:16:20 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:16:20 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:16:20 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:16:20 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:16:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:16:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:16:26 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:16:26 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:16:26 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:16:26 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:16:26 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:16:26 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:16:26 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:16:26 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:16:26 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:16:26 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:16:26 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:16:26 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:16:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:16:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:16:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:16:26 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:16:26 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:16:26 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:16:26 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:16:26 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:16:26 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:16:26 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:16:26 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:16:26 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:16:26 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:16:26 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:16:26 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:16:26 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:16:26 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:16:26 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:16:26 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:16:26 UTC] 📊 Database Info:
[23-Nov-2025 22:16:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:16:26 UTC]    Books columns count: 45
[23-Nov-2025 22:16:26 UTC]    Categories columns count: 7
[23-Nov-2025 22:16:26 UTC]    Language field in books: YES
[23-Nov-2025 22:16:26 UTC]    Format field in books: YES
[23-Nov-2025 22:16:26 UTC]    Description field in categories: YES
[23-Nov-2025 22:16:26 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:16:26 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:16:26 UTC]    Is_active field in books: YES
[23-Nov-2025 22:16:26 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:16:26 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:16:26 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:16:26 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:16:26 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:16:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:16:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:16:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:16:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:16:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:16:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:16:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:16:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:16:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:16:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:16:47 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:16:47 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:16:47 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:16:47 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:16:47 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:16:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:16:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:16:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:16:47 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:16:47 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:16:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:16:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:16:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:16:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:16:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:16:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:16:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:16:47 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:16:47 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:16:47 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:16:47 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:16:47 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:16:47 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:16:47 UTC] 📊 Database Info:
[23-Nov-2025 22:16:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:16:47 UTC]    Books columns count: 45
[23-Nov-2025 22:16:47 UTC]    Categories columns count: 7
[23-Nov-2025 22:16:47 UTC]    Language field in books: YES
[23-Nov-2025 22:16:47 UTC]    Format field in books: YES
[23-Nov-2025 22:16:47 UTC]    Description field in categories: YES
[23-Nov-2025 22:16:47 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:16:47 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:16:47 UTC]    Is_active field in books: YES
[23-Nov-2025 22:16:47 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:16:47 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:16:47 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:16:47 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:16:47 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:16:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:16:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:16:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:16:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:16:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:16:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:16:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:16:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:16:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:16:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:16:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:16:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:16:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:16:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:16:47 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:16:47 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:16:47 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:16:47 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:16:47 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:16:47 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:16:47 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:16:47 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:16:47 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:16:47 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:16:47 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:16:47 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:16:47 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:16:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:16:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:16:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:16:48 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:16:48 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:16:48 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:16:48 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:16:48 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:16:48 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:16:48 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:16:48 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:16:48 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:16:48 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:16:48 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:16:48 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:16:48 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:16:48 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:16:48 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:16:48 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:16:48 UTC] 📊 Database Info:
[23-Nov-2025 22:16:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:16:48 UTC]    Books columns count: 45
[23-Nov-2025 22:16:48 UTC]    Categories columns count: 7
[23-Nov-2025 22:16:48 UTC]    Language field in books: YES
[23-Nov-2025 22:16:48 UTC]    Format field in books: YES
[23-Nov-2025 22:16:48 UTC]    Description field in categories: YES
[23-Nov-2025 22:16:48 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:16:48 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:16:48 UTC]    Is_active field in books: YES
[23-Nov-2025 22:16:48 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:16:48 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:16:48 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:16:48 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:16:48 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:16:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:16:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:16:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:16:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:16:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:16:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:16:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:16:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:16:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:16:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:16:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:16:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:16:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:16:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:16:56 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:16:56 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:16:56 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:16:56 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:16:56 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:16:56 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:16:56 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:16:56 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:16:56 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:16:56 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:16:56 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:16:56 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:16:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:16:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:16:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:16:56 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:16:56 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:16:56 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:16:56 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:16:56 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:16:56 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:16:56 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:16:56 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:16:56 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:16:56 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:16:56 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:16:56 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:16:56 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:16:56 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:16:56 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:16:56 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:16:56 UTC] 📊 Database Info:
[23-Nov-2025 22:16:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:16:56 UTC]    Books columns count: 45
[23-Nov-2025 22:16:56 UTC]    Categories columns count: 7
[23-Nov-2025 22:16:56 UTC]    Language field in books: YES
[23-Nov-2025 22:16:56 UTC]    Format field in books: YES
[23-Nov-2025 22:16:56 UTC]    Description field in categories: YES
[23-Nov-2025 22:16:56 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:16:56 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:16:56 UTC]    Is_active field in books: YES
[23-Nov-2025 22:16:56 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:16:56 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:16:56 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:16:56 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:16:56 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:16:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:16:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 22:18:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 22:18:56 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:18:56 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:18:56 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:18:56 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:18:56 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:18:56 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:18:56 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:18:56 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:18:56 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:18:56 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:18:56 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:18:56 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:18:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 22:18:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:18:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 22:18:56 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 22:18:56 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 22:18:56 UTC] ℹ️ Column institution already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column language already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column format already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 22:18:56 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 22:18:56 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 22:18:56 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 22:18:56 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 22:18:56 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 22:18:56 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 22:18:56 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 22:18:56 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 22:18:56 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 22:18:56 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 22:18:56 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 22:18:56 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 22:18:56 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 22:18:56 UTC] 📊 Database Info:
[23-Nov-2025 22:18:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 22:18:56 UTC]    Books columns count: 45
[23-Nov-2025 22:18:56 UTC]    Categories columns count: 7
[23-Nov-2025 22:18:56 UTC]    Language field in books: YES
[23-Nov-2025 22:18:56 UTC]    Format field in books: YES
[23-Nov-2025 22:18:56 UTC]    Description field in categories: YES
[23-Nov-2025 22:18:56 UTC]    Display_order field in categories: YES
[23-Nov-2025 22:18:56 UTC]    Is_active field in categories: YES
[23-Nov-2025 22:18:56 UTC]    Is_active field in books: YES
[23-Nov-2025 22:18:56 UTC]    External_download_link field in books: YES
[23-Nov-2025 22:18:56 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 22:18:56 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 22:18:56 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 22:18:56 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 22:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 22:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 22:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 22:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 22:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 22:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 22:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 22:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 22:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 22:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 22:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 22:18:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 22:18:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 23:49:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 23:49:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 23:49:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 23:49:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 23:49:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:06 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 23:49:06 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 23:49:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 23:49:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:06 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 23:49:06 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 23:49:06 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 23:49:06 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 23:49:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:06 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:06 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:06 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:06 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:06 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:06 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:06 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:06 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 23:49:06 UTC] 📊 Database Info:
[23-Nov-2025 23:49:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 23:49:06 UTC]    Books columns count: 45
[23-Nov-2025 23:49:06 UTC]    Categories columns count: 7
[23-Nov-2025 23:49:06 UTC]    Language field in books: YES
[23-Nov-2025 23:49:06 UTC]    Format field in books: YES
[23-Nov-2025 23:49:06 UTC]    Description field in categories: YES
[23-Nov-2025 23:49:06 UTC]    Display_order field in categories: YES
[23-Nov-2025 23:49:06 UTC]    Is_active field in categories: YES
[23-Nov-2025 23:49:06 UTC]    Is_active field in books: YES
[23-Nov-2025 23:49:06 UTC]    External_download_link field in books: YES
[23-Nov-2025 23:49:06 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 23:49:06 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 23:49:06 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 23:49:06 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 23:49:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 23:49:06 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 23:49:06 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 23:49:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:06 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:06 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:06 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:06 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 23:49:06 UTC] 📊 Database Info:
[23-Nov-2025 23:49:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 23:49:06 UTC]    Books columns count: 45
[23-Nov-2025 23:49:06 UTC]    Categories columns count: 7
[23-Nov-2025 23:49:06 UTC]    Language field in books: YES
[23-Nov-2025 23:49:06 UTC]    Format field in books: YES
[23-Nov-2025 23:49:06 UTC]    Description field in categories: YES
[23-Nov-2025 23:49:06 UTC]    Display_order field in categories: YES
[23-Nov-2025 23:49:06 UTC]    Is_active field in categories: YES
[23-Nov-2025 23:49:06 UTC]    Is_active field in books: YES
[23-Nov-2025 23:49:06 UTC]    External_download_link field in books: YES
[23-Nov-2025 23:49:06 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 23:49:06 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 23:49:06 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 23:49:06 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 23:49:06 UTC] 📊 Database Info:
[23-Nov-2025 23:49:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 23:49:06 UTC]    Books columns count: 45
[23-Nov-2025 23:49:06 UTC]    Categories columns count: 7
[23-Nov-2025 23:49:06 UTC]    Language field in books: YES
[23-Nov-2025 23:49:06 UTC]    Format field in books: YES
[23-Nov-2025 23:49:06 UTC]    Description field in categories: YES
[23-Nov-2025 23:49:06 UTC]    Display_order field in categories: YES
[23-Nov-2025 23:49:06 UTC]    Is_active field in categories: YES
[23-Nov-2025 23:49:06 UTC]    Is_active field in books: YES
[23-Nov-2025 23:49:06 UTC]    External_download_link field in books: YES
[23-Nov-2025 23:49:06 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 23:49:06 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 23:49:06 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 23:49:06 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 23:49:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 23:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 23:49:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 23:49:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 23:49:06 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 23:49:06 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 23:49:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 23:49:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 23:49:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:09 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 23:49:09 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 23:49:09 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:09 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:09 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:09 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:09 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:09 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:09 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:09 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:09 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:09 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:09 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:09 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:09 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:09 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 23:49:09 UTC] 📊 Database Info:
[23-Nov-2025 23:49:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 23:49:09 UTC]    Books columns count: 45
[23-Nov-2025 23:49:09 UTC]    Categories columns count: 7
[23-Nov-2025 23:49:09 UTC]    Language field in books: YES
[23-Nov-2025 23:49:09 UTC]    Format field in books: YES
[23-Nov-2025 23:49:09 UTC]    Description field in categories: YES
[23-Nov-2025 23:49:09 UTC]    Display_order field in categories: YES
[23-Nov-2025 23:49:09 UTC]    Is_active field in categories: YES
[23-Nov-2025 23:49:09 UTC]    Is_active field in books: YES
[23-Nov-2025 23:49:09 UTC]    External_download_link field in books: YES
[23-Nov-2025 23:49:09 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 23:49:09 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 23:49:09 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 23:49:09 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 23:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 23:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 23:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 23:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 23:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 23:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 23:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 23:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 23:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 23:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 23:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 23:49:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 23:49:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 23:49:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 23:49:15 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:15 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:15 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:15 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 23:49:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:15 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 23:49:15 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 23:49:15 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:15 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:15 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:15 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:15 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 23:49:15 UTC] 📊 Database Info:
[23-Nov-2025 23:49:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 23:49:15 UTC]    Books columns count: 45
[23-Nov-2025 23:49:15 UTC]    Categories columns count: 7
[23-Nov-2025 23:49:15 UTC]    Language field in books: YES
[23-Nov-2025 23:49:15 UTC]    Format field in books: YES
[23-Nov-2025 23:49:15 UTC]    Description field in categories: YES
[23-Nov-2025 23:49:15 UTC]    Display_order field in categories: YES
[23-Nov-2025 23:49:15 UTC]    Is_active field in categories: YES
[23-Nov-2025 23:49:15 UTC]    Is_active field in books: YES
[23-Nov-2025 23:49:15 UTC]    External_download_link field in books: YES
[23-Nov-2025 23:49:15 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 23:49:15 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 23:49:15 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 23:49:15 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 23:49:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 23:49:15 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[23-Nov-2025 23:49:15 UTC] ?? Processing: home_screen - show_welcome_section: 1
[23-Nov-2025 23:49:15 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[23-Nov-2025 23:49:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 23:49:15 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:15 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:15 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:15 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 23:49:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:15 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 23:49:15 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 23:49:15 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:15 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:15 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:15 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:15 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:15 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:15 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:15 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:15 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 23:49:15 UTC] 📊 Database Info:
[23-Nov-2025 23:49:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 23:49:15 UTC]    Books columns count: 45
[23-Nov-2025 23:49:15 UTC]    Categories columns count: 7
[23-Nov-2025 23:49:15 UTC]    Language field in books: YES
[23-Nov-2025 23:49:15 UTC]    Format field in books: YES
[23-Nov-2025 23:49:15 UTC]    Description field in categories: YES
[23-Nov-2025 23:49:15 UTC]    Display_order field in categories: YES
[23-Nov-2025 23:49:15 UTC]    Is_active field in categories: YES
[23-Nov-2025 23:49:15 UTC]    Is_active field in books: YES
[23-Nov-2025 23:49:15 UTC]    External_download_link field in books: YES
[23-Nov-2025 23:49:15 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 23:49:15 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 23:49:15 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 23:49:15 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 23:49:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 23:49:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 23:49:15 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[23-Nov-2025 23:49:15 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[23-Nov-2025 23:49:15 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[23-Nov-2025 23:49:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 23:49:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 23:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 23:49:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:19 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:19 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:19 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:19 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:19 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 23:49:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:19 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 23:49:19 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 23:49:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:19 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:19 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:19 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 23:49:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 23:49:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:19 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 23:49:19 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 23:49:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:19 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:19 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 23:49:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:19 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:19 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:19 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:19 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:19 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:19 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:19 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:19 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 23:49:19 UTC] 📊 Database Info:
[23-Nov-2025 23:49:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 23:49:19 UTC]    Books columns count: 45
[23-Nov-2025 23:49:19 UTC]    Categories columns count: 7
[23-Nov-2025 23:49:19 UTC]    Language field in books: YES
[23-Nov-2025 23:49:19 UTC]    Format field in books: YES
[23-Nov-2025 23:49:19 UTC]    Description field in categories: YES
[23-Nov-2025 23:49:19 UTC]    Display_order field in categories: YES
[23-Nov-2025 23:49:19 UTC]    Is_active field in categories: YES
[23-Nov-2025 23:49:19 UTC]    Is_active field in books: YES
[23-Nov-2025 23:49:19 UTC]    External_download_link field in books: YES
[23-Nov-2025 23:49:19 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 23:49:19 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 23:49:19 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 23:49:19 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 23:49:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 23:49:19 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:19 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 23:49:19 UTC] 📊 Database Info:
[23-Nov-2025 23:49:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 23:49:19 UTC]    Books columns count: 45
[23-Nov-2025 23:49:19 UTC]    Categories columns count: 7
[23-Nov-2025 23:49:19 UTC]    Language field in books: YES
[23-Nov-2025 23:49:19 UTC]    Format field in books: YES
[23-Nov-2025 23:49:19 UTC]    Description field in categories: YES
[23-Nov-2025 23:49:19 UTC]    Display_order field in categories: YES
[23-Nov-2025 23:49:19 UTC]    Is_active field in categories: YES
[23-Nov-2025 23:49:19 UTC]    Is_active field in books: YES
[23-Nov-2025 23:49:19 UTC]    External_download_link field in books: YES
[23-Nov-2025 23:49:19 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 23:49:19 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 23:49:19 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 23:49:19 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 23:49:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 23:49:19 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[23-Nov-2025 23:49:19 UTC] ✅ إرجاع 2 تصنيف
[23-Nov-2025 23:49:19 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:19 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 23:49:19 UTC] 📊 Database Info:
[23-Nov-2025 23:49:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 23:49:19 UTC]    Books columns count: 45
[23-Nov-2025 23:49:19 UTC]    Categories columns count: 7
[23-Nov-2025 23:49:19 UTC]    Language field in books: YES
[23-Nov-2025 23:49:19 UTC]    Format field in books: YES
[23-Nov-2025 23:49:19 UTC]    Description field in categories: YES
[23-Nov-2025 23:49:19 UTC]    Display_order field in categories: YES
[23-Nov-2025 23:49:19 UTC]    Is_active field in categories: YES
[23-Nov-2025 23:49:19 UTC]    Is_active field in books: YES
[23-Nov-2025 23:49:19 UTC]    External_download_link field in books: YES
[23-Nov-2025 23:49:19 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 23:49:19 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 23:49:19 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 23:49:19 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 23:49:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 23:49:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 23:49:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[23-Nov-2025 23:49:19 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[23-Nov-2025 23:49:19 UTC] ✅ إرجاع 0 تصنيف بروفايل
[23-Nov-2025 23:49:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 23:49:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:25 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:25 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:25 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:25 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:25 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:25 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:25 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:25 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:25 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:25 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:25 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 23:49:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:25 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 23:49:25 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 23:49:25 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:25 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:25 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:25 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:25 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:25 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:25 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:25 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:25 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:25 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:25 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:25 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:25 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:25 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 23:49:25 UTC] 📊 Database Info:
[23-Nov-2025 23:49:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 23:49:25 UTC]    Books columns count: 45
[23-Nov-2025 23:49:25 UTC]    Categories columns count: 7
[23-Nov-2025 23:49:25 UTC]    Language field in books: YES
[23-Nov-2025 23:49:25 UTC]    Format field in books: YES
[23-Nov-2025 23:49:25 UTC]    Description field in categories: YES
[23-Nov-2025 23:49:25 UTC]    Display_order field in categories: YES
[23-Nov-2025 23:49:25 UTC]    Is_active field in categories: YES
[23-Nov-2025 23:49:25 UTC]    Is_active field in books: YES
[23-Nov-2025 23:49:25 UTC]    External_download_link field in books: YES
[23-Nov-2025 23:49:25 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 23:49:25 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 23:49:25 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 23:49:25 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 23:49:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 23:49:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 23:49:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 23:49:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 23:49:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 23:49:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 23:49:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 23:49:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 23:49:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 23:49:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 23:49:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 23:49:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 23:49:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 23:49:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 23:49:26 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:26 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:26 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:26 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:26 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:26 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:26 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:26 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:26 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:26 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:26 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:26 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 23:49:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:26 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 23:49:26 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 23:49:26 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:26 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:26 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:26 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:26 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:26 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:26 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:26 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:26 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:26 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:26 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:26 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:26 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:26 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 23:49:26 UTC] 📊 Database Info:
[23-Nov-2025 23:49:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 23:49:26 UTC]    Books columns count: 45
[23-Nov-2025 23:49:26 UTC]    Categories columns count: 7
[23-Nov-2025 23:49:26 UTC]    Language field in books: YES
[23-Nov-2025 23:49:26 UTC]    Format field in books: YES
[23-Nov-2025 23:49:26 UTC]    Description field in categories: YES
[23-Nov-2025 23:49:26 UTC]    Display_order field in categories: YES
[23-Nov-2025 23:49:26 UTC]    Is_active field in categories: YES
[23-Nov-2025 23:49:26 UTC]    Is_active field in books: YES
[23-Nov-2025 23:49:26 UTC]    External_download_link field in books: YES
[23-Nov-2025 23:49:26 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 23:49:26 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 23:49:26 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 23:49:26 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 23:49:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 23:49:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 23:49:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 23:49:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 23:49:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 23:49:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 23:49:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 23:49:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 23:49:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 23:49:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 23:49:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 23:49:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 23:49:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 23:49:26 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[23-Nov-2025 23:49:26 UTC] ?? Processing: home_screen - show_welcome_section: 1
[23-Nov-2025 23:49:26 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[23-Nov-2025 23:49:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[23-Nov-2025 23:49:27 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:27 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:27 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:27 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:27 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:27 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:27 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:27 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:27 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:27 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:27 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:27 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[23-Nov-2025 23:49:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[23-Nov-2025 23:49:27 UTC] ⚠️ Missing columns detected: description, display_order
[23-Nov-2025 23:49:27 UTC] 🔄 Attempting to add missing columns...
[23-Nov-2025 23:49:27 UTC] ℹ️ Column institution already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column publication_year already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column keywords already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column selected_pages_summary already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column selected_pages_toc already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column selected_pages_original already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column is_protected already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column protection_key already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column show_read_button already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column read_button_text already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column is_external_plus already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column custom_file_size already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column show_file_size already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column taille_before_extrait already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column show_download_extrait_button already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column download_extrait_button_text already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column original_pdf_url already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column download_count already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column stockage already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column language already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column format already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column external_download_link already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column show_external_download_button already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column external_download_protection_key already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column is_external_download_protected already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column is_active already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column description already exists in categories
[23-Nov-2025 23:49:27 UTC] ℹ️ Column display_order already exists in categories
[23-Nov-2025 23:49:27 UTC] ℹ️ Column is_active already exists in categories
[23-Nov-2025 23:49:27 UTC] ℹ️ Column show_welcome_section already exists
[23-Nov-2025 23:49:27 UTC] ℹ️ Column company_address already exists
[23-Nov-2025 23:49:27 UTC] ✅ Updated existing books with original_pdf_url
[23-Nov-2025 23:49:27 UTC] ✅ Updated existing books with is_active = TRUE
[23-Nov-2025 23:49:27 UTC] ✅ Updated existing categories with new fields
[23-Nov-2025 23:49:27 UTC] ✅ Default screen texts inserted successfully
[23-Nov-2025 23:49:27 UTC] ✅ Updated existing books with empty language field
[23-Nov-2025 23:49:27 UTC] ✅ Updated existing books with empty format field
[23-Nov-2025 23:49:27 UTC] ✅ Updated existing books with default external download link and protection values
[23-Nov-2025 23:49:27 UTC] ✅ Database tables created/updated successfully with all new fields
[23-Nov-2025 23:49:27 UTC] ℹ️ Favorites table not available for inspection
[23-Nov-2025 23:49:27 UTC] 📊 Database Info:
[23-Nov-2025 23:49:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[23-Nov-2025 23:49:27 UTC]    Books columns count: 45
[23-Nov-2025 23:49:27 UTC]    Categories columns count: 7
[23-Nov-2025 23:49:27 UTC]    Language field in books: YES
[23-Nov-2025 23:49:27 UTC]    Format field in books: YES
[23-Nov-2025 23:49:27 UTC]    Description field in categories: YES
[23-Nov-2025 23:49:27 UTC]    Display_order field in categories: YES
[23-Nov-2025 23:49:27 UTC]    Is_active field in categories: YES
[23-Nov-2025 23:49:27 UTC]    Is_active field in books: YES
[23-Nov-2025 23:49:27 UTC]    External_download_link field in books: YES
[23-Nov-2025 23:49:27 UTC]    Show_external_download_button field in books: YES
[23-Nov-2025 23:49:27 UTC]    External_download_protection_key field in books: YES
[23-Nov-2025 23:49:27 UTC]    Is_external_download_protected field in books: YES
[23-Nov-2025 23:49:27 UTC] ℹ️ Database is already at version 23
[23-Nov-2025 23:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[23-Nov-2025 23:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[23-Nov-2025 23:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[23-Nov-2025 23:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[23-Nov-2025 23:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[23-Nov-2025 23:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[23-Nov-2025 23:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[23-Nov-2025 23:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[23-Nov-2025 23:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[23-Nov-2025 23:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[23-Nov-2025 23:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[23-Nov-2025 23:49:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[23-Nov-2025 23:49:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[23-Nov-2025 23:49:27 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[23-Nov-2025 23:49:27 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[23-Nov-2025 23:49:27 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[24-Nov-2025 00:43:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:43:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:43:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:43:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:43:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:43:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:43:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:43:13 UTC] 📊 Database Info:
[24-Nov-2025 00:43:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:43:13 UTC]    Books columns count: 45
[24-Nov-2025 00:43:13 UTC]    Categories columns count: 7
[24-Nov-2025 00:43:13 UTC]    Language field in books: YES
[24-Nov-2025 00:43:13 UTC]    Format field in books: YES
[24-Nov-2025 00:43:13 UTC]    Description field in categories: YES
[24-Nov-2025 00:43:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:43:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:43:13 UTC]    Is_active field in books: YES
[24-Nov-2025 00:43:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:43:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:43:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:43:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:43:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:43:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:43:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:43:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:13 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:13 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:43:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:43:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:43:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:43:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:43:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:43:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:43:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:43:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:43:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:43:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:43:13 UTC] 📊 Database Info:
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:43:13 UTC]    Books columns count: 45
[24-Nov-2025 00:43:13 UTC]    Categories columns count: 7
[24-Nov-2025 00:43:13 UTC]    Language field in books: YES
[24-Nov-2025 00:43:13 UTC]    Format field in books: YES
[24-Nov-2025 00:43:13 UTC]    Description field in categories: YES
[24-Nov-2025 00:43:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:43:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:43:13 UTC]    Is_active field in books: YES
[24-Nov-2025 00:43:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:43:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:43:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:43:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:43:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:43:13 UTC] 📊 Database Info:
[24-Nov-2025 00:43:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:43:13 UTC]    Books columns count: 45
[24-Nov-2025 00:43:13 UTC]    Categories columns count: 7
[24-Nov-2025 00:43:13 UTC]    Language field in books: YES
[24-Nov-2025 00:43:13 UTC]    Format field in books: YES
[24-Nov-2025 00:43:13 UTC]    Description field in categories: YES
[24-Nov-2025 00:43:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:43:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:43:13 UTC]    Is_active field in books: YES
[24-Nov-2025 00:43:13 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:43:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:43:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:43:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:43:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:43:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:43:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:43:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:43:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:43:13 UTC] 📊 Database Info:
[24-Nov-2025 00:43:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:43:13 UTC]    Books columns count: 45
[24-Nov-2025 00:43:13 UTC]    Categories columns count: 7
[24-Nov-2025 00:43:13 UTC]    Language field in books: YES
[24-Nov-2025 00:43:13 UTC]    Format field in books: YES
[24-Nov-2025 00:43:13 UTC]    Description field in categories: YES
[24-Nov-2025 00:43:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:43:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:43:13 UTC]    Is_active field in books: YES
[24-Nov-2025 00:43:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:43:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:43:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:43:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:43:13 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:43:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:43:13 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 00:43:13 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 00:43:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:43:13 UTC] 📊 Database Info:
[24-Nov-2025 00:43:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:43:13 UTC]    Books columns count: 45
[24-Nov-2025 00:43:13 UTC]    Categories columns count: 7
[24-Nov-2025 00:43:13 UTC]    Language field in books: YES
[24-Nov-2025 00:43:13 UTC]    Format field in books: YES
[24-Nov-2025 00:43:13 UTC]    Description field in categories: YES
[24-Nov-2025 00:43:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:43:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:43:13 UTC]    Is_active field in books: YES
[24-Nov-2025 00:43:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:43:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:43:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:43:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:43:13 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:43:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:43:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:43:13 UTC] 📊 Database Info:
[24-Nov-2025 00:43:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:43:13 UTC]    Books columns count: 45
[24-Nov-2025 00:43:13 UTC]    Categories columns count: 7
[24-Nov-2025 00:43:13 UTC]    Language field in books: YES
[24-Nov-2025 00:43:13 UTC]    Format field in books: YES
[24-Nov-2025 00:43:13 UTC]    Description field in categories: YES
[24-Nov-2025 00:43:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:43:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:43:13 UTC]    Is_active field in books: YES
[24-Nov-2025 00:43:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:43:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:43:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:43:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:43:13 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:43:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:43:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:43:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:43:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:43:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:14 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:43:14 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:43:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:14 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:43:14 UTC] 📊 Database Info:
[24-Nov-2025 00:43:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:43:14 UTC]    Books columns count: 45
[24-Nov-2025 00:43:14 UTC]    Categories columns count: 7
[24-Nov-2025 00:43:14 UTC]    Language field in books: YES
[24-Nov-2025 00:43:14 UTC]    Format field in books: YES
[24-Nov-2025 00:43:14 UTC]    Description field in categories: YES
[24-Nov-2025 00:43:14 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:43:14 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:43:14 UTC]    Is_active field in books: YES
[24-Nov-2025 00:43:14 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:43:14 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:43:14 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:43:14 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:43:14 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:43:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:43:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:43:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:43:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:43:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:18 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:43:18 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:43:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:18 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:43:18 UTC] 📊 Database Info:
[24-Nov-2025 00:43:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:43:18 UTC]    Books columns count: 45
[24-Nov-2025 00:43:18 UTC]    Categories columns count: 7
[24-Nov-2025 00:43:18 UTC]    Language field in books: YES
[24-Nov-2025 00:43:18 UTC]    Format field in books: YES
[24-Nov-2025 00:43:18 UTC]    Description field in categories: YES
[24-Nov-2025 00:43:18 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:43:18 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:43:18 UTC]    Is_active field in books: YES
[24-Nov-2025 00:43:18 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:43:18 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:43:18 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:43:18 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:43:18 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:43:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:43:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:43:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:43:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:43:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:43:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:43:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:43:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:43:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:43:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:43:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:43:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:43:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:43:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:43:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:43:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:43:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:47 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:43:47 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:43:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:43:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:47 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:43:47 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:47 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:43:47 UTC] 📊 Database Info:
[24-Nov-2025 00:43:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:43:47 UTC]    Books columns count: 45
[24-Nov-2025 00:43:47 UTC]    Categories columns count: 7
[24-Nov-2025 00:43:47 UTC]    Language field in books: YES
[24-Nov-2025 00:43:47 UTC]    Format field in books: YES
[24-Nov-2025 00:43:47 UTC]    Description field in categories: YES
[24-Nov-2025 00:43:47 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:43:47 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:43:47 UTC]    Is_active field in books: YES
[24-Nov-2025 00:43:47 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:43:47 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:43:47 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:43:47 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:47 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:43:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:43:47 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 00:43:47 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 00:43:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:43:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:47 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:43:47 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:43:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:43:47 UTC] 📊 Database Info:
[24-Nov-2025 00:43:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:43:47 UTC]    Books columns count: 45
[24-Nov-2025 00:43:47 UTC]    Categories columns count: 7
[24-Nov-2025 00:43:47 UTC]    Language field in books: YES
[24-Nov-2025 00:43:47 UTC]    Format field in books: YES
[24-Nov-2025 00:43:47 UTC]    Description field in categories: YES
[24-Nov-2025 00:43:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:47 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:43:47 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:43:47 UTC]    Is_active field in books: YES
[24-Nov-2025 00:43:47 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:43:47 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:43:47 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:43:47 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:43:47 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:43:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:47 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:43:47 UTC] 📊 Database Info:
[24-Nov-2025 00:43:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:43:47 UTC]    Books columns count: 45
[24-Nov-2025 00:43:47 UTC]    Categories columns count: 7
[24-Nov-2025 00:43:47 UTC]    Language field in books: YES
[24-Nov-2025 00:43:47 UTC]    Format field in books: YES
[24-Nov-2025 00:43:47 UTC]    Description field in categories: YES
[24-Nov-2025 00:43:47 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:43:47 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:43:47 UTC]    Is_active field in books: YES
[24-Nov-2025 00:43:47 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:43:47 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:43:47 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:43:47 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:43:47 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:43:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:43:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:43:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 00:43:47 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 00:43:47 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 00:43:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:43:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:43:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:43:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:43:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:43:49 UTC] 📊 Database Info:
[24-Nov-2025 00:43:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:43:49 UTC]    Books columns count: 45
[24-Nov-2025 00:43:49 UTC]    Categories columns count: 7
[24-Nov-2025 00:43:49 UTC]    Language field in books: YES
[24-Nov-2025 00:43:49 UTC]    Format field in books: YES
[24-Nov-2025 00:43:49 UTC]    Description field in categories: YES
[24-Nov-2025 00:43:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:43:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:43:49 UTC]    Is_active field in books: YES
[24-Nov-2025 00:43:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:43:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:43:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:43:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:43:49 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:43:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:43:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:43:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:43:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:43:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:43:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:43:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:43:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:43:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:43:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:43:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:43:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:43:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:43:49 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 00:43:49 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 00:43:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:43:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:43:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:43:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:43:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:43:50 UTC] 📊 Database Info:
[24-Nov-2025 00:43:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:43:50 UTC]    Books columns count: 45
[24-Nov-2025 00:43:50 UTC]    Categories columns count: 7
[24-Nov-2025 00:43:50 UTC]    Language field in books: YES
[24-Nov-2025 00:43:50 UTC]    Format field in books: YES
[24-Nov-2025 00:43:50 UTC]    Description field in categories: YES
[24-Nov-2025 00:43:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:43:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:43:50 UTC]    Is_active field in books: YES
[24-Nov-2025 00:43:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:43:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:43:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:43:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:43:50 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:43:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:43:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 00:43:50 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 00:43:50 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 00:43:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:43:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:43:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:43:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:43:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:43:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:43:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:43:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:43:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:43:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:43:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:43:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:43:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:43:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:43:50 UTC] 📊 Database Info:
[24-Nov-2025 00:43:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:43:50 UTC]    Books columns count: 45
[24-Nov-2025 00:43:50 UTC]    Categories columns count: 7
[24-Nov-2025 00:43:50 UTC]    Language field in books: YES
[24-Nov-2025 00:43:50 UTC]    Format field in books: YES
[24-Nov-2025 00:43:50 UTC]    Description field in categories: YES
[24-Nov-2025 00:43:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:43:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:43:50 UTC]    Is_active field in books: YES
[24-Nov-2025 00:43:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:43:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:43:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:43:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:43:50 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:43:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:43:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:04 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:04 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:04 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:04 UTC] 📊 Database Info:
[24-Nov-2025 00:44:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:04 UTC]    Books columns count: 45
[24-Nov-2025 00:44:04 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:04 UTC]    Language field in books: YES
[24-Nov-2025 00:44:04 UTC]    Format field in books: YES
[24-Nov-2025 00:44:04 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:04 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:04 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:04 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:04 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:04 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:04 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:04 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:04 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:05 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:05 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:05 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:05 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:05 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:05 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:05 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:05 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:05 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:05 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:05 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:05 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:05 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:05 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:05 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:05 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:05 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:05 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:05 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:05 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:05 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:05 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:05 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:05 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:05 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:05 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:05 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:05 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:05 UTC] 📊 Database Info:
[24-Nov-2025 00:44:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:05 UTC]    Books columns count: 45
[24-Nov-2025 00:44:05 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:05 UTC]    Language field in books: YES
[24-Nov-2025 00:44:05 UTC]    Format field in books: YES
[24-Nov-2025 00:44:05 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:05 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:05 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:05 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:05 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:05 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:05 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:05 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:05 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:13 UTC] 📊 Database Info:
[24-Nov-2025 00:44:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:13 UTC]    Books columns count: 45
[24-Nov-2025 00:44:13 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:13 UTC]    Language field in books: YES
[24-Nov-2025 00:44:13 UTC]    Format field in books: YES
[24-Nov-2025 00:44:13 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:13 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:13 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:13 UTC] 📊 Database Info:
[24-Nov-2025 00:44:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:13 UTC]    Books columns count: 45
[24-Nov-2025 00:44:13 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:13 UTC]    Language field in books: YES
[24-Nov-2025 00:44:13 UTC]    Format field in books: YES
[24-Nov-2025 00:44:13 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:13 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:13 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:13 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 00:44:13 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 00:44:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:13 UTC] 📊 Database Info:
[24-Nov-2025 00:44:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:13 UTC]    Books columns count: 45
[24-Nov-2025 00:44:13 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:13 UTC]    Language field in books: YES
[24-Nov-2025 00:44:13 UTC]    Format field in books: YES
[24-Nov-2025 00:44:13 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:13 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:13 UTC] 📊 Database Info:
[24-Nov-2025 00:44:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:13 UTC]    Books columns count: 45
[24-Nov-2025 00:44:13 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:13 UTC]    Language field in books: YES
[24-Nov-2025 00:44:13 UTC]    Format field in books: YES
[24-Nov-2025 00:44:13 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:13 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:13 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:13 UTC] 📊 Database Info:
[24-Nov-2025 00:44:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:13 UTC]    Books columns count: 45
[24-Nov-2025 00:44:13 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:13 UTC]    Language field in books: YES
[24-Nov-2025 00:44:13 UTC]    Format field in books: YES
[24-Nov-2025 00:44:13 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:13 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:13 UTC] 📊 Database Info:
[24-Nov-2025 00:44:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:13 UTC]    Books columns count: 45
[24-Nov-2025 00:44:13 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:13 UTC]    Language field in books: YES
[24-Nov-2025 00:44:13 UTC]    Format field in books: YES
[24-Nov-2025 00:44:13 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:13 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:13 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:13 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 00:44:13 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 00:44:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:15 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:15 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:15 UTC] 📊 Database Info:
[24-Nov-2025 00:44:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:15 UTC]    Books columns count: 45
[24-Nov-2025 00:44:15 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:15 UTC]    Language field in books: YES
[24-Nov-2025 00:44:15 UTC]    Format field in books: YES
[24-Nov-2025 00:44:15 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:15 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:15 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:20 UTC] 📊 Database Info:
[24-Nov-2025 00:44:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:20 UTC]    Books columns count: 45
[24-Nov-2025 00:44:20 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:20 UTC]    Language field in books: YES
[24-Nov-2025 00:44:20 UTC]    Format field in books: YES
[24-Nov-2025 00:44:20 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:20 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:20 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:20 UTC] 📊 Database Info:
[24-Nov-2025 00:44:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:20 UTC]    Books columns count: 45
[24-Nov-2025 00:44:20 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:20 UTC]    Language field in books: YES
[24-Nov-2025 00:44:20 UTC]    Format field in books: YES
[24-Nov-2025 00:44:20 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:20 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:20 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:20 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 00:44:20 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 00:44:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:20 UTC] 📊 Database Info:
[24-Nov-2025 00:44:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:20 UTC]    Books columns count: 45
[24-Nov-2025 00:44:20 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:20 UTC]    Language field in books: YES
[24-Nov-2025 00:44:20 UTC]    Format field in books: YES
[24-Nov-2025 00:44:20 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:20 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:20 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:21 UTC] 📊 Database Info:
[24-Nov-2025 00:44:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:21 UTC]    Books columns count: 45
[24-Nov-2025 00:44:21 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:21 UTC]    Language field in books: YES
[24-Nov-2025 00:44:21 UTC]    Format field in books: YES
[24-Nov-2025 00:44:21 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:21 UTC] 📊 Database Info:
[24-Nov-2025 00:44:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:21 UTC]    Books columns count: 45
[24-Nov-2025 00:44:21 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:21 UTC]    Language field in books: YES
[24-Nov-2025 00:44:21 UTC]    Format field in books: YES
[24-Nov-2025 00:44:21 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:21 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 00:44:21 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 00:44:21 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:21 UTC] 📊 Database Info:
[24-Nov-2025 00:44:21 UTC] 📊 Database Info:
[24-Nov-2025 00:44:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:21 UTC]    Books columns count: 45
[24-Nov-2025 00:44:21 UTC]    Books columns count: 45
[24-Nov-2025 00:44:21 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:21 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:21 UTC]    Language field in books: YES
[24-Nov-2025 00:44:21 UTC]    Format field in books: YES
[24-Nov-2025 00:44:21 UTC]    Language field in books: YES
[24-Nov-2025 00:44:21 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Format field in books: YES
[24-Nov-2025 00:44:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:21 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:21 UTC] 📊 Database Info:
[24-Nov-2025 00:44:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:21 UTC]    Books columns count: 45
[24-Nov-2025 00:44:21 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:21 UTC]    Language field in books: YES
[24-Nov-2025 00:44:21 UTC]    Format field in books: YES
[24-Nov-2025 00:44:21 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:21 UTC] 📊 Database Info:
[24-Nov-2025 00:44:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:21 UTC]    Books columns count: 45
[24-Nov-2025 00:44:21 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:21 UTC]    Language field in books: YES
[24-Nov-2025 00:44:21 UTC]    Format field in books: YES
[24-Nov-2025 00:44:21 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:21 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:21 UTC] 📊 Database Info:
[24-Nov-2025 00:44:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:21 UTC]    Books columns count: 45
[24-Nov-2025 00:44:21 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:21 UTC]    Language field in books: YES
[24-Nov-2025 00:44:21 UTC]    Format field in books: YES
[24-Nov-2025 00:44:21 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 00:44:21 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 00:44:21 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 00:44:21 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 00:44:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:21 UTC] 📊 Database Info:
[24-Nov-2025 00:44:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:21 UTC]    Books columns count: 45
[24-Nov-2025 00:44:21 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:21 UTC]    Language field in books: YES
[24-Nov-2025 00:44:21 UTC]    Format field in books: YES
[24-Nov-2025 00:44:21 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:21 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 00:44:21 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 00:44:21 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 00:44:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 00:44:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 00:44:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 00:44:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 00:44:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 00:44:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:21 UTC] 📊 Database Info:
[24-Nov-2025 00:44:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:21 UTC]    Books columns count: 45
[24-Nov-2025 00:44:21 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:21 UTC]    Language field in books: YES
[24-Nov-2025 00:44:21 UTC]    Format field in books: YES
[24-Nov-2025 00:44:21 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:21 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 00:44:21 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 00:44:21 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 00:44:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 00:44:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 00:44:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 00:44:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 00:44:21 UTC] 📊 Database Info:
[24-Nov-2025 00:44:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 00:44:21 UTC]    Books columns count: 45
[24-Nov-2025 00:44:21 UTC]    Categories columns count: 7
[24-Nov-2025 00:44:21 UTC]    Language field in books: YES
[24-Nov-2025 00:44:21 UTC]    Format field in books: YES
[24-Nov-2025 00:44:21 UTC]    Description field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 00:44:21 UTC]    Is_active field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 00:44:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 00:44:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 00:44:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 00:44:21 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 00:44:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 00:44:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 00:44:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 00:44:21 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 00:44:21 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 01:15:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 01:15:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 01:15:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 01:15:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 01:15:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 01:15:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 01:15:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 01:15:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 01:15:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 01:15:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 01:15:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 01:15:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 01:15:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 01:15:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 01:15:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 01:15:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 01:15:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 01:15:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 01:15:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 01:15:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 01:15:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 01:15:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 01:15:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 01:15:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 01:15:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 01:15:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 01:15:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 01:15:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 01:15:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 01:15:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 01:15:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 01:15:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 01:15:20 UTC] 📊 Database Info:
[24-Nov-2025 01:15:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 01:15:20 UTC]    Books columns count: 45
[24-Nov-2025 01:15:20 UTC]    Categories columns count: 7
[24-Nov-2025 01:15:20 UTC]    Language field in books: YES
[24-Nov-2025 01:15:20 UTC]    Format field in books: YES
[24-Nov-2025 01:15:20 UTC]    Description field in categories: YES
[24-Nov-2025 01:15:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 01:15:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 01:15:20 UTC]    Is_active field in books: YES
[24-Nov-2025 01:15:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 01:15:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 01:15:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 01:15:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 01:15:20 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 01:15:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 01:15:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 01:15:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 01:15:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 01:15:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 01:15:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 01:15:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 01:15:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 01:15:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 01:15:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 01:15:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 01:15:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 01:15:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 08:56:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 08:56:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 08:56:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 08:56:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 08:56:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 08:56:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 08:56:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 08:56:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 08:56:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 08:56:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 08:56:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 08:56:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 08:56:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 08:56:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 08:56:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 08:56:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 08:56:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 08:56:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 08:56:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 08:56:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 08:56:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 08:56:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 08:56:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 08:56:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 08:56:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 08:56:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 08:56:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 08:56:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 08:56:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 08:56:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 08:56:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 08:56:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 08:56:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 08:56:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 08:56:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 08:56:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 08:56:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 08:56:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 08:56:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 08:56:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 08:56:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 08:56:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 08:56:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 08:56:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 08:56:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 08:56:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 08:56:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 08:56:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 08:56:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 08:56:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 08:56:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 08:56:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 08:56:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 08:56:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 08:56:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 08:56:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 08:56:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 08:56:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 08:56:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 08:56:20 UTC] 📊 Database Info:
[24-Nov-2025 08:56:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 08:56:20 UTC]    Books columns count: 45
[24-Nov-2025 08:56:20 UTC]    Categories columns count: 7
[24-Nov-2025 08:56:20 UTC]    Language field in books: YES
[24-Nov-2025 08:56:20 UTC]    Format field in books: YES
[24-Nov-2025 08:56:20 UTC]    Description field in categories: YES
[24-Nov-2025 08:56:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 08:56:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 08:56:20 UTC]    Is_active field in books: YES
[24-Nov-2025 08:56:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 08:56:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 08:56:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 08:56:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 08:56:20 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 08:56:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 08:56:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 08:56:20 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 08:56:20 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 08:56:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 08:56:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 08:56:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 08:56:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 08:56:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 08:56:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 08:56:20 UTC] 📊 Database Info:
[24-Nov-2025 08:56:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 08:56:20 UTC]    Books columns count: 45
[24-Nov-2025 08:56:20 UTC]    Categories columns count: 7
[24-Nov-2025 08:56:20 UTC]    Language field in books: YES
[24-Nov-2025 08:56:20 UTC]    Format field in books: YES
[24-Nov-2025 08:56:20 UTC]    Description field in categories: YES
[24-Nov-2025 08:56:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 08:56:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 08:56:20 UTC]    Is_active field in books: YES
[24-Nov-2025 08:56:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 08:56:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 08:56:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 08:56:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 08:56:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 08:56:20 UTC] 📊 Database Info:
[24-Nov-2025 08:56:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 08:56:20 UTC]    Books columns count: 45
[24-Nov-2025 08:56:20 UTC]    Categories columns count: 7
[24-Nov-2025 08:56:20 UTC]    Language field in books: YES
[24-Nov-2025 08:56:20 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 08:56:20 UTC]    Format field in books: YES
[24-Nov-2025 08:56:20 UTC]    Description field in categories: YES
[24-Nov-2025 08:56:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 08:56:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 08:56:20 UTC]    Is_active field in books: YES
[24-Nov-2025 08:56:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 08:56:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 08:56:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 08:56:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 08:56:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 08:56:20 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 08:56:20 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 08:56:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 08:56:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 08:56:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 08:56:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 08:56:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 08:56:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 08:56:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 08:56:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 08:56:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 08:56:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 08:56:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 08:56:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 08:56:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 08:56:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 08:56:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 08:56:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 08:56:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 08:56:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 08:56:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 08:56:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 08:56:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 08:56:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 08:56:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 08:56:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 08:56:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 08:56:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 08:56:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 08:56:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 08:56:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 08:56:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 08:56:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 08:56:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 08:56:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 08:56:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 08:56:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 08:56:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 08:56:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 08:56:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 08:56:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 08:56:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 08:56:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 08:56:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 08:56:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 08:56:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 08:56:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 08:56:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 08:56:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 08:56:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 08:56:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 08:56:22 UTC] 📊 Database Info:
[24-Nov-2025 08:56:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 08:56:22 UTC]    Books columns count: 45
[24-Nov-2025 08:56:22 UTC]    Categories columns count: 7
[24-Nov-2025 08:56:22 UTC]    Language field in books: YES
[24-Nov-2025 08:56:22 UTC]    Format field in books: YES
[24-Nov-2025 08:56:22 UTC]    Description field in categories: YES
[24-Nov-2025 08:56:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 08:56:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 08:56:22 UTC]    Is_active field in books: YES
[24-Nov-2025 08:56:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 08:56:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 08:56:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 08:56:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 08:56:22 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 08:56:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 08:56:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 08:56:22 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 08:56:22 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 08:56:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 08:56:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 08:56:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 08:56:22 UTC] 📊 Database Info:
[24-Nov-2025 08:56:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 08:56:22 UTC]    Books columns count: 45
[24-Nov-2025 08:56:22 UTC]    Categories columns count: 7
[24-Nov-2025 08:56:22 UTC]    Language field in books: YES
[24-Nov-2025 08:56:22 UTC]    Format field in books: YES
[24-Nov-2025 08:56:22 UTC]    Description field in categories: YES
[24-Nov-2025 08:56:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 08:56:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 08:56:22 UTC]    Is_active field in books: YES
[24-Nov-2025 08:56:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 08:56:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 08:56:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 08:56:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 08:56:22 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 08:56:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 08:56:22 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 08:56:22 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 08:56:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 08:56:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 08:56:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 08:56:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 08:56:22 UTC] 📊 Database Info:
[24-Nov-2025 08:56:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 08:56:22 UTC]    Books columns count: 45
[24-Nov-2025 08:56:22 UTC]    Categories columns count: 7
[24-Nov-2025 08:56:22 UTC]    Language field in books: YES
[24-Nov-2025 08:56:22 UTC]    Format field in books: YES
[24-Nov-2025 08:56:22 UTC]    Description field in categories: YES
[24-Nov-2025 08:56:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 08:56:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 08:56:22 UTC]    Is_active field in books: YES
[24-Nov-2025 08:56:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 08:56:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 08:56:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 08:56:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 08:56:22 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 08:56:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 08:56:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 08:56:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 08:56:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 08:56:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 08:56:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 08:56:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 08:56:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 08:56:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 08:56:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 08:56:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 08:56:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 08:56:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 08:56:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 08:56:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 08:56:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 08:56:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 08:56:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 08:56:23 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 08:56:23 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 08:56:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 08:56:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 08:56:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 08:56:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 08:56:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 08:56:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 08:56:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 08:56:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 08:56:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 08:56:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 08:56:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 08:56:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 08:56:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 08:56:23 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 08:56:23 UTC] 📊 Database Info:
[24-Nov-2025 08:56:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 08:56:23 UTC]    Books columns count: 45
[24-Nov-2025 08:56:23 UTC]    Categories columns count: 7
[24-Nov-2025 08:56:23 UTC]    Language field in books: YES
[24-Nov-2025 08:56:23 UTC]    Format field in books: YES
[24-Nov-2025 08:56:23 UTC]    Description field in categories: YES
[24-Nov-2025 08:56:23 UTC]    Display_order field in categories: YES
[24-Nov-2025 08:56:23 UTC]    Is_active field in categories: YES
[24-Nov-2025 08:56:23 UTC]    Is_active field in books: YES
[24-Nov-2025 08:56:23 UTC]    External_download_link field in books: YES
[24-Nov-2025 08:56:23 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 08:56:23 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 08:56:23 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 08:56:23 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 08:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 08:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 08:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 08:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 08:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 08:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 08:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 08:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 08:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 08:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 08:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 08:56:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 08:56:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 08:56:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 08:56:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 08:56:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 08:56:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 08:56:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 08:56:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 08:56:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 08:56:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 08:56:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 08:56:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 08:56:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 08:56:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 08:56:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 08:56:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 08:56:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 08:56:26 UTC] 📊 Database Info:
[24-Nov-2025 08:56:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 08:56:26 UTC]    Books columns count: 45
[24-Nov-2025 08:56:26 UTC]    Categories columns count: 7
[24-Nov-2025 08:56:26 UTC]    Language field in books: YES
[24-Nov-2025 08:56:26 UTC]    Format field in books: YES
[24-Nov-2025 08:56:26 UTC]    Description field in categories: YES
[24-Nov-2025 08:56:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 08:56:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 08:56:26 UTC]    Is_active field in books: YES
[24-Nov-2025 08:56:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 08:56:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 08:56:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 08:56:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 08:56:26 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 08:56:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 08:56:26 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[24-Nov-2025 08:56:26 UTC] ?? Processing: home_screen - show_welcome_section: 1
[24-Nov-2025 08:56:26 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[24-Nov-2025 08:56:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 08:56:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 08:56:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 08:56:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 08:56:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 08:56:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 08:56:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 08:56:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 08:56:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 08:56:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 08:56:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 08:56:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 08:56:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 08:56:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 08:56:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 08:56:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 08:56:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 08:56:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 08:56:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 08:56:26 UTC] 📊 Database Info:
[24-Nov-2025 08:56:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 08:56:26 UTC]    Books columns count: 45
[24-Nov-2025 08:56:26 UTC]    Categories columns count: 7
[24-Nov-2025 08:56:26 UTC]    Language field in books: YES
[24-Nov-2025 08:56:26 UTC]    Format field in books: YES
[24-Nov-2025 08:56:26 UTC]    Description field in categories: YES
[24-Nov-2025 08:56:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 08:56:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 08:56:26 UTC]    Is_active field in books: YES
[24-Nov-2025 08:56:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 08:56:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 08:56:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 08:56:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 08:56:26 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 08:56:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 08:56:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 08:56:26 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[24-Nov-2025 08:56:26 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[24-Nov-2025 08:56:26 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[24-Nov-2025 10:28:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 10:28:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 10:28:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 10:28:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 10:28:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 10:28:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 10:28:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 10:28:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 10:28:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 10:28:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 10:28:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 10:28:26 UTC] 📊 Database Info:
[24-Nov-2025 10:28:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 10:28:26 UTC]    Books columns count: 45
[24-Nov-2025 10:28:26 UTC]    Categories columns count: 7
[24-Nov-2025 10:28:26 UTC]    Language field in books: YES
[24-Nov-2025 10:28:26 UTC]    Format field in books: YES
[24-Nov-2025 10:28:26 UTC]    Description field in categories: YES
[24-Nov-2025 10:28:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 10:28:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 10:28:26 UTC]    Is_active field in books: YES
[24-Nov-2025 10:28:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 10:28:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 10:28:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 10:28:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 10:28:26 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 10:28:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 10:28:26 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 10:28:26 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 10:28:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 10:28:26 UTC] 📊 Database Info:
[24-Nov-2025 10:28:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 10:28:26 UTC]    Books columns count: 45
[24-Nov-2025 10:28:26 UTC]    Categories columns count: 7
[24-Nov-2025 10:28:26 UTC]    Language field in books: YES
[24-Nov-2025 10:28:26 UTC]    Format field in books: YES
[24-Nov-2025 10:28:26 UTC]    Description field in categories: YES
[24-Nov-2025 10:28:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 10:28:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 10:28:26 UTC]    Is_active field in books: YES
[24-Nov-2025 10:28:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 10:28:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 10:28:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 10:28:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 10:28:26 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 10:28:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 10:28:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 10:28:26 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 10:28:26 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 10:28:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 10:28:26 UTC] 📊 Database Info:
[24-Nov-2025 10:28:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 10:28:26 UTC]    Books columns count: 45
[24-Nov-2025 10:28:26 UTC]    Categories columns count: 7
[24-Nov-2025 10:28:26 UTC]    Language field in books: YES
[24-Nov-2025 10:28:26 UTC]    Format field in books: YES
[24-Nov-2025 10:28:26 UTC]    Description field in categories: YES
[24-Nov-2025 10:28:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 10:28:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 10:28:26 UTC]    Is_active field in books: YES
[24-Nov-2025 10:28:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 10:28:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 10:28:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 10:28:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 10:28:26 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 10:28:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 10:28:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 10:28:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 10:28:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 10:28:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 10:28:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 10:28:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 10:28:28 UTC] 📊 Database Info:
[24-Nov-2025 10:28:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 10:28:28 UTC]    Books columns count: 45
[24-Nov-2025 10:28:28 UTC]    Categories columns count: 7
[24-Nov-2025 10:28:28 UTC]    Language field in books: YES
[24-Nov-2025 10:28:28 UTC]    Format field in books: YES
[24-Nov-2025 10:28:28 UTC]    Description field in categories: YES
[24-Nov-2025 10:28:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 10:28:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 10:28:28 UTC]    Is_active field in books: YES
[24-Nov-2025 10:28:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 10:28:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 10:28:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 10:28:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 10:28:28 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 10:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 10:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 10:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 10:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 10:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 10:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 10:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 10:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 10:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 10:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 10:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 10:28:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 10:28:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 10:28:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 10:28:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 10:28:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 10:28:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 10:28:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 10:28:30 UTC] 📊 Database Info:
[24-Nov-2025 10:28:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 10:28:30 UTC]    Books columns count: 45
[24-Nov-2025 10:28:30 UTC]    Categories columns count: 7
[24-Nov-2025 10:28:30 UTC]    Language field in books: YES
[24-Nov-2025 10:28:30 UTC]    Format field in books: YES
[24-Nov-2025 10:28:30 UTC]    Description field in categories: YES
[24-Nov-2025 10:28:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 10:28:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 10:28:30 UTC]    Is_active field in books: YES
[24-Nov-2025 10:28:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 10:28:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 10:28:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 10:28:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 10:28:30 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 10:28:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 10:28:30 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[24-Nov-2025 10:28:30 UTC] ?? Processing: home_screen - show_welcome_section: 1
[24-Nov-2025 10:28:30 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[24-Nov-2025 10:28:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 10:28:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 10:28:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 10:28:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 10:28:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 10:28:30 UTC] 📊 Database Info:
[24-Nov-2025 10:28:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 10:28:30 UTC]    Books columns count: 45
[24-Nov-2025 10:28:30 UTC]    Categories columns count: 7
[24-Nov-2025 10:28:30 UTC]    Language field in books: YES
[24-Nov-2025 10:28:30 UTC]    Format field in books: YES
[24-Nov-2025 10:28:30 UTC]    Description field in categories: YES
[24-Nov-2025 10:28:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 10:28:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 10:28:30 UTC]    Is_active field in books: YES
[24-Nov-2025 10:28:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 10:28:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 10:28:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 10:28:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 10:28:30 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 10:28:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 10:28:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 10:28:30 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[24-Nov-2025 10:28:30 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[24-Nov-2025 10:28:30 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[24-Nov-2025 10:28:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 10:28:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 10:28:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 10:28:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 10:28:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 10:28:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 10:28:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 10:28:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 10:28:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 10:28:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 10:28:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 10:28:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 10:28:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 10:28:35 UTC] 📊 Database Info:
[24-Nov-2025 10:28:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 10:28:35 UTC]    Books columns count: 45
[24-Nov-2025 10:28:35 UTC]    Categories columns count: 7
[24-Nov-2025 10:28:35 UTC]    Language field in books: YES
[24-Nov-2025 10:28:35 UTC]    Format field in books: YES
[24-Nov-2025 10:28:35 UTC]    Description field in categories: YES
[24-Nov-2025 10:28:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 10:28:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 10:28:35 UTC]    Is_active field in books: YES
[24-Nov-2025 10:28:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 10:28:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 10:28:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 10:28:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 10:28:35 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 10:28:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 10:28:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 10:28:35 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 10:28:35 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 10:28:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 10:28:35 UTC] 📊 Database Info:
[24-Nov-2025 10:28:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 10:28:35 UTC]    Books columns count: 45
[24-Nov-2025 10:28:35 UTC]    Categories columns count: 7
[24-Nov-2025 10:28:35 UTC]    Language field in books: YES
[24-Nov-2025 10:28:35 UTC]    Format field in books: YES
[24-Nov-2025 10:28:35 UTC]    Description field in categories: YES
[24-Nov-2025 10:28:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 10:28:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 10:28:35 UTC]    Is_active field in books: YES
[24-Nov-2025 10:28:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 10:28:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 10:28:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 10:28:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 10:28:35 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 10:28:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 10:28:35 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 10:28:35 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 10:28:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 10:28:35 UTC] 📊 Database Info:
[24-Nov-2025 10:28:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 10:28:35 UTC]    Books columns count: 45
[24-Nov-2025 10:28:35 UTC]    Categories columns count: 7
[24-Nov-2025 10:28:35 UTC]    Language field in books: YES
[24-Nov-2025 10:28:35 UTC]    Format field in books: YES
[24-Nov-2025 10:28:35 UTC]    Description field in categories: YES
[24-Nov-2025 10:28:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 10:28:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 10:28:35 UTC]    Is_active field in books: YES
[24-Nov-2025 10:28:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 10:28:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 10:28:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 10:28:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 10:28:35 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 10:28:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 10:28:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 10:28:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 10:28:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 10:28:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:42 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 10:28:42 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 10:28:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:42 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 10:28:42 UTC] 📊 Database Info:
[24-Nov-2025 10:28:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 10:28:42 UTC]    Books columns count: 45
[24-Nov-2025 10:28:42 UTC]    Categories columns count: 7
[24-Nov-2025 10:28:42 UTC]    Language field in books: YES
[24-Nov-2025 10:28:42 UTC]    Format field in books: YES
[24-Nov-2025 10:28:42 UTC]    Description field in categories: YES
[24-Nov-2025 10:28:42 UTC]    Display_order field in categories: YES
[24-Nov-2025 10:28:42 UTC]    Is_active field in categories: YES
[24-Nov-2025 10:28:42 UTC]    Is_active field in books: YES
[24-Nov-2025 10:28:42 UTC]    External_download_link field in books: YES
[24-Nov-2025 10:28:42 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 10:28:42 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 10:28:42 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 10:28:42 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 10:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 10:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 10:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 10:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 10:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 10:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 10:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 10:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 10:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 10:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 10:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 10:28:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 10:28:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 10:28:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 10:28:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 10:28:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:44 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 10:28:44 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 10:28:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:44 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 10:28:44 UTC] 📊 Database Info:
[24-Nov-2025 10:28:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 10:28:44 UTC]    Books columns count: 45
[24-Nov-2025 10:28:44 UTC]    Categories columns count: 7
[24-Nov-2025 10:28:44 UTC]    Language field in books: YES
[24-Nov-2025 10:28:44 UTC]    Format field in books: YES
[24-Nov-2025 10:28:44 UTC]    Description field in categories: YES
[24-Nov-2025 10:28:44 UTC]    Display_order field in categories: YES
[24-Nov-2025 10:28:44 UTC]    Is_active field in categories: YES
[24-Nov-2025 10:28:44 UTC]    Is_active field in books: YES
[24-Nov-2025 10:28:44 UTC]    External_download_link field in books: YES
[24-Nov-2025 10:28:44 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 10:28:44 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 10:28:44 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 10:28:44 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 10:28:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 10:28:44 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[24-Nov-2025 10:28:44 UTC] ?? Processing: home_screen - show_welcome_section: 1
[24-Nov-2025 10:28:44 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[24-Nov-2025 10:28:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 10:28:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 10:28:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 10:28:44 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 10:28:44 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 10:28:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 10:28:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 10:28:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 10:28:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 10:28:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 10:28:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 10:28:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 10:28:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 10:28:44 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 10:28:44 UTC] 📊 Database Info:
[24-Nov-2025 10:28:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 10:28:44 UTC]    Books columns count: 45
[24-Nov-2025 10:28:44 UTC]    Categories columns count: 7
[24-Nov-2025 10:28:44 UTC]    Language field in books: YES
[24-Nov-2025 10:28:44 UTC]    Format field in books: YES
[24-Nov-2025 10:28:44 UTC]    Description field in categories: YES
[24-Nov-2025 10:28:44 UTC]    Display_order field in categories: YES
[24-Nov-2025 10:28:44 UTC]    Is_active field in categories: YES
[24-Nov-2025 10:28:44 UTC]    Is_active field in books: YES
[24-Nov-2025 10:28:44 UTC]    External_download_link field in books: YES
[24-Nov-2025 10:28:44 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 10:28:44 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 10:28:44 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 10:28:44 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 10:28:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 10:28:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 10:28:44 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[24-Nov-2025 10:28:44 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[24-Nov-2025 10:28:44 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[24-Nov-2025 12:21:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:21:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:21:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:21:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:21:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:21:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:21:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:21:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:21:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:21:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:21:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:21:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:21:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:21:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:21:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:21:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:21:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:21:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:21:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:21:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:21:43 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:21:43 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:21:43 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:21:43 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:21:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:21:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:21:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:21:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:21:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:21:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:21:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:21:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:21:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:21:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:21:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:21:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:21:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:21:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:21:43 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:21:43 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:21:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:21:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:21:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:21:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:21:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:21:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:21:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:21:43 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:21:43 UTC] 📊 Database Info:
[24-Nov-2025 12:21:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:21:43 UTC]    Books columns count: 45
[24-Nov-2025 12:21:43 UTC]    Categories columns count: 7
[24-Nov-2025 12:21:43 UTC]    Language field in books: YES
[24-Nov-2025 12:21:43 UTC]    Format field in books: YES
[24-Nov-2025 12:21:43 UTC]    Description field in categories: YES
[24-Nov-2025 12:21:43 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:21:43 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:21:43 UTC]    Is_active field in books: YES
[24-Nov-2025 12:21:43 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:21:43 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:21:43 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:21:43 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:21:43 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:21:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:21:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 12:21:43 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 12:21:43 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 12:21:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:21:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:21:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:21:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:21:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:21:43 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:21:43 UTC] 📊 Database Info:
[24-Nov-2025 12:21:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:21:43 UTC]    Books columns count: 45
[24-Nov-2025 12:21:43 UTC]    Categories columns count: 7
[24-Nov-2025 12:21:43 UTC]    Language field in books: YES
[24-Nov-2025 12:21:43 UTC]    Format field in books: YES
[24-Nov-2025 12:21:43 UTC]    Description field in categories: YES
[24-Nov-2025 12:21:43 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:21:43 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:21:43 UTC]    Is_active field in books: YES
[24-Nov-2025 12:21:43 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:21:43 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:21:43 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:21:43 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:21:43 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:21:43 UTC] 📊 Database Info:
[24-Nov-2025 12:21:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:21:43 UTC]    Books columns count: 45
[24-Nov-2025 12:21:43 UTC]    Categories columns count: 7
[24-Nov-2025 12:21:43 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:21:43 UTC]    Language field in books: YES
[24-Nov-2025 12:21:43 UTC]    Format field in books: YES
[24-Nov-2025 12:21:43 UTC]    Description field in categories: YES
[24-Nov-2025 12:21:43 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:21:43 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:21:43 UTC]    Is_active field in books: YES
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:21:43 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:21:43 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:21:43 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:21:43 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:21:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:21:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:21:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:21:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:21:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:21:45 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:21:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:21:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:21:45 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:21:45 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:21:45 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:21:45 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:21:45 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:21:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:21:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:21:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:21:45 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:21:45 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:21:45 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:21:45 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:21:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:21:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:21:45 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:21:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:21:45 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:21:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:21:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:21:45 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:21:45 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:21:45 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:21:45 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:21:45 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:21:45 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:21:45 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:21:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:21:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:21:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:21:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:21:45 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:21:45 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:21:45 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:21:45 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:21:45 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:21:45 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:21:45 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:21:45 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:21:45 UTC] 📊 Database Info:
[24-Nov-2025 12:21:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:21:45 UTC]    Books columns count: 45
[24-Nov-2025 12:21:45 UTC]    Categories columns count: 7
[24-Nov-2025 12:21:45 UTC]    Language field in books: YES
[24-Nov-2025 12:21:45 UTC]    Format field in books: YES
[24-Nov-2025 12:21:45 UTC]    Description field in categories: YES
[24-Nov-2025 12:21:45 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:21:45 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:21:45 UTC]    Is_active field in books: YES
[24-Nov-2025 12:21:45 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:21:45 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:21:45 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:21:45 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:21:45 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:21:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:21:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 12:21:45 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 12:21:45 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 12:21:45 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:21:45 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:21:45 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:21:45 UTC] 📊 Database Info:
[24-Nov-2025 12:21:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:21:45 UTC]    Books columns count: 45
[24-Nov-2025 12:21:45 UTC]    Categories columns count: 7
[24-Nov-2025 12:21:45 UTC]    Language field in books: YES
[24-Nov-2025 12:21:45 UTC]    Format field in books: YES
[24-Nov-2025 12:21:45 UTC]    Description field in categories: YES
[24-Nov-2025 12:21:45 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:21:45 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:21:45 UTC]    Is_active field in books: YES
[24-Nov-2025 12:21:45 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:21:45 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:21:45 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:21:45 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:21:45 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:21:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:21:45 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:21:45 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:21:45 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:21:45 UTC] 📊 Database Info:
[24-Nov-2025 12:21:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:21:45 UTC]    Books columns count: 45
[24-Nov-2025 12:21:45 UTC]    Categories columns count: 7
[24-Nov-2025 12:21:45 UTC]    Language field in books: YES
[24-Nov-2025 12:21:45 UTC]    Format field in books: YES
[24-Nov-2025 12:21:45 UTC]    Description field in categories: YES
[24-Nov-2025 12:21:45 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:21:45 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:21:45 UTC]    Is_active field in books: YES
[24-Nov-2025 12:21:45 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:21:45 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:21:45 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:21:45 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:21:45 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:21:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:21:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:21:45 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:21:45 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:21:45 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:21:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:21:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:21:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:21:45 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:21:45 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:21:45 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:21:45 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:21:45 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:21:45 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:21:45 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:21:45 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:21:45 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:21:45 UTC] 📊 Database Info:
[24-Nov-2025 12:21:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:21:45 UTC]    Books columns count: 45
[24-Nov-2025 12:21:45 UTC]    Categories columns count: 7
[24-Nov-2025 12:21:45 UTC]    Language field in books: YES
[24-Nov-2025 12:21:45 UTC]    Format field in books: YES
[24-Nov-2025 12:21:45 UTC]    Description field in categories: YES
[24-Nov-2025 12:21:45 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:21:45 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:21:45 UTC]    Is_active field in books: YES
[24-Nov-2025 12:21:45 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:21:45 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:21:45 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:21:45 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:21:45 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:21:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:21:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:21:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 12:21:45 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 12:21:45 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 12:21:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:21:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:21:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:21:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:21:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:21:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:21:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:21:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:21:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:21:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:21:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:21:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:21:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:21:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:21:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:21:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:21:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:21:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:21:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:21:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:21:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:21:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:21:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:21:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:21:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:21:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:21:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:21:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:21:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:21:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:21:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:21:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:21:49 UTC] 📊 Database Info:
[24-Nov-2025 12:21:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:21:49 UTC]    Books columns count: 45
[24-Nov-2025 12:21:49 UTC]    Categories columns count: 7
[24-Nov-2025 12:21:49 UTC]    Language field in books: YES
[24-Nov-2025 12:21:49 UTC]    Format field in books: YES
[24-Nov-2025 12:21:49 UTC]    Description field in categories: YES
[24-Nov-2025 12:21:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:21:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:21:49 UTC]    Is_active field in books: YES
[24-Nov-2025 12:21:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:21:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:21:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:21:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:21:49 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:21:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:21:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:21:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:21:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:21:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:21:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:21:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:21:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:21:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:21:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:21:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:21:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:21:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:21:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 12:21:49 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 12:21:49 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 12:22:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:22:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:22:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:22:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:22:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:22:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:22:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:22:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:22:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:22:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:22:08 UTC] 📊 Database Info:
[24-Nov-2025 12:22:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:22:08 UTC]    Books columns count: 45
[24-Nov-2025 12:22:08 UTC]    Categories columns count: 7
[24-Nov-2025 12:22:08 UTC]    Language field in books: YES
[24-Nov-2025 12:22:08 UTC]    Format field in books: YES
[24-Nov-2025 12:22:08 UTC]    Description field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Is_active field in books: YES
[24-Nov-2025 12:22:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:22:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:22:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:22:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:22:08 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:22:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:22:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:22:08 UTC] 📊 Database Info:
[24-Nov-2025 12:22:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:22:08 UTC]    Books columns count: 45
[24-Nov-2025 12:22:08 UTC]    Categories columns count: 7
[24-Nov-2025 12:22:08 UTC]    Language field in books: YES
[24-Nov-2025 12:22:08 UTC]    Format field in books: YES
[24-Nov-2025 12:22:08 UTC]    Description field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Is_active field in books: YES
[24-Nov-2025 12:22:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:22:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:22:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:22:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:22:08 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:22:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:22:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 12:22:08 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 12:22:08 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 12:22:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:22:08 UTC] 📊 Database Info:
[24-Nov-2025 12:22:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:22:08 UTC]    Books columns count: 45
[24-Nov-2025 12:22:08 UTC]    Categories columns count: 7
[24-Nov-2025 12:22:08 UTC]    Language field in books: YES
[24-Nov-2025 12:22:08 UTC]    Format field in books: YES
[24-Nov-2025 12:22:08 UTC]    Description field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Is_active field in books: YES
[24-Nov-2025 12:22:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:22:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:22:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:22:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:22:08 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:22:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:22:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:22:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:22:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:22:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:22:08 UTC] 📊 Database Info:
[24-Nov-2025 12:22:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:22:08 UTC]    Books columns count: 45
[24-Nov-2025 12:22:08 UTC]    Categories columns count: 7
[24-Nov-2025 12:22:08 UTC]    Language field in books: YES
[24-Nov-2025 12:22:08 UTC]    Format field in books: YES
[24-Nov-2025 12:22:08 UTC]    Description field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Is_active field in books: YES
[24-Nov-2025 12:22:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:22:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:22:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:22:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:22:08 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:22:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:22:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 12:22:08 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 12:22:08 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 12:22:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:22:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:22:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:22:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:22:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:22:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:22:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:22:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:22:08 UTC] 📊 Database Info:
[24-Nov-2025 12:22:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:22:08 UTC]    Books columns count: 45
[24-Nov-2025 12:22:08 UTC]    Categories columns count: 7
[24-Nov-2025 12:22:08 UTC]    Language field in books: YES
[24-Nov-2025 12:22:08 UTC]    Format field in books: YES
[24-Nov-2025 12:22:08 UTC]    Description field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Is_active field in books: YES
[24-Nov-2025 12:22:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:22:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:22:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:22:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:22:08 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:22:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:22:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:22:08 UTC] 📊 Database Info:
[24-Nov-2025 12:22:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:22:08 UTC]    Books columns count: 45
[24-Nov-2025 12:22:08 UTC]    Categories columns count: 7
[24-Nov-2025 12:22:08 UTC]    Language field in books: YES
[24-Nov-2025 12:22:08 UTC]    Format field in books: YES
[24-Nov-2025 12:22:08 UTC]    Description field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Is_active field in books: YES
[24-Nov-2025 12:22:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:22:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:22:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:22:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:22:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:22:08 UTC] 📊 Database Info:
[24-Nov-2025 12:22:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:22:08 UTC]    Books columns count: 45
[24-Nov-2025 12:22:08 UTC]    Categories columns count: 7
[24-Nov-2025 12:22:08 UTC]    Language field in books: YES
[24-Nov-2025 12:22:08 UTC]    Format field in books: YES
[24-Nov-2025 12:22:08 UTC]    Description field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Is_active field in books: YES
[24-Nov-2025 12:22:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:22:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:22:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:22:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:22:08 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:22:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:22:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:22:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 12:22:08 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 12:22:08 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 12:22:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:22:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:22:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:22:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:22:08 UTC] 📊 Database Info:
[24-Nov-2025 12:22:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:22:08 UTC]    Books columns count: 45
[24-Nov-2025 12:22:08 UTC]    Categories columns count: 7
[24-Nov-2025 12:22:08 UTC]    Language field in books: YES
[24-Nov-2025 12:22:08 UTC]    Format field in books: YES
[24-Nov-2025 12:22:08 UTC]    Description field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:22:08 UTC]    Is_active field in books: YES
[24-Nov-2025 12:22:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:22:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:22:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:22:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:22:08 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:22:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:22:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:22:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 12:22:08 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 12:22:08 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 12:22:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:22:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:22:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:09 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:22:09 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:22:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:09 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:22:09 UTC] 📊 Database Info:
[24-Nov-2025 12:22:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:22:09 UTC]    Books columns count: 45
[24-Nov-2025 12:22:09 UTC]    Categories columns count: 7
[24-Nov-2025 12:22:09 UTC]    Language field in books: YES
[24-Nov-2025 12:22:09 UTC]    Format field in books: YES
[24-Nov-2025 12:22:09 UTC]    Description field in categories: YES
[24-Nov-2025 12:22:09 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:22:09 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:22:09 UTC]    Is_active field in books: YES
[24-Nov-2025 12:22:09 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:22:09 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:22:09 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:22:09 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:22:09 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:22:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:22:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 12:22:09 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 12:22:09 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 12:22:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:22:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:22:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:22:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:22:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:09 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:22:09 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:22:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:22:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:22:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:09 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:22:09 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:22:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:09 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:22:09 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:09 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:22:09 UTC] 📊 Database Info:
[24-Nov-2025 12:22:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:22:09 UTC]    Books columns count: 45
[24-Nov-2025 12:22:09 UTC]    Categories columns count: 7
[24-Nov-2025 12:22:09 UTC]    Language field in books: YES
[24-Nov-2025 12:22:09 UTC]    Format field in books: YES
[24-Nov-2025 12:22:09 UTC]    Description field in categories: YES
[24-Nov-2025 12:22:09 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:22:09 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:22:09 UTC]    Is_active field in books: YES
[24-Nov-2025 12:22:09 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:22:09 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:22:09 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:22:09 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:22:09 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:22:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:22:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:09 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:22:09 UTC] 📊 Database Info:
[24-Nov-2025 12:22:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:22:09 UTC]    Books columns count: 45
[24-Nov-2025 12:22:09 UTC]    Categories columns count: 7
[24-Nov-2025 12:22:09 UTC]    Language field in books: YES
[24-Nov-2025 12:22:09 UTC]    Format field in books: YES
[24-Nov-2025 12:22:09 UTC]    Description field in categories: YES
[24-Nov-2025 12:22:09 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:22:09 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:22:09 UTC]    Is_active field in books: YES
[24-Nov-2025 12:22:09 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:22:09 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:22:09 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:22:09 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:22:09 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:22:09 UTC] 📊 Database Info:
[24-Nov-2025 12:22:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:22:09 UTC]    Books columns count: 45
[24-Nov-2025 12:22:09 UTC]    Categories columns count: 7
[24-Nov-2025 12:22:09 UTC]    Language field in books: YES
[24-Nov-2025 12:22:09 UTC]    Format field in books: YES
[24-Nov-2025 12:22:09 UTC]    Description field in categories: YES
[24-Nov-2025 12:22:09 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:22:09 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:22:09 UTC]    Is_active field in books: YES
[24-Nov-2025 12:22:09 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:22:09 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:22:09 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:22:09 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:22:09 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:22:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:22:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 12:22:09 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:22:09 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:22:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:22:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:22:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:22:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:09 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:22:09 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:22:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:09 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:22:09 UTC] 📊 Database Info:
[24-Nov-2025 12:22:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:22:09 UTC]    Books columns count: 45
[24-Nov-2025 12:22:09 UTC]    Categories columns count: 7
[24-Nov-2025 12:22:09 UTC]    Language field in books: YES
[24-Nov-2025 12:22:09 UTC]    Format field in books: YES
[24-Nov-2025 12:22:09 UTC]    Description field in categories: YES
[24-Nov-2025 12:22:09 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:22:09 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:22:09 UTC]    Is_active field in books: YES
[24-Nov-2025 12:22:09 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:22:09 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:22:09 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:22:09 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:22:09 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:22:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:22:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 12:22:09 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 12:22:09 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 12:22:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:22:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:22:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:09 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:22:09 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:22:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:09 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:22:09 UTC] 📊 Database Info:
[24-Nov-2025 12:22:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:22:09 UTC]    Books columns count: 45
[24-Nov-2025 12:22:09 UTC]    Categories columns count: 7
[24-Nov-2025 12:22:09 UTC]    Language field in books: YES
[24-Nov-2025 12:22:09 UTC]    Format field in books: YES
[24-Nov-2025 12:22:09 UTC]    Description field in categories: YES
[24-Nov-2025 12:22:09 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:22:09 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:22:09 UTC]    Is_active field in books: YES
[24-Nov-2025 12:22:09 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:22:09 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:22:09 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:22:09 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:22:09 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:22:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:22:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:22:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 12:22:09 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 12:22:09 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 12:22:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 12:22:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 12:22:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 12:22:10 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 12:22:10 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 12:22:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 12:22:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 12:22:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 12:22:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 12:22:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 12:22:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 12:22:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 12:22:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 12:22:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 12:22:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 12:22:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 12:22:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 12:22:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 12:22:10 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 12:22:10 UTC] 📊 Database Info:
[24-Nov-2025 12:22:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 12:22:10 UTC]    Books columns count: 45
[24-Nov-2025 12:22:10 UTC]    Categories columns count: 7
[24-Nov-2025 12:22:10 UTC]    Language field in books: YES
[24-Nov-2025 12:22:10 UTC]    Format field in books: YES
[24-Nov-2025 12:22:10 UTC]    Description field in categories: YES
[24-Nov-2025 12:22:10 UTC]    Display_order field in categories: YES
[24-Nov-2025 12:22:10 UTC]    Is_active field in categories: YES
[24-Nov-2025 12:22:10 UTC]    Is_active field in books: YES
[24-Nov-2025 12:22:10 UTC]    External_download_link field in books: YES
[24-Nov-2025 12:22:10 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 12:22:10 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 12:22:10 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 12:22:10 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 12:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 12:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 12:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 12:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 12:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 12:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 12:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 12:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 12:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 12:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 12:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 12:22:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 12:22:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 12:22:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 12:22:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 12:22:10 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 13:11:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:11:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:11:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:11:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:11:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:11:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:11:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:11:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:11:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:11:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:11:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:11:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:11:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:11:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:11:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:11:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:11:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:11:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:11:33 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:11:33 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:11:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:11:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:11:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:11:33 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:11:33 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:11:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:11:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:11:33 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:11:33 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:11:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:11:33 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:11:33 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:11:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:11:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:11:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:11:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:11:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:11:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:11:33 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:11:33 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:11:33 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:11:33 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:11:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:11:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:11:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:11:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:11:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:11:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:11:33 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:11:33 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:11:33 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:11:33 UTC] 📊 Database Info:
[24-Nov-2025 13:11:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:11:33 UTC]    Books columns count: 45
[24-Nov-2025 13:11:33 UTC]    Categories columns count: 7
[24-Nov-2025 13:11:33 UTC]    Language field in books: YES
[24-Nov-2025 13:11:33 UTC]    Format field in books: YES
[24-Nov-2025 13:11:33 UTC]    Description field in categories: YES
[24-Nov-2025 13:11:33 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:11:33 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:11:33 UTC]    Is_active field in books: YES
[24-Nov-2025 13:11:33 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:11:33 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:11:33 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:11:33 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:11:33 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:11:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:11:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 13:11:33 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 13:11:33 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:11:33 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:11:33 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:11:33 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:11:33 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:11:33 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:11:33 UTC] 📊 Database Info:
[24-Nov-2025 13:11:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:11:33 UTC]    Books columns count: 45
[24-Nov-2025 13:11:33 UTC]    Categories columns count: 7
[24-Nov-2025 13:11:33 UTC]    Language field in books: YES
[24-Nov-2025 13:11:33 UTC]    Format field in books: YES
[24-Nov-2025 13:11:33 UTC]    Description field in categories: YES
[24-Nov-2025 13:11:33 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:11:33 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:11:33 UTC]    Is_active field in books: YES
[24-Nov-2025 13:11:33 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:11:33 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:11:33 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:11:33 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:11:33 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:11:33 UTC] 📊 Database Info:
[24-Nov-2025 13:11:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:11:33 UTC]    Books columns count: 45
[24-Nov-2025 13:11:33 UTC]    Categories columns count: 7
[24-Nov-2025 13:11:33 UTC]    Language field in books: YES
[24-Nov-2025 13:11:33 UTC]    Format field in books: YES
[24-Nov-2025 13:11:33 UTC]    Description field in categories: YES
[24-Nov-2025 13:11:33 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:11:33 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:11:33 UTC]    Is_active field in books: YES
[24-Nov-2025 13:11:33 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:11:33 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:11:33 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:11:33 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:11:33 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:11:33 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:11:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:11:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:11:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:11:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 13:11:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 13:11:33 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 13:11:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:11:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:11:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:11:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:11:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:11:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:11:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:11:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:11:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:11:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:11:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:11:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:11:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:11:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:11:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:11:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:11:34 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:11:34 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:11:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:11:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:11:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:11:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:11:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:11:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:11:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:11:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:11:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:11:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:11:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:11:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:11:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:11:34 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:11:34 UTC] 📊 Database Info:
[24-Nov-2025 13:11:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:11:34 UTC]    Books columns count: 45
[24-Nov-2025 13:11:34 UTC]    Categories columns count: 7
[24-Nov-2025 13:11:34 UTC]    Language field in books: YES
[24-Nov-2025 13:11:34 UTC]    Format field in books: YES
[24-Nov-2025 13:11:34 UTC]    Description field in categories: YES
[24-Nov-2025 13:11:34 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:11:34 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:11:34 UTC]    Is_active field in books: YES
[24-Nov-2025 13:11:34 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:11:34 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:11:34 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:11:34 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:11:34 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:11:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:11:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:11:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:11:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:11:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:11:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:11:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:11:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:11:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:11:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:11:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:11:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:11:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:11:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:11:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:11:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:11:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:11:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:11:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:11:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:11:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:11:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:11:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:11:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:11:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:11:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:11:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:11:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:11:37 UTC] 📊 Database Info:
[24-Nov-2025 13:11:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:11:37 UTC]    Books columns count: 45
[24-Nov-2025 13:11:37 UTC]    Categories columns count: 7
[24-Nov-2025 13:11:37 UTC]    Language field in books: YES
[24-Nov-2025 13:11:37 UTC]    Format field in books: YES
[24-Nov-2025 13:11:37 UTC]    Description field in categories: YES
[24-Nov-2025 13:11:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:11:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:11:37 UTC]    Is_active field in books: YES
[24-Nov-2025 13:11:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:11:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:11:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:11:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:11:37 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:11:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:11:37 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[24-Nov-2025 13:11:37 UTC] ?? Processing: home_screen - show_welcome_section: 1
[24-Nov-2025 13:11:37 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[24-Nov-2025 13:11:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:11:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:11:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:11:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:11:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:11:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:11:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:11:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:11:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:11:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:11:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:11:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:11:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:11:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:11:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:11:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:11:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:11:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:11:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:11:37 UTC] 📊 Database Info:
[24-Nov-2025 13:11:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:11:37 UTC]    Books columns count: 45
[24-Nov-2025 13:11:37 UTC]    Categories columns count: 7
[24-Nov-2025 13:11:37 UTC]    Language field in books: YES
[24-Nov-2025 13:11:37 UTC]    Format field in books: YES
[24-Nov-2025 13:11:37 UTC]    Description field in categories: YES
[24-Nov-2025 13:11:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:11:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:11:37 UTC]    Is_active field in books: YES
[24-Nov-2025 13:11:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:11:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:11:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:11:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:11:37 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:11:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:11:37 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[24-Nov-2025 13:11:37 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[24-Nov-2025 13:11:37 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[24-Nov-2025 13:24:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:24:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:24:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:24:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:24:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:24:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:24:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:24:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:24:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:24:14 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:24:14 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:24:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:24:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:24:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:24:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:24:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:24:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:24:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:24:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:24:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:24:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:24:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:24:14 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:24:14 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:24:14 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:24:14 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:24:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:24:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:24:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:24:14 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:24:14 UTC] 📊 Database Info:
[24-Nov-2025 13:24:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:24:14 UTC]    Books columns count: 45
[24-Nov-2025 13:24:14 UTC]    Categories columns count: 7
[24-Nov-2025 13:24:14 UTC]    Language field in books: YES
[24-Nov-2025 13:24:14 UTC]    Format field in books: YES
[24-Nov-2025 13:24:14 UTC]    Description field in categories: YES
[24-Nov-2025 13:24:14 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:24:14 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:24:14 UTC]    Is_active field in books: YES
[24-Nov-2025 13:24:14 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:24:14 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:24:14 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:24:14 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:24:14 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:24:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:24:14 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 13:24:14 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 13:24:14 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 13:24:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:24:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:24:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:24:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:24:14 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:24:14 UTC] 📊 Database Info:
[24-Nov-2025 13:24:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:24:14 UTC]    Books columns count: 45
[24-Nov-2025 13:24:14 UTC]    Categories columns count: 7
[24-Nov-2025 13:24:14 UTC]    Language field in books: YES
[24-Nov-2025 13:24:14 UTC]    Format field in books: YES
[24-Nov-2025 13:24:14 UTC]    Description field in categories: YES
[24-Nov-2025 13:24:14 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:24:14 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:24:14 UTC]    Is_active field in books: YES
[24-Nov-2025 13:24:14 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:24:14 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:24:14 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:24:14 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:24:14 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:24:14 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:24:14 UTC] 📊 Database Info:
[24-Nov-2025 13:24:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:24:14 UTC]    Books columns count: 45
[24-Nov-2025 13:24:14 UTC]    Categories columns count: 7
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:24:14 UTC]    Language field in books: YES
[24-Nov-2025 13:24:14 UTC]    Format field in books: YES
[24-Nov-2025 13:24:14 UTC]    Description field in categories: YES
[24-Nov-2025 13:24:14 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:24:14 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:24:14 UTC]    Is_active field in books: YES
[24-Nov-2025 13:24:14 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:24:14 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:24:14 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:24:14 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:24:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:24:14 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:24:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:24:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:24:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:24:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:24:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:24:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:24:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:24:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:24:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:24:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:24:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:24:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:24:14 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:24:14 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:24:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:24:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:24:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:24:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:24:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:24:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:24:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:24:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:24:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:24:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:24:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:24:14 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:24:14 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:24:14 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:24:14 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:24:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:24:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:24:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:24:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:24:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:24:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:24:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:24:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:24:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:24:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:24:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:24:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:24:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:24:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:24:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:24:15 UTC] 📊 Database Info:
[24-Nov-2025 13:24:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:24:15 UTC]    Books columns count: 45
[24-Nov-2025 13:24:15 UTC]    Categories columns count: 7
[24-Nov-2025 13:24:15 UTC]    Language field in books: YES
[24-Nov-2025 13:24:15 UTC]    Format field in books: YES
[24-Nov-2025 13:24:15 UTC]    Description field in categories: YES
[24-Nov-2025 13:24:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:24:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:24:15 UTC]    Is_active field in books: YES
[24-Nov-2025 13:24:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:24:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:24:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:24:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:24:15 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:24:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:24:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:24:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:24:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:24:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:24:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:24:15 UTC] 📊 Database Info:
[24-Nov-2025 13:24:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:24:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:24:15 UTC] 📊 Database Info:
[24-Nov-2025 13:24:15 UTC]    Books columns count: 45
[24-Nov-2025 13:24:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:24:15 UTC]    Categories columns count: 7
[24-Nov-2025 13:24:15 UTC]    Books columns count: 45
[24-Nov-2025 13:24:15 UTC]    Categories columns count: 7
[24-Nov-2025 13:24:15 UTC]    Language field in books: YES
[24-Nov-2025 13:24:15 UTC]    Language field in books: YES
[24-Nov-2025 13:24:15 UTC]    Format field in books: YES
[24-Nov-2025 13:24:15 UTC]    Format field in books: YES
[24-Nov-2025 13:24:15 UTC]    Description field in categories: YES
[24-Nov-2025 13:24:15 UTC]    Description field in categories: YES
[24-Nov-2025 13:24:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:24:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:24:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:24:15 UTC]    Is_active field in books: YES
[24-Nov-2025 13:24:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:24:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:24:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:24:15 UTC]    Is_active field in books: YES
[24-Nov-2025 13:24:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:24:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:24:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:24:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:24:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:24:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:24:15 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:24:15 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:24:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:24:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 13:24:15 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:24:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:24:15 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 13:24:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:24:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:24:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:24:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:24:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:24:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:24:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:24:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:24:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:24:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:24:15 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:24:15 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:24:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:24:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:24:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:24:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:24:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:24:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:24:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:24:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:24:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:24:15 UTC] 📊 Database Info:
[24-Nov-2025 13:24:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:24:15 UTC]    Books columns count: 45
[24-Nov-2025 13:24:15 UTC]    Categories columns count: 7
[24-Nov-2025 13:24:15 UTC]    Language field in books: YES
[24-Nov-2025 13:24:15 UTC]    Format field in books: YES
[24-Nov-2025 13:24:15 UTC]    Description field in categories: YES
[24-Nov-2025 13:24:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:24:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:24:15 UTC]    Is_active field in books: YES
[24-Nov-2025 13:24:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:24:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:24:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:24:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:24:15 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:24:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:24:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:24:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 13:24:15 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 13:24:15 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 13:53:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:53:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:19 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:19 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:19 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:19 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:19 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:53:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:19 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:53:19 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:53:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:19 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:19 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:19 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:19 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:19 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:19 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:53:19 UTC] 📊 Database Info:
[24-Nov-2025 13:53:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:53:19 UTC]    Books columns count: 45
[24-Nov-2025 13:53:19 UTC]    Categories columns count: 7
[24-Nov-2025 13:53:19 UTC]    Language field in books: YES
[24-Nov-2025 13:53:19 UTC]    Format field in books: YES
[24-Nov-2025 13:53:19 UTC]    Description field in categories: YES
[24-Nov-2025 13:53:19 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:53:19 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:53:19 UTC]    Is_active field in books: YES
[24-Nov-2025 13:53:19 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:53:19 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:53:19 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:53:19 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:53:19 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:53:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:53:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:53:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:53:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:53:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:53:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:53:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:53:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:53:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:53:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:53:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:53:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:53:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:53:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 13:53:19 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 13:53:19 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 13:53:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:53:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:53:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:53:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:53:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:53:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:53:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:53:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:53:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:53:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:53:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:53:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:53:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:53:21 UTC] 📊 Database Info:
[24-Nov-2025 13:53:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:53:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:21 UTC]    Books columns count: 45
[24-Nov-2025 13:53:21 UTC]    Categories columns count: 7
[24-Nov-2025 13:53:21 UTC]    Language field in books: YES
[24-Nov-2025 13:53:21 UTC]    Format field in books: YES
[24-Nov-2025 13:53:21 UTC]    Description field in categories: YES
[24-Nov-2025 13:53:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:53:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:53:21 UTC]    Is_active field in books: YES
[24-Nov-2025 13:53:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:53:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:53:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:53:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:53:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:53:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:53:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:53:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 13:53:21 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 13:53:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:21 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:53:21 UTC] 📊 Database Info:
[24-Nov-2025 13:53:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:53:21 UTC]    Books columns count: 45
[24-Nov-2025 13:53:21 UTC]    Categories columns count: 7
[24-Nov-2025 13:53:21 UTC]    Language field in books: YES
[24-Nov-2025 13:53:21 UTC]    Format field in books: YES
[24-Nov-2025 13:53:21 UTC]    Description field in categories: YES
[24-Nov-2025 13:53:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:53:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:53:21 UTC]    Is_active field in books: YES
[24-Nov-2025 13:53:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:53:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:53:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:53:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:53:21 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:53:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:53:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:53:21 UTC] 📊 Database Info:
[24-Nov-2025 13:53:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:53:21 UTC]    Books columns count: 45
[24-Nov-2025 13:53:21 UTC]    Categories columns count: 7
[24-Nov-2025 13:53:21 UTC]    Language field in books: YES
[24-Nov-2025 13:53:21 UTC]    Format field in books: YES
[24-Nov-2025 13:53:21 UTC]    Description field in categories: YES
[24-Nov-2025 13:53:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:53:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:53:21 UTC]    Is_active field in books: YES
[24-Nov-2025 13:53:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:53:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:53:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:53:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:53:21 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:53:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:53:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:53:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:53:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:53:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:53:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:53:21 UTC] 📊 Database Info:
[24-Nov-2025 13:53:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:53:21 UTC]    Books columns count: 45
[24-Nov-2025 13:53:21 UTC]    Categories columns count: 7
[24-Nov-2025 13:53:21 UTC]    Language field in books: YES
[24-Nov-2025 13:53:21 UTC]    Format field in books: YES
[24-Nov-2025 13:53:21 UTC]    Description field in categories: YES
[24-Nov-2025 13:53:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:53:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:53:21 UTC]    Is_active field in books: YES
[24-Nov-2025 13:53:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:53:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:53:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:53:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:53:21 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:53:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:53:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:53:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 13:53:21 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[24-Nov-2025 13:53:21 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[24-Nov-2025 13:53:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:53:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:53:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:53:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:53:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:53:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:53:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:53:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:53:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:53:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:53:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:53:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:53:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:53:30 UTC] 📊 Database Info:
[24-Nov-2025 13:53:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:53:30 UTC]    Books columns count: 45
[24-Nov-2025 13:53:30 UTC]    Categories columns count: 7
[24-Nov-2025 13:53:30 UTC]    Language field in books: YES
[24-Nov-2025 13:53:30 UTC]    Format field in books: YES
[24-Nov-2025 13:53:30 UTC]    Description field in categories: YES
[24-Nov-2025 13:53:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:53:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:53:30 UTC]    Is_active field in books: YES
[24-Nov-2025 13:53:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:53:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:53:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:53:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:53:30 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:53:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:53:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:53:30 UTC] 📊 Database Info:
[24-Nov-2025 13:53:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:53:30 UTC]    Books columns count: 45
[24-Nov-2025 13:53:30 UTC]    Categories columns count: 7
[24-Nov-2025 13:53:30 UTC]    Language field in books: YES
[24-Nov-2025 13:53:30 UTC]    Format field in books: YES
[24-Nov-2025 13:53:30 UTC]    Description field in categories: YES
[24-Nov-2025 13:53:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:53:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:53:30 UTC]    Is_active field in books: YES
[24-Nov-2025 13:53:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:53:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:53:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:53:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:53:30 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:53:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:53:30 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 13:53:30 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 13:53:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:53:30 UTC] 📊 Database Info:
[24-Nov-2025 13:53:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:53:30 UTC]    Books columns count: 45
[24-Nov-2025 13:53:30 UTC]    Categories columns count: 7
[24-Nov-2025 13:53:30 UTC]    Language field in books: YES
[24-Nov-2025 13:53:30 UTC]    Format field in books: YES
[24-Nov-2025 13:53:30 UTC]    Description field in categories: YES
[24-Nov-2025 13:53:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:53:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:53:30 UTC]    Is_active field in books: YES
[24-Nov-2025 13:53:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:53:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:53:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:53:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:53:30 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:53:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:53:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:53:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:53:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 13:53:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:53:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:53:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:53:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:53:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:53:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:53:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 13:53:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 13:53:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 13:53:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 13:53:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:53:30 UTC] 📊 Database Info:
[24-Nov-2025 13:53:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:53:30 UTC]    Books columns count: 45
[24-Nov-2025 13:53:30 UTC]    Categories columns count: 7
[24-Nov-2025 13:53:30 UTC]    Language field in books: YES
[24-Nov-2025 13:53:30 UTC]    Format field in books: YES
[24-Nov-2025 13:53:30 UTC]    Description field in categories: YES
[24-Nov-2025 13:53:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:53:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:53:30 UTC]    Is_active field in books: YES
[24-Nov-2025 13:53:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:53:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:53:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:53:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:53:30 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:53:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:53:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:53:30 UTC] 📊 Database Info:
[24-Nov-2025 13:53:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:53:30 UTC]    Books columns count: 45
[24-Nov-2025 13:53:30 UTC]    Categories columns count: 7
[24-Nov-2025 13:53:30 UTC]    Language field in books: YES
[24-Nov-2025 13:53:30 UTC]    Format field in books: YES
[24-Nov-2025 13:53:30 UTC]    Description field in categories: YES
[24-Nov-2025 13:53:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:53:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:53:30 UTC]    Is_active field in books: YES
[24-Nov-2025 13:53:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:53:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:53:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:53:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:53:30 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:53:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 13:53:30 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 13:53:30 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 13:53:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 13:53:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 13:53:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 13:53:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 13:53:30 UTC] 📊 Database Info:
[24-Nov-2025 13:53:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 13:53:30 UTC]    Books columns count: 45
[24-Nov-2025 13:53:30 UTC]    Categories columns count: 7
[24-Nov-2025 13:53:30 UTC]    Language field in books: YES
[24-Nov-2025 13:53:30 UTC]    Format field in books: YES
[24-Nov-2025 13:53:30 UTC]    Description field in categories: YES
[24-Nov-2025 13:53:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 13:53:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 13:53:30 UTC]    Is_active field in books: YES
[24-Nov-2025 13:53:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 13:53:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 13:53:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 13:53:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 13:53:30 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 13:53:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 13:53:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 14:04:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 14:04:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 14:04:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 14:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 14:04:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 14:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 14:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 14:04:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 14:04:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 14:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 14:04:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 14:04:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 14:04:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 14:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 14:04:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 14:04:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 14:04:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 14:04:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 14:04:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 14:04:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 14:04:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 14:04:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 14:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 14:04:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 14:04:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 14:04:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 14:04:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 14:04:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 14:04:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 14:04:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 14:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 14:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 14:04:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 14:04:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 14:04:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 14:04:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 14:04:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 14:04:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 14:04:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 14:04:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 14:04:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 14:04:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 14:04:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 14:04:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 14:04:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 14:04:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 14:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 14:04:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 14:04:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 14:04:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 14:04:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 14:04:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 14:04:27 UTC] 📊 Database Info:
[24-Nov-2025 14:04:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 14:04:27 UTC]    Books columns count: 45
[24-Nov-2025 14:04:27 UTC]    Categories columns count: 7
[24-Nov-2025 14:04:27 UTC]    Language field in books: YES
[24-Nov-2025 14:04:27 UTC]    Format field in books: YES
[24-Nov-2025 14:04:27 UTC]    Description field in categories: YES
[24-Nov-2025 14:04:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 14:04:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 14:04:27 UTC]    Is_active field in books: YES
[24-Nov-2025 14:04:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 14:04:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 14:04:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 14:04:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 14:04:27 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 14:04:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 14:04:27 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 14:04:27 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 14:04:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 14:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 14:04:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 14:04:27 UTC] 📊 Database Info:
[24-Nov-2025 14:04:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 14:04:27 UTC]    Books columns count: 45
[24-Nov-2025 14:04:27 UTC]    Categories columns count: 7
[24-Nov-2025 14:04:27 UTC]    Language field in books: YES
[24-Nov-2025 14:04:27 UTC]    Format field in books: YES
[24-Nov-2025 14:04:27 UTC]    Description field in categories: YES
[24-Nov-2025 14:04:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 14:04:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 14:04:27 UTC]    Is_active field in books: YES
[24-Nov-2025 14:04:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 14:04:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 14:04:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 14:04:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 14:04:27 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 14:04:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 14:04:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 14:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 14:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 14:04:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 14:04:27 UTC] 📊 Database Info:
[24-Nov-2025 14:04:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 14:04:27 UTC]    Books columns count: 45
[24-Nov-2025 14:04:27 UTC]    Categories columns count: 7
[24-Nov-2025 14:04:27 UTC]    Language field in books: YES
[24-Nov-2025 14:04:27 UTC]    Format field in books: YES
[24-Nov-2025 14:04:27 UTC]    Description field in categories: YES
[24-Nov-2025 14:04:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 14:04:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 14:04:27 UTC]    Is_active field in books: YES
[24-Nov-2025 14:04:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 14:04:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 14:04:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 14:04:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 14:04:27 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 14:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 14:04:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 14:04:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 14:04:27 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 14:04:27 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 14:21:23 UTC] PHP Parse error:  syntax error, unexpected ''require_login_for_download'' (T_CONSTANT_ENCAPSED_STRING), expecting ']' in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 225
[24-Nov-2025 14:21:23 UTC] PHP Parse error:  syntax error, unexpected ''require_login_for_download'' (T_CONSTANT_ENCAPSED_STRING), expecting ']' in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 225
[24-Nov-2025 14:21:31 UTC] PHP Parse error:  syntax error, unexpected ''require_login_for_download'' (T_CONSTANT_ENCAPSED_STRING), expecting ']' in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 225
[24-Nov-2025 14:21:31 UTC] PHP Parse error:  syntax error, unexpected ''require_login_for_download'' (T_CONSTANT_ENCAPSED_STRING), expecting ']' in /home/admin/public_html/acadlib.com/app-panel/api/config.php on line 225
[24-Nov-2025 14:22:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 14:22:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 14:22:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 14:22:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 14:22:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 14:22:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 14:22:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 14:22:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 14:22:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 14:22:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 14:22:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 14:22:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 14:22:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 14:22:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 14:22:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 14:22:06 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 14:22:06 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 14:22:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 14:22:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 14:22:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 14:22:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 14:22:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 14:22:06 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 14:22:06 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 14:22:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 14:22:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 14:22:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 14:22:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 14:22:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 14:22:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 14:22:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 14:22:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 14:22:06 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 14:22:06 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 14:22:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 14:22:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 14:22:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 14:22:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 14:22:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 14:22:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 14:22:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 14:22:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 14:22:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 14:22:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 14:22:06 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 14:22:06 UTC] 📊 Database Info:
[24-Nov-2025 14:22:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 14:22:06 UTC]    Books columns count: 45
[24-Nov-2025 14:22:06 UTC]    Categories columns count: 7
[24-Nov-2025 14:22:06 UTC]    Language field in books: YES
[24-Nov-2025 14:22:06 UTC]    Format field in books: YES
[24-Nov-2025 14:22:06 UTC]    Description field in categories: YES
[24-Nov-2025 14:22:06 UTC]    Display_order field in categories: YES
[24-Nov-2025 14:22:06 UTC]    Is_active field in categories: YES
[24-Nov-2025 14:22:06 UTC]    Is_active field in books: YES
[24-Nov-2025 14:22:06 UTC]    External_download_link field in books: YES
[24-Nov-2025 14:22:06 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 14:22:06 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 14:22:06 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 14:22:06 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 14:22:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 14:22:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 14:22:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 14:22:06 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 14:22:06 UTC] 📊 Database Info:
[24-Nov-2025 14:22:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 14:22:06 UTC]    Books columns count: 45
[24-Nov-2025 14:22:06 UTC]    Categories columns count: 7
[24-Nov-2025 14:22:06 UTC]    Language field in books: YES
[24-Nov-2025 14:22:06 UTC]    Format field in books: YES
[24-Nov-2025 14:22:06 UTC]    Description field in categories: YES
[24-Nov-2025 14:22:06 UTC]    Display_order field in categories: YES
[24-Nov-2025 14:22:06 UTC]    Is_active field in categories: YES
[24-Nov-2025 14:22:06 UTC]    Is_active field in books: YES
[24-Nov-2025 14:22:06 UTC]    External_download_link field in books: YES
[24-Nov-2025 14:22:06 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 14:22:06 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 14:22:06 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 14:22:06 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 14:22:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 14:22:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 14:22:06 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 14:22:06 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 14:22:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 14:22:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 14:22:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 14:22:06 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 14:22:06 UTC] 📊 Database Info:
[24-Nov-2025 14:22:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 14:22:06 UTC]    Books columns count: 45
[24-Nov-2025 14:22:06 UTC]    Categories columns count: 7
[24-Nov-2025 14:22:06 UTC]    Language field in books: YES
[24-Nov-2025 14:22:06 UTC]    Format field in books: YES
[24-Nov-2025 14:22:06 UTC]    Description field in categories: YES
[24-Nov-2025 14:22:06 UTC]    Display_order field in categories: YES
[24-Nov-2025 14:22:06 UTC]    Is_active field in categories: YES
[24-Nov-2025 14:22:06 UTC]    Is_active field in books: YES
[24-Nov-2025 14:22:06 UTC]    External_download_link field in books: YES
[24-Nov-2025 14:22:06 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 14:22:06 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 14:22:06 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 14:22:06 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 14:22:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 14:22:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 14:22:06 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 14:22:06 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 15:12:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:12:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:12:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:12:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:12:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:12:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:12:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:12:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:12:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:12:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:12:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:12:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:12:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:12:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:12:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:12:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:12:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:12:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:12:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:12:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:12:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:12:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:12:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:12:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:12:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:12:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:12:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:12:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:12:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:12:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:12:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:12:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:12:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:12:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:12:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:12:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:12:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:12:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:12:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:12:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:12:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:12:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:12:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:12:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:12:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:12:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:12:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:12:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:12:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:12:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:12:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:12:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:12:17 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:12:17 UTC] 📊 Database Info:
[24-Nov-2025 15:12:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:12:17 UTC]    Books columns count: 45
[24-Nov-2025 15:12:17 UTC]    Categories columns count: 7
[24-Nov-2025 15:12:17 UTC]    Language field in books: YES
[24-Nov-2025 15:12:17 UTC]    Format field in books: YES
[24-Nov-2025 15:12:17 UTC]    Description field in categories: YES
[24-Nov-2025 15:12:17 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:12:17 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:12:17 UTC]    Is_active field in books: YES
[24-Nov-2025 15:12:17 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:12:17 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:12:17 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:12:17 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:12:17 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:12:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:12:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:12:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:12:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:12:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:12:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:12:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:12:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:12:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:12:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:12:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:12:17 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:12:17 UTC] 📊 Database Info:
[24-Nov-2025 15:12:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:12:17 UTC]    Books columns count: 45
[24-Nov-2025 15:12:17 UTC]    Categories columns count: 7
[24-Nov-2025 15:12:17 UTC]    Language field in books: YES
[24-Nov-2025 15:12:17 UTC]    Format field in books: YES
[24-Nov-2025 15:12:17 UTC]    Description field in categories: YES
[24-Nov-2025 15:12:17 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:12:17 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:12:17 UTC]    Is_active field in books: YES
[24-Nov-2025 15:12:17 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:12:17 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:12:17 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:12:17 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:12:17 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:12:17 UTC] 📊 Database Info:
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:12:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:12:17 UTC]    Books columns count: 45
[24-Nov-2025 15:12:17 UTC]    Categories columns count: 7
[24-Nov-2025 15:12:17 UTC]    Language field in books: YES
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:12:17 UTC]    Format field in books: YES
[24-Nov-2025 15:12:17 UTC]    Description field in categories: YES
[24-Nov-2025 15:12:17 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:12:17 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:12:17 UTC]    Is_active field in books: YES
[24-Nov-2025 15:12:17 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:12:17 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:12:17 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:12:17 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:12:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:12:17 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 15:12:17 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 15:12:17 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:12:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:12:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:12:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:12:24 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:12:24 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:12:24 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:12:24 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:12:24 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:12:24 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:12:24 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:12:24 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:12:24 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:12:24 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:12:24 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:12:24 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:12:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:12:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:12:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:12:24 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:12:24 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:12:24 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:12:24 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:12:24 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:12:24 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:12:24 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:12:24 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:12:24 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:12:24 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:12:24 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:12:24 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:12:24 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:12:24 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:12:24 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:12:24 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:12:24 UTC] 📊 Database Info:
[24-Nov-2025 15:12:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:12:24 UTC]    Books columns count: 45
[24-Nov-2025 15:12:24 UTC]    Categories columns count: 7
[24-Nov-2025 15:12:24 UTC]    Language field in books: YES
[24-Nov-2025 15:12:24 UTC]    Format field in books: YES
[24-Nov-2025 15:12:24 UTC]    Description field in categories: YES
[24-Nov-2025 15:12:24 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:12:24 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:12:24 UTC]    Is_active field in books: YES
[24-Nov-2025 15:12:24 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:12:24 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:12:24 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:12:24 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:12:24 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:12:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:12:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:12:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:12:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:12:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:12:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:12:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:12:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:12:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:12:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:12:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:12:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:12:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:12:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:12:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:12:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:12:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:12:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:12:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:12:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:12:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:12:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:12:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:12:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:12:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:12:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:12:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:12:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:12:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:12:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:12:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:12:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:12:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:12:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:12:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:12:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:12:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:12:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:12:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:12:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:12:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:12:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:12:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:12:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:12:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:12:35 UTC] 📊 Database Info:
[24-Nov-2025 15:12:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:12:35 UTC]    Books columns count: 45
[24-Nov-2025 15:12:35 UTC]    Categories columns count: 7
[24-Nov-2025 15:12:35 UTC]    Language field in books: YES
[24-Nov-2025 15:12:35 UTC]    Format field in books: YES
[24-Nov-2025 15:12:35 UTC]    Description field in categories: YES
[24-Nov-2025 15:12:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:12:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:12:35 UTC]    Is_active field in books: YES
[24-Nov-2025 15:12:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:12:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:12:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:12:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:12:35 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:12:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:12:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:12:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:12:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:12:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:12:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:12:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:12:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:12:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:12:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:12:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:12:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:12:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:12:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:12:45 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:12:45 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:12:45 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:12:45 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:12:45 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:12:45 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:12:45 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:12:45 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:12:45 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:12:45 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:12:45 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:12:45 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:12:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:12:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:12:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:12:45 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:12:45 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:12:45 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:12:45 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:12:45 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:12:45 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:12:45 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:12:45 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:12:45 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:12:45 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:12:45 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:12:45 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:12:45 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:12:45 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:12:45 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:12:45 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:12:45 UTC] 📊 Database Info:
[24-Nov-2025 15:12:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:12:45 UTC]    Books columns count: 45
[24-Nov-2025 15:12:45 UTC]    Categories columns count: 7
[24-Nov-2025 15:12:45 UTC]    Language field in books: YES
[24-Nov-2025 15:12:45 UTC]    Format field in books: YES
[24-Nov-2025 15:12:45 UTC]    Description field in categories: YES
[24-Nov-2025 15:12:45 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:12:45 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:12:45 UTC]    Is_active field in books: YES
[24-Nov-2025 15:12:45 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:12:45 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:12:45 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:12:45 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:12:45 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:12:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:12:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:12:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:12:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:12:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:12:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:12:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:12:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:12:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:12:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:12:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:12:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:12:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:12:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:12:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:12:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:12:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:12:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:12:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:12:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:12:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:12:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:12:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:12:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:12:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:12:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:12:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:12:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:12:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:12:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:12:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:12:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:12:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:12:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:12:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:12:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:12:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:12:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:12:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:12:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:12:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:12:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:12:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:12:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:12:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:12:48 UTC] 📊 Database Info:
[24-Nov-2025 15:12:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:12:48 UTC]    Books columns count: 45
[24-Nov-2025 15:12:48 UTC]    Categories columns count: 7
[24-Nov-2025 15:12:48 UTC]    Language field in books: YES
[24-Nov-2025 15:12:48 UTC]    Format field in books: YES
[24-Nov-2025 15:12:48 UTC]    Description field in categories: YES
[24-Nov-2025 15:12:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:12:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:12:48 UTC]    Is_active field in books: YES
[24-Nov-2025 15:12:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:12:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:12:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:12:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:12:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:12:48 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:12:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:12:48 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 15:12:48 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:12:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:12:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:12:48 UTC] 📊 Database Info:
[24-Nov-2025 15:12:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:12:48 UTC]    Books columns count: 45
[24-Nov-2025 15:12:48 UTC]    Categories columns count: 7
[24-Nov-2025 15:12:48 UTC]    Language field in books: YES
[24-Nov-2025 15:12:48 UTC]    Format field in books: YES
[24-Nov-2025 15:12:48 UTC]    Description field in categories: YES
[24-Nov-2025 15:12:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:12:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:12:48 UTC]    Is_active field in books: YES
[24-Nov-2025 15:12:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:12:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:12:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:12:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:12:48 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:12:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:12:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:12:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:12:48 UTC] 📊 Database Info:
[24-Nov-2025 15:12:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:12:48 UTC]    Books columns count: 45
[24-Nov-2025 15:12:48 UTC]    Categories columns count: 7
[24-Nov-2025 15:12:48 UTC]    Language field in books: YES
[24-Nov-2025 15:12:48 UTC]    Format field in books: YES
[24-Nov-2025 15:12:48 UTC]    Description field in categories: YES
[24-Nov-2025 15:12:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:12:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:12:48 UTC]    Is_active field in books: YES
[24-Nov-2025 15:12:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:12:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:12:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:12:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:12:48 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:12:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:12:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:29:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:29:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:29:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:29:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:29:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:29:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:29:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:29:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:29:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:29:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:29:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:29:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:29:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:29:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:29:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:29:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:29:10 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:29:10 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:29:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:29:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:29:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:29:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:29:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:29:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:29:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:29:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:29:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:29:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:29:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:29:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:29:10 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:29:10 UTC] 📊 Database Info:
[24-Nov-2025 15:29:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:29:10 UTC]    Books columns count: 45
[24-Nov-2025 15:29:10 UTC]    Categories columns count: 7
[24-Nov-2025 15:29:10 UTC]    Language field in books: YES
[24-Nov-2025 15:29:10 UTC]    Format field in books: YES
[24-Nov-2025 15:29:10 UTC]    Description field in categories: YES
[24-Nov-2025 15:29:10 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:29:10 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:29:10 UTC]    Is_active field in books: YES
[24-Nov-2025 15:29:10 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:29:10 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:29:10 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:29:10 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:29:10 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:29:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:29:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:29:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:29:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:29:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:29:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:29:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:29:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:29:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:29:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:29:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:29:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:29:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:29:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:29:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:29:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:29:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:29:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:29:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:29:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:29:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:29:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:29:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:29:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:29:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:29:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:29:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:29:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:29:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:29:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:29:11 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:29:11 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:29:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:29:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:29:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:29:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:29:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:29:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:29:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:29:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:29:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:29:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:29:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:29:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:29:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:29:11 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:29:11 UTC] 📊 Database Info:
[24-Nov-2025 15:29:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:29:11 UTC]    Books columns count: 45
[24-Nov-2025 15:29:11 UTC]    Categories columns count: 7
[24-Nov-2025 15:29:11 UTC]    Language field in books: YES
[24-Nov-2025 15:29:11 UTC]    Format field in books: YES
[24-Nov-2025 15:29:11 UTC]    Description field in categories: YES
[24-Nov-2025 15:29:11 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:29:11 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:29:11 UTC]    Is_active field in books: YES
[24-Nov-2025 15:29:11 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:29:11 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:29:11 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:29:11 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:29:11 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:29:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:29:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:29:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:29:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:29:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:29:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:29:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:29:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:29:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:29:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:29:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:29:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:29:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:29:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:29:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:29:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:29:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:29:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:29:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:29:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:29:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:29:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:29:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:29:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:29:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:29:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:29:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:29:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:29:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:29:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:29:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:29:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:29:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:29:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:29:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:29:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:29:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:29:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:29:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:29:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:29:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:29:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:29:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:29:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:29:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:29:28 UTC] 📊 Database Info:
[24-Nov-2025 15:29:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:29:28 UTC]    Books columns count: 45
[24-Nov-2025 15:29:28 UTC]    Categories columns count: 7
[24-Nov-2025 15:29:28 UTC]    Language field in books: YES
[24-Nov-2025 15:29:28 UTC]    Format field in books: YES
[24-Nov-2025 15:29:28 UTC]    Description field in categories: YES
[24-Nov-2025 15:29:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:29:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:29:28 UTC]    Is_active field in books: YES
[24-Nov-2025 15:29:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:29:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:29:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:29:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:29:28 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:29:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:29:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:29:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:29:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:29:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:29:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:29:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:29:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:29:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:29:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:29:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:29:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:29:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:29:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:29:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:29:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:29:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:29:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:29:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:29:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:29:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:29:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:29:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:29:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:29:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:29:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:29:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:29:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:29:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:29:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:29:54 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:29:54 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:29:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:29:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:29:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:29:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:29:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:29:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:29:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:29:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:29:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:29:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:29:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:29:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:29:54 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:29:54 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:29:54 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:29:54 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:29:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:29:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:29:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:29:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:29:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:29:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:29:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:29:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:29:54 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:29:54 UTC] 📊 Database Info:
[24-Nov-2025 15:29:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:29:54 UTC]    Books columns count: 45
[24-Nov-2025 15:29:54 UTC]    Categories columns count: 7
[24-Nov-2025 15:29:54 UTC]    Language field in books: YES
[24-Nov-2025 15:29:54 UTC]    Format field in books: YES
[24-Nov-2025 15:29:54 UTC]    Description field in categories: YES
[24-Nov-2025 15:29:54 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:29:54 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:29:54 UTC]    Is_active field in books: YES
[24-Nov-2025 15:29:54 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:29:54 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:29:54 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:29:54 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:29:54 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:29:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:29:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 15:29:54 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 15:29:54 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 15:29:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:29:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:29:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:29:54 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:29:54 UTC] 📊 Database Info:
[24-Nov-2025 15:29:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:29:54 UTC]    Books columns count: 45
[24-Nov-2025 15:29:54 UTC]    Categories columns count: 7
[24-Nov-2025 15:29:54 UTC]    Language field in books: YES
[24-Nov-2025 15:29:54 UTC]    Format field in books: YES
[24-Nov-2025 15:29:54 UTC]    Description field in categories: YES
[24-Nov-2025 15:29:54 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:29:54 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:29:54 UTC]    Is_active field in books: YES
[24-Nov-2025 15:29:54 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:29:54 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:29:54 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:29:54 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:29:54 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:29:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:29:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:29:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:29:54 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 15:29:54 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 15:29:54 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:29:54 UTC] 📊 Database Info:
[24-Nov-2025 15:29:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:29:54 UTC]    Books columns count: 45
[24-Nov-2025 15:29:54 UTC]    Categories columns count: 7
[24-Nov-2025 15:29:54 UTC]    Language field in books: YES
[24-Nov-2025 15:29:54 UTC]    Format field in books: YES
[24-Nov-2025 15:29:54 UTC]    Description field in categories: YES
[24-Nov-2025 15:29:54 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:29:54 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:29:54 UTC]    Is_active field in books: YES
[24-Nov-2025 15:29:54 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:29:54 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:29:54 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:29:54 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:29:54 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:29:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:29:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:30:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:30:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:30:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:30:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:30:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:30:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:30:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:30:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:30:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:30:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:30:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:30:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:30:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:30:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:30:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:30:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:30:25 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:30:25 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:30:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:30:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:30:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:30:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:30:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:30:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:30:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:30:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:30:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:30:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:30:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:30:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:30:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:30:25 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:30:25 UTC] 📊 Database Info:
[24-Nov-2025 15:30:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:30:25 UTC]    Books columns count: 45
[24-Nov-2025 15:30:25 UTC]    Categories columns count: 7
[24-Nov-2025 15:30:25 UTC]    Language field in books: YES
[24-Nov-2025 15:30:25 UTC]    Format field in books: YES
[24-Nov-2025 15:30:25 UTC]    Description field in categories: YES
[24-Nov-2025 15:30:25 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:30:25 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:30:25 UTC]    Is_active field in books: YES
[24-Nov-2025 15:30:25 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:30:25 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:30:25 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:30:25 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:30:25 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:30:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:30:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:30:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:30:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:30:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:30:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:30:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:30:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:30:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:30:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:30:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:30:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:30:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:30:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:30:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:30:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:30:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:30:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:30:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:30:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:30:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:30:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:30:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:30:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:30:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:30:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:30:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:30:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:30:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:30:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:30:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:30:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:30:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:30:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:30:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:30:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:30:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:30:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:30:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:30:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:30:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:30:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:30:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:30:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:30:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:30:46 UTC] 📊 Database Info:
[24-Nov-2025 15:30:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:30:46 UTC]    Books columns count: 45
[24-Nov-2025 15:30:46 UTC]    Categories columns count: 7
[24-Nov-2025 15:30:46 UTC]    Language field in books: YES
[24-Nov-2025 15:30:46 UTC]    Format field in books: YES
[24-Nov-2025 15:30:46 UTC]    Description field in categories: YES
[24-Nov-2025 15:30:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:30:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:30:46 UTC]    Is_active field in books: YES
[24-Nov-2025 15:30:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:30:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:30:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:30:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:30:46 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:30:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:30:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:30:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:30:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:30:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:30:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:30:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:30:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:30:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:30:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:30:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:30:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:30:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:30:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:30:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:30:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:30:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:30:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:30:47 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:30:47 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:30:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:30:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:30:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:30:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:30:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:30:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:30:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:30:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:30:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:30:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:30:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:30:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:30:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:30:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:30:48 UTC] 📊 Database Info:
[24-Nov-2025 15:30:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:30:48 UTC]    Books columns count: 45
[24-Nov-2025 15:30:48 UTC]    Categories columns count: 7
[24-Nov-2025 15:30:48 UTC]    Language field in books: YES
[24-Nov-2025 15:30:48 UTC]    Format field in books: YES
[24-Nov-2025 15:30:48 UTC]    Description field in categories: YES
[24-Nov-2025 15:30:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:30:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:30:48 UTC]    Is_active field in books: YES
[24-Nov-2025 15:30:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:30:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:30:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:30:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:30:48 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:30:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:30:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:30:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:30:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:30:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:30:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:30:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:30:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:30:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:30:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:30:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:30:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:30:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:30:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:30:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:30:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:30:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:30:51 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:30:51 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:30:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:30:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:30:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:30:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:30:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:30:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:30:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:30:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:30:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:30:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:30:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:30:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:30:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:30:51 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:30:51 UTC] 📊 Database Info:
[24-Nov-2025 15:30:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:30:51 UTC]    Books columns count: 45
[24-Nov-2025 15:30:51 UTC]    Categories columns count: 7
[24-Nov-2025 15:30:51 UTC]    Language field in books: YES
[24-Nov-2025 15:30:51 UTC]    Format field in books: YES
[24-Nov-2025 15:30:51 UTC]    Description field in categories: YES
[24-Nov-2025 15:30:51 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:30:51 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:30:51 UTC]    Is_active field in books: YES
[24-Nov-2025 15:30:51 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:30:51 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:30:51 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:30:51 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:30:51 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:30:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:30:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:30:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:30:58 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:30:58 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:30:58 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:30:58 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:30:58 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:30:58 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:30:58 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:30:58 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:30:58 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:30:58 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:30:58 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:30:58 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:30:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:30:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:30:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:30:58 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:30:58 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:30:58 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:30:58 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:30:58 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:30:58 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:30:58 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:30:58 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:30:58 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:30:58 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:30:58 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:30:58 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:30:58 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:30:58 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:30:58 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:30:58 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:30:58 UTC] 📊 Database Info:
[24-Nov-2025 15:30:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:30:58 UTC]    Books columns count: 45
[24-Nov-2025 15:30:58 UTC]    Categories columns count: 7
[24-Nov-2025 15:30:58 UTC]    Language field in books: YES
[24-Nov-2025 15:30:58 UTC]    Format field in books: YES
[24-Nov-2025 15:30:58 UTC]    Description field in categories: YES
[24-Nov-2025 15:30:58 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:30:58 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:30:58 UTC]    Is_active field in books: YES
[24-Nov-2025 15:30:58 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:30:58 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:30:58 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:30:58 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:30:58 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:30:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:30:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:30:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:30:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:30:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:30:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:30:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:30:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:30:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:30:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:30:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:30:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:30:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:31:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:31:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:31:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:31:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:31:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:31:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:31:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:31:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:31:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:31:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:31:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:31:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:31:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:31:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:31:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:31:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:31:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:31:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:31:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:31:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:31:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:31:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:31:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:31:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:31:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:31:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:31:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:31:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:31:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:31:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:31:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:31:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:31:16 UTC] 📊 Database Info:
[24-Nov-2025 15:31:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:31:16 UTC]    Books columns count: 45
[24-Nov-2025 15:31:16 UTC]    Categories columns count: 7
[24-Nov-2025 15:31:16 UTC]    Language field in books: YES
[24-Nov-2025 15:31:16 UTC]    Format field in books: YES
[24-Nov-2025 15:31:16 UTC]    Description field in categories: YES
[24-Nov-2025 15:31:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:31:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:31:16 UTC]    Is_active field in books: YES
[24-Nov-2025 15:31:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:31:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:31:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:31:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:31:16 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:31:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:31:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:31:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:31:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:31:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:31:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:31:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:31:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:31:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:31:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:31:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:31:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:31:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:31:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:31:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:31:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:31:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:31:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:31:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:31:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:31:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:31:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:31:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:31:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:31:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:31:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:31:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:31:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:31:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:31:17 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:31:17 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:31:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:31:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:31:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:31:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:31:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:31:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:31:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:31:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:31:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:31:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:31:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:31:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:31:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:31:17 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:31:17 UTC] 📊 Database Info:
[24-Nov-2025 15:31:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:31:17 UTC]    Books columns count: 45
[24-Nov-2025 15:31:17 UTC]    Categories columns count: 7
[24-Nov-2025 15:31:17 UTC]    Language field in books: YES
[24-Nov-2025 15:31:17 UTC]    Format field in books: YES
[24-Nov-2025 15:31:17 UTC]    Description field in categories: YES
[24-Nov-2025 15:31:17 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:31:17 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:31:17 UTC]    Is_active field in books: YES
[24-Nov-2025 15:31:17 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:31:17 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:31:17 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:31:17 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:31:17 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:31:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:31:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:31:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:31:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:31:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:31:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:31:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:31:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:31:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:31:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:31:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:31:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:31:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:31:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:31:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:31:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:31:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:31:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:31:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:31:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:31:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:31:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:31:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:31:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:31:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:31:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:31:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:31:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:31:26 UTC] 📊 Database Info:
[24-Nov-2025 15:31:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:31:26 UTC]    Books columns count: 45
[24-Nov-2025 15:31:26 UTC]    Categories columns count: 7
[24-Nov-2025 15:31:26 UTC]    Language field in books: YES
[24-Nov-2025 15:31:26 UTC]    Format field in books: YES
[24-Nov-2025 15:31:26 UTC]    Description field in categories: YES
[24-Nov-2025 15:31:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:31:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:31:26 UTC]    Is_active field in books: YES
[24-Nov-2025 15:31:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:31:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:31:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:31:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:31:26 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:31:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:31:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:31:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:31:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:31:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:31:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:31:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:31:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:31:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:31:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:31:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:31:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:31:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:31:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:31:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:31:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:31:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:31:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:31:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:31:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:31:26 UTC] 📊 Database Info:
[24-Nov-2025 15:31:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:31:26 UTC]    Books columns count: 45
[24-Nov-2025 15:31:26 UTC]    Categories columns count: 7
[24-Nov-2025 15:31:26 UTC]    Language field in books: YES
[24-Nov-2025 15:31:26 UTC]    Format field in books: YES
[24-Nov-2025 15:31:26 UTC]    Description field in categories: YES
[24-Nov-2025 15:31:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:31:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:31:26 UTC]    Is_active field in books: YES
[24-Nov-2025 15:31:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:31:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:31:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:31:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:31:26 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:31:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:31:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:31:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:31:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:31:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:31:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:31:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:31:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:31:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:31:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:31:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:31:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:31:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:31:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:31:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:31:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:31:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:31:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:31:41 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:31:41 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:31:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:31:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:31:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:31:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:31:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:31:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:31:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:31:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:31:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:31:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:31:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:31:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:31:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:31:42 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:31:42 UTC] 📊 Database Info:
[24-Nov-2025 15:31:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:31:42 UTC]    Books columns count: 45
[24-Nov-2025 15:31:42 UTC]    Categories columns count: 7
[24-Nov-2025 15:31:42 UTC]    Language field in books: YES
[24-Nov-2025 15:31:42 UTC]    Format field in books: YES
[24-Nov-2025 15:31:42 UTC]    Description field in categories: YES
[24-Nov-2025 15:31:42 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:31:42 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:31:42 UTC]    Is_active field in books: YES
[24-Nov-2025 15:31:42 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:31:42 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:31:42 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:31:42 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:31:42 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:31:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:31:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:31:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:31:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:31:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:31:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:31:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:31:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:31:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:31:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:31:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:31:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:31:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:31:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:31:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:31:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:31:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:31:42 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:31:42 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:31:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:31:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:31:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:31:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:31:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:31:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:31:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:31:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:31:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:31:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:31:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:31:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:31:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:31:42 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:31:42 UTC] 📊 Database Info:
[24-Nov-2025 15:31:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:31:42 UTC]    Books columns count: 45
[24-Nov-2025 15:31:42 UTC]    Categories columns count: 7
[24-Nov-2025 15:31:42 UTC]    Language field in books: YES
[24-Nov-2025 15:31:42 UTC]    Format field in books: YES
[24-Nov-2025 15:31:42 UTC]    Description field in categories: YES
[24-Nov-2025 15:31:42 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:31:42 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:31:42 UTC]    Is_active field in books: YES
[24-Nov-2025 15:31:42 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:31:42 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:31:42 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:31:42 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:31:42 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:31:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:31:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:31:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:31:55 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:31:55 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:31:55 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:31:55 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:31:55 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:31:55 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:31:55 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:31:55 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:31:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:31:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:31:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:31:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:31:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:31:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:31:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:31:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:31:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:31:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:31:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:31:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:31:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:31:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:31:56 UTC] 📊 Database Info:
[24-Nov-2025 15:31:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:31:56 UTC]    Books columns count: 45
[24-Nov-2025 15:31:56 UTC]    Categories columns count: 7
[24-Nov-2025 15:31:56 UTC]    Language field in books: YES
[24-Nov-2025 15:31:56 UTC]    Format field in books: YES
[24-Nov-2025 15:31:56 UTC]    Description field in categories: YES
[24-Nov-2025 15:31:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:31:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:31:56 UTC]    Is_active field in books: YES
[24-Nov-2025 15:31:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:31:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:31:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:31:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:31:56 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:31:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:31:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:31:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:31:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:31:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:31:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:31:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:31:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:31:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:31:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:31:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:31:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:31:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:31:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:31:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:31:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:31:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:31:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:31:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:31:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:31:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:31:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:31:56 UTC] 📊 Database Info:
[24-Nov-2025 15:31:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:31:56 UTC]    Books columns count: 45
[24-Nov-2025 15:31:56 UTC]    Categories columns count: 7
[24-Nov-2025 15:31:56 UTC]    Language field in books: YES
[24-Nov-2025 15:31:56 UTC]    Format field in books: YES
[24-Nov-2025 15:31:56 UTC]    Description field in categories: YES
[24-Nov-2025 15:31:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:31:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:31:56 UTC]    Is_active field in books: YES
[24-Nov-2025 15:31:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:31:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:31:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:31:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:31:56 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:31:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:31:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:34:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:34:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:34:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:34:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:34:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:34:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:34:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:34:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:34:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:34:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:34:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:34:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:34:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:34:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:34:29 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:34:29 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:34:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:34:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:34:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:34:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:34:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:34:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:34:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:34:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:34:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:34:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:34:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:34:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:34:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:34:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:34:29 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:34:29 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:34:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:34:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:34:29 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:34:29 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:34:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:34:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:34:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:34:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:34:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:34:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:34:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:34:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:34:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:34:29 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:34:29 UTC] 📊 Database Info:
[24-Nov-2025 15:34:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:34:29 UTC]    Books columns count: 45
[24-Nov-2025 15:34:29 UTC]    Categories columns count: 7
[24-Nov-2025 15:34:29 UTC]    Language field in books: YES
[24-Nov-2025 15:34:29 UTC]    Format field in books: YES
[24-Nov-2025 15:34:29 UTC]    Description field in categories: YES
[24-Nov-2025 15:34:29 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:34:29 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:34:29 UTC]    Is_active field in books: YES
[24-Nov-2025 15:34:29 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:34:29 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:34:29 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:34:29 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:34:29 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:34:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:34:29 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 15:34:29 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 15:34:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:34:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:34:29 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:34:29 UTC] 📊 Database Info:
[24-Nov-2025 15:34:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:34:29 UTC]    Books columns count: 45
[24-Nov-2025 15:34:29 UTC]    Categories columns count: 7
[24-Nov-2025 15:34:29 UTC]    Language field in books: YES
[24-Nov-2025 15:34:29 UTC]    Format field in books: YES
[24-Nov-2025 15:34:29 UTC]    Description field in categories: YES
[24-Nov-2025 15:34:29 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:34:29 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:34:29 UTC]    Is_active field in books: YES
[24-Nov-2025 15:34:29 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:34:29 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:34:29 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:34:29 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:34:29 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:34:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:34:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 15:34:29 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 15:34:29 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 15:34:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:34:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:34:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:34:29 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:34:29 UTC] 📊 Database Info:
[24-Nov-2025 15:34:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:34:29 UTC]    Books columns count: 45
[24-Nov-2025 15:34:29 UTC]    Categories columns count: 7
[24-Nov-2025 15:34:29 UTC]    Language field in books: YES
[24-Nov-2025 15:34:29 UTC]    Format field in books: YES
[24-Nov-2025 15:34:29 UTC]    Description field in categories: YES
[24-Nov-2025 15:34:29 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:34:29 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:34:29 UTC]    Is_active field in books: YES
[24-Nov-2025 15:34:29 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:34:29 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:34:29 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:34:29 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:34:29 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:34:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:34:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:35:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:35:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:35:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:35:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:35:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:35:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:35:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:35:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:35:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:35:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:35:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:35:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:35:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:35:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:35:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:35:20 UTC] 📊 Database Info:
[24-Nov-2025 15:35:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:35:20 UTC]    Books columns count: 45
[24-Nov-2025 15:35:20 UTC]    Categories columns count: 7
[24-Nov-2025 15:35:20 UTC]    Language field in books: YES
[24-Nov-2025 15:35:20 UTC]    Format field in books: YES
[24-Nov-2025 15:35:20 UTC]    Description field in categories: YES
[24-Nov-2025 15:35:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:35:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:35:20 UTC]    Is_active field in books: YES
[24-Nov-2025 15:35:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:35:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:35:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:35:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:35:20 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:35:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:35:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:35:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:35:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:35:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:35:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:35:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:35:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:35:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:35:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:35:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:35:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:35:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:35:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:35:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:35:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:35:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:35:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:35:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:35:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:35:20 UTC] 📊 Database Info:
[24-Nov-2025 15:35:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:35:20 UTC]    Books columns count: 45
[24-Nov-2025 15:35:20 UTC]    Categories columns count: 7
[24-Nov-2025 15:35:20 UTC]    Language field in books: YES
[24-Nov-2025 15:35:20 UTC]    Format field in books: YES
[24-Nov-2025 15:35:20 UTC]    Description field in categories: YES
[24-Nov-2025 15:35:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:35:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:35:20 UTC]    Is_active field in books: YES
[24-Nov-2025 15:35:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:35:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:35:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:35:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:35:20 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:35:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:35:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:35:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:35:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:35:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:35:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:35:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:35:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:35:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:35:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:35:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:35:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:35:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:35:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:35:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:35:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:35:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:35:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:35:44 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:35:44 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:35:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:35:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:35:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:35:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:35:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:35:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:35:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:35:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:35:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:35:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:35:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:35:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:35:44 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:35:44 UTC] 📊 Database Info:
[24-Nov-2025 15:35:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:35:44 UTC]    Books columns count: 45
[24-Nov-2025 15:35:44 UTC]    Categories columns count: 7
[24-Nov-2025 15:35:44 UTC]    Language field in books: YES
[24-Nov-2025 15:35:44 UTC]    Format field in books: YES
[24-Nov-2025 15:35:44 UTC]    Description field in categories: YES
[24-Nov-2025 15:35:44 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:35:44 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:35:44 UTC]    Is_active field in books: YES
[24-Nov-2025 15:35:44 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:35:44 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:35:44 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:35:44 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:35:44 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:35:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:35:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:35:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:35:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:35:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:35:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:35:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:35:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:35:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:35:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:35:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:35:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:35:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:35:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:35:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:35:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:35:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:35:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:35:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:35:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:35:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:35:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:35:45 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:35:45 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:35:45 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:35:45 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:35:45 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:35:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:35:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:35:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:35:45 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:35:45 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:35:45 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:35:45 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:35:45 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:35:45 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:35:45 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:35:45 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:35:45 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:35:45 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:35:45 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:35:45 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:35:45 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:35:45 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:35:45 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:35:45 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:35:45 UTC] 📊 Database Info:
[24-Nov-2025 15:35:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:35:45 UTC]    Books columns count: 45
[24-Nov-2025 15:35:45 UTC]    Categories columns count: 7
[24-Nov-2025 15:35:45 UTC]    Language field in books: YES
[24-Nov-2025 15:35:45 UTC]    Format field in books: YES
[24-Nov-2025 15:35:45 UTC]    Description field in categories: YES
[24-Nov-2025 15:35:45 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:35:45 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:35:45 UTC]    Is_active field in books: YES
[24-Nov-2025 15:35:45 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:35:45 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:35:45 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:35:45 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:35:45 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:35:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:35:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:35:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:35:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:35:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:35:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:35:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:35:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:35:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:35:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:35:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:35:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:35:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:35:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:35:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:35:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:35:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:35:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:35:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:35:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:35:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:35:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:35:58 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:35:58 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:35:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:35:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:35:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:35:58 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:35:58 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:35:58 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:35:58 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:35:58 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:35:58 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:35:58 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:35:58 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:35:58 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:35:58 UTC] 📊 Database Info:
[24-Nov-2025 15:35:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:35:58 UTC]    Books columns count: 45
[24-Nov-2025 15:35:58 UTC]    Categories columns count: 7
[24-Nov-2025 15:35:58 UTC]    Language field in books: YES
[24-Nov-2025 15:35:58 UTC]    Format field in books: YES
[24-Nov-2025 15:35:58 UTC]    Description field in categories: YES
[24-Nov-2025 15:35:58 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:35:58 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:35:58 UTC]    Is_active field in books: YES
[24-Nov-2025 15:35:58 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:35:58 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:35:58 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:35:58 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:35:58 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:35:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:35:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:35:58 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:35:58 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:35:58 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:35:58 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:35:58 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:35:58 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:35:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:35:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:35:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:35:58 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:35:58 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:35:58 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:35:58 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:35:58 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:35:58 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:35:58 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:35:58 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:35:58 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:35:58 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:35:58 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:35:58 UTC] 📊 Database Info:
[24-Nov-2025 15:35:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:35:58 UTC]    Books columns count: 45
[24-Nov-2025 15:35:58 UTC]    Categories columns count: 7
[24-Nov-2025 15:35:58 UTC]    Language field in books: YES
[24-Nov-2025 15:35:58 UTC]    Format field in books: YES
[24-Nov-2025 15:35:58 UTC]    Description field in categories: YES
[24-Nov-2025 15:35:58 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:35:58 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:35:58 UTC]    Is_active field in books: YES
[24-Nov-2025 15:35:58 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:35:58 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:35:58 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:35:58 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:35:58 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:35:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:35:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:49:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:49:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:49:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:49:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:49:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:49:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:49:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:49:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:49:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:49:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:49:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:49:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:49:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:49:18 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:49:18 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:49:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:49:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:49:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:49:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:49:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:49:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:49:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:49:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:49:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:49:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:49:18 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:49:18 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:49:18 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:49:18 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:49:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:49:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:49:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:49:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:49:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:49:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:49:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:49:18 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:49:18 UTC] 📊 Database Info:
[24-Nov-2025 15:49:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:49:18 UTC]    Books columns count: 45
[24-Nov-2025 15:49:18 UTC]    Categories columns count: 7
[24-Nov-2025 15:49:18 UTC]    Language field in books: YES
[24-Nov-2025 15:49:18 UTC]    Format field in books: YES
[24-Nov-2025 15:49:18 UTC]    Description field in categories: YES
[24-Nov-2025 15:49:18 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:49:18 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:49:18 UTC]    Is_active field in books: YES
[24-Nov-2025 15:49:18 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:49:18 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:49:18 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:49:18 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:49:18 UTC] ℹ️ Database is already at version 23
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:49:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:49:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:49:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:49:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:49:18 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:49:18 UTC] 📊 Database Info:
[24-Nov-2025 15:49:18 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:49:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:49:18 UTC] 📊 Database Info:
[24-Nov-2025 15:49:18 UTC]    Books columns count: 45
[24-Nov-2025 15:49:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:49:18 UTC]    Categories columns count: 7
[24-Nov-2025 15:49:18 UTC]    Books columns count: 45
[24-Nov-2025 15:49:18 UTC]    Categories columns count: 7
[24-Nov-2025 15:49:18 UTC]    Language field in books: YES
[24-Nov-2025 15:49:18 UTC]    Language field in books: YES
[24-Nov-2025 15:49:18 UTC]    Format field in books: YES
[24-Nov-2025 15:49:18 UTC]    Format field in books: YES
[24-Nov-2025 15:49:18 UTC]    Description field in categories: YES
[24-Nov-2025 15:49:18 UTC]    Description field in categories: YES
[24-Nov-2025 15:49:18 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:49:18 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:49:18 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:49:18 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:49:18 UTC]    Is_active field in books: YES
[24-Nov-2025 15:49:18 UTC]    Is_active field in books: YES
[24-Nov-2025 15:49:18 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:49:18 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:49:18 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:49:18 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:49:18 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:49:18 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:49:18 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:49:18 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:49:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:49:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:49:18 UTC] ✅ Database upgraded to version 24
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:49:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:49:18 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:49:18 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:49:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:49:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:49:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:49:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 15:49:18 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 15:49:18 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 15:49:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:49:39 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:49:39 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:49:39 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:49:39 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:49:39 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:49:39 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:49:39 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:49:39 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:49:39 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:49:39 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:49:39 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:49:39 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:49:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:49:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:49:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:49:39 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:49:39 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:49:39 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:49:39 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:49:39 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:49:39 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:49:39 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:49:39 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:49:39 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:49:39 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:49:39 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:49:39 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:49:39 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:49:39 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:49:39 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:49:39 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:49:39 UTC] 📊 Database Info:
[24-Nov-2025 15:49:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:49:39 UTC]    Books columns count: 45
[24-Nov-2025 15:49:39 UTC]    Categories columns count: 7
[24-Nov-2025 15:49:39 UTC]    Language field in books: YES
[24-Nov-2025 15:49:39 UTC]    Format field in books: YES
[24-Nov-2025 15:49:39 UTC]    Description field in categories: YES
[24-Nov-2025 15:49:39 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:49:39 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:49:39 UTC]    Is_active field in books: YES
[24-Nov-2025 15:49:39 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:49:39 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:49:39 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:49:39 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:49:39 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:49:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:49:39 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:49:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:49:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:49:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:49:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:49:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:49:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:49:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:49:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:49:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:49:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:49:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:49:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:49:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:49:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:49:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:49:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:49:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:49:47 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:49:47 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:49:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:49:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:49:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:49:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:49:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:49:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:49:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:49:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:49:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:49:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:49:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:49:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:49:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:49:47 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:49:47 UTC] 📊 Database Info:
[24-Nov-2025 15:49:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:49:47 UTC]    Books columns count: 45
[24-Nov-2025 15:49:47 UTC]    Categories columns count: 7
[24-Nov-2025 15:49:47 UTC]    Language field in books: YES
[24-Nov-2025 15:49:47 UTC]    Format field in books: YES
[24-Nov-2025 15:49:47 UTC]    Description field in categories: YES
[24-Nov-2025 15:49:47 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:49:47 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:49:47 UTC]    Is_active field in books: YES
[24-Nov-2025 15:49:47 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:49:47 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:49:47 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:49:47 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:49:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:49:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:49:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:49:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:49:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:49:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:49:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:49:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:49:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:49:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:49:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:49:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:49:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:49:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:49:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:49:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:49:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:49:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:49:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:49:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:49:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:49:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:49:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:49:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:49:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:49:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:49:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:49:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:49:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:49:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:49:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:49:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:49:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:49:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:49:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:49:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:49:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:49:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:49:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:49:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:49:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:49:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:49:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:49:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:49:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:49:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:49:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:49:48 UTC] 📊 Database Info:
[24-Nov-2025 15:49:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:49:48 UTC]    Books columns count: 45
[24-Nov-2025 15:49:48 UTC]    Categories columns count: 7
[24-Nov-2025 15:49:48 UTC]    Language field in books: YES
[24-Nov-2025 15:49:48 UTC]    Format field in books: YES
[24-Nov-2025 15:49:48 UTC]    Description field in categories: YES
[24-Nov-2025 15:49:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:49:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:49:48 UTC]    Is_active field in books: YES
[24-Nov-2025 15:49:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:49:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:49:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:49:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:49:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:49:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:49:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:49:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:49:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:49:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:49:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:49:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:49:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:49:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:49:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:49:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:49:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:49:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:49:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:50:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:50:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:50:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:50:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:50:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:50:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:50:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:50:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:50:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:50:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:50:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:50:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:50:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:50:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:50:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:50:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:50:03 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:50:03 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:50:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:50:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:50:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:50:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:50:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:50:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:50:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:50:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:50:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:50:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:50:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:50:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:50:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:50:03 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:50:03 UTC] 📊 Database Info:
[24-Nov-2025 15:50:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:50:03 UTC]    Books columns count: 45
[24-Nov-2025 15:50:03 UTC]    Categories columns count: 7
[24-Nov-2025 15:50:03 UTC]    Language field in books: YES
[24-Nov-2025 15:50:03 UTC]    Format field in books: YES
[24-Nov-2025 15:50:03 UTC]    Description field in categories: YES
[24-Nov-2025 15:50:03 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:50:03 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:50:03 UTC]    Is_active field in books: YES
[24-Nov-2025 15:50:03 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:50:03 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:50:03 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:50:03 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:50:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:50:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:50:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:50:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:52:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:52:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:52:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:52:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:52:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:52:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:52:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:52:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:52:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:52:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:52:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:52:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:52:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:52:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:52:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:52:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:52:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:52:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:52:59 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:52:59 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:52:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:52:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:52:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:52:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:52:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:52:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:52:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:52:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:52:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:52:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:52:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:52:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:52:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:52:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:52:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:52:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:52:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:52:59 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:52:59 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:52:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:52:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:52:59 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:52:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:52:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:52:59 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:52:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:52:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:52:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:52:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:52:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:52:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:52:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:52:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:52:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:52:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:52:59 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:52:59 UTC] 📊 Database Info:
[24-Nov-2025 15:52:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:52:59 UTC]    Books columns count: 45
[24-Nov-2025 15:52:59 UTC]    Categories columns count: 7
[24-Nov-2025 15:52:59 UTC]    Language field in books: YES
[24-Nov-2025 15:52:59 UTC]    Format field in books: YES
[24-Nov-2025 15:52:59 UTC]    Description field in categories: YES
[24-Nov-2025 15:52:59 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:52:59 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:52:59 UTC]    Is_active field in books: YES
[24-Nov-2025 15:52:59 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:52:59 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:52:59 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:52:59 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:52:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:52:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:52:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:52:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:52:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:52:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:52:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:52:59 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:52:59 UTC] 📊 Database Info:
[24-Nov-2025 15:52:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:52:59 UTC]    Books columns count: 45
[24-Nov-2025 15:52:59 UTC]    Categories columns count: 7
[24-Nov-2025 15:52:59 UTC]    Language field in books: YES
[24-Nov-2025 15:52:59 UTC]    Format field in books: YES
[24-Nov-2025 15:52:59 UTC]    Description field in categories: YES
[24-Nov-2025 15:52:59 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:52:59 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:52:59 UTC]    Is_active field in books: YES
[24-Nov-2025 15:52:59 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:52:59 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:52:59 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:52:59 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:52:59 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:52:59 UTC] 📊 Database Info:
[24-Nov-2025 15:52:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:52:59 UTC]    Books columns count: 45
[24-Nov-2025 15:52:59 UTC]    Categories columns count: 7
[24-Nov-2025 15:52:59 UTC]    Language field in books: YES
[24-Nov-2025 15:52:59 UTC]    Format field in books: YES
[24-Nov-2025 15:52:59 UTC]    Description field in categories: YES
[24-Nov-2025 15:52:59 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:52:59 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:52:59 UTC]    Is_active field in books: YES
[24-Nov-2025 15:52:59 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:52:59 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:52:59 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:52:59 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:52:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:52:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:52:59 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:52:59 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:52:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:52:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:53:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:53:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:53:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:53:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:53:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:53:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:53:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:53:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:53:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:53:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:53:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:53:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:53:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:53:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:53:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:53:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:53:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:53:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:53:00 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:53:00 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:53:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:53:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:53:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:53:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:53:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:53:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:53:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:53:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:53:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:53:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:53:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:53:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:53:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:53:00 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:53:00 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:53:00 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:53:00 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:53:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:53:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:53:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:53:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:53:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:53:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:53:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:53:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:53:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:53:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:53:00 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:53:00 UTC] 📊 Database Info:
[24-Nov-2025 15:53:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:53:00 UTC]    Books columns count: 45
[24-Nov-2025 15:53:00 UTC]    Categories columns count: 7
[24-Nov-2025 15:53:00 UTC]    Language field in books: YES
[24-Nov-2025 15:53:00 UTC]    Format field in books: YES
[24-Nov-2025 15:53:00 UTC]    Description field in categories: YES
[24-Nov-2025 15:53:00 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:53:00 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:53:00 UTC]    Is_active field in books: YES
[24-Nov-2025 15:53:00 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:53:00 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:53:00 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:53:00 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:53:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:53:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:53:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:53:00 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:53:00 UTC] 📊 Database Info:
[24-Nov-2025 15:53:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:53:00 UTC]    Books columns count: 45
[24-Nov-2025 15:53:00 UTC]    Categories columns count: 7
[24-Nov-2025 15:53:00 UTC]    Language field in books: YES
[24-Nov-2025 15:53:00 UTC]    Format field in books: YES
[24-Nov-2025 15:53:00 UTC]    Description field in categories: YES
[24-Nov-2025 15:53:00 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:53:00 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:53:00 UTC]    Is_active field in books: YES
[24-Nov-2025 15:53:00 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:53:00 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:53:00 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:53:00 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:53:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:53:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:53:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:53:00 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:53:00 UTC] 📊 Database Info:
[24-Nov-2025 15:53:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:53:00 UTC]    Books columns count: 45
[24-Nov-2025 15:53:00 UTC]    Categories columns count: 7
[24-Nov-2025 15:53:00 UTC]    Language field in books: YES
[24-Nov-2025 15:53:00 UTC]    Format field in books: YES
[24-Nov-2025 15:53:00 UTC]    Description field in categories: YES
[24-Nov-2025 15:53:00 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:53:00 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:53:00 UTC]    Is_active field in books: YES
[24-Nov-2025 15:53:00 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:53:00 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:53:00 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:53:00 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:53:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:53:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:53:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:53:00 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 15:53:00 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 15:53:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:53:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:53:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:53:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:53:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:53:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:53:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:53:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:53:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:53:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:53:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:53:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:53:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:53:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:53:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:53:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:53:01 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:53:01 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:53:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:53:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:53:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:53:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:53:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:53:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:53:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:53:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:53:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:53:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:53:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:53:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:53:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:53:01 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:53:01 UTC] 📊 Database Info:
[24-Nov-2025 15:53:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:53:01 UTC]    Books columns count: 45
[24-Nov-2025 15:53:01 UTC]    Categories columns count: 7
[24-Nov-2025 15:53:01 UTC]    Language field in books: YES
[24-Nov-2025 15:53:01 UTC]    Format field in books: YES
[24-Nov-2025 15:53:01 UTC]    Description field in categories: YES
[24-Nov-2025 15:53:01 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:53:01 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:53:01 UTC]    Is_active field in books: YES
[24-Nov-2025 15:53:01 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:53:01 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:53:01 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:53:01 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:53:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:53:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:53:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:53:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:54:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:54:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:54:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:54:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:54:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:54:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:54:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:54:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:54:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:54:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:54:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:54:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:54:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:54:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:54:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:54:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:54:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:54:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:54:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:54:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:54:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:54:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:54:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:54:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:54:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:54:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:54:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:54:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:54:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:54:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:54:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:54:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:54:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:54:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:54:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:54:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:54:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:54:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:54:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:54:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:54:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:54:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:54:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:54:30 UTC] 📊 Database Info:
[24-Nov-2025 15:54:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:54:30 UTC]    Books columns count: 45
[24-Nov-2025 15:54:30 UTC]    Categories columns count: 7
[24-Nov-2025 15:54:30 UTC]    Language field in books: YES
[24-Nov-2025 15:54:30 UTC]    Format field in books: YES
[24-Nov-2025 15:54:30 UTC]    Description field in categories: YES
[24-Nov-2025 15:54:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:54:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:54:30 UTC]    Is_active field in books: YES
[24-Nov-2025 15:54:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:54:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:54:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:54:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:54:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:54:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:54:30 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 15:54:30 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 15:54:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:54:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:54:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:54:30 UTC] 📊 Database Info:
[24-Nov-2025 15:54:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:54:30 UTC]    Books columns count: 45
[24-Nov-2025 15:54:30 UTC]    Categories columns count: 7
[24-Nov-2025 15:54:30 UTC]    Language field in books: YES
[24-Nov-2025 15:54:30 UTC]    Format field in books: YES
[24-Nov-2025 15:54:30 UTC]    Description field in categories: YES
[24-Nov-2025 15:54:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:54:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:54:30 UTC]    Is_active field in books: YES
[24-Nov-2025 15:54:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:54:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:54:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:54:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:54:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:54:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:54:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:54:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:54:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:54:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:54:30 UTC] 📊 Database Info:
[24-Nov-2025 15:54:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:54:30 UTC]    Books columns count: 45
[24-Nov-2025 15:54:30 UTC]    Categories columns count: 7
[24-Nov-2025 15:54:30 UTC]    Language field in books: YES
[24-Nov-2025 15:54:30 UTC]    Format field in books: YES
[24-Nov-2025 15:54:30 UTC]    Description field in categories: YES
[24-Nov-2025 15:54:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:54:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:54:30 UTC]    Is_active field in books: YES
[24-Nov-2025 15:54:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:54:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:54:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:54:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:54:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:54:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:54:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:55:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:55:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:55:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:55:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:55:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:55:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:55:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:55:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:55:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:55:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:55:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:55:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:55:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:55:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:55:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:55:11 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:55:11 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:55:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:55:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:55:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:55:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:55:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:55:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:55:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:55:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:55:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:55:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:55:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:55:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:55:11 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:55:11 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:55:11 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:55:11 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:55:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:55:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:55:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:55:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:55:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:55:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:55:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:55:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:55:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:55:11 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:55:11 UTC] 📊 Database Info:
[24-Nov-2025 15:55:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:55:11 UTC]    Books columns count: 45
[24-Nov-2025 15:55:11 UTC]    Categories columns count: 7
[24-Nov-2025 15:55:11 UTC]    Language field in books: YES
[24-Nov-2025 15:55:11 UTC]    Format field in books: YES
[24-Nov-2025 15:55:11 UTC]    Description field in categories: YES
[24-Nov-2025 15:55:11 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:55:11 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:55:11 UTC]    Is_active field in books: YES
[24-Nov-2025 15:55:11 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:55:11 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:55:11 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:55:11 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:55:11 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:55:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:55:11 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 15:55:11 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 15:55:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:55:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:55:11 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:55:11 UTC] 📊 Database Info:
[24-Nov-2025 15:55:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:55:11 UTC]    Books columns count: 45
[24-Nov-2025 15:55:11 UTC]    Categories columns count: 7
[24-Nov-2025 15:55:11 UTC]    Language field in books: YES
[24-Nov-2025 15:55:11 UTC]    Format field in books: YES
[24-Nov-2025 15:55:11 UTC]    Description field in categories: YES
[24-Nov-2025 15:55:11 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:55:11 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:55:11 UTC]    Is_active field in books: YES
[24-Nov-2025 15:55:11 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:55:11 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:55:11 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:55:11 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:55:11 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:55:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:55:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:55:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:55:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:55:11 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:55:11 UTC] 📊 Database Info:
[24-Nov-2025 15:55:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:55:11 UTC]    Books columns count: 45
[24-Nov-2025 15:55:11 UTC]    Categories columns count: 7
[24-Nov-2025 15:55:11 UTC]    Language field in books: YES
[24-Nov-2025 15:55:11 UTC]    Format field in books: YES
[24-Nov-2025 15:55:11 UTC]    Description field in categories: YES
[24-Nov-2025 15:55:11 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:55:11 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:55:11 UTC]    Is_active field in books: YES
[24-Nov-2025 15:55:11 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:55:11 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:55:11 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:55:11 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:55:11 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:55:11 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:55:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:55:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:55:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:55:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:55:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:55:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:55:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:55:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:55:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:55:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:55:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:55:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:55:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:55:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:55:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:55:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:55:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:55:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:55:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:55:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:55:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:55:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:55:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:55:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:55:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:55:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:55:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:55:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:55:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:55:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:55:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:55:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:55:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:55:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:55:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:55:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:55:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:55:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:55:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:55:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:55:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:55:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:55:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:55:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:55:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:55:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:55:27 UTC] 📊 Database Info:
[24-Nov-2025 15:55:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:55:27 UTC]    Books columns count: 45
[24-Nov-2025 15:55:27 UTC]    Categories columns count: 7
[24-Nov-2025 15:55:27 UTC]    Language field in books: YES
[24-Nov-2025 15:55:27 UTC]    Format field in books: YES
[24-Nov-2025 15:55:27 UTC]    Description field in categories: YES
[24-Nov-2025 15:55:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:55:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:55:27 UTC]    Is_active field in books: YES
[24-Nov-2025 15:55:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:55:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:55:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:55:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:55:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:55:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:55:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:55:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:55:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:55:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:55:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:55:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:55:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:55:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:55:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:55:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:55:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:55:28 UTC] 📊 Database Info:
[24-Nov-2025 15:55:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:55:28 UTC]    Books columns count: 45
[24-Nov-2025 15:55:28 UTC]    Categories columns count: 7
[24-Nov-2025 15:55:28 UTC]    Language field in books: YES
[24-Nov-2025 15:55:28 UTC]    Format field in books: YES
[24-Nov-2025 15:55:28 UTC]    Description field in categories: YES
[24-Nov-2025 15:55:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:55:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:55:28 UTC]    Is_active field in books: YES
[24-Nov-2025 15:55:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:55:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:55:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:55:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:55:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:55:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:55:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:55:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:55:28 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 15:55:28 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 15:55:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:55:28 UTC] 📊 Database Info:
[24-Nov-2025 15:55:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:55:28 UTC]    Books columns count: 45
[24-Nov-2025 15:55:28 UTC]    Categories columns count: 7
[24-Nov-2025 15:55:28 UTC]    Language field in books: YES
[24-Nov-2025 15:55:28 UTC]    Format field in books: YES
[24-Nov-2025 15:55:28 UTC]    Description field in categories: YES
[24-Nov-2025 15:55:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:55:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:55:28 UTC]    Is_active field in books: YES
[24-Nov-2025 15:55:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:55:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:55:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:55:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:55:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:55:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:55:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:56:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:56:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:56:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:56:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:56:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:56:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:56:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:56:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:56:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:56:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:56:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:56:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:56:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:56:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:56:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:56:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:56:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:56:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:56:07 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:56:07 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:56:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:56:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:56:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:56:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:56:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:56:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:56:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:56:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:56:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:56:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:56:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:56:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:56:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:56:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:56:07 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:56:07 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:56:07 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:56:07 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:56:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:56:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:56:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:56:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:56:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:56:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:56:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:56:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:56:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:56:07 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:56:07 UTC] 📊 Database Info:
[24-Nov-2025 15:56:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:56:07 UTC]    Books columns count: 45
[24-Nov-2025 15:56:07 UTC]    Categories columns count: 7
[24-Nov-2025 15:56:07 UTC]    Language field in books: YES
[24-Nov-2025 15:56:07 UTC]    Format field in books: YES
[24-Nov-2025 15:56:07 UTC]    Description field in categories: YES
[24-Nov-2025 15:56:07 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:56:07 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:56:07 UTC]    Is_active field in books: YES
[24-Nov-2025 15:56:07 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:56:07 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:56:07 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:56:07 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:56:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:56:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:56:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:56:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:56:07 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:56:07 UTC] 📊 Database Info:
[24-Nov-2025 15:56:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:56:07 UTC]    Books columns count: 45
[24-Nov-2025 15:56:07 UTC]    Categories columns count: 7
[24-Nov-2025 15:56:07 UTC]    Language field in books: YES
[24-Nov-2025 15:56:07 UTC]    Format field in books: YES
[24-Nov-2025 15:56:07 UTC]    Description field in categories: YES
[24-Nov-2025 15:56:07 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:56:07 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:56:07 UTC]    Is_active field in books: YES
[24-Nov-2025 15:56:07 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:56:07 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:56:07 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:56:07 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:56:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:56:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:56:07 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 15:56:07 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 15:56:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:56:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:56:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:56:07 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:56:07 UTC] 📊 Database Info:
[24-Nov-2025 15:56:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:56:07 UTC]    Books columns count: 45
[24-Nov-2025 15:56:07 UTC]    Categories columns count: 7
[24-Nov-2025 15:56:07 UTC]    Language field in books: YES
[24-Nov-2025 15:56:07 UTC]    Format field in books: YES
[24-Nov-2025 15:56:07 UTC]    Description field in categories: YES
[24-Nov-2025 15:56:07 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:56:07 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:56:07 UTC]    Is_active field in books: YES
[24-Nov-2025 15:56:07 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:56:07 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:56:07 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:56:07 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:56:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:56:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:56:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:57:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:57:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:57:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:57:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:57:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:57:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:57:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:57:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:57:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:57:33 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:57:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:57:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:57:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:57:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:57:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:57:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:57:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:57:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:57:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:57:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:57:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:57:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:57:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:57:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:57:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:57:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:57:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:57:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:57:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:57:34 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:57:34 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:57:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:57:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:57:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:57:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:57:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:57:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:57:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:57:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:57:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:57:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:57:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:57:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:57:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:57:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:57:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:57:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:57:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:57:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:57:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:57:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:57:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:57:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:57:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:57:34 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:57:34 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:57:34 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:57:34 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:57:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:57:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:57:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:57:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:57:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:57:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:57:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:57:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:57:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:57:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:57:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:57:34 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:57:34 UTC] 📊 Database Info:
[24-Nov-2025 15:57:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:57:34 UTC]    Books columns count: 45
[24-Nov-2025 15:57:34 UTC]    Categories columns count: 7
[24-Nov-2025 15:57:34 UTC]    Language field in books: YES
[24-Nov-2025 15:57:34 UTC]    Format field in books: YES
[24-Nov-2025 15:57:34 UTC]    Description field in categories: YES
[24-Nov-2025 15:57:34 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:57:34 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:57:34 UTC]    Is_active field in books: YES
[24-Nov-2025 15:57:34 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:57:34 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:57:34 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:57:34 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:57:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:57:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:57:34 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 15:57:34 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 15:57:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:57:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:57:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:57:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:57:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:57:34 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:57:34 UTC] 📊 Database Info:
[24-Nov-2025 15:57:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:57:34 UTC]    Books columns count: 45
[24-Nov-2025 15:57:34 UTC]    Categories columns count: 7
[24-Nov-2025 15:57:34 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:57:34 UTC]    Language field in books: YES
[24-Nov-2025 15:57:34 UTC]    Format field in books: YES
[24-Nov-2025 15:57:34 UTC] 📊 Database Info:
[24-Nov-2025 15:57:34 UTC]    Description field in categories: YES
[24-Nov-2025 15:57:34 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:57:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:57:34 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:57:34 UTC]    Books columns count: 45
[24-Nov-2025 15:57:34 UTC]    Is_active field in books: YES
[24-Nov-2025 15:57:34 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:57:34 UTC]    Categories columns count: 7
[24-Nov-2025 15:57:34 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:57:34 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:57:34 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:57:34 UTC]    Language field in books: YES
[24-Nov-2025 15:57:34 UTC]    Format field in books: YES
[24-Nov-2025 15:57:34 UTC]    Description field in categories: YES
[24-Nov-2025 15:57:34 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:57:34 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:57:34 UTC]    Is_active field in books: YES
[24-Nov-2025 15:57:34 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:57:34 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:57:34 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:57:34 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:57:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:57:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:57:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:57:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:57:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:58:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:58:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:58:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:58:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:58:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:58:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:58:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:58:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:58:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:58:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:58:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:58:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:58:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:58:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:58:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:58:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:58:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:58:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:58:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:58:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:58:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:58:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:58:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:58:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:58:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:58:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:58:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:58:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:58:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:58:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:58:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:58:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:58:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:58:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:58:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:58:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:58:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:58:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:58:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:58:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:58:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:58:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:58:21 UTC] 📊 Database Info:
[24-Nov-2025 15:58:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:58:21 UTC]    Books columns count: 45
[24-Nov-2025 15:58:21 UTC]    Categories columns count: 7
[24-Nov-2025 15:58:21 UTC]    Language field in books: YES
[24-Nov-2025 15:58:21 UTC]    Format field in books: YES
[24-Nov-2025 15:58:21 UTC]    Description field in categories: YES
[24-Nov-2025 15:58:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:58:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:58:21 UTC]    Is_active field in books: YES
[24-Nov-2025 15:58:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:58:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:58:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:58:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:58:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:58:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:58:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:58:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:58:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:58:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:58:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:58:21 UTC] 📊 Database Info:
[24-Nov-2025 15:58:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:58:21 UTC]    Books columns count: 45
[24-Nov-2025 15:58:21 UTC]    Categories columns count: 7
[24-Nov-2025 15:58:21 UTC]    Language field in books: YES
[24-Nov-2025 15:58:21 UTC]    Format field in books: YES
[24-Nov-2025 15:58:21 UTC]    Description field in categories: YES
[24-Nov-2025 15:58:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:58:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:58:21 UTC]    Is_active field in books: YES
[24-Nov-2025 15:58:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:58:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:58:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:58:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:58:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:58:21 UTC] 📊 Database Info:
[24-Nov-2025 15:58:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:58:21 UTC]    Books columns count: 45
[24-Nov-2025 15:58:21 UTC]    Categories columns count: 7
[24-Nov-2025 15:58:21 UTC]    Language field in books: YES
[24-Nov-2025 15:58:21 UTC]    Format field in books: YES
[24-Nov-2025 15:58:21 UTC]    Description field in categories: YES
[24-Nov-2025 15:58:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:58:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:58:21 UTC]    Is_active field in books: YES
[24-Nov-2025 15:58:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:58:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:58:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:58:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:58:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:58:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:58:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:58:21 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 15:58:21 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 15:58:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:58:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:59:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:59:02 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:59:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:59:02 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:59:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 15:59:02 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:59:02 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:59:02 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:59:02 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:59:02 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:59:02 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:59:02 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:59:02 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:59:02 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:59:02 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:59:02 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:59:02 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:59:02 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:59:02 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:59:02 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:59:02 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:59:02 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:59:02 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:59:02 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:59:02 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:59:02 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:59:02 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:59:02 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:59:02 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:59:02 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:59:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:59:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:59:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:59:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:59:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:59:03 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:59:03 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:59:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:59:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:59:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:59:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:59:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:59:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:59:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:59:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:59:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:59:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:59:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:59:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 15:59:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:59:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:59:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 15:59:03 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:59:03 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 15:59:03 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:59:03 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 15:59:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:59:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 15:59:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:59:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 15:59:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:59:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 15:59:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 15:59:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:59:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 15:59:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:59:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:59:03 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:59:03 UTC] 📊 Database Info:
[24-Nov-2025 15:59:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:59:03 UTC]    Books columns count: 45
[24-Nov-2025 15:59:03 UTC]    Categories columns count: 7
[24-Nov-2025 15:59:03 UTC]    Language field in books: YES
[24-Nov-2025 15:59:03 UTC]    Format field in books: YES
[24-Nov-2025 15:59:03 UTC]    Description field in categories: YES
[24-Nov-2025 15:59:03 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:59:03 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:59:03 UTC]    Is_active field in books: YES
[24-Nov-2025 15:59:03 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:59:03 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:59:03 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:59:03 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:59:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:59:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:59:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:59:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:59:03 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:59:03 UTC] 📊 Database Info:
[24-Nov-2025 15:59:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:59:03 UTC]    Books columns count: 45
[24-Nov-2025 15:59:03 UTC]    Categories columns count: 7
[24-Nov-2025 15:59:03 UTC]    Language field in books: YES
[24-Nov-2025 15:59:03 UTC]    Format field in books: YES
[24-Nov-2025 15:59:03 UTC]    Description field in categories: YES
[24-Nov-2025 15:59:03 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:59:03 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:59:03 UTC]    Is_active field in books: YES
[24-Nov-2025 15:59:03 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:59:03 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:59:03 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:59:03 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:59:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:59:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 15:59:03 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 15:59:03 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 15:59:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 15:59:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 15:59:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 15:59:03 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 15:59:03 UTC] 📊 Database Info:
[24-Nov-2025 15:59:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 15:59:03 UTC]    Books columns count: 45
[24-Nov-2025 15:59:03 UTC]    Categories columns count: 7
[24-Nov-2025 15:59:03 UTC]    Language field in books: YES
[24-Nov-2025 15:59:03 UTC]    Format field in books: YES
[24-Nov-2025 15:59:03 UTC]    Description field in categories: YES
[24-Nov-2025 15:59:03 UTC]    Display_order field in categories: YES
[24-Nov-2025 15:59:03 UTC]    Is_active field in categories: YES
[24-Nov-2025 15:59:03 UTC]    Is_active field in books: YES
[24-Nov-2025 15:59:03 UTC]    External_download_link field in books: YES
[24-Nov-2025 15:59:03 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 15:59:03 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 15:59:03 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 15:59:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 15:59:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 15:59:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:01:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:01:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:01:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:01:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:01:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:01:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:01:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:01:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:01:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:01:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:01:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:01:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:01:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:01:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:01:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:01:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:01:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:01:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:01:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:01:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:01:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:01:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:01:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:01:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:01:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:01:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:01:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:01:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:01:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:01:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:01:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:01:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:01:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:01:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:01:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:01:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:01:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:01:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:01:27 UTC] 📊 Database Info:
[24-Nov-2025 16:01:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:01:27 UTC]    Books columns count: 45
[24-Nov-2025 16:01:27 UTC]    Categories columns count: 7
[24-Nov-2025 16:01:27 UTC]    Language field in books: YES
[24-Nov-2025 16:01:27 UTC]    Format field in books: YES
[24-Nov-2025 16:01:27 UTC]    Description field in categories: YES
[24-Nov-2025 16:01:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:01:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:01:27 UTC]    Is_active field in books: YES
[24-Nov-2025 16:01:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:01:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:01:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:01:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:01:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:01:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:01:27 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 16:01:27 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 16:01:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:01:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:01:27 UTC] 📊 Database Info:
[24-Nov-2025 16:01:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:01:27 UTC]    Books columns count: 45
[24-Nov-2025 16:01:27 UTC]    Categories columns count: 7
[24-Nov-2025 16:01:27 UTC]    Language field in books: YES
[24-Nov-2025 16:01:27 UTC]    Format field in books: YES
[24-Nov-2025 16:01:27 UTC]    Description field in categories: YES
[24-Nov-2025 16:01:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:01:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:01:27 UTC]    Is_active field in books: YES
[24-Nov-2025 16:01:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:01:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:01:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:01:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:01:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:01:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:01:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 16:01:27 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 16:01:27 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 16:01:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:01:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:01:27 UTC] 📊 Database Info:
[24-Nov-2025 16:01:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:01:27 UTC]    Books columns count: 45
[24-Nov-2025 16:01:27 UTC]    Categories columns count: 7
[24-Nov-2025 16:01:27 UTC]    Language field in books: YES
[24-Nov-2025 16:01:27 UTC]    Format field in books: YES
[24-Nov-2025 16:01:27 UTC]    Description field in categories: YES
[24-Nov-2025 16:01:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:01:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:01:27 UTC]    Is_active field in books: YES
[24-Nov-2025 16:01:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:01:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:01:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:01:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:01:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:01:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:01:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:02:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:02:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:02:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:02:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:02:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:02:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:02:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:02:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:02:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:02:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:02:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:02:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:02:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:02:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:02:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:02:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:02:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:02:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:02:06 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:02:06 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:02:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:02:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:02:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:02:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:02:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:02:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:02:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:02:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:02:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:02:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:02:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:02:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:02:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:02:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:02:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:02:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:02:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:02:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:02:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:02:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:02:07 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:02:07 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:02:07 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:02:07 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:02:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:02:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:02:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:02:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:02:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:02:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:02:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:02:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:02:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:02:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:02:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:02:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:02:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:02:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:02:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:02:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:02:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:02:07 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:02:07 UTC] 📊 Database Info:
[24-Nov-2025 16:02:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:02:07 UTC]    Books columns count: 45
[24-Nov-2025 16:02:07 UTC]    Categories columns count: 7
[24-Nov-2025 16:02:07 UTC]    Language field in books: YES
[24-Nov-2025 16:02:07 UTC]    Format field in books: YES
[24-Nov-2025 16:02:07 UTC]    Description field in categories: YES
[24-Nov-2025 16:02:07 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:02:07 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:02:07 UTC]    Is_active field in books: YES
[24-Nov-2025 16:02:07 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:02:07 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:02:07 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:02:07 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:02:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:02:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:02:07 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:02:07 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:02:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:02:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:02:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:02:07 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:02:07 UTC] 📊 Database Info:
[24-Nov-2025 16:02:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:02:07 UTC]    Books columns count: 45
[24-Nov-2025 16:02:07 UTC]    Categories columns count: 7
[24-Nov-2025 16:02:07 UTC]    Language field in books: YES
[24-Nov-2025 16:02:07 UTC]    Format field in books: YES
[24-Nov-2025 16:02:07 UTC]    Description field in categories: YES
[24-Nov-2025 16:02:07 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:02:07 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:02:07 UTC]    Is_active field in books: YES
[24-Nov-2025 16:02:07 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:02:07 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:02:07 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:02:07 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:02:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:02:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:02:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:02:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:02:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:02:07 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:02:07 UTC] 📊 Database Info:
[24-Nov-2025 16:02:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:02:07 UTC]    Books columns count: 45
[24-Nov-2025 16:02:07 UTC]    Categories columns count: 7
[24-Nov-2025 16:02:07 UTC]    Language field in books: YES
[24-Nov-2025 16:02:07 UTC]    Format field in books: YES
[24-Nov-2025 16:02:07 UTC]    Description field in categories: YES
[24-Nov-2025 16:02:07 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:02:07 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:02:07 UTC]    Is_active field in books: YES
[24-Nov-2025 16:02:07 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:02:07 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:02:07 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:02:07 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:02:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:02:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:02:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:02:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:02:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:02:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:02:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:02:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:02:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:02:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:02:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:02:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:02:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:02:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:02:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:02:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:02:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:02:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:02:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:02:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:02:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:02:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:02:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:02:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:02:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:02:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:02:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:02:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:02:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:02:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:02:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:02:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:02:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:02:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:02:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:02:12 UTC] 📊 Database Info:
[24-Nov-2025 16:02:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:02:12 UTC]    Books columns count: 45
[24-Nov-2025 16:02:12 UTC]    Categories columns count: 7
[24-Nov-2025 16:02:12 UTC]    Language field in books: YES
[24-Nov-2025 16:02:12 UTC]    Format field in books: YES
[24-Nov-2025 16:02:12 UTC]    Description field in categories: YES
[24-Nov-2025 16:02:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:02:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:02:12 UTC]    Is_active field in books: YES
[24-Nov-2025 16:02:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:02:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:02:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:02:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:02:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:02:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:02:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:02:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:02:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:02:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:02:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:02:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:02:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:02:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:02:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:02:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:02:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:02:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:02:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:02:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:02:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:02:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:02:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:02:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:02:32 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:02:32 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:02:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:02:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:02:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:02:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:02:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:02:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:02:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:02:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:02:33 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:02:33 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:02:33 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:02:33 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:02:33 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:02:33 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:02:33 UTC] 📊 Database Info:
[24-Nov-2025 16:02:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:02:33 UTC]    Books columns count: 45
[24-Nov-2025 16:02:33 UTC]    Categories columns count: 7
[24-Nov-2025 16:02:33 UTC]    Language field in books: YES
[24-Nov-2025 16:02:33 UTC]    Format field in books: YES
[24-Nov-2025 16:02:33 UTC]    Description field in categories: YES
[24-Nov-2025 16:02:33 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:02:33 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:02:33 UTC]    Is_active field in books: YES
[24-Nov-2025 16:02:33 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:02:33 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:02:33 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:02:33 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:02:33 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:02:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:02:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:02:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:02:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:02:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:02:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:02:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:02:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:02:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:02:33 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:02:33 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:02:33 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:02:33 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:02:33 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:02:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:02:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:02:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:02:33 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:02:33 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:02:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:02:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:02:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:02:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:02:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:02:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:02:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:02:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:02:33 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:02:33 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:02:33 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:02:33 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:02:33 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:02:33 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:02:33 UTC] 📊 Database Info:
[24-Nov-2025 16:02:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:02:33 UTC]    Books columns count: 45
[24-Nov-2025 16:02:33 UTC]    Categories columns count: 7
[24-Nov-2025 16:02:33 UTC]    Language field in books: YES
[24-Nov-2025 16:02:33 UTC]    Format field in books: YES
[24-Nov-2025 16:02:33 UTC]    Description field in categories: YES
[24-Nov-2025 16:02:33 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:02:33 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:02:33 UTC]    Is_active field in books: YES
[24-Nov-2025 16:02:33 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:02:33 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:02:33 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:02:33 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:02:33 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:02:33 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:02:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:02:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:02:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:02:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:02:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:02:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:02:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:02:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:02:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:02:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:02:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:02:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:02:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:02:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:02:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:02:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:02:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:02:38 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:02:38 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:02:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:02:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:02:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:02:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:02:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:02:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:02:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:02:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:02:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:02:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:02:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:02:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:02:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:02:38 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:02:38 UTC] 📊 Database Info:
[24-Nov-2025 16:02:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:02:38 UTC]    Books columns count: 45
[24-Nov-2025 16:02:38 UTC]    Categories columns count: 7
[24-Nov-2025 16:02:38 UTC]    Language field in books: YES
[24-Nov-2025 16:02:38 UTC]    Format field in books: YES
[24-Nov-2025 16:02:38 UTC]    Description field in categories: YES
[24-Nov-2025 16:02:38 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:02:38 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:02:38 UTC]    Is_active field in books: YES
[24-Nov-2025 16:02:38 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:02:38 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:02:38 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:02:38 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:02:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:02:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:02:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:02:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:03:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:03:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:03:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:03:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:03:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:03:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:03:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:03:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:03:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:03:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:03:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:03:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:03:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:03:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:03:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:03:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:03:15 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:03:15 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:03:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:03:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:03:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:03:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:03:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:03:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:03:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:03:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:03:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:03:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:03:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:03:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:03:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:03:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:03:15 UTC] 📊 Database Info:
[24-Nov-2025 16:03:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:03:15 UTC]    Books columns count: 45
[24-Nov-2025 16:03:15 UTC]    Categories columns count: 7
[24-Nov-2025 16:03:15 UTC]    Language field in books: YES
[24-Nov-2025 16:03:15 UTC]    Format field in books: YES
[24-Nov-2025 16:03:15 UTC]    Description field in categories: YES
[24-Nov-2025 16:03:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:03:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:03:15 UTC]    Is_active field in books: YES
[24-Nov-2025 16:03:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:03:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:03:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:03:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:03:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:03:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:03:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:03:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:03:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:03:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:03:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:03:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:03:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:03:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:03:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:03:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:03:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:03:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:03:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:03:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:03:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:03:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:03:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:03:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:03:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:03:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:03:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:03:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:03:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:03:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:03:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:03:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:03:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:03:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:03:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:03:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:03:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:03:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:03:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:03:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:03:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:03:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:03:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:03:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:03:35 UTC] 📊 Database Info:
[24-Nov-2025 16:03:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:03:35 UTC]    Books columns count: 45
[24-Nov-2025 16:03:35 UTC]    Categories columns count: 7
[24-Nov-2025 16:03:35 UTC]    Language field in books: YES
[24-Nov-2025 16:03:35 UTC]    Format field in books: YES
[24-Nov-2025 16:03:35 UTC]    Description field in categories: YES
[24-Nov-2025 16:03:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:03:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:03:35 UTC]    Is_active field in books: YES
[24-Nov-2025 16:03:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:03:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:03:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:03:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:03:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:03:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:03:35 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:03:35 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:03:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:03:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:03:35 UTC] 📊 Database Info:
[24-Nov-2025 16:03:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:03:35 UTC]    Books columns count: 45
[24-Nov-2025 16:03:35 UTC]    Categories columns count: 7
[24-Nov-2025 16:03:35 UTC]    Language field in books: YES
[24-Nov-2025 16:03:35 UTC]    Format field in books: YES
[24-Nov-2025 16:03:35 UTC]    Description field in categories: YES
[24-Nov-2025 16:03:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:03:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:03:35 UTC]    Is_active field in books: YES
[24-Nov-2025 16:03:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:03:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:03:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:03:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:03:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:03:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:03:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:03:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:03:35 UTC] 📊 Database Info:
[24-Nov-2025 16:03:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:03:35 UTC]    Books columns count: 45
[24-Nov-2025 16:03:35 UTC]    Categories columns count: 7
[24-Nov-2025 16:03:35 UTC]    Language field in books: YES
[24-Nov-2025 16:03:35 UTC]    Format field in books: YES
[24-Nov-2025 16:03:35 UTC]    Description field in categories: YES
[24-Nov-2025 16:03:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:03:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:03:35 UTC]    Is_active field in books: YES
[24-Nov-2025 16:03:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:03:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:03:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:03:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:03:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:03:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:03:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:03:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:03:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:03:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:03:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:03:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:03:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:03:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:03:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:03:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:03:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:03:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:03:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:03:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:03:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:03:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:03:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:03:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:03:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:03:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:03:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:03:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:03:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:03:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:03:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:03:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:03:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:03:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:03:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:03:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:03:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:03:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:03:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:03:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:03:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:03:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:03:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:03:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:03:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:03:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:03:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:03:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:03:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:03:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:03:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:03:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:03:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:03:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:03:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:03:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:03:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:03:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:03:36 UTC] 📊 Database Info:
[24-Nov-2025 16:03:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:03:36 UTC]    Books columns count: 45
[24-Nov-2025 16:03:36 UTC]    Categories columns count: 7
[24-Nov-2025 16:03:36 UTC]    Language field in books: YES
[24-Nov-2025 16:03:36 UTC]    Format field in books: YES
[24-Nov-2025 16:03:36 UTC]    Description field in categories: YES
[24-Nov-2025 16:03:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:03:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:03:36 UTC]    Is_active field in books: YES
[24-Nov-2025 16:03:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:03:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:03:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:03:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:03:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:03:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:03:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:03:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:03:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:03:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:03:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:03:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:03:36 UTC] 📊 Database Info:
[24-Nov-2025 16:03:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:03:36 UTC]    Books columns count: 45
[24-Nov-2025 16:03:36 UTC]    Categories columns count: 7
[24-Nov-2025 16:03:36 UTC]    Language field in books: YES
[24-Nov-2025 16:03:36 UTC]    Format field in books: YES
[24-Nov-2025 16:03:36 UTC]    Description field in categories: YES
[24-Nov-2025 16:03:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:03:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:03:36 UTC]    Is_active field in books: YES
[24-Nov-2025 16:03:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:03:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:03:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:03:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:03:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:03:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:03:36 UTC] 📊 Database Info:
[24-Nov-2025 16:03:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:03:36 UTC]    Books columns count: 45
[24-Nov-2025 16:03:36 UTC]    Categories columns count: 7
[24-Nov-2025 16:03:36 UTC]    Language field in books: YES
[24-Nov-2025 16:03:36 UTC]    Format field in books: YES
[24-Nov-2025 16:03:36 UTC]    Description field in categories: YES
[24-Nov-2025 16:03:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:03:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:03:36 UTC]    Is_active field in books: YES
[24-Nov-2025 16:03:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:03:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:03:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:03:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:03:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:03:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:03:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:03:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:03:36 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:03:36 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:04:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:04:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:04:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:04:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:04:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:04:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:04:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:04:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:04:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:04:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:04:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:04:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:04:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:04:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:04:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:04:46 UTC] 📊 Database Info:
[24-Nov-2025 16:04:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:04:46 UTC]    Books columns count: 45
[24-Nov-2025 16:04:46 UTC]    Categories columns count: 7
[24-Nov-2025 16:04:46 UTC]    Language field in books: YES
[24-Nov-2025 16:04:46 UTC]    Format field in books: YES
[24-Nov-2025 16:04:46 UTC]    Description field in categories: YES
[24-Nov-2025 16:04:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:04:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:04:46 UTC]    Is_active field in books: YES
[24-Nov-2025 16:04:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:04:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:04:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:04:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:04:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:04:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:04:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:04:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:04:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:04:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:04:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:04:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:04:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:04:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:04:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:04:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:04:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:04:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:04:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:04:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:04:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:04:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:04:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:04:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:04:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:04:46 UTC] 📊 Database Info:
[24-Nov-2025 16:04:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:04:46 UTC]    Books columns count: 45
[24-Nov-2025 16:04:46 UTC]    Categories columns count: 7
[24-Nov-2025 16:04:46 UTC]    Language field in books: YES
[24-Nov-2025 16:04:46 UTC]    Format field in books: YES
[24-Nov-2025 16:04:46 UTC]    Description field in categories: YES
[24-Nov-2025 16:04:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:04:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:04:46 UTC]    Is_active field in books: YES
[24-Nov-2025 16:04:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:04:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:04:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:04:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:04:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:04:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:04:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:04:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:04:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:04:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:04:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:04:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:04:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:04:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:04:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:04:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:04:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:04:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:04:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:04:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:04:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:04:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:04:54 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:04:54 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:04:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:04:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:04:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:04:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:04:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:04:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:04:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:04:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:04:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:04:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:04:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:04:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:04:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:04:54 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:04:54 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:04:54 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:04:54 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:04:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:04:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:04:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:04:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:04:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:04:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:04:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:04:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:04:54 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:04:54 UTC] 📊 Database Info:
[24-Nov-2025 16:04:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:04:54 UTC]    Books columns count: 45
[24-Nov-2025 16:04:54 UTC]    Categories columns count: 7
[24-Nov-2025 16:04:54 UTC]    Language field in books: YES
[24-Nov-2025 16:04:54 UTC]    Format field in books: YES
[24-Nov-2025 16:04:54 UTC]    Description field in categories: YES
[24-Nov-2025 16:04:54 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:04:54 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:04:54 UTC]    Is_active field in books: YES
[24-Nov-2025 16:04:54 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:04:54 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:04:54 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:04:54 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:04:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:04:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:04:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:04:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:04:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:04:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:04:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:04:54 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:04:54 UTC] 📊 Database Info:
[24-Nov-2025 16:04:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:04:54 UTC]    Books columns count: 45
[24-Nov-2025 16:04:54 UTC]    Categories columns count: 7
[24-Nov-2025 16:04:54 UTC]    Language field in books: YES
[24-Nov-2025 16:04:54 UTC]    Format field in books: YES
[24-Nov-2025 16:04:54 UTC]    Description field in categories: YES
[24-Nov-2025 16:04:54 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:04:54 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:04:54 UTC]    Is_active field in books: YES
[24-Nov-2025 16:04:54 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:04:54 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:04:54 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:04:54 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:04:54 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:04:54 UTC] 📊 Database Info:
[24-Nov-2025 16:04:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:04:54 UTC]    Books columns count: 45
[24-Nov-2025 16:04:54 UTC]    Categories columns count: 7
[24-Nov-2025 16:04:54 UTC]    Language field in books: YES
[24-Nov-2025 16:04:54 UTC]    Format field in books: YES
[24-Nov-2025 16:04:54 UTC]    Description field in categories: YES
[24-Nov-2025 16:04:54 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:04:54 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:04:54 UTC]    Is_active field in books: YES
[24-Nov-2025 16:04:54 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:04:54 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:04:54 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:04:54 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:04:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:04:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:04:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:04:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:04:54 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:04:54 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:04:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:04:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:04:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:04:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:04:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:04:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:04:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:04:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:04:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:04:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:04:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:04:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:04:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:04:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:04:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:04:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:04:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:04:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:04:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:04:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:04:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:04:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:04:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:04:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:04:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:04:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:04:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:04:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:04:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:04:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:04:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:04:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:04:57 UTC] 📊 Database Info:
[24-Nov-2025 16:04:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:04:57 UTC]    Books columns count: 45
[24-Nov-2025 16:04:57 UTC]    Categories columns count: 7
[24-Nov-2025 16:04:57 UTC]    Language field in books: YES
[24-Nov-2025 16:04:57 UTC]    Format field in books: YES
[24-Nov-2025 16:04:57 UTC]    Description field in categories: YES
[24-Nov-2025 16:04:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:04:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:04:57 UTC]    Is_active field in books: YES
[24-Nov-2025 16:04:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:04:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:04:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:04:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:04:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:04:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:04:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:04:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:05:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:05:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:05:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:05:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:05:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:05:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:05:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:05:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:05:03 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:05:03 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:05:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:05:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:05:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:05:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:05:03 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:05:03 UTC] 📊 Database Info:
[24-Nov-2025 16:05:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:05:03 UTC]    Books columns count: 45
[24-Nov-2025 16:05:03 UTC]    Categories columns count: 7
[24-Nov-2025 16:05:03 UTC]    Language field in books: YES
[24-Nov-2025 16:05:03 UTC]    Format field in books: YES
[24-Nov-2025 16:05:03 UTC]    Description field in categories: YES
[24-Nov-2025 16:05:03 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:05:03 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:05:03 UTC]    Is_active field in books: YES
[24-Nov-2025 16:05:03 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:05:03 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:05:03 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:05:03 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:05:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:05:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:05:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:05:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:05:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:05:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:05:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:05:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:05:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:05:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:05:03 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:05:03 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:05:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:05:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:05:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:05:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:05:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:05:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:05:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:05:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:05:03 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:05:03 UTC] 📊 Database Info:
[24-Nov-2025 16:05:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:05:03 UTC]    Books columns count: 45
[24-Nov-2025 16:05:03 UTC]    Categories columns count: 7
[24-Nov-2025 16:05:03 UTC]    Language field in books: YES
[24-Nov-2025 16:05:03 UTC]    Format field in books: YES
[24-Nov-2025 16:05:03 UTC]    Description field in categories: YES
[24-Nov-2025 16:05:03 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:05:03 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:05:03 UTC]    Is_active field in books: YES
[24-Nov-2025 16:05:03 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:05:03 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:05:03 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:05:03 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:05:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:05:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:05:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:05:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:05:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:05:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:05:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:05:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:05:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:05:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:05:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:05:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:05:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:05:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:05:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:05:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:05:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:05:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:05:06 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:05:06 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:05:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:05:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:05:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:05:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:05:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:05:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:05:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:05:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:05:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:05:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:05:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:05:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:05:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:05:06 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:05:06 UTC] 📊 Database Info:
[24-Nov-2025 16:05:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:05:06 UTC]    Books columns count: 45
[24-Nov-2025 16:05:06 UTC]    Categories columns count: 7
[24-Nov-2025 16:05:06 UTC]    Language field in books: YES
[24-Nov-2025 16:05:06 UTC]    Format field in books: YES
[24-Nov-2025 16:05:06 UTC]    Description field in categories: YES
[24-Nov-2025 16:05:06 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:05:06 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:05:06 UTC]    Is_active field in books: YES
[24-Nov-2025 16:05:06 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:05:06 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:05:06 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:05:06 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:05:06 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:05:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:05:06 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:05:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:12:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:12:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:12:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:12:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:12:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:12:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:12:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:12:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:12:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:12:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:12:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:12:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:12:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:12:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:12:29 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:12:29 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:12:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:12:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:12:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:12:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:12:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:12:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:12:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:12:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:12:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:12:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:12:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:12:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:12:29 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:12:29 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:12:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:12:29 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:12:29 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:12:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:12:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:12:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:12:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:12:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:12:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:12:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:12:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:12:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:12:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:12:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:12:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:12:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:12:29 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:12:29 UTC] 📊 Database Info:
[24-Nov-2025 16:12:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:12:29 UTC]    Books columns count: 45
[24-Nov-2025 16:12:29 UTC]    Categories columns count: 7
[24-Nov-2025 16:12:29 UTC]    Language field in books: YES
[24-Nov-2025 16:12:29 UTC]    Format field in books: YES
[24-Nov-2025 16:12:29 UTC]    Description field in categories: YES
[24-Nov-2025 16:12:29 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:12:29 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:12:29 UTC]    Is_active field in books: YES
[24-Nov-2025 16:12:29 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:12:29 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:12:29 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:12:29 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:12:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:12:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:12:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:12:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:12:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:12:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:12:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:12:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:12:29 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:12:29 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:12:29 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:12:29 UTC] 📊 Database Info:
[24-Nov-2025 16:12:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:12:29 UTC]    Books columns count: 45
[24-Nov-2025 16:12:29 UTC]    Categories columns count: 7
[24-Nov-2025 16:12:29 UTC]    Language field in books: YES
[24-Nov-2025 16:12:29 UTC]    Format field in books: YES
[24-Nov-2025 16:12:29 UTC]    Description field in categories: YES
[24-Nov-2025 16:12:29 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:12:29 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:12:29 UTC]    Is_active field in books: YES
[24-Nov-2025 16:12:29 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:12:29 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:12:29 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:12:29 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:12:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:12:29 UTC] 📊 Database Info:
[24-Nov-2025 16:12:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:12:29 UTC]    Books columns count: 45
[24-Nov-2025 16:12:29 UTC]    Categories columns count: 7
[24-Nov-2025 16:12:29 UTC]    Language field in books: YES
[24-Nov-2025 16:12:29 UTC]    Format field in books: YES
[24-Nov-2025 16:12:29 UTC]    Description field in categories: YES
[24-Nov-2025 16:12:29 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:12:29 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:12:29 UTC]    Is_active field in books: YES
[24-Nov-2025 16:12:29 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:12:29 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:12:29 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:12:29 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:12:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:12:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:12:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:12:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:12:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:15:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:15:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:15:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:15:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:15:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:15 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:15:15 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:15 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:15:15 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:15:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:15:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:15:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:15 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:15:15 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:15:15 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:15:15 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:15:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:15 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:15:15 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:15:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:15 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:15:15 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:15:15 UTC] 📊 Database Info:
[24-Nov-2025 16:15:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:15:15 UTC]    Books columns count: 45
[24-Nov-2025 16:15:15 UTC]    Categories columns count: 7
[24-Nov-2025 16:15:15 UTC]    Language field in books: YES
[24-Nov-2025 16:15:15 UTC]    Format field in books: YES
[24-Nov-2025 16:15:15 UTC]    Description field in categories: YES
[24-Nov-2025 16:15:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:15:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:15:15 UTC]    Is_active field in books: YES
[24-Nov-2025 16:15:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:15:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:15:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:15:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:15:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:15:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:15 UTC] 📊 Database Info:
[24-Nov-2025 16:15:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:15:15 UTC]    Books columns count: 45
[24-Nov-2025 16:15:15 UTC]    Categories columns count: 7
[24-Nov-2025 16:15:15 UTC]    Language field in books: YES
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:15 UTC]    Format field in books: YES
[24-Nov-2025 16:15:15 UTC]    Description field in categories: YES
[24-Nov-2025 16:15:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:15:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:15:15 UTC]    Is_active field in books: YES
[24-Nov-2025 16:15:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:15:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:15:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:15:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:15:15 UTC] 📊 Database Info:
[24-Nov-2025 16:15:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:15:15 UTC]    Books columns count: 45
[24-Nov-2025 16:15:15 UTC]    Categories columns count: 7
[24-Nov-2025 16:15:15 UTC]    Language field in books: YES
[24-Nov-2025 16:15:15 UTC]    Format field in books: YES
[24-Nov-2025 16:15:15 UTC]    Description field in categories: YES
[24-Nov-2025 16:15:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:15:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:15:15 UTC]    Is_active field in books: YES
[24-Nov-2025 16:15:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:15:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:15:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:15:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:15:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:15:15 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:15:15 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:15:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:15:15 UTC] 📊 Database Info:
[24-Nov-2025 16:15:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:15:15 UTC]    Books columns count: 45
[24-Nov-2025 16:15:15 UTC]    Categories columns count: 7
[24-Nov-2025 16:15:15 UTC]    Language field in books: YES
[24-Nov-2025 16:15:15 UTC]    Format field in books: YES
[24-Nov-2025 16:15:15 UTC]    Description field in categories: YES
[24-Nov-2025 16:15:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:15:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:15:15 UTC]    Is_active field in books: YES
[24-Nov-2025 16:15:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:15:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:15:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:15:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:15:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:15:15 UTC] 📊 Database Info:
[24-Nov-2025 16:15:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:15:15 UTC]    Books columns count: 45
[24-Nov-2025 16:15:15 UTC]    Categories columns count: 7
[24-Nov-2025 16:15:15 UTC]    Language field in books: YES
[24-Nov-2025 16:15:15 UTC]    Format field in books: YES
[24-Nov-2025 16:15:15 UTC]    Description field in categories: YES
[24-Nov-2025 16:15:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:15:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:15:15 UTC]    Is_active field in books: YES
[24-Nov-2025 16:15:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:15:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:15:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:15:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:15:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:15:15 UTC] 📊 Database Info:
[24-Nov-2025 16:15:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:15:15 UTC]    Books columns count: 45
[24-Nov-2025 16:15:15 UTC]    Categories columns count: 7
[24-Nov-2025 16:15:15 UTC]    Language field in books: YES
[24-Nov-2025 16:15:15 UTC]    Format field in books: YES
[24-Nov-2025 16:15:15 UTC]    Description field in categories: YES
[24-Nov-2025 16:15:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:15:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:15:15 UTC]    Is_active field in books: YES
[24-Nov-2025 16:15:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:15:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:15:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:15:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:15:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:15:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:15:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:15:15 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:15:15 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:15:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:15:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:15:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:18 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:15:18 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:15:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:18 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:15:18 UTC] 📊 Database Info:
[24-Nov-2025 16:15:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:15:18 UTC]    Books columns count: 45
[24-Nov-2025 16:15:18 UTC]    Categories columns count: 7
[24-Nov-2025 16:15:18 UTC]    Language field in books: YES
[24-Nov-2025 16:15:18 UTC]    Format field in books: YES
[24-Nov-2025 16:15:18 UTC]    Description field in categories: YES
[24-Nov-2025 16:15:18 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:15:18 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:15:18 UTC]    Is_active field in books: YES
[24-Nov-2025 16:15:18 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:15:18 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:15:18 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:15:18 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:15:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:15:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:15:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:15:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:15:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:15:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:15:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:15:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:15:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:15:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:15:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:15:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:15:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:15:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:15:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:15:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:15:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:15:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:15:26 UTC] 📊 Database Info:
[24-Nov-2025 16:15:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:15:26 UTC]    Books columns count: 45
[24-Nov-2025 16:15:26 UTC]    Categories columns count: 7
[24-Nov-2025 16:15:26 UTC]    Language field in books: YES
[24-Nov-2025 16:15:26 UTC]    Format field in books: YES
[24-Nov-2025 16:15:26 UTC]    Description field in categories: YES
[24-Nov-2025 16:15:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:15:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:15:26 UTC]    Is_active field in books: YES
[24-Nov-2025 16:15:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:15:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:15:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:15:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:15:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:15:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:15:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:15:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:15:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:15:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:15:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:42 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:15:42 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:15:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:15:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:15:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:42 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:15:42 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:15:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:42 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:15:42 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:15:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:15:42 UTC] 📊 Database Info:
[24-Nov-2025 16:15:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:15:42 UTC]    Books columns count: 45
[24-Nov-2025 16:15:42 UTC]    Categories columns count: 7
[24-Nov-2025 16:15:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:42 UTC]    Language field in books: YES
[24-Nov-2025 16:15:42 UTC]    Format field in books: YES
[24-Nov-2025 16:15:42 UTC]    Description field in categories: YES
[24-Nov-2025 16:15:42 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:15:42 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:15:42 UTC]    Is_active field in books: YES
[24-Nov-2025 16:15:42 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:15:42 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:15:42 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:15:42 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:15:42 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 16:15:42 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 16:15:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:42 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:15:42 UTC] 📊 Database Info:
[24-Nov-2025 16:15:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:15:42 UTC]    Books columns count: 45
[24-Nov-2025 16:15:42 UTC]    Categories columns count: 7
[24-Nov-2025 16:15:42 UTC]    Language field in books: YES
[24-Nov-2025 16:15:42 UTC]    Format field in books: YES
[24-Nov-2025 16:15:42 UTC]    Description field in categories: YES
[24-Nov-2025 16:15:42 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:15:42 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:15:42 UTC]    Is_active field in books: YES
[24-Nov-2025 16:15:42 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:15:42 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:15:42 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:15:42 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:15:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:15:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:42 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:15:42 UTC] 📊 Database Info:
[24-Nov-2025 16:15:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:15:42 UTC]    Books columns count: 45
[24-Nov-2025 16:15:42 UTC]    Categories columns count: 7
[24-Nov-2025 16:15:42 UTC]    Language field in books: YES
[24-Nov-2025 16:15:42 UTC]    Format field in books: YES
[24-Nov-2025 16:15:42 UTC]    Description field in categories: YES
[24-Nov-2025 16:15:42 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:15:42 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:15:42 UTC]    Is_active field in books: YES
[24-Nov-2025 16:15:42 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:15:42 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:15:42 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:15:42 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:15:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:15:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:15:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 16:15:42 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 16:15:42 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 16:15:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:15:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:15:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:15:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:15:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:15:57 UTC] 📊 Database Info:
[24-Nov-2025 16:15:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:15:57 UTC]    Books columns count: 45
[24-Nov-2025 16:15:57 UTC]    Categories columns count: 7
[24-Nov-2025 16:15:57 UTC]    Language field in books: YES
[24-Nov-2025 16:15:57 UTC]    Format field in books: YES
[24-Nov-2025 16:15:57 UTC]    Description field in categories: YES
[24-Nov-2025 16:15:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:15:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:15:57 UTC]    Is_active field in books: YES
[24-Nov-2025 16:15:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:15:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:15:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:15:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:15:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:15:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:15:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:15:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:15:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:15:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:15:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:15:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:15:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:15:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:15:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:15:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:15:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:15:57 UTC] 📊 Database Info:
[24-Nov-2025 16:15:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:15:57 UTC]    Books columns count: 45
[24-Nov-2025 16:15:57 UTC]    Categories columns count: 7
[24-Nov-2025 16:15:57 UTC]    Language field in books: YES
[24-Nov-2025 16:15:57 UTC]    Format field in books: YES
[24-Nov-2025 16:15:57 UTC]    Description field in categories: YES
[24-Nov-2025 16:15:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:15:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:15:57 UTC]    Is_active field in books: YES
[24-Nov-2025 16:15:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:15:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:15:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:15:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:15:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:15:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:15:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:01 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:01 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:01 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:01 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:01 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:01 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:01 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:01 UTC] 📊 Database Info:
[24-Nov-2025 16:16:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:01 UTC]    Books columns count: 45
[24-Nov-2025 16:16:01 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:01 UTC]    Language field in books: YES
[24-Nov-2025 16:16:01 UTC]    Format field in books: YES
[24-Nov-2025 16:16:01 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:01 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:01 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:01 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:01 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:01 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:01 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:01 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:01 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:01 UTC] 📊 Database Info:
[24-Nov-2025 16:16:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:01 UTC]    Books columns count: 45
[24-Nov-2025 16:16:01 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:01 UTC]    Language field in books: YES
[24-Nov-2025 16:16:01 UTC]    Format field in books: YES
[24-Nov-2025 16:16:01 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:01 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:01 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:01 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:01 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:01 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:01 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:01 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:01 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:16:01 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:16:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:01 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:01 UTC] 📊 Database Info:
[24-Nov-2025 16:16:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:01 UTC]    Books columns count: 45
[24-Nov-2025 16:16:01 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:01 UTC]    Language field in books: YES
[24-Nov-2025 16:16:01 UTC]    Format field in books: YES
[24-Nov-2025 16:16:01 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:01 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:01 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:01 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:01 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:01 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:01 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:01 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:03 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:03 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:03 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:03 UTC] 📊 Database Info:
[24-Nov-2025 16:16:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:03 UTC]    Books columns count: 45
[24-Nov-2025 16:16:03 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:03 UTC]    Language field in books: YES
[24-Nov-2025 16:16:03 UTC]    Format field in books: YES
[24-Nov-2025 16:16:03 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:03 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:03 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:03 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:03 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:03 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:03 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:03 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:18 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:18 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:18 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:18 UTC] 📊 Database Info:
[24-Nov-2025 16:16:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:18 UTC]    Books columns count: 45
[24-Nov-2025 16:16:18 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:18 UTC]    Language field in books: YES
[24-Nov-2025 16:16:18 UTC]    Format field in books: YES
[24-Nov-2025 16:16:18 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:18 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:18 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:18 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:18 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:18 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:18 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:18 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:19 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:19 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:19 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:19 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:19 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:19 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:19 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:19 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:19 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:19 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:19 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:19 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:19 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:19 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:19 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:19 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:19 UTC] 📊 Database Info:
[24-Nov-2025 16:16:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:19 UTC]    Books columns count: 45
[24-Nov-2025 16:16:19 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:19 UTC]    Language field in books: YES
[24-Nov-2025 16:16:19 UTC]    Format field in books: YES
[24-Nov-2025 16:16:19 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:19 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:19 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:19 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:19 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:19 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:19 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:19 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:19 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:19 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:16:19 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:16:19 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:19 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:19 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:19 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:19 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:19 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:19 UTC] 📊 Database Info:
[24-Nov-2025 16:16:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:19 UTC]    Books columns count: 45
[24-Nov-2025 16:16:19 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:19 UTC]    Language field in books: YES
[24-Nov-2025 16:16:19 UTC]    Format field in books: YES
[24-Nov-2025 16:16:19 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:19 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:19 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:19 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:19 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:19 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:19 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:19 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:19 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:19 UTC] 📊 Database Info:
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:19 UTC]    Books columns count: 45
[24-Nov-2025 16:16:19 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:19 UTC]    Language field in books: YES
[24-Nov-2025 16:16:19 UTC]    Format field in books: YES
[24-Nov-2025 16:16:19 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:19 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:19 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:19 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:19 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:19 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:19 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:19 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:19 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:27 UTC] 📊 Database Info:
[24-Nov-2025 16:16:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:27 UTC]    Books columns count: 45
[24-Nov-2025 16:16:27 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:27 UTC]    Language field in books: YES
[24-Nov-2025 16:16:27 UTC]    Format field in books: YES
[24-Nov-2025 16:16:27 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:27 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:27 UTC] 📊 Database Info:
[24-Nov-2025 16:16:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:27 UTC]    Books columns count: 45
[24-Nov-2025 16:16:27 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:27 UTC]    Language field in books: YES
[24-Nov-2025 16:16:27 UTC]    Format field in books: YES
[24-Nov-2025 16:16:27 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:27 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:30 UTC] 📊 Database Info:
[24-Nov-2025 16:16:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:30 UTC]    Books columns count: 45
[24-Nov-2025 16:16:30 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:30 UTC]    Language field in books: YES
[24-Nov-2025 16:16:30 UTC]    Format field in books: YES
[24-Nov-2025 16:16:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:30 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:30 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:30 UTC] 📊 Database Info:
[24-Nov-2025 16:16:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:30 UTC]    Books columns count: 45
[24-Nov-2025 16:16:30 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:30 UTC]    Language field in books: YES
[24-Nov-2025 16:16:30 UTC]    Format field in books: YES
[24-Nov-2025 16:16:30 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:30 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:30 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:16:30 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:16:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:31 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:31 UTC] 📊 Database Info:
[24-Nov-2025 16:16:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:31 UTC]    Books columns count: 45
[24-Nov-2025 16:16:31 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:31 UTC]    Language field in books: YES
[24-Nov-2025 16:16:31 UTC]    Format field in books: YES
[24-Nov-2025 16:16:31 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:31 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:31 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:31 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:31 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:31 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:31 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:31 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:31 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:31 UTC] 📊 Database Info:
[24-Nov-2025 16:16:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:31 UTC]    Books columns count: 45
[24-Nov-2025 16:16:31 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:31 UTC]    Language field in books: YES
[24-Nov-2025 16:16:31 UTC]    Format field in books: YES
[24-Nov-2025 16:16:31 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:31 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:31 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:31 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:31 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:31 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:31 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:31 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:32 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:32 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:32 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:32 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:32 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:32 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:32 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:32 UTC] 📊 Database Info:
[24-Nov-2025 16:16:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:32 UTC]    Books columns count: 45
[24-Nov-2025 16:16:32 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:32 UTC]    Language field in books: YES
[24-Nov-2025 16:16:32 UTC]    Format field in books: YES
[24-Nov-2025 16:16:32 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:32 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:32 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:32 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:32 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:32 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:32 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:32 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:32 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:32 UTC] 📊 Database Info:
[24-Nov-2025 16:16:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:32 UTC]    Books columns count: 45
[24-Nov-2025 16:16:32 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:32 UTC]    Language field in books: YES
[24-Nov-2025 16:16:32 UTC]    Format field in books: YES
[24-Nov-2025 16:16:32 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:32 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:32 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:32 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:32 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:32 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:32 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:32 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:32 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:16:32 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:16:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:32 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:32 UTC] 📊 Database Info:
[24-Nov-2025 16:16:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:32 UTC]    Books columns count: 45
[24-Nov-2025 16:16:32 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:32 UTC]    Language field in books: YES
[24-Nov-2025 16:16:32 UTC]    Format field in books: YES
[24-Nov-2025 16:16:32 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:32 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:32 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:32 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:32 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:32 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:32 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:32 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:33 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:33 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:33 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:33 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:33 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:33 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:33 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:33 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:33 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:33 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:33 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:33 UTC] 📊 Database Info:
[24-Nov-2025 16:16:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:33 UTC]    Books columns count: 45
[24-Nov-2025 16:16:33 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:33 UTC]    Language field in books: YES
[24-Nov-2025 16:16:33 UTC]    Format field in books: YES
[24-Nov-2025 16:16:33 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:33 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:33 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:33 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:33 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:33 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:33 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:33 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:33 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:33 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:37 UTC] 📊 Database Info:
[24-Nov-2025 16:16:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:37 UTC]    Books columns count: 45
[24-Nov-2025 16:16:37 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:37 UTC]    Language field in books: YES
[24-Nov-2025 16:16:37 UTC]    Format field in books: YES
[24-Nov-2025 16:16:37 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:37 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:38 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:38 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:38 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:38 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:38 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:38 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:38 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:38 UTC] 📊 Database Info:
[24-Nov-2025 16:16:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:38 UTC]    Books columns count: 45
[24-Nov-2025 16:16:38 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:38 UTC]    Language field in books: YES
[24-Nov-2025 16:16:38 UTC]    Format field in books: YES
[24-Nov-2025 16:16:38 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:38 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:38 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:38 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:38 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:38 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:38 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:38 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:38 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:38 UTC] 📊 Database Info:
[24-Nov-2025 16:16:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:38 UTC]    Books columns count: 45
[24-Nov-2025 16:16:38 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:38 UTC]    Language field in books: YES
[24-Nov-2025 16:16:38 UTC]    Format field in books: YES
[24-Nov-2025 16:16:38 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:38 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:38 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:38 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:38 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:38 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:38 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:38 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:38 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:16:38 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:16:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:38 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:38 UTC] 📊 Database Info:
[24-Nov-2025 16:16:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:38 UTC]    Books columns count: 45
[24-Nov-2025 16:16:38 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:38 UTC]    Language field in books: YES
[24-Nov-2025 16:16:38 UTC]    Format field in books: YES
[24-Nov-2025 16:16:38 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:38 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:38 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:38 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:38 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:38 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:38 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:38 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:40 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:40 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:40 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:40 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:40 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:40 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:40 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:40 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:40 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:40 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:40 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:40 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:40 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:40 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:40 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:40 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:40 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:40 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:40 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:40 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:40 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:40 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:40 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:40 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:40 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:40 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:40 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:40 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:40 UTC] 📊 Database Info:
[24-Nov-2025 16:16:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:40 UTC]    Books columns count: 45
[24-Nov-2025 16:16:40 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:40 UTC]    Language field in books: YES
[24-Nov-2025 16:16:40 UTC]    Format field in books: YES
[24-Nov-2025 16:16:40 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:40 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:40 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:40 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:40 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:40 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:40 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:40 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:40 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:40 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:41 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:41 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:41 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:41 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:41 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:41 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:41 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:41 UTC] 📊 Database Info:
[24-Nov-2025 16:16:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:41 UTC]    Books columns count: 45
[24-Nov-2025 16:16:41 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:41 UTC]    Language field in books: YES
[24-Nov-2025 16:16:41 UTC]    Format field in books: YES
[24-Nov-2025 16:16:41 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:41 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:41 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:41 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:41 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:41 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:41 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:41 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:41 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:41 UTC] 📊 Database Info:
[24-Nov-2025 16:16:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:41 UTC]    Books columns count: 45
[24-Nov-2025 16:16:41 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:41 UTC]    Language field in books: YES
[24-Nov-2025 16:16:41 UTC]    Format field in books: YES
[24-Nov-2025 16:16:41 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:41 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:41 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:41 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:41 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:41 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:41 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:41 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:41 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:41 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:16:41 UTC] 📊 Database Info:
[24-Nov-2025 16:16:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:41 UTC]    Books columns count: 45
[24-Nov-2025 16:16:41 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:41 UTC]    Language field in books: YES
[24-Nov-2025 16:16:41 UTC]    Format field in books: YES
[24-Nov-2025 16:16:41 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:41 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:41 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:41 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:41 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:41 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:41 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:41 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:41 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:16:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:50 UTC] 📊 Database Info:
[24-Nov-2025 16:16:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:50 UTC]    Books columns count: 45
[24-Nov-2025 16:16:50 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:50 UTC]    Language field in books: YES
[24-Nov-2025 16:16:50 UTC]    Format field in books: YES
[24-Nov-2025 16:16:50 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:50 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:50 UTC] 📊 Database Info:
[24-Nov-2025 16:16:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:50 UTC]    Books columns count: 45
[24-Nov-2025 16:16:50 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:50 UTC]    Language field in books: YES
[24-Nov-2025 16:16:50 UTC]    Format field in books: YES
[24-Nov-2025 16:16:50 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:50 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:50 UTC] 📊 Database Info:
[24-Nov-2025 16:16:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:50 UTC]    Books columns count: 45
[24-Nov-2025 16:16:50 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:50 UTC]    Language field in books: YES
[24-Nov-2025 16:16:50 UTC]    Format field in books: YES
[24-Nov-2025 16:16:50 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:50 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:50 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:16:50 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:16:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:51 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:51 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:51 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:51 UTC] 📊 Database Info:
[24-Nov-2025 16:16:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:51 UTC]    Books columns count: 45
[24-Nov-2025 16:16:51 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:51 UTC]    Language field in books: YES
[24-Nov-2025 16:16:51 UTC]    Format field in books: YES
[24-Nov-2025 16:16:51 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:51 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:51 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:51 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:51 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:51 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:51 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:51 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:52 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:52 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:53 UTC] 📊 Database Info:
[24-Nov-2025 16:16:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:53 UTC]    Books columns count: 45
[24-Nov-2025 16:16:53 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:53 UTC]    Language field in books: YES
[24-Nov-2025 16:16:53 UTC]    Format field in books: YES
[24-Nov-2025 16:16:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:53 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:53 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:53 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:16:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:53 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:16:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:53 UTC] 📊 Database Info:
[24-Nov-2025 16:16:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:53 UTC]    Books columns count: 45
[24-Nov-2025 16:16:53 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:53 UTC]    Language field in books: YES
[24-Nov-2025 16:16:53 UTC]    Format field in books: YES
[24-Nov-2025 16:16:53 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:53 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:53 UTC] 📊 Database Info:
[24-Nov-2025 16:16:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:53 UTC]    Books columns count: 45
[24-Nov-2025 16:16:53 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:53 UTC]    Language field in books: YES
[24-Nov-2025 16:16:53 UTC]    Format field in books: YES
[24-Nov-2025 16:16:53 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:53 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:16:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:59 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:59 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:16:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:16:59 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:59 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:59 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:16:59 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:16:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:16:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:16:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:16:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:16:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:16:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:59 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:59 UTC] 📊 Database Info:
[24-Nov-2025 16:16:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:59 UTC]    Books columns count: 45
[24-Nov-2025 16:16:59 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:59 UTC]    Language field in books: YES
[24-Nov-2025 16:16:59 UTC]    Format field in books: YES
[24-Nov-2025 16:16:59 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:59 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:59 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:59 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:59 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:59 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:59 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:59 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:59 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:16:59 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:16:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:16:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:16:59 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:59 UTC] 📊 Database Info:
[24-Nov-2025 16:16:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:59 UTC]    Books columns count: 45
[24-Nov-2025 16:16:59 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:59 UTC]    Language field in books: YES
[24-Nov-2025 16:16:59 UTC]    Format field in books: YES
[24-Nov-2025 16:16:59 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:59 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:59 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:59 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:59 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:59 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:59 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:59 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:59 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:16:59 UTC] 📊 Database Info:
[24-Nov-2025 16:16:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:16:59 UTC]    Books columns count: 45
[24-Nov-2025 16:16:59 UTC]    Categories columns count: 7
[24-Nov-2025 16:16:59 UTC]    Language field in books: YES
[24-Nov-2025 16:16:59 UTC]    Format field in books: YES
[24-Nov-2025 16:16:59 UTC]    Description field in categories: YES
[24-Nov-2025 16:16:59 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:16:59 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:16:59 UTC]    Is_active field in books: YES
[24-Nov-2025 16:16:59 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:16:59 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:16:59 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:16:59 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:16:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:16:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:16:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:17:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:17:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:17:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:17:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:17:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:17:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:17:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:17:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:17:17 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:17:17 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:17:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:17:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:17:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:17:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:17:17 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:17:17 UTC] 📊 Database Info:
[24-Nov-2025 16:17:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:17:17 UTC]    Books columns count: 45
[24-Nov-2025 16:17:17 UTC]    Categories columns count: 7
[24-Nov-2025 16:17:17 UTC]    Language field in books: YES
[24-Nov-2025 16:17:17 UTC]    Format field in books: YES
[24-Nov-2025 16:17:17 UTC]    Description field in categories: YES
[24-Nov-2025 16:17:17 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:17:17 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:17:17 UTC]    Is_active field in books: YES
[24-Nov-2025 16:17:17 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:17:17 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:17:17 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:17:17 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:17:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:17:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:17:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:17:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:17:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:17:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:17:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:17:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:17:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:17:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:17:17 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:17:17 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:17:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:17:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:17:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:17:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:17:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:17:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:17:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:17:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:17:17 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:17:17 UTC] 📊 Database Info:
[24-Nov-2025 16:17:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:17:17 UTC]    Books columns count: 45
[24-Nov-2025 16:17:17 UTC]    Categories columns count: 7
[24-Nov-2025 16:17:17 UTC]    Language field in books: YES
[24-Nov-2025 16:17:17 UTC]    Format field in books: YES
[24-Nov-2025 16:17:17 UTC]    Description field in categories: YES
[24-Nov-2025 16:17:17 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:17:17 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:17:17 UTC]    Is_active field in books: YES
[24-Nov-2025 16:17:17 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:17:17 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:17:17 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:17:17 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:17:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:17:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:17:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:17:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:17:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:17:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:17:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:17:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:17:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:17:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:17:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:17:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:17:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:17:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:17:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:17:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:17:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:17:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:17:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:17:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:17:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:17:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:17:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:17:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:17:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:17:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:17:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:17:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:17:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:17:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:17:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:17:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:17:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:17:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:17:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:17:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:17:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:17:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:17:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:17:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:17:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:17:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:17:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:17:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:17:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:17:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:17:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:17:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:17:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:17:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:17:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:17:20 UTC] 📊 Database Info:
[24-Nov-2025 16:17:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:17:20 UTC]    Books columns count: 45
[24-Nov-2025 16:17:20 UTC]    Categories columns count: 7
[24-Nov-2025 16:17:20 UTC]    Language field in books: YES
[24-Nov-2025 16:17:20 UTC]    Format field in books: YES
[24-Nov-2025 16:17:20 UTC]    Description field in categories: YES
[24-Nov-2025 16:17:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:17:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:17:20 UTC]    Is_active field in books: YES
[24-Nov-2025 16:17:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:17:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:17:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:17:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:17:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:17:20 UTC] 📊 Database Info:
[24-Nov-2025 16:17:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:17:20 UTC]    Books columns count: 45
[24-Nov-2025 16:17:20 UTC]    Categories columns count: 7
[24-Nov-2025 16:17:20 UTC]    Language field in books: YES
[24-Nov-2025 16:17:20 UTC]    Format field in books: YES
[24-Nov-2025 16:17:20 UTC]    Description field in categories: YES
[24-Nov-2025 16:17:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:17:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:17:20 UTC]    Is_active field in books: YES
[24-Nov-2025 16:17:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:17:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:17:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:17:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:17:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:17:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:17:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:17:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:17:20 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:17:20 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:17:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:17:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:17:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:17:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:17:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:17:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:17:21 UTC] 📊 Database Info:
[24-Nov-2025 16:17:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:17:21 UTC]    Books columns count: 45
[24-Nov-2025 16:17:21 UTC]    Categories columns count: 7
[24-Nov-2025 16:17:21 UTC]    Language field in books: YES
[24-Nov-2025 16:17:21 UTC]    Format field in books: YES
[24-Nov-2025 16:17:21 UTC]    Description field in categories: YES
[24-Nov-2025 16:17:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:17:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:17:21 UTC]    Is_active field in books: YES
[24-Nov-2025 16:17:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:17:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:17:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:17:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:17:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:17:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:17:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:17:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:17:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:17:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:17:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:17:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:17:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:17:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:17:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:17:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:17:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:17:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:17:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:17:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:17:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:17:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:17:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:17:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:17:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:17:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:17:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:17:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:17:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:17:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:17:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:17:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:17:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:17:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:17:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:17:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:17:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:17:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:17:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:17:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:17:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:17:22 UTC] 📊 Database Info:
[24-Nov-2025 16:17:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:17:22 UTC]    Books columns count: 45
[24-Nov-2025 16:17:22 UTC]    Categories columns count: 7
[24-Nov-2025 16:17:22 UTC]    Language field in books: YES
[24-Nov-2025 16:17:22 UTC]    Format field in books: YES
[24-Nov-2025 16:17:22 UTC]    Description field in categories: YES
[24-Nov-2025 16:17:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:17:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:17:22 UTC]    Is_active field in books: YES
[24-Nov-2025 16:17:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:17:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:17:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:17:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:17:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:17:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:17:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:17:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:17:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:17:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:17:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:17:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:17:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:17:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:17:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:17:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:17:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:17:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:17:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:17:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:17:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:17:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:17:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:17:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:17:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:17:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:17:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:17:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:17:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:17:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:17:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:17:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:17:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:17:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:17:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:17:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:17:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:17:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:17:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:17:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:17:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:17:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:17:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:17:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:17:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:17:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:17:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:17:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:17:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:17:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:17:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:17:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:17:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:17:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:17:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:17:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:17:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:17:31 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:17:31 UTC] 📊 Database Info:
[24-Nov-2025 16:17:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:17:31 UTC]    Books columns count: 45
[24-Nov-2025 16:17:31 UTC]    Categories columns count: 7
[24-Nov-2025 16:17:31 UTC]    Language field in books: YES
[24-Nov-2025 16:17:31 UTC]    Format field in books: YES
[24-Nov-2025 16:17:31 UTC]    Description field in categories: YES
[24-Nov-2025 16:17:31 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:17:31 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:17:31 UTC]    Is_active field in books: YES
[24-Nov-2025 16:17:31 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:17:31 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:17:31 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:17:31 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:17:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:17:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:17:31 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:17:31 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:17:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:17:31 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:17:31 UTC] 📊 Database Info:
[24-Nov-2025 16:17:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:17:31 UTC]    Books columns count: 45
[24-Nov-2025 16:17:31 UTC]    Categories columns count: 7
[24-Nov-2025 16:17:31 UTC]    Language field in books: YES
[24-Nov-2025 16:17:31 UTC]    Format field in books: YES
[24-Nov-2025 16:17:31 UTC]    Description field in categories: YES
[24-Nov-2025 16:17:31 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:17:31 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:17:31 UTC]    Is_active field in books: YES
[24-Nov-2025 16:17:31 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:17:31 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:17:31 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:17:31 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:17:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:17:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:17:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:17:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:17:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:17:31 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:17:31 UTC] 📊 Database Info:
[24-Nov-2025 16:17:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:17:31 UTC]    Books columns count: 45
[24-Nov-2025 16:17:31 UTC]    Categories columns count: 7
[24-Nov-2025 16:17:31 UTC]    Language field in books: YES
[24-Nov-2025 16:17:31 UTC]    Format field in books: YES
[24-Nov-2025 16:17:31 UTC]    Description field in categories: YES
[24-Nov-2025 16:17:31 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:17:31 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:17:31 UTC]    Is_active field in books: YES
[24-Nov-2025 16:17:31 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:17:31 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:17:31 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:17:31 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:17:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:17:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:17:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:36:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:36:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:36:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:36:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:36:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:07 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:36:07 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:36:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:36:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:36:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:07 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:36:07 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:07 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:36:07 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:36:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:07 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:36:07 UTC] 📊 Database Info:
[24-Nov-2025 16:36:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:36:07 UTC]    Books columns count: 45
[24-Nov-2025 16:36:07 UTC]    Categories columns count: 7
[24-Nov-2025 16:36:07 UTC]    Language field in books: YES
[24-Nov-2025 16:36:07 UTC]    Format field in books: YES
[24-Nov-2025 16:36:07 UTC]    Description field in categories: YES
[24-Nov-2025 16:36:07 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:36:07 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:36:07 UTC]    Is_active field in books: YES
[24-Nov-2025 16:36:07 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:36:07 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:36:07 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:36:07 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:36:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:36:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:07 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:36:07 UTC] 📊 Database Info:
[24-Nov-2025 16:36:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:36:07 UTC]    Books columns count: 45
[24-Nov-2025 16:36:07 UTC]    Categories columns count: 7
[24-Nov-2025 16:36:07 UTC]    Language field in books: YES
[24-Nov-2025 16:36:07 UTC]    Format field in books: YES
[24-Nov-2025 16:36:07 UTC]    Description field in categories: YES
[24-Nov-2025 16:36:07 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:36:07 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:36:07 UTC]    Is_active field in books: YES
[24-Nov-2025 16:36:07 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:36:07 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:36:07 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:36:07 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:36:07 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:36:07 UTC] 📊 Database Info:
[24-Nov-2025 16:36:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:36:07 UTC]    Books columns count: 45
[24-Nov-2025 16:36:07 UTC]    Categories columns count: 7
[24-Nov-2025 16:36:07 UTC]    Language field in books: YES
[24-Nov-2025 16:36:07 UTC]    Format field in books: YES
[24-Nov-2025 16:36:07 UTC]    Description field in categories: YES
[24-Nov-2025 16:36:07 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:36:07 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:36:07 UTC]    Is_active field in books: YES
[24-Nov-2025 16:36:07 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:36:07 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:36:07 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:36:07 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:36:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:36:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:36:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:36:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 16:36:07 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 16:36:07 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 16:36:07 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 16:36:07 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 16:36:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:36:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:36:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:36:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:36:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:36:08 UTC] 📊 Database Info:
[24-Nov-2025 16:36:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:36:08 UTC]    Books columns count: 45
[24-Nov-2025 16:36:08 UTC]    Categories columns count: 7
[24-Nov-2025 16:36:08 UTC]    Language field in books: YES
[24-Nov-2025 16:36:08 UTC]    Format field in books: YES
[24-Nov-2025 16:36:08 UTC]    Description field in categories: YES
[24-Nov-2025 16:36:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:36:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:36:08 UTC]    Is_active field in books: YES
[24-Nov-2025 16:36:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:36:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:36:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:36:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:36:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:36:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:36:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:36:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:36:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:36:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:36:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:23 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:36:23 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:36:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:36:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:23 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:36:23 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:36:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:36:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:36:23 UTC] 📊 Database Info:
[24-Nov-2025 16:36:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:36:23 UTC]    Books columns count: 45
[24-Nov-2025 16:36:23 UTC]    Categories columns count: 7
[24-Nov-2025 16:36:23 UTC]    Language field in books: YES
[24-Nov-2025 16:36:23 UTC]    Format field in books: YES
[24-Nov-2025 16:36:23 UTC]    Description field in categories: YES
[24-Nov-2025 16:36:23 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:36:23 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:36:23 UTC]    Is_active field in books: YES
[24-Nov-2025 16:36:23 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:36:23 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:36:23 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:36:23 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:36:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:36:23 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 16:36:23 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 16:36:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:23 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:36:23 UTC] 📊 Database Info:
[24-Nov-2025 16:36:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:36:23 UTC]    Books columns count: 45
[24-Nov-2025 16:36:23 UTC]    Categories columns count: 7
[24-Nov-2025 16:36:23 UTC]    Language field in books: YES
[24-Nov-2025 16:36:23 UTC]    Format field in books: YES
[24-Nov-2025 16:36:23 UTC]    Description field in categories: YES
[24-Nov-2025 16:36:23 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:36:23 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:36:23 UTC]    Is_active field in books: YES
[24-Nov-2025 16:36:23 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:36:23 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:36:23 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:36:23 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:36:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:36:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:36:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:23 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:36:23 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:36:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:23 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:36:23 UTC] 📊 Database Info:
[24-Nov-2025 16:36:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:36:23 UTC]    Books columns count: 45
[24-Nov-2025 16:36:23 UTC]    Categories columns count: 7
[24-Nov-2025 16:36:23 UTC]    Language field in books: YES
[24-Nov-2025 16:36:23 UTC]    Format field in books: YES
[24-Nov-2025 16:36:23 UTC]    Description field in categories: YES
[24-Nov-2025 16:36:23 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:36:23 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:36:23 UTC]    Is_active field in books: YES
[24-Nov-2025 16:36:23 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:36:23 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:36:23 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:36:23 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:36:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:36:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:36:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 16:36:23 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 16:36:23 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 16:36:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:36:24 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:24 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:24 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:24 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:24 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:24 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:24 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:24 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:24 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:24 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:24 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:24 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:36:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:24 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:36:24 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:36:24 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:24 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:24 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:24 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:24 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:24 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:24 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:24 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:24 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:24 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:24 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:24 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:24 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:24 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:36:24 UTC] 📊 Database Info:
[24-Nov-2025 16:36:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:36:24 UTC]    Books columns count: 45
[24-Nov-2025 16:36:24 UTC]    Categories columns count: 7
[24-Nov-2025 16:36:24 UTC]    Language field in books: YES
[24-Nov-2025 16:36:24 UTC]    Format field in books: YES
[24-Nov-2025 16:36:24 UTC]    Description field in categories: YES
[24-Nov-2025 16:36:24 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:36:24 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:36:24 UTC]    Is_active field in books: YES
[24-Nov-2025 16:36:24 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:36:24 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:36:24 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:36:24 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:36:24 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:36:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:36:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:36:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:36:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:36:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:36:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:36:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:36:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:36:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:36:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:36:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:36:24 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:36:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:36:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:36:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:36:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:36:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:36:36 UTC] 📊 Database Info:
[24-Nov-2025 16:36:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:36:36 UTC]    Books columns count: 45
[24-Nov-2025 16:36:36 UTC]    Categories columns count: 7
[24-Nov-2025 16:36:36 UTC]    Language field in books: YES
[24-Nov-2025 16:36:36 UTC]    Format field in books: YES
[24-Nov-2025 16:36:36 UTC]    Description field in categories: YES
[24-Nov-2025 16:36:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:36:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:36:36 UTC]    Is_active field in books: YES
[24-Nov-2025 16:36:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:36:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:36:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:36:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:36:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:36:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:36:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:36:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:36:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:36:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:36:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:36:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:36:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:36:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:36:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:36:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:36:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:36:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:36:40 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:40 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:40 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:40 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:40 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:40 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:40 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:40 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:40 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:40 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:40 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:40 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:36:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:40 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:36:40 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:36:40 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:40 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:40 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:40 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:40 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:40 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:40 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:40 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:40 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:40 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:40 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:40 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:40 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:40 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:36:40 UTC] 📊 Database Info:
[24-Nov-2025 16:36:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:36:40 UTC]    Books columns count: 45
[24-Nov-2025 16:36:40 UTC]    Categories columns count: 7
[24-Nov-2025 16:36:40 UTC]    Language field in books: YES
[24-Nov-2025 16:36:40 UTC]    Format field in books: YES
[24-Nov-2025 16:36:40 UTC]    Description field in categories: YES
[24-Nov-2025 16:36:40 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:36:40 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:36:40 UTC]    Is_active field in books: YES
[24-Nov-2025 16:36:40 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:36:40 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:36:40 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:36:40 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:36:40 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:36:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:36:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:36:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:36:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:36:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:36:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:36:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:36:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:36:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:36:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:36:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:36:40 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:36:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:36:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:36:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:36:41 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:36:41 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:36:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:36:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:36:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:36:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:36:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:36:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:36:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:36:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:36:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:36:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:36:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:36:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:36:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:36:41 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:36:41 UTC] 📊 Database Info:
[24-Nov-2025 16:36:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:36:41 UTC]    Books columns count: 45
[24-Nov-2025 16:36:41 UTC]    Categories columns count: 7
[24-Nov-2025 16:36:41 UTC]    Language field in books: YES
[24-Nov-2025 16:36:41 UTC]    Format field in books: YES
[24-Nov-2025 16:36:41 UTC]    Description field in categories: YES
[24-Nov-2025 16:36:41 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:36:41 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:36:41 UTC]    Is_active field in books: YES
[24-Nov-2025 16:36:41 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:36:41 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:36:41 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:36:41 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:36:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:36:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:36:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:36:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:37:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:37:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:37:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:37:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:37:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:37:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:37:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:37:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:37:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:37:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:37:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:37:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:37:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:37:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:37:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:37:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:37:29 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:37:29 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:37:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:37:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:37:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:37:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:37:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:37:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:37:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:37:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:37:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:37:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:37:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:37:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:37:29 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:37:29 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:37:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:37:29 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:37:29 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:37:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:37:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:37:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:37:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:37:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:37:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:37:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:37:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:37:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:37:29 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:37:29 UTC] 📊 Database Info:
[24-Nov-2025 16:37:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:37:29 UTC]    Books columns count: 45
[24-Nov-2025 16:37:29 UTC]    Categories columns count: 7
[24-Nov-2025 16:37:29 UTC]    Language field in books: YES
[24-Nov-2025 16:37:29 UTC]    Format field in books: YES
[24-Nov-2025 16:37:29 UTC]    Description field in categories: YES
[24-Nov-2025 16:37:29 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:37:29 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:37:29 UTC]    Is_active field in books: YES
[24-Nov-2025 16:37:29 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:37:29 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:37:29 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:37:29 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:37:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:37:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:37:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 16:37:29 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 16:37:29 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 16:37:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:37:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:37:29 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:37:29 UTC] 📊 Database Info:
[24-Nov-2025 16:37:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:37:29 UTC]    Books columns count: 45
[24-Nov-2025 16:37:29 UTC]    Categories columns count: 7
[24-Nov-2025 16:37:29 UTC]    Language field in books: YES
[24-Nov-2025 16:37:29 UTC]    Format field in books: YES
[24-Nov-2025 16:37:29 UTC]    Description field in categories: YES
[24-Nov-2025 16:37:29 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:37:29 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:37:29 UTC]    Is_active field in books: YES
[24-Nov-2025 16:37:29 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:37:29 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:37:29 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:37:29 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:37:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:37:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:37:29 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 16:37:29 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 16:37:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:37:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:37:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:37:29 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:37:29 UTC] 📊 Database Info:
[24-Nov-2025 16:37:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:37:29 UTC]    Books columns count: 45
[24-Nov-2025 16:37:29 UTC]    Categories columns count: 7
[24-Nov-2025 16:37:29 UTC]    Language field in books: YES
[24-Nov-2025 16:37:29 UTC]    Format field in books: YES
[24-Nov-2025 16:37:29 UTC]    Description field in categories: YES
[24-Nov-2025 16:37:29 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:37:29 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:37:29 UTC]    Is_active field in books: YES
[24-Nov-2025 16:37:29 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:37:29 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:37:29 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:37:29 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:37:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:37:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:37:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:37:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:37:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:37:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:37:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:37:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:37:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:37:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:37:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:37:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:37:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:37:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:37:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:37:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:37:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:37:31 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:37:31 UTC] 📊 Database Info:
[24-Nov-2025 16:37:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:37:31 UTC]    Books columns count: 45
[24-Nov-2025 16:37:31 UTC]    Categories columns count: 7
[24-Nov-2025 16:37:31 UTC]    Language field in books: YES
[24-Nov-2025 16:37:31 UTC]    Format field in books: YES
[24-Nov-2025 16:37:31 UTC]    Description field in categories: YES
[24-Nov-2025 16:37:31 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:37:31 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:37:31 UTC]    Is_active field in books: YES
[24-Nov-2025 16:37:31 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:37:31 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:37:31 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:37:31 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:37:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:37:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:37:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:37:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:37:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:37:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:37:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:37:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:37:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:37:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:37:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:37:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:37:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:37:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:37:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:37:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:37:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:37:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:37:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:37:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:37:31 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:37:31 UTC] 📊 Database Info:
[24-Nov-2025 16:37:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:37:31 UTC]    Books columns count: 45
[24-Nov-2025 16:37:31 UTC]    Categories columns count: 7
[24-Nov-2025 16:37:31 UTC]    Language field in books: YES
[24-Nov-2025 16:37:31 UTC]    Format field in books: YES
[24-Nov-2025 16:37:31 UTC]    Description field in categories: YES
[24-Nov-2025 16:37:31 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:37:31 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:37:31 UTC]    Is_active field in books: YES
[24-Nov-2025 16:37:31 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:37:31 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:37:31 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:37:31 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:37:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:37:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:37:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:41:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:41:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:41:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:41:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:41:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:41:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:41:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:41:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:41:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:41:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:41:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:41:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:41:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:41:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:41:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:41:18 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:41:18 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:41:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:41:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:41:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:41:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:41:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:41:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:41:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:41:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:41:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:41:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:41:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:41:18 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:41:18 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:41:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:41:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:41:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:41:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:41:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:41:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:41:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:41:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:41:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:41:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:41:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:41:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:41:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:41:18 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:41:18 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:41:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:41:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:41:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:41:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:41:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:41:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:41:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:41:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:41:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:41:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:41:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:41:18 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:41:18 UTC] 📊 Database Info:
[24-Nov-2025 16:41:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:41:18 UTC]    Books columns count: 45
[24-Nov-2025 16:41:18 UTC]    Categories columns count: 7
[24-Nov-2025 16:41:18 UTC]    Language field in books: YES
[24-Nov-2025 16:41:18 UTC]    Format field in books: YES
[24-Nov-2025 16:41:18 UTC]    Description field in categories: YES
[24-Nov-2025 16:41:18 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:41:18 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:41:18 UTC]    Is_active field in books: YES
[24-Nov-2025 16:41:18 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:41:18 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:41:18 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:41:18 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:41:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:41:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:41:18 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 16:41:18 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 16:41:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:41:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:41:18 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:41:18 UTC] 📊 Database Info:
[24-Nov-2025 16:41:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:41:18 UTC]    Books columns count: 45
[24-Nov-2025 16:41:18 UTC]    Categories columns count: 7
[24-Nov-2025 16:41:18 UTC]    Language field in books: YES
[24-Nov-2025 16:41:18 UTC]    Format field in books: YES
[24-Nov-2025 16:41:18 UTC]    Description field in categories: YES
[24-Nov-2025 16:41:18 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:41:18 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:41:18 UTC]    Is_active field in books: YES
[24-Nov-2025 16:41:18 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:41:18 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:41:18 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:41:18 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:41:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:41:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:41:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:41:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:41:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:41:18 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:41:18 UTC] 📊 Database Info:
[24-Nov-2025 16:41:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:41:18 UTC]    Books columns count: 45
[24-Nov-2025 16:41:18 UTC]    Categories columns count: 7
[24-Nov-2025 16:41:18 UTC]    Language field in books: YES
[24-Nov-2025 16:41:18 UTC]    Format field in books: YES
[24-Nov-2025 16:41:18 UTC]    Description field in categories: YES
[24-Nov-2025 16:41:18 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:41:18 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:41:18 UTC]    Is_active field in books: YES
[24-Nov-2025 16:41:18 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:41:18 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:41:18 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:41:18 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:41:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:41:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:41:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:41:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 16:41:18 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 16:41:18 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 16:46:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:46:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:46:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:46:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:46:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:46:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:46:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:46:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:46:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:46:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:46:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:46:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:46:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:46:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:46:00 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:46:00 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:46:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:46:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:46:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:46:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:46:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:46:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:46:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:46:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:46:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:46:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:46:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:46:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:46:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:46:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:46:00 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:46:00 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:46:00 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:46:00 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:46:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:46:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:46:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:46:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:46:00 UTC] 📊 Database Info:
[24-Nov-2025 16:46:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:46:00 UTC]    Books columns count: 45
[24-Nov-2025 16:46:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:46:00 UTC]    Categories columns count: 7
[24-Nov-2025 16:46:00 UTC]    Language field in books: YES
[24-Nov-2025 16:46:00 UTC]    Format field in books: YES
[24-Nov-2025 16:46:00 UTC]    Description field in categories: YES
[24-Nov-2025 16:46:00 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:46:00 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:46:00 UTC]    Is_active field in books: YES
[24-Nov-2025 16:46:00 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:46:00 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:46:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:46:00 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:46:00 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:46:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:46:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:46:00 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:46:00 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 16:46:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:46:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:46:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:46:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:46:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:46:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:46:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:46:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:46:00 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:46:00 UTC] 📊 Database Info:
[24-Nov-2025 16:46:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:46:00 UTC]    Books columns count: 45
[24-Nov-2025 16:46:00 UTC]    Categories columns count: 7
[24-Nov-2025 16:46:00 UTC]    Language field in books: YES
[24-Nov-2025 16:46:00 UTC]    Format field in books: YES
[24-Nov-2025 16:46:00 UTC]    Description field in categories: YES
[24-Nov-2025 16:46:00 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:46:00 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:46:00 UTC]    Is_active field in books: YES
[24-Nov-2025 16:46:00 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:46:00 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:46:00 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:46:00 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:46:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:46:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:46:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 16:46:00 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 16:46:00 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 16:46:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:46:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:46:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:46:00 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:46:00 UTC] 📊 Database Info:
[24-Nov-2025 16:46:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:46:00 UTC]    Books columns count: 45
[24-Nov-2025 16:46:00 UTC]    Categories columns count: 7
[24-Nov-2025 16:46:00 UTC]    Language field in books: YES
[24-Nov-2025 16:46:00 UTC]    Format field in books: YES
[24-Nov-2025 16:46:00 UTC]    Description field in categories: YES
[24-Nov-2025 16:46:00 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:46:00 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:46:00 UTC]    Is_active field in books: YES
[24-Nov-2025 16:46:00 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:46:00 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:46:00 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:46:00 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:46:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:46:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:46:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:49:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:49:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:49:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:49:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:49:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:49:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:49:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:49:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:49:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:49:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:49:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:49:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:49:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:49:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:49:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:49:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:49:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:49:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:49:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:49:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:49:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:49:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:49:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:49:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:49:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:49:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:49:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:49:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:49:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:49:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:49:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:49:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:49:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:49:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:49:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:49:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:49:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:49:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:49:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:49:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:49:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:49:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:49:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:49:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:49:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:49:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:49:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:49:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:49:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:49:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:49:12 UTC] 📊 Database Info:
[24-Nov-2025 16:49:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:49:12 UTC]    Books columns count: 45
[24-Nov-2025 16:49:12 UTC]    Categories columns count: 7
[24-Nov-2025 16:49:12 UTC]    Language field in books: YES
[24-Nov-2025 16:49:12 UTC]    Format field in books: YES
[24-Nov-2025 16:49:12 UTC]    Description field in categories: YES
[24-Nov-2025 16:49:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:49:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:49:12 UTC]    Is_active field in books: YES
[24-Nov-2025 16:49:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:49:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:49:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:49:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:49:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:49:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:49:12 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 16:49:12 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 16:49:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:49:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:49:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:49:12 UTC] 📊 Database Info:
[24-Nov-2025 16:49:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:49:12 UTC]    Books columns count: 45
[24-Nov-2025 16:49:12 UTC]    Categories columns count: 7
[24-Nov-2025 16:49:12 UTC]    Language field in books: YES
[24-Nov-2025 16:49:12 UTC]    Format field in books: YES
[24-Nov-2025 16:49:12 UTC]    Description field in categories: YES
[24-Nov-2025 16:49:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:49:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:49:12 UTC]    Is_active field in books: YES
[24-Nov-2025 16:49:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:49:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:49:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:49:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:49:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:49:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:49:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 16:49:12 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 16:49:12 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 16:49:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:49:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:49:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:49:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:49:12 UTC] 📊 Database Info:
[24-Nov-2025 16:49:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:49:12 UTC]    Books columns count: 45
[24-Nov-2025 16:49:12 UTC]    Categories columns count: 7
[24-Nov-2025 16:49:12 UTC]    Language field in books: YES
[24-Nov-2025 16:49:12 UTC]    Format field in books: YES
[24-Nov-2025 16:49:12 UTC]    Description field in categories: YES
[24-Nov-2025 16:49:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:49:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:49:12 UTC]    Is_active field in books: YES
[24-Nov-2025 16:49:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:49:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:49:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:49:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:49:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:49:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:49:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:49:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:49:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:49:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:49:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:49:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:49:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:49:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:49:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:49:33 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:49:33 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:49:33 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:49:33 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:49:33 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:49:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:49:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:49:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:49:33 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:49:33 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:49:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:49:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:49:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:49:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:49:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:49:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:49:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:49:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:49:33 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:49:33 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:49:33 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:49:33 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:49:33 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:49:33 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:49:33 UTC] 📊 Database Info:
[24-Nov-2025 16:49:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:49:33 UTC]    Books columns count: 45
[24-Nov-2025 16:49:33 UTC]    Categories columns count: 7
[24-Nov-2025 16:49:33 UTC]    Language field in books: YES
[24-Nov-2025 16:49:33 UTC]    Format field in books: YES
[24-Nov-2025 16:49:33 UTC]    Description field in categories: YES
[24-Nov-2025 16:49:33 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:49:33 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:49:33 UTC]    Is_active field in books: YES
[24-Nov-2025 16:49:33 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:49:33 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:49:33 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:49:33 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:49:33 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:49:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:49:33 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:49:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:51:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:51:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:51:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:51:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:51:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:51:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:51:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:51:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:51:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:51:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:51:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:51:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:51:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:51:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:51:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:51:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:51:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:51:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:51:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:51:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:51:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:51:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:51:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:51:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:51:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:51:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:51:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:51:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:51:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:51:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:51:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:51:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:51:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:51:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:51:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:51:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:51:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:51:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:51:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:51:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:51:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:51:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:51:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:51:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:51:27 UTC] 📊 Database Info:
[24-Nov-2025 16:51:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:51:27 UTC]    Books columns count: 45
[24-Nov-2025 16:51:27 UTC]    Categories columns count: 7
[24-Nov-2025 16:51:27 UTC]    Language field in books: YES
[24-Nov-2025 16:51:27 UTC]    Format field in books: YES
[24-Nov-2025 16:51:27 UTC]    Description field in categories: YES
[24-Nov-2025 16:51:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:51:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:51:27 UTC]    Is_active field in books: YES
[24-Nov-2025 16:51:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:51:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:51:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:51:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:51:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:51:27 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:51:27 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 16:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:51:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:51:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:51:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:51:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:51:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:51:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:51:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:51:27 UTC] 📊 Database Info:
[24-Nov-2025 16:51:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:51:27 UTC]    Books columns count: 45
[24-Nov-2025 16:51:27 UTC]    Categories columns count: 7
[24-Nov-2025 16:51:27 UTC]    Language field in books: YES
[24-Nov-2025 16:51:27 UTC]    Format field in books: YES
[24-Nov-2025 16:51:27 UTC]    Description field in categories: YES
[24-Nov-2025 16:51:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:51:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:51:27 UTC]    Is_active field in books: YES
[24-Nov-2025 16:51:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:51:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:51:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:51:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:51:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:51:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:51:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:51:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:51:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:51:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:51:27 UTC] 📊 Database Info:
[24-Nov-2025 16:51:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:51:27 UTC]    Books columns count: 45
[24-Nov-2025 16:51:27 UTC]    Categories columns count: 7
[24-Nov-2025 16:51:27 UTC]    Language field in books: YES
[24-Nov-2025 16:51:27 UTC]    Format field in books: YES
[24-Nov-2025 16:51:27 UTC]    Description field in categories: YES
[24-Nov-2025 16:51:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:51:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:51:27 UTC]    Is_active field in books: YES
[24-Nov-2025 16:51:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:51:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:51:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:51:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:51:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:51:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:51:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:51:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 16:51:27 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 16:51:27 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 16:51:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:51:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:51:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:51:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:51:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:51:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:51:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:51:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:51:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:51:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:51:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:51:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:51:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:51:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:51:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:51:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:51:29 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:51:29 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:51:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:51:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:51:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:51:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:51:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:51:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:51:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:51:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:51:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:51:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:51:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:51:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:51:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:51:29 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:51:29 UTC] 📊 Database Info:
[24-Nov-2025 16:51:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:51:29 UTC]    Books columns count: 45
[24-Nov-2025 16:51:29 UTC]    Categories columns count: 7
[24-Nov-2025 16:51:29 UTC]    Language field in books: YES
[24-Nov-2025 16:51:29 UTC]    Format field in books: YES
[24-Nov-2025 16:51:29 UTC]    Description field in categories: YES
[24-Nov-2025 16:51:29 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:51:29 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:51:29 UTC]    Is_active field in books: YES
[24-Nov-2025 16:51:29 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:51:29 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:51:29 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:51:29 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:51:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:51:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:51:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:51:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:51:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:51:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:51:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:51:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:51:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:51:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:51:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:51:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:51:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:51:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:51:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:51:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:51:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:51:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:51:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:51:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:51:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:51:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:51:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:51:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:51:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:51:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:51:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:51:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:51:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:51:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:51:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:51:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:51:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:51:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:51:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:51:31 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:51:31 UTC] 📊 Database Info:
[24-Nov-2025 16:51:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:51:31 UTC]    Books columns count: 45
[24-Nov-2025 16:51:31 UTC]    Categories columns count: 7
[24-Nov-2025 16:51:31 UTC]    Language field in books: YES
[24-Nov-2025 16:51:31 UTC]    Format field in books: YES
[24-Nov-2025 16:51:31 UTC]    Description field in categories: YES
[24-Nov-2025 16:51:31 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:51:31 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:51:31 UTC]    Is_active field in books: YES
[24-Nov-2025 16:51:31 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:51:31 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:51:31 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:51:31 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:51:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:51:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:51:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:51:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:51:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:51:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:51:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:51:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:51:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:51:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:51:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:51:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:51:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:51:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:51:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:51:31 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[24-Nov-2025 16:51:31 UTC] ?? Processing: home_screen - show_welcome_section: 1
[24-Nov-2025 16:51:31 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[24-Nov-2025 16:51:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:51:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:51:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:51:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:51:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:51:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:51:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:51:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:51:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:51:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:51:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:51:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:51:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:51:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:51:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:51:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:51:32 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:51:32 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:51:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:51:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:51:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:51:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:51:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:51:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:51:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:51:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:51:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:51:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:51:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:51:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:51:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:51:32 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:51:32 UTC] 📊 Database Info:
[24-Nov-2025 16:51:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:51:32 UTC]    Books columns count: 45
[24-Nov-2025 16:51:32 UTC]    Categories columns count: 7
[24-Nov-2025 16:51:32 UTC]    Language field in books: YES
[24-Nov-2025 16:51:32 UTC]    Format field in books: YES
[24-Nov-2025 16:51:32 UTC]    Description field in categories: YES
[24-Nov-2025 16:51:32 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:51:32 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:51:32 UTC]    Is_active field in books: YES
[24-Nov-2025 16:51:32 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:51:32 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:51:32 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:51:32 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:51:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:51:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:51:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:51:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:51:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:51:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:51:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:51:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:51:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:51:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:51:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:51:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:51:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:51:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:51:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:51:32 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[24-Nov-2025 16:51:32 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[24-Nov-2025 16:51:32 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[24-Nov-2025 16:52:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:52:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:52:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:52:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:52:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:52:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:52:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:52:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:52:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:52:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:52:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:52:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:52:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:52:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:52:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:52:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:52:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:52:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:52:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:52:04 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:52:04 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:52:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:52:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:52:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:52:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:52:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:52:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:52:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:52:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:52:04 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:52:04 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:52:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:52:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:52:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:52:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:52:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:52:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:52:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:52:04 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:52:04 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:52:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:52:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:52:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:52:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:52:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:52:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:52:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:52:04 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:52:04 UTC] 📊 Database Info:
[24-Nov-2025 16:52:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:52:04 UTC]    Books columns count: 45
[24-Nov-2025 16:52:04 UTC]    Categories columns count: 7
[24-Nov-2025 16:52:04 UTC]    Language field in books: YES
[24-Nov-2025 16:52:04 UTC]    Format field in books: YES
[24-Nov-2025 16:52:04 UTC]    Description field in categories: YES
[24-Nov-2025 16:52:04 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:52:04 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:52:04 UTC]    Is_active field in books: YES
[24-Nov-2025 16:52:04 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:52:04 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:52:04 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:52:04 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:52:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:52:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:52:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 16:52:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 16:52:04 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 16:52:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:52:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:52:04 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:52:04 UTC] 📊 Database Info:
[24-Nov-2025 16:52:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:52:04 UTC]    Books columns count: 45
[24-Nov-2025 16:52:04 UTC]    Categories columns count: 7
[24-Nov-2025 16:52:04 UTC]    Language field in books: YES
[24-Nov-2025 16:52:04 UTC]    Format field in books: YES
[24-Nov-2025 16:52:04 UTC]    Description field in categories: YES
[24-Nov-2025 16:52:04 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:52:04 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:52:04 UTC]    Is_active field in books: YES
[24-Nov-2025 16:52:04 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:52:04 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:52:04 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:52:04 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:52:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:52:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:52:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:52:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:52:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:52:04 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:52:04 UTC] 📊 Database Info:
[24-Nov-2025 16:52:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:52:04 UTC]    Books columns count: 45
[24-Nov-2025 16:52:04 UTC]    Categories columns count: 7
[24-Nov-2025 16:52:04 UTC]    Language field in books: YES
[24-Nov-2025 16:52:04 UTC]    Format field in books: YES
[24-Nov-2025 16:52:04 UTC]    Description field in categories: YES
[24-Nov-2025 16:52:04 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:52:04 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:52:04 UTC]    Is_active field in books: YES
[24-Nov-2025 16:52:04 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:52:04 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:52:04 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:52:04 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:52:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:52:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:52:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:52:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 16:52:04 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 16:52:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:52:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:52:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:52:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:52:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:52:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:52:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:52:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:52:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:52:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:52:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:52:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:52:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:52:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:52:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:52:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:52:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:52:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:52:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:52:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:52:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:52:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:52:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:52:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:52:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:52:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:52:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:52:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:52:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:52:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:52:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:52:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:52:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:52:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:52:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:52:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:52:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:52:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:52:12 UTC] 📊 Database Info:
[24-Nov-2025 16:52:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:52:12 UTC]    Books columns count: 45
[24-Nov-2025 16:52:12 UTC]    Categories columns count: 7
[24-Nov-2025 16:52:12 UTC]    Language field in books: YES
[24-Nov-2025 16:52:12 UTC]    Format field in books: YES
[24-Nov-2025 16:52:12 UTC]    Description field in categories: YES
[24-Nov-2025 16:52:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:52:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:52:12 UTC]    Is_active field in books: YES
[24-Nov-2025 16:52:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:52:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:52:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:52:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:52:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:52:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:52:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 16:52:12 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 16:52:12 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 16:52:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:52:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:52:12 UTC] 📊 Database Info:
[24-Nov-2025 16:52:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:52:12 UTC]    Books columns count: 45
[24-Nov-2025 16:52:12 UTC]    Categories columns count: 7
[24-Nov-2025 16:52:12 UTC]    Language field in books: YES
[24-Nov-2025 16:52:12 UTC]    Format field in books: YES
[24-Nov-2025 16:52:12 UTC]    Description field in categories: YES
[24-Nov-2025 16:52:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:52:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:52:12 UTC]    Is_active field in books: YES
[24-Nov-2025 16:52:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:52:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:52:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:52:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:52:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:52:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:52:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:52:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:52:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:52:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:52:12 UTC] 📊 Database Info:
[24-Nov-2025 16:52:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:52:12 UTC]    Books columns count: 45
[24-Nov-2025 16:52:12 UTC]    Categories columns count: 7
[24-Nov-2025 16:52:12 UTC]    Language field in books: YES
[24-Nov-2025 16:52:12 UTC]    Format field in books: YES
[24-Nov-2025 16:52:12 UTC]    Description field in categories: YES
[24-Nov-2025 16:52:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:52:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:52:12 UTC]    Is_active field in books: YES
[24-Nov-2025 16:52:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:52:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:52:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:52:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:52:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:52:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:52:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:52:12 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 16:52:12 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 16:52:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:52:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:52:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:52:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:52:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:52:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:52:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:52:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:52:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:52:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:52:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:52:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:52:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:52:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:52:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:52:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:52:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:52:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:52:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:52:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:52:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:52:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:52:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:52:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:52:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:52:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:52:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:52:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:52:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:52:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:52:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:52:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:52:21 UTC] 📊 Database Info:
[24-Nov-2025 16:52:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:52:21 UTC]    Books columns count: 45
[24-Nov-2025 16:52:21 UTC]    Categories columns count: 7
[24-Nov-2025 16:52:21 UTC]    Language field in books: YES
[24-Nov-2025 16:52:21 UTC]    Format field in books: YES
[24-Nov-2025 16:52:21 UTC]    Description field in categories: YES
[24-Nov-2025 16:52:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:52:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:52:21 UTC]    Is_active field in books: YES
[24-Nov-2025 16:52:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:52:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:52:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:52:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:52:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:52:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:52:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:52:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:54:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:54:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:54:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:54:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:54:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:43 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:54:43 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:54:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:54:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:54:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:43 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:54:43 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:54:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:43 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:54:43 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:54:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:54:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:43 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:54:43 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:43 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:54:43 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:54:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:54:43 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:54:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:43 UTC] 📊 Database Info:
[24-Nov-2025 16:54:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:54:43 UTC]    Books columns count: 45
[24-Nov-2025 16:54:43 UTC]    Categories columns count: 7
[24-Nov-2025 16:54:43 UTC]    Language field in books: YES
[24-Nov-2025 16:54:43 UTC]    Format field in books: YES
[24-Nov-2025 16:54:43 UTC]    Description field in categories: YES
[24-Nov-2025 16:54:43 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:54:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:43 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:54:43 UTC]    Is_active field in books: YES
[24-Nov-2025 16:54:43 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:54:43 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:54:43 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:54:43 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:54:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:54:43 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:43 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:54:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:43 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:54:43 UTC] 📊 Database Info:
[24-Nov-2025 16:54:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:54:43 UTC]    Books columns count: 45
[24-Nov-2025 16:54:43 UTC]    Categories columns count: 7
[24-Nov-2025 16:54:43 UTC]    Language field in books: YES
[24-Nov-2025 16:54:43 UTC]    Format field in books: YES
[24-Nov-2025 16:54:43 UTC]    Description field in categories: YES
[24-Nov-2025 16:54:43 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:54:43 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:54:43 UTC]    Is_active field in books: YES
[24-Nov-2025 16:54:43 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:54:43 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:54:43 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:54:43 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:54:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:54:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:43 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:54:43 UTC] 📊 Database Info:
[24-Nov-2025 16:54:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:54:43 UTC]    Books columns count: 45
[24-Nov-2025 16:54:43 UTC]    Categories columns count: 7
[24-Nov-2025 16:54:43 UTC]    Language field in books: YES
[24-Nov-2025 16:54:43 UTC]    Format field in books: YES
[24-Nov-2025 16:54:43 UTC]    Description field in categories: YES
[24-Nov-2025 16:54:43 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:54:43 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:54:43 UTC]    Is_active field in books: YES
[24-Nov-2025 16:54:43 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:54:43 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:54:43 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:54:43 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:54:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:54:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:43 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:54:43 UTC] 📊 Database Info:
[24-Nov-2025 16:54:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:54:43 UTC]    Books columns count: 45
[24-Nov-2025 16:54:43 UTC]    Categories columns count: 7
[24-Nov-2025 16:54:43 UTC]    Language field in books: YES
[24-Nov-2025 16:54:43 UTC]    Format field in books: YES
[24-Nov-2025 16:54:43 UTC]    Description field in categories: YES
[24-Nov-2025 16:54:43 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:54:43 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:54:43 UTC]    Is_active field in books: YES
[24-Nov-2025 16:54:43 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:54:43 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:54:43 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:54:43 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:54:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:54:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:43 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:54:43 UTC] 📊 Database Info:
[24-Nov-2025 16:54:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:54:43 UTC]    Books columns count: 45
[24-Nov-2025 16:54:43 UTC]    Categories columns count: 7
[24-Nov-2025 16:54:43 UTC]    Language field in books: YES
[24-Nov-2025 16:54:43 UTC]    Format field in books: YES
[24-Nov-2025 16:54:43 UTC]    Description field in categories: YES
[24-Nov-2025 16:54:43 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:54:43 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:54:43 UTC]    Is_active field in books: YES
[24-Nov-2025 16:54:43 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:54:43 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:54:43 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:54:43 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:54:43 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:54:43 UTC] 📊 Database Info:
[24-Nov-2025 16:54:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:54:43 UTC]    Books columns count: 45
[24-Nov-2025 16:54:43 UTC]    Categories columns count: 7
[24-Nov-2025 16:54:43 UTC]    Language field in books: YES
[24-Nov-2025 16:54:43 UTC]    Format field in books: YES
[24-Nov-2025 16:54:43 UTC]    Description field in categories: YES
[24-Nov-2025 16:54:43 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:54:43 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:54:43 UTC]    Is_active field in books: YES
[24-Nov-2025 16:54:43 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:54:43 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:54:43 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:54:43 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:54:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:54:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:54:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:54:43 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:54:43 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:54:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:54:45 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:45 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:45 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:45 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:45 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:45 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:45 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:45 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:45 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:45 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:45 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:45 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:54:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:45 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:54:45 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:54:45 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:45 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:45 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:45 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:45 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:45 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:45 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:45 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:45 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:45 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:45 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:45 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:45 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:45 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:54:45 UTC] 📊 Database Info:
[24-Nov-2025 16:54:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:54:45 UTC]    Books columns count: 45
[24-Nov-2025 16:54:45 UTC]    Categories columns count: 7
[24-Nov-2025 16:54:45 UTC]    Language field in books: YES
[24-Nov-2025 16:54:45 UTC]    Format field in books: YES
[24-Nov-2025 16:54:45 UTC]    Description field in categories: YES
[24-Nov-2025 16:54:45 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:54:45 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:54:45 UTC]    Is_active field in books: YES
[24-Nov-2025 16:54:45 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:54:45 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:54:45 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:54:45 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:54:45 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:54:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:54:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:54:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:54:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:54:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:54:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:54:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:54:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:54:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:54:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:54:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:54:45 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:54:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:54:58 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:58 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:58 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:58 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:58 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:54:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:54:58 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:58 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:58 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:58 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:58 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:58 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:58 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:58 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:58 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:58 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:58 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:58 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:58 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:58 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:58 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:54:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:58 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:54:58 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:54:58 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:58 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:58 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:58 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:58 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:58 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:58 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:58 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:58 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:58 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:54:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:58 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:54:58 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:54:58 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:58 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:58 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:58 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:58 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:54:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:54:59 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:54:59 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:54:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:54:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:54:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:54:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:54:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:54:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:54:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:54:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:54:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:59 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:54:59 UTC] 📊 Database Info:
[24-Nov-2025 16:54:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:54:59 UTC]    Books columns count: 45
[24-Nov-2025 16:54:59 UTC]    Categories columns count: 7
[24-Nov-2025 16:54:59 UTC]    Language field in books: YES
[24-Nov-2025 16:54:59 UTC]    Format field in books: YES
[24-Nov-2025 16:54:59 UTC]    Description field in categories: YES
[24-Nov-2025 16:54:59 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:54:59 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:54:59 UTC]    Is_active field in books: YES
[24-Nov-2025 16:54:59 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:54:59 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:54:59 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:54:59 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:54:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:54:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:59 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:54:59 UTC] 📊 Database Info:
[24-Nov-2025 16:54:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:54:59 UTC]    Books columns count: 45
[24-Nov-2025 16:54:59 UTC]    Categories columns count: 7
[24-Nov-2025 16:54:59 UTC]    Language field in books: YES
[24-Nov-2025 16:54:59 UTC]    Format field in books: YES
[24-Nov-2025 16:54:59 UTC]    Description field in categories: YES
[24-Nov-2025 16:54:59 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:54:59 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:54:59 UTC]    Is_active field in books: YES
[24-Nov-2025 16:54:59 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:54:59 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:54:59 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:54:59 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:54:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:54:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:54:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:54:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:54:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:54:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:54:59 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:54:59 UTC] 📊 Database Info:
[24-Nov-2025 16:54:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:54:59 UTC]    Books columns count: 45
[24-Nov-2025 16:54:59 UTC]    Categories columns count: 7
[24-Nov-2025 16:54:59 UTC]    Language field in books: YES
[24-Nov-2025 16:54:59 UTC]    Format field in books: YES
[24-Nov-2025 16:54:59 UTC]    Description field in categories: YES
[24-Nov-2025 16:54:59 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:54:59 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:54:59 UTC]    Is_active field in books: YES
[24-Nov-2025 16:54:59 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:54:59 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:54:59 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:54:59 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:54:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:54:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:54:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:54:59 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:54:59 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:55:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:55:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:55:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:55:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:55:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:55:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:55:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:55:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:55:43 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:55:43 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:55:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:55:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:55:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:55:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:55:43 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:55:43 UTC] 📊 Database Info:
[24-Nov-2025 16:55:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:55:43 UTC]    Books columns count: 45
[24-Nov-2025 16:55:43 UTC]    Categories columns count: 7
[24-Nov-2025 16:55:43 UTC]    Language field in books: YES
[24-Nov-2025 16:55:43 UTC]    Format field in books: YES
[24-Nov-2025 16:55:43 UTC]    Description field in categories: YES
[24-Nov-2025 16:55:43 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:55:43 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:55:43 UTC]    Is_active field in books: YES
[24-Nov-2025 16:55:43 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:55:43 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:55:43 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:55:43 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:55:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:55:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:55:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:55:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:55:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:55:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:55:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:55:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:55:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:55:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:55:43 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:55:43 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:55:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:55:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:55:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:55:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:55:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:55:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:55:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:55:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:55:43 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:55:43 UTC] 📊 Database Info:
[24-Nov-2025 16:55:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:55:43 UTC]    Books columns count: 45
[24-Nov-2025 16:55:43 UTC]    Categories columns count: 7
[24-Nov-2025 16:55:43 UTC]    Language field in books: YES
[24-Nov-2025 16:55:43 UTC]    Format field in books: YES
[24-Nov-2025 16:55:43 UTC]    Description field in categories: YES
[24-Nov-2025 16:55:43 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:55:43 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:55:43 UTC]    Is_active field in books: YES
[24-Nov-2025 16:55:43 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:55:43 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:55:43 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:55:43 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:55:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:55:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:55:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:55:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:55:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:55:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:55:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:55:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:55:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:55:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:55:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:55:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:55:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:55:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:55:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:55:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:55:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:55:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:55:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:55:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:55:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:55:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:55:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:55:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:55:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:55:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:55:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:55:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:55:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:55:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:55:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:55:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:55:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:55:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:55:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:55:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:55:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:55:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:55:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:55:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:55:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:55:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:55:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:55:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:55:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:55:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:55:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:55:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:55:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:55:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:55:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:55:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:55:49 UTC] 📊 Database Info:
[24-Nov-2025 16:55:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:55:49 UTC]    Books columns count: 45
[24-Nov-2025 16:55:49 UTC]    Categories columns count: 7
[24-Nov-2025 16:55:49 UTC]    Language field in books: YES
[24-Nov-2025 16:55:49 UTC]    Format field in books: YES
[24-Nov-2025 16:55:49 UTC]    Description field in categories: YES
[24-Nov-2025 16:55:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:55:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:55:49 UTC]    Is_active field in books: YES
[24-Nov-2025 16:55:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:55:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:55:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:55:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:55:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:55:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:55:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:55:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:55:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:55:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:55:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:55:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:55:49 UTC] 📊 Database Info:
[24-Nov-2025 16:55:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:55:49 UTC]    Books columns count: 45
[24-Nov-2025 16:55:49 UTC]    Categories columns count: 7
[24-Nov-2025 16:55:49 UTC]    Language field in books: YES
[24-Nov-2025 16:55:49 UTC]    Format field in books: YES
[24-Nov-2025 16:55:49 UTC]    Description field in categories: YES
[24-Nov-2025 16:55:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:55:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:55:49 UTC]    Is_active field in books: YES
[24-Nov-2025 16:55:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:55:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:55:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:55:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:55:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:55:49 UTC] 📊 Database Info:
[24-Nov-2025 16:55:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:55:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:55:49 UTC]    Books columns count: 45
[24-Nov-2025 16:55:49 UTC]    Categories columns count: 7
[24-Nov-2025 16:55:49 UTC]    Language field in books: YES
[24-Nov-2025 16:55:49 UTC]    Format field in books: YES
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:55:49 UTC]    Description field in categories: YES
[24-Nov-2025 16:55:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:55:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:55:49 UTC]    Is_active field in books: YES
[24-Nov-2025 16:55:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:55:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:55:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:55:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:55:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:55:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:55:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:55:49 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:55:49 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:55:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:55:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:55:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:55:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:55:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:55:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:55:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:55:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:55:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:55:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:55:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:55:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:55:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:55:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:55:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:55:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:55:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:55:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:55:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:55:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:55:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:55:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:55:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:55:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:55:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:55:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:55:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:55:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:55:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:55:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:55:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:55:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:55:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:55:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:55:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:55:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:55:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:55:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:55:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:55:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:55:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:55:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:55:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:55:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:55:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:55:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:55:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:55:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:55:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:55:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:55:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:55:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:55:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:55:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:55:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:55:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:55:50 UTC] 📊 Database Info:
[24-Nov-2025 16:55:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:55:50 UTC]    Books columns count: 45
[24-Nov-2025 16:55:50 UTC]    Categories columns count: 7
[24-Nov-2025 16:55:50 UTC]    Language field in books: YES
[24-Nov-2025 16:55:50 UTC]    Format field in books: YES
[24-Nov-2025 16:55:50 UTC]    Description field in categories: YES
[24-Nov-2025 16:55:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:55:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:55:50 UTC]    Is_active field in books: YES
[24-Nov-2025 16:55:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:55:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:55:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:55:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:55:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:55:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:55:50 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:55:50 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:55:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:55:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:55:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:55:50 UTC] 📊 Database Info:
[24-Nov-2025 16:55:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:55:50 UTC]    Books columns count: 45
[24-Nov-2025 16:55:50 UTC]    Categories columns count: 7
[24-Nov-2025 16:55:50 UTC]    Language field in books: YES
[24-Nov-2025 16:55:50 UTC]    Format field in books: YES
[24-Nov-2025 16:55:50 UTC]    Description field in categories: YES
[24-Nov-2025 16:55:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:55:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:55:50 UTC]    Is_active field in books: YES
[24-Nov-2025 16:55:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:55:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:55:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:55:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:55:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:55:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:55:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:55:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:55:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:55:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:55:50 UTC] 📊 Database Info:
[24-Nov-2025 16:55:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:55:50 UTC]    Books columns count: 45
[24-Nov-2025 16:55:50 UTC]    Categories columns count: 7
[24-Nov-2025 16:55:50 UTC]    Language field in books: YES
[24-Nov-2025 16:55:50 UTC]    Format field in books: YES
[24-Nov-2025 16:55:50 UTC]    Description field in categories: YES
[24-Nov-2025 16:55:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:55:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:55:50 UTC]    Is_active field in books: YES
[24-Nov-2025 16:55:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:55:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:55:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:55:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:55:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:55:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:55:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:55:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:55:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:55:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:55:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:55:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:55:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:55:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:55:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:55:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:55:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:55:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:55:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:55:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:55:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:55:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:55:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:55:52 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:55:52 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:55:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:55:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:55:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:55:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:55:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:55:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:55:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:55:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:55:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:55:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:55:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:55:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:55:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:55:52 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:55:52 UTC] 📊 Database Info:
[24-Nov-2025 16:55:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:55:52 UTC]    Books columns count: 45
[24-Nov-2025 16:55:52 UTC]    Categories columns count: 7
[24-Nov-2025 16:55:52 UTC]    Language field in books: YES
[24-Nov-2025 16:55:52 UTC]    Format field in books: YES
[24-Nov-2025 16:55:52 UTC]    Description field in categories: YES
[24-Nov-2025 16:55:52 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:55:52 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:55:52 UTC]    Is_active field in books: YES
[24-Nov-2025 16:55:52 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:55:52 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:55:52 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:55:52 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:55:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:55:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:55:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:55:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:55:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:55:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:55:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:55:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:55:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:55:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:55:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:55:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:55:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:55:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:55:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:56:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:56:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:56:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:56:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:56:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:56:28 UTC] 📊 Database Info:
[24-Nov-2025 16:56:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:56:28 UTC]    Books columns count: 45
[24-Nov-2025 16:56:28 UTC]    Categories columns count: 7
[24-Nov-2025 16:56:28 UTC]    Language field in books: YES
[24-Nov-2025 16:56:28 UTC]    Format field in books: YES
[24-Nov-2025 16:56:28 UTC]    Description field in categories: YES
[24-Nov-2025 16:56:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:56:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:56:28 UTC]    Is_active field in books: YES
[24-Nov-2025 16:56:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:56:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:56:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:56:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:56:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:56:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:56:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:56:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:56:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:56:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:56:28 UTC] 📊 Database Info:
[24-Nov-2025 16:56:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:56:28 UTC]    Books columns count: 45
[24-Nov-2025 16:56:28 UTC]    Categories columns count: 7
[24-Nov-2025 16:56:28 UTC]    Language field in books: YES
[24-Nov-2025 16:56:28 UTC]    Format field in books: YES
[24-Nov-2025 16:56:28 UTC]    Description field in categories: YES
[24-Nov-2025 16:56:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:56:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:56:28 UTC]    Is_active field in books: YES
[24-Nov-2025 16:56:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:56:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:56:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:56:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:56:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:56:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:56:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:56:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:56:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:56:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:56:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:56:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:56:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:56:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:56:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:56:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:56:28 UTC] 📊 Database Info:
[24-Nov-2025 16:56:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:56:28 UTC]    Books columns count: 45
[24-Nov-2025 16:56:28 UTC]    Categories columns count: 7
[24-Nov-2025 16:56:28 UTC]    Language field in books: YES
[24-Nov-2025 16:56:28 UTC]    Format field in books: YES
[24-Nov-2025 16:56:28 UTC]    Description field in categories: YES
[24-Nov-2025 16:56:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:56:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:56:28 UTC]    Is_active field in books: YES
[24-Nov-2025 16:56:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:56:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:56:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:56:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:56:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:56:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:56:28 UTC] 📊 Database Info:
[24-Nov-2025 16:56:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:56:28 UTC]    Books columns count: 45
[24-Nov-2025 16:56:28 UTC]    Categories columns count: 7
[24-Nov-2025 16:56:28 UTC]    Language field in books: YES
[24-Nov-2025 16:56:28 UTC]    Format field in books: YES
[24-Nov-2025 16:56:28 UTC]    Description field in categories: YES
[24-Nov-2025 16:56:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:56:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:56:28 UTC]    Is_active field in books: YES
[24-Nov-2025 16:56:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:56:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:56:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:56:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:56:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:56:28 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:56:28 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:56:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:56:28 UTC] 📊 Database Info:
[24-Nov-2025 16:56:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:56:28 UTC]    Books columns count: 45
[24-Nov-2025 16:56:28 UTC]    Categories columns count: 7
[24-Nov-2025 16:56:28 UTC]    Language field in books: YES
[24-Nov-2025 16:56:28 UTC]    Format field in books: YES
[24-Nov-2025 16:56:28 UTC]    Description field in categories: YES
[24-Nov-2025 16:56:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:56:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:56:28 UTC]    Is_active field in books: YES
[24-Nov-2025 16:56:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:56:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:56:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:56:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:56:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:56:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:56:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:56:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:56:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:56:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:56:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:56:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:56:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:56:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:56:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:56:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:56:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:56:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:56:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:56:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:56:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:56:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:56:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:56:30 UTC] 📊 Database Info:
[24-Nov-2025 16:56:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:56:30 UTC]    Books columns count: 45
[24-Nov-2025 16:56:30 UTC]    Categories columns count: 7
[24-Nov-2025 16:56:30 UTC]    Language field in books: YES
[24-Nov-2025 16:56:30 UTC]    Format field in books: YES
[24-Nov-2025 16:56:30 UTC]    Description field in categories: YES
[24-Nov-2025 16:56:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:56:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:56:30 UTC]    Is_active field in books: YES
[24-Nov-2025 16:56:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:56:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:56:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:56:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:56:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:56:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:56:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:56:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:30 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:56:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:30 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:56:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:56:30 UTC] 📊 Database Info:
[24-Nov-2025 16:56:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:56:30 UTC]    Books columns count: 45
[24-Nov-2025 16:56:30 UTC]    Categories columns count: 7
[24-Nov-2025 16:56:30 UTC]    Language field in books: YES
[24-Nov-2025 16:56:30 UTC]    Format field in books: YES
[24-Nov-2025 16:56:30 UTC]    Description field in categories: YES
[24-Nov-2025 16:56:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:56:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:56:30 UTC]    Is_active field in books: YES
[24-Nov-2025 16:56:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:56:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:56:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:56:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:56:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:56:30 UTC] 📊 Database Info:
[24-Nov-2025 16:56:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:56:30 UTC]    Books columns count: 45
[24-Nov-2025 16:56:30 UTC]    Categories columns count: 7
[24-Nov-2025 16:56:30 UTC]    Language field in books: YES
[24-Nov-2025 16:56:30 UTC]    Format field in books: YES
[24-Nov-2025 16:56:30 UTC]    Description field in categories: YES
[24-Nov-2025 16:56:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:56:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:56:30 UTC]    Is_active field in books: YES
[24-Nov-2025 16:56:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:56:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:56:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:56:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:56:30 UTC] 📊 Database Info:
[24-Nov-2025 16:56:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:56:30 UTC]    Books columns count: 45
[24-Nov-2025 16:56:30 UTC]    Categories columns count: 7
[24-Nov-2025 16:56:30 UTC]    Language field in books: YES
[24-Nov-2025 16:56:30 UTC]    Format field in books: YES
[24-Nov-2025 16:56:30 UTC]    Description field in categories: YES
[24-Nov-2025 16:56:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:56:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:56:30 UTC]    Is_active field in books: YES
[24-Nov-2025 16:56:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:56:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:56:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:56:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:56:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:56:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:56:30 UTC] 📊 Database Info:
[24-Nov-2025 16:56:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:56:30 UTC]    Books columns count: 45
[24-Nov-2025 16:56:30 UTC]    Categories columns count: 7
[24-Nov-2025 16:56:30 UTC]    Language field in books: YES
[24-Nov-2025 16:56:30 UTC]    Format field in books: YES
[24-Nov-2025 16:56:30 UTC]    Description field in categories: YES
[24-Nov-2025 16:56:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:56:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:56:30 UTC]    Is_active field in books: YES
[24-Nov-2025 16:56:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:56:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:56:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:56:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:56:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:56:30 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:56:30 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:56:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:56:30 UTC] 📊 Database Info:
[24-Nov-2025 16:56:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:56:30 UTC]    Books columns count: 45
[24-Nov-2025 16:56:30 UTC]    Categories columns count: 7
[24-Nov-2025 16:56:30 UTC]    Language field in books: YES
[24-Nov-2025 16:56:30 UTC]    Format field in books: YES
[24-Nov-2025 16:56:30 UTC]    Description field in categories: YES
[24-Nov-2025 16:56:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:56:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:56:30 UTC]    Is_active field in books: YES
[24-Nov-2025 16:56:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:56:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:56:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:56:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:56:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:56:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:56:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:56:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:56:55 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:55 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:55 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:55 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:55 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:55 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:55 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:55 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:55 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:56:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:55 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:56:55 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:56:55 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:55 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:55 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:55 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:55 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:55 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:56:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:56:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:55 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:56:55 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:56:55 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:56:55 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:56:55 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:55 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:55 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:55 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:55 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:55 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:55 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:55 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:55 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:56:55 UTC] 📊 Database Info:
[24-Nov-2025 16:56:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:56:55 UTC]    Books columns count: 45
[24-Nov-2025 16:56:55 UTC]    Categories columns count: 7
[24-Nov-2025 16:56:55 UTC]    Language field in books: YES
[24-Nov-2025 16:56:55 UTC]    Format field in books: YES
[24-Nov-2025 16:56:55 UTC]    Description field in categories: YES
[24-Nov-2025 16:56:55 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:56:55 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:56:55 UTC]    Is_active field in books: YES
[24-Nov-2025 16:56:55 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:56:55 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:56:55 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:56:55 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:56:55 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:56:55 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:55 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:55 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:56:55 UTC] 📊 Database Info:
[24-Nov-2025 16:56:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:56:55 UTC]    Books columns count: 45
[24-Nov-2025 16:56:55 UTC]    Categories columns count: 7
[24-Nov-2025 16:56:55 UTC]    Language field in books: YES
[24-Nov-2025 16:56:55 UTC]    Format field in books: YES
[24-Nov-2025 16:56:55 UTC]    Description field in categories: YES
[24-Nov-2025 16:56:55 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:56:55 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:56:55 UTC]    Is_active field in books: YES
[24-Nov-2025 16:56:55 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:56:55 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:56:55 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:56:55 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:56:55 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:56:55 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:56:55 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:56:55 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:55 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:55 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:55 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:56:55 UTC] 📊 Database Info:
[24-Nov-2025 16:56:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:56:55 UTC]    Books columns count: 45
[24-Nov-2025 16:56:55 UTC]    Categories columns count: 7
[24-Nov-2025 16:56:55 UTC]    Language field in books: YES
[24-Nov-2025 16:56:55 UTC]    Format field in books: YES
[24-Nov-2025 16:56:55 UTC]    Description field in categories: YES
[24-Nov-2025 16:56:55 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:56:55 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:56:55 UTC]    Is_active field in books: YES
[24-Nov-2025 16:56:55 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:56:55 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:56:55 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:56:55 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:56:55 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:56:55 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:56:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:56:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:56:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:56:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:59 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:56:59 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:56:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:56:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:56:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:56:59 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:56:59 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:56:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:59 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:56:59 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:56:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:56:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:56:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:56:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:56:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:59 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:56:59 UTC] 📊 Database Info:
[24-Nov-2025 16:56:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:56:59 UTC]    Books columns count: 45
[24-Nov-2025 16:56:59 UTC]    Categories columns count: 7
[24-Nov-2025 16:56:59 UTC]    Language field in books: YES
[24-Nov-2025 16:56:59 UTC]    Format field in books: YES
[24-Nov-2025 16:56:59 UTC]    Description field in categories: YES
[24-Nov-2025 16:56:59 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:56:59 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:56:59 UTC]    Is_active field in books: YES
[24-Nov-2025 16:56:59 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:56:59 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:56:59 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:56:59 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:56:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:56:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:59 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:56:59 UTC] 📊 Database Info:
[24-Nov-2025 16:56:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:56:59 UTC]    Books columns count: 45
[24-Nov-2025 16:56:59 UTC]    Categories columns count: 7
[24-Nov-2025 16:56:59 UTC]    Language field in books: YES
[24-Nov-2025 16:56:59 UTC]    Format field in books: YES
[24-Nov-2025 16:56:59 UTC]    Description field in categories: YES
[24-Nov-2025 16:56:59 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:56:59 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:56:59 UTC]    Is_active field in books: YES
[24-Nov-2025 16:56:59 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:56:59 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:56:59 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:56:59 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:56:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:56:59 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:56:59 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:56:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:56:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:56:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:56:59 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:56:59 UTC] 📊 Database Info:
[24-Nov-2025 16:56:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:56:59 UTC]    Books columns count: 45
[24-Nov-2025 16:56:59 UTC]    Categories columns count: 7
[24-Nov-2025 16:56:59 UTC]    Language field in books: YES
[24-Nov-2025 16:56:59 UTC]    Format field in books: YES
[24-Nov-2025 16:56:59 UTC]    Description field in categories: YES
[24-Nov-2025 16:56:59 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:56:59 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:56:59 UTC]    Is_active field in books: YES
[24-Nov-2025 16:56:59 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:56:59 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:56:59 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:56:59 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:56:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:56:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:56:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:57:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:57:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:57:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:57:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:57:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:14 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:57:14 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:57:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:57:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:57:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:14 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:57:14 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:57:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:14 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:57:14 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:57:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:57:14 UTC] 📊 Database Info:
[24-Nov-2025 16:57:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:57:14 UTC]    Books columns count: 45
[24-Nov-2025 16:57:14 UTC]    Categories columns count: 7
[24-Nov-2025 16:57:14 UTC]    Language field in books: YES
[24-Nov-2025 16:57:14 UTC]    Format field in books: YES
[24-Nov-2025 16:57:14 UTC]    Description field in categories: YES
[24-Nov-2025 16:57:14 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:57:14 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:57:14 UTC]    Is_active field in books: YES
[24-Nov-2025 16:57:14 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:57:14 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:57:14 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:57:14 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:57:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:57:14 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:57:14 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:57:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:14 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:57:14 UTC] 📊 Database Info:
[24-Nov-2025 16:57:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:57:14 UTC]    Books columns count: 45
[24-Nov-2025 16:57:14 UTC]    Categories columns count: 7
[24-Nov-2025 16:57:14 UTC]    Language field in books: YES
[24-Nov-2025 16:57:14 UTC]    Format field in books: YES
[24-Nov-2025 16:57:14 UTC]    Description field in categories: YES
[24-Nov-2025 16:57:14 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:57:14 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:57:14 UTC]    Is_active field in books: YES
[24-Nov-2025 16:57:14 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:57:14 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:57:14 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:57:14 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:57:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:57:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:14 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:57:14 UTC] 📊 Database Info:
[24-Nov-2025 16:57:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:57:14 UTC]    Books columns count: 45
[24-Nov-2025 16:57:14 UTC]    Categories columns count: 7
[24-Nov-2025 16:57:14 UTC]    Language field in books: YES
[24-Nov-2025 16:57:14 UTC]    Format field in books: YES
[24-Nov-2025 16:57:14 UTC]    Description field in categories: YES
[24-Nov-2025 16:57:14 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:57:14 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:57:14 UTC]    Is_active field in books: YES
[24-Nov-2025 16:57:14 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:57:14 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:57:14 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:57:14 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:57:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:57:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:57:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:57:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:57:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:57:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:57:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:47 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:57:47 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:57:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:57:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:57:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:47 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:57:47 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:57:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:47 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:57:47 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:47 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:57:47 UTC] 📊 Database Info:
[24-Nov-2025 16:57:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:57:47 UTC]    Books columns count: 45
[24-Nov-2025 16:57:47 UTC]    Categories columns count: 7
[24-Nov-2025 16:57:47 UTC]    Language field in books: YES
[24-Nov-2025 16:57:47 UTC]    Format field in books: YES
[24-Nov-2025 16:57:47 UTC]    Description field in categories: YES
[24-Nov-2025 16:57:47 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:57:47 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:57:47 UTC]    Is_active field in books: YES
[24-Nov-2025 16:57:47 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:57:47 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:57:47 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:57:47 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:57:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:57:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:47 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:57:47 UTC] 📊 Database Info:
[24-Nov-2025 16:57:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:57:47 UTC]    Books columns count: 45
[24-Nov-2025 16:57:47 UTC]    Categories columns count: 7
[24-Nov-2025 16:57:47 UTC]    Language field in books: YES
[24-Nov-2025 16:57:47 UTC]    Format field in books: YES
[24-Nov-2025 16:57:47 UTC]    Description field in categories: YES
[24-Nov-2025 16:57:47 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:57:47 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:57:47 UTC]    Is_active field in books: YES
[24-Nov-2025 16:57:47 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:57:47 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:57:47 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:57:47 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:57:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:57:47 UTC] 📊 Database Info:
[24-Nov-2025 16:57:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:57:47 UTC]    Books columns count: 45
[24-Nov-2025 16:57:47 UTC]    Categories columns count: 7
[24-Nov-2025 16:57:47 UTC]    Language field in books: YES
[24-Nov-2025 16:57:47 UTC]    Format field in books: YES
[24-Nov-2025 16:57:47 UTC]    Description field in categories: YES
[24-Nov-2025 16:57:47 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:57:47 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:57:47 UTC]    Is_active field in books: YES
[24-Nov-2025 16:57:47 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:57:47 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:57:47 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:57:47 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:57:47 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:57:47 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:57:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:57:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:57:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:57:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:52 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:57:52 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:57:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:52 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:57:52 UTC] 📊 Database Info:
[24-Nov-2025 16:57:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:57:52 UTC]    Books columns count: 45
[24-Nov-2025 16:57:52 UTC]    Categories columns count: 7
[24-Nov-2025 16:57:52 UTC]    Language field in books: YES
[24-Nov-2025 16:57:52 UTC]    Format field in books: YES
[24-Nov-2025 16:57:52 UTC]    Description field in categories: YES
[24-Nov-2025 16:57:52 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:57:52 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:57:52 UTC]    Is_active field in books: YES
[24-Nov-2025 16:57:52 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:57:52 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:57:52 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:57:52 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:57:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:57:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:57:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:57:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:57:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:57:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:52 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:57:52 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:57:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:57:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:52 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:57:52 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:57:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:57:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:52 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:57:52 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:57:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:57:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:57:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:52 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:57:52 UTC] 📊 Database Info:
[24-Nov-2025 16:57:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:57:52 UTC]    Books columns count: 45
[24-Nov-2025 16:57:52 UTC]    Categories columns count: 7
[24-Nov-2025 16:57:52 UTC]    Language field in books: YES
[24-Nov-2025 16:57:52 UTC]    Format field in books: YES
[24-Nov-2025 16:57:52 UTC]    Description field in categories: YES
[24-Nov-2025 16:57:52 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:57:52 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:57:52 UTC]    Is_active field in books: YES
[24-Nov-2025 16:57:52 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:57:52 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:57:52 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:57:52 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:57:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:57:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:57:52 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 16:57:52 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 16:57:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:57:53 UTC] 📊 Database Info:
[24-Nov-2025 16:57:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:57:53 UTC]    Books columns count: 45
[24-Nov-2025 16:57:53 UTC]    Categories columns count: 7
[24-Nov-2025 16:57:53 UTC]    Language field in books: YES
[24-Nov-2025 16:57:53 UTC]    Format field in books: YES
[24-Nov-2025 16:57:53 UTC]    Description field in categories: YES
[24-Nov-2025 16:57:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:57:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:57:53 UTC]    Is_active field in books: YES
[24-Nov-2025 16:57:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:57:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:57:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:57:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:57:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:57:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 16:57:53 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 16:57:53 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 16:57:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:57:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:57:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:57:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:57:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:57:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:57:53 UTC] 📊 Database Info:
[24-Nov-2025 16:57:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:57:53 UTC]    Books columns count: 45
[24-Nov-2025 16:57:53 UTC]    Categories columns count: 7
[24-Nov-2025 16:57:53 UTC]    Language field in books: YES
[24-Nov-2025 16:57:53 UTC]    Format field in books: YES
[24-Nov-2025 16:57:53 UTC]    Description field in categories: YES
[24-Nov-2025 16:57:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:57:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:57:53 UTC]    Is_active field in books: YES
[24-Nov-2025 16:57:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:57:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:57:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:57:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:57:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:57:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:57:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:01 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:01 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:01 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:01 UTC] 📊 Database Info:
[24-Nov-2025 16:58:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:01 UTC]    Books columns count: 45
[24-Nov-2025 16:58:01 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:01 UTC]    Language field in books: YES
[24-Nov-2025 16:58:01 UTC]    Format field in books: YES
[24-Nov-2025 16:58:01 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:01 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:01 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:01 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:01 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:01 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:01 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:01 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:01 UTC] ?? GLOBAL AUTH UPDATE: Setting require_login_for_download to 0 for ALL books
[24-Nov-2025 16:58:01 UTC] ✅ Global auth update completed: 3 books updated
[24-Nov-2025 16:58:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:01 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:01 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:01 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:01 UTC] 📊 Database Info:
[24-Nov-2025 16:58:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:01 UTC]    Books columns count: 45
[24-Nov-2025 16:58:01 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:01 UTC]    Language field in books: YES
[24-Nov-2025 16:58:01 UTC]    Format field in books: YES
[24-Nov-2025 16:58:01 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:01 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:01 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:01 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:01 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:01 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:01 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:01 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:05 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:05 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:05 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:05 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:05 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:05 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:05 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:05 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:05 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:05 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:05 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:05 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:05 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:05 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:05 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:05 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:05 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:05 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:05 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:05 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:05 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:05 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:05 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:05 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:05 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:05 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:05 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:05 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:05 UTC] 📊 Database Info:
[24-Nov-2025 16:58:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:05 UTC]    Books columns count: 45
[24-Nov-2025 16:58:05 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:05 UTC]    Language field in books: YES
[24-Nov-2025 16:58:05 UTC]    Format field in books: YES
[24-Nov-2025 16:58:05 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:05 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:05 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:05 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:05 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:05 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:05 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:05 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:05 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:05 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:14 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:14 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:14 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:14 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:14 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:14 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:14 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:14 UTC] 📊 Database Info:
[24-Nov-2025 16:58:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:14 UTC]    Books columns count: 45
[24-Nov-2025 16:58:14 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:14 UTC]    Language field in books: YES
[24-Nov-2025 16:58:14 UTC]    Format field in books: YES
[24-Nov-2025 16:58:14 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:14 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:14 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:14 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:14 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:14 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:14 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:14 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:14 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:14 UTC] 📊 Database Info:
[24-Nov-2025 16:58:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:14 UTC]    Books columns count: 45
[24-Nov-2025 16:58:14 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:14 UTC]    Language field in books: YES
[24-Nov-2025 16:58:14 UTC]    Format field in books: YES
[24-Nov-2025 16:58:14 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:14 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:14 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:14 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:14 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:14 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:14 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:14 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:14 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:14 UTC] 📊 Database Info:
[24-Nov-2025 16:58:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:14 UTC]    Books columns count: 45
[24-Nov-2025 16:58:14 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:14 UTC]    Language field in books: YES
[24-Nov-2025 16:58:14 UTC]    Format field in books: YES
[24-Nov-2025 16:58:14 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:14 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:14 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:14 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:14 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:14 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:14 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:14 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:14 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:58:14 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:58:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:23 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:23 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:23 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:23 UTC] 📊 Database Info:
[24-Nov-2025 16:58:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:23 UTC]    Books columns count: 45
[24-Nov-2025 16:58:23 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:23 UTC]    Language field in books: YES
[24-Nov-2025 16:58:23 UTC]    Format field in books: YES
[24-Nov-2025 16:58:23 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:23 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:23 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:23 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:23 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:23 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:23 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:23 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:31 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:31 UTC] 📊 Database Info:
[24-Nov-2025 16:58:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:31 UTC]    Books columns count: 45
[24-Nov-2025 16:58:31 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:31 UTC]    Language field in books: YES
[24-Nov-2025 16:58:31 UTC]    Format field in books: YES
[24-Nov-2025 16:58:31 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:31 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:31 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:31 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:31 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:31 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:31 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:31 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:34 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:34 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:34 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:34 UTC] 📊 Database Info:
[24-Nov-2025 16:58:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:34 UTC]    Books columns count: 45
[24-Nov-2025 16:58:34 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:34 UTC]    Language field in books: YES
[24-Nov-2025 16:58:34 UTC]    Format field in books: YES
[24-Nov-2025 16:58:34 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:34 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:34 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:34 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:34 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:34 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:34 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:34 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:35 UTC] 📊 Database Info:
[24-Nov-2025 16:58:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:35 UTC]    Books columns count: 45
[24-Nov-2025 16:58:35 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:35 UTC]    Language field in books: YES
[24-Nov-2025 16:58:35 UTC]    Format field in books: YES
[24-Nov-2025 16:58:35 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:35 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:35 UTC] 📊 Database Info:
[24-Nov-2025 16:58:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:35 UTC]    Books columns count: 45
[24-Nov-2025 16:58:35 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:35 UTC]    Language field in books: YES
[24-Nov-2025 16:58:35 UTC]    Format field in books: YES
[24-Nov-2025 16:58:35 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:35 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:35 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:58:35 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:58:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:37 UTC] 📊 Database Info:
[24-Nov-2025 16:58:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:37 UTC]    Books columns count: 45
[24-Nov-2025 16:58:37 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:37 UTC]    Language field in books: YES
[24-Nov-2025 16:58:37 UTC]    Format field in books: YES
[24-Nov-2025 16:58:37 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:37 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:37 UTC] 📊 Database Info:
[24-Nov-2025 16:58:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:37 UTC]    Books columns count: 45
[24-Nov-2025 16:58:37 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:37 UTC]    Language field in books: YES
[24-Nov-2025 16:58:37 UTC]    Format field in books: YES
[24-Nov-2025 16:58:37 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:37 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:37 UTC] 📊 Database Info:
[24-Nov-2025 16:58:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:37 UTC]    Books columns count: 45
[24-Nov-2025 16:58:37 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:37 UTC]    Language field in books: YES
[24-Nov-2025 16:58:37 UTC]    Format field in books: YES
[24-Nov-2025 16:58:37 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:37 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:37 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:37 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:38 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:38 UTC] 📊 Database Info:
[24-Nov-2025 16:58:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:38 UTC]    Books columns count: 45
[24-Nov-2025 16:58:38 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:38 UTC]    Language field in books: YES
[24-Nov-2025 16:58:38 UTC]    Format field in books: YES
[24-Nov-2025 16:58:38 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:38 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:38 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:38 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:38 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:38 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:38 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:38 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:38 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:38 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:38 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:38 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:38 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:38 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:38 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:38 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:38 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:38 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:38 UTC] 📊 Database Info:
[24-Nov-2025 16:58:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:38 UTC]    Books columns count: 45
[24-Nov-2025 16:58:38 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:38 UTC]    Language field in books: YES
[24-Nov-2025 16:58:38 UTC]    Format field in books: YES
[24-Nov-2025 16:58:38 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:38 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:38 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:38 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:38 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:38 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:58:38 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:58:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:38 UTC] 📊 Database Info:
[24-Nov-2025 16:58:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:38 UTC]    Books columns count: 45
[24-Nov-2025 16:58:38 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:38 UTC]    Language field in books: YES
[24-Nov-2025 16:58:38 UTC]    Format field in books: YES
[24-Nov-2025 16:58:38 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:38 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:38 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:38 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:38 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:38 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:38 UTC] 📊 Database Info:
[24-Nov-2025 16:58:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:38 UTC]    Books columns count: 45
[24-Nov-2025 16:58:38 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:38 UTC]    Language field in books: YES
[24-Nov-2025 16:58:38 UTC]    Format field in books: YES
[24-Nov-2025 16:58:38 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:38 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:38 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:38 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:38 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:38 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 16:58:38 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 16:58:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:38 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:38 UTC] 📊 Database Info:
[24-Nov-2025 16:58:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:38 UTC]    Books columns count: 45
[24-Nov-2025 16:58:38 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:38 UTC]    Language field in books: YES
[24-Nov-2025 16:58:38 UTC]    Format field in books: YES
[24-Nov-2025 16:58:38 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:38 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:38 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:38 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:38 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:38 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:38 UTC] 📊 Database Info:
[24-Nov-2025 16:58:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:38 UTC]    Books columns count: 45
[24-Nov-2025 16:58:38 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:38 UTC]    Language field in books: YES
[24-Nov-2025 16:58:38 UTC]    Format field in books: YES
[24-Nov-2025 16:58:38 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:38 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:38 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:38 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:38 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:38 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:38 UTC] 📊 Database Info:
[24-Nov-2025 16:58:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:38 UTC]    Books columns count: 45
[24-Nov-2025 16:58:38 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:38 UTC]    Language field in books: YES
[24-Nov-2025 16:58:38 UTC]    Format field in books: YES
[24-Nov-2025 16:58:38 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:38 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:38 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:38 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:38 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:38 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:41 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:41 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:41 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:41 UTC] 📊 Database Info:
[24-Nov-2025 16:58:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:41 UTC]    Books columns count: 45
[24-Nov-2025 16:58:41 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:41 UTC]    Language field in books: YES
[24-Nov-2025 16:58:41 UTC]    Format field in books: YES
[24-Nov-2025 16:58:41 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:41 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:41 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:41 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:41 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:41 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:41 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:41 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:41 UTC] ?? GLOBAL AUTH UPDATE: Setting require_login_for_download to 1 for ALL books
[24-Nov-2025 16:58:41 UTC] ✅ Global auth update completed: 7 books updated
[24-Nov-2025 16:58:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:42 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:42 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:42 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:42 UTC] 📊 Database Info:
[24-Nov-2025 16:58:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:42 UTC]    Books columns count: 45
[24-Nov-2025 16:58:42 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:42 UTC]    Language field in books: YES
[24-Nov-2025 16:58:42 UTC]    Format field in books: YES
[24-Nov-2025 16:58:42 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:42 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:42 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:42 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:42 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:42 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:42 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:42 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:58:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:58:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:58:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:58:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:58:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:58:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:58:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:58:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:58:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:58:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:58:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:58:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:58:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:58:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:58:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:58:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:58:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:58:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:58:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:58:46 UTC] 📊 Database Info:
[24-Nov-2025 16:58:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:58:46 UTC]    Books columns count: 45
[24-Nov-2025 16:58:46 UTC]    Categories columns count: 7
[24-Nov-2025 16:58:46 UTC]    Language field in books: YES
[24-Nov-2025 16:58:46 UTC]    Format field in books: YES
[24-Nov-2025 16:58:46 UTC]    Description field in categories: YES
[24-Nov-2025 16:58:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:58:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:58:46 UTC]    Is_active field in books: YES
[24-Nov-2025 16:58:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:58:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:58:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:58:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:58:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:58:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:58:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:58:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:58:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:58:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:58:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:58:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:58:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:58:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:58:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:58:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:58:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:58:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 16:59:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 16:59:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:59:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:59:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:59:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:59:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:59:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:59:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:59:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:59:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:59:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:59:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:59:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:59:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 16:59:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:59:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 16:59:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 16:59:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 16:59:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 16:59:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 16:59:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 16:59:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 16:59:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 16:59:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 16:59:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 16:59:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 16:59:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 16:59:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 16:59:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 16:59:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 16:59:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 16:59:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 16:59:16 UTC] 📊 Database Info:
[24-Nov-2025 16:59:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 16:59:16 UTC]    Books columns count: 45
[24-Nov-2025 16:59:16 UTC]    Categories columns count: 7
[24-Nov-2025 16:59:16 UTC]    Language field in books: YES
[24-Nov-2025 16:59:16 UTC]    Format field in books: YES
[24-Nov-2025 16:59:16 UTC]    Description field in categories: YES
[24-Nov-2025 16:59:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 16:59:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 16:59:16 UTC]    Is_active field in books: YES
[24-Nov-2025 16:59:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 16:59:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 16:59:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 16:59:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 16:59:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:59:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 16:59:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 16:59:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 16:59:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 16:59:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 16:59:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 16:59:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 16:59:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 16:59:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 16:59:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 16:59:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 16:59:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 16:59:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 16:59:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:01:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:01:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:01:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:01:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:01:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:01:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:01:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:01:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:01:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:01:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:01:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:01:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:01:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:01:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:01:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:01:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:01:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:01:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:01:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:01:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:01:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:01:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:01:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:01:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:01:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:01:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:01:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:01:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:01:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:01:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:01:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:01:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:01:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:01:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:01:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:01:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:01:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:01:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:01:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:01:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:01:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:01:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:01:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:01:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:01:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:01:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:01:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:01:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:01:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:01:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:01:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:01:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:01:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:01:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:01:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:01:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:01:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:01:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:01:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:01:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:01:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:01:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:01:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:01:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:01:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:01:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:01:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:01:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:01:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:01:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:01:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:01:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:01:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:01:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:01:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:01:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:01:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:01:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:01:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:01:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:01:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:01:12 UTC] 📊 Database Info:
[24-Nov-2025 17:01:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:01:12 UTC]    Books columns count: 45
[24-Nov-2025 17:01:12 UTC]    Categories columns count: 7
[24-Nov-2025 17:01:12 UTC]    Language field in books: YES
[24-Nov-2025 17:01:12 UTC]    Format field in books: YES
[24-Nov-2025 17:01:12 UTC]    Description field in categories: YES
[24-Nov-2025 17:01:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:01:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:01:12 UTC]    Is_active field in books: YES
[24-Nov-2025 17:01:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:01:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:01:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:01:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:01:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:01:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:01:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 17:01:12 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 17:01:12 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 17:01:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:01:12 UTC] 📊 Database Info:
[24-Nov-2025 17:01:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:01:12 UTC]    Books columns count: 45
[24-Nov-2025 17:01:12 UTC]    Categories columns count: 7
[24-Nov-2025 17:01:12 UTC]    Language field in books: YES
[24-Nov-2025 17:01:12 UTC]    Format field in books: YES
[24-Nov-2025 17:01:12 UTC]    Description field in categories: YES
[24-Nov-2025 17:01:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:01:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:01:12 UTC]    Is_active field in books: YES
[24-Nov-2025 17:01:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:01:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:01:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:01:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:01:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:01:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:01:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:01:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:01:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:01:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:01:12 UTC] 📊 Database Info:
[24-Nov-2025 17:01:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:01:12 UTC]    Books columns count: 45
[24-Nov-2025 17:01:12 UTC]    Categories columns count: 7
[24-Nov-2025 17:01:12 UTC]    Language field in books: YES
[24-Nov-2025 17:01:12 UTC]    Format field in books: YES
[24-Nov-2025 17:01:12 UTC]    Description field in categories: YES
[24-Nov-2025 17:01:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:01:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:01:12 UTC]    Is_active field in books: YES
[24-Nov-2025 17:01:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:01:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:01:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:01:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:01:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:01:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:01:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:01:12 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 17:01:12 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 17:01:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:01:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:01:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:01:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:01:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:01:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:01:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:01:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:01:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:01:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:01:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:01:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:01:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:01:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:01:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:01:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:01:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:01:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:01:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:01:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:01:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:01:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:01:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:01:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:01:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:01:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:01:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:01:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:01:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:01:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:01:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:01:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:01:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:01:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:01:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:01:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:01:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:01:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:01:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:01:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:01:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:01:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:01:27 UTC] 📊 Database Info:
[24-Nov-2025 17:01:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:01:27 UTC]    Books columns count: 45
[24-Nov-2025 17:01:27 UTC]    Categories columns count: 7
[24-Nov-2025 17:01:27 UTC]    Language field in books: YES
[24-Nov-2025 17:01:27 UTC]    Format field in books: YES
[24-Nov-2025 17:01:27 UTC]    Description field in categories: YES
[24-Nov-2025 17:01:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:01:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:01:27 UTC]    Is_active field in books: YES
[24-Nov-2025 17:01:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:01:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:01:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:01:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:01:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:01:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:01:27 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 17:01:27 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 17:01:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:01:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:01:27 UTC] 📊 Database Info:
[24-Nov-2025 17:01:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:01:27 UTC]    Books columns count: 45
[24-Nov-2025 17:01:27 UTC]    Categories columns count: 7
[24-Nov-2025 17:01:27 UTC]    Language field in books: YES
[24-Nov-2025 17:01:27 UTC]    Format field in books: YES
[24-Nov-2025 17:01:27 UTC]    Description field in categories: YES
[24-Nov-2025 17:01:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:01:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:01:27 UTC]    Is_active field in books: YES
[24-Nov-2025 17:01:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:01:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:01:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:01:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:01:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:01:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:01:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 17:01:27 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 17:01:27 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 17:01:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:01:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:01:27 UTC] 📊 Database Info:
[24-Nov-2025 17:01:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:01:27 UTC]    Books columns count: 45
[24-Nov-2025 17:01:27 UTC]    Categories columns count: 7
[24-Nov-2025 17:01:27 UTC]    Language field in books: YES
[24-Nov-2025 17:01:27 UTC]    Format field in books: YES
[24-Nov-2025 17:01:27 UTC]    Description field in categories: YES
[24-Nov-2025 17:01:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:01:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:01:27 UTC]    Is_active field in books: YES
[24-Nov-2025 17:01:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:01:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:01:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:01:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:01:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:01:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:01:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:03:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:03:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:03:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:03:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:03:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:03:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:03:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:03:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:03:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:03:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:03:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:03:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:03:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:03:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:03:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:03:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:03:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:03:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:03:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:03:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:03:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:03:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:03:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:03:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:03:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:03:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:03:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:03:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:03:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:03:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:03:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:03:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:03:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:03:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:03:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:03:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:03:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:03:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:03:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:03:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:03:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:03:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:03:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:03:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:03:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:03:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:03:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:03:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:03:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:03:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:03:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:03:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:03:28 UTC] 📊 Database Info:
[24-Nov-2025 17:03:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:03:28 UTC]    Books columns count: 45
[24-Nov-2025 17:03:28 UTC]    Categories columns count: 7
[24-Nov-2025 17:03:28 UTC]    Language field in books: YES
[24-Nov-2025 17:03:28 UTC]    Format field in books: YES
[24-Nov-2025 17:03:28 UTC]    Description field in categories: YES
[24-Nov-2025 17:03:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:03:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:03:28 UTC]    Is_active field in books: YES
[24-Nov-2025 17:03:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:03:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:03:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:03:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:03:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:03:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:03:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:03:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:03:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:03:28 UTC] 📊 Database Info:
[24-Nov-2025 17:03:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:03:28 UTC]    Books columns count: 45
[24-Nov-2025 17:03:28 UTC]    Categories columns count: 7
[24-Nov-2025 17:03:28 UTC]    Language field in books: YES
[24-Nov-2025 17:03:28 UTC]    Format field in books: YES
[24-Nov-2025 17:03:28 UTC]    Description field in categories: YES
[24-Nov-2025 17:03:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:03:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:03:28 UTC]    Is_active field in books: YES
[24-Nov-2025 17:03:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:03:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:03:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:03:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:03:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:03:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:03:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 17:03:28 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 17:03:28 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 17:03:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:03:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:03:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:03:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:03:28 UTC] 📊 Database Info:
[24-Nov-2025 17:03:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:03:28 UTC]    Books columns count: 45
[24-Nov-2025 17:03:28 UTC]    Categories columns count: 7
[24-Nov-2025 17:03:28 UTC]    Language field in books: YES
[24-Nov-2025 17:03:28 UTC]    Format field in books: YES
[24-Nov-2025 17:03:28 UTC]    Description field in categories: YES
[24-Nov-2025 17:03:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:03:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:03:28 UTC]    Is_active field in books: YES
[24-Nov-2025 17:03:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:03:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:03:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:03:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:03:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:03:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:03:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:03:28 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 17:03:28 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 17:06:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:06:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:06:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:06:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:06:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:06:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:06:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:06:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:06:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:06:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:06:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:06:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:06:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:06:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:06:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:06:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:06:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:06:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:06:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:06:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:06:00 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:06:00 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:06:00 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:06:00 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:06:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:06:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:06:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:06:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:06:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:06:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:06:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:06:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:06:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:06:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:06:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:06:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:06:00 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:06:00 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:06:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:06:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:06:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:06:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:06:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:06:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:06:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:06:00 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:06:00 UTC] 📊 Database Info:
[24-Nov-2025 17:06:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:06:00 UTC]    Books columns count: 45
[24-Nov-2025 17:06:00 UTC]    Categories columns count: 7
[24-Nov-2025 17:06:00 UTC]    Language field in books: YES
[24-Nov-2025 17:06:00 UTC]    Format field in books: YES
[24-Nov-2025 17:06:00 UTC]    Description field in categories: YES
[24-Nov-2025 17:06:00 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:06:00 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:06:00 UTC]    Is_active field in books: YES
[24-Nov-2025 17:06:00 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:06:00 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:06:00 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:06:00 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:06:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:06:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:06:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 17:06:00 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 17:06:00 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 17:06:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:06:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:06:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:06:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:06:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:06:00 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:06:00 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:06:00 UTC] 📊 Database Info:
[24-Nov-2025 17:06:00 UTC] 📊 Database Info:
[24-Nov-2025 17:06:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:06:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:06:00 UTC]    Books columns count: 45
[24-Nov-2025 17:06:00 UTC]    Books columns count: 45
[24-Nov-2025 17:06:00 UTC]    Categories columns count: 7
[24-Nov-2025 17:06:00 UTC]    Categories columns count: 7
[24-Nov-2025 17:06:00 UTC]    Language field in books: YES
[24-Nov-2025 17:06:00 UTC]    Language field in books: YES
[24-Nov-2025 17:06:00 UTC]    Format field in books: YES
[24-Nov-2025 17:06:00 UTC]    Format field in books: YES
[24-Nov-2025 17:06:00 UTC]    Description field in categories: YES
[24-Nov-2025 17:06:00 UTC]    Description field in categories: YES
[24-Nov-2025 17:06:00 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:06:00 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:06:00 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:06:00 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:06:00 UTC]    Is_active field in books: YES
[24-Nov-2025 17:06:00 UTC]    Is_active field in books: YES
[24-Nov-2025 17:06:00 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:06:00 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:06:00 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:06:00 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:06:00 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:06:00 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:06:00 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:06:00 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:06:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:06:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:06:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:06:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:06:00 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 17:06:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:06:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:06:00 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 17:06:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:06:02 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:06:02 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:06:02 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:06:02 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:06:02 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:06:02 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:06:02 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:06:02 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:06:02 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:06:02 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:06:02 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:06:02 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:06:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:06:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:06:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:06:02 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:06:02 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:06:02 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:06:02 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:06:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:06:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:06:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:06:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:06:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:06:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:06:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:06:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:06:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:06:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:06:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:06:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:06:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:06:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:06:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:06:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:06:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:06:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:06:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:06:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:06:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:06:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:06:03 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:06:03 UTC] 📊 Database Info:
[24-Nov-2025 17:06:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:06:03 UTC]    Books columns count: 45
[24-Nov-2025 17:06:03 UTC]    Categories columns count: 7
[24-Nov-2025 17:06:03 UTC]    Language field in books: YES
[24-Nov-2025 17:06:03 UTC]    Format field in books: YES
[24-Nov-2025 17:06:03 UTC]    Description field in categories: YES
[24-Nov-2025 17:06:03 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:06:03 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:06:03 UTC]    Is_active field in books: YES
[24-Nov-2025 17:06:03 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:06:03 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:06:03 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:06:03 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:06:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:06:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:06:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:06:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:06:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:06:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:06:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:06:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:06:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:06:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:06:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:06:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:06:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:06:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:06:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:06:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:06:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:06:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:06:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:06:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:06:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:06:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:06:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:06:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:06:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:06:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:06:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:06:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:06:04 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:06:04 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:06:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:06:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:06:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:06:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:06:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:06:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:06:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:06:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:06:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:06:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:06:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:06:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:06:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:06:04 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:06:04 UTC] 📊 Database Info:
[24-Nov-2025 17:06:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:06:04 UTC]    Books columns count: 45
[24-Nov-2025 17:06:04 UTC]    Categories columns count: 7
[24-Nov-2025 17:06:04 UTC]    Language field in books: YES
[24-Nov-2025 17:06:04 UTC]    Format field in books: YES
[24-Nov-2025 17:06:04 UTC]    Description field in categories: YES
[24-Nov-2025 17:06:04 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:06:04 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:06:04 UTC]    Is_active field in books: YES
[24-Nov-2025 17:06:04 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:06:04 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:06:04 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:06:04 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:06:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:06:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:06:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:06:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:06:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:06:05 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:06:05 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:06:05 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:06:05 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:06:05 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:06:05 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:06:05 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:06:05 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:06:05 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:06:05 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:06:05 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:06:05 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:06:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:06:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:06:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:06:05 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:06:05 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:06:05 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:06:05 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:06:05 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:06:05 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:06:05 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:06:05 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:06:05 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:06:05 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:06:05 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:06:05 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:06:05 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:06:05 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:06:05 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:06:05 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:06:05 UTC] 📊 Database Info:
[24-Nov-2025 17:06:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:06:05 UTC]    Books columns count: 45
[24-Nov-2025 17:06:05 UTC]    Categories columns count: 7
[24-Nov-2025 17:06:05 UTC]    Language field in books: YES
[24-Nov-2025 17:06:05 UTC]    Format field in books: YES
[24-Nov-2025 17:06:05 UTC]    Description field in categories: YES
[24-Nov-2025 17:06:05 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:06:05 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:06:05 UTC]    Is_active field in books: YES
[24-Nov-2025 17:06:05 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:06:05 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:06:05 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:06:05 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:06:05 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:06:05 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:06:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:06:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:06:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:06:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:06:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:06:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:06:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:06:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:06:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:06:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:06:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:06:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:06:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:06:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:06:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:06:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:06:18 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:06:18 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:06:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:06:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:06:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:06:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:06:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:06:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:06:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:06:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:06:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:06:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:06:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:06:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:06:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:06:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:06:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:06:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:06:18 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:06:18 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:06:18 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:06:18 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:06:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:06:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:06:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:06:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:06:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:06:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:06:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:06:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:06:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:06:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:06:18 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:06:18 UTC] 📊 Database Info:
[24-Nov-2025 17:06:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:06:18 UTC]    Books columns count: 45
[24-Nov-2025 17:06:18 UTC]    Categories columns count: 7
[24-Nov-2025 17:06:18 UTC]    Language field in books: YES
[24-Nov-2025 17:06:18 UTC]    Format field in books: YES
[24-Nov-2025 17:06:18 UTC]    Description field in categories: YES
[24-Nov-2025 17:06:18 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:06:18 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:06:18 UTC]    Is_active field in books: YES
[24-Nov-2025 17:06:18 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:06:18 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:06:18 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:06:18 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:06:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:06:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:06:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 17:06:18 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 17:06:18 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 17:06:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:06:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:06:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:06:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:06:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:06:18 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:06:18 UTC] 📊 Database Info:
[24-Nov-2025 17:06:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:06:18 UTC]    Books columns count: 45
[24-Nov-2025 17:06:18 UTC]    Categories columns count: 7
[24-Nov-2025 17:06:18 UTC]    Language field in books: YES
[24-Nov-2025 17:06:18 UTC]    Format field in books: YES
[24-Nov-2025 17:06:18 UTC]    Description field in categories: YES
[24-Nov-2025 17:06:18 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:06:18 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:06:18 UTC]    Is_active field in books: YES
[24-Nov-2025 17:06:18 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:06:18 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:06:18 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:06:18 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:06:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:06:18 UTC] 📊 Database Info:
[24-Nov-2025 17:06:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:06:18 UTC]    Books columns count: 45
[24-Nov-2025 17:06:18 UTC]    Categories columns count: 7
[24-Nov-2025 17:06:18 UTC]    Language field in books: YES
[24-Nov-2025 17:06:18 UTC]    Format field in books: YES
[24-Nov-2025 17:06:18 UTC]    Description field in categories: YES
[24-Nov-2025 17:06:18 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:06:18 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:06:18 UTC]    Is_active field in books: YES
[24-Nov-2025 17:06:18 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:06:18 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:06:18 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:06:18 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:06:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:06:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:06:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:06:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:06:18 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 17:06:18 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 17:08:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:08:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:08:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:08:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:08:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:08:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:08:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:08:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:08:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:08:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:08:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:08:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:08:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:08:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:08:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:08:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:08:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:08:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:08:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:08:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:08:15 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:08:15 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:08:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:08:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:08:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:08:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:08:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:08:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:08:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:08:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:08:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:08:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:08:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:08:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:08:15 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:08:15 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:08:15 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:08:15 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:08:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:08:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:08:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:08:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:08:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:08:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:08:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:08:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:08:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:08:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:08:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:08:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:08:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:08:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:08:15 UTC] 📊 Database Info:
[24-Nov-2025 17:08:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:08:15 UTC]    Books columns count: 45
[24-Nov-2025 17:08:15 UTC]    Categories columns count: 7
[24-Nov-2025 17:08:15 UTC]    Language field in books: YES
[24-Nov-2025 17:08:15 UTC]    Format field in books: YES
[24-Nov-2025 17:08:15 UTC]    Description field in categories: YES
[24-Nov-2025 17:08:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:08:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:08:15 UTC]    Is_active field in books: YES
[24-Nov-2025 17:08:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:08:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:08:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:08:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:08:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:08:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:08:15 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 17:08:15 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 17:08:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:08:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:08:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:08:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:08:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:08:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:08:15 UTC] 📊 Database Info:
[24-Nov-2025 17:08:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:08:15 UTC]    Books columns count: 45
[24-Nov-2025 17:08:15 UTC]    Categories columns count: 7
[24-Nov-2025 17:08:15 UTC]    Language field in books: YES
[24-Nov-2025 17:08:15 UTC]    Format field in books: YES
[24-Nov-2025 17:08:15 UTC]    Description field in categories: YES
[24-Nov-2025 17:08:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:08:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:08:15 UTC]    Is_active field in books: YES
[24-Nov-2025 17:08:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:08:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:08:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:08:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:08:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:08:15 UTC] 📊 Database Info:
[24-Nov-2025 17:08:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:08:15 UTC]    Books columns count: 45
[24-Nov-2025 17:08:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:08:15 UTC]    Categories columns count: 7
[24-Nov-2025 17:08:15 UTC]    Language field in books: YES
[24-Nov-2025 17:08:15 UTC]    Format field in books: YES
[24-Nov-2025 17:08:15 UTC]    Description field in categories: YES
[24-Nov-2025 17:08:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:08:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:08:15 UTC]    Is_active field in books: YES
[24-Nov-2025 17:08:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:08:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:08:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:08:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:08:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:08:15 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 17:08:15 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:08:15 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:08:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:08:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:08:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:08:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:08:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:08:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:08:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:08:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:08:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:08:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:08:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:08:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:08:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:08:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:08:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:08:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:08:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:08:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:08:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:08:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:08:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:08:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:08:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:08:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:08:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:08:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:08:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:08:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:08:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:08:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:08:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:08:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:08:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:08:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:08:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:08:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:08:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:08:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:08:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:08:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:08:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:08:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:08:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:08:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:08:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:08:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:08:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:08:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:08:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:08:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:08:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:08:50 UTC] 📊 Database Info:
[24-Nov-2025 17:08:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:08:50 UTC]    Books columns count: 45
[24-Nov-2025 17:08:50 UTC]    Categories columns count: 7
[24-Nov-2025 17:08:50 UTC]    Language field in books: YES
[24-Nov-2025 17:08:50 UTC]    Format field in books: YES
[24-Nov-2025 17:08:50 UTC]    Description field in categories: YES
[24-Nov-2025 17:08:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:08:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:08:50 UTC]    Is_active field in books: YES
[24-Nov-2025 17:08:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:08:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:08:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:08:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:08:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:08:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:08:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:08:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:08:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:08:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:08:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:08:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:08:50 UTC] 📊 Database Info:
[24-Nov-2025 17:08:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:08:50 UTC]    Books columns count: 45
[24-Nov-2025 17:08:50 UTC]    Categories columns count: 7
[24-Nov-2025 17:08:50 UTC]    Language field in books: YES
[24-Nov-2025 17:08:50 UTC]    Format field in books: YES
[24-Nov-2025 17:08:50 UTC]    Description field in categories: YES
[24-Nov-2025 17:08:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:08:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:08:50 UTC]    Is_active field in books: YES
[24-Nov-2025 17:08:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:08:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:08:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:08:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:08:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:08:50 UTC] 📊 Database Info:
[24-Nov-2025 17:08:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:08:50 UTC]    Books columns count: 45
[24-Nov-2025 17:08:50 UTC]    Categories columns count: 7
[24-Nov-2025 17:08:50 UTC]    Language field in books: YES
[24-Nov-2025 17:08:50 UTC]    Format field in books: YES
[24-Nov-2025 17:08:50 UTC]    Description field in categories: YES
[24-Nov-2025 17:08:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:08:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:08:50 UTC]    Is_active field in books: YES
[24-Nov-2025 17:08:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:08:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:08:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:08:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:08:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:08:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:08:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:08:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 17:08:50 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 17:08:50 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 17:08:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:08:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:08:50 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 17:08:50 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 17:10:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:10:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:10:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:10:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:10:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:10:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:10:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:10:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:10:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:10:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:10:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:10:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:10:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:10:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:10:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:10:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:10:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:10:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:10:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:10:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:10:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:10:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:10:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:10:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:10:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:10:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:10:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:10:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:10:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:10:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:10:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:10:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:10:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:10:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:10:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:10:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:10:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:10:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:10:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:10:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:10:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:10:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:10:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:10:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:10:53 UTC] 📊 Database Info:
[24-Nov-2025 17:10:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:10:53 UTC]    Books columns count: 45
[24-Nov-2025 17:10:53 UTC]    Categories columns count: 7
[24-Nov-2025 17:10:53 UTC]    Language field in books: YES
[24-Nov-2025 17:10:53 UTC]    Format field in books: YES
[24-Nov-2025 17:10:53 UTC]    Description field in categories: YES
[24-Nov-2025 17:10:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:10:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:10:53 UTC]    Is_active field in books: YES
[24-Nov-2025 17:10:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:10:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:10:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:10:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:10:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:10:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:10:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:10:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:10:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:10:53 UTC] 📊 Database Info:
[24-Nov-2025 17:10:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:10:53 UTC]    Books columns count: 45
[24-Nov-2025 17:10:53 UTC]    Categories columns count: 7
[24-Nov-2025 17:10:53 UTC]    Language field in books: YES
[24-Nov-2025 17:10:53 UTC]    Format field in books: YES
[24-Nov-2025 17:10:53 UTC]    Description field in categories: YES
[24-Nov-2025 17:10:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:10:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:10:53 UTC]    Is_active field in books: YES
[24-Nov-2025 17:10:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:10:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:10:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:10:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:10:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:10:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:10:53 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 17:10:53 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 17:10:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:10:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:10:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:10:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:10:53 UTC] 📊 Database Info:
[24-Nov-2025 17:10:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:10:53 UTC]    Books columns count: 45
[24-Nov-2025 17:10:53 UTC]    Categories columns count: 7
[24-Nov-2025 17:10:53 UTC]    Language field in books: YES
[24-Nov-2025 17:10:53 UTC]    Format field in books: YES
[24-Nov-2025 17:10:53 UTC]    Description field in categories: YES
[24-Nov-2025 17:10:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:10:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:10:53 UTC]    Is_active field in books: YES
[24-Nov-2025 17:10:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:10:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:10:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:10:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:10:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:10:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:10:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:10:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 17:10:53 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 17:10:53 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 17:11:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:11:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:11:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:11:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:11:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:11:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:11:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:11:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:11:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:11:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:11:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:11:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:11:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:11:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:11:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:11:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:11:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:11:03 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:11:03 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:11:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:11:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:11:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:11:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:11:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:11:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:11:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:11:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:11:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:11:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:11:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:11:03 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:11:03 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:11:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:11:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:11:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:11:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:11:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:11:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:11:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:11:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:11:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:11:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:11:03 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:11:03 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:11:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:11:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:11:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:11:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:11:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:11:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:11:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:11:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:11:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:11:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:11:03 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:11:03 UTC] 📊 Database Info:
[24-Nov-2025 17:11:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:11:03 UTC]    Books columns count: 45
[24-Nov-2025 17:11:03 UTC]    Categories columns count: 7
[24-Nov-2025 17:11:03 UTC]    Language field in books: YES
[24-Nov-2025 17:11:03 UTC]    Format field in books: YES
[24-Nov-2025 17:11:03 UTC]    Description field in categories: YES
[24-Nov-2025 17:11:03 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:11:03 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:11:03 UTC]    Is_active field in books: YES
[24-Nov-2025 17:11:03 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:11:03 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:11:03 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:11:03 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:11:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:11:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:11:03 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 17:11:03 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 17:11:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:11:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:11:03 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:11:03 UTC] 📊 Database Info:
[24-Nov-2025 17:11:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:11:03 UTC]    Books columns count: 45
[24-Nov-2025 17:11:03 UTC]    Categories columns count: 7
[24-Nov-2025 17:11:03 UTC]    Language field in books: YES
[24-Nov-2025 17:11:03 UTC]    Format field in books: YES
[24-Nov-2025 17:11:03 UTC]    Description field in categories: YES
[24-Nov-2025 17:11:03 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:11:03 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:11:03 UTC]    Is_active field in books: YES
[24-Nov-2025 17:11:03 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:11:03 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:11:03 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:11:03 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:11:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:11:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:11:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:11:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:11:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:11:03 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:11:03 UTC] 📊 Database Info:
[24-Nov-2025 17:11:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:11:03 UTC]    Books columns count: 45
[24-Nov-2025 17:11:03 UTC]    Categories columns count: 7
[24-Nov-2025 17:11:03 UTC]    Language field in books: YES
[24-Nov-2025 17:11:03 UTC]    Format field in books: YES
[24-Nov-2025 17:11:03 UTC]    Description field in categories: YES
[24-Nov-2025 17:11:03 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:11:03 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:11:03 UTC]    Is_active field in books: YES
[24-Nov-2025 17:11:03 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:11:03 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:11:03 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:11:03 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:11:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:11:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:11:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:11:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 17:11:03 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 17:11:03 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 17:11:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:11:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:11:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:11:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:11:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:11:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:11:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:11:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:11:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:11:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:11:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:11:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:11:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:11:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:11:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:11:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:11:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:11:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:11:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:11:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:11:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:11:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:11:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:11:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:11:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:11:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:11:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:11:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:11:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:11:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:11:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:11:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:11:37 UTC] 📊 Database Info:
[24-Nov-2025 17:11:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:11:37 UTC]    Books columns count: 45
[24-Nov-2025 17:11:37 UTC]    Categories columns count: 7
[24-Nov-2025 17:11:37 UTC]    Language field in books: YES
[24-Nov-2025 17:11:37 UTC]    Format field in books: YES
[24-Nov-2025 17:11:37 UTC]    Description field in categories: YES
[24-Nov-2025 17:11:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:11:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:11:37 UTC]    Is_active field in books: YES
[24-Nov-2025 17:11:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:11:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:11:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:11:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:11:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:11:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:11:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:11:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:11:37 UTC] ?? GLOBAL AUTH UPDATE: Setting require_login_for_download to 0 for ALL books
[24-Nov-2025 17:11:37 UTC] ✅ Global auth update completed: 7 books updated
[24-Nov-2025 17:15:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:15:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:15:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:03 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:15:03 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:15:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:03 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:15:03 UTC] 📊 Database Info:
[24-Nov-2025 17:15:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:15:03 UTC]    Books columns count: 45
[24-Nov-2025 17:15:03 UTC]    Categories columns count: 7
[24-Nov-2025 17:15:03 UTC]    Language field in books: YES
[24-Nov-2025 17:15:03 UTC]    Format field in books: YES
[24-Nov-2025 17:15:03 UTC]    Description field in categories: YES
[24-Nov-2025 17:15:03 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:15:03 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:15:03 UTC]    Is_active field in books: YES
[24-Nov-2025 17:15:03 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:15:03 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:15:03 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:15:03 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:15:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:15:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:15:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:15:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:15:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:15:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:15:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:04 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:15:04 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:15:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:15:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:15:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:04 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:15:04 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:15:04 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:15:04 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:15:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:04 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:15:04 UTC] 📊 Database Info:
[24-Nov-2025 17:15:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:15:04 UTC]    Books columns count: 45
[24-Nov-2025 17:15:04 UTC]    Categories columns count: 7
[24-Nov-2025 17:15:04 UTC]    Language field in books: YES
[24-Nov-2025 17:15:04 UTC]    Format field in books: YES
[24-Nov-2025 17:15:04 UTC]    Description field in categories: YES
[24-Nov-2025 17:15:04 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:15:04 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:15:04 UTC]    Is_active field in books: YES
[24-Nov-2025 17:15:04 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:15:04 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:15:04 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:15:04 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:15:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:15:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 17:15:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 17:15:04 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 17:15:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:04 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:15:04 UTC] 📊 Database Info:
[24-Nov-2025 17:15:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:15:04 UTC]    Books columns count: 45
[24-Nov-2025 17:15:04 UTC]    Categories columns count: 7
[24-Nov-2025 17:15:04 UTC]    Language field in books: YES
[24-Nov-2025 17:15:04 UTC]    Format field in books: YES
[24-Nov-2025 17:15:04 UTC]    Description field in categories: YES
[24-Nov-2025 17:15:04 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:15:04 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:15:04 UTC]    Is_active field in books: YES
[24-Nov-2025 17:15:04 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:15:04 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:15:04 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:15:04 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:15:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:15:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:15:04 UTC] 📊 Database Info:
[24-Nov-2025 17:15:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:15:04 UTC]    Books columns count: 45
[24-Nov-2025 17:15:04 UTC]    Categories columns count: 7
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:15:04 UTC]    Language field in books: YES
[24-Nov-2025 17:15:04 UTC]    Format field in books: YES
[24-Nov-2025 17:15:04 UTC]    Description field in categories: YES
[24-Nov-2025 17:15:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:04 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:15:04 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:15:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:15:04 UTC]    Is_active field in books: YES
[24-Nov-2025 17:15:04 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:15:04 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:15:04 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:15:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 17:15:04 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:15:04 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 17:15:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:15:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:15:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:15:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:15:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:07 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:15:07 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:15:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:07 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:15:07 UTC] 📊 Database Info:
[24-Nov-2025 17:15:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:15:07 UTC]    Books columns count: 45
[24-Nov-2025 17:15:07 UTC]    Categories columns count: 7
[24-Nov-2025 17:15:07 UTC]    Language field in books: YES
[24-Nov-2025 17:15:07 UTC]    Format field in books: YES
[24-Nov-2025 17:15:07 UTC]    Description field in categories: YES
[24-Nov-2025 17:15:07 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:15:07 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:15:07 UTC]    Is_active field in books: YES
[24-Nov-2025 17:15:07 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:15:07 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:15:07 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:15:07 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:15:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:15:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:15:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:15:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:15:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:15:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:15:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:15:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:15:08 UTC] 📊 Database Info:
[24-Nov-2025 17:15:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:15:08 UTC]    Books columns count: 45
[24-Nov-2025 17:15:08 UTC]    Categories columns count: 7
[24-Nov-2025 17:15:08 UTC]    Language field in books: YES
[24-Nov-2025 17:15:08 UTC]    Format field in books: YES
[24-Nov-2025 17:15:08 UTC]    Description field in categories: YES
[24-Nov-2025 17:15:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:15:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:15:08 UTC]    Is_active field in books: YES
[24-Nov-2025 17:15:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:15:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:15:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:15:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:15:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:15:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:15:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:15:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:15:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:15:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:15:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:15:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:15:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:15:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:15:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:15:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:15:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:15:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:15:30 UTC] 📊 Database Info:
[24-Nov-2025 17:15:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:15:30 UTC]    Books columns count: 45
[24-Nov-2025 17:15:30 UTC]    Categories columns count: 7
[24-Nov-2025 17:15:30 UTC]    Language field in books: YES
[24-Nov-2025 17:15:30 UTC]    Format field in books: YES
[24-Nov-2025 17:15:30 UTC]    Description field in categories: YES
[24-Nov-2025 17:15:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:15:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:15:30 UTC]    Is_active field in books: YES
[24-Nov-2025 17:15:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:15:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:15:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:15:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:15:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:15:30 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 17:15:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:30 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 17:15:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:15:30 UTC] 📊 Database Info:
[24-Nov-2025 17:15:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:15:30 UTC]    Books columns count: 45
[24-Nov-2025 17:15:30 UTC]    Categories columns count: 7
[24-Nov-2025 17:15:30 UTC]    Language field in books: YES
[24-Nov-2025 17:15:30 UTC]    Format field in books: YES
[24-Nov-2025 17:15:30 UTC]    Description field in categories: YES
[24-Nov-2025 17:15:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:15:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:15:30 UTC]    Is_active field in books: YES
[24-Nov-2025 17:15:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:15:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:15:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:15:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:15:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:15:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:15:30 UTC] 📊 Database Info:
[24-Nov-2025 17:15:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:15:30 UTC]    Books columns count: 45
[24-Nov-2025 17:15:30 UTC]    Categories columns count: 7
[24-Nov-2025 17:15:30 UTC]    Language field in books: YES
[24-Nov-2025 17:15:30 UTC]    Format field in books: YES
[24-Nov-2025 17:15:30 UTC]    Description field in categories: YES
[24-Nov-2025 17:15:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:15:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:15:30 UTC]    Is_active field in books: YES
[24-Nov-2025 17:15:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:15:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:15:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:15:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:15:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:15:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:15:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 17:15:30 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 17:15:30 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 17:15:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:15:45 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:45 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:45 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:45 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:45 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:45 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:45 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:45 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:45 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:45 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:45 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:45 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:15:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:45 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:15:45 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:15:45 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:45 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:45 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:45 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:45 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:45 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:45 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:45 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:45 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:45 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:45 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:45 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:45 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:45 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:15:45 UTC] 📊 Database Info:
[24-Nov-2025 17:15:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:15:45 UTC]    Books columns count: 45
[24-Nov-2025 17:15:45 UTC]    Categories columns count: 7
[24-Nov-2025 17:15:45 UTC]    Language field in books: YES
[24-Nov-2025 17:15:45 UTC]    Format field in books: YES
[24-Nov-2025 17:15:45 UTC]    Description field in categories: YES
[24-Nov-2025 17:15:45 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:15:45 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:15:45 UTC]    Is_active field in books: YES
[24-Nov-2025 17:15:45 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:15:45 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:15:45 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:15:45 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:15:45 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:15:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:15:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:15:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:15:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:15:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:15:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:15:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:15:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:15:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:15:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:15:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:15:45 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:15:45 UTC] ?? GLOBAL AUTH UPDATE: Setting require_login_for_download to 1 for ALL books
[24-Nov-2025 17:15:45 UTC] ✅ Global auth update completed: 7 books updated
[24-Nov-2025 17:15:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:15:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:15:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:47 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:15:47 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:15:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:47 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:15:47 UTC] 📊 Database Info:
[24-Nov-2025 17:15:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:15:47 UTC]    Books columns count: 45
[24-Nov-2025 17:15:47 UTC]    Categories columns count: 7
[24-Nov-2025 17:15:47 UTC]    Language field in books: YES
[24-Nov-2025 17:15:47 UTC]    Format field in books: YES
[24-Nov-2025 17:15:47 UTC]    Description field in categories: YES
[24-Nov-2025 17:15:47 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:15:47 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:15:47 UTC]    Is_active field in books: YES
[24-Nov-2025 17:15:47 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:15:47 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:15:47 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:15:47 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:15:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:15:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:15:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:15:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:15:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:15:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:15:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:15:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:15:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:15:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:15:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:15:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:15:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:15:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:15:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:15:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:15:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:15:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:15:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:15:57 UTC] 📊 Database Info:
[24-Nov-2025 17:15:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:15:57 UTC]    Books columns count: 45
[24-Nov-2025 17:15:57 UTC]    Categories columns count: 7
[24-Nov-2025 17:15:57 UTC]    Language field in books: YES
[24-Nov-2025 17:15:57 UTC]    Format field in books: YES
[24-Nov-2025 17:15:57 UTC]    Description field in categories: YES
[24-Nov-2025 17:15:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:15:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:15:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:15:57 UTC]    Is_active field in books: YES
[24-Nov-2025 17:15:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:15:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:15:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:15:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:15:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:15:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:15:57 UTC] 📊 Database Info:
[24-Nov-2025 17:15:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:15:57 UTC]    Books columns count: 45
[24-Nov-2025 17:15:57 UTC]    Categories columns count: 7
[24-Nov-2025 17:15:57 UTC]    Language field in books: YES
[24-Nov-2025 17:15:57 UTC]    Format field in books: YES
[24-Nov-2025 17:15:57 UTC]    Description field in categories: YES
[24-Nov-2025 17:15:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:15:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:15:57 UTC]    Is_active field in books: YES
[24-Nov-2025 17:15:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:15:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:15:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:15:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:15:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:15:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:15:57 UTC] 📊 Database Info:
[24-Nov-2025 17:15:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:15:57 UTC]    Books columns count: 45
[24-Nov-2025 17:15:57 UTC]    Categories columns count: 7
[24-Nov-2025 17:15:57 UTC]    Language field in books: YES
[24-Nov-2025 17:15:57 UTC]    Format field in books: YES
[24-Nov-2025 17:15:57 UTC]    Description field in categories: YES
[24-Nov-2025 17:15:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:15:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:15:57 UTC]    Is_active field in books: YES
[24-Nov-2025 17:15:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:15:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:15:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:15:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:15:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:15:57 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:15:57 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:15:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:15:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:15:57 UTC] 📊 Database Info:
[24-Nov-2025 17:15:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:15:57 UTC]    Books columns count: 45
[24-Nov-2025 17:15:57 UTC]    Categories columns count: 7
[24-Nov-2025 17:15:57 UTC]    Language field in books: YES
[24-Nov-2025 17:15:57 UTC]    Format field in books: YES
[24-Nov-2025 17:15:57 UTC]    Description field in categories: YES
[24-Nov-2025 17:15:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:15:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:15:57 UTC]    Is_active field in books: YES
[24-Nov-2025 17:15:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:15:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:15:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:15:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:15:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:15:57 UTC] 📊 Database Info:
[24-Nov-2025 17:15:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:15:57 UTC]    Books columns count: 45
[24-Nov-2025 17:15:57 UTC]    Categories columns count: 7
[24-Nov-2025 17:15:57 UTC]    Language field in books: YES
[24-Nov-2025 17:15:57 UTC]    Format field in books: YES
[24-Nov-2025 17:15:57 UTC]    Description field in categories: YES
[24-Nov-2025 17:15:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:15:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:15:57 UTC]    Is_active field in books: YES
[24-Nov-2025 17:15:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:15:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:15:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:15:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:15:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:15:57 UTC] 📊 Database Info:
[24-Nov-2025 17:15:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:15:57 UTC]    Books columns count: 45
[24-Nov-2025 17:15:57 UTC]    Categories columns count: 7
[24-Nov-2025 17:15:57 UTC]    Language field in books: YES
[24-Nov-2025 17:15:57 UTC]    Format field in books: YES
[24-Nov-2025 17:15:57 UTC]    Description field in categories: YES
[24-Nov-2025 17:15:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:15:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:15:57 UTC]    Is_active field in books: YES
[24-Nov-2025 17:15:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:15:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:15:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:15:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:15:57 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:15:57 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:15:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:15:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:15:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:16:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:16:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:16:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:16:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:16:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:16:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:16:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:16:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:16:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:16:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:16:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:16:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:16:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:16:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:16:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:16:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:16:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:16:02 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:16:02 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:16:02 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:16:02 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:16:02 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:16:02 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:16:02 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:16:02 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:16:02 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:16:02 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:16:02 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:16:02 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:16:02 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:16:02 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:16:02 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:16:02 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:16:02 UTC] 📊 Database Info:
[24-Nov-2025 17:16:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:16:02 UTC]    Books columns count: 45
[24-Nov-2025 17:16:02 UTC]    Categories columns count: 7
[24-Nov-2025 17:16:02 UTC]    Language field in books: YES
[24-Nov-2025 17:16:02 UTC]    Format field in books: YES
[24-Nov-2025 17:16:02 UTC]    Description field in categories: YES
[24-Nov-2025 17:16:02 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:16:02 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:16:02 UTC]    Is_active field in books: YES
[24-Nov-2025 17:16:02 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:16:02 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:16:02 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:16:02 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:16:02 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:16:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:16:02 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:16:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:16:02 UTC] ?? GLOBAL AUTH UPDATE: Setting require_login_for_download to 0 for ALL books
[24-Nov-2025 17:16:02 UTC] ✅ Global auth update completed: 7 books updated
[24-Nov-2025 17:16:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:16:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:16:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:16:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:16:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:16:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:16:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:16:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:16:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:16:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:16:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:16:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:16:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:16:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:16:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:16:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:16:03 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:16:03 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:16:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:16:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:16:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:16:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:16:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:16:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:16:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:16:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:16:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:16:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:16:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:16:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:16:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:16:03 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:16:03 UTC] 📊 Database Info:
[24-Nov-2025 17:16:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:16:03 UTC]    Books columns count: 45
[24-Nov-2025 17:16:03 UTC]    Categories columns count: 7
[24-Nov-2025 17:16:03 UTC]    Language field in books: YES
[24-Nov-2025 17:16:03 UTC]    Format field in books: YES
[24-Nov-2025 17:16:03 UTC]    Description field in categories: YES
[24-Nov-2025 17:16:03 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:16:03 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:16:03 UTC]    Is_active field in books: YES
[24-Nov-2025 17:16:03 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:16:03 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:16:03 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:16:03 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:16:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:16:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:16:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:16:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:19:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:19:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:19:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:19:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:19:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:19:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:19:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:19:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:19:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:19:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:19:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:19:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:19:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:19:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:19:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:19:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:19:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:19:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:19:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:19:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:19:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:19:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:19:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:19:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:19:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:19:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:19:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:19:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:19:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:19:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:19:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:19:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:19:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:19:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:19:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:19:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:19:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:19:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:19:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:19:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:19:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:19:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:19:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:19:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:19:22 UTC] 📊 Database Info:
[24-Nov-2025 17:19:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:19:22 UTC]    Books columns count: 45
[24-Nov-2025 17:19:22 UTC]    Categories columns count: 7
[24-Nov-2025 17:19:22 UTC]    Language field in books: YES
[24-Nov-2025 17:19:22 UTC]    Format field in books: YES
[24-Nov-2025 17:19:22 UTC]    Description field in categories: YES
[24-Nov-2025 17:19:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:19:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:19:22 UTC]    Is_active field in books: YES
[24-Nov-2025 17:19:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:19:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:19:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:19:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:19:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:19:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:19:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 17:19:22 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 17:19:22 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 17:19:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:19:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:19:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:19:22 UTC] 📊 Database Info:
[24-Nov-2025 17:19:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:19:22 UTC]    Books columns count: 45
[24-Nov-2025 17:19:22 UTC]    Categories columns count: 7
[24-Nov-2025 17:19:22 UTC]    Language field in books: YES
[24-Nov-2025 17:19:22 UTC]    Format field in books: YES
[24-Nov-2025 17:19:22 UTC]    Description field in categories: YES
[24-Nov-2025 17:19:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:19:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:19:22 UTC]    Is_active field in books: YES
[24-Nov-2025 17:19:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:19:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:19:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:19:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:19:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:19:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:19:22 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 17:19:22 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 17:19:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:19:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:19:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:19:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:19:22 UTC] 📊 Database Info:
[24-Nov-2025 17:19:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:19:22 UTC]    Books columns count: 45
[24-Nov-2025 17:19:22 UTC]    Categories columns count: 7
[24-Nov-2025 17:19:22 UTC]    Language field in books: YES
[24-Nov-2025 17:19:22 UTC]    Format field in books: YES
[24-Nov-2025 17:19:22 UTC]    Description field in categories: YES
[24-Nov-2025 17:19:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:19:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:19:22 UTC]    Is_active field in books: YES
[24-Nov-2025 17:19:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:19:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:19:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:19:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:19:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:19:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:19:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:19:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:19:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:19:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:19:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:19:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:19:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:19:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:19:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:19:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:19:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:19:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:19:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:19:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:19:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:19:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:19:46 UTC] 📊 Database Info:
[24-Nov-2025 17:19:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:19:46 UTC]    Books columns count: 45
[24-Nov-2025 17:19:46 UTC]    Categories columns count: 7
[24-Nov-2025 17:19:46 UTC]    Language field in books: YES
[24-Nov-2025 17:19:46 UTC]    Format field in books: YES
[24-Nov-2025 17:19:46 UTC]    Description field in categories: YES
[24-Nov-2025 17:19:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:19:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:19:46 UTC]    Is_active field in books: YES
[24-Nov-2025 17:19:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:19:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:19:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:19:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:19:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:19:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:19:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:19:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:19:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:19:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:19:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:19:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:19:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:19:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:19:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:19:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:19:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:19:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:19:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:19:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:19:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:19:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:19:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:19:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:19:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:19:46 UTC] 📊 Database Info:
[24-Nov-2025 17:19:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:19:46 UTC]    Books columns count: 45
[24-Nov-2025 17:19:46 UTC]    Categories columns count: 7
[24-Nov-2025 17:19:46 UTC]    Language field in books: YES
[24-Nov-2025 17:19:46 UTC]    Format field in books: YES
[24-Nov-2025 17:19:46 UTC]    Description field in categories: YES
[24-Nov-2025 17:19:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:19:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:19:46 UTC]    Is_active field in books: YES
[24-Nov-2025 17:19:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:19:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:19:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:19:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:19:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:19:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:19:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:19:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:19:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:19:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:19:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:19:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:19:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:19:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:19:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:19:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:19:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:19:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:19:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:19:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:19:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:19:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:19:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:19:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:19:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:19:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:19:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:19:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:19:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:19:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:19:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:19:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:19:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:19:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:19:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:19:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:19:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:19:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:19:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:19:56 UTC] 📊 Database Info:
[24-Nov-2025 17:19:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:19:56 UTC]    Books columns count: 45
[24-Nov-2025 17:19:56 UTC]    Categories columns count: 7
[24-Nov-2025 17:19:56 UTC]    Language field in books: YES
[24-Nov-2025 17:19:56 UTC]    Format field in books: YES
[24-Nov-2025 17:19:56 UTC]    Description field in categories: YES
[24-Nov-2025 17:19:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:19:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:19:56 UTC]    Is_active field in books: YES
[24-Nov-2025 17:19:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:19:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:19:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:19:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:19:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:19:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:19:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:19:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:19:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:19:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:19:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:19:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:19:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:19:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:19:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:19:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:19:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:19:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:19:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:20:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:20:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:20:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:20:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:20:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:20:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:20:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:20:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:20:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:20:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:20:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:20:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:20:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:20:04 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:20:04 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:20:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:20:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:20:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:20:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:20:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:20:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:20:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:20:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:20:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:20:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:20:04 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:20:04 UTC] 📊 Database Info:
[24-Nov-2025 17:20:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:20:04 UTC]    Books columns count: 45
[24-Nov-2025 17:20:04 UTC]    Categories columns count: 7
[24-Nov-2025 17:20:04 UTC]    Language field in books: YES
[24-Nov-2025 17:20:04 UTC]    Format field in books: YES
[24-Nov-2025 17:20:04 UTC]    Description field in categories: YES
[24-Nov-2025 17:20:04 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:20:04 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:20:04 UTC]    Is_active field in books: YES
[24-Nov-2025 17:20:04 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:20:04 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:20:04 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:20:04 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:20:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:20:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:20:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:20:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:21:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:21:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:21:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:21:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:21:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:21:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:21:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:21:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:21:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:21:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:21:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:21:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:21:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:21:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:21:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:21:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:21:11 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:21:11 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:21:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:21:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:21:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:21:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:21:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:21:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:21:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:21:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:21:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:21:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:21:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:21:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:21:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:21:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:21:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:21:11 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:21:11 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:21:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:21:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:21:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:21:11 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:21:11 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:21:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:21:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:21:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:21:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:21:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:21:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:21:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:21:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:21:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:21:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:21:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:21:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:21:11 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:21:11 UTC] 📊 Database Info:
[24-Nov-2025 17:21:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:21:11 UTC]    Books columns count: 45
[24-Nov-2025 17:21:11 UTC]    Categories columns count: 7
[24-Nov-2025 17:21:11 UTC]    Language field in books: YES
[24-Nov-2025 17:21:11 UTC]    Format field in books: YES
[24-Nov-2025 17:21:11 UTC]    Description field in categories: YES
[24-Nov-2025 17:21:11 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:21:11 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:21:11 UTC]    Is_active field in books: YES
[24-Nov-2025 17:21:11 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:21:11 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:21:11 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:21:11 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:21:11 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:21:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:21:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:21:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:21:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:21:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:21:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:21:11 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:21:11 UTC] 📊 Database Info:
[24-Nov-2025 17:21:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:21:11 UTC]    Books columns count: 45
[24-Nov-2025 17:21:11 UTC]    Categories columns count: 7
[24-Nov-2025 17:21:11 UTC]    Language field in books: YES
[24-Nov-2025 17:21:11 UTC]    Format field in books: YES
[24-Nov-2025 17:21:11 UTC]    Description field in categories: YES
[24-Nov-2025 17:21:11 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:21:11 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:21:11 UTC]    Is_active field in books: YES
[24-Nov-2025 17:21:11 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:21:11 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:21:11 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:21:11 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:21:11 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:21:11 UTC] 📊 Database Info:
[24-Nov-2025 17:21:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:21:11 UTC]    Books columns count: 45
[24-Nov-2025 17:21:11 UTC]    Categories columns count: 7
[24-Nov-2025 17:21:11 UTC]    Language field in books: YES
[24-Nov-2025 17:21:11 UTC]    Format field in books: YES
[24-Nov-2025 17:21:11 UTC]    Description field in categories: YES
[24-Nov-2025 17:21:11 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:21:11 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:21:11 UTC]    Is_active field in books: YES
[24-Nov-2025 17:21:11 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:21:11 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:21:11 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:21:11 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:21:11 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:21:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:21:11 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:21:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:21:11 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:21:11 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:21:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:21:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:21:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:21:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:21:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:21:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:21:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:21:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:21:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:21:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:21:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:21:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:21:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:21:18 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:21:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:21:18 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:21:18 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:21:18 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:21:18 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:21:18 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:21:18 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:21:18 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:21:18 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:21:18 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:21:18 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:21:18 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:21:18 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:21:18 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:21:18 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:21:18 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:21:18 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:21:18 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:21:18 UTC] 📊 Database Info:
[24-Nov-2025 17:21:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:21:18 UTC]    Books columns count: 45
[24-Nov-2025 17:21:18 UTC]    Categories columns count: 7
[24-Nov-2025 17:21:18 UTC]    Language field in books: YES
[24-Nov-2025 17:21:18 UTC]    Format field in books: YES
[24-Nov-2025 17:21:18 UTC]    Description field in categories: YES
[24-Nov-2025 17:21:18 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:21:18 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:21:18 UTC]    Is_active field in books: YES
[24-Nov-2025 17:21:18 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:21:18 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:21:18 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:21:18 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:21:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:21:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:21:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:21:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:21:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:21:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:21:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:21:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:21:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:21:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:21:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:21:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:21:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:21:18 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:21:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:24:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:24:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:24:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:24:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:24:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:24:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:24:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:24:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:24:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:24:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:24:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:24:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:24:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:24:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:24:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:24:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:24:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:24:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:24:20 UTC] 📊 Database Info:
[24-Nov-2025 17:24:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:24:20 UTC]    Books columns count: 45
[24-Nov-2025 17:24:20 UTC]    Categories columns count: 7
[24-Nov-2025 17:24:20 UTC]    Language field in books: YES
[24-Nov-2025 17:24:20 UTC]    Format field in books: YES
[24-Nov-2025 17:24:20 UTC]    Description field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Is_active field in books: YES
[24-Nov-2025 17:24:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:24:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:24:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:24:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:24:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:24:20 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:24:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:20 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:24:20 UTC] 📊 Database Info:
[24-Nov-2025 17:24:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:24:20 UTC]    Books columns count: 45
[24-Nov-2025 17:24:20 UTC]    Categories columns count: 7
[24-Nov-2025 17:24:20 UTC]    Language field in books: YES
[24-Nov-2025 17:24:20 UTC]    Format field in books: YES
[24-Nov-2025 17:24:20 UTC]    Description field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Is_active field in books: YES
[24-Nov-2025 17:24:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:24:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:24:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:24:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:24:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:24:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:24:20 UTC] 📊 Database Info:
[24-Nov-2025 17:24:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:24:20 UTC]    Books columns count: 45
[24-Nov-2025 17:24:20 UTC]    Categories columns count: 7
[24-Nov-2025 17:24:20 UTC]    Language field in books: YES
[24-Nov-2025 17:24:20 UTC]    Format field in books: YES
[24-Nov-2025 17:24:20 UTC]    Description field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Is_active field in books: YES
[24-Nov-2025 17:24:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:24:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:24:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:24:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:24:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:24:20 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:24:20 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:24:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:24:20 UTC] 📊 Database Info:
[24-Nov-2025 17:24:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:24:20 UTC]    Books columns count: 45
[24-Nov-2025 17:24:20 UTC]    Categories columns count: 7
[24-Nov-2025 17:24:20 UTC]    Language field in books: YES
[24-Nov-2025 17:24:20 UTC]    Format field in books: YES
[24-Nov-2025 17:24:20 UTC]    Description field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Is_active field in books: YES
[24-Nov-2025 17:24:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:24:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:24:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:24:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:24:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:24:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:24:20 UTC] 📊 Database Info:
[24-Nov-2025 17:24:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:24:20 UTC]    Books columns count: 45
[24-Nov-2025 17:24:20 UTC]    Categories columns count: 7
[24-Nov-2025 17:24:20 UTC]    Language field in books: YES
[24-Nov-2025 17:24:20 UTC]    Format field in books: YES
[24-Nov-2025 17:24:20 UTC]    Description field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Is_active field in books: YES
[24-Nov-2025 17:24:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:24:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:24:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:24:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:24:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:24:20 UTC] 📊 Database Info:
[24-Nov-2025 17:24:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:24:20 UTC]    Books columns count: 45
[24-Nov-2025 17:24:20 UTC]    Categories columns count: 7
[24-Nov-2025 17:24:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:20 UTC]    Language field in books: YES
[24-Nov-2025 17:24:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:24:20 UTC]    Format field in books: YES
[24-Nov-2025 17:24:20 UTC]    Description field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Is_active field in books: YES
[24-Nov-2025 17:24:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:24:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:24:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:24:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:24:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:24:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:24:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:24:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:24:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:24:20 UTC] 📊 Database Info:
[24-Nov-2025 17:24:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:24:20 UTC]    Books columns count: 45
[24-Nov-2025 17:24:20 UTC]    Categories columns count: 7
[24-Nov-2025 17:24:20 UTC]    Language field in books: YES
[24-Nov-2025 17:24:20 UTC]    Format field in books: YES
[24-Nov-2025 17:24:20 UTC]    Description field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:24:20 UTC]    Is_active field in books: YES
[24-Nov-2025 17:24:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:24:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:24:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:24:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:24:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:24:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:24:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:24:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:24:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:33 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:33 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:33 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:33 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:33 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:24:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:33 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:24:33 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:24:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:33 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:33 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:33 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:33 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:33 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:24:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:33 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:24:33 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:24:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:34 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:24:34 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:24:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:34 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:24:34 UTC] 📊 Database Info:
[24-Nov-2025 17:24:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:24:34 UTC]    Books columns count: 45
[24-Nov-2025 17:24:34 UTC]    Categories columns count: 7
[24-Nov-2025 17:24:34 UTC]    Language field in books: YES
[24-Nov-2025 17:24:34 UTC]    Format field in books: YES
[24-Nov-2025 17:24:34 UTC]    Description field in categories: YES
[24-Nov-2025 17:24:34 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:24:34 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:24:34 UTC]    Is_active field in books: YES
[24-Nov-2025 17:24:34 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:24:34 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:24:34 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:24:34 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:24:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:24:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:34 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:24:34 UTC] 📊 Database Info:
[24-Nov-2025 17:24:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:24:34 UTC]    Books columns count: 45
[24-Nov-2025 17:24:34 UTC]    Categories columns count: 7
[24-Nov-2025 17:24:34 UTC]    Language field in books: YES
[24-Nov-2025 17:24:34 UTC]    Format field in books: YES
[24-Nov-2025 17:24:34 UTC]    Description field in categories: YES
[24-Nov-2025 17:24:34 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:24:34 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:24:34 UTC]    Is_active field in books: YES
[24-Nov-2025 17:24:34 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:24:34 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:24:34 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:24:34 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:24:34 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:24:34 UTC] 📊 Database Info:
[24-Nov-2025 17:24:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:24:34 UTC]    Books columns count: 45
[24-Nov-2025 17:24:34 UTC]    Categories columns count: 7
[24-Nov-2025 17:24:34 UTC]    Language field in books: YES
[24-Nov-2025 17:24:34 UTC]    Format field in books: YES
[24-Nov-2025 17:24:34 UTC]    Description field in categories: YES
[24-Nov-2025 17:24:34 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:24:34 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:24:34 UTC]    Is_active field in books: YES
[24-Nov-2025 17:24:34 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:24:34 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:24:34 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:24:34 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:24:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:24:34 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:24:34 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:24:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:24:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:24:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:24:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:24:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:24:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:24:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:24:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:24:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:24:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:24:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:24:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:24:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:24:37 UTC] 📊 Database Info:
[24-Nov-2025 17:24:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:24:37 UTC]    Books columns count: 45
[24-Nov-2025 17:24:37 UTC]    Categories columns count: 7
[24-Nov-2025 17:24:37 UTC]    Language field in books: YES
[24-Nov-2025 17:24:37 UTC]    Format field in books: YES
[24-Nov-2025 17:24:37 UTC]    Description field in categories: YES
[24-Nov-2025 17:24:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:24:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:24:37 UTC]    Is_active field in books: YES
[24-Nov-2025 17:24:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:24:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:24:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:24:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:24:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:24:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:24:37 UTC] 📊 Database Info:
[24-Nov-2025 17:24:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:24:37 UTC]    Books columns count: 45
[24-Nov-2025 17:24:37 UTC]    Categories columns count: 7
[24-Nov-2025 17:24:37 UTC]    Language field in books: YES
[24-Nov-2025 17:24:37 UTC]    Format field in books: YES
[24-Nov-2025 17:24:37 UTC]    Description field in categories: YES
[24-Nov-2025 17:24:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:24:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:24:37 UTC]    Is_active field in books: YES
[24-Nov-2025 17:24:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:24:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:24:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:24:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:24:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:24:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:24:37 UTC] 📊 Database Info:
[24-Nov-2025 17:24:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:24:37 UTC]    Books columns count: 45
[24-Nov-2025 17:24:37 UTC]    Categories columns count: 7
[24-Nov-2025 17:24:37 UTC]    Language field in books: YES
[24-Nov-2025 17:24:37 UTC]    Format field in books: YES
[24-Nov-2025 17:24:37 UTC]    Description field in categories: YES
[24-Nov-2025 17:24:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:24:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:24:37 UTC]    Is_active field in books: YES
[24-Nov-2025 17:24:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:24:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:24:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:24:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:24:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:24:37 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:24:37 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:24:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:24:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:24:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:24:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:24:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:24:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:24:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:24:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:24:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:24:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:24:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:24:37 UTC] 📊 Database Info:
[24-Nov-2025 17:24:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:24:37 UTC]    Books columns count: 45
[24-Nov-2025 17:24:37 UTC]    Categories columns count: 7
[24-Nov-2025 17:24:37 UTC]    Language field in books: YES
[24-Nov-2025 17:24:37 UTC]    Format field in books: YES
[24-Nov-2025 17:24:37 UTC]    Description field in categories: YES
[24-Nov-2025 17:24:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:24:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:24:37 UTC]    Is_active field in books: YES
[24-Nov-2025 17:24:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:24:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:24:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:24:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:24:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:24:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:24:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:26:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:26:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:26:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:26:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:26:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:26:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:26:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:26:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:26:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:26:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:26:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:26:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:26:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:26:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:26:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:26:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:26:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:26:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:26:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:26:53 UTC] 📊 Database Info:
[24-Nov-2025 17:26:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:26:53 UTC]    Books columns count: 45
[24-Nov-2025 17:26:53 UTC]    Categories columns count: 7
[24-Nov-2025 17:26:53 UTC]    Language field in books: YES
[24-Nov-2025 17:26:53 UTC]    Format field in books: YES
[24-Nov-2025 17:26:53 UTC]    Description field in categories: YES
[24-Nov-2025 17:26:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:26:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:26:53 UTC]    Is_active field in books: YES
[24-Nov-2025 17:26:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:26:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:26:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:26:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:26:53 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:26:53 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:26:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:26:53 UTC] 📊 Database Info:
[24-Nov-2025 17:26:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:26:53 UTC]    Books columns count: 45
[24-Nov-2025 17:26:53 UTC]    Categories columns count: 7
[24-Nov-2025 17:26:53 UTC]    Language field in books: YES
[24-Nov-2025 17:26:53 UTC]    Format field in books: YES
[24-Nov-2025 17:26:53 UTC]    Description field in categories: YES
[24-Nov-2025 17:26:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:26:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:26:53 UTC]    Is_active field in books: YES
[24-Nov-2025 17:26:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:26:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:26:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:26:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:26:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:26:53 UTC] 📊 Database Info:
[24-Nov-2025 17:26:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:26:53 UTC]    Books columns count: 45
[24-Nov-2025 17:26:53 UTC]    Categories columns count: 7
[24-Nov-2025 17:26:53 UTC]    Language field in books: YES
[24-Nov-2025 17:26:53 UTC]    Format field in books: YES
[24-Nov-2025 17:26:53 UTC]    Description field in categories: YES
[24-Nov-2025 17:26:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:26:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:26:53 UTC]    Is_active field in books: YES
[24-Nov-2025 17:26:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:26:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:26:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:26:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:26:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:26:53 UTC] 📊 Database Info:
[24-Nov-2025 17:26:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:26:53 UTC]    Books columns count: 45
[24-Nov-2025 17:26:53 UTC]    Categories columns count: 7
[24-Nov-2025 17:26:53 UTC]    Language field in books: YES
[24-Nov-2025 17:26:53 UTC]    Format field in books: YES
[24-Nov-2025 17:26:53 UTC]    Description field in categories: YES
[24-Nov-2025 17:26:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:26:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:26:53 UTC]    Is_active field in books: YES
[24-Nov-2025 17:26:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:26:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:26:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:26:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:26:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:26:53 UTC] 📊 Database Info:
[24-Nov-2025 17:26:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:26:53 UTC]    Books columns count: 45
[24-Nov-2025 17:26:53 UTC]    Categories columns count: 7
[24-Nov-2025 17:26:53 UTC]    Language field in books: YES
[24-Nov-2025 17:26:53 UTC]    Format field in books: YES
[24-Nov-2025 17:26:53 UTC]    Description field in categories: YES
[24-Nov-2025 17:26:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:26:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:26:53 UTC]    Is_active field in books: YES
[24-Nov-2025 17:26:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:26:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:26:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:26:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:26:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:26:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:26:53 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:26:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:26:53 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:26:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:26:53 UTC] 📊 Database Info:
[24-Nov-2025 17:26:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:26:53 UTC]    Books columns count: 45
[24-Nov-2025 17:26:53 UTC]    Categories columns count: 7
[24-Nov-2025 17:26:53 UTC]    Language field in books: YES
[24-Nov-2025 17:26:53 UTC]    Format field in books: YES
[24-Nov-2025 17:26:53 UTC]    Description field in categories: YES
[24-Nov-2025 17:26:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:26:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:26:53 UTC]    Is_active field in books: YES
[24-Nov-2025 17:26:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:26:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:26:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:26:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:26:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:26:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:26:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:26:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:26:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:26:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:26:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:26:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:26:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:26:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:26:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:26:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:26:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:26:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:26:56 UTC] 📊 Database Info:
[24-Nov-2025 17:26:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:26:56 UTC]    Books columns count: 45
[24-Nov-2025 17:26:56 UTC]    Categories columns count: 7
[24-Nov-2025 17:26:56 UTC]    Language field in books: YES
[24-Nov-2025 17:26:56 UTC]    Format field in books: YES
[24-Nov-2025 17:26:56 UTC]    Description field in categories: YES
[24-Nov-2025 17:26:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:26:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:26:56 UTC]    Is_active field in books: YES
[24-Nov-2025 17:26:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:26:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:26:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:26:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:26:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:26:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:26:56 UTC] 📊 Database Info:
[24-Nov-2025 17:26:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:26:56 UTC]    Books columns count: 45
[24-Nov-2025 17:26:56 UTC]    Categories columns count: 7
[24-Nov-2025 17:26:56 UTC]    Language field in books: YES
[24-Nov-2025 17:26:56 UTC]    Format field in books: YES
[24-Nov-2025 17:26:56 UTC]    Description field in categories: YES
[24-Nov-2025 17:26:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:26:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:26:56 UTC]    Is_active field in books: YES
[24-Nov-2025 17:26:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:26:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:26:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:26:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:26:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:26:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:26:56 UTC] 📊 Database Info:
[24-Nov-2025 17:26:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:26:56 UTC]    Books columns count: 45
[24-Nov-2025 17:26:56 UTC]    Categories columns count: 7
[24-Nov-2025 17:26:56 UTC]    Language field in books: YES
[24-Nov-2025 17:26:56 UTC]    Format field in books: YES
[24-Nov-2025 17:26:56 UTC]    Description field in categories: YES
[24-Nov-2025 17:26:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:26:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:26:56 UTC]    Is_active field in books: YES
[24-Nov-2025 17:26:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:26:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:26:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:26:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:26:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:26:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:26:56 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:26:56 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:26:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:26:58 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:58 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:58 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:58 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:58 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:58 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:58 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:58 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:58 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:58 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:58 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:58 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:26:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:26:58 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:26:58 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:26:58 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:26:58 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:26:58 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:26:58 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:26:58 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:26:58 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:26:58 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:26:58 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:26:58 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:26:58 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:26:58 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:26:58 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:26:58 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:26:58 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:26:58 UTC] 📊 Database Info:
[24-Nov-2025 17:26:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:26:58 UTC]    Books columns count: 45
[24-Nov-2025 17:26:58 UTC]    Categories columns count: 7
[24-Nov-2025 17:26:58 UTC]    Language field in books: YES
[24-Nov-2025 17:26:58 UTC]    Format field in books: YES
[24-Nov-2025 17:26:58 UTC]    Description field in categories: YES
[24-Nov-2025 17:26:58 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:26:58 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:26:58 UTC]    Is_active field in books: YES
[24-Nov-2025 17:26:58 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:26:58 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:26:58 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:26:58 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:26:58 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:26:58 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:26:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:01 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:01 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:01 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:01 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:01 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:01 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:01 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:01 UTC] 📊 Database Info:
[24-Nov-2025 17:27:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:01 UTC]    Books columns count: 45
[24-Nov-2025 17:27:01 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:01 UTC]    Language field in books: YES
[24-Nov-2025 17:27:01 UTC]    Format field in books: YES
[24-Nov-2025 17:27:01 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:01 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:01 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:01 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:01 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:01 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:01 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:01 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:01 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:01 UTC] 📊 Database Info:
[24-Nov-2025 17:27:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:01 UTC]    Books columns count: 45
[24-Nov-2025 17:27:01 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:01 UTC]    Language field in books: YES
[24-Nov-2025 17:27:01 UTC]    Format field in books: YES
[24-Nov-2025 17:27:01 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:01 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:01 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:01 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:01 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:01 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:01 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:01 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:01 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:27:01 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:27:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:01 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:01 UTC] 📊 Database Info:
[24-Nov-2025 17:27:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:01 UTC]    Books columns count: 45
[24-Nov-2025 17:27:01 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:01 UTC]    Language field in books: YES
[24-Nov-2025 17:27:01 UTC]    Format field in books: YES
[24-Nov-2025 17:27:01 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:01 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:01 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:01 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:01 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:01 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:01 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:01 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:01 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:01 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:02 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:02 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:02 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:02 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:02 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:02 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:02 UTC] 📊 Database Info:
[24-Nov-2025 17:27:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:02 UTC]    Books columns count: 45
[24-Nov-2025 17:27:02 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:02 UTC]    Language field in books: YES
[24-Nov-2025 17:27:02 UTC]    Format field in books: YES
[24-Nov-2025 17:27:02 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:02 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:02 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:02 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:02 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:02 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:02 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:02 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:02 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:02 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:02 UTC] ?? GLOBAL AUTH UPDATE: Setting require_login_for_download to 1 for ALL books
[24-Nov-2025 17:27:02 UTC] ✅ Global auth update completed: 6 books updated
[24-Nov-2025 17:27:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:21 UTC] 📊 Database Info:
[24-Nov-2025 17:27:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:21 UTC]    Books columns count: 45
[24-Nov-2025 17:27:21 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:21 UTC]    Language field in books: YES
[24-Nov-2025 17:27:21 UTC]    Format field in books: YES
[24-Nov-2025 17:27:21 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:21 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:21 UTC] 📊 Database Info:
[24-Nov-2025 17:27:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:21 UTC]    Books columns count: 45
[24-Nov-2025 17:27:21 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:21 UTC]    Language field in books: YES
[24-Nov-2025 17:27:21 UTC]    Format field in books: YES
[24-Nov-2025 17:27:21 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:21 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:21 UTC] 📊 Database Info:
[24-Nov-2025 17:27:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:21 UTC]    Books columns count: 45
[24-Nov-2025 17:27:21 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:21 UTC]    Language field in books: YES
[24-Nov-2025 17:27:21 UTC]    Format field in books: YES
[24-Nov-2025 17:27:21 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:21 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:21 UTC] ?? GLOBAL AUTH UPDATE: Setting require_login_for_download to 1 for ALL books
[24-Nov-2025 17:27:21 UTC] ✅ Global auth update completed: 0 books updated
[24-Nov-2025 17:27:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:22 UTC] 📊 Database Info:
[24-Nov-2025 17:27:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:22 UTC]    Books columns count: 45
[24-Nov-2025 17:27:22 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:22 UTC]    Language field in books: YES
[24-Nov-2025 17:27:22 UTC]    Format field in books: YES
[24-Nov-2025 17:27:22 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:22 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:28 UTC] 📊 Database Info:
[24-Nov-2025 17:27:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:28 UTC]    Books columns count: 45
[24-Nov-2025 17:27:28 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:28 UTC]    Language field in books: YES
[24-Nov-2025 17:27:28 UTC]    Format field in books: YES
[24-Nov-2025 17:27:28 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:28 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:30 UTC] 📊 Database Info:
[24-Nov-2025 17:27:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:30 UTC]    Books columns count: 45
[24-Nov-2025 17:27:30 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:30 UTC]    Language field in books: YES
[24-Nov-2025 17:27:30 UTC]    Format field in books: YES
[24-Nov-2025 17:27:30 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:30 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:30 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 17:27:30 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 17:27:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:30 UTC] 📊 Database Info:
[24-Nov-2025 17:27:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:30 UTC]    Books columns count: 45
[24-Nov-2025 17:27:30 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:30 UTC]    Language field in books: YES
[24-Nov-2025 17:27:30 UTC]    Format field in books: YES
[24-Nov-2025 17:27:30 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:30 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 17:27:30 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 17:27:30 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 17:27:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:30 UTC] 📊 Database Info:
[24-Nov-2025 17:27:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:30 UTC]    Books columns count: 45
[24-Nov-2025 17:27:30 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:30 UTC]    Language field in books: YES
[24-Nov-2025 17:27:30 UTC]    Format field in books: YES
[24-Nov-2025 17:27:30 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:30 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:48 UTC] 📊 Database Info:
[24-Nov-2025 17:27:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:48 UTC]    Books columns count: 45
[24-Nov-2025 17:27:48 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:48 UTC]    Language field in books: YES
[24-Nov-2025 17:27:48 UTC]    Format field in books: YES
[24-Nov-2025 17:27:48 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:48 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:48 UTC] 📊 Database Info:
[24-Nov-2025 17:27:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:48 UTC]    Books columns count: 45
[24-Nov-2025 17:27:48 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:48 UTC]    Language field in books: YES
[24-Nov-2025 17:27:48 UTC]    Format field in books: YES
[24-Nov-2025 17:27:48 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:48 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:48 UTC] 📊 Database Info:
[24-Nov-2025 17:27:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:48 UTC]    Books columns count: 45
[24-Nov-2025 17:27:48 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:48 UTC]    Language field in books: YES
[24-Nov-2025 17:27:48 UTC]    Format field in books: YES
[24-Nov-2025 17:27:48 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:48 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:48 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:27:48 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:27:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:54 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:54 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:55 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:55 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:55 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:55 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:55 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:55 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:55 UTC] 📊 Database Info:
[24-Nov-2025 17:27:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:55 UTC]    Books columns count: 45
[24-Nov-2025 17:27:55 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:55 UTC]    Language field in books: YES
[24-Nov-2025 17:27:55 UTC]    Format field in books: YES
[24-Nov-2025 17:27:55 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:55 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:55 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:55 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:55 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:55 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:55 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:55 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:55 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:55 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:57 UTC] 📊 Database Info:
[24-Nov-2025 17:27:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:57 UTC]    Books columns count: 45
[24-Nov-2025 17:27:57 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:57 UTC]    Language field in books: YES
[24-Nov-2025 17:27:57 UTC]    Format field in books: YES
[24-Nov-2025 17:27:57 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:57 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:57 UTC] ?? GLOBAL AUTH UPDATE: Setting require_login_for_download to 0 for ALL books
[24-Nov-2025 17:27:57 UTC] ✅ Global auth update completed: 7 books updated
[24-Nov-2025 17:27:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:58 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:58 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:58 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:58 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:58 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:58 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:58 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:58 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:58 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:58 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:58 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:58 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:58 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:58 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:58 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:58 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:58 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:58 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:58 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:58 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:58 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:58 UTC] 📊 Database Info:
[24-Nov-2025 17:27:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:58 UTC]    Books columns count: 45
[24-Nov-2025 17:27:58 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:58 UTC]    Language field in books: YES
[24-Nov-2025 17:27:58 UTC]    Format field in books: YES
[24-Nov-2025 17:27:58 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:58 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:58 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:58 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:58 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:58 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:58 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:58 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:58 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:58 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:27:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:27:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:27:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:27:59 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:27:59 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:27:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:27:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:27:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:27:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:27:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:27:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:27:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:27:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:27:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:27:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:27:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:27:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:27:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:27:59 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:27:59 UTC] 📊 Database Info:
[24-Nov-2025 17:27:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:27:59 UTC]    Books columns count: 45
[24-Nov-2025 17:27:59 UTC]    Categories columns count: 7
[24-Nov-2025 17:27:59 UTC]    Language field in books: YES
[24-Nov-2025 17:27:59 UTC]    Format field in books: YES
[24-Nov-2025 17:27:59 UTC]    Description field in categories: YES
[24-Nov-2025 17:27:59 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:27:59 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:27:59 UTC]    Is_active field in books: YES
[24-Nov-2025 17:27:59 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:27:59 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:27:59 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:27:59 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:27:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:27:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:27:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:27:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:10 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:10 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:10 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:10 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:10 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:10 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:10 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:10 UTC] 📊 Database Info:
[24-Nov-2025 17:28:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:10 UTC]    Books columns count: 45
[24-Nov-2025 17:28:10 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:10 UTC]    Language field in books: YES
[24-Nov-2025 17:28:10 UTC]    Format field in books: YES
[24-Nov-2025 17:28:10 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:10 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:10 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:10 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:10 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:10 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:10 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:10 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:10 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:10 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:28:10 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:28:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:10 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:10 UTC] 📊 Database Info:
[24-Nov-2025 17:28:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:10 UTC]    Books columns count: 45
[24-Nov-2025 17:28:10 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:10 UTC]    Language field in books: YES
[24-Nov-2025 17:28:10 UTC]    Format field in books: YES
[24-Nov-2025 17:28:10 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:10 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:10 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:10 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:10 UTC] 📊 Database Info:
[24-Nov-2025 17:28:10 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:10 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:10 UTC]    Books columns count: 45
[24-Nov-2025 17:28:10 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:10 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:10 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:10 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:10 UTC]    Language field in books: YES
[24-Nov-2025 17:28:10 UTC]    Format field in books: YES
[24-Nov-2025 17:28:10 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:10 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:10 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:10 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:10 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:10 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:10 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:10 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:10 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:10 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:13 UTC] 📊 Database Info:
[24-Nov-2025 17:28:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:13 UTC]    Books columns count: 45
[24-Nov-2025 17:28:13 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:13 UTC]    Language field in books: YES
[24-Nov-2025 17:28:13 UTC]    Format field in books: YES
[24-Nov-2025 17:28:13 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:13 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:13 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:13 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:49 UTC] 📊 Database Info:
[24-Nov-2025 17:28:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:49 UTC]    Books columns count: 45
[24-Nov-2025 17:28:49 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:49 UTC]    Language field in books: YES
[24-Nov-2025 17:28:49 UTC]    Format field in books: YES
[24-Nov-2025 17:28:49 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:49 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:49 UTC] 📊 Database Info:
[24-Nov-2025 17:28:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:49 UTC]    Books columns count: 45
[24-Nov-2025 17:28:49 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:49 UTC]    Language field in books: YES
[24-Nov-2025 17:28:49 UTC]    Format field in books: YES
[24-Nov-2025 17:28:49 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:49 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:49 UTC] 📊 Database Info:
[24-Nov-2025 17:28:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:49 UTC]    Books columns count: 45
[24-Nov-2025 17:28:49 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:49 UTC]    Language field in books: YES
[24-Nov-2025 17:28:49 UTC]    Format field in books: YES
[24-Nov-2025 17:28:49 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:49 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:49 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:28:49 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:28:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:49 UTC] 📊 Database Info:
[24-Nov-2025 17:28:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:49 UTC]    Books columns count: 45
[24-Nov-2025 17:28:49 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:49 UTC]    Language field in books: YES
[24-Nov-2025 17:28:49 UTC]    Format field in books: YES
[24-Nov-2025 17:28:49 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:49 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:51 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:51 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:51 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:51 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:51 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:51 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:51 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:51 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:51 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:51 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:51 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:51 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:51 UTC] 📊 Database Info:
[24-Nov-2025 17:28:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:51 UTC]    Books columns count: 45
[24-Nov-2025 17:28:51 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:51 UTC]    Language field in books: YES
[24-Nov-2025 17:28:51 UTC]    Format field in books: YES
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:51 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:51 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:51 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:51 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:51 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:51 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:51 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:51 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:51 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:51 UTC] 📊 Database Info:
[24-Nov-2025 17:28:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:51 UTC]    Books columns count: 45
[24-Nov-2025 17:28:51 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:51 UTC]    Language field in books: YES
[24-Nov-2025 17:28:51 UTC]    Format field in books: YES
[24-Nov-2025 17:28:51 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:51 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:51 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:51 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:51 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:51 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:51 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:51 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:51 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:28:51 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:28:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:51 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:51 UTC] 📊 Database Info:
[24-Nov-2025 17:28:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:51 UTC]    Books columns count: 45
[24-Nov-2025 17:28:51 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:51 UTC]    Language field in books: YES
[24-Nov-2025 17:28:51 UTC]    Format field in books: YES
[24-Nov-2025 17:28:51 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:51 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:51 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:51 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:51 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:51 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:51 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:51 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:51 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:28:51 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:28:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:51 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:51 UTC] 📊 Database Info:
[24-Nov-2025 17:28:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:51 UTC]    Books columns count: 45
[24-Nov-2025 17:28:51 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:51 UTC]    Language field in books: YES
[24-Nov-2025 17:28:51 UTC]    Format field in books: YES
[24-Nov-2025 17:28:51 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:51 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:51 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:51 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:51 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:51 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:51 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:51 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:51 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:51 UTC] 📊 Database Info:
[24-Nov-2025 17:28:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:51 UTC]    Books columns count: 45
[24-Nov-2025 17:28:51 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:51 UTC]    Language field in books: YES
[24-Nov-2025 17:28:51 UTC]    Format field in books: YES
[24-Nov-2025 17:28:51 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:51 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:51 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:51 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:51 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:51 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:51 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:51 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:51 UTC] 📊 Database Info:
[24-Nov-2025 17:28:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:51 UTC]    Books columns count: 45
[24-Nov-2025 17:28:51 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:51 UTC]    Language field in books: YES
[24-Nov-2025 17:28:51 UTC]    Format field in books: YES
[24-Nov-2025 17:28:51 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:51 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:51 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:51 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:51 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:51 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:51 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:51 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:55 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:55 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:55 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:55 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:55 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:55 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:55 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:55 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:55 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:55 UTC] 📊 Database Info:
[24-Nov-2025 17:28:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:55 UTC]    Books columns count: 45
[24-Nov-2025 17:28:55 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:55 UTC]    Language field in books: YES
[24-Nov-2025 17:28:55 UTC]    Format field in books: YES
[24-Nov-2025 17:28:55 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:55 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:55 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:55 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:55 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:55 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:55 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:55 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:55 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:55 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:55 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:55 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:55 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:55 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:55 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:55 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:55 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:55 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:55 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:55 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:55 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:55 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:55 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:55 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:55 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:55 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:55 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:55 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:55 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:55 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:55 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:55 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:55 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:55 UTC] 📊 Database Info:
[24-Nov-2025 17:28:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:55 UTC]    Books columns count: 45
[24-Nov-2025 17:28:55 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:55 UTC]    Language field in books: YES
[24-Nov-2025 17:28:55 UTC]    Format field in books: YES
[24-Nov-2025 17:28:55 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:55 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:55 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:55 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:55 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:55 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:55 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:55 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:55 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:55 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:55 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:55 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:55 UTC] 📊 Database Info:
[24-Nov-2025 17:28:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:55 UTC]    Books columns count: 45
[24-Nov-2025 17:28:55 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:55 UTC]    Language field in books: YES
[24-Nov-2025 17:28:55 UTC]    Format field in books: YES
[24-Nov-2025 17:28:55 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:55 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:55 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:55 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:55 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:55 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:55 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:55 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:55 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:55 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:28:55 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:28:55 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:55 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:55 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:55 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:55 UTC] 📊 Database Info:
[24-Nov-2025 17:28:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:55 UTC]    Books columns count: 45
[24-Nov-2025 17:28:55 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:55 UTC]    Language field in books: YES
[24-Nov-2025 17:28:55 UTC]    Format field in books: YES
[24-Nov-2025 17:28:55 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:55 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:55 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:55 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:55 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:55 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:55 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:55 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:55 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:55 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:28:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:28:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:57 UTC] 📊 Database Info:
[24-Nov-2025 17:28:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:57 UTC]    Books columns count: 45
[24-Nov-2025 17:28:57 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:57 UTC]    Language field in books: YES
[24-Nov-2025 17:28:57 UTC]    Format field in books: YES
[24-Nov-2025 17:28:57 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:57 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:28:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:28:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:57 UTC] 📊 Database Info:
[24-Nov-2025 17:28:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:57 UTC]    Books columns count: 45
[24-Nov-2025 17:28:57 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:57 UTC]    Language field in books: YES
[24-Nov-2025 17:28:57 UTC]    Format field in books: YES
[24-Nov-2025 17:28:57 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:57 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:28:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:28:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:28:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:57 UTC] 📊 Database Info:
[24-Nov-2025 17:28:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:57 UTC]    Books columns count: 45
[24-Nov-2025 17:28:57 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:57 UTC]    Language field in books: YES
[24-Nov-2025 17:28:57 UTC]    Format field in books: YES
[24-Nov-2025 17:28:57 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:57 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:57 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:28:57 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:28:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:28:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:57 UTC] 📊 Database Info:
[24-Nov-2025 17:28:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:57 UTC]    Books columns count: 45
[24-Nov-2025 17:28:57 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:57 UTC]    Language field in books: YES
[24-Nov-2025 17:28:57 UTC]    Format field in books: YES
[24-Nov-2025 17:28:57 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:57 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:57 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:28:57 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:28:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:28:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:57 UTC] 📊 Database Info:
[24-Nov-2025 17:28:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:57 UTC]    Books columns count: 45
[24-Nov-2025 17:28:57 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:57 UTC]    Language field in books: YES
[24-Nov-2025 17:28:57 UTC]    Format field in books: YES
[24-Nov-2025 17:28:57 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:57 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:28:57 UTC] 📊 Database Info:
[24-Nov-2025 17:28:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:28:57 UTC]    Books columns count: 45
[24-Nov-2025 17:28:57 UTC]    Categories columns count: 7
[24-Nov-2025 17:28:57 UTC]    Language field in books: YES
[24-Nov-2025 17:28:57 UTC]    Format field in books: YES
[24-Nov-2025 17:28:57 UTC]    Description field in categories: YES
[24-Nov-2025 17:28:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:28:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:28:57 UTC]    Is_active field in books: YES
[24-Nov-2025 17:28:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:28:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:28:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:28:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:28:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:28:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:28:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:30:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:30:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:30:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:30:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:30:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:30:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:30:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:30:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:30:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:30:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:30:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:30:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:30:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:30:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:30:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:30:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:30:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:30:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:30:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:30:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:30:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:30:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:30:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:30:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:30:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:30:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:30:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:30:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:30:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:30:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:30:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:30:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:30:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:30:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:30:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:30:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:30:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:30:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:30:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:30:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:30:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:30:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:30:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:30:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:30:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:30:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:30:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:30:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:30:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:30:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:30:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:30:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:30:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:30:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:30:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:30:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:30:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:30:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:30:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:30:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:30:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:30:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:30:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:30:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:30:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:30:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:30:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:30:21 UTC] 📊 Database Info:
[24-Nov-2025 17:30:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:30:21 UTC]    Books columns count: 45
[24-Nov-2025 17:30:21 UTC]    Categories columns count: 7
[24-Nov-2025 17:30:21 UTC]    Language field in books: YES
[24-Nov-2025 17:30:21 UTC]    Format field in books: YES
[24-Nov-2025 17:30:21 UTC]    Description field in categories: YES
[24-Nov-2025 17:30:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:30:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:30:21 UTC]    Is_active field in books: YES
[24-Nov-2025 17:30:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:30:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:30:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:30:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:30:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:30:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:30:21 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:30:21 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:30:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:30:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:30:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:30:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:30:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:30:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:30:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:30:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:30:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:30:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:30:21 UTC] 📊 Database Info:
[24-Nov-2025 17:30:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:30:21 UTC]    Books columns count: 45
[24-Nov-2025 17:30:21 UTC]    Categories columns count: 7
[24-Nov-2025 17:30:21 UTC]    Language field in books: YES
[24-Nov-2025 17:30:21 UTC]    Format field in books: YES
[24-Nov-2025 17:30:21 UTC]    Description field in categories: YES
[24-Nov-2025 17:30:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:30:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:30:21 UTC]    Is_active field in books: YES
[24-Nov-2025 17:30:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:30:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:30:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:30:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:30:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:30:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:30:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:30:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:30:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:30:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:30:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:30:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:30:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:30:21 UTC] 📊 Database Info:
[24-Nov-2025 17:30:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:30:21 UTC]    Books columns count: 45
[24-Nov-2025 17:30:21 UTC]    Categories columns count: 7
[24-Nov-2025 17:30:21 UTC]    Language field in books: YES
[24-Nov-2025 17:30:21 UTC]    Format field in books: YES
[24-Nov-2025 17:30:21 UTC]    Description field in categories: YES
[24-Nov-2025 17:30:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:30:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:30:21 UTC]    Is_active field in books: YES
[24-Nov-2025 17:30:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:30:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:30:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:30:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:30:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:30:21 UTC] 📊 Database Info:
[24-Nov-2025 17:30:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:30:21 UTC]    Books columns count: 45
[24-Nov-2025 17:30:21 UTC]    Categories columns count: 7
[24-Nov-2025 17:30:21 UTC]    Language field in books: YES
[24-Nov-2025 17:30:21 UTC]    Format field in books: YES
[24-Nov-2025 17:30:21 UTC]    Description field in categories: YES
[24-Nov-2025 17:30:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:30:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:30:21 UTC]    Is_active field in books: YES
[24-Nov-2025 17:30:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:30:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:30:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:30:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:30:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:30:21 UTC] 📊 Database Info:
[24-Nov-2025 17:30:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:30:21 UTC]    Books columns count: 45
[24-Nov-2025 17:30:21 UTC]    Categories columns count: 7
[24-Nov-2025 17:30:21 UTC]    Language field in books: YES
[24-Nov-2025 17:30:21 UTC]    Format field in books: YES
[24-Nov-2025 17:30:21 UTC]    Description field in categories: YES
[24-Nov-2025 17:30:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:30:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:30:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:30:21 UTC]    Is_active field in books: YES
[24-Nov-2025 17:30:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:30:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:30:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:30:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:30:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:30:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:30:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:30:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:30:21 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:30:21 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:30:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:30:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:30:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:30:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:30:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:30:21 UTC] 📊 Database Info:
[24-Nov-2025 17:30:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:30:21 UTC]    Books columns count: 45
[24-Nov-2025 17:30:21 UTC]    Categories columns count: 7
[24-Nov-2025 17:30:21 UTC]    Language field in books: YES
[24-Nov-2025 17:30:21 UTC]    Format field in books: YES
[24-Nov-2025 17:30:21 UTC]    Description field in categories: YES
[24-Nov-2025 17:30:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:30:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:30:21 UTC]    Is_active field in books: YES
[24-Nov-2025 17:30:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:30:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:30:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:30:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:30:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:30:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:30:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:30:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:30:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:30:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:30:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:30:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:30:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:30:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:30:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:30:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:30:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:30:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:30:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:30:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:30:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:30:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:30:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:30:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:30:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:30:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:30:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:30:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:30:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:30:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:30:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:30:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:30:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:30:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:30:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:30:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:30:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:30:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:30:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:30:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:30:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:30:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:30:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:30:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:30:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:30:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:30:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:30:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:30:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:30:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:30:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:30:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:30:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:30:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:30:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:30:48 UTC] 📊 Database Info:
[24-Nov-2025 17:30:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:30:48 UTC]    Books columns count: 45
[24-Nov-2025 17:30:48 UTC]    Categories columns count: 7
[24-Nov-2025 17:30:48 UTC]    Language field in books: YES
[24-Nov-2025 17:30:48 UTC]    Format field in books: YES
[24-Nov-2025 17:30:48 UTC]    Description field in categories: YES
[24-Nov-2025 17:30:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:30:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:30:48 UTC]    Is_active field in books: YES
[24-Nov-2025 17:30:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:30:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:30:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:30:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:30:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:30:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:30:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:30:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:30:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:30:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:30:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:30:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:30:48 UTC] 📊 Database Info:
[24-Nov-2025 17:30:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:30:48 UTC]    Books columns count: 45
[24-Nov-2025 17:30:48 UTC]    Categories columns count: 7
[24-Nov-2025 17:30:48 UTC]    Language field in books: YES
[24-Nov-2025 17:30:48 UTC]    Format field in books: YES
[24-Nov-2025 17:30:48 UTC]    Description field in categories: YES
[24-Nov-2025 17:30:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:30:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:30:48 UTC]    Is_active field in books: YES
[24-Nov-2025 17:30:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:30:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:30:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:30:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:30:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:30:48 UTC] 📊 Database Info:
[24-Nov-2025 17:30:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:30:48 UTC]    Books columns count: 45
[24-Nov-2025 17:30:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:30:48 UTC]    Categories columns count: 7
[24-Nov-2025 17:30:48 UTC]    Language field in books: YES
[24-Nov-2025 17:30:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:30:48 UTC]    Format field in books: YES
[24-Nov-2025 17:30:48 UTC]    Description field in categories: YES
[24-Nov-2025 17:30:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:30:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:30:48 UTC]    Is_active field in books: YES
[24-Nov-2025 17:30:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:30:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:30:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:30:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:30:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:30:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:30:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:30:48 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:30:48 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:31:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:23 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:23 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:23 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:23 UTC] 📊 Database Info:
[24-Nov-2025 17:31:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:23 UTC]    Books columns count: 45
[24-Nov-2025 17:31:23 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:23 UTC]    Language field in books: YES
[24-Nov-2025 17:31:23 UTC]    Format field in books: YES
[24-Nov-2025 17:31:23 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:23 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:23 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:23 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:23 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:23 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:23 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:23 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:23 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:23 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:23 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:23 UTC] 📊 Database Info:
[24-Nov-2025 17:31:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:23 UTC]    Books columns count: 45
[24-Nov-2025 17:31:23 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:23 UTC]    Language field in books: YES
[24-Nov-2025 17:31:23 UTC]    Format field in books: YES
[24-Nov-2025 17:31:23 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:23 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:23 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:23 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:23 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:23 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:23 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:23 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:24 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:24 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:24 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:24 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:24 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:24 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:24 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:24 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:24 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:24 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:24 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:24 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:24 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:24 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:24 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:24 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:24 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:24 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:24 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:24 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:24 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:24 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:24 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:24 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:24 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:24 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:24 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:24 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:24 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:24 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:24 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:24 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:24 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:24 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:24 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:24 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:24 UTC] 📊 Database Info:
[24-Nov-2025 17:31:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:24 UTC]    Books columns count: 45
[24-Nov-2025 17:31:24 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:24 UTC]    Language field in books: YES
[24-Nov-2025 17:31:24 UTC]    Format field in books: YES
[24-Nov-2025 17:31:24 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:24 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:24 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:24 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:24 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:24 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:24 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:24 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:24 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:24 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:24 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:24 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:24 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:24 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:24 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:24 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:24 UTC] 📊 Database Info:
[24-Nov-2025 17:31:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:24 UTC]    Books columns count: 45
[24-Nov-2025 17:31:24 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:24 UTC]    Language field in books: YES
[24-Nov-2025 17:31:24 UTC]    Format field in books: YES
[24-Nov-2025 17:31:24 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:24 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:24 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:24 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:24 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:24 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:24 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:24 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:24 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:24 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:31:24 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:31:24 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:24 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:24 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:24 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:24 UTC] 📊 Database Info:
[24-Nov-2025 17:31:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:24 UTC]    Books columns count: 45
[24-Nov-2025 17:31:24 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:24 UTC]    Language field in books: YES
[24-Nov-2025 17:31:24 UTC]    Format field in books: YES
[24-Nov-2025 17:31:24 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:24 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:24 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:24 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:24 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:24 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:24 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:24 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:24 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:24 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:25 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:25 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:25 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:25 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:25 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:25 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:25 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:25 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:25 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:25 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:25 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:25 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:25 UTC] 📊 Database Info:
[24-Nov-2025 17:31:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:25 UTC]    Books columns count: 45
[24-Nov-2025 17:31:25 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:25 UTC]    Language field in books: YES
[24-Nov-2025 17:31:25 UTC]    Format field in books: YES
[24-Nov-2025 17:31:25 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:25 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:25 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:25 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:25 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:25 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:25 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:25 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:25 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:25 UTC] 📊 Database Info:
[24-Nov-2025 17:31:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:25 UTC]    Books columns count: 45
[24-Nov-2025 17:31:25 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:25 UTC]    Language field in books: YES
[24-Nov-2025 17:31:25 UTC]    Format field in books: YES
[24-Nov-2025 17:31:25 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:25 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:25 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:25 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:25 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:25 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:25 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:25 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:25 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:31:25 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:31:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:25 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:25 UTC] 📊 Database Info:
[24-Nov-2025 17:31:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:25 UTC]    Books columns count: 45
[24-Nov-2025 17:31:25 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:25 UTC]    Language field in books: YES
[24-Nov-2025 17:31:25 UTC]    Format field in books: YES
[24-Nov-2025 17:31:25 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:25 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:25 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:25 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:25 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:25 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:25 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:25 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:25 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:25 UTC] 📊 Database Info:
[24-Nov-2025 17:31:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:25 UTC]    Books columns count: 45
[24-Nov-2025 17:31:25 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:25 UTC]    Language field in books: YES
[24-Nov-2025 17:31:25 UTC]    Format field in books: YES
[24-Nov-2025 17:31:25 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:25 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:25 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:25 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:25 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:25 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:25 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:25 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:25 UTC] 📊 Database Info:
[24-Nov-2025 17:31:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:25 UTC]    Books columns count: 45
[24-Nov-2025 17:31:25 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:25 UTC]    Language field in books: YES
[24-Nov-2025 17:31:25 UTC]    Format field in books: YES
[24-Nov-2025 17:31:25 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:25 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:25 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:25 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:25 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:25 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:25 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:25 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:25 UTC] 📊 Database Info:
[24-Nov-2025 17:31:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:25 UTC]    Books columns count: 45
[24-Nov-2025 17:31:25 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:25 UTC]    Language field in books: YES
[24-Nov-2025 17:31:25 UTC]    Format field in books: YES
[24-Nov-2025 17:31:25 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:25 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:25 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:25 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:25 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:25 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:25 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:25 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:25 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:25 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:32 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:32 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:32 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:32 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:32 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:32 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:32 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:32 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:32 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:32 UTC] 📊 Database Info:
[24-Nov-2025 17:31:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:32 UTC]    Books columns count: 45
[24-Nov-2025 17:31:32 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:32 UTC]    Language field in books: YES
[24-Nov-2025 17:31:32 UTC]    Format field in books: YES
[24-Nov-2025 17:31:32 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:32 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:32 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:32 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:32 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:32 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:32 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:32 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:32 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:32 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:32 UTC] 📊 Database Info:
[24-Nov-2025 17:31:32 UTC] 📊 Database Info:
[24-Nov-2025 17:31:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:32 UTC]    Books columns count: 45
[24-Nov-2025 17:31:32 UTC]    Books columns count: 45
[24-Nov-2025 17:31:32 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:32 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:32 UTC]    Language field in books: YES
[24-Nov-2025 17:31:32 UTC]    Language field in books: YES
[24-Nov-2025 17:31:32 UTC]    Format field in books: YES
[24-Nov-2025 17:31:32 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:32 UTC]    Format field in books: YES
[24-Nov-2025 17:31:32 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:32 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:32 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:32 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:32 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:32 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:32 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:32 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:32 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:32 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:32 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:32 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:32 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:32 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:32 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:32 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:31:32 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:31:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:32 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:32 UTC] 📊 Database Info:
[24-Nov-2025 17:31:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:32 UTC]    Books columns count: 45
[24-Nov-2025 17:31:32 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:32 UTC]    Language field in books: YES
[24-Nov-2025 17:31:32 UTC]    Format field in books: YES
[24-Nov-2025 17:31:32 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:32 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:32 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:32 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:32 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:32 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:32 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:32 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:36 UTC] 📊 Database Info:
[24-Nov-2025 17:31:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:36 UTC]    Books columns count: 45
[24-Nov-2025 17:31:36 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:36 UTC]    Language field in books: YES
[24-Nov-2025 17:31:36 UTC]    Format field in books: YES
[24-Nov-2025 17:31:36 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:36 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:36 UTC] 📊 Database Info:
[24-Nov-2025 17:31:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:36 UTC]    Books columns count: 45
[24-Nov-2025 17:31:36 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:36 UTC]    Language field in books: YES
[24-Nov-2025 17:31:36 UTC]    Format field in books: YES
[24-Nov-2025 17:31:36 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:36 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:36 UTC] 📊 Database Info:
[24-Nov-2025 17:31:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:36 UTC]    Books columns count: 45
[24-Nov-2025 17:31:36 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:36 UTC]    Language field in books: YES
[24-Nov-2025 17:31:36 UTC]    Format field in books: YES
[24-Nov-2025 17:31:36 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:36 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:36 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:31:36 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:31:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:36 UTC] 📊 Database Info:
[24-Nov-2025 17:31:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:36 UTC]    Books columns count: 45
[24-Nov-2025 17:31:36 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:36 UTC]    Language field in books: YES
[24-Nov-2025 17:31:36 UTC]    Format field in books: YES
[24-Nov-2025 17:31:36 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:36 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:36 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:31:36 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:31:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:36 UTC] 📊 Database Info:
[24-Nov-2025 17:31:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:36 UTC]    Books columns count: 45
[24-Nov-2025 17:31:36 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:36 UTC]    Language field in books: YES
[24-Nov-2025 17:31:36 UTC]    Format field in books: YES
[24-Nov-2025 17:31:36 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:36 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:36 UTC] 📊 Database Info:
[24-Nov-2025 17:31:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:36 UTC]    Books columns count: 45
[24-Nov-2025 17:31:36 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:36 UTC]    Language field in books: YES
[24-Nov-2025 17:31:36 UTC]    Format field in books: YES
[24-Nov-2025 17:31:36 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:36 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:37 UTC] 📊 Database Info:
[24-Nov-2025 17:31:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:37 UTC]    Books columns count: 45
[24-Nov-2025 17:31:37 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:37 UTC]    Language field in books: YES
[24-Nov-2025 17:31:37 UTC]    Format field in books: YES
[24-Nov-2025 17:31:37 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:37 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:37 UTC] 📊 Database Info:
[24-Nov-2025 17:31:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:37 UTC]    Books columns count: 45
[24-Nov-2025 17:31:37 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:37 UTC]    Language field in books: YES
[24-Nov-2025 17:31:37 UTC]    Format field in books: YES
[24-Nov-2025 17:31:37 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:37 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:37 UTC] 📊 Database Info:
[24-Nov-2025 17:31:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:37 UTC]    Books columns count: 45
[24-Nov-2025 17:31:37 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:37 UTC]    Language field in books: YES
[24-Nov-2025 17:31:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:37 UTC]    Format field in books: YES
[24-Nov-2025 17:31:37 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:37 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:37 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:31:37 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:31:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:48 UTC] 📊 Database Info:
[24-Nov-2025 17:31:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:48 UTC]    Books columns count: 45
[24-Nov-2025 17:31:48 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:48 UTC]    Language field in books: YES
[24-Nov-2025 17:31:48 UTC]    Format field in books: YES
[24-Nov-2025 17:31:48 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:48 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:48 UTC] 📊 Database Info:
[24-Nov-2025 17:31:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:48 UTC]    Books columns count: 45
[24-Nov-2025 17:31:48 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:48 UTC]    Language field in books: YES
[24-Nov-2025 17:31:48 UTC]    Format field in books: YES
[24-Nov-2025 17:31:48 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:48 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:48 UTC] 📊 Database Info:
[24-Nov-2025 17:31:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:48 UTC]    Books columns count: 45
[24-Nov-2025 17:31:48 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:48 UTC]    Language field in books: YES
[24-Nov-2025 17:31:48 UTC]    Format field in books: YES
[24-Nov-2025 17:31:48 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:48 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:31:48 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:31:48 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:31:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:31:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:31:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:31:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:31:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:31:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:31:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:31:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:31:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:31:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:31:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:31:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:31:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:31:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:31:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:31:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:31:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:31:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:31:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:31:50 UTC] 📊 Database Info:
[24-Nov-2025 17:31:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:31:50 UTC]    Books columns count: 45
[24-Nov-2025 17:31:50 UTC]    Categories columns count: 7
[24-Nov-2025 17:31:50 UTC]    Language field in books: YES
[24-Nov-2025 17:31:50 UTC]    Format field in books: YES
[24-Nov-2025 17:31:50 UTC]    Description field in categories: YES
[24-Nov-2025 17:31:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:31:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:31:50 UTC]    Is_active field in books: YES
[24-Nov-2025 17:31:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:31:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:31:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:31:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:31:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:31:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:31:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:31:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:32:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:32:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:32:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:32:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:32:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:32:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:32:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:32:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:32:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:32:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:32:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:32:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:32:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:32:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:32:04 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:32:04 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:32:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:32:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:32:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:32:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:32:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:32:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:32:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:32:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:32:04 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:32:04 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:32:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:32:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:32:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:32:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:32:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:32:04 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:32:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:32:04 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:32:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:32:04 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:32:04 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:32:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:32:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:32:04 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:32:04 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:32:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:32:04 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:32:04 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:32:04 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:32:04 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:32:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:32:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:32:04 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:32:04 UTC] 📊 Database Info:
[24-Nov-2025 17:32:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:32:04 UTC]    Books columns count: 45
[24-Nov-2025 17:32:04 UTC]    Categories columns count: 7
[24-Nov-2025 17:32:04 UTC]    Language field in books: YES
[24-Nov-2025 17:32:04 UTC]    Format field in books: YES
[24-Nov-2025 17:32:04 UTC]    Description field in categories: YES
[24-Nov-2025 17:32:04 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:32:04 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:32:04 UTC]    Is_active field in books: YES
[24-Nov-2025 17:32:04 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:32:04 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:32:04 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:32:04 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:32:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:32:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:32:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:32:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:32:04 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:32:04 UTC] 📊 Database Info:
[24-Nov-2025 17:32:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:32:04 UTC]    Books columns count: 45
[24-Nov-2025 17:32:04 UTC]    Categories columns count: 7
[24-Nov-2025 17:32:04 UTC]    Language field in books: YES
[24-Nov-2025 17:32:04 UTC]    Format field in books: YES
[24-Nov-2025 17:32:04 UTC]    Description field in categories: YES
[24-Nov-2025 17:32:04 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:32:04 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:32:04 UTC]    Is_active field in books: YES
[24-Nov-2025 17:32:04 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:32:04 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:32:04 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:32:04 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:32:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:32:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:32:04 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:32:04 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:32:04 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:32:04 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:32:04 UTC] 📊 Database Info:
[24-Nov-2025 17:32:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:32:04 UTC]    Books columns count: 45
[24-Nov-2025 17:32:04 UTC]    Categories columns count: 7
[24-Nov-2025 17:32:04 UTC]    Language field in books: YES
[24-Nov-2025 17:32:04 UTC]    Format field in books: YES
[24-Nov-2025 17:32:04 UTC]    Description field in categories: YES
[24-Nov-2025 17:32:04 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:32:04 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:32:04 UTC]    Is_active field in books: YES
[24-Nov-2025 17:32:04 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:32:04 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:32:04 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:32:04 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:32:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:32:04 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:32:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:32:04 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:32:04 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:32:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:32:05 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:32:05 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:32:05 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:32:05 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:32:05 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:32:05 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:32:05 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:32:05 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:32:05 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:32:05 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:32:05 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:32:05 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:32:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:32:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:32:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:32:05 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:32:05 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:32:05 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:32:05 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:32:05 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:32:05 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:32:05 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:32:05 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:32:05 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:32:05 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:32:05 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:32:05 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:32:05 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:32:05 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:32:05 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:32:05 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:32:05 UTC] 📊 Database Info:
[24-Nov-2025 17:32:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:32:05 UTC]    Books columns count: 45
[24-Nov-2025 17:32:05 UTC]    Categories columns count: 7
[24-Nov-2025 17:32:05 UTC]    Language field in books: YES
[24-Nov-2025 17:32:05 UTC]    Format field in books: YES
[24-Nov-2025 17:32:05 UTC]    Description field in categories: YES
[24-Nov-2025 17:32:05 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:32:05 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:32:05 UTC]    Is_active field in books: YES
[24-Nov-2025 17:32:05 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:32:05 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:32:05 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:32:05 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:32:05 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:32:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:32:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:32:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:32:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:32:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:32:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:32:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:32:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:32:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:32:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:32:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:32:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:32:05 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:32:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:32:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:32:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:32:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:32:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:32:09 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:32:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:32:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:32:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:32:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:32:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:32:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:32:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:32:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:32:09 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:32:09 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:32:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:32:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:32:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:32:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:32:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:32:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:32:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:32:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:32:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:32:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:32:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:32:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:32:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:32:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:32:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:32:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:32:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:32:09 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:32:09 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:32:09 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:32:09 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:32:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:32:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:32:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:32:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:32:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:32:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:32:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:32:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:32:09 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:32:09 UTC] 📊 Database Info:
[24-Nov-2025 17:32:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:32:09 UTC]    Books columns count: 45
[24-Nov-2025 17:32:09 UTC]    Categories columns count: 7
[24-Nov-2025 17:32:09 UTC]    Language field in books: YES
[24-Nov-2025 17:32:09 UTC]    Format field in books: YES
[24-Nov-2025 17:32:09 UTC]    Description field in categories: YES
[24-Nov-2025 17:32:09 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:32:09 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:32:09 UTC]    Is_active field in books: YES
[24-Nov-2025 17:32:09 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:32:09 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:32:09 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:32:09 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:32:09 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:32:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:32:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:32:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:32:09 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:32:09 UTC] 📊 Database Info:
[24-Nov-2025 17:32:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:32:09 UTC]    Books columns count: 45
[24-Nov-2025 17:32:09 UTC]    Categories columns count: 7
[24-Nov-2025 17:32:09 UTC]    Language field in books: YES
[24-Nov-2025 17:32:09 UTC]    Format field in books: YES
[24-Nov-2025 17:32:09 UTC]    Description field in categories: YES
[24-Nov-2025 17:32:09 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:32:09 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:32:09 UTC]    Is_active field in books: YES
[24-Nov-2025 17:32:09 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:32:09 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:32:09 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:32:09 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:32:09 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:32:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:32:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:32:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:32:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:32:09 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:32:09 UTC] 📊 Database Info:
[24-Nov-2025 17:32:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:32:09 UTC]    Books columns count: 45
[24-Nov-2025 17:32:09 UTC]    Categories columns count: 7
[24-Nov-2025 17:32:09 UTC]    Language field in books: YES
[24-Nov-2025 17:32:09 UTC]    Format field in books: YES
[24-Nov-2025 17:32:09 UTC]    Description field in categories: YES
[24-Nov-2025 17:32:09 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:32:09 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:32:09 UTC]    Is_active field in books: YES
[24-Nov-2025 17:32:09 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:32:09 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:32:09 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:32:09 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:32:09 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:32:09 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:32:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:32:09 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:32:09 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:35:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:35:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:35:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:35:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:35:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:35:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:35:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:35:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:35:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:35:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:35:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:35:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:35:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:35:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:35:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:35:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:35:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:35:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:35:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:35:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:35:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:35:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:35:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:35:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:35:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:35:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:35:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:35:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:35:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:35:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:35:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:35:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:35:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:35:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:35:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:35:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:35:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:35:53 UTC] 📊 Database Info:
[24-Nov-2025 17:35:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:35:53 UTC]    Books columns count: 45
[24-Nov-2025 17:35:53 UTC]    Categories columns count: 7
[24-Nov-2025 17:35:53 UTC]    Language field in books: YES
[24-Nov-2025 17:35:53 UTC]    Format field in books: YES
[24-Nov-2025 17:35:53 UTC]    Description field in categories: YES
[24-Nov-2025 17:35:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:35:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:35:53 UTC]    Is_active field in books: YES
[24-Nov-2025 17:35:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:35:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:35:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:35:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:35:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:35:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:35:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:35:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:35:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:35:53 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 17:35:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:35:53 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:35:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:35:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:35:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:35:53 UTC] 📊 Database Info:
[24-Nov-2025 17:35:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:35:53 UTC]    Books columns count: 45
[24-Nov-2025 17:35:53 UTC]    Categories columns count: 7
[24-Nov-2025 17:35:53 UTC]    Language field in books: YES
[24-Nov-2025 17:35:53 UTC]    Format field in books: YES
[24-Nov-2025 17:35:53 UTC]    Description field in categories: YES
[24-Nov-2025 17:35:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:35:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:35:53 UTC]    Is_active field in books: YES
[24-Nov-2025 17:35:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:35:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:35:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:35:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:35:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:35:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:35:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 17:35:53 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 17:35:53 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 17:35:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:35:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:35:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:35:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:35:53 UTC] 📊 Database Info:
[24-Nov-2025 17:35:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:35:53 UTC]    Books columns count: 45
[24-Nov-2025 17:35:53 UTC]    Categories columns count: 7
[24-Nov-2025 17:35:53 UTC]    Language field in books: YES
[24-Nov-2025 17:35:53 UTC]    Format field in books: YES
[24-Nov-2025 17:35:53 UTC]    Description field in categories: YES
[24-Nov-2025 17:35:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:35:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:35:53 UTC]    Is_active field in books: YES
[24-Nov-2025 17:35:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:35:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:35:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:35:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:35:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:35:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:35:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:38:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:38:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:38:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:38:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:38:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:38:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:38:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:38:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:38:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:38:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:38:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:38:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:38:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:38:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:38:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:38:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:38:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:38:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:38:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:38:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:38:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:38:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:38:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:38:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:38:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:38:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:38:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:38:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:38:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:38:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:38:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:38:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:38:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:38:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:38:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:38:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:38:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:38:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:38:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:38:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:38:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:38:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:38:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:38:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:38:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:38:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:38:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:38:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:38:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:38:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:38:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:38:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:38:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:38:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:38:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:38:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:38:49 UTC] 📊 Database Info:
[24-Nov-2025 17:38:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:38:49 UTC]    Books columns count: 45
[24-Nov-2025 17:38:49 UTC]    Categories columns count: 7
[24-Nov-2025 17:38:49 UTC]    Language field in books: YES
[24-Nov-2025 17:38:49 UTC]    Format field in books: YES
[24-Nov-2025 17:38:49 UTC]    Description field in categories: YES
[24-Nov-2025 17:38:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:38:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:38:49 UTC]    Is_active field in books: YES
[24-Nov-2025 17:38:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:38:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:38:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:38:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:38:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:38:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:38:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:38:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:38:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:38:49 UTC] 📊 Database Info:
[24-Nov-2025 17:38:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:38:49 UTC]    Books columns count: 45
[24-Nov-2025 17:38:49 UTC]    Categories columns count: 7
[24-Nov-2025 17:38:49 UTC]    Language field in books: YES
[24-Nov-2025 17:38:49 UTC]    Format field in books: YES
[24-Nov-2025 17:38:49 UTC]    Description field in categories: YES
[24-Nov-2025 17:38:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:38:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:38:49 UTC]    Is_active field in books: YES
[24-Nov-2025 17:38:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:38:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:38:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:38:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:38:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:38:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:38:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:38:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:38:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:38:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:38:49 UTC] 📊 Database Info:
[24-Nov-2025 17:38:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:38:49 UTC]    Books columns count: 45
[24-Nov-2025 17:38:49 UTC]    Categories columns count: 7
[24-Nov-2025 17:38:49 UTC]    Language field in books: YES
[24-Nov-2025 17:38:49 UTC]    Format field in books: YES
[24-Nov-2025 17:38:49 UTC]    Description field in categories: YES
[24-Nov-2025 17:38:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:38:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:38:49 UTC]    Is_active field in books: YES
[24-Nov-2025 17:38:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:38:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:38:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:38:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:38:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:38:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:38:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:38:49 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:38:49 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:39:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:39:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:39:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:39:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:39:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:39:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:39:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:39:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:39:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:39:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:39:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:39:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:39:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:39:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:39:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:39:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:39:29 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:39:29 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:39:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:39:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:39:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:39:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:39:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:39:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:39:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:39:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:39:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:39:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:39:29 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:39:29 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:39:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:39:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:39:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:39:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:39:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:39:29 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:39:29 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:39:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:39:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:39:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:39:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:39:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:39:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:39:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:39:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:39:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:39:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:39:29 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:39:29 UTC] 📊 Database Info:
[24-Nov-2025 17:39:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:39:29 UTC]    Books columns count: 45
[24-Nov-2025 17:39:29 UTC]    Categories columns count: 7
[24-Nov-2025 17:39:29 UTC]    Language field in books: YES
[24-Nov-2025 17:39:29 UTC]    Format field in books: YES
[24-Nov-2025 17:39:29 UTC]    Description field in categories: YES
[24-Nov-2025 17:39:29 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:39:29 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:39:29 UTC]    Is_active field in books: YES
[24-Nov-2025 17:39:29 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:39:29 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:39:29 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:39:29 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:39:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:39:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:39:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:39:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:39:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:39:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:39:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:39:29 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:39:29 UTC] 📊 Database Info:
[24-Nov-2025 17:39:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:39:29 UTC]    Books columns count: 45
[24-Nov-2025 17:39:29 UTC]    Categories columns count: 7
[24-Nov-2025 17:39:29 UTC]    Language field in books: YES
[24-Nov-2025 17:39:29 UTC]    Format field in books: YES
[24-Nov-2025 17:39:29 UTC]    Description field in categories: YES
[24-Nov-2025 17:39:29 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:39:29 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:39:29 UTC]    Is_active field in books: YES
[24-Nov-2025 17:39:29 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:39:29 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:39:29 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:39:29 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:39:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:39:29 UTC] 📊 Database Info:
[24-Nov-2025 17:39:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:39:29 UTC]    Books columns count: 45
[24-Nov-2025 17:39:29 UTC]    Categories columns count: 7
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:39:29 UTC]    Language field in books: YES
[24-Nov-2025 17:39:29 UTC]    Format field in books: YES
[24-Nov-2025 17:39:29 UTC]    Description field in categories: YES
[24-Nov-2025 17:39:29 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:39:29 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:39:29 UTC]    Is_active field in books: YES
[24-Nov-2025 17:39:29 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:39:29 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:39:29 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:39:29 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:39:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:39:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:39:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:39:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:39:29 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:39:29 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:39:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:39:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:39:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:39:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:39:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:39:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:39:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:39:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:39:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:39:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:39:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:39:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:39:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:39:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:39:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:39:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:39:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:39:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:39:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:39:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:39:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:39:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:39:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:39:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:39:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:39:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:39:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:39:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:39:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:39:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:39:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:39:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:39:36 UTC] 📊 Database Info:
[24-Nov-2025 17:39:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:39:36 UTC]    Books columns count: 45
[24-Nov-2025 17:39:36 UTC]    Categories columns count: 7
[24-Nov-2025 17:39:36 UTC]    Language field in books: YES
[24-Nov-2025 17:39:36 UTC]    Format field in books: YES
[24-Nov-2025 17:39:36 UTC]    Description field in categories: YES
[24-Nov-2025 17:39:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:39:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:39:36 UTC]    Is_active field in books: YES
[24-Nov-2025 17:39:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:39:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:39:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:39:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:39:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:39:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:39:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:39:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:39:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:39:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:39:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:39:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:39:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:39:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:39:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:39:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:39:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:39:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:39:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:39:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:39:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:39:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:39:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:39:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:39:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:39:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:39:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:39:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:39:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:39:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:39:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:39:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:39:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:39:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:39:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:39:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:39:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:39:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:39:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:39:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:39:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:39:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:39:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:39:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:39:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:39:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:39:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:39:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:39:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:39:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:39:56 UTC] 📊 Database Info:
[24-Nov-2025 17:39:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:39:56 UTC]    Books columns count: 45
[24-Nov-2025 17:39:56 UTC]    Categories columns count: 7
[24-Nov-2025 17:39:56 UTC]    Language field in books: YES
[24-Nov-2025 17:39:56 UTC]    Format field in books: YES
[24-Nov-2025 17:39:56 UTC]    Description field in categories: YES
[24-Nov-2025 17:39:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:39:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:39:56 UTC]    Is_active field in books: YES
[24-Nov-2025 17:39:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:39:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:39:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:39:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:39:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:39:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:39:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:39:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:39:56 UTC] 📊 Database Info:
[24-Nov-2025 17:39:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:39:56 UTC]    Books columns count: 45
[24-Nov-2025 17:39:56 UTC]    Categories columns count: 7
[24-Nov-2025 17:39:56 UTC]    Language field in books: YES
[24-Nov-2025 17:39:56 UTC]    Format field in books: YES
[24-Nov-2025 17:39:56 UTC]    Description field in categories: YES
[24-Nov-2025 17:39:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:39:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:39:56 UTC]    Is_active field in books: YES
[24-Nov-2025 17:39:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:39:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:39:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:39:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:39:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:39:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:39:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:39:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:39:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:39:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:39:56 UTC] 📊 Database Info:
[24-Nov-2025 17:39:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:39:56 UTC]    Books columns count: 45
[24-Nov-2025 17:39:56 UTC]    Categories columns count: 7
[24-Nov-2025 17:39:56 UTC]    Language field in books: YES
[24-Nov-2025 17:39:56 UTC]    Format field in books: YES
[24-Nov-2025 17:39:56 UTC]    Description field in categories: YES
[24-Nov-2025 17:39:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:39:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:39:56 UTC]    Is_active field in books: YES
[24-Nov-2025 17:39:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:39:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:39:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:39:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:39:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:39:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:39:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:39:56 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:39:56 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:40:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:21 UTC] 📊 Database Info:
[24-Nov-2025 17:40:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:21 UTC]    Books columns count: 45
[24-Nov-2025 17:40:21 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:21 UTC]    Language field in books: YES
[24-Nov-2025 17:40:21 UTC]    Format field in books: YES
[24-Nov-2025 17:40:21 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:21 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:40:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:21 UTC] 📊 Database Info:
[24-Nov-2025 17:40:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:21 UTC]    Books columns count: 45
[24-Nov-2025 17:40:21 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:21 UTC]    Language field in books: YES
[24-Nov-2025 17:40:21 UTC]    Format field in books: YES
[24-Nov-2025 17:40:21 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:21 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:40:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:21 UTC] 📊 Database Info:
[24-Nov-2025 17:40:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:21 UTC]    Books columns count: 45
[24-Nov-2025 17:40:21 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:21 UTC]    Language field in books: YES
[24-Nov-2025 17:40:21 UTC]    Format field in books: YES
[24-Nov-2025 17:40:21 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:21 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:40:21 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:40:21 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:40:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:23 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:23 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:23 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:23 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:23 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:23 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:23 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:23 UTC] 📊 Database Info:
[24-Nov-2025 17:40:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:23 UTC]    Books columns count: 45
[24-Nov-2025 17:40:23 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:23 UTC]    Language field in books: YES
[24-Nov-2025 17:40:23 UTC]    Format field in books: YES
[24-Nov-2025 17:40:23 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:23 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:23 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:23 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:23 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:23 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:23 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:23 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:40:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:23 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:23 UTC] 📊 Database Info:
[24-Nov-2025 17:40:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:23 UTC]    Books columns count: 45
[24-Nov-2025 17:40:23 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:23 UTC]    Language field in books: YES
[24-Nov-2025 17:40:23 UTC]    Format field in books: YES
[24-Nov-2025 17:40:23 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:23 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:23 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:23 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:23 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:23 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:23 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:23 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:40:23 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:40:23 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:40:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:23 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:23 UTC] 📊 Database Info:
[24-Nov-2025 17:40:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:23 UTC]    Books columns count: 45
[24-Nov-2025 17:40:23 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:23 UTC]    Language field in books: YES
[24-Nov-2025 17:40:23 UTC]    Format field in books: YES
[24-Nov-2025 17:40:23 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:23 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:23 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:23 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:23 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:23 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:23 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:23 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:40:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:27 UTC] 📊 Database Info:
[24-Nov-2025 17:40:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:27 UTC]    Books columns count: 45
[24-Nov-2025 17:40:27 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:27 UTC]    Language field in books: YES
[24-Nov-2025 17:40:27 UTC]    Format field in books: YES
[24-Nov-2025 17:40:27 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:27 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:40:27 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:27 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:27 UTC] 📊 Database Info:
[24-Nov-2025 17:40:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:27 UTC]    Books columns count: 45
[24-Nov-2025 17:40:27 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:27 UTC]    Language field in books: YES
[24-Nov-2025 17:40:27 UTC]    Format field in books: YES
[24-Nov-2025 17:40:27 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:27 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:27 UTC] 📊 Database Info:
[24-Nov-2025 17:40:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:27 UTC]    Books columns count: 45
[24-Nov-2025 17:40:27 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:27 UTC]    Language field in books: YES
[24-Nov-2025 17:40:27 UTC]    Format field in books: YES
[24-Nov-2025 17:40:27 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:27 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:40:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:28 UTC] 📊 Database Info:
[24-Nov-2025 17:40:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:28 UTC]    Books columns count: 45
[24-Nov-2025 17:40:28 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:28 UTC]    Language field in books: YES
[24-Nov-2025 17:40:28 UTC]    Format field in books: YES
[24-Nov-2025 17:40:28 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:28 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:40:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:28 UTC] 📊 Database Info:
[24-Nov-2025 17:40:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:28 UTC]    Books columns count: 45
[24-Nov-2025 17:40:28 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:28 UTC]    Language field in books: YES
[24-Nov-2025 17:40:28 UTC]    Format field in books: YES
[24-Nov-2025 17:40:28 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:28 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:40:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:28 UTC] 📊 Database Info:
[24-Nov-2025 17:40:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:28 UTC]    Books columns count: 45
[24-Nov-2025 17:40:28 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:28 UTC]    Language field in books: YES
[24-Nov-2025 17:40:28 UTC]    Format field in books: YES
[24-Nov-2025 17:40:28 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:28 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:40:28 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:40:28 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:40:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:28 UTC] 📊 Database Info:
[24-Nov-2025 17:40:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:28 UTC]    Books columns count: 45
[24-Nov-2025 17:40:28 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:28 UTC]    Language field in books: YES
[24-Nov-2025 17:40:28 UTC]    Format field in books: YES
[24-Nov-2025 17:40:28 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:28 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:40:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:28 UTC] 📊 Database Info:
[24-Nov-2025 17:40:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:28 UTC]    Books columns count: 45
[24-Nov-2025 17:40:28 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:28 UTC]    Language field in books: YES
[24-Nov-2025 17:40:28 UTC]    Format field in books: YES
[24-Nov-2025 17:40:28 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:28 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:40:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:28 UTC] 📊 Database Info:
[24-Nov-2025 17:40:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:28 UTC]    Books columns count: 45
[24-Nov-2025 17:40:28 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:28 UTC]    Language field in books: YES
[24-Nov-2025 17:40:28 UTC]    Format field in books: YES
[24-Nov-2025 17:40:28 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:28 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:40:28 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:40:28 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:40:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:29 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:29 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:29 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:29 UTC] 📊 Database Info:
[24-Nov-2025 17:40:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:29 UTC]    Books columns count: 45
[24-Nov-2025 17:40:29 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:29 UTC]    Language field in books: YES
[24-Nov-2025 17:40:29 UTC]    Format field in books: YES
[24-Nov-2025 17:40:29 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:29 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:29 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:29 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:29 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:29 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:29 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:29 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:40:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:40:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:40:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:40:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:40:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:40:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:40:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:40:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:49 UTC] 📊 Database Info:
[24-Nov-2025 17:40:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:49 UTC]    Books columns count: 45
[24-Nov-2025 17:40:49 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:49 UTC]    Language field in books: YES
[24-Nov-2025 17:40:49 UTC]    Format field in books: YES
[24-Nov-2025 17:40:49 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:49 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:40:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:40:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:40:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:49 UTC] 📊 Database Info:
[24-Nov-2025 17:40:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:49 UTC]    Books columns count: 45
[24-Nov-2025 17:40:49 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:49 UTC]    Language field in books: YES
[24-Nov-2025 17:40:49 UTC]    Format field in books: YES
[24-Nov-2025 17:40:49 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:49 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:40:49 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:40:49 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:40:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:40:49 UTC] 📊 Database Info:
[24-Nov-2025 17:40:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:40:49 UTC]    Books columns count: 45
[24-Nov-2025 17:40:49 UTC]    Categories columns count: 7
[24-Nov-2025 17:40:49 UTC]    Language field in books: YES
[24-Nov-2025 17:40:49 UTC]    Format field in books: YES
[24-Nov-2025 17:40:49 UTC]    Description field in categories: YES
[24-Nov-2025 17:40:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:40:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:40:49 UTC]    Is_active field in books: YES
[24-Nov-2025 17:40:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:40:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:40:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:40:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:40:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:40:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:40:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:41:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:41:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:41:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:41:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:41:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:41:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:41:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:41:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:41:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:41:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:41:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:41:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:41:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:41:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:41:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:41:11 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:41:11 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:41:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:41:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:41:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:41:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:41:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:41:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:41:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:41:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:41:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:41:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:41:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:41:11 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:41:11 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:41:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:41:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:41:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:41:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:41:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:41:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:41:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:41:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:41:11 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:41:11 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:41:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:41:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:41:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:41:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:41:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:41:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:41:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:41:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:41:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:41:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:41:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:41:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:41:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:41:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:41:12 UTC] 📊 Database Info:
[24-Nov-2025 17:41:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:41:12 UTC]    Books columns count: 45
[24-Nov-2025 17:41:12 UTC]    Categories columns count: 7
[24-Nov-2025 17:41:12 UTC]    Language field in books: YES
[24-Nov-2025 17:41:12 UTC]    Format field in books: YES
[24-Nov-2025 17:41:12 UTC]    Description field in categories: YES
[24-Nov-2025 17:41:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:41:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:41:12 UTC]    Is_active field in books: YES
[24-Nov-2025 17:41:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:41:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:41:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:41:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:41:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:41:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:41:12 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 17:41:12 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 17:41:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:41:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:41:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:41:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:41:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:41:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:41:12 UTC] 📊 Database Info:
[24-Nov-2025 17:41:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:41:12 UTC]    Books columns count: 45
[24-Nov-2025 17:41:12 UTC]    Categories columns count: 7
[24-Nov-2025 17:41:12 UTC]    Language field in books: YES
[24-Nov-2025 17:41:12 UTC]    Format field in books: YES
[24-Nov-2025 17:41:12 UTC]    Description field in categories: YES
[24-Nov-2025 17:41:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:41:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:41:12 UTC]    Is_active field in books: YES
[24-Nov-2025 17:41:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:41:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:41:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:41:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:41:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:41:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:41:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:41:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:41:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:41:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:41:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:41:12 UTC] 📊 Database Info:
[24-Nov-2025 17:41:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:41:12 UTC]    Books columns count: 45
[24-Nov-2025 17:41:12 UTC]    Categories columns count: 7
[24-Nov-2025 17:41:12 UTC]    Language field in books: YES
[24-Nov-2025 17:41:12 UTC]    Format field in books: YES
[24-Nov-2025 17:41:12 UTC]    Description field in categories: YES
[24-Nov-2025 17:41:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:41:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:41:12 UTC]    Is_active field in books: YES
[24-Nov-2025 17:41:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:41:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:41:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:41:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:41:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:41:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:41:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:41:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:41:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 17:41:12 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 17:41:12 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 17:41:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:41:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:41:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:41:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:41:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:41:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:41:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:41:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:41:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:41:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:41:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:41:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:41:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:41:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:41:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:41:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:41:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:41:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:41:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:41:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:41:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:41:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:41:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:41:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:41:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:41:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:41:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:41:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:41:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:41:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:41:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:41:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:41:13 UTC] 📊 Database Info:
[24-Nov-2025 17:41:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:41:13 UTC]    Books columns count: 45
[24-Nov-2025 17:41:13 UTC]    Categories columns count: 7
[24-Nov-2025 17:41:13 UTC]    Language field in books: YES
[24-Nov-2025 17:41:13 UTC]    Format field in books: YES
[24-Nov-2025 17:41:13 UTC]    Description field in categories: YES
[24-Nov-2025 17:41:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:41:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:41:13 UTC]    Is_active field in books: YES
[24-Nov-2025 17:41:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:41:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:41:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:41:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:41:13 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:41:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:41:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:41:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:41:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:41:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:41:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:41:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:41:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:41:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:41:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:41:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:41:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:41:13 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:41:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:41:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:41:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:41:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:41:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:41:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:41:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:41:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:41:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:41:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:41:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:41:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:41:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:41:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:41:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:41:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:41:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:41:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:41:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:41:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:41:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:41:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:41:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:41:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:41:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:41:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:41:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:41:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:41:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:41:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:41:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:41:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:41:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:41:21 UTC] 📊 Database Info:
[24-Nov-2025 17:41:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:41:21 UTC]    Books columns count: 45
[24-Nov-2025 17:41:21 UTC]    Categories columns count: 7
[24-Nov-2025 17:41:21 UTC]    Language field in books: YES
[24-Nov-2025 17:41:21 UTC]    Format field in books: YES
[24-Nov-2025 17:41:21 UTC]    Description field in categories: YES
[24-Nov-2025 17:41:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:41:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:41:21 UTC]    Is_active field in books: YES
[24-Nov-2025 17:41:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:41:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:41:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:41:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:41:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:41:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:41:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:41:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:41:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:41:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:41:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:41:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:41:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:41:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:41:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:41:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:41:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:41:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:41:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:41:21 UTC] ?? GLOBAL AUTH UPDATE: Setting require_login_for_download to 0 for ALL books
[24-Nov-2025 17:41:21 UTC] ✅ Global auth update completed: 0 books updated
[24-Nov-2025 17:41:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:41:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:41:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:41:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:41:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:41:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:41:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:41:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:41:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:41:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:41:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:41:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:41:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:41:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:41:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:41:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:41:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:41:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:41:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:41:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:41:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:41:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:41:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:41:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:41:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:41:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:41:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:41:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:41:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:41:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:41:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:41:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:41:26 UTC] 📊 Database Info:
[24-Nov-2025 17:41:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:41:26 UTC]    Books columns count: 45
[24-Nov-2025 17:41:26 UTC]    Categories columns count: 7
[24-Nov-2025 17:41:26 UTC]    Language field in books: YES
[24-Nov-2025 17:41:26 UTC]    Format field in books: YES
[24-Nov-2025 17:41:26 UTC]    Description field in categories: YES
[24-Nov-2025 17:41:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:41:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:41:26 UTC]    Is_active field in books: YES
[24-Nov-2025 17:41:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:41:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:41:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:41:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:41:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:41:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:41:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:41:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:41:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:41:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:41:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:41:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:41:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:41:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:41:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:41:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:41:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:41:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:41:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:41:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:41:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:41:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:41:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:41:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:41:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:41:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:41:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:41:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:41:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:41:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:41:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:41:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:41:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:41:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:41:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:41:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:41:32 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:41:32 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:41:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:41:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:41:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:41:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:41:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:41:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:41:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:41:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:41:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:41:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:41:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:41:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:41:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:41:32 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:41:32 UTC] 📊 Database Info:
[24-Nov-2025 17:41:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:41:32 UTC]    Books columns count: 45
[24-Nov-2025 17:41:32 UTC]    Categories columns count: 7
[24-Nov-2025 17:41:32 UTC]    Language field in books: YES
[24-Nov-2025 17:41:32 UTC]    Format field in books: YES
[24-Nov-2025 17:41:32 UTC]    Description field in categories: YES
[24-Nov-2025 17:41:32 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:41:32 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:41:32 UTC]    Is_active field in books: YES
[24-Nov-2025 17:41:32 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:41:32 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:41:32 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:41:32 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:41:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:41:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:41:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:41:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:41:32 UTC] ?? GLOBAL AUTH UPDATE: Setting require_login_for_download to 1 for ALL books
[24-Nov-2025 17:41:32 UTC] ✅ Global auth update completed: 7 books updated
[24-Nov-2025 17:41:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:41:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:41:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:41:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:41:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:41:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:41:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:41:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:41:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:41:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:41:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:41:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:41:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:41:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:41:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:41:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:41:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:41:34 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:41:34 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:41:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:41:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:41:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:41:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:41:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:41:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:41:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:41:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:41:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:41:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:41:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:41:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:41:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:41:34 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:41:34 UTC] 📊 Database Info:
[24-Nov-2025 17:41:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:41:34 UTC]    Books columns count: 45
[24-Nov-2025 17:41:34 UTC]    Categories columns count: 7
[24-Nov-2025 17:41:34 UTC]    Language field in books: YES
[24-Nov-2025 17:41:34 UTC]    Format field in books: YES
[24-Nov-2025 17:41:34 UTC]    Description field in categories: YES
[24-Nov-2025 17:41:34 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:41:34 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:41:34 UTC]    Is_active field in books: YES
[24-Nov-2025 17:41:34 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:41:34 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:41:34 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:41:34 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:41:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:41:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:41:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:41:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:41:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:41:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:41:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:41:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:41:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:41:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:41:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:41:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:41:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:41:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:41:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:41:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:41:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:41:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:41:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:41:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:41:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:41:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:41:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:41:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:41:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:41:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:41:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:41:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:41:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:41:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:41:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:41:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:41:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:41:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:41:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:41:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:41:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:41:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:41:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:41:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:41:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:41:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:41:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:41:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:41:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:41:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:41:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:41:37 UTC] 📊 Database Info:
[24-Nov-2025 17:41:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:41:37 UTC]    Books columns count: 45
[24-Nov-2025 17:41:37 UTC]    Categories columns count: 7
[24-Nov-2025 17:41:37 UTC]    Language field in books: YES
[24-Nov-2025 17:41:37 UTC]    Format field in books: YES
[24-Nov-2025 17:41:37 UTC]    Description field in categories: YES
[24-Nov-2025 17:41:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:41:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:41:37 UTC]    Is_active field in books: YES
[24-Nov-2025 17:41:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:41:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:41:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:41:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:41:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:41:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:41:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:41:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:45:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:45:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:45:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:45:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:45:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:45:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:45:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:45:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:45:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:45:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:45:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:45:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:45:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:45:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:45:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:45:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:45:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:45:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:45:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:45:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:45:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:45:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:45:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:45:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:45:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:45:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:45:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:45:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:45:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:45:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:45:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:45:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:45:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:45:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:45:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:45:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:45:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:45:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:45:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:45:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:45:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:45:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:45:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:45:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:45:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:45:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:45:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:45:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:45:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:45:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:45:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:45:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:45:20 UTC] 📊 Database Info:
[24-Nov-2025 17:45:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:45:20 UTC]    Books columns count: 45
[24-Nov-2025 17:45:20 UTC]    Categories columns count: 7
[24-Nov-2025 17:45:20 UTC]    Language field in books: YES
[24-Nov-2025 17:45:20 UTC]    Format field in books: YES
[24-Nov-2025 17:45:20 UTC]    Description field in categories: YES
[24-Nov-2025 17:45:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:45:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:45:20 UTC]    Is_active field in books: YES
[24-Nov-2025 17:45:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:45:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:45:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:45:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:45:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:45:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:45:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:45:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:45:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:45:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:45:20 UTC] 📊 Database Info:
[24-Nov-2025 17:45:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:45:20 UTC]    Books columns count: 45
[24-Nov-2025 17:45:20 UTC]    Categories columns count: 7
[24-Nov-2025 17:45:20 UTC]    Language field in books: YES
[24-Nov-2025 17:45:20 UTC]    Format field in books: YES
[24-Nov-2025 17:45:20 UTC]    Description field in categories: YES
[24-Nov-2025 17:45:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:45:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:45:20 UTC]    Is_active field in books: YES
[24-Nov-2025 17:45:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:45:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:45:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:45:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:45:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:45:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:45:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:45:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:45:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:45:20 UTC] 📊 Database Info:
[24-Nov-2025 17:45:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:45:20 UTC]    Books columns count: 45
[24-Nov-2025 17:45:20 UTC]    Categories columns count: 7
[24-Nov-2025 17:45:20 UTC]    Language field in books: YES
[24-Nov-2025 17:45:20 UTC]    Format field in books: YES
[24-Nov-2025 17:45:20 UTC]    Description field in categories: YES
[24-Nov-2025 17:45:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:45:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:45:20 UTC]    Is_active field in books: YES
[24-Nov-2025 17:45:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:45:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:45:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:45:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:45:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:45:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:45:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:45:20 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:45:20 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:45:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:45:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:45:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:45:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:45:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:45:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:45:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:45:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:45:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:45:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:45:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:45:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:45:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:45:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:45:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:45:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:45:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:45:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:45:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:45:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:45:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:45:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:45:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:45:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:45:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:45:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:45:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:45:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:45:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:45:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:45:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:45:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:45:27 UTC] 📊 Database Info:
[24-Nov-2025 17:45:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:45:27 UTC]    Books columns count: 45
[24-Nov-2025 17:45:27 UTC]    Categories columns count: 7
[24-Nov-2025 17:45:27 UTC]    Language field in books: YES
[24-Nov-2025 17:45:27 UTC]    Format field in books: YES
[24-Nov-2025 17:45:27 UTC]    Description field in categories: YES
[24-Nov-2025 17:45:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:45:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:45:27 UTC]    Is_active field in books: YES
[24-Nov-2025 17:45:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:45:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:45:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:45:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:45:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:45:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:45:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:45:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:47:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:47:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:47:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:47:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:47:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:47:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:47:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:47:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:47:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:47:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:47:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:47:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:47:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:47:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:47:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:47:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:47:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:47:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:47:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:47:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:47:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:47:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:47:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:47:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:47:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:47:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:47:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:47:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:47:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:47:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:47:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:47:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:47:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:47:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:47:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:47:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:47:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:47:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:47:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:47:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:47:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:47:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:47:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:47:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:47:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:47:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:47:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:47:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:47:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:47:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:47:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:47:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:47:31 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:47:31 UTC] 📊 Database Info:
[24-Nov-2025 17:47:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:47:31 UTC]    Books columns count: 45
[24-Nov-2025 17:47:31 UTC]    Categories columns count: 7
[24-Nov-2025 17:47:31 UTC]    Language field in books: YES
[24-Nov-2025 17:47:31 UTC]    Format field in books: YES
[24-Nov-2025 17:47:31 UTC]    Description field in categories: YES
[24-Nov-2025 17:47:31 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:47:31 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:47:31 UTC]    Is_active field in books: YES
[24-Nov-2025 17:47:31 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:47:31 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:47:31 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:47:31 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:47:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:47:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:47:31 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:47:31 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 17:47:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:47:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:47:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:47:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:47:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:47:31 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:47:31 UTC] 📊 Database Info:
[24-Nov-2025 17:47:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:47:31 UTC]    Books columns count: 45
[24-Nov-2025 17:47:31 UTC]    Categories columns count: 7
[24-Nov-2025 17:47:31 UTC]    Language field in books: YES
[24-Nov-2025 17:47:31 UTC]    Format field in books: YES
[24-Nov-2025 17:47:31 UTC]    Description field in categories: YES
[24-Nov-2025 17:47:31 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:47:31 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:47:31 UTC]    Is_active field in books: YES
[24-Nov-2025 17:47:31 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:47:31 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:47:31 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:47:31 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:47:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:47:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:47:31 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:47:31 UTC] 📊 Database Info:
[24-Nov-2025 17:47:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:47:31 UTC]    Books columns count: 45
[24-Nov-2025 17:47:31 UTC]    Categories columns count: 7
[24-Nov-2025 17:47:31 UTC]    Language field in books: YES
[24-Nov-2025 17:47:31 UTC]    Format field in books: YES
[24-Nov-2025 17:47:31 UTC]    Description field in categories: YES
[24-Nov-2025 17:47:31 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:47:31 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:47:31 UTC]    Is_active field in books: YES
[24-Nov-2025 17:47:31 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:47:31 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:47:31 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:47:31 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:47:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:47:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:47:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:50:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:50:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:50:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:50:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 17:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:50:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:50:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:50:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:50:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:50:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:50:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:50:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:50:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:50:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:50:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:50:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:50:44 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:50:44 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:50:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:50:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:50:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:50:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:50:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:50:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:50:44 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:50:44 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:50:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:50:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:50:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:50:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:50:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:50:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 17:50:44 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 17:50:44 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 17:50:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 17:50:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 17:50:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 17:50:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 17:50:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 17:50:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:50:44 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:50:44 UTC] 📊 Database Info:
[24-Nov-2025 17:50:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:50:44 UTC]    Books columns count: 45
[24-Nov-2025 17:50:44 UTC]    Categories columns count: 7
[24-Nov-2025 17:50:44 UTC]    Language field in books: YES
[24-Nov-2025 17:50:44 UTC]    Format field in books: YES
[24-Nov-2025 17:50:44 UTC]    Description field in categories: YES
[24-Nov-2025 17:50:44 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:50:44 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:50:44 UTC]    Is_active field in books: YES
[24-Nov-2025 17:50:44 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:50:44 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:50:44 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:50:44 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:50:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:50:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:50:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:50:44 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:50:44 UTC] 📊 Database Info:
[24-Nov-2025 17:50:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:50:44 UTC]    Books columns count: 45
[24-Nov-2025 17:50:44 UTC]    Categories columns count: 7
[24-Nov-2025 17:50:44 UTC]    Language field in books: YES
[24-Nov-2025 17:50:44 UTC]    Format field in books: YES
[24-Nov-2025 17:50:44 UTC]    Description field in categories: YES
[24-Nov-2025 17:50:44 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:50:44 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:50:44 UTC]    Is_active field in books: YES
[24-Nov-2025 17:50:44 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:50:44 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:50:44 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:50:44 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:50:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:50:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:50:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 17:50:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 17:50:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 17:50:44 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 17:50:44 UTC] 📊 Database Info:
[24-Nov-2025 17:50:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 17:50:44 UTC]    Books columns count: 45
[24-Nov-2025 17:50:44 UTC]    Categories columns count: 7
[24-Nov-2025 17:50:44 UTC]    Language field in books: YES
[24-Nov-2025 17:50:44 UTC]    Format field in books: YES
[24-Nov-2025 17:50:44 UTC]    Description field in categories: YES
[24-Nov-2025 17:50:44 UTC]    Display_order field in categories: YES
[24-Nov-2025 17:50:44 UTC]    Is_active field in categories: YES
[24-Nov-2025 17:50:44 UTC]    Is_active field in books: YES
[24-Nov-2025 17:50:44 UTC]    External_download_link field in books: YES
[24-Nov-2025 17:50:44 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 17:50:44 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 17:50:44 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 17:50:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 17:50:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 17:50:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 17:50:44 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 17:50:44 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:01:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:01:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:01:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:01:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:01:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:01:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:01:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:01:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:01:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:01:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:01:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:01:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:01:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:01:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:01:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:01:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:01:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:01:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:01:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:01:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:01:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:01:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:01:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:01:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:01:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:01:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:01:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:01:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:01:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:01:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:01:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:01:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:01:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:01:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:01:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:01:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:01:28 UTC] 📊 Database Info:
[24-Nov-2025 18:01:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:01:28 UTC]    Books columns count: 45
[24-Nov-2025 18:01:28 UTC]    Categories columns count: 7
[24-Nov-2025 18:01:28 UTC]    Language field in books: YES
[24-Nov-2025 18:01:28 UTC]    Format field in books: YES
[24-Nov-2025 18:01:28 UTC]    Description field in categories: YES
[24-Nov-2025 18:01:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:01:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:01:28 UTC]    Is_active field in books: YES
[24-Nov-2025 18:01:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:01:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:01:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:01:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:01:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:01:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:01:28 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:01:28 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:01:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:01:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:01:28 UTC] 📊 Database Info:
[24-Nov-2025 18:01:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:01:28 UTC]    Books columns count: 45
[24-Nov-2025 18:01:28 UTC]    Categories columns count: 7
[24-Nov-2025 18:01:28 UTC]    Language field in books: YES
[24-Nov-2025 18:01:28 UTC]    Format field in books: YES
[24-Nov-2025 18:01:28 UTC]    Description field in categories: YES
[24-Nov-2025 18:01:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:01:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:01:28 UTC]    Is_active field in books: YES
[24-Nov-2025 18:01:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:01:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:01:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:01:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:01:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:01:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:01:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:01:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:01:28 UTC] 📊 Database Info:
[24-Nov-2025 18:01:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:01:28 UTC]    Books columns count: 45
[24-Nov-2025 18:01:28 UTC]    Categories columns count: 7
[24-Nov-2025 18:01:28 UTC]    Language field in books: YES
[24-Nov-2025 18:01:28 UTC]    Format field in books: YES
[24-Nov-2025 18:01:28 UTC]    Description field in categories: YES
[24-Nov-2025 18:01:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:01:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:01:28 UTC]    Is_active field in books: YES
[24-Nov-2025 18:01:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:01:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:01:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:01:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:01:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:01:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:01:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:02:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:02:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:02:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:02:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:02:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:02:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:02:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:02:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:02:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:02:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:02:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:02:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:02:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:02:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:02:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:02:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:02:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:02:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:02:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:02:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:02:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:02:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:02:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:02:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:02:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:02:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:02:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:02:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:02:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:02:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:02:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:02:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:02:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:02:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:02:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:02:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:02:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:02:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:02:26 UTC] 📊 Database Info:
[24-Nov-2025 18:02:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:02:26 UTC]    Books columns count: 45
[24-Nov-2025 18:02:26 UTC]    Categories columns count: 7
[24-Nov-2025 18:02:26 UTC]    Language field in books: YES
[24-Nov-2025 18:02:26 UTC]    Format field in books: YES
[24-Nov-2025 18:02:26 UTC]    Description field in categories: YES
[24-Nov-2025 18:02:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:02:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:02:26 UTC]    Is_active field in books: YES
[24-Nov-2025 18:02:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:02:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:02:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:02:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:02:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:02:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:02:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:02:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:02:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:02:26 UTC] 📊 Database Info:
[24-Nov-2025 18:02:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:02:26 UTC]    Books columns count: 45
[24-Nov-2025 18:02:26 UTC]    Categories columns count: 7
[24-Nov-2025 18:02:26 UTC]    Language field in books: YES
[24-Nov-2025 18:02:26 UTC]    Format field in books: YES
[24-Nov-2025 18:02:26 UTC]    Description field in categories: YES
[24-Nov-2025 18:02:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:02:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:02:26 UTC]    Is_active field in books: YES
[24-Nov-2025 18:02:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:02:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:02:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:02:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:02:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:02:26 UTC] 📊 Database Info:
[24-Nov-2025 18:02:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:02:26 UTC]    Books columns count: 45
[24-Nov-2025 18:02:26 UTC]    Categories columns count: 7
[24-Nov-2025 18:02:26 UTC]    Language field in books: YES
[24-Nov-2025 18:02:26 UTC]    Format field in books: YES
[24-Nov-2025 18:02:26 UTC]    Description field in categories: YES
[24-Nov-2025 18:02:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:02:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:02:26 UTC]    Is_active field in books: YES
[24-Nov-2025 18:02:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:02:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:02:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:02:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:02:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:02:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:02:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:02:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:02:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:02:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:02:26 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:02:26 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:03:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:03:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:03:40 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:03:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:03:40 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:03:40 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:03:40 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:03:40 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:03:40 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:03:40 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:03:40 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:03:40 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:03:40 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:03:40 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:03:40 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:03:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:03:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:03:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:03:40 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:03:40 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:03:40 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:03:40 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:03:40 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:03:40 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:03:40 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:03:40 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:03:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:03:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:03:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:03:40 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:03:40 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:03:40 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:03:40 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:03:40 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:03:40 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:03:40 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:03:40 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:03:40 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:03:40 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:03:40 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:03:40 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:03:40 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:03:40 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:03:40 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:03:40 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:03:40 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:03:40 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:03:40 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:03:40 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:03:40 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:03:40 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:03:40 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:03:40 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:03:40 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:03:40 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:03:40 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:03:40 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:03:40 UTC] 📊 Database Info:
[24-Nov-2025 18:03:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:03:40 UTC]    Books columns count: 45
[24-Nov-2025 18:03:40 UTC]    Categories columns count: 7
[24-Nov-2025 18:03:40 UTC]    Language field in books: YES
[24-Nov-2025 18:03:40 UTC]    Format field in books: YES
[24-Nov-2025 18:03:40 UTC]    Description field in categories: YES
[24-Nov-2025 18:03:40 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:03:40 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:03:40 UTC]    Is_active field in books: YES
[24-Nov-2025 18:03:40 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:03:40 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:03:40 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:03:40 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:03:40 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:03:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:03:40 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:03:40 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:03:40 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:03:40 UTC] 📊 Database Info:
[24-Nov-2025 18:03:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:03:40 UTC]    Books columns count: 45
[24-Nov-2025 18:03:40 UTC]    Categories columns count: 7
[24-Nov-2025 18:03:40 UTC]    Language field in books: YES
[24-Nov-2025 18:03:40 UTC]    Format field in books: YES
[24-Nov-2025 18:03:40 UTC]    Description field in categories: YES
[24-Nov-2025 18:03:40 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:03:40 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:03:40 UTC]    Is_active field in books: YES
[24-Nov-2025 18:03:40 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:03:40 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:03:40 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:03:40 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:03:40 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:03:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:03:40 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:03:40 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:03:40 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:03:40 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:03:40 UTC] 📊 Database Info:
[24-Nov-2025 18:03:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:03:40 UTC]    Books columns count: 45
[24-Nov-2025 18:03:40 UTC]    Categories columns count: 7
[24-Nov-2025 18:03:40 UTC]    Language field in books: YES
[24-Nov-2025 18:03:40 UTC]    Format field in books: YES
[24-Nov-2025 18:03:40 UTC]    Description field in categories: YES
[24-Nov-2025 18:03:40 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:03:40 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:03:40 UTC]    Is_active field in books: YES
[24-Nov-2025 18:03:40 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:03:40 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:03:40 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:03:40 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:03:40 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:03:40 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:03:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:03:40 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:03:40 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:04:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:04:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:04:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:04:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:04:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:04:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:04:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:04:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:04:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:04:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:04:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:04:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:04:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:04:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:04:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:04:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:04:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:04:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:04:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:04:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:04:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:04:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:04:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:04:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:04:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:04:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:04:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:04:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:04:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:04:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:04:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:04:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:04:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:04:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:04:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:04:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:04:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:04:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:04:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:04:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:04:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:04:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:04:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:04:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:04:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:04:36 UTC] 📊 Database Info:
[24-Nov-2025 18:04:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:04:36 UTC]    Books columns count: 45
[24-Nov-2025 18:04:36 UTC]    Categories columns count: 7
[24-Nov-2025 18:04:36 UTC]    Language field in books: YES
[24-Nov-2025 18:04:36 UTC]    Format field in books: YES
[24-Nov-2025 18:04:36 UTC]    Description field in categories: YES
[24-Nov-2025 18:04:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:04:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:04:36 UTC]    Is_active field in books: YES
[24-Nov-2025 18:04:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:04:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:04:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:04:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:04:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:04:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:04:36 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:04:36 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:04:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:04:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:04:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:04:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:04:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:04:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:04:36 UTC] 📊 Database Info:
[24-Nov-2025 18:04:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:04:36 UTC]    Books columns count: 45
[24-Nov-2025 18:04:36 UTC]    Categories columns count: 7
[24-Nov-2025 18:04:36 UTC]    Language field in books: YES
[24-Nov-2025 18:04:36 UTC]    Format field in books: YES
[24-Nov-2025 18:04:36 UTC]    Description field in categories: YES
[24-Nov-2025 18:04:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:04:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:04:36 UTC]    Is_active field in books: YES
[24-Nov-2025 18:04:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:04:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:04:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:04:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:04:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:04:36 UTC] 📊 Database Info:
[24-Nov-2025 18:04:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:04:36 UTC]    Books columns count: 45
[24-Nov-2025 18:04:36 UTC]    Categories columns count: 7
[24-Nov-2025 18:04:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:04:36 UTC]    Language field in books: YES
[24-Nov-2025 18:04:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:04:36 UTC]    Format field in books: YES
[24-Nov-2025 18:04:36 UTC]    Description field in categories: YES
[24-Nov-2025 18:04:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:04:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:04:36 UTC]    Is_active field in books: YES
[24-Nov-2025 18:04:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:04:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:04:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:04:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:04:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:04:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:04:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:05:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:05:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:05:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:05:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:05:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:05:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:05:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:05:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:05:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:05:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:05:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:05:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:05:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:05:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:05:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:05:25 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:05:25 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:05:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:05:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:05:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:05:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:05:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:05:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:05:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:05:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:05:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:05:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:05:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:05:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:05:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:05:25 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:05:25 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:05:25 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:05:25 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:05:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:05:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:05:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:05:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:05:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:05:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:05:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:05:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:05:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:05:25 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:05:25 UTC] 📊 Database Info:
[24-Nov-2025 18:05:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:05:25 UTC]    Books columns count: 45
[24-Nov-2025 18:05:25 UTC]    Categories columns count: 7
[24-Nov-2025 18:05:25 UTC]    Language field in books: YES
[24-Nov-2025 18:05:25 UTC]    Format field in books: YES
[24-Nov-2025 18:05:25 UTC]    Description field in categories: YES
[24-Nov-2025 18:05:25 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:05:25 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:05:25 UTC]    Is_active field in books: YES
[24-Nov-2025 18:05:25 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:05:25 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:05:25 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:05:25 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:05:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:05:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:05:25 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:05:25 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:05:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:05:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:05:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:05:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:05:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:05:25 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:05:25 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:05:25 UTC] 📊 Database Info:
[24-Nov-2025 18:05:25 UTC] 📊 Database Info:
[24-Nov-2025 18:05:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:05:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:05:25 UTC]    Books columns count: 45
[24-Nov-2025 18:05:25 UTC]    Books columns count: 45
[24-Nov-2025 18:05:25 UTC]    Categories columns count: 7
[24-Nov-2025 18:05:25 UTC]    Categories columns count: 7
[24-Nov-2025 18:05:25 UTC]    Language field in books: YES
[24-Nov-2025 18:05:25 UTC]    Language field in books: YES
[24-Nov-2025 18:05:25 UTC]    Format field in books: YES
[24-Nov-2025 18:05:25 UTC]    Format field in books: YES
[24-Nov-2025 18:05:25 UTC]    Description field in categories: YES
[24-Nov-2025 18:05:25 UTC]    Description field in categories: YES
[24-Nov-2025 18:05:25 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:05:25 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:05:25 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:05:25 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:05:25 UTC]    Is_active field in books: YES
[24-Nov-2025 18:05:25 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:05:25 UTC]    Is_active field in books: YES
[24-Nov-2025 18:05:25 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:05:25 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:05:25 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:05:25 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:05:25 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:05:25 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:05:25 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:05:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:05:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:05:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:05:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:05:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:05:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:06:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:06:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:06:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:06:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:06:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:06:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:06:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:06:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:06:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:06:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:06:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:06:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:06:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:06:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:06:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:06:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:06:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:06:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:06:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:06:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:06:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:06:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:06:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:06:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:06:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:06:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:06:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:06:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:06:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:06:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:06:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:06:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:06:54 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:06:54 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:06:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:06:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:06:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:06:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:06:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:06:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:06:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:06:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:06:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:06:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:06:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:06:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:06:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:06:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:06:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:06:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:06:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:06:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:06:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:06:54 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:06:54 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:06:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:06:54 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:06:54 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:06:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:06:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:06:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:06:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:06:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:06:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:06:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:06:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:06:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:06:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:06:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:06:54 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:06:54 UTC] 📊 Database Info:
[24-Nov-2025 18:06:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:06:54 UTC]    Books columns count: 45
[24-Nov-2025 18:06:54 UTC]    Categories columns count: 7
[24-Nov-2025 18:06:54 UTC]    Language field in books: YES
[24-Nov-2025 18:06:54 UTC]    Format field in books: YES
[24-Nov-2025 18:06:54 UTC]    Description field in categories: YES
[24-Nov-2025 18:06:54 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:06:54 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:06:54 UTC]    Is_active field in books: YES
[24-Nov-2025 18:06:54 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:06:54 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:06:54 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:06:54 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:06:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:06:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:06:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:06:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:06:54 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:06:54 UTC] 📊 Database Info:
[24-Nov-2025 18:06:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:06:54 UTC]    Books columns count: 45
[24-Nov-2025 18:06:54 UTC]    Categories columns count: 7
[24-Nov-2025 18:06:54 UTC]    Language field in books: YES
[24-Nov-2025 18:06:54 UTC]    Format field in books: YES
[24-Nov-2025 18:06:54 UTC]    Description field in categories: YES
[24-Nov-2025 18:06:54 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:06:54 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:06:54 UTC]    Is_active field in books: YES
[24-Nov-2025 18:06:54 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:06:54 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:06:54 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:06:54 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:06:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:06:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:06:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:06:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:06:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:06:54 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:06:54 UTC] 📊 Database Info:
[24-Nov-2025 18:06:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:06:54 UTC]    Books columns count: 45
[24-Nov-2025 18:06:54 UTC]    Categories columns count: 7
[24-Nov-2025 18:06:54 UTC]    Language field in books: YES
[24-Nov-2025 18:06:54 UTC]    Format field in books: YES
[24-Nov-2025 18:06:54 UTC]    Description field in categories: YES
[24-Nov-2025 18:06:54 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:06:54 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:06:54 UTC]    Is_active field in books: YES
[24-Nov-2025 18:06:54 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:06:54 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:06:54 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:06:54 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:06:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:06:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:06:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:06:54 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:06:54 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:07:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:07:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:07:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:07:39 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:07:39 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:07:39 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:07:39 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:07:39 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:07:39 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:07:39 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:07:39 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:07:39 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:07:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:07:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:07:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:07:39 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:07:39 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:07:39 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:07:39 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:07:39 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:07:39 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:07:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:07:39 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:07:39 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:07:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:07:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:07:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:07:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:07:39 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:07:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:07:39 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:07:39 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:07:39 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:07:39 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:07:39 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:07:39 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:07:39 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:07:39 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:07:39 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:07:39 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:07:39 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:07:39 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:07:39 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:07:39 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:07:39 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:07:39 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:07:39 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:07:39 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:07:39 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:07:39 UTC] 📊 Database Info:
[24-Nov-2025 18:07:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:07:39 UTC]    Books columns count: 45
[24-Nov-2025 18:07:39 UTC]    Categories columns count: 7
[24-Nov-2025 18:07:39 UTC]    Language field in books: YES
[24-Nov-2025 18:07:39 UTC]    Format field in books: YES
[24-Nov-2025 18:07:39 UTC]    Description field in categories: YES
[24-Nov-2025 18:07:39 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:07:39 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:07:39 UTC]    Is_active field in books: YES
[24-Nov-2025 18:07:39 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:07:39 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:07:39 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:07:39 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:07:39 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:07:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:07:39 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:07:39 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:07:39 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:07:39 UTC] 📊 Database Info:
[24-Nov-2025 18:07:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:07:39 UTC]    Books columns count: 45
[24-Nov-2025 18:07:39 UTC]    Categories columns count: 7
[24-Nov-2025 18:07:39 UTC]    Language field in books: YES
[24-Nov-2025 18:07:39 UTC]    Format field in books: YES
[24-Nov-2025 18:07:39 UTC]    Description field in categories: YES
[24-Nov-2025 18:07:39 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:07:39 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:07:39 UTC]    Is_active field in books: YES
[24-Nov-2025 18:07:39 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:07:39 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:07:39 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:07:39 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:07:39 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:07:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:07:39 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:07:39 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:07:39 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:07:39 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:07:39 UTC] 📊 Database Info:
[24-Nov-2025 18:07:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:07:39 UTC]    Books columns count: 45
[24-Nov-2025 18:07:39 UTC]    Categories columns count: 7
[24-Nov-2025 18:07:39 UTC]    Language field in books: YES
[24-Nov-2025 18:07:39 UTC]    Format field in books: YES
[24-Nov-2025 18:07:39 UTC]    Description field in categories: YES
[24-Nov-2025 18:07:39 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:07:39 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:07:39 UTC]    Is_active field in books: YES
[24-Nov-2025 18:07:39 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:07:39 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:07:39 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:07:39 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:07:39 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:07:39 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:07:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:07:39 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:07:39 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:08:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:08:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:08:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:08:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:08:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:08:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:08:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:08:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:08:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:08:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:08:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:08:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:08:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:08:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:08:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:08:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:08:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:08:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:08:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:08:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:08:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:08:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:08:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:08:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:08:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:08:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:08:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:08:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:08:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:08:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:08:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:08:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:08:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:08:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:08:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:08:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:08:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:08:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:08:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:08:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:08:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:08:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:08:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:08:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:08:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:08:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:08:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:08:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:08:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:08:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:08:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:08:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:08:46 UTC] 📊 Database Info:
[24-Nov-2025 18:08:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:08:46 UTC]    Books columns count: 45
[24-Nov-2025 18:08:46 UTC]    Categories columns count: 7
[24-Nov-2025 18:08:46 UTC]    Language field in books: YES
[24-Nov-2025 18:08:46 UTC]    Format field in books: YES
[24-Nov-2025 18:08:46 UTC]    Description field in categories: YES
[24-Nov-2025 18:08:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:08:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:08:46 UTC]    Is_active field in books: YES
[24-Nov-2025 18:08:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:08:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:08:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:08:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:08:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:08:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:08:46 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:08:46 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:08:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:08:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:08:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:08:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:08:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:08:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:08:46 UTC] 📊 Database Info:
[24-Nov-2025 18:08:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:08:46 UTC]    Books columns count: 45
[24-Nov-2025 18:08:46 UTC]    Categories columns count: 7
[24-Nov-2025 18:08:46 UTC]    Language field in books: YES
[24-Nov-2025 18:08:46 UTC]    Format field in books: YES
[24-Nov-2025 18:08:46 UTC]    Description field in categories: YES
[24-Nov-2025 18:08:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:08:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:08:46 UTC]    Is_active field in books: YES
[24-Nov-2025 18:08:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:08:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:08:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:08:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:08:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:08:46 UTC] 📊 Database Info:
[24-Nov-2025 18:08:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:08:46 UTC]    Books columns count: 45
[24-Nov-2025 18:08:46 UTC]    Categories columns count: 7
[24-Nov-2025 18:08:46 UTC]    Language field in books: YES
[24-Nov-2025 18:08:46 UTC]    Format field in books: YES
[24-Nov-2025 18:08:46 UTC]    Description field in categories: YES
[24-Nov-2025 18:08:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:08:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:08:46 UTC]    Is_active field in books: YES
[24-Nov-2025 18:08:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:08:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:08:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:08:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:08:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:08:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:08:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:08:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:10:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:10:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:10:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:10:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:10:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:10:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:10:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:10:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:10:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:10:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:10:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:10:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:10:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:10:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:10:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:10:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:10:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:10:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:10:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:10:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:10:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:10:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:10:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:10:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:10:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:10:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:10:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:10:14 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:10:14 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:10:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:10:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:10:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:10:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:10:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:10:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:10:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:10:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:10:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:10:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:10:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:10:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:10:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:10:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:10:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:10:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:10:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:10:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:10:15 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:10:15 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:10:15 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:10:15 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:10:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:10:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:10:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:10:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:10:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:10:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:10:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:10:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:10:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:10:15 UTC] 📊 Database Info:
[24-Nov-2025 18:10:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:10:15 UTC]    Books columns count: 45
[24-Nov-2025 18:10:15 UTC]    Categories columns count: 7
[24-Nov-2025 18:10:15 UTC]    Language field in books: YES
[24-Nov-2025 18:10:15 UTC]    Format field in books: YES
[24-Nov-2025 18:10:15 UTC]    Description field in categories: YES
[24-Nov-2025 18:10:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:10:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:10:15 UTC]    Is_active field in books: YES
[24-Nov-2025 18:10:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:10:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:10:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:10:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:10:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:10:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:10:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:10:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:10:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:10:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:10:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:10:15 UTC] 📊 Database Info:
[24-Nov-2025 18:10:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:10:15 UTC]    Books columns count: 45
[24-Nov-2025 18:10:15 UTC]    Categories columns count: 7
[24-Nov-2025 18:10:15 UTC]    Language field in books: YES
[24-Nov-2025 18:10:15 UTC]    Format field in books: YES
[24-Nov-2025 18:10:15 UTC]    Description field in categories: YES
[24-Nov-2025 18:10:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:10:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:10:15 UTC]    Is_active field in books: YES
[24-Nov-2025 18:10:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:10:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:10:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:10:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:10:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:10:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:10:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:10:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:10:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:10:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:10:15 UTC] 📊 Database Info:
[24-Nov-2025 18:10:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:10:15 UTC]    Books columns count: 45
[24-Nov-2025 18:10:15 UTC]    Categories columns count: 7
[24-Nov-2025 18:10:15 UTC]    Language field in books: YES
[24-Nov-2025 18:10:15 UTC]    Format field in books: YES
[24-Nov-2025 18:10:15 UTC]    Description field in categories: YES
[24-Nov-2025 18:10:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:10:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:10:15 UTC]    Is_active field in books: YES
[24-Nov-2025 18:10:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:10:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:10:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:10:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:10:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:10:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:10:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:10:15 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:10:15 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:10:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:10:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:10:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:10:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:10:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:10:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:10:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:10:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:10:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:10:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:10:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:10:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:10:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:10:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:10:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:10:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:10:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:10:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:10:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:10:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:10:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:10:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:10:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:10:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:10:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:10:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:10:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:10:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:10:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:10:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:10:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:10:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:10:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:10:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:10:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:10:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:10:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:10:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:10:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:10:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:10:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:10:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:10:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:10:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:10:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:10:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:10:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:10:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:10:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:10:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:10:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:10:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:10:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:10:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:10:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:10:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:10:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:10:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:10:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:10:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:10:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:10:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:10:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:10:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:10:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:10:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:10:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:10:35 UTC] 📊 Database Info:
[24-Nov-2025 18:10:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:10:35 UTC]    Books columns count: 45
[24-Nov-2025 18:10:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:10:35 UTC]    Language field in books: YES
[24-Nov-2025 18:10:35 UTC]    Format field in books: YES
[24-Nov-2025 18:10:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:10:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:10:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:10:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:10:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:10:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:10:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:10:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:10:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:10:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:10:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:10:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:10:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:10:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:10:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:10:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:10:35 UTC] 📊 Database Info:
[24-Nov-2025 18:10:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:10:35 UTC]    Books columns count: 45
[24-Nov-2025 18:10:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:10:35 UTC]    Language field in books: YES
[24-Nov-2025 18:10:35 UTC]    Format field in books: YES
[24-Nov-2025 18:10:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:10:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:10:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:10:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:10:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:10:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:10:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:10:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:10:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:10:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:10:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:10:35 UTC] 📊 Database Info:
[24-Nov-2025 18:10:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:10:35 UTC]    Books columns count: 45
[24-Nov-2025 18:10:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:10:35 UTC]    Language field in books: YES
[24-Nov-2025 18:10:35 UTC]    Format field in books: YES
[24-Nov-2025 18:10:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:10:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:10:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:10:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:10:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:10:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:10:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:10:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:10:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:10:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:10:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:10:35 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:10:35 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:12:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:12:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:12:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:12:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:12:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:12:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:12:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:12:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:12:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:12:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:12:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:12:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:12:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:12:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:12:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:12:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:12:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:12:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:12:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:12:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:12:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:12:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:12:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:12:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:12:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:12:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:12:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:12:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:12:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:12:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:12:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:12:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:12:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:12:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:12:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:12:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:12:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:12:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:12:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:12:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:12:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:12:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:12:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:12:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:12:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:12:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:12:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:12:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:12:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:12:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:12:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:12:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:12:16 UTC] 📊 Database Info:
[24-Nov-2025 18:12:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:12:16 UTC]    Books columns count: 45
[24-Nov-2025 18:12:16 UTC]    Categories columns count: 7
[24-Nov-2025 18:12:16 UTC]    Language field in books: YES
[24-Nov-2025 18:12:16 UTC]    Format field in books: YES
[24-Nov-2025 18:12:16 UTC]    Description field in categories: YES
[24-Nov-2025 18:12:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:12:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:12:16 UTC]    Is_active field in books: YES
[24-Nov-2025 18:12:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:12:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:12:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:12:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:12:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:12:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:12:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:12:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:12:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:12:16 UTC] 📊 Database Info:
[24-Nov-2025 18:12:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:12:16 UTC]    Books columns count: 45
[24-Nov-2025 18:12:16 UTC]    Categories columns count: 7
[24-Nov-2025 18:12:16 UTC]    Language field in books: YES
[24-Nov-2025 18:12:16 UTC]    Format field in books: YES
[24-Nov-2025 18:12:16 UTC]    Description field in categories: YES
[24-Nov-2025 18:12:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:12:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:12:16 UTC]    Is_active field in books: YES
[24-Nov-2025 18:12:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:12:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:12:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:12:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:12:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:12:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:12:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:12:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:12:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:12:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:12:16 UTC] 📊 Database Info:
[24-Nov-2025 18:12:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:12:16 UTC]    Books columns count: 45
[24-Nov-2025 18:12:16 UTC]    Categories columns count: 7
[24-Nov-2025 18:12:16 UTC]    Language field in books: YES
[24-Nov-2025 18:12:16 UTC]    Format field in books: YES
[24-Nov-2025 18:12:16 UTC]    Description field in categories: YES
[24-Nov-2025 18:12:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:12:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:12:16 UTC]    Is_active field in books: YES
[24-Nov-2025 18:12:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:12:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:12:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:12:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:12:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:12:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:12:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:12:16 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:12:16 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:14:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:14:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:14:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:14:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:14:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:14:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:14:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:14:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:14:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:14:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:14:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:14:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:14:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:14:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:14:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:14:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:14:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:14:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:14:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:14:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:14:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:14:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:14:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:14:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:14:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:14:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:14:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:14:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:14:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:14:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:14:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:14:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:14:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:14:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:14:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:14:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:14:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:14:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:14:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:14:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:14:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:14:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:14:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:14:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:14:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:14:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:14:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:14:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:14:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:14:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:14:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:14:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:14:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:14:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:14:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:14:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:14:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:14:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:14:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:14:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:14:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:14:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:14:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:14:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:14:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:14:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:14:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:14:37 UTC] 📊 Database Info:
[24-Nov-2025 18:14:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:14:37 UTC]    Books columns count: 45
[24-Nov-2025 18:14:37 UTC]    Categories columns count: 7
[24-Nov-2025 18:14:37 UTC]    Language field in books: YES
[24-Nov-2025 18:14:37 UTC]    Format field in books: YES
[24-Nov-2025 18:14:37 UTC]    Description field in categories: YES
[24-Nov-2025 18:14:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:14:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:14:37 UTC]    Is_active field in books: YES
[24-Nov-2025 18:14:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:14:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:14:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:14:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:14:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:14:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:14:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:14:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:14:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:14:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:14:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:14:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:14:37 UTC] 📊 Database Info:
[24-Nov-2025 18:14:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:14:37 UTC]    Books columns count: 45
[24-Nov-2025 18:14:37 UTC]    Categories columns count: 7
[24-Nov-2025 18:14:37 UTC]    Language field in books: YES
[24-Nov-2025 18:14:37 UTC]    Format field in books: YES
[24-Nov-2025 18:14:37 UTC]    Description field in categories: YES
[24-Nov-2025 18:14:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:14:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:14:37 UTC]    Is_active field in books: YES
[24-Nov-2025 18:14:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:14:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:14:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:14:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:14:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:14:37 UTC] 📊 Database Info:
[24-Nov-2025 18:14:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:14:37 UTC]    Books columns count: 45
[24-Nov-2025 18:14:37 UTC]    Categories columns count: 7
[24-Nov-2025 18:14:37 UTC]    Language field in books: YES
[24-Nov-2025 18:14:37 UTC]    Format field in books: YES
[24-Nov-2025 18:14:37 UTC]    Description field in categories: YES
[24-Nov-2025 18:14:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:14:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:14:37 UTC]    Is_active field in books: YES
[24-Nov-2025 18:14:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:14:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:14:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:14:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:14:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:14:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:14:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:14:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:14:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:14:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:14:37 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:14:37 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:15:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:15:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:15:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:15:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:15:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:15:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:15:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:15:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:15:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:15:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:15:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:15:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:15:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:15:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:15:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:15:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:15:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:15:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:15:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:15:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:15:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:15:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:15:14 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:15:14 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:15:14 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:15:14 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:15:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:15:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:15:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:15:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:15:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:15:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:15:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:15:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:15:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:15:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:15:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:15:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:15:14 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:15:14 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:15:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:15:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:15:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:15:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:15:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:15:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:15:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:15:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:15:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:15:14 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:15:14 UTC] 📊 Database Info:
[24-Nov-2025 18:15:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:15:14 UTC]    Books columns count: 45
[24-Nov-2025 18:15:14 UTC]    Categories columns count: 7
[24-Nov-2025 18:15:14 UTC]    Language field in books: YES
[24-Nov-2025 18:15:14 UTC]    Format field in books: YES
[24-Nov-2025 18:15:14 UTC]    Description field in categories: YES
[24-Nov-2025 18:15:14 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:15:14 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:15:14 UTC]    Is_active field in books: YES
[24-Nov-2025 18:15:14 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:15:14 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:15:14 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:15:14 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:15:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:15:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:15:14 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:15:14 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:15:14 UTC] 📊 Database Info:
[24-Nov-2025 18:15:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:15:14 UTC]    Books columns count: 45
[24-Nov-2025 18:15:14 UTC]    Categories columns count: 7
[24-Nov-2025 18:15:14 UTC]    Language field in books: YES
[24-Nov-2025 18:15:14 UTC]    Format field in books: YES
[24-Nov-2025 18:15:14 UTC]    Description field in categories: YES
[24-Nov-2025 18:15:14 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:15:14 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:15:14 UTC]    Is_active field in books: YES
[24-Nov-2025 18:15:14 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:15:14 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:15:14 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:15:14 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:15:14 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:15:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:15:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:15:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:15:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:15:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:15:14 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:15:14 UTC] 📊 Database Info:
[24-Nov-2025 18:15:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:15:14 UTC]    Books columns count: 45
[24-Nov-2025 18:15:14 UTC]    Categories columns count: 7
[24-Nov-2025 18:15:14 UTC]    Language field in books: YES
[24-Nov-2025 18:15:14 UTC]    Format field in books: YES
[24-Nov-2025 18:15:14 UTC]    Description field in categories: YES
[24-Nov-2025 18:15:14 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:15:14 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:15:14 UTC]    Is_active field in books: YES
[24-Nov-2025 18:15:14 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:15:14 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:15:14 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:15:14 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:15:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:15:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:15:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:19:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:19:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:19:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:19:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:19:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:19:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:19:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:19:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:19:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:19:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:19:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:19:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:19:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:19:12 UTC] 📊 Database Info:
[24-Nov-2025 18:19:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:19:12 UTC]    Books columns count: 45
[24-Nov-2025 18:19:12 UTC]    Categories columns count: 7
[24-Nov-2025 18:19:12 UTC]    Language field in books: YES
[24-Nov-2025 18:19:12 UTC]    Format field in books: YES
[24-Nov-2025 18:19:12 UTC]    Description field in categories: YES
[24-Nov-2025 18:19:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:19:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:19:12 UTC]    Is_active field in books: YES
[24-Nov-2025 18:19:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:19:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:19:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:19:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:19:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:19:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:19:12 UTC] 📊 Database Info:
[24-Nov-2025 18:19:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:19:12 UTC]    Books columns count: 45
[24-Nov-2025 18:19:12 UTC]    Categories columns count: 7
[24-Nov-2025 18:19:12 UTC]    Language field in books: YES
[24-Nov-2025 18:19:12 UTC]    Format field in books: YES
[24-Nov-2025 18:19:12 UTC]    Description field in categories: YES
[24-Nov-2025 18:19:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:19:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:19:12 UTC]    Is_active field in books: YES
[24-Nov-2025 18:19:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:19:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:19:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:19:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:19:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:19:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:19:12 UTC] 📊 Database Info:
[24-Nov-2025 18:19:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:19:12 UTC]    Books columns count: 45
[24-Nov-2025 18:19:12 UTC]    Categories columns count: 7
[24-Nov-2025 18:19:12 UTC]    Language field in books: YES
[24-Nov-2025 18:19:12 UTC]    Format field in books: YES
[24-Nov-2025 18:19:12 UTC]    Description field in categories: YES
[24-Nov-2025 18:19:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:19:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:19:12 UTC]    Is_active field in books: YES
[24-Nov-2025 18:19:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:19:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:19:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:19:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:19:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:19:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:19:12 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:19:12 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:19:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:19:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:19:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:19:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:19:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:47 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:19:47 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:19:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:19:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:19:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:47 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:19:47 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:19:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:47 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:19:47 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:47 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:19:47 UTC] 📊 Database Info:
[24-Nov-2025 18:19:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:19:47 UTC]    Books columns count: 45
[24-Nov-2025 18:19:47 UTC]    Categories columns count: 7
[24-Nov-2025 18:19:47 UTC]    Language field in books: YES
[24-Nov-2025 18:19:47 UTC]    Format field in books: YES
[24-Nov-2025 18:19:47 UTC]    Description field in categories: YES
[24-Nov-2025 18:19:47 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:19:47 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:19:47 UTC]    Is_active field in books: YES
[24-Nov-2025 18:19:47 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:19:47 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:19:47 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:19:47 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:19:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:19:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:47 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:19:47 UTC] 📊 Database Info:
[24-Nov-2025 18:19:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:19:47 UTC]    Books columns count: 45
[24-Nov-2025 18:19:47 UTC]    Categories columns count: 7
[24-Nov-2025 18:19:47 UTC]    Language field in books: YES
[24-Nov-2025 18:19:47 UTC]    Format field in books: YES
[24-Nov-2025 18:19:47 UTC]    Description field in categories: YES
[24-Nov-2025 18:19:47 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:19:47 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:19:47 UTC]    Is_active field in books: YES
[24-Nov-2025 18:19:47 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:19:47 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:19:47 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:19:47 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:19:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:19:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:47 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:19:47 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:47 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:19:47 UTC] 📊 Database Info:
[24-Nov-2025 18:19:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:19:47 UTC]    Books columns count: 45
[24-Nov-2025 18:19:47 UTC]    Categories columns count: 7
[24-Nov-2025 18:19:47 UTC]    Language field in books: YES
[24-Nov-2025 18:19:47 UTC]    Format field in books: YES
[24-Nov-2025 18:19:47 UTC]    Description field in categories: YES
[24-Nov-2025 18:19:47 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:19:47 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:19:47 UTC]    Is_active field in books: YES
[24-Nov-2025 18:19:47 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:19:47 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:19:47 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:19:47 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:19:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:19:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:19:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:19:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:19:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:19:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:47 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:19:47 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:19:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:19:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:47 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:19:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:47 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:47 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:19:47 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:19:47 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:19:47 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:19:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:47 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:47 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:47 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:47 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:47 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:47 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:47 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:19:47 UTC] 📊 Database Info:
[24-Nov-2025 18:19:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:19:47 UTC]    Books columns count: 45
[24-Nov-2025 18:19:47 UTC]    Categories columns count: 7
[24-Nov-2025 18:19:47 UTC]    Language field in books: YES
[24-Nov-2025 18:19:47 UTC]    Format field in books: YES
[24-Nov-2025 18:19:47 UTC]    Description field in categories: YES
[24-Nov-2025 18:19:47 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:19:47 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:19:47 UTC]    Is_active field in books: YES
[24-Nov-2025 18:19:47 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:19:47 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:19:47 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:19:47 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:19:47 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:19:47 UTC] 📊 Database Info:
[24-Nov-2025 18:19:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:19:47 UTC]    Books columns count: 45
[24-Nov-2025 18:19:47 UTC]    Categories columns count: 7
[24-Nov-2025 18:19:47 UTC]    Language field in books: YES
[24-Nov-2025 18:19:47 UTC]    Format field in books: YES
[24-Nov-2025 18:19:47 UTC]    Description field in categories: YES
[24-Nov-2025 18:19:47 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:19:47 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:19:47 UTC]    Is_active field in books: YES
[24-Nov-2025 18:19:47 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:19:47 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:19:47 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:19:47 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:19:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:19:47 UTC] 📊 Database Info:
[24-Nov-2025 18:19:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:19:47 UTC]    Books columns count: 45
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:19:47 UTC]    Categories columns count: 7
[24-Nov-2025 18:19:47 UTC]    Language field in books: YES
[24-Nov-2025 18:19:47 UTC]    Format field in books: YES
[24-Nov-2025 18:19:47 UTC]    Description field in categories: YES
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:19:47 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:19:47 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:19:47 UTC]    Is_active field in books: YES
[24-Nov-2025 18:19:47 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:19:47 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:19:47 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:19:47 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:19:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:19:47 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:19:47 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:19:47 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:19:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:19:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:19:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:19:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:19:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:19:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:19:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:19:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:19:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:19:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:19:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:19:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:19:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:19:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:19:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:19:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:19:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:19:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:19:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:19:48 UTC] 📊 Database Info:
[24-Nov-2025 18:19:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:19:48 UTC]    Books columns count: 45
[24-Nov-2025 18:19:48 UTC]    Categories columns count: 7
[24-Nov-2025 18:19:48 UTC]    Language field in books: YES
[24-Nov-2025 18:19:48 UTC]    Format field in books: YES
[24-Nov-2025 18:19:48 UTC]    Description field in categories: YES
[24-Nov-2025 18:19:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:19:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:19:48 UTC]    Is_active field in books: YES
[24-Nov-2025 18:19:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:19:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:19:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:19:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:19:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:19:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:19:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:19:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:19:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:19:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:19:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:19:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:19:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:19:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:19:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:19:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:19:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:19:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:20:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:20:05 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:20:05 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:20:05 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:20:05 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:20:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:20:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:20:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:20:05 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:20:05 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:20:05 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:20:05 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:20:05 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:20:05 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:20:05 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:20:05 UTC] 📊 Database Info:
[24-Nov-2025 18:20:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:20:05 UTC]    Books columns count: 45
[24-Nov-2025 18:20:05 UTC]    Categories columns count: 7
[24-Nov-2025 18:20:05 UTC]    Language field in books: YES
[24-Nov-2025 18:20:05 UTC]    Format field in books: YES
[24-Nov-2025 18:20:05 UTC]    Description field in categories: YES
[24-Nov-2025 18:20:05 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:20:05 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:20:05 UTC]    Is_active field in books: YES
[24-Nov-2025 18:20:05 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:20:05 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:20:05 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:20:05 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:20:05 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:20:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:20:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:20:05 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:20:05 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:20:05 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:20:05 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:20:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:20:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:20:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:20:05 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:20:05 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:20:05 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:20:05 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:20:05 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:20:05 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:20:05 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:20:05 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:20:05 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:20:05 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:20:05 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:20:05 UTC] 📊 Database Info:
[24-Nov-2025 18:20:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:20:05 UTC]    Books columns count: 45
[24-Nov-2025 18:20:05 UTC]    Categories columns count: 7
[24-Nov-2025 18:20:05 UTC]    Language field in books: YES
[24-Nov-2025 18:20:05 UTC]    Format field in books: YES
[24-Nov-2025 18:20:05 UTC]    Description field in categories: YES
[24-Nov-2025 18:20:05 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:20:05 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:20:05 UTC]    Is_active field in books: YES
[24-Nov-2025 18:20:05 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:20:05 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:20:05 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:20:05 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:20:05 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:20:05 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:20:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:20:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:20:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:20:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:20:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:20:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:20:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:20:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:20:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:20:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:20:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:20:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:20:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:20:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:20:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:20:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:20:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:20:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:20:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:20:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:20:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:20:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:20:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:20:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:20:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:20:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:20:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:20:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:20:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:20:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:20:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:20:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:20:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:20:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:20:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:20:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:20:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:20:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:20:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:20:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:20:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:20:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:20:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:20:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:20:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:20:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:20:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:20:46 UTC] 📊 Database Info:
[24-Nov-2025 18:20:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:20:46 UTC]    Books columns count: 45
[24-Nov-2025 18:20:46 UTC]    Categories columns count: 7
[24-Nov-2025 18:20:46 UTC]    Language field in books: YES
[24-Nov-2025 18:20:46 UTC]    Format field in books: YES
[24-Nov-2025 18:20:46 UTC]    Description field in categories: YES
[24-Nov-2025 18:20:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:20:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:20:46 UTC]    Is_active field in books: YES
[24-Nov-2025 18:20:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:20:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:20:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:20:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:20:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:20:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:20:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:20:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:20:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:20:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:20:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:20:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:20:46 UTC] 📊 Database Info:
[24-Nov-2025 18:20:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:20:46 UTC]    Books columns count: 45
[24-Nov-2025 18:20:46 UTC]    Categories columns count: 7
[24-Nov-2025 18:20:46 UTC]    Language field in books: YES
[24-Nov-2025 18:20:46 UTC]    Format field in books: YES
[24-Nov-2025 18:20:46 UTC]    Description field in categories: YES
[24-Nov-2025 18:20:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:20:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:20:46 UTC]    Is_active field in books: YES
[24-Nov-2025 18:20:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:20:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:20:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:20:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:20:46 UTC] 📊 Database Info:
[24-Nov-2025 18:20:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:20:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:20:46 UTC]    Books columns count: 45
[24-Nov-2025 18:20:46 UTC]    Categories columns count: 7
[24-Nov-2025 18:20:46 UTC]    Language field in books: YES
[24-Nov-2025 18:20:46 UTC]    Format field in books: YES
[24-Nov-2025 18:20:46 UTC]    Description field in categories: YES
[24-Nov-2025 18:20:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:20:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:20:46 UTC]    Is_active field in books: YES
[24-Nov-2025 18:20:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:20:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:20:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:20:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:20:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:20:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:20:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:20:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:20:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:20:46 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:20:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:20:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:20:46 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:21:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:21:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:21:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:21:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:21:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:21:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:21:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:21:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:21:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:21:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:21:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:21:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:21:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:21:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:21:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:21:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:21:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:21:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:21:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:21:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:21:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:21:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:21:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:21:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:21:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:21:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:21:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:21:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:21:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:21:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:21:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:21:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:21:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:21:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:21:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:21:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:21:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:21:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:21:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:21:35 UTC] 📊 Database Info:
[24-Nov-2025 18:21:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:21:35 UTC]    Books columns count: 45
[24-Nov-2025 18:21:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:21:35 UTC]    Language field in books: YES
[24-Nov-2025 18:21:35 UTC]    Format field in books: YES
[24-Nov-2025 18:21:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:21:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:21:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:21:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:21:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:21:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:21:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:21:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:21:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:21:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:21:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:21:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:21:35 UTC] 📊 Database Info:
[24-Nov-2025 18:21:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:21:35 UTC]    Books columns count: 45
[24-Nov-2025 18:21:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:21:35 UTC]    Language field in books: YES
[24-Nov-2025 18:21:35 UTC]    Format field in books: YES
[24-Nov-2025 18:21:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:21:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:21:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:21:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:21:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:21:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:21:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:21:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:21:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:21:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:21:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:21:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:21:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:21:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:21:35 UTC] 📊 Database Info:
[24-Nov-2025 18:21:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:21:35 UTC]    Books columns count: 45
[24-Nov-2025 18:21:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:21:35 UTC]    Language field in books: YES
[24-Nov-2025 18:21:35 UTC]    Format field in books: YES
[24-Nov-2025 18:21:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:21:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:21:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:21:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:21:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:21:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:21:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:21:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:21:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:21:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:21:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:21:35 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:21:35 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:24:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:24:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:24:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:24:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:24:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:24:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:24:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:24:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:24:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:24:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:24:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:24:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:24:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:24:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:24:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:24:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:24:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:24:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:24:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:24:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:24:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:24:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:24:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:24:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:24:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:24:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:24:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:24:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:24:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:24:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:24:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:24:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:24:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:24:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:24:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:24:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:24:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:24:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:24:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:24:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:24:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:24:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:24:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:24:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:24:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:24:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:24:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:24:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:24:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:24:35 UTC] 📊 Database Info:
[24-Nov-2025 18:24:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:24:35 UTC]    Books columns count: 45
[24-Nov-2025 18:24:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:24:35 UTC]    Language field in books: YES
[24-Nov-2025 18:24:35 UTC]    Format field in books: YES
[24-Nov-2025 18:24:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:24:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:24:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:24:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:24:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:24:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:24:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:24:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:24:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:24:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:24:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:24:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:24:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:24:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:24:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:24:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:24:35 UTC] 📊 Database Info:
[24-Nov-2025 18:24:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:24:35 UTC]    Books columns count: 45
[24-Nov-2025 18:24:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:24:35 UTC]    Language field in books: YES
[24-Nov-2025 18:24:35 UTC]    Format field in books: YES
[24-Nov-2025 18:24:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:24:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:24:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:24:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:24:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:24:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:24:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:24:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:24:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:24:35 UTC] 📊 Database Info:
[24-Nov-2025 18:24:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:24:35 UTC]    Books columns count: 45
[24-Nov-2025 18:24:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:24:35 UTC]    Language field in books: YES
[24-Nov-2025 18:24:35 UTC]    Format field in books: YES
[24-Nov-2025 18:24:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:24:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:24:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:24:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:24:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:24:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:24:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:24:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:24:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:24:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:24:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:24:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:24:35 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:24:35 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:24:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:24:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:24:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:24:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:24:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:24:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:24:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:24:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:24:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:24:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:24:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:24:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:24:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:24:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:24:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:24:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:24:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:24:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:24:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:24:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:24:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:24:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:24:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:24:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:24:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:24:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:24:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:24:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:24:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:24:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:24:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:24:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:24:37 UTC] 📊 Database Info:
[24-Nov-2025 18:24:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:24:37 UTC]    Books columns count: 45
[24-Nov-2025 18:24:37 UTC]    Categories columns count: 7
[24-Nov-2025 18:24:37 UTC]    Language field in books: YES
[24-Nov-2025 18:24:37 UTC]    Format field in books: YES
[24-Nov-2025 18:24:37 UTC]    Description field in categories: YES
[24-Nov-2025 18:24:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:24:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:24:37 UTC]    Is_active field in books: YES
[24-Nov-2025 18:24:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:24:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:24:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:24:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:24:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:24:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:24:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:24:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:27:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:27:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:27:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:13 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:27:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:27:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:27:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:27:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:27:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:27:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:27:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:27:13 UTC] 📊 Database Info:
[24-Nov-2025 18:27:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:27:13 UTC]    Books columns count: 45
[24-Nov-2025 18:27:13 UTC]    Categories columns count: 7
[24-Nov-2025 18:27:13 UTC]    Language field in books: YES
[24-Nov-2025 18:27:13 UTC]    Format field in books: YES
[24-Nov-2025 18:27:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:13 UTC]    Description field in categories: YES
[24-Nov-2025 18:27:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:27:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:27:13 UTC]    Is_active field in books: YES
[24-Nov-2025 18:27:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:27:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:27:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:27:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:27:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:27:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:27:13 UTC] 📊 Database Info:
[24-Nov-2025 18:27:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:27:13 UTC]    Books columns count: 45
[24-Nov-2025 18:27:13 UTC]    Categories columns count: 7
[24-Nov-2025 18:27:13 UTC]    Language field in books: YES
[24-Nov-2025 18:27:13 UTC]    Format field in books: YES
[24-Nov-2025 18:27:13 UTC]    Description field in categories: YES
[24-Nov-2025 18:27:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:27:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:27:13 UTC]    Is_active field in books: YES
[24-Nov-2025 18:27:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:27:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:27:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:27:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:27:13 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:27:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:27:13 UTC] 📊 Database Info:
[24-Nov-2025 18:27:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:27:13 UTC]    Books columns count: 45
[24-Nov-2025 18:27:13 UTC]    Categories columns count: 7
[24-Nov-2025 18:27:13 UTC]    Language field in books: YES
[24-Nov-2025 18:27:13 UTC]    Format field in books: YES
[24-Nov-2025 18:27:13 UTC]    Description field in categories: YES
[24-Nov-2025 18:27:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:27:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:27:13 UTC]    Is_active field in books: YES
[24-Nov-2025 18:27:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:27:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:27:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:27:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:27:13 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:27:13 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:27:13 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:27:13 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:27:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:27:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:27:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:27:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:27:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:27:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:27:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:27:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:27:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:27:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:27:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:27:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:27:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:27:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:27:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:27:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:27:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:27:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:27:28 UTC] 📊 Database Info:
[24-Nov-2025 18:27:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:27:28 UTC]    Books columns count: 45
[24-Nov-2025 18:27:28 UTC]    Categories columns count: 7
[24-Nov-2025 18:27:28 UTC]    Language field in books: YES
[24-Nov-2025 18:27:28 UTC]    Format field in books: YES
[24-Nov-2025 18:27:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:27:28 UTC]    Description field in categories: YES
[24-Nov-2025 18:27:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:27:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:27:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:27:28 UTC]    Is_active field in books: YES
[24-Nov-2025 18:27:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:27:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:27:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:27:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:27:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:27:28 UTC] 📊 Database Info:
[24-Nov-2025 18:27:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:27:28 UTC]    Books columns count: 45
[24-Nov-2025 18:27:28 UTC]    Categories columns count: 7
[24-Nov-2025 18:27:28 UTC]    Language field in books: YES
[24-Nov-2025 18:27:28 UTC]    Format field in books: YES
[24-Nov-2025 18:27:28 UTC]    Description field in categories: YES
[24-Nov-2025 18:27:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:27:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:27:28 UTC]    Is_active field in books: YES
[24-Nov-2025 18:27:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:27:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:27:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:27:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:27:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:27:28 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:27:28 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:27:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:27:28 UTC] 📊 Database Info:
[24-Nov-2025 18:27:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:27:28 UTC]    Books columns count: 45
[24-Nov-2025 18:27:28 UTC]    Categories columns count: 7
[24-Nov-2025 18:27:28 UTC]    Language field in books: YES
[24-Nov-2025 18:27:28 UTC]    Format field in books: YES
[24-Nov-2025 18:27:28 UTC]    Description field in categories: YES
[24-Nov-2025 18:27:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:27:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:27:28 UTC]    Is_active field in books: YES
[24-Nov-2025 18:27:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:27:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:27:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:27:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:27:28 UTC] 📊 Database Info:
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:27:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:27:28 UTC]    Books columns count: 45
[24-Nov-2025 18:27:28 UTC]    Categories columns count: 7
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:28 UTC]    Language field in books: YES
[24-Nov-2025 18:27:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:27:28 UTC]    Format field in books: YES
[24-Nov-2025 18:27:28 UTC]    Description field in categories: YES
[24-Nov-2025 18:27:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:27:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:27:28 UTC]    Is_active field in books: YES
[24-Nov-2025 18:27:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:27:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:27:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:27:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:27:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:27:28 UTC] 📊 Database Info:
[24-Nov-2025 18:27:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:27:28 UTC]    Books columns count: 45
[24-Nov-2025 18:27:28 UTC]    Categories columns count: 7
[24-Nov-2025 18:27:28 UTC]    Language field in books: YES
[24-Nov-2025 18:27:28 UTC]    Format field in books: YES
[24-Nov-2025 18:27:28 UTC]    Description field in categories: YES
[24-Nov-2025 18:27:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:27:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:27:28 UTC]    Is_active field in books: YES
[24-Nov-2025 18:27:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:27:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:27:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:27:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:27:28 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:27:28 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:27:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:27:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:27:28 UTC] 📊 Database Info:
[24-Nov-2025 18:27:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:27:28 UTC]    Books columns count: 45
[24-Nov-2025 18:27:28 UTC]    Categories columns count: 7
[24-Nov-2025 18:27:28 UTC]    Language field in books: YES
[24-Nov-2025 18:27:28 UTC]    Format field in books: YES
[24-Nov-2025 18:27:28 UTC]    Description field in categories: YES
[24-Nov-2025 18:27:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:27:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:27:28 UTC]    Is_active field in books: YES
[24-Nov-2025 18:27:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:27:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:27:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:27:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:27:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:27:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:27:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:27:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:27:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:27:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:27:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:34 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:27:34 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:27:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:27:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:34 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:27:34 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:27:34 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:27:34 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:27:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:34 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:27:34 UTC] 📊 Database Info:
[24-Nov-2025 18:27:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:27:34 UTC]    Books columns count: 45
[24-Nov-2025 18:27:34 UTC]    Categories columns count: 7
[24-Nov-2025 18:27:34 UTC]    Language field in books: YES
[24-Nov-2025 18:27:34 UTC]    Format field in books: YES
[24-Nov-2025 18:27:34 UTC]    Description field in categories: YES
[24-Nov-2025 18:27:34 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:27:34 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:27:34 UTC]    Is_active field in books: YES
[24-Nov-2025 18:27:34 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:27:34 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:27:34 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:27:34 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:27:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:27:34 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:27:34 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:27:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:34 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:27:34 UTC] 📊 Database Info:
[24-Nov-2025 18:27:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:27:34 UTC]    Books columns count: 45
[24-Nov-2025 18:27:34 UTC]    Categories columns count: 7
[24-Nov-2025 18:27:34 UTC]    Language field in books: YES
[24-Nov-2025 18:27:34 UTC]    Format field in books: YES
[24-Nov-2025 18:27:34 UTC]    Description field in categories: YES
[24-Nov-2025 18:27:34 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:27:34 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:27:34 UTC]    Is_active field in books: YES
[24-Nov-2025 18:27:34 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:27:34 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:27:34 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:27:34 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:27:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:27:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:34 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:27:34 UTC] 📊 Database Info:
[24-Nov-2025 18:27:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:27:34 UTC]    Books columns count: 45
[24-Nov-2025 18:27:34 UTC]    Categories columns count: 7
[24-Nov-2025 18:27:34 UTC]    Language field in books: YES
[24-Nov-2025 18:27:34 UTC]    Format field in books: YES
[24-Nov-2025 18:27:34 UTC]    Description field in categories: YES
[24-Nov-2025 18:27:34 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:27:34 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:27:34 UTC]    Is_active field in books: YES
[24-Nov-2025 18:27:34 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:27:34 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:27:34 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:27:34 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:27:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:27:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:27:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:27:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:27:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:27:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:27:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:27:35 UTC] 📊 Database Info:
[24-Nov-2025 18:27:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:27:35 UTC]    Books columns count: 45
[24-Nov-2025 18:27:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:27:35 UTC]    Language field in books: YES
[24-Nov-2025 18:27:35 UTC]    Format field in books: YES
[24-Nov-2025 18:27:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:27:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:27:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:27:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:27:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:27:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:27:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:27:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:27:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:27:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:27:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:27:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:27:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:27:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:27:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:27:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:27:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:27:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:27:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:27:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:27:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:27:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:38 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:27:38 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:27:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:38 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:27:38 UTC] 📊 Database Info:
[24-Nov-2025 18:27:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:27:38 UTC]    Books columns count: 45
[24-Nov-2025 18:27:38 UTC]    Categories columns count: 7
[24-Nov-2025 18:27:38 UTC]    Language field in books: YES
[24-Nov-2025 18:27:38 UTC]    Format field in books: YES
[24-Nov-2025 18:27:38 UTC]    Description field in categories: YES
[24-Nov-2025 18:27:38 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:27:38 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:27:38 UTC]    Is_active field in books: YES
[24-Nov-2025 18:27:38 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:27:38 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:27:38 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:27:38 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:27:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:27:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:38 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:27:38 UTC] 📊 Database Info:
[24-Nov-2025 18:27:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:27:38 UTC]    Books columns count: 45
[24-Nov-2025 18:27:38 UTC]    Categories columns count: 7
[24-Nov-2025 18:27:38 UTC]    Language field in books: YES
[24-Nov-2025 18:27:38 UTC]    Format field in books: YES
[24-Nov-2025 18:27:38 UTC]    Description field in categories: YES
[24-Nov-2025 18:27:38 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:27:38 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:27:38 UTC]    Is_active field in books: YES
[24-Nov-2025 18:27:38 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:27:38 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:27:38 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:27:38 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:27:38 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:27:38 UTC] 📊 Database Info:
[24-Nov-2025 18:27:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:27:38 UTC]    Books columns count: 45
[24-Nov-2025 18:27:38 UTC]    Categories columns count: 7
[24-Nov-2025 18:27:38 UTC]    Language field in books: YES
[24-Nov-2025 18:27:38 UTC]    Format field in books: YES
[24-Nov-2025 18:27:38 UTC]    Description field in categories: YES
[24-Nov-2025 18:27:38 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:27:38 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:27:38 UTC]    Is_active field in books: YES
[24-Nov-2025 18:27:38 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:27:38 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:27:38 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:27:38 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:27:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:27:38 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:27:38 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:27:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:27:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:27:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:27:38 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:27:38 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:27:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:27:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:27:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:27:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:27:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:27:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:27:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:27:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:27:38 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:27:38 UTC] 📊 Database Info:
[24-Nov-2025 18:27:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:27:38 UTC]    Books columns count: 45
[24-Nov-2025 18:27:38 UTC]    Categories columns count: 7
[24-Nov-2025 18:27:38 UTC]    Language field in books: YES
[24-Nov-2025 18:27:38 UTC]    Format field in books: YES
[24-Nov-2025 18:27:38 UTC]    Description field in categories: YES
[24-Nov-2025 18:27:38 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:27:38 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:27:38 UTC]    Is_active field in books: YES
[24-Nov-2025 18:27:38 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:27:38 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:27:38 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:27:38 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:27:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:27:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:27:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:28:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:28:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:28:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:28:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:28:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:28:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:28:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:28:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:28:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:28:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:28:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:28:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:28:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:28:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:28:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:28:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:28:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:28:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:28:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:28:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:28:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:28:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:28:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:28:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:28:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:28:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:28:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:28:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:28:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:28:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:28:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:28:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:28:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:28:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:28:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:28:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:28:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:28:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:28:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:28:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:28:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:28:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:28:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:28:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:28:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:28:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:28:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:28:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:28:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:28:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:28:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:28:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:28:49 UTC] 📊 Database Info:
[24-Nov-2025 18:28:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:28:49 UTC]    Books columns count: 45
[24-Nov-2025 18:28:49 UTC]    Categories columns count: 7
[24-Nov-2025 18:28:49 UTC]    Language field in books: YES
[24-Nov-2025 18:28:49 UTC]    Format field in books: YES
[24-Nov-2025 18:28:49 UTC]    Description field in categories: YES
[24-Nov-2025 18:28:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:28:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:28:49 UTC]    Is_active field in books: YES
[24-Nov-2025 18:28:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:28:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:28:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:28:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:28:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:28:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:28:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:28:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:28:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:28:49 UTC] 📊 Database Info:
[24-Nov-2025 18:28:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:28:49 UTC]    Books columns count: 45
[24-Nov-2025 18:28:49 UTC]    Categories columns count: 7
[24-Nov-2025 18:28:49 UTC]    Language field in books: YES
[24-Nov-2025 18:28:49 UTC]    Format field in books: YES
[24-Nov-2025 18:28:49 UTC]    Description field in categories: YES
[24-Nov-2025 18:28:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:28:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:28:49 UTC]    Is_active field in books: YES
[24-Nov-2025 18:28:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:28:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:28:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:28:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:28:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:28:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:28:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:28:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:28:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:28:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:28:49 UTC] 📊 Database Info:
[24-Nov-2025 18:28:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:28:49 UTC]    Books columns count: 45
[24-Nov-2025 18:28:49 UTC]    Categories columns count: 7
[24-Nov-2025 18:28:49 UTC]    Language field in books: YES
[24-Nov-2025 18:28:49 UTC]    Format field in books: YES
[24-Nov-2025 18:28:49 UTC]    Description field in categories: YES
[24-Nov-2025 18:28:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:28:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:28:49 UTC]    Is_active field in books: YES
[24-Nov-2025 18:28:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:28:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:28:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:28:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:28:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:28:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:28:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:28:49 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:28:49 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:29:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:29:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:29:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:29:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:29:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:29:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:29:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:29:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:29:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:29:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:29:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:29:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:29:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:29:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:29:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:29:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:29:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:29:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:29:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:29:06 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:29:06 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:29:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:29:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:29:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:29:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:29:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:29:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:29:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:29:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:29:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:29:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:29:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:29:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:29:06 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:29:06 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:29:06 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:29:06 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:29:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:29:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:29:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:29:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:29:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:29:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:29:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:29:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:29:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:29:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:29:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:29:06 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:29:06 UTC] 📊 Database Info:
[24-Nov-2025 18:29:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:29:06 UTC]    Books columns count: 45
[24-Nov-2025 18:29:06 UTC]    Categories columns count: 7
[24-Nov-2025 18:29:06 UTC]    Language field in books: YES
[24-Nov-2025 18:29:06 UTC]    Format field in books: YES
[24-Nov-2025 18:29:06 UTC]    Description field in categories: YES
[24-Nov-2025 18:29:06 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:29:06 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:29:06 UTC]    Is_active field in books: YES
[24-Nov-2025 18:29:06 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:29:06 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:29:06 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:29:06 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:29:06 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:29:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:29:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:29:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:29:06 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:29:06 UTC] 📊 Database Info:
[24-Nov-2025 18:29:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:29:06 UTC]    Books columns count: 45
[24-Nov-2025 18:29:06 UTC]    Categories columns count: 7
[24-Nov-2025 18:29:06 UTC]    Language field in books: YES
[24-Nov-2025 18:29:06 UTC]    Format field in books: YES
[24-Nov-2025 18:29:06 UTC]    Description field in categories: YES
[24-Nov-2025 18:29:06 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:29:06 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:29:06 UTC]    Is_active field in books: YES
[24-Nov-2025 18:29:06 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:29:06 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:29:06 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:29:06 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:29:06 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:29:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:29:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:29:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:29:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:29:06 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:29:06 UTC] 📊 Database Info:
[24-Nov-2025 18:29:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:29:06 UTC]    Books columns count: 45
[24-Nov-2025 18:29:06 UTC]    Categories columns count: 7
[24-Nov-2025 18:29:06 UTC]    Language field in books: YES
[24-Nov-2025 18:29:06 UTC]    Format field in books: YES
[24-Nov-2025 18:29:06 UTC]    Description field in categories: YES
[24-Nov-2025 18:29:06 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:29:06 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:29:06 UTC]    Is_active field in books: YES
[24-Nov-2025 18:29:06 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:29:06 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:29:06 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:29:06 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:29:06 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:29:06 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:29:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:29:06 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:29:06 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:29:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:29:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:29:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:29:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:29:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:29:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:29:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:29:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:29:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:29:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:29:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:29:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:29:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:29:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:29:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:29:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:29:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:29:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:29:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:29:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:29:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:29:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:29:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:29:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:29:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:29:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:29:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:29:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:29:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:29:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:29:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:29:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:29:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:29:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:29:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:29:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:29:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:29:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:29:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:29:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:29:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:29:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:29:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:29:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:29:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:29:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:29:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:29:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:29:57 UTC] 📊 Database Info:
[24-Nov-2025 18:29:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:29:57 UTC]    Books columns count: 45
[24-Nov-2025 18:29:57 UTC]    Categories columns count: 7
[24-Nov-2025 18:29:57 UTC]    Language field in books: YES
[24-Nov-2025 18:29:57 UTC]    Format field in books: YES
[24-Nov-2025 18:29:57 UTC]    Description field in categories: YES
[24-Nov-2025 18:29:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:29:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:29:57 UTC]    Is_active field in books: YES
[24-Nov-2025 18:29:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:29:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:29:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:29:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:29:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:29:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:29:57 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:29:57 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:29:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:29:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:29:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:29:57 UTC] 📊 Database Info:
[24-Nov-2025 18:29:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:29:57 UTC]    Books columns count: 45
[24-Nov-2025 18:29:57 UTC]    Categories columns count: 7
[24-Nov-2025 18:29:57 UTC]    Language field in books: YES
[24-Nov-2025 18:29:57 UTC]    Format field in books: YES
[24-Nov-2025 18:29:57 UTC]    Description field in categories: YES
[24-Nov-2025 18:29:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:29:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:29:57 UTC]    Is_active field in books: YES
[24-Nov-2025 18:29:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:29:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:29:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:29:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:29:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:29:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:29:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:29:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:29:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:29:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:29:57 UTC] 📊 Database Info:
[24-Nov-2025 18:29:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:29:57 UTC]    Books columns count: 45
[24-Nov-2025 18:29:57 UTC]    Categories columns count: 7
[24-Nov-2025 18:29:57 UTC]    Language field in books: YES
[24-Nov-2025 18:29:57 UTC]    Format field in books: YES
[24-Nov-2025 18:29:57 UTC]    Description field in categories: YES
[24-Nov-2025 18:29:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:29:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:29:57 UTC]    Is_active field in books: YES
[24-Nov-2025 18:29:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:29:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:29:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:29:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:29:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:29:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:29:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:30:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:30:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:30:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:30:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:30:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:30:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:30:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:30:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:30:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:30:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:30:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:30:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:30:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:30:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:30:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:30:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:30:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:30:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:30:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:30:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:30:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:30:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:30:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:30:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:30:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:30:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:30:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:30:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:30:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:30:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:30:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:30:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:30:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:30:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:30:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:30:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:30:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:30:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:30:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:30:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:30:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:30:35 UTC] 📊 Database Info:
[24-Nov-2025 18:30:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:30:35 UTC]    Books columns count: 45
[24-Nov-2025 18:30:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:30:35 UTC]    Language field in books: YES
[24-Nov-2025 18:30:35 UTC]    Format field in books: YES
[24-Nov-2025 18:30:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:30:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:30:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:30:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:30:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:30:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:30:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:30:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:30:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:30:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:30:35 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:30:35 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:30:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:30:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:30:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:30:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:30:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:30:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:30:35 UTC] 📊 Database Info:
[24-Nov-2025 18:30:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:30:35 UTC] 📊 Database Info:
[24-Nov-2025 18:30:35 UTC]    Books columns count: 45
[24-Nov-2025 18:30:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:30:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:30:35 UTC]    Books columns count: 45
[24-Nov-2025 18:30:35 UTC]    Language field in books: YES
[24-Nov-2025 18:30:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:30:35 UTC]    Format field in books: YES
[24-Nov-2025 18:30:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:30:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:30:35 UTC]    Language field in books: YES
[24-Nov-2025 18:30:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:30:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:30:35 UTC]    Format field in books: YES
[24-Nov-2025 18:30:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:30:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:30:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:30:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:30:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:30:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:30:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:30:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:30:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:30:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:30:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:30:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:30:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:30:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:30:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:30:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:30:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:30:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:30:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:30:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:30:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:30:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:30:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:30:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:30:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:30:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:30:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:30:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:30:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:30:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:30:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:30:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:30:42 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:30:42 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:30:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:30:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:30:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:30:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:30:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:30:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:30:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:30:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:30:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:30:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:30:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:30:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:30:42 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:30:42 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:30:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:30:42 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:30:42 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:30:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:30:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:30:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:30:42 UTC] 📊 Database Info:
[24-Nov-2025 18:30:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:30:42 UTC]    Books columns count: 45
[24-Nov-2025 18:30:42 UTC]    Categories columns count: 7
[24-Nov-2025 18:30:42 UTC]    Language field in books: YES
[24-Nov-2025 18:30:42 UTC]    Format field in books: YES
[24-Nov-2025 18:30:42 UTC]    Description field in categories: YES
[24-Nov-2025 18:30:42 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:30:42 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:30:42 UTC]    Is_active field in books: YES
[24-Nov-2025 18:30:42 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:30:42 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:30:42 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:30:42 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:30:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:30:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:30:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:30:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:30:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:30:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:30:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:30:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:30:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:30:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:30:42 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:30:42 UTC] 📊 Database Info:
[24-Nov-2025 18:30:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:30:42 UTC]    Books columns count: 45
[24-Nov-2025 18:30:42 UTC]    Categories columns count: 7
[24-Nov-2025 18:30:42 UTC]    Language field in books: YES
[24-Nov-2025 18:30:42 UTC]    Format field in books: YES
[24-Nov-2025 18:30:42 UTC]    Description field in categories: YES
[24-Nov-2025 18:30:42 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:30:42 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:30:42 UTC]    Is_active field in books: YES
[24-Nov-2025 18:30:42 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:30:42 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:30:42 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:30:42 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:30:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:30:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:30:42 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:30:42 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:30:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:30:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:30:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:30:42 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:30:42 UTC] 📊 Database Info:
[24-Nov-2025 18:30:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:30:42 UTC]    Books columns count: 45
[24-Nov-2025 18:30:42 UTC]    Categories columns count: 7
[24-Nov-2025 18:30:42 UTC]    Language field in books: YES
[24-Nov-2025 18:30:42 UTC]    Format field in books: YES
[24-Nov-2025 18:30:42 UTC]    Description field in categories: YES
[24-Nov-2025 18:30:42 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:30:42 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:30:42 UTC]    Is_active field in books: YES
[24-Nov-2025 18:30:42 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:30:42 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:30:42 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:30:42 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:30:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:30:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:30:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:31:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:31:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:31:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:31:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:31:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:31:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:31:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:31:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:31:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:31:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:31:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:31:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:31:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:31:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:31:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:31:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:31:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:31:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:31:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:31:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:31:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:31:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:31:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:31:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:31:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:31:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:31:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:31:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:31:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:31:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:31:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:31:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:31:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:31:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:31:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:31:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:31:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:31:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:31:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:31:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:31:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:31:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:31:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:31:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:31:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:31:12 UTC] 📊 Database Info:
[24-Nov-2025 18:31:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:31:12 UTC]    Books columns count: 45
[24-Nov-2025 18:31:12 UTC]    Categories columns count: 7
[24-Nov-2025 18:31:12 UTC]    Language field in books: YES
[24-Nov-2025 18:31:12 UTC]    Format field in books: YES
[24-Nov-2025 18:31:12 UTC]    Description field in categories: YES
[24-Nov-2025 18:31:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:31:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:31:12 UTC]    Is_active field in books: YES
[24-Nov-2025 18:31:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:31:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:31:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:31:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:31:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:31:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:31:12 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 18:31:12 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 18:31:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:31:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:31:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:31:12 UTC] 📊 Database Info:
[24-Nov-2025 18:31:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:31:12 UTC]    Books columns count: 45
[24-Nov-2025 18:31:12 UTC]    Categories columns count: 7
[24-Nov-2025 18:31:12 UTC]    Language field in books: YES
[24-Nov-2025 18:31:12 UTC]    Format field in books: YES
[24-Nov-2025 18:31:12 UTC]    Description field in categories: YES
[24-Nov-2025 18:31:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:31:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:31:12 UTC]    Is_active field in books: YES
[24-Nov-2025 18:31:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:31:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:31:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:31:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:31:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:31:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:31:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:31:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:31:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:31:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:31:12 UTC] 📊 Database Info:
[24-Nov-2025 18:31:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:31:12 UTC]    Books columns count: 45
[24-Nov-2025 18:31:12 UTC]    Categories columns count: 7
[24-Nov-2025 18:31:12 UTC]    Language field in books: YES
[24-Nov-2025 18:31:12 UTC]    Format field in books: YES
[24-Nov-2025 18:31:12 UTC]    Description field in categories: YES
[24-Nov-2025 18:31:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:31:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:31:12 UTC]    Is_active field in books: YES
[24-Nov-2025 18:31:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:31:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:31:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:31:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:31:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:31:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:31:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:36:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:36:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:36:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:36:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:36:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:36:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:36:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:36:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:36:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:36:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:36:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:36:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:36:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:36:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:36:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:36:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:36:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:36:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:36:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:36:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:36:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:36:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:36:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:36:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:36:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:36:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:36:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:36:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:36:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:36:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:36:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:36:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:36:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:36:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:36:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:36:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:36:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:36:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:36:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:36:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:36:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:36:35 UTC] 📊 Database Info:
[24-Nov-2025 18:36:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:36:35 UTC]    Books columns count: 45
[24-Nov-2025 18:36:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:36:35 UTC]    Language field in books: YES
[24-Nov-2025 18:36:35 UTC]    Format field in books: YES
[24-Nov-2025 18:36:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:36:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:36:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:36:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:36:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:36:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:36:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:36:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:36:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:36:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:36:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 18:36:35 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 18:36:35 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 18:36:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:36:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:36:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:36:35 UTC] 📊 Database Info:
[24-Nov-2025 18:36:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:36:35 UTC]    Books columns count: 45
[24-Nov-2025 18:36:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:36:35 UTC]    Language field in books: YES
[24-Nov-2025 18:36:35 UTC]    Format field in books: YES
[24-Nov-2025 18:36:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:36:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:36:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:36:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:36:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:36:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:36:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:36:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:36:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:36:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:36:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:36:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:36:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:36:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:36:35 UTC] 📊 Database Info:
[24-Nov-2025 18:36:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:36:35 UTC]    Books columns count: 45
[24-Nov-2025 18:36:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:36:35 UTC]    Language field in books: YES
[24-Nov-2025 18:36:35 UTC]    Format field in books: YES
[24-Nov-2025 18:36:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:36:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:36:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:36:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:36:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:36:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:36:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:36:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:36:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:36:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:36:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:36:35 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 18:36:35 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 18:37:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:37:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:37:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:37:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:37:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:37:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:37:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:37:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:37:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:37:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:37:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:37:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:37:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:37:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:37:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:37:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:37:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:37:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:37:00 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:37:00 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:37:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:37:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:37:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:37:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:37:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:37:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:37:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:37:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:37:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:37:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:37:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:37:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:37:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:37:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:37:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:37:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:37:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:37:00 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:37:00 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:37:00 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:37:00 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:37:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:37:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:37:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:37:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:37:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:37:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:37:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:37:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:37:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:37:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:37:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:37:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:37:01 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:37:01 UTC] 📊 Database Info:
[24-Nov-2025 18:37:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:37:01 UTC]    Books columns count: 45
[24-Nov-2025 18:37:01 UTC]    Categories columns count: 7
[24-Nov-2025 18:37:01 UTC]    Language field in books: YES
[24-Nov-2025 18:37:01 UTC]    Format field in books: YES
[24-Nov-2025 18:37:01 UTC]    Description field in categories: YES
[24-Nov-2025 18:37:01 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:37:01 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:37:01 UTC]    Is_active field in books: YES
[24-Nov-2025 18:37:01 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:37:01 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:37:01 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:37:01 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:37:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:37:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:37:01 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 18:37:01 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 18:37:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:37:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:37:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:37:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:37:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:37:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:37:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:37:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:37:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:37:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:37:01 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:37:01 UTC] 📊 Database Info:
[24-Nov-2025 18:37:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:37:01 UTC]    Books columns count: 45
[24-Nov-2025 18:37:01 UTC]    Categories columns count: 7
[24-Nov-2025 18:37:01 UTC]    Language field in books: YES
[24-Nov-2025 18:37:01 UTC]    Format field in books: YES
[24-Nov-2025 18:37:01 UTC]    Description field in categories: YES
[24-Nov-2025 18:37:01 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:37:01 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:37:01 UTC]    Is_active field in books: YES
[24-Nov-2025 18:37:01 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:37:01 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:37:01 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:37:01 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:37:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:37:01 UTC] 📊 Database Info:
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:37:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:37:01 UTC]    Books columns count: 45
[24-Nov-2025 18:37:01 UTC]    Categories columns count: 7
[24-Nov-2025 18:37:01 UTC]    Language field in books: YES
[24-Nov-2025 18:37:01 UTC]    Format field in books: YES
[24-Nov-2025 18:37:01 UTC]    Description field in categories: YES
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:37:01 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:37:01 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:37:01 UTC]    Is_active field in books: YES
[24-Nov-2025 18:37:01 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:37:01 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:37:01 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:37:01 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:37:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:37:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:37:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:37:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 18:37:01 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 18:37:01 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 18:37:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:37:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:37:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:37:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:37:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:37:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:37:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:37:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:37:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:37:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:37:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:37:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:37:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:37:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:37:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:37:52 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:37:52 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:37:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:37:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:37:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:37:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:37:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:37:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:37:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:37:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:37:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:37:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:37:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:37:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:37:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:37:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:37:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:37:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:37:52 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:37:52 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:37:52 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:37:52 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:37:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:37:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:37:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:37:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:37:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:37:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:37:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:37:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:37:52 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:37:52 UTC] 📊 Database Info:
[24-Nov-2025 18:37:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:37:52 UTC]    Books columns count: 45
[24-Nov-2025 18:37:52 UTC]    Categories columns count: 7
[24-Nov-2025 18:37:52 UTC]    Language field in books: YES
[24-Nov-2025 18:37:52 UTC]    Format field in books: YES
[24-Nov-2025 18:37:52 UTC]    Description field in categories: YES
[24-Nov-2025 18:37:52 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:37:52 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:37:52 UTC]    Is_active field in books: YES
[24-Nov-2025 18:37:52 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:37:52 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:37:52 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:37:52 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:37:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:37:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:37:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:37:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:37:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:37:52 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:37:52 UTC] 📊 Database Info:
[24-Nov-2025 18:37:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:37:52 UTC]    Books columns count: 45
[24-Nov-2025 18:37:52 UTC]    Categories columns count: 7
[24-Nov-2025 18:37:52 UTC]    Language field in books: YES
[24-Nov-2025 18:37:52 UTC]    Format field in books: YES
[24-Nov-2025 18:37:52 UTC]    Description field in categories: YES
[24-Nov-2025 18:37:52 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:37:52 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:37:52 UTC]    Is_active field in books: YES
[24-Nov-2025 18:37:52 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:37:52 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:37:52 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:37:52 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:37:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:37:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:37:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 18:37:52 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 18:37:52 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 18:37:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:37:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:37:52 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:37:52 UTC] 📊 Database Info:
[24-Nov-2025 18:37:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:37:52 UTC]    Books columns count: 45
[24-Nov-2025 18:37:52 UTC]    Categories columns count: 7
[24-Nov-2025 18:37:52 UTC]    Language field in books: YES
[24-Nov-2025 18:37:52 UTC]    Format field in books: YES
[24-Nov-2025 18:37:52 UTC]    Description field in categories: YES
[24-Nov-2025 18:37:52 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:37:52 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:37:52 UTC]    Is_active field in books: YES
[24-Nov-2025 18:37:52 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:37:52 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:37:52 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:37:52 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:37:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:37:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:37:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:37:52 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 18:37:52 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 18:47:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:47:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:47:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:47:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:47:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:47:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:47:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:47:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:47:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:47:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:47:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:47:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:47:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:47:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:47:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:47:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:47:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:47:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:47:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:47:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:47:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:47:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:47:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:47:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:47:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:47:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:47:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:47:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:47:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:47:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:47:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:47:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:47:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:47:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:47:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:47:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:47:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:47:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:47:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:47:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:47:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:47:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:47:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:47:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:47:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:47:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:47:35 UTC] 📊 Database Info:
[24-Nov-2025 18:47:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:47:35 UTC]    Books columns count: 45
[24-Nov-2025 18:47:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:47:35 UTC]    Language field in books: YES
[24-Nov-2025 18:47:35 UTC]    Format field in books: YES
[24-Nov-2025 18:47:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:47:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:47:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:47:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:47:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:47:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:47:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:47:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:47:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:47:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:47:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 18:47:35 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 18:47:35 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 18:47:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:47:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:47:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:47:35 UTC] 📊 Database Info:
[24-Nov-2025 18:47:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:47:35 UTC]    Books columns count: 45
[24-Nov-2025 18:47:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:47:35 UTC]    Language field in books: YES
[24-Nov-2025 18:47:35 UTC]    Format field in books: YES
[24-Nov-2025 18:47:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:47:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:47:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:47:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:47:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:47:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:47:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:47:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:47:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:47:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:47:35 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 18:47:35 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 18:47:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:47:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:47:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:47:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:47:35 UTC] 📊 Database Info:
[24-Nov-2025 18:47:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:47:35 UTC]    Books columns count: 45
[24-Nov-2025 18:47:35 UTC]    Categories columns count: 7
[24-Nov-2025 18:47:35 UTC]    Language field in books: YES
[24-Nov-2025 18:47:35 UTC]    Format field in books: YES
[24-Nov-2025 18:47:35 UTC]    Description field in categories: YES
[24-Nov-2025 18:47:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:47:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:47:35 UTC]    Is_active field in books: YES
[24-Nov-2025 18:47:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:47:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:47:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:47:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:47:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:47:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:47:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:47:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:47:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:47:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:47:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:47:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:47:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:47:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:47:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:47:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:47:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:47:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:47:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:47:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:47:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:47:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:47:54 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:47:54 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:47:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:47:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:47:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:47:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:47:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:47:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:47:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:47:54 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:47:54 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:47:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:47:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:47:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:47:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:47:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:47:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:47:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:47:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:47:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:47:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:47:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:47:54 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:47:54 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:47:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:47:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:47:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:47:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:47:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:47:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:47:54 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:47:54 UTC] 📊 Database Info:
[24-Nov-2025 18:47:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:47:54 UTC]    Books columns count: 45
[24-Nov-2025 18:47:54 UTC]    Categories columns count: 7
[24-Nov-2025 18:47:54 UTC]    Language field in books: YES
[24-Nov-2025 18:47:54 UTC]    Format field in books: YES
[24-Nov-2025 18:47:54 UTC]    Description field in categories: YES
[24-Nov-2025 18:47:54 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:47:54 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:47:54 UTC]    Is_active field in books: YES
[24-Nov-2025 18:47:54 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:47:54 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:47:54 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:47:54 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:47:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:47:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:47:54 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 18:47:54 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 18:47:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:47:54 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:47:54 UTC] 📊 Database Info:
[24-Nov-2025 18:47:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:47:54 UTC]    Books columns count: 45
[24-Nov-2025 18:47:54 UTC]    Categories columns count: 7
[24-Nov-2025 18:47:54 UTC]    Language field in books: YES
[24-Nov-2025 18:47:54 UTC]    Format field in books: YES
[24-Nov-2025 18:47:54 UTC]    Description field in categories: YES
[24-Nov-2025 18:47:54 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:47:54 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:47:54 UTC]    Is_active field in books: YES
[24-Nov-2025 18:47:54 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:47:54 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:47:54 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:47:54 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:47:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:47:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:47:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:47:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:47:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:47:54 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:47:54 UTC] 📊 Database Info:
[24-Nov-2025 18:47:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:47:54 UTC]    Books columns count: 45
[24-Nov-2025 18:47:54 UTC]    Categories columns count: 7
[24-Nov-2025 18:47:54 UTC]    Language field in books: YES
[24-Nov-2025 18:47:54 UTC]    Format field in books: YES
[24-Nov-2025 18:47:54 UTC]    Description field in categories: YES
[24-Nov-2025 18:47:54 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:47:54 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:47:54 UTC]    Is_active field in books: YES
[24-Nov-2025 18:47:54 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:47:54 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:47:54 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:47:54 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:47:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:47:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:47:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:47:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 18:47:54 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 18:47:54 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 18:48:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:48:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:48:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:48:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:48:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:48:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:48:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:48:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:48:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:48:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:48:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:48:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:48:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:48:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:48:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:48:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:48:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:48:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:48:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:48:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:48:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:48:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:48:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:48:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:48:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:48:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:48:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:48:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:48:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:48:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:48:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:48:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:48:53 UTC] 📊 Database Info:
[24-Nov-2025 18:48:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:48:53 UTC]    Books columns count: 45
[24-Nov-2025 18:48:53 UTC]    Categories columns count: 7
[24-Nov-2025 18:48:53 UTC]    Language field in books: YES
[24-Nov-2025 18:48:53 UTC]    Format field in books: YES
[24-Nov-2025 18:48:53 UTC]    Description field in categories: YES
[24-Nov-2025 18:48:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:48:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:48:53 UTC]    Is_active field in books: YES
[24-Nov-2025 18:48:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:48:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:48:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:48:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:48:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:48:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:48:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:48:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:48:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:48:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:48:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:48:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:48:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:48:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:48:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:48:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:48:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:48:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:48:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:48:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:48:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:48:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:48:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:48:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:48:54 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:48:54 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:48:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:48:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:48:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:48:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:48:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:48:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:48:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:48:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:48:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:48:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:48:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:48:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:48:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:48:54 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:48:54 UTC] 📊 Database Info:
[24-Nov-2025 18:48:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:48:54 UTC]    Books columns count: 45
[24-Nov-2025 18:48:54 UTC]    Categories columns count: 7
[24-Nov-2025 18:48:54 UTC]    Language field in books: YES
[24-Nov-2025 18:48:54 UTC]    Format field in books: YES
[24-Nov-2025 18:48:54 UTC]    Description field in categories: YES
[24-Nov-2025 18:48:54 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:48:54 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:48:54 UTC]    Is_active field in books: YES
[24-Nov-2025 18:48:54 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:48:54 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:48:54 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:48:54 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:48:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:48:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:48:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:48:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:48:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:48:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:48:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:48:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:48:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:48:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:48:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:48:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:48:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:48:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:48:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:48:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:48:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:48:59 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:48:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:48:59 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:48:59 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:48:59 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:48:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:48:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:48:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:48:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:48:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:48:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:48:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:48:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:48:59 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:48:59 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:48:59 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:48:59 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:48:59 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:48:59 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:48:59 UTC] 📊 Database Info:
[24-Nov-2025 18:48:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:48:59 UTC]    Books columns count: 45
[24-Nov-2025 18:48:59 UTC]    Categories columns count: 7
[24-Nov-2025 18:48:59 UTC]    Language field in books: YES
[24-Nov-2025 18:48:59 UTC]    Format field in books: YES
[24-Nov-2025 18:48:59 UTC]    Description field in categories: YES
[24-Nov-2025 18:48:59 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:48:59 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:48:59 UTC]    Is_active field in books: YES
[24-Nov-2025 18:48:59 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:48:59 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:48:59 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:48:59 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:48:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:48:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:48:59 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:48:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 18:49:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 18:49:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:49:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:49:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:49:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:49:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:49:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:49:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:49:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:49:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:49:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:49:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:49:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:49:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 18:49:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:49:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 18:49:00 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 18:49:00 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 18:49:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 18:49:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 18:49:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 18:49:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 18:49:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 18:49:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 18:49:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 18:49:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 18:49:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 18:49:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 18:49:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 18:49:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 18:49:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 18:49:00 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 18:49:00 UTC] 📊 Database Info:
[24-Nov-2025 18:49:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 18:49:00 UTC]    Books columns count: 45
[24-Nov-2025 18:49:00 UTC]    Categories columns count: 7
[24-Nov-2025 18:49:00 UTC]    Language field in books: YES
[24-Nov-2025 18:49:00 UTC]    Format field in books: YES
[24-Nov-2025 18:49:00 UTC]    Description field in categories: YES
[24-Nov-2025 18:49:00 UTC]    Display_order field in categories: YES
[24-Nov-2025 18:49:00 UTC]    Is_active field in categories: YES
[24-Nov-2025 18:49:00 UTC]    Is_active field in books: YES
[24-Nov-2025 18:49:00 UTC]    External_download_link field in books: YES
[24-Nov-2025 18:49:00 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 18:49:00 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 18:49:00 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 18:49:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:49:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 18:49:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 18:49:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 18:49:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 18:49:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 18:49:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 18:49:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 18:49:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 18:49:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 18:49:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 18:49:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 18:49:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 18:49:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 18:49:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:00:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:00:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:00:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:00:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:00:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:00:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:00:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:00:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:00:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:00:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:00:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:00:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:00:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:00:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:00:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:00:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:00:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:00:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:00:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:00:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:00:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:00:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:00:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:00:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:00:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:00:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:00:02 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:00:02 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:00:02 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:00:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:00:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:00:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:00:02 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:00:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:00:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:00:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:00:02 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:00:02 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:00:02 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:00:02 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:00:02 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:00:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:00:02 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:00:02 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:00:02 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:00:02 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:00:02 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:00:02 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:00:02 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:00:02 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:00:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:00:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:00:02 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:00:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:00:02 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:00:02 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:00:02 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:00:02 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:00:02 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:00:02 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:00:02 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:00:02 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:00:02 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:00:02 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:00:02 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:00:02 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:00:02 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:00:02 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:00:02 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:00:02 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:00:02 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:00:02 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:00:02 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:00:02 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:00:02 UTC] 📊 Database Info:
[24-Nov-2025 19:00:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:00:02 UTC]    Books columns count: 45
[24-Nov-2025 19:00:02 UTC]    Categories columns count: 7
[24-Nov-2025 19:00:02 UTC]    Language field in books: YES
[24-Nov-2025 19:00:02 UTC]    Format field in books: YES
[24-Nov-2025 19:00:02 UTC]    Description field in categories: YES
[24-Nov-2025 19:00:02 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:00:02 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:00:02 UTC]    Is_active field in books: YES
[24-Nov-2025 19:00:02 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:00:02 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:00:02 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:00:02 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:00:02 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:00:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:00:02 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:00:02 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:00:02 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:00:02 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:00:02 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:00:02 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:00:02 UTC] 📊 Database Info:
[24-Nov-2025 19:00:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:00:02 UTC]    Books columns count: 45
[24-Nov-2025 19:00:02 UTC]    Categories columns count: 7
[24-Nov-2025 19:00:02 UTC]    Language field in books: YES
[24-Nov-2025 19:00:02 UTC]    Format field in books: YES
[24-Nov-2025 19:00:02 UTC]    Description field in categories: YES
[24-Nov-2025 19:00:02 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:00:02 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:00:02 UTC]    Is_active field in books: YES
[24-Nov-2025 19:00:02 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:00:02 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:00:02 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:00:02 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:00:02 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:00:02 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:00:02 UTC] 📊 Database Info:
[24-Nov-2025 19:00:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:00:02 UTC]    Books columns count: 45
[24-Nov-2025 19:00:02 UTC]    Categories columns count: 7
[24-Nov-2025 19:00:02 UTC]    Language field in books: YES
[24-Nov-2025 19:00:02 UTC]    Format field in books: YES
[24-Nov-2025 19:00:02 UTC]    Description field in categories: YES
[24-Nov-2025 19:00:02 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:00:02 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:00:02 UTC]    Is_active field in books: YES
[24-Nov-2025 19:00:02 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:00:02 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:00:02 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:00:02 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:00:02 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:00:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:00:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 19:00:02 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 19:00:02 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:00:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:00:02 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 19:00:02 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 19:00:02 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 19:00:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:00:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:00:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:00:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:00:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:00:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:00:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:00:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:00:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:00:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:00:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:00:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:00:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:00:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:00:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:00:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:00:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:00:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:00:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:00:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:00:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:00:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:00:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:00:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:00:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:00:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:00:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:00:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:00:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:00:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:00:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:00:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:00:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:00:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:00:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:00:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:00:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:00:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:00:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:00:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:00:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:00:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:00:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:00:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:00:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:00:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:00:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:00:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:00:17 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:00:17 UTC] 📊 Database Info:
[24-Nov-2025 19:00:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:00:17 UTC]    Books columns count: 45
[24-Nov-2025 19:00:17 UTC]    Categories columns count: 7
[24-Nov-2025 19:00:17 UTC]    Language field in books: YES
[24-Nov-2025 19:00:17 UTC]    Format field in books: YES
[24-Nov-2025 19:00:17 UTC]    Description field in categories: YES
[24-Nov-2025 19:00:17 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:00:17 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:00:17 UTC]    Is_active field in books: YES
[24-Nov-2025 19:00:17 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:00:17 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:00:17 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:00:17 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:00:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:00:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:00:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 19:00:17 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 19:00:17 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 19:00:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:00:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:00:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:00:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:00:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:00:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:00:17 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:00:17 UTC] 📊 Database Info:
[24-Nov-2025 19:00:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:00:17 UTC]    Books columns count: 45
[24-Nov-2025 19:00:17 UTC]    Categories columns count: 7
[24-Nov-2025 19:00:17 UTC]    Language field in books: YES
[24-Nov-2025 19:00:17 UTC]    Format field in books: YES
[24-Nov-2025 19:00:17 UTC]    Description field in categories: YES
[24-Nov-2025 19:00:17 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:00:17 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:00:17 UTC]    Is_active field in books: YES
[24-Nov-2025 19:00:17 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:00:17 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:00:17 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:00:17 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:00:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:00:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:00:17 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 19:00:17 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 19:00:17 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:00:17 UTC] 📊 Database Info:
[24-Nov-2025 19:00:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:00:17 UTC]    Books columns count: 45
[24-Nov-2025 19:00:17 UTC]    Categories columns count: 7
[24-Nov-2025 19:00:17 UTC]    Language field in books: YES
[24-Nov-2025 19:00:17 UTC]    Format field in books: YES
[24-Nov-2025 19:00:17 UTC]    Description field in categories: YES
[24-Nov-2025 19:00:17 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:00:17 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:00:17 UTC]    Is_active field in books: YES
[24-Nov-2025 19:00:17 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:00:17 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:00:17 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:00:17 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:00:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:00:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:00:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:00:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:00:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:00:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:00:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:00:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:00:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:00:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:00:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:00:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:00:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:00:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:00:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:00:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:00:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:00:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:00:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:00:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:00:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:00:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:00:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:00:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:00:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:00:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:00:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:00:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:00:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:00:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:00:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:00:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:00:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:00:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:00:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:00:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:00:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:00:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:00:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:00:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:00:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:00:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:00:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:00:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:00:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:00:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:00:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:00:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:00:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:00:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:00:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:00:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:00:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:00:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:00:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:00:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:00:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:00:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:00:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:00:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:00:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:00:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:00:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:00:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:00:32 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:00:32 UTC] 📊 Database Info:
[24-Nov-2025 19:00:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:00:32 UTC]    Books columns count: 45
[24-Nov-2025 19:00:32 UTC]    Categories columns count: 7
[24-Nov-2025 19:00:32 UTC]    Language field in books: YES
[24-Nov-2025 19:00:32 UTC]    Format field in books: YES
[24-Nov-2025 19:00:32 UTC]    Description field in categories: YES
[24-Nov-2025 19:00:32 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:00:32 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:00:32 UTC]    Is_active field in books: YES
[24-Nov-2025 19:00:32 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:00:32 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:00:32 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:00:32 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:00:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:00:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:00:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:00:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:00:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:00:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:00:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:00:32 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:00:32 UTC] 📊 Database Info:
[24-Nov-2025 19:00:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:00:32 UTC]    Books columns count: 45
[24-Nov-2025 19:00:32 UTC]    Categories columns count: 7
[24-Nov-2025 19:00:32 UTC]    Language field in books: YES
[24-Nov-2025 19:00:32 UTC]    Format field in books: YES
[24-Nov-2025 19:00:32 UTC]    Description field in categories: YES
[24-Nov-2025 19:00:32 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:00:32 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:00:32 UTC]    Is_active field in books: YES
[24-Nov-2025 19:00:32 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:00:32 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:00:32 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:00:32 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:00:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:00:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:00:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 19:00:32 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 19:00:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:00:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:00:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:00:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:00:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:00:32 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:00:32 UTC] 📊 Database Info:
[24-Nov-2025 19:00:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:00:32 UTC]    Books columns count: 45
[24-Nov-2025 19:00:32 UTC]    Categories columns count: 7
[24-Nov-2025 19:00:32 UTC]    Language field in books: YES
[24-Nov-2025 19:00:32 UTC]    Format field in books: YES
[24-Nov-2025 19:00:32 UTC]    Description field in categories: YES
[24-Nov-2025 19:00:32 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:00:32 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:00:32 UTC]    Is_active field in books: YES
[24-Nov-2025 19:00:32 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:00:32 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:00:32 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:00:32 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:00:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:00:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:00:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:00:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 19:00:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 19:00:32 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 19:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:04:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:04:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:04:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:04:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:04:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:04:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:04:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:04:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:04:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:04:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:04:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:04:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:04:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:04:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:04:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:04:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:04:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:04:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:04:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:04:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:04:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:04:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:04:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:04:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:04:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:04:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:04:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:04:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:04:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:04:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:04:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:04:16 UTC] 📊 Database Info:
[24-Nov-2025 19:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:04:16 UTC]    Books columns count: 45
[24-Nov-2025 19:04:16 UTC]    Categories columns count: 7
[24-Nov-2025 19:04:16 UTC]    Language field in books: YES
[24-Nov-2025 19:04:16 UTC]    Format field in books: YES
[24-Nov-2025 19:04:16 UTC]    Description field in categories: YES
[24-Nov-2025 19:04:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:04:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:04:16 UTC]    Is_active field in books: YES
[24-Nov-2025 19:04:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:04:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:04:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:04:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:04:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:04:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 19:04:16 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 19:04:16 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 19:04:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:04:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:04:16 UTC] 📊 Database Info:
[24-Nov-2025 19:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:04:16 UTC]    Books columns count: 45
[24-Nov-2025 19:04:16 UTC]    Categories columns count: 7
[24-Nov-2025 19:04:16 UTC]    Language field in books: YES
[24-Nov-2025 19:04:16 UTC]    Format field in books: YES
[24-Nov-2025 19:04:16 UTC]    Description field in categories: YES
[24-Nov-2025 19:04:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:04:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:04:16 UTC]    Is_active field in books: YES
[24-Nov-2025 19:04:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:04:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:04:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:04:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:04:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:04:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:04:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:04:16 UTC] 📊 Database Info:
[24-Nov-2025 19:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:04:16 UTC]    Books columns count: 45
[24-Nov-2025 19:04:16 UTC]    Categories columns count: 7
[24-Nov-2025 19:04:16 UTC]    Language field in books: YES
[24-Nov-2025 19:04:16 UTC]    Format field in books: YES
[24-Nov-2025 19:04:16 UTC]    Description field in categories: YES
[24-Nov-2025 19:04:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:04:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:04:16 UTC]    Is_active field in books: YES
[24-Nov-2025 19:04:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:04:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:04:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:04:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:04:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:04:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:04:16 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 19:04:16 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 19:04:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:04:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:04:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:04:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:04:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:04:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:04:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:04:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:04:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:04:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:04:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:04:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:04:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:04:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:04:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:04:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:04:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:04:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:04:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:04:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:04:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:04:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:04:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:04:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:04:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:04:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:04:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:04:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:04:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:04:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:04:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:04:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:04:21 UTC] 📊 Database Info:
[24-Nov-2025 19:04:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:04:21 UTC]    Books columns count: 45
[24-Nov-2025 19:04:21 UTC]    Categories columns count: 7
[24-Nov-2025 19:04:21 UTC]    Language field in books: YES
[24-Nov-2025 19:04:21 UTC]    Format field in books: YES
[24-Nov-2025 19:04:21 UTC]    Description field in categories: YES
[24-Nov-2025 19:04:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:04:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:04:21 UTC]    Is_active field in books: YES
[24-Nov-2025 19:04:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:04:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:04:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:04:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:04:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:04:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:04:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:04:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:04:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:04:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:04:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:04:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:04:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:04:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:04:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:04:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:04:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:04:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:04:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:04:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:04:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:04:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:04:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:04:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:04:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:04:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:04:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:04:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:04:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:04:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:04:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:04:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:04:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:04:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:04:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:04:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:04:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:04:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:04:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:04:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:04:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:04:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:04:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:04:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:04:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:04:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:04:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:04:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:04:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:04:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:04:22 UTC] 📊 Database Info:
[24-Nov-2025 19:04:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:04:22 UTC]    Books columns count: 45
[24-Nov-2025 19:04:22 UTC]    Categories columns count: 7
[24-Nov-2025 19:04:22 UTC]    Language field in books: YES
[24-Nov-2025 19:04:22 UTC]    Format field in books: YES
[24-Nov-2025 19:04:22 UTC]    Description field in categories: YES
[24-Nov-2025 19:04:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:04:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:04:22 UTC]    Is_active field in books: YES
[24-Nov-2025 19:04:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:04:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:04:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:04:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:04:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:04:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:04:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:04:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:04:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:04:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:04:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:04:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:04:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:04:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:04:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:04:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:04:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:04:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:04:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:04:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:04:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:04:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:04:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:04:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:04:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:04:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:04:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:04:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:04:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:04:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:04:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:04:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:04:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:04:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:04:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:04:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:04:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:04:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:04:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:04:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:04:26 UTC] 📊 Database Info:
[24-Nov-2025 19:04:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:04:26 UTC]    Books columns count: 45
[24-Nov-2025 19:04:26 UTC]    Categories columns count: 7
[24-Nov-2025 19:04:26 UTC]    Language field in books: YES
[24-Nov-2025 19:04:26 UTC]    Format field in books: YES
[24-Nov-2025 19:04:26 UTC]    Description field in categories: YES
[24-Nov-2025 19:04:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:04:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:04:26 UTC]    Is_active field in books: YES
[24-Nov-2025 19:04:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:04:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:04:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:04:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:04:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:04:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:04:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:04:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:04:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:04:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:04:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:04:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:04:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:04:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:04:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:04:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:04:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:04:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:04:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:04:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:04:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:04:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:04:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:04:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:04:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:04:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:04:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:04:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:04:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:04:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:04:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:04:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:04:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:04:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:04:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:04:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:04:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:04:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:04:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:04:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:04:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:04:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:04:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:04:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:04:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:04:27 UTC] 📊 Database Info:
[24-Nov-2025 19:04:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:04:27 UTC]    Books columns count: 45
[24-Nov-2025 19:04:27 UTC]    Categories columns count: 7
[24-Nov-2025 19:04:27 UTC]    Language field in books: YES
[24-Nov-2025 19:04:27 UTC]    Format field in books: YES
[24-Nov-2025 19:04:27 UTC]    Description field in categories: YES
[24-Nov-2025 19:04:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:04:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:04:27 UTC]    Is_active field in books: YES
[24-Nov-2025 19:04:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:04:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:04:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:04:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:04:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:04:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:04:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:04:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:11:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:11:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:11:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:11:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:11:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:11:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:11:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:11:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:11:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:11:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:11:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:11:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:11:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:11:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:11:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:11:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:11:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:11:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:11:44 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:11:44 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:11:44 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:11:44 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:11:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:11:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:11:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:11:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:11:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:11:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:11:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:11:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:11:44 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:11:44 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:11:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:11:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:11:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:11:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:11:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:11:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:11:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:11:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:11:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:11:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:11:44 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:11:44 UTC] 📊 Database Info:
[24-Nov-2025 19:11:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:11:44 UTC]    Books columns count: 45
[24-Nov-2025 19:11:44 UTC]    Categories columns count: 7
[24-Nov-2025 19:11:44 UTC]    Language field in books: YES
[24-Nov-2025 19:11:44 UTC]    Format field in books: YES
[24-Nov-2025 19:11:44 UTC]    Description field in categories: YES
[24-Nov-2025 19:11:44 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:11:44 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:11:44 UTC]    Is_active field in books: YES
[24-Nov-2025 19:11:44 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:11:44 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:11:44 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:11:44 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:11:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:11:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:11:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:11:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:11:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:11:44 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:11:44 UTC] 📊 Database Info:
[24-Nov-2025 19:11:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:11:44 UTC]    Books columns count: 45
[24-Nov-2025 19:11:44 UTC]    Categories columns count: 7
[24-Nov-2025 19:11:44 UTC]    Language field in books: YES
[24-Nov-2025 19:11:44 UTC]    Format field in books: YES
[24-Nov-2025 19:11:44 UTC]    Description field in categories: YES
[24-Nov-2025 19:11:44 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:11:44 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:11:44 UTC]    Is_active field in books: YES
[24-Nov-2025 19:11:44 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:11:44 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:11:44 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:11:44 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:11:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:11:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:11:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:11:44 UTC] 📊 Database Info:
[24-Nov-2025 19:11:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:11:44 UTC]    Books columns count: 45
[24-Nov-2025 19:11:44 UTC]    Categories columns count: 7
[24-Nov-2025 19:11:44 UTC]    Language field in books: YES
[24-Nov-2025 19:11:44 UTC]    Format field in books: YES
[24-Nov-2025 19:11:44 UTC]    Description field in categories: YES
[24-Nov-2025 19:11:44 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:11:44 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:11:44 UTC]    Is_active field in books: YES
[24-Nov-2025 19:11:44 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:11:44 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:11:44 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:11:44 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:11:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:11:44 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:11:44 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:11:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:11:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:11:44 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 19:11:44 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 19:11:44 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 19:13:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:13:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:13:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:13:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:13:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:13:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:13:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:13:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:13:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:13:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:13:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:13:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:13:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:13:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:13:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:13:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:13:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:13:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:13:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:13:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:13:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:13:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:13:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:13:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:13:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:13:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:13:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:13:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:13:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:13:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:13:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:13:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:13:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:13:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:13:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:13:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:13:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:13:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:13:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:13:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:13:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:13:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:13:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:13:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:13:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:13:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:13:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:13:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:13:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:13:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:13:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:13:26 UTC] 📊 Database Info:
[24-Nov-2025 19:13:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:13:26 UTC]    Books columns count: 45
[24-Nov-2025 19:13:26 UTC]    Categories columns count: 7
[24-Nov-2025 19:13:26 UTC]    Language field in books: YES
[24-Nov-2025 19:13:26 UTC]    Format field in books: YES
[24-Nov-2025 19:13:26 UTC]    Description field in categories: YES
[24-Nov-2025 19:13:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:13:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:13:26 UTC]    Is_active field in books: YES
[24-Nov-2025 19:13:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:13:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:13:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:13:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:13:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:13:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:13:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:13:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:13:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:13:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:13:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:13:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:13:26 UTC] 📊 Database Info:
[24-Nov-2025 19:13:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:13:26 UTC]    Books columns count: 45
[24-Nov-2025 19:13:26 UTC]    Categories columns count: 7
[24-Nov-2025 19:13:26 UTC]    Language field in books: YES
[24-Nov-2025 19:13:26 UTC]    Format field in books: YES
[24-Nov-2025 19:13:26 UTC]    Description field in categories: YES
[24-Nov-2025 19:13:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:13:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:13:26 UTC]    Is_active field in books: YES
[24-Nov-2025 19:13:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:13:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:13:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:13:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:13:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:13:26 UTC] 📊 Database Info:
[24-Nov-2025 19:13:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:13:26 UTC]    Books columns count: 45
[24-Nov-2025 19:13:26 UTC]    Categories columns count: 7
[24-Nov-2025 19:13:26 UTC]    Language field in books: YES
[24-Nov-2025 19:13:26 UTC]    Format field in books: YES
[24-Nov-2025 19:13:26 UTC]    Description field in categories: YES
[24-Nov-2025 19:13:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:13:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:13:26 UTC]    Is_active field in books: YES
[24-Nov-2025 19:13:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:13:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:13:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:13:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:13:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:13:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 19:13:26 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:13:26 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:13:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:13:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:13:26 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 19:13:26 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 19:15:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:15:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:15:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:15:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:15:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:15:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:15:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:15:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:15:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:15:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:15:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:15:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:15:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:15:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:15:17 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:15:17 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:15:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:15:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:15:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:15:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:15:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:15:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:15:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:15:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:15:17 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:15:17 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:15:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:15:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:15:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:15:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:15:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:15:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:15:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:15:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:15:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:15:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:15:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:15:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:15:17 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:15:17 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:15:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:15:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:15:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:15:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:15:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:15:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:15:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:15:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:15:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:15:17 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:15:17 UTC] 📊 Database Info:
[24-Nov-2025 19:15:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:15:17 UTC]    Books columns count: 45
[24-Nov-2025 19:15:17 UTC]    Categories columns count: 7
[24-Nov-2025 19:15:17 UTC]    Language field in books: YES
[24-Nov-2025 19:15:17 UTC]    Format field in books: YES
[24-Nov-2025 19:15:17 UTC]    Description field in categories: YES
[24-Nov-2025 19:15:17 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:15:17 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:15:17 UTC]    Is_active field in books: YES
[24-Nov-2025 19:15:17 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:15:17 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:15:17 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:15:17 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:15:17 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:15:17 UTC] 📊 Database Info:
[24-Nov-2025 19:15:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:15:17 UTC]    Books columns count: 45
[24-Nov-2025 19:15:17 UTC]    Categories columns count: 7
[24-Nov-2025 19:15:17 UTC]    Language field in books: YES
[24-Nov-2025 19:15:17 UTC]    Format field in books: YES
[24-Nov-2025 19:15:17 UTC]    Description field in categories: YES
[24-Nov-2025 19:15:17 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:15:17 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:15:17 UTC]    Is_active field in books: YES
[24-Nov-2025 19:15:17 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:15:17 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:15:17 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:15:17 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:15:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:15:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:15:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:15:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:15:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:15:17 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 19:15:17 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 19:15:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:15:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:15:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:15:17 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:15:17 UTC] 📊 Database Info:
[24-Nov-2025 19:15:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:15:17 UTC]    Books columns count: 45
[24-Nov-2025 19:15:17 UTC]    Categories columns count: 7
[24-Nov-2025 19:15:17 UTC]    Language field in books: YES
[24-Nov-2025 19:15:17 UTC]    Format field in books: YES
[24-Nov-2025 19:15:17 UTC]    Description field in categories: YES
[24-Nov-2025 19:15:17 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:15:17 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:15:17 UTC]    Is_active field in books: YES
[24-Nov-2025 19:15:17 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:15:17 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:15:17 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:15:17 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:15:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:15:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:15:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:15:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 19:15:17 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 19:15:17 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 19:16:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:16:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:16:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:16:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:16:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:16:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:16:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:16:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:16:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:16:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:16:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:16:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:16:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:16:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:16:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:16:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:16:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:16:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:16:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:16:51 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:16:51 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:16:51 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:16:51 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:16:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:16:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:16:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:16:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:16:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:16:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:16:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:16:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:16:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:16:51 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:16:51 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:16:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:16:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:16:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:16:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:16:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:16:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:16:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:16:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:16:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:16:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:16:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:16:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:16:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:16:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:16:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:16:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:16:51 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:16:51 UTC] 📊 Database Info:
[24-Nov-2025 19:16:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:16:51 UTC]    Books columns count: 45
[24-Nov-2025 19:16:51 UTC]    Categories columns count: 7
[24-Nov-2025 19:16:51 UTC]    Language field in books: YES
[24-Nov-2025 19:16:51 UTC]    Format field in books: YES
[24-Nov-2025 19:16:51 UTC]    Description field in categories: YES
[24-Nov-2025 19:16:51 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:16:51 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:16:51 UTC]    Is_active field in books: YES
[24-Nov-2025 19:16:51 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:16:51 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:16:51 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:16:51 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:16:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:16:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:16:51 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 19:16:51 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 19:16:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:16:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:16:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:16:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:16:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:16:51 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:16:51 UTC] 📊 Database Info:
[24-Nov-2025 19:16:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:16:51 UTC]    Books columns count: 45
[24-Nov-2025 19:16:51 UTC]    Categories columns count: 7
[24-Nov-2025 19:16:51 UTC]    Language field in books: YES
[24-Nov-2025 19:16:51 UTC]    Format field in books: YES
[24-Nov-2025 19:16:51 UTC]    Description field in categories: YES
[24-Nov-2025 19:16:51 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:16:51 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:16:51 UTC]    Is_active field in books: YES
[24-Nov-2025 19:16:51 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:16:51 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:16:51 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:16:51 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:16:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:16:51 UTC] 📊 Database Info:
[24-Nov-2025 19:16:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:16:51 UTC]    Books columns count: 45
[24-Nov-2025 19:16:51 UTC]    Categories columns count: 7
[24-Nov-2025 19:16:51 UTC]    Language field in books: YES
[24-Nov-2025 19:16:51 UTC]    Format field in books: YES
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:16:51 UTC]    Description field in categories: YES
[24-Nov-2025 19:16:51 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:16:51 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:16:51 UTC]    Is_active field in books: YES
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:16:51 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:16:51 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:16:51 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:16:51 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:16:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:16:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:16:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:16:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:16:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 19:16:51 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 19:16:51 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 19:17:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:17:02 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:17:02 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:17:02 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:17:02 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:17:02 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:17:02 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:17:02 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:17:02 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:17:02 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:17:02 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:17:02 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:17:02 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:17:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:17:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:17:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:17:02 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:17:02 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:17:02 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:17:02 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:17:02 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:17:02 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:17:02 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:17:02 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:17:02 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:17:02 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:17:02 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:17:02 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:17:02 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:17:02 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:17:02 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:17:02 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:17:02 UTC] 📊 Database Info:
[24-Nov-2025 19:17:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:17:02 UTC]    Books columns count: 45
[24-Nov-2025 19:17:02 UTC]    Categories columns count: 7
[24-Nov-2025 19:17:02 UTC]    Language field in books: YES
[24-Nov-2025 19:17:02 UTC]    Format field in books: YES
[24-Nov-2025 19:17:02 UTC]    Description field in categories: YES
[24-Nov-2025 19:17:02 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:17:02 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:17:02 UTC]    Is_active field in books: YES
[24-Nov-2025 19:17:02 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:17:02 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:17:02 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:17:02 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:17:02 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:17:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:17:02 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:17:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:17:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:17:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:17:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:17:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:17:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:17:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:17:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:17:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:17:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:17:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:17:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:17:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:17:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:17:09 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:17:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:17:09 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:17:09 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:17:09 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:17:09 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:17:09 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:17:09 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:17:09 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:17:09 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:17:09 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:17:09 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:17:09 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:17:09 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:17:09 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:17:09 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:17:09 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:17:09 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:17:09 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:17:09 UTC] 📊 Database Info:
[24-Nov-2025 19:17:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:17:09 UTC]    Books columns count: 45
[24-Nov-2025 19:17:09 UTC]    Categories columns count: 7
[24-Nov-2025 19:17:09 UTC]    Language field in books: YES
[24-Nov-2025 19:17:09 UTC]    Format field in books: YES
[24-Nov-2025 19:17:09 UTC]    Description field in categories: YES
[24-Nov-2025 19:17:09 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:17:09 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:17:09 UTC]    Is_active field in books: YES
[24-Nov-2025 19:17:09 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:17:09 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:17:09 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:17:09 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:17:09 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:17:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:17:09 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:17:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:17:09 UTC] ?? GLOBAL AUTH UPDATE: Setting require_login_for_download to 0 for ALL books
[24-Nov-2025 19:17:09 UTC] ✅ Global auth update completed: 7 books updated
[24-Nov-2025 19:17:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:17:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:17:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:17:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:17:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:17:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:17:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:17:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:17:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:17:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:17:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:17:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:17:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:17:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:17:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:17:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:17:10 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:17:10 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:17:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:17:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:17:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:17:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:17:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:17:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:17:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:17:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:17:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:17:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:17:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:17:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:17:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:17:10 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:17:10 UTC] 📊 Database Info:
[24-Nov-2025 19:17:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:17:10 UTC]    Books columns count: 45
[24-Nov-2025 19:17:10 UTC]    Categories columns count: 7
[24-Nov-2025 19:17:10 UTC]    Language field in books: YES
[24-Nov-2025 19:17:10 UTC]    Format field in books: YES
[24-Nov-2025 19:17:10 UTC]    Description field in categories: YES
[24-Nov-2025 19:17:10 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:17:10 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:17:10 UTC]    Is_active field in books: YES
[24-Nov-2025 19:17:10 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:17:10 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:17:10 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:17:10 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:17:10 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:17:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:17:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:17:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:17:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:17:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:17:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:17:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:17:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:17:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:17:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:17:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:17:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:17:10 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:17:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:17:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:17:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:17:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:17:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:17:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:17:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:17:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:17:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:17:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:17:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:17:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:17:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:17:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:17:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:17:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:17:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:17:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:17:17 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:17:17 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:17:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:17:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:17:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:17:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:17:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:17:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:17:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:17:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:17:17 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:17:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:17:17 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:17:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:17:17 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:17:17 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:17:17 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:17:17 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:17:17 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:17:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:17:17 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:17:17 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:17:17 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:17:17 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:17:17 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:17:17 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:17:17 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:17:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:17:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:17:17 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:17:17 UTC] 📊 Database Info:
[24-Nov-2025 19:17:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:17:17 UTC]    Books columns count: 45
[24-Nov-2025 19:17:17 UTC]    Categories columns count: 7
[24-Nov-2025 19:17:17 UTC]    Language field in books: YES
[24-Nov-2025 19:17:17 UTC]    Format field in books: YES
[24-Nov-2025 19:17:17 UTC]    Description field in categories: YES
[24-Nov-2025 19:17:17 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:17:17 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:17:17 UTC]    Is_active field in books: YES
[24-Nov-2025 19:17:17 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:17:17 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:17:17 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:17:17 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:17:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:17:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:17:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 19:17:17 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 19:17:17 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 19:17:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:17:17 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:17:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:17:17 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:17:17 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:17:17 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:17:17 UTC] 📊 Database Info:
[24-Nov-2025 19:17:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:17:17 UTC]    Books columns count: 45
[24-Nov-2025 19:17:17 UTC]    Categories columns count: 7
[24-Nov-2025 19:17:17 UTC]    Language field in books: YES
[24-Nov-2025 19:17:17 UTC]    Format field in books: YES
[24-Nov-2025 19:17:17 UTC]    Description field in categories: YES
[24-Nov-2025 19:17:17 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:17:17 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:17:17 UTC]    Is_active field in books: YES
[24-Nov-2025 19:17:17 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:17:17 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:17:17 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:17:17 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:17:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:17:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:17:17 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:17:17 UTC] 📊 Database Info:
[24-Nov-2025 19:17:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:17:17 UTC]    Books columns count: 45
[24-Nov-2025 19:17:17 UTC]    Categories columns count: 7
[24-Nov-2025 19:17:17 UTC]    Language field in books: YES
[24-Nov-2025 19:17:17 UTC]    Format field in books: YES
[24-Nov-2025 19:17:17 UTC]    Description field in categories: YES
[24-Nov-2025 19:17:17 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:17:17 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:17:17 UTC]    Is_active field in books: YES
[24-Nov-2025 19:17:17 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:17:17 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:17:17 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:17:17 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:17:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:17:17 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:17:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:17:17 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 19:17:17 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 19:17:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:17:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:17:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:17:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:17:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:17:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:17:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:17:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:17:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:17:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:17:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:17:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:17:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:17:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:17:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:17:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:17:41 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:17:41 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:17:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:17:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:17:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:17:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:17:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:17:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:17:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:17:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:17:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:17:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:17:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:17:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:17:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:17:41 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:17:41 UTC] 📊 Database Info:
[24-Nov-2025 19:17:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:17:41 UTC]    Books columns count: 45
[24-Nov-2025 19:17:41 UTC]    Categories columns count: 7
[24-Nov-2025 19:17:41 UTC]    Language field in books: YES
[24-Nov-2025 19:17:41 UTC]    Format field in books: YES
[24-Nov-2025 19:17:41 UTC]    Description field in categories: YES
[24-Nov-2025 19:17:41 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:17:41 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:17:41 UTC]    Is_active field in books: YES
[24-Nov-2025 19:17:41 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:17:41 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:17:41 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:17:41 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:17:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:17:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:17:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:17:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:17:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:17:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:17:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:17:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:17:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:17:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:17:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:17:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:17:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:17:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:17:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:17:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:17:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:17:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:17:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:17:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:17:42 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:17:42 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:17:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:17:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:17:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:17:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:17:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:17:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:17:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:17:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:17:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:17:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:17:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:17:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:17:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:17:42 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:17:42 UTC] 📊 Database Info:
[24-Nov-2025 19:17:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:17:42 UTC]    Books columns count: 45
[24-Nov-2025 19:17:42 UTC]    Categories columns count: 7
[24-Nov-2025 19:17:42 UTC]    Language field in books: YES
[24-Nov-2025 19:17:42 UTC]    Format field in books: YES
[24-Nov-2025 19:17:42 UTC]    Description field in categories: YES
[24-Nov-2025 19:17:42 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:17:42 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:17:42 UTC]    Is_active field in books: YES
[24-Nov-2025 19:17:42 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:17:42 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:17:42 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:17:42 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:17:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:17:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:17:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:40:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:40:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:40:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:40:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:40:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:40:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:40:44 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:40:44 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:40:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:40:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:40:44 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:40:44 UTC] 📊 Database Info:
[24-Nov-2025 19:40:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:40:44 UTC]    Books columns count: 45
[24-Nov-2025 19:40:44 UTC]    Categories columns count: 7
[24-Nov-2025 19:40:44 UTC]    Language field in books: YES
[24-Nov-2025 19:40:44 UTC]    Format field in books: YES
[24-Nov-2025 19:40:44 UTC]    Description field in categories: YES
[24-Nov-2025 19:40:44 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:40:44 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:40:44 UTC]    Is_active field in books: YES
[24-Nov-2025 19:40:44 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:40:44 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:40:44 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:40:44 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:40:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:40:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:40:44 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 19:40:44 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 19:40:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:40:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:40:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:40:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:40:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:40:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:40:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:40:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:40:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:40:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:40:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:40:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:40:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:40:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:40:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:40:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:40:44 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:40:44 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:40:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:40:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:40:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:40:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:40:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:40:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:40:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:40:44 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:40:44 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:40:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:40:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:40:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:40:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:40:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:40:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:40:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:40:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:40:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:40:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:40:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:40:44 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:40:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:40:44 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:40:44 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:40:44 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:40:44 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:40:44 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:40:44 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:40:44 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:40:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:40:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:40:44 UTC] 📊 Database Info:
[24-Nov-2025 19:40:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:40:44 UTC]    Books columns count: 45
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:40:44 UTC]    Categories columns count: 7
[24-Nov-2025 19:40:44 UTC]    Language field in books: YES
[24-Nov-2025 19:40:44 UTC]    Format field in books: YES
[24-Nov-2025 19:40:44 UTC]    Description field in categories: YES
[24-Nov-2025 19:40:44 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:40:44 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:40:44 UTC]    Is_active field in books: YES
[24-Nov-2025 19:40:44 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:40:44 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:40:44 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:40:44 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:40:44 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:40:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:40:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:40:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:40:44 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:40:44 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:40:44 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:40:44 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:40:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:40:44 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:40:44 UTC] 📊 Database Info:
[24-Nov-2025 19:40:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:40:44 UTC]    Books columns count: 45
[24-Nov-2025 19:40:44 UTC]    Categories columns count: 7
[24-Nov-2025 19:40:44 UTC]    Language field in books: YES
[24-Nov-2025 19:40:44 UTC]    Format field in books: YES
[24-Nov-2025 19:40:44 UTC]    Description field in categories: YES
[24-Nov-2025 19:40:44 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:40:44 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:40:44 UTC]    Is_active field in books: YES
[24-Nov-2025 19:40:44 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:40:44 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:40:44 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:40:44 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:40:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:40:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:40:44 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 19:40:44 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 19:40:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:40:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:40:44 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:40:44 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:40:44 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:40:44 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:40:44 UTC] 📊 Database Info:
[24-Nov-2025 19:40:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:40:44 UTC]    Books columns count: 45
[24-Nov-2025 19:40:44 UTC]    Categories columns count: 7
[24-Nov-2025 19:40:44 UTC]    Language field in books: YES
[24-Nov-2025 19:40:44 UTC]    Format field in books: YES
[24-Nov-2025 19:40:44 UTC]    Description field in categories: YES
[24-Nov-2025 19:40:44 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:40:44 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:40:44 UTC]    Is_active field in books: YES
[24-Nov-2025 19:40:44 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:40:44 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:40:44 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:40:44 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:40:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:40:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:40:44 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:40:44 UTC] 📊 Database Info:
[24-Nov-2025 19:40:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:40:44 UTC]    Books columns count: 45
[24-Nov-2025 19:40:44 UTC]    Categories columns count: 7
[24-Nov-2025 19:40:44 UTC]    Language field in books: YES
[24-Nov-2025 19:40:44 UTC]    Format field in books: YES
[24-Nov-2025 19:40:44 UTC]    Description field in categories: YES
[24-Nov-2025 19:40:44 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:40:44 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:40:44 UTC]    Is_active field in books: YES
[24-Nov-2025 19:40:44 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:40:44 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:40:44 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:40:44 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:40:44 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:40:44 UTC] 📊 Database Info:
[24-Nov-2025 19:40:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:40:44 UTC]    Books columns count: 45
[24-Nov-2025 19:40:44 UTC]    Categories columns count: 7
[24-Nov-2025 19:40:44 UTC]    Language field in books: YES
[24-Nov-2025 19:40:44 UTC]    Format field in books: YES
[24-Nov-2025 19:40:44 UTC]    Description field in categories: YES
[24-Nov-2025 19:40:44 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:40:44 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:40:44 UTC]    Is_active field in books: YES
[24-Nov-2025 19:40:44 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:40:44 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:40:44 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:40:44 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:40:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:40:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:40:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:40:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:40:44 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:40:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:40:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:40:45 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:40:45 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:40:45 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:40:45 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:40:45 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:40:45 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:40:45 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:40:45 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:40:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:40:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:40:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:40:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:40:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:40:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:40:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:40:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:40:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:40:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:40:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:40:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:40:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:40:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:40:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:40:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:40:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:40:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:40:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:40:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:40:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:40:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:40:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:40:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:40:46 UTC] 📊 Database Info:
[24-Nov-2025 19:40:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:40:46 UTC]    Books columns count: 45
[24-Nov-2025 19:40:46 UTC]    Categories columns count: 7
[24-Nov-2025 19:40:46 UTC]    Language field in books: YES
[24-Nov-2025 19:40:46 UTC]    Format field in books: YES
[24-Nov-2025 19:40:46 UTC]    Description field in categories: YES
[24-Nov-2025 19:40:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:40:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:40:46 UTC]    Is_active field in books: YES
[24-Nov-2025 19:40:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:40:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:40:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:40:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:40:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:40:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:40:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:40:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:40:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:40:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:40:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:40:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:40:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:40:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:40:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:40:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:40:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:40:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:40:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:40:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:40:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:40:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:40:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:40:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:40:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:40:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:40:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:40:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:40:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:40:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:40:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:40:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:40:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:40:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:40:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:40:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:40:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:40:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:40:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:40:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:40:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:40:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:40:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:40:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:40:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:40:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:40:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:40:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:40:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:40:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:40:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:40:50 UTC] 📊 Database Info:
[24-Nov-2025 19:40:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:40:50 UTC]    Books columns count: 45
[24-Nov-2025 19:40:50 UTC]    Categories columns count: 7
[24-Nov-2025 19:40:50 UTC]    Language field in books: YES
[24-Nov-2025 19:40:50 UTC]    Format field in books: YES
[24-Nov-2025 19:40:50 UTC]    Description field in categories: YES
[24-Nov-2025 19:40:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:40:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:40:50 UTC]    Is_active field in books: YES
[24-Nov-2025 19:40:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:40:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:40:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:40:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:40:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:40:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:40:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:40:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:40:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:40:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:40:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:40:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:40:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:40:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:40:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:40:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:40:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:40:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:40:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:41:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:41:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:41:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:41:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:41:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:41:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:41:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:41:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:41:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:41:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:41:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:41:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:41:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:41:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:41:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:41:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:41:01 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:41:01 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:41:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:41:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:41:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:41:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:41:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:41:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:41:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:41:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:41:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:41:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:41:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:41:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:41:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:41:01 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:41:01 UTC] 📊 Database Info:
[24-Nov-2025 19:41:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:41:01 UTC]    Books columns count: 45
[24-Nov-2025 19:41:01 UTC]    Categories columns count: 7
[24-Nov-2025 19:41:01 UTC]    Language field in books: YES
[24-Nov-2025 19:41:01 UTC]    Format field in books: YES
[24-Nov-2025 19:41:01 UTC]    Description field in categories: YES
[24-Nov-2025 19:41:01 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:41:01 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:41:01 UTC]    Is_active field in books: YES
[24-Nov-2025 19:41:01 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:41:01 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:41:01 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:41:01 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:41:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:41:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:41:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:41:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:41:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:41:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:41:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:41:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:41:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:41:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:41:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:41:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:41:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:41:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:41:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:41:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:41:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:41:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:41:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:41:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:41:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:41:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:41:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:41:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:41:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:41:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:41:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:41:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:41:03 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:41:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:41:03 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:41:03 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:41:03 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:41:03 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:41:03 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:41:03 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:41:03 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:41:03 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:41:03 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:41:03 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:41:03 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:41:03 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:41:03 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:41:03 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:41:03 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:41:03 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:41:03 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:41:03 UTC] 📊 Database Info:
[24-Nov-2025 19:41:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:41:03 UTC]    Books columns count: 45
[24-Nov-2025 19:41:03 UTC]    Categories columns count: 7
[24-Nov-2025 19:41:03 UTC]    Language field in books: YES
[24-Nov-2025 19:41:03 UTC]    Format field in books: YES
[24-Nov-2025 19:41:03 UTC]    Description field in categories: YES
[24-Nov-2025 19:41:03 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:41:03 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:41:03 UTC]    Is_active field in books: YES
[24-Nov-2025 19:41:03 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:41:03 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:41:03 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:41:03 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:41:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:41:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:41:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:41:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:41:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:41:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:41:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:41:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:41:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:41:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:41:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:41:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:41:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:41:03 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:41:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:41:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:41:59 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:41:59 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:41:59 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:41:59 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:41:59 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:41:59 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:41:59 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:41:59 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:00 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:42:00 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:00 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:00 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:42:00 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:42:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:00 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:00 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:00 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:00 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:00 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:00 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:42:00 UTC] 📊 Database Info:
[24-Nov-2025 19:42:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:42:00 UTC]    Books columns count: 45
[24-Nov-2025 19:42:00 UTC]    Categories columns count: 7
[24-Nov-2025 19:42:00 UTC]    Language field in books: YES
[24-Nov-2025 19:42:00 UTC]    Format field in books: YES
[24-Nov-2025 19:42:00 UTC]    Description field in categories: YES
[24-Nov-2025 19:42:00 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:42:00 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:42:00 UTC]    Is_active field in books: YES
[24-Nov-2025 19:42:00 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:42:00 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:42:00 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:42:00 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:42:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:42:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:42:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:42:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:42:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:42:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:42:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:42:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:42:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:42:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:42:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:42:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:42:00 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:42:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:42:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:42:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:00 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:00 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:00 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:00 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:00 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:00 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:00 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:00 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:42:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:01 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:42:01 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:42:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:42:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:01 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:42:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:01 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:01 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:42:01 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:42:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:01 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:42:01 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:42:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:01 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:01 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:01 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:01 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:01 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:01 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:01 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:01 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:42:01 UTC] 📊 Database Info:
[24-Nov-2025 19:42:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:42:01 UTC]    Books columns count: 45
[24-Nov-2025 19:42:01 UTC]    Categories columns count: 7
[24-Nov-2025 19:42:01 UTC]    Language field in books: YES
[24-Nov-2025 19:42:01 UTC]    Format field in books: YES
[24-Nov-2025 19:42:01 UTC]    Description field in categories: YES
[24-Nov-2025 19:42:01 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:42:01 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:42:01 UTC]    Is_active field in books: YES
[24-Nov-2025 19:42:01 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:42:01 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:42:01 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:42:01 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:42:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:42:01 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 19:42:01 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 19:42:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:01 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:42:01 UTC] 📊 Database Info:
[24-Nov-2025 19:42:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:42:01 UTC]    Books columns count: 45
[24-Nov-2025 19:42:01 UTC]    Categories columns count: 7
[24-Nov-2025 19:42:01 UTC]    Language field in books: YES
[24-Nov-2025 19:42:01 UTC]    Format field in books: YES
[24-Nov-2025 19:42:01 UTC]    Description field in categories: YES
[24-Nov-2025 19:42:01 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:42:01 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:42:01 UTC]    Is_active field in books: YES
[24-Nov-2025 19:42:01 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:42:01 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:42:01 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:42:01 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:42:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:42:01 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:01 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:01 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:01 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:42:01 UTC] 📊 Database Info:
[24-Nov-2025 19:42:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:42:01 UTC]    Books columns count: 45
[24-Nov-2025 19:42:01 UTC]    Categories columns count: 7
[24-Nov-2025 19:42:01 UTC]    Language field in books: YES
[24-Nov-2025 19:42:01 UTC]    Format field in books: YES
[24-Nov-2025 19:42:01 UTC]    Description field in categories: YES
[24-Nov-2025 19:42:01 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:42:01 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:42:01 UTC]    Is_active field in books: YES
[24-Nov-2025 19:42:01 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:42:01 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:42:01 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:42:01 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:42:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:42:01 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:42:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:42:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:42:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:10 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:42:10 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:42:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:10 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:42:10 UTC] 📊 Database Info:
[24-Nov-2025 19:42:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:42:10 UTC]    Books columns count: 45
[24-Nov-2025 19:42:10 UTC]    Categories columns count: 7
[24-Nov-2025 19:42:10 UTC]    Language field in books: YES
[24-Nov-2025 19:42:10 UTC]    Format field in books: YES
[24-Nov-2025 19:42:10 UTC]    Description field in categories: YES
[24-Nov-2025 19:42:10 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:42:10 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:42:10 UTC]    Is_active field in books: YES
[24-Nov-2025 19:42:10 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:42:10 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:42:10 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:42:10 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:42:10 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:42:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:42:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:42:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:42:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:42:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:42:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:42:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:42:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:42:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:42:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:42:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:42:10 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:42:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:42:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:42:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:42:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:42:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:42:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:42:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:42:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:42:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:42:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:42:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:42:50 UTC] 📊 Database Info:
[24-Nov-2025 19:42:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:42:50 UTC]    Books columns count: 45
[24-Nov-2025 19:42:50 UTC]    Categories columns count: 7
[24-Nov-2025 19:42:50 UTC]    Language field in books: YES
[24-Nov-2025 19:42:50 UTC]    Format field in books: YES
[24-Nov-2025 19:42:50 UTC]    Description field in categories: YES
[24-Nov-2025 19:42:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:42:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:42:50 UTC]    Is_active field in books: YES
[24-Nov-2025 19:42:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:42:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:42:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:42:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:42:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:42:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:42:50 UTC] 📊 Database Info:
[24-Nov-2025 19:42:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:42:50 UTC]    Books columns count: 45
[24-Nov-2025 19:42:50 UTC]    Categories columns count: 7
[24-Nov-2025 19:42:50 UTC]    Language field in books: YES
[24-Nov-2025 19:42:50 UTC]    Format field in books: YES
[24-Nov-2025 19:42:50 UTC]    Description field in categories: YES
[24-Nov-2025 19:42:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:42:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:42:50 UTC]    Is_active field in books: YES
[24-Nov-2025 19:42:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:42:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:42:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:42:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:42:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:42:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:42:50 UTC] 📊 Database Info:
[24-Nov-2025 19:42:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:42:50 UTC]    Books columns count: 45
[24-Nov-2025 19:42:50 UTC]    Categories columns count: 7
[24-Nov-2025 19:42:50 UTC]    Language field in books: YES
[24-Nov-2025 19:42:50 UTC]    Format field in books: YES
[24-Nov-2025 19:42:50 UTC]    Description field in categories: YES
[24-Nov-2025 19:42:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:42:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:42:50 UTC]    Is_active field in books: YES
[24-Nov-2025 19:42:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:42:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:42:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:42:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:42:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:42:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:42:50 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 19:42:50 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 19:42:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:42:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:42:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:42:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:52 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:42:52 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:42:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:42:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:42:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:52 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:42:52 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:42:52 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:42:52 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:42:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:52 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:42:52 UTC] 📊 Database Info:
[24-Nov-2025 19:42:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:42:52 UTC]    Books columns count: 45
[24-Nov-2025 19:42:52 UTC]    Categories columns count: 7
[24-Nov-2025 19:42:52 UTC]    Language field in books: YES
[24-Nov-2025 19:42:52 UTC]    Format field in books: YES
[24-Nov-2025 19:42:52 UTC]    Description field in categories: YES
[24-Nov-2025 19:42:52 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:42:52 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:42:52 UTC]    Is_active field in books: YES
[24-Nov-2025 19:42:52 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:42:52 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:42:52 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:42:52 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:42:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:42:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:52 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:42:52 UTC] 📊 Database Info:
[24-Nov-2025 19:42:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:42:52 UTC]    Books columns count: 45
[24-Nov-2025 19:42:52 UTC]    Categories columns count: 7
[24-Nov-2025 19:42:52 UTC]    Language field in books: YES
[24-Nov-2025 19:42:52 UTC]    Format field in books: YES
[24-Nov-2025 19:42:52 UTC]    Description field in categories: YES
[24-Nov-2025 19:42:52 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:42:52 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:42:52 UTC]    Is_active field in books: YES
[24-Nov-2025 19:42:52 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:42:52 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:42:52 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:42:52 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:42:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:42:52 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 19:42:52 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 19:42:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:52 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:42:52 UTC] 📊 Database Info:
[24-Nov-2025 19:42:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:42:52 UTC]    Books columns count: 45
[24-Nov-2025 19:42:52 UTC]    Categories columns count: 7
[24-Nov-2025 19:42:52 UTC]    Language field in books: YES
[24-Nov-2025 19:42:52 UTC]    Format field in books: YES
[24-Nov-2025 19:42:52 UTC]    Description field in categories: YES
[24-Nov-2025 19:42:52 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:42:52 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:42:52 UTC]    Is_active field in books: YES
[24-Nov-2025 19:42:52 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:42:52 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:42:52 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:42:52 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:42:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:42:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:42:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:42:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:42:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:42:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:42:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:42:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:42:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:42:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:42:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:42:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:42:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:42:56 UTC] 📊 Database Info:
[24-Nov-2025 19:42:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:42:56 UTC]    Books columns count: 45
[24-Nov-2025 19:42:56 UTC]    Categories columns count: 7
[24-Nov-2025 19:42:56 UTC]    Language field in books: YES
[24-Nov-2025 19:42:56 UTC]    Format field in books: YES
[24-Nov-2025 19:42:56 UTC]    Description field in categories: YES
[24-Nov-2025 19:42:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:42:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:42:56 UTC]    Is_active field in books: YES
[24-Nov-2025 19:42:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:42:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:42:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:42:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:42:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:42:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:42:56 UTC] 📊 Database Info:
[24-Nov-2025 19:42:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:42:56 UTC]    Books columns count: 45
[24-Nov-2025 19:42:56 UTC]    Categories columns count: 7
[24-Nov-2025 19:42:56 UTC]    Language field in books: YES
[24-Nov-2025 19:42:56 UTC]    Format field in books: YES
[24-Nov-2025 19:42:56 UTC]    Description field in categories: YES
[24-Nov-2025 19:42:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:42:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:42:56 UTC]    Is_active field in books: YES
[24-Nov-2025 19:42:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:42:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:42:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:42:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:42:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:42:56 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 19:42:56 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 19:42:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:42:56 UTC] 📊 Database Info:
[24-Nov-2025 19:42:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:42:56 UTC]    Books columns count: 45
[24-Nov-2025 19:42:56 UTC]    Categories columns count: 7
[24-Nov-2025 19:42:56 UTC]    Language field in books: YES
[24-Nov-2025 19:42:56 UTC]    Format field in books: YES
[24-Nov-2025 19:42:56 UTC]    Description field in categories: YES
[24-Nov-2025 19:42:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:42:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:42:56 UTC]    Is_active field in books: YES
[24-Nov-2025 19:42:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:42:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:42:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:42:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:42:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:42:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:42:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:42:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:42:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:42:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:42:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:42:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:42:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:42:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:42:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:42:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:42:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:42:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:42:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:42:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:42:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:42:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:42:56 UTC] 📊 Database Info:
[24-Nov-2025 19:42:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:42:56 UTC]    Books columns count: 45
[24-Nov-2025 19:42:56 UTC]    Categories columns count: 7
[24-Nov-2025 19:42:56 UTC]    Language field in books: YES
[24-Nov-2025 19:42:56 UTC]    Format field in books: YES
[24-Nov-2025 19:42:56 UTC]    Description field in categories: YES
[24-Nov-2025 19:42:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:42:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:42:56 UTC]    Is_active field in books: YES
[24-Nov-2025 19:42:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:42:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:42:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:42:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:42:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:42:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:42:56 UTC] 📊 Database Info:
[24-Nov-2025 19:42:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:42:56 UTC]    Books columns count: 45
[24-Nov-2025 19:42:56 UTC]    Categories columns count: 7
[24-Nov-2025 19:42:56 UTC]    Language field in books: YES
[24-Nov-2025 19:42:56 UTC]    Format field in books: YES
[24-Nov-2025 19:42:56 UTC]    Description field in categories: YES
[24-Nov-2025 19:42:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:42:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:42:56 UTC]    Is_active field in books: YES
[24-Nov-2025 19:42:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:42:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:42:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:42:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:42:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:42:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:42:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:42:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:42:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:42:56 UTC] 📊 Database Info:
[24-Nov-2025 19:42:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:42:56 UTC]    Books columns count: 45
[24-Nov-2025 19:42:56 UTC]    Categories columns count: 7
[24-Nov-2025 19:42:56 UTC]    Language field in books: YES
[24-Nov-2025 19:42:56 UTC]    Format field in books: YES
[24-Nov-2025 19:42:56 UTC]    Description field in categories: YES
[24-Nov-2025 19:42:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:42:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:42:56 UTC]    Is_active field in books: YES
[24-Nov-2025 19:42:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:42:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:42:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:42:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:42:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:42:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:42:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:42:56 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 19:42:56 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 19:47:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:47:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:47:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:47:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:47:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:47:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:47:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:47:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:47:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:47:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:47:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:47:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:47:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:47:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:47:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:47:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:47:07 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:47:07 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:47:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:47:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:47:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:47:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:47:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:47:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:47:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:47:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:47:07 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:47:07 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:47:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:47:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:47:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:47:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:47:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:47:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:47:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:47:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:47:07 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:47:07 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:47:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:47:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:47:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:47:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:47:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:47:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:47:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:47:07 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:47:07 UTC] 📊 Database Info:
[24-Nov-2025 19:47:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:47:07 UTC]    Books columns count: 45
[24-Nov-2025 19:47:07 UTC]    Categories columns count: 7
[24-Nov-2025 19:47:07 UTC]    Language field in books: YES
[24-Nov-2025 19:47:07 UTC]    Format field in books: YES
[24-Nov-2025 19:47:07 UTC]    Description field in categories: YES
[24-Nov-2025 19:47:07 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:47:07 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:47:07 UTC]    Is_active field in books: YES
[24-Nov-2025 19:47:07 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:47:07 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:47:07 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:47:07 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:47:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:47:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:47:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:47:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:47:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:47:07 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:47:07 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:47:07 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:47:07 UTC] 📊 Database Info:
[24-Nov-2025 19:47:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:47:07 UTC]    Books columns count: 45
[24-Nov-2025 19:47:07 UTC]    Categories columns count: 7
[24-Nov-2025 19:47:07 UTC]    Language field in books: YES
[24-Nov-2025 19:47:07 UTC]    Format field in books: YES
[24-Nov-2025 19:47:07 UTC]    Description field in categories: YES
[24-Nov-2025 19:47:07 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:47:07 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:47:07 UTC]    Is_active field in books: YES
[24-Nov-2025 19:47:07 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:47:07 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:47:07 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:47:07 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:47:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:47:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:47:07 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 19:47:07 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:47:07 UTC] 📊 Database Info:
[24-Nov-2025 19:47:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:47:07 UTC]    Books columns count: 45
[24-Nov-2025 19:47:07 UTC]    Categories columns count: 7
[24-Nov-2025 19:47:07 UTC]    Language field in books: YES
[24-Nov-2025 19:47:07 UTC]    Format field in books: YES
[24-Nov-2025 19:47:07 UTC]    Description field in categories: YES
[24-Nov-2025 19:47:07 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:47:07 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:47:07 UTC]    Is_active field in books: YES
[24-Nov-2025 19:47:07 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:47:07 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:47:07 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:47:07 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:47:07 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 19:47:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:47:07 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:47:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:50:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:50:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:50:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:50:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 19:50:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:50:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:50:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:50:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:50:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:50:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:50:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:50:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:50:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:50:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:50:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:50:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:50:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:50:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:50:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:50:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:50:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:50:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:50:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:50:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:50:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:50:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:50:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:50:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:50:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:50:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:50:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:50:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:50:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 19:50:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:50:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:50:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:50:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:50:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:50:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 19:50:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:50:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:50:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:50:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:50:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:50:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:50:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:50:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:50:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:50:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:50:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 19:50:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 19:50:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 19:50:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 19:50:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 19:50:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:50:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:50:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:50:27 UTC] 📊 Database Info:
[24-Nov-2025 19:50:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:50:27 UTC]    Books columns count: 45
[24-Nov-2025 19:50:27 UTC]    Categories columns count: 7
[24-Nov-2025 19:50:27 UTC]    Language field in books: YES
[24-Nov-2025 19:50:27 UTC]    Format field in books: YES
[24-Nov-2025 19:50:27 UTC]    Description field in categories: YES
[24-Nov-2025 19:50:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:50:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:50:27 UTC]    Is_active field in books: YES
[24-Nov-2025 19:50:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:50:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:50:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:50:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:50:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:50:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:50:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:50:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:50:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:50:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 19:50:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 19:50:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:50:27 UTC] 📊 Database Info:
[24-Nov-2025 19:50:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:50:27 UTC]    Books columns count: 45
[24-Nov-2025 19:50:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 19:50:27 UTC]    Categories columns count: 7
[24-Nov-2025 19:50:27 UTC] 📊 Database Info:
[24-Nov-2025 19:50:27 UTC]    Language field in books: YES
[24-Nov-2025 19:50:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 19:50:27 UTC]    Format field in books: YES
[24-Nov-2025 19:50:27 UTC]    Books columns count: 45
[24-Nov-2025 19:50:27 UTC]    Description field in categories: YES
[24-Nov-2025 19:50:27 UTC]    Categories columns count: 7
[24-Nov-2025 19:50:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:50:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:50:27 UTC]    Is_active field in books: YES
[24-Nov-2025 19:50:27 UTC]    Language field in books: YES
[24-Nov-2025 19:50:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:50:27 UTC]    Format field in books: YES
[24-Nov-2025 19:50:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:50:27 UTC]    Description field in categories: YES
[24-Nov-2025 19:50:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:50:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 19:50:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:50:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 19:50:27 UTC]    Is_active field in books: YES
[24-Nov-2025 19:50:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 19:50:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 19:50:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 19:50:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 19:50:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:50:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 19:50:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:50:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:50:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 19:50:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 19:50:27 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 19:50:27 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 20:08:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:08:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:08:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:08:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:08:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:08:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:08:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:08:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:08:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:08:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:08:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:08:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:08:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:08:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:08:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:08:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:08:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:08:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:08:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:08:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:08:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:08:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:08:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:08:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:08:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:08:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:08:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:08:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:08:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:08:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:08:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:08:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:08:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:08:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:08:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:08:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:08:29 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:08:29 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:08:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:08:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:08:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:08:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:08:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:08:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:08:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:08:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:08:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:08:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:08:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:08:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:08:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:08:29 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:08:29 UTC] 📊 Database Info:
[24-Nov-2025 20:08:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:08:29 UTC]    Books columns count: 45
[24-Nov-2025 20:08:29 UTC]    Categories columns count: 7
[24-Nov-2025 20:08:29 UTC]    Language field in books: YES
[24-Nov-2025 20:08:29 UTC]    Format field in books: YES
[24-Nov-2025 20:08:29 UTC]    Description field in categories: YES
[24-Nov-2025 20:08:29 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:08:29 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:08:29 UTC]    Is_active field in books: YES
[24-Nov-2025 20:08:29 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:08:29 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:08:29 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:08:29 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:08:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:08:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:08:29 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 20:08:29 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 20:08:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:08:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:08:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:08:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:08:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:08:29 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:08:29 UTC] 📊 Database Info:
[24-Nov-2025 20:08:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:08:29 UTC]    Books columns count: 45
[24-Nov-2025 20:08:29 UTC]    Categories columns count: 7
[24-Nov-2025 20:08:29 UTC]    Language field in books: YES
[24-Nov-2025 20:08:29 UTC]    Format field in books: YES
[24-Nov-2025 20:08:29 UTC]    Description field in categories: YES
[24-Nov-2025 20:08:29 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:08:29 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:08:29 UTC]    Is_active field in books: YES
[24-Nov-2025 20:08:29 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:08:29 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:08:29 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:08:29 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:08:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:08:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:08:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 20:08:29 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 20:08:29 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 20:08:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:08:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:08:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:08:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:08:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:08:29 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:08:29 UTC] 📊 Database Info:
[24-Nov-2025 20:08:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:08:29 UTC]    Books columns count: 45
[24-Nov-2025 20:08:29 UTC]    Categories columns count: 7
[24-Nov-2025 20:08:29 UTC]    Language field in books: YES
[24-Nov-2025 20:08:29 UTC]    Format field in books: YES
[24-Nov-2025 20:08:29 UTC]    Description field in categories: YES
[24-Nov-2025 20:08:29 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:08:29 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:08:29 UTC]    Is_active field in books: YES
[24-Nov-2025 20:08:29 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:08:29 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:08:29 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:08:29 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:08:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:08:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:08:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:08:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:08:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:08:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:08:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:08:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:08:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:08:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:08:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:08:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:08:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:08:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:08:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:08:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:08:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:08:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:08:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:08:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:08:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:08:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:08:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:08:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:08:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:08:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:08:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:08:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:08:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:08:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:08:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:08:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:08:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:08:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:08:31 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:08:31 UTC] 📊 Database Info:
[24-Nov-2025 20:08:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:08:31 UTC]    Books columns count: 45
[24-Nov-2025 20:08:31 UTC]    Categories columns count: 7
[24-Nov-2025 20:08:31 UTC]    Language field in books: YES
[24-Nov-2025 20:08:31 UTC]    Format field in books: YES
[24-Nov-2025 20:08:31 UTC]    Description field in categories: YES
[24-Nov-2025 20:08:31 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:08:31 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:08:31 UTC]    Is_active field in books: YES
[24-Nov-2025 20:08:31 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:08:31 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:08:31 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:08:31 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:08:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:08:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:08:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:08:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:08:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:08:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:08:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:08:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:08:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:08:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:08:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:08:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:08:32 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:08:32 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:08:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:08:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:08:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:08:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:08:32 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:08:32 UTC] 📊 Database Info:
[24-Nov-2025 20:08:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:08:32 UTC]    Books columns count: 45
[24-Nov-2025 20:08:32 UTC]    Categories columns count: 7
[24-Nov-2025 20:08:32 UTC]    Language field in books: YES
[24-Nov-2025 20:08:32 UTC]    Format field in books: YES
[24-Nov-2025 20:08:32 UTC]    Description field in categories: YES
[24-Nov-2025 20:08:32 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:08:32 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:08:32 UTC]    Is_active field in books: YES
[24-Nov-2025 20:08:32 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:08:32 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:08:32 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:08:32 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:08:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:08:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:08:32 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[24-Nov-2025 20:08:32 UTC] ?? Processing: home_screen - show_welcome_section: 1
[24-Nov-2025 20:08:32 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[24-Nov-2025 20:08:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:08:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:08:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:08:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:08:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:08:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:08:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:08:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:08:32 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:08:32 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:08:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:08:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:08:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:08:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:08:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:08:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:08:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:08:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:08:32 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:08:32 UTC] 📊 Database Info:
[24-Nov-2025 20:08:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:08:32 UTC]    Books columns count: 45
[24-Nov-2025 20:08:32 UTC]    Categories columns count: 7
[24-Nov-2025 20:08:32 UTC]    Language field in books: YES
[24-Nov-2025 20:08:32 UTC]    Format field in books: YES
[24-Nov-2025 20:08:32 UTC]    Description field in categories: YES
[24-Nov-2025 20:08:32 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:08:32 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:08:32 UTC]    Is_active field in books: YES
[24-Nov-2025 20:08:32 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:08:32 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:08:32 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:08:32 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:08:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:08:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:08:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:08:32 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[24-Nov-2025 20:08:32 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[24-Nov-2025 20:08:32 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[24-Nov-2025 20:16:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:16:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:16:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:16:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:16:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:16:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:16:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:16:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:16:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:16:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:16:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:16:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:16:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:16:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:16:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:16:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:16:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:16:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:16:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:16:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:16:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:16:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:16:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:16:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:16:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:16:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:16:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:16:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:16:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:16:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:16:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:16:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:16:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:16:20 UTC] 📊 Database Info:
[24-Nov-2025 20:16:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:16:20 UTC]    Books columns count: 45
[24-Nov-2025 20:16:20 UTC]    Categories columns count: 7
[24-Nov-2025 20:16:20 UTC]    Language field in books: YES
[24-Nov-2025 20:16:20 UTC]    Format field in books: YES
[24-Nov-2025 20:16:20 UTC]    Description field in categories: YES
[24-Nov-2025 20:16:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:16:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:16:20 UTC]    Is_active field in books: YES
[24-Nov-2025 20:16:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:16:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:16:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:16:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:16:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:16:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:16:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:16:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:16:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:16:20 UTC] 📊 Database Info:
[24-Nov-2025 20:16:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:16:20 UTC]    Books columns count: 45
[24-Nov-2025 20:16:20 UTC]    Categories columns count: 7
[24-Nov-2025 20:16:20 UTC]    Language field in books: YES
[24-Nov-2025 20:16:20 UTC]    Format field in books: YES
[24-Nov-2025 20:16:20 UTC]    Description field in categories: YES
[24-Nov-2025 20:16:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:16:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:16:20 UTC]    Is_active field in books: YES
[24-Nov-2025 20:16:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:16:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:16:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:16:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:16:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:16:20 UTC] 📊 Database Info:
[24-Nov-2025 20:16:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:16:20 UTC]    Books columns count: 45
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:16:20 UTC]    Categories columns count: 7
[24-Nov-2025 20:16:20 UTC]    Language field in books: YES
[24-Nov-2025 20:16:20 UTC]    Format field in books: YES
[24-Nov-2025 20:16:20 UTC]    Description field in categories: YES
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:16:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:16:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:16:20 UTC]    Is_active field in books: YES
[24-Nov-2025 20:16:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:16:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:16:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:16:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:16:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:16:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:16:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:16:20 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 20:16:20 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 20:16:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:16:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:16:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:16:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:16:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:16:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:16:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:16:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:16:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:16:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:16:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:16:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:16:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:16:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:16:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:16:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:16:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:16:20 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:16:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:16:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:16:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:16:20 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:16:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:16:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:16:20 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:16:20 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:16:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:16:20 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:16:20 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:16:20 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:16:20 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:16:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:16:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:16:20 UTC] 📊 Database Info:
[24-Nov-2025 20:16:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:16:20 UTC]    Books columns count: 45
[24-Nov-2025 20:16:20 UTC]    Categories columns count: 7
[24-Nov-2025 20:16:20 UTC]    Language field in books: YES
[24-Nov-2025 20:16:20 UTC]    Format field in books: YES
[24-Nov-2025 20:16:20 UTC]    Description field in categories: YES
[24-Nov-2025 20:16:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:16:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:16:20 UTC]    Is_active field in books: YES
[24-Nov-2025 20:16:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:16:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:16:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:16:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:16:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:16:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:16:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:16:20 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:16:20 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:16:20 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:16:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:16:20 UTC] 📊 Database Info:
[24-Nov-2025 20:16:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:16:20 UTC]    Books columns count: 45
[24-Nov-2025 20:16:20 UTC]    Categories columns count: 7
[24-Nov-2025 20:16:20 UTC]    Language field in books: YES
[24-Nov-2025 20:16:20 UTC]    Format field in books: YES
[24-Nov-2025 20:16:20 UTC]    Description field in categories: YES
[24-Nov-2025 20:16:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:16:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:16:20 UTC]    Is_active field in books: YES
[24-Nov-2025 20:16:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:16:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:16:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:16:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:16:20 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:16:20 UTC] 📊 Database Info:
[24-Nov-2025 20:16:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:16:20 UTC]    Books columns count: 45
[24-Nov-2025 20:16:20 UTC]    Categories columns count: 7
[24-Nov-2025 20:16:20 UTC]    Language field in books: YES
[24-Nov-2025 20:16:20 UTC]    Format field in books: YES
[24-Nov-2025 20:16:20 UTC]    Description field in categories: YES
[24-Nov-2025 20:16:20 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:16:20 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:16:20 UTC]    Is_active field in books: YES
[24-Nov-2025 20:16:20 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:16:20 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:16:20 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:16:20 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:16:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:16:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:16:20 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:16:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:16:20 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 20:16:20 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 20:16:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:16:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:16:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:16:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:16:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:16:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:16:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:16:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:16:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:16:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:16:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:16:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:16:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:16:23 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:16:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:16:23 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:16:23 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:16:23 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:16:23 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:16:23 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:16:23 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:16:23 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:16:23 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:16:23 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:16:23 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:16:23 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:16:23 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:16:23 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:16:23 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:16:23 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:16:23 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:16:23 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:16:23 UTC] 📊 Database Info:
[24-Nov-2025 20:16:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:16:23 UTC]    Books columns count: 45
[24-Nov-2025 20:16:23 UTC]    Categories columns count: 7
[24-Nov-2025 20:16:23 UTC]    Language field in books: YES
[24-Nov-2025 20:16:23 UTC]    Format field in books: YES
[24-Nov-2025 20:16:23 UTC]    Description field in categories: YES
[24-Nov-2025 20:16:23 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:16:23 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:16:23 UTC]    Is_active field in books: YES
[24-Nov-2025 20:16:23 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:16:23 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:16:23 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:16:23 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:16:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:16:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:16:23 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:16:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:35:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:35:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:35:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:35:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:35:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:35:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:35:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:35:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:35:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:35:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:35:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:35:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:35:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:35:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:35:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:35:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:35:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:35:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:35:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:35:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:35:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:35:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:35:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:35:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:35:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:35:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:35:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:35:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:35:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:35:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:35:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:35:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:35:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:35:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:35:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:35:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:35:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:35:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:35:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:35:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:35:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:35:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:35:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:35:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:35:51 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:35:51 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:35:51 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:35:51 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:35:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:35:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:35:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:35:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:35:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:35:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:35:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:35:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:35:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:35:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:35:51 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:35:51 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:35:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:35:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:35:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:35:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:35:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:35:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:35:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:35:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:35:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:35:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:35:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:35:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:35:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:35:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:35:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:35:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:35:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:35:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:35:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:35:51 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:35:51 UTC] 📊 Database Info:
[24-Nov-2025 20:35:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:35:51 UTC]    Books columns count: 45
[24-Nov-2025 20:35:51 UTC]    Categories columns count: 7
[24-Nov-2025 20:35:51 UTC]    Language field in books: YES
[24-Nov-2025 20:35:51 UTC]    Format field in books: YES
[24-Nov-2025 20:35:51 UTC]    Description field in categories: YES
[24-Nov-2025 20:35:51 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:35:51 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:35:51 UTC]    Is_active field in books: YES
[24-Nov-2025 20:35:51 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:35:51 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:35:51 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:35:51 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:35:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:35:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:35:51 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 20:35:51 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 20:35:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:35:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:35:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:35:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:35:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:35:51 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:35:51 UTC] 📊 Database Info:
[24-Nov-2025 20:35:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:35:51 UTC]    Books columns count: 45
[24-Nov-2025 20:35:51 UTC]    Categories columns count: 7
[24-Nov-2025 20:35:51 UTC]    Language field in books: YES
[24-Nov-2025 20:35:51 UTC]    Format field in books: YES
[24-Nov-2025 20:35:51 UTC]    Description field in categories: YES
[24-Nov-2025 20:35:51 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:35:51 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:35:51 UTC]    Is_active field in books: YES
[24-Nov-2025 20:35:51 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:35:51 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:35:51 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:35:51 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:35:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:35:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:35:51 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:35:51 UTC] 📊 Database Info:
[24-Nov-2025 20:35:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:35:51 UTC]    Books columns count: 45
[24-Nov-2025 20:35:51 UTC]    Categories columns count: 7
[24-Nov-2025 20:35:51 UTC]    Language field in books: YES
[24-Nov-2025 20:35:51 UTC]    Format field in books: YES
[24-Nov-2025 20:35:51 UTC]    Description field in categories: YES
[24-Nov-2025 20:35:51 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:35:51 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:35:51 UTC]    Is_active field in books: YES
[24-Nov-2025 20:35:51 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:35:51 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:35:51 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:35:51 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:35:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:35:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:35:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:26 UTC] 📊 Database Info:
[24-Nov-2025 20:38:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:26 UTC]    Books columns count: 45
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:26 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:26 UTC]    Language field in books: YES
[24-Nov-2025 20:38:26 UTC]    Format field in books: YES
[24-Nov-2025 20:38:26 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:26 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:26 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:26 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:26 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:26 UTC] 📊 Database Info:
[24-Nov-2025 20:38:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:26 UTC]    Books columns count: 45
[24-Nov-2025 20:38:26 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:26 UTC]    Language field in books: YES
[24-Nov-2025 20:38:26 UTC]    Format field in books: YES
[24-Nov-2025 20:38:26 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:26 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:26 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:26 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:26 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:26 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:26 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:26 UTC] 📊 Database Info:
[24-Nov-2025 20:38:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:26 UTC]    Books columns count: 45
[24-Nov-2025 20:38:26 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:26 UTC]    Language field in books: YES
[24-Nov-2025 20:38:26 UTC]    Format field in books: YES
[24-Nov-2025 20:38:26 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:26 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:26 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 20:38:26 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 20:38:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:26 UTC] 📊 Database Info:
[24-Nov-2025 20:38:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:26 UTC]    Books columns count: 45
[24-Nov-2025 20:38:26 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:26 UTC]    Language field in books: YES
[24-Nov-2025 20:38:26 UTC]    Format field in books: YES
[24-Nov-2025 20:38:26 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:26 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:26 UTC] 📊 Database Info:
[24-Nov-2025 20:38:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:26 UTC]    Books columns count: 45
[24-Nov-2025 20:38:26 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:26 UTC]    Language field in books: YES
[24-Nov-2025 20:38:26 UTC]    Format field in books: YES
[24-Nov-2025 20:38:26 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:26 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:26 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:26 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:26 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:26 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:26 UTC] 📊 Database Info:
[24-Nov-2025 20:38:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:26 UTC]    Books columns count: 45
[24-Nov-2025 20:38:26 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:26 UTC]    Language field in books: YES
[24-Nov-2025 20:38:26 UTC]    Format field in books: YES
[24-Nov-2025 20:38:26 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:26 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:26 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:26 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:26 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:26 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:26 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:26 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:26 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:33 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:33 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:33 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:33 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:33 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:33 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:33 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:33 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:33 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:33 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:33 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:33 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:33 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:33 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:33 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:33 UTC] 📊 Database Info:
[24-Nov-2025 20:38:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:33 UTC]    Books columns count: 45
[24-Nov-2025 20:38:33 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:33 UTC]    Language field in books: YES
[24-Nov-2025 20:38:33 UTC]    Format field in books: YES
[24-Nov-2025 20:38:33 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:33 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:33 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:33 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:33 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:33 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:33 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:33 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:33 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:33 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:41 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:41 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:41 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:41 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:41 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:41 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:41 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:41 UTC] 📊 Database Info:
[24-Nov-2025 20:38:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:41 UTC]    Books columns count: 45
[24-Nov-2025 20:38:41 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:41 UTC]    Language field in books: YES
[24-Nov-2025 20:38:41 UTC]    Format field in books: YES
[24-Nov-2025 20:38:41 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:41 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:41 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:41 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:41 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:41 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:41 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:41 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:41 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:41 UTC] 📊 Database Info:
[24-Nov-2025 20:38:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:41 UTC]    Books columns count: 45
[24-Nov-2025 20:38:41 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:41 UTC]    Language field in books: YES
[24-Nov-2025 20:38:41 UTC]    Format field in books: YES
[24-Nov-2025 20:38:41 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:41 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:41 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:41 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:41 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:41 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:41 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:41 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:41 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 20:38:41 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 20:38:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:41 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:41 UTC] 📊 Database Info:
[24-Nov-2025 20:38:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:41 UTC]    Books columns count: 45
[24-Nov-2025 20:38:41 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:41 UTC]    Language field in books: YES
[24-Nov-2025 20:38:41 UTC]    Format field in books: YES
[24-Nov-2025 20:38:41 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:41 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:41 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:41 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:41 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:41 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:41 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:41 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:41 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:41 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:41 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:41 UTC] 📊 Database Info:
[24-Nov-2025 20:38:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:41 UTC]    Books columns count: 45
[24-Nov-2025 20:38:41 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:41 UTC]    Language field in books: YES
[24-Nov-2025 20:38:41 UTC]    Format field in books: YES
[24-Nov-2025 20:38:41 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:41 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:41 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:41 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:41 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:41 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:41 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:41 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:49 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:49 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:49 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:49 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:49 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:49 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:49 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:49 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:49 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:49 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:49 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:49 UTC] 📊 Database Info:
[24-Nov-2025 20:38:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:49 UTC]    Books columns count: 45
[24-Nov-2025 20:38:49 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:49 UTC]    Language field in books: YES
[24-Nov-2025 20:38:49 UTC]    Format field in books: YES
[24-Nov-2025 20:38:49 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:49 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:49 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 20:38:49 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 20:38:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:49 UTC] 📊 Database Info:
[24-Nov-2025 20:38:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:49 UTC]    Books columns count: 45
[24-Nov-2025 20:38:49 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:49 UTC]    Language field in books: YES
[24-Nov-2025 20:38:49 UTC]    Format field in books: YES
[24-Nov-2025 20:38:49 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:49 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:49 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:49 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:49 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:49 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:49 UTC] 📊 Database Info:
[24-Nov-2025 20:38:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:49 UTC]    Books columns count: 45
[24-Nov-2025 20:38:49 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:49 UTC]    Language field in books: YES
[24-Nov-2025 20:38:49 UTC]    Format field in books: YES
[24-Nov-2025 20:38:49 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:49 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:49 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:49 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:49 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:49 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:49 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:49 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:49 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:50 UTC] 📊 Database Info:
[24-Nov-2025 20:38:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:50 UTC]    Books columns count: 45
[24-Nov-2025 20:38:50 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:50 UTC]    Language field in books: YES
[24-Nov-2025 20:38:50 UTC]    Format field in books: YES
[24-Nov-2025 20:38:50 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:50 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:56 UTC] 📊 Database Info:
[24-Nov-2025 20:38:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:56 UTC]    Books columns count: 45
[24-Nov-2025 20:38:56 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:56 UTC]    Language field in books: YES
[24-Nov-2025 20:38:56 UTC]    Format field in books: YES
[24-Nov-2025 20:38:56 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:56 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:56 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 20:38:56 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 20:38:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:56 UTC] 📊 Database Info:
[24-Nov-2025 20:38:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:56 UTC]    Books columns count: 45
[24-Nov-2025 20:38:56 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:56 UTC]    Language field in books: YES
[24-Nov-2025 20:38:56 UTC]    Format field in books: YES
[24-Nov-2025 20:38:56 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:56 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:56 UTC] 📊 Database Info:
[24-Nov-2025 20:38:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:56 UTC]    Books columns count: 45
[24-Nov-2025 20:38:56 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:56 UTC]    Language field in books: YES
[24-Nov-2025 20:38:56 UTC]    Format field in books: YES
[24-Nov-2025 20:38:56 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:56 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:38:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:38:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:38:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:38:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:38:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:38:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:38:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:38:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:38:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:38:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:38:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:38:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:38:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:38:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:38:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:38:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:38:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:38:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:38:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:38:57 UTC] 📊 Database Info:
[24-Nov-2025 20:38:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:38:57 UTC]    Books columns count: 45
[24-Nov-2025 20:38:57 UTC]    Categories columns count: 7
[24-Nov-2025 20:38:57 UTC]    Language field in books: YES
[24-Nov-2025 20:38:57 UTC]    Format field in books: YES
[24-Nov-2025 20:38:57 UTC]    Description field in categories: YES
[24-Nov-2025 20:38:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:38:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:38:57 UTC]    Is_active field in books: YES
[24-Nov-2025 20:38:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:38:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:38:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:38:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:38:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:38:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:38:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:38:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:40:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:40:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:40:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:40:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:40:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:40:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:40:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:40:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:40:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:40:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:40:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:40:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:40:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:40:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:40:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:40:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:40:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:40:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:40:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:40:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:40:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:40:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:40:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:40:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:40:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:40:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:40:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:40:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:40:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:40:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:40:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:40:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:40:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:40:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:40:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:40:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:40:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:40:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:40:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:40:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:40:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:40:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:40:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:40:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:40:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:40:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:40:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:40:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:40:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:40:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:40:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:40:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:40:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:40:31 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:40:31 UTC] 📊 Database Info:
[24-Nov-2025 20:40:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:40:31 UTC]    Books columns count: 45
[24-Nov-2025 20:40:31 UTC]    Categories columns count: 7
[24-Nov-2025 20:40:31 UTC]    Language field in books: YES
[24-Nov-2025 20:40:31 UTC]    Format field in books: YES
[24-Nov-2025 20:40:31 UTC]    Description field in categories: YES
[24-Nov-2025 20:40:31 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:40:31 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:40:31 UTC]    Is_active field in books: YES
[24-Nov-2025 20:40:31 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:40:31 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:40:31 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:40:31 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:40:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:40:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:40:31 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 20:40:31 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 20:40:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:40:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:40:31 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:40:31 UTC] 📊 Database Info:
[24-Nov-2025 20:40:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:40:31 UTC]    Books columns count: 45
[24-Nov-2025 20:40:31 UTC]    Categories columns count: 7
[24-Nov-2025 20:40:31 UTC]    Language field in books: YES
[24-Nov-2025 20:40:31 UTC]    Format field in books: YES
[24-Nov-2025 20:40:31 UTC]    Description field in categories: YES
[24-Nov-2025 20:40:31 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:40:31 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:40:31 UTC]    Is_active field in books: YES
[24-Nov-2025 20:40:31 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:40:31 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:40:31 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:40:31 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:40:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:40:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:40:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:40:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:40:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:40:31 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:40:31 UTC] 📊 Database Info:
[24-Nov-2025 20:40:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:40:31 UTC]    Books columns count: 45
[24-Nov-2025 20:40:31 UTC]    Categories columns count: 7
[24-Nov-2025 20:40:31 UTC]    Language field in books: YES
[24-Nov-2025 20:40:31 UTC]    Format field in books: YES
[24-Nov-2025 20:40:31 UTC]    Description field in categories: YES
[24-Nov-2025 20:40:31 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:40:31 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:40:31 UTC]    Is_active field in books: YES
[24-Nov-2025 20:40:31 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:40:31 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:40:31 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:40:31 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:40:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:40:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:40:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:40:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 20:40:31 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 20:40:31 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 20:48:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:48:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:48:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:48:24 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:48:24 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:48:24 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:48:24 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:48:24 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:48:24 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:48:24 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:48:24 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:48:24 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:48:24 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:48:24 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:48:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:48:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:48:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:48:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:48:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:48:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:48:24 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:48:24 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:48:24 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:48:24 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:48:24 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:48:24 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:48:24 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:48:24 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:48:24 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:48:24 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:48:24 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:48:24 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:48:24 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:48:24 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:48:24 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:48:24 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:48:24 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:48:24 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:48:24 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:48:24 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:48:24 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:48:24 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:48:24 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:48:24 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:48:24 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:48:24 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:48:24 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:48:24 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:48:24 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:48:24 UTC] 📊 Database Info:
[24-Nov-2025 20:48:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:48:24 UTC]    Books columns count: 45
[24-Nov-2025 20:48:24 UTC]    Categories columns count: 7
[24-Nov-2025 20:48:24 UTC]    Language field in books: YES
[24-Nov-2025 20:48:24 UTC]    Format field in books: YES
[24-Nov-2025 20:48:24 UTC]    Description field in categories: YES
[24-Nov-2025 20:48:24 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:48:24 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:48:24 UTC]    Is_active field in books: YES
[24-Nov-2025 20:48:24 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:48:24 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:48:24 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:48:24 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:48:24 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:48:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:48:24 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 20:48:24 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 20:48:24 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:48:24 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:48:24 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:48:24 UTC] 📊 Database Info:
[24-Nov-2025 20:48:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:48:24 UTC]    Books columns count: 45
[24-Nov-2025 20:48:24 UTC]    Categories columns count: 7
[24-Nov-2025 20:48:24 UTC]    Language field in books: YES
[24-Nov-2025 20:48:24 UTC]    Format field in books: YES
[24-Nov-2025 20:48:24 UTC]    Description field in categories: YES
[24-Nov-2025 20:48:24 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:48:24 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:48:24 UTC]    Is_active field in books: YES
[24-Nov-2025 20:48:24 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:48:24 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:48:24 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:48:24 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:48:24 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:48:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:48:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 20:48:24 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 20:48:24 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 20:48:24 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:48:24 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:48:24 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:48:24 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:48:24 UTC] 📊 Database Info:
[24-Nov-2025 20:48:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:48:24 UTC]    Books columns count: 45
[24-Nov-2025 20:48:24 UTC]    Categories columns count: 7
[24-Nov-2025 20:48:24 UTC]    Language field in books: YES
[24-Nov-2025 20:48:24 UTC]    Format field in books: YES
[24-Nov-2025 20:48:24 UTC]    Description field in categories: YES
[24-Nov-2025 20:48:24 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:48:24 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:48:24 UTC]    Is_active field in books: YES
[24-Nov-2025 20:48:24 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:48:24 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:48:24 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:48:24 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:48:24 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:48:24 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:48:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:48:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:48:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:48:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:48:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:48:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:48:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:48:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:48:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:48:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:48:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:48:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:48:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:48:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:48:29 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:48:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:48:29 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:48:29 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:48:29 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:48:29 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:48:29 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:48:29 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:48:29 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:48:29 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:48:29 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:48:29 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:48:29 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:48:29 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:48:29 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:48:29 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:48:29 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:48:29 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:48:29 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:48:29 UTC] 📊 Database Info:
[24-Nov-2025 20:48:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:48:29 UTC]    Books columns count: 45
[24-Nov-2025 20:48:29 UTC]    Categories columns count: 7
[24-Nov-2025 20:48:29 UTC]    Language field in books: YES
[24-Nov-2025 20:48:29 UTC]    Format field in books: YES
[24-Nov-2025 20:48:29 UTC]    Description field in categories: YES
[24-Nov-2025 20:48:29 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:48:29 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:48:29 UTC]    Is_active field in books: YES
[24-Nov-2025 20:48:29 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:48:29 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:48:29 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:48:29 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:48:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:48:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:48:29 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:48:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:48:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:48:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:48:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:48:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:48:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:48:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:48:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:48:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:48:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:48:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:48:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:48:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:48:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:48:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:48:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:48:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:48:31 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:48:31 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:48:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:48:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:48:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:48:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:48:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:48:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:48:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:48:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:48:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:48:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:48:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:48:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:48:31 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:48:31 UTC] 📊 Database Info:
[24-Nov-2025 20:48:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:48:31 UTC]    Books columns count: 45
[24-Nov-2025 20:48:31 UTC]    Categories columns count: 7
[24-Nov-2025 20:48:31 UTC]    Language field in books: YES
[24-Nov-2025 20:48:31 UTC]    Format field in books: YES
[24-Nov-2025 20:48:31 UTC]    Description field in categories: YES
[24-Nov-2025 20:48:31 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:48:31 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:48:31 UTC]    Is_active field in books: YES
[24-Nov-2025 20:48:31 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:48:31 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:48:31 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:48:31 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:48:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:48:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:48:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:48:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:48:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:48:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:48:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:48:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:48:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:48:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:48:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:48:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:48:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:48:31 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:48:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:48:31 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[24-Nov-2025 20:48:31 UTC] ?? Processing: home_screen - show_welcome_section: 1
[24-Nov-2025 20:48:31 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[24-Nov-2025 20:48:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:48:31 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:48:31 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:48:31 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:48:31 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:48:31 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:48:31 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:48:31 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:48:31 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:48:31 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:48:31 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:48:31 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:48:31 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:48:31 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:48:31 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:48:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:48:31 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:48:32 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:48:32 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:48:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:48:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:48:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:48:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:48:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:48:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:48:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:48:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:48:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:48:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:48:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:48:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:48:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:48:32 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:48:32 UTC] 📊 Database Info:
[24-Nov-2025 20:48:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:48:32 UTC]    Books columns count: 45
[24-Nov-2025 20:48:32 UTC]    Categories columns count: 7
[24-Nov-2025 20:48:32 UTC]    Language field in books: YES
[24-Nov-2025 20:48:32 UTC]    Format field in books: YES
[24-Nov-2025 20:48:32 UTC]    Description field in categories: YES
[24-Nov-2025 20:48:32 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:48:32 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:48:32 UTC]    Is_active field in books: YES
[24-Nov-2025 20:48:32 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:48:32 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:48:32 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:48:32 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:48:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:48:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:48:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:48:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:48:32 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[24-Nov-2025 20:48:32 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[24-Nov-2025 20:48:32 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[24-Nov-2025 20:49:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:49:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:49:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:49:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:49:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:49:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:49:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:49:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:49:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:49:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:49:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:49:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:49:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:49:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:49:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:49:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:49:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:49:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:49:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:49:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:49:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:49:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:49:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:49:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:49:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:49:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:49:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:49:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:49:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:49:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:49:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:49:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:49:50 UTC] 📊 Database Info:
[24-Nov-2025 20:49:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:49:50 UTC]    Books columns count: 45
[24-Nov-2025 20:49:50 UTC]    Categories columns count: 7
[24-Nov-2025 20:49:50 UTC]    Language field in books: YES
[24-Nov-2025 20:49:50 UTC]    Format field in books: YES
[24-Nov-2025 20:49:50 UTC]    Description field in categories: YES
[24-Nov-2025 20:49:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:49:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:49:50 UTC]    Is_active field in books: YES
[24-Nov-2025 20:49:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:49:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:49:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:49:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:49:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:49:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:49:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:49:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:49:50 UTC] ?? GLOBAL AUTH UPDATE: Setting require_login_for_download to 0 for ALL books
[24-Nov-2025 20:49:50 UTC] ✅ Global auth update completed: 1 books updated
[24-Nov-2025 20:49:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:49:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:49:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:49:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:49:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:49:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:49:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:49:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:49:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:49:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:49:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:49:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:49:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:49:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:49:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:49:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:49:52 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:49:52 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:49:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:49:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:49:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:49:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:49:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:49:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:49:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:49:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:49:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:49:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:49:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:49:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:49:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:49:52 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:49:52 UTC] 📊 Database Info:
[24-Nov-2025 20:49:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:49:52 UTC]    Books columns count: 45
[24-Nov-2025 20:49:52 UTC]    Categories columns count: 7
[24-Nov-2025 20:49:52 UTC]    Language field in books: YES
[24-Nov-2025 20:49:52 UTC]    Format field in books: YES
[24-Nov-2025 20:49:52 UTC]    Description field in categories: YES
[24-Nov-2025 20:49:52 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:49:52 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:49:52 UTC]    Is_active field in books: YES
[24-Nov-2025 20:49:52 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:49:52 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:49:52 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:49:52 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:49:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:49:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:49:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:49:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:49:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:49:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:49:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:49:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:49:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:49:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:49:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:49:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:49:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:49:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:49:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:50:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:50:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:50:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:50:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:50:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:50:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:50:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:50:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:50:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:50:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:50:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:50:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:50:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:50:11 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:50:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:50:11 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:50:11 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:50:11 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:50:11 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:50:11 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:50:11 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:50:11 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:50:11 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:50:11 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:50:11 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:50:11 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:50:11 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:50:11 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:50:11 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:50:11 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:50:11 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:50:11 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:50:11 UTC] 📊 Database Info:
[24-Nov-2025 20:50:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:50:11 UTC]    Books columns count: 45
[24-Nov-2025 20:50:11 UTC]    Categories columns count: 7
[24-Nov-2025 20:50:11 UTC]    Language field in books: YES
[24-Nov-2025 20:50:11 UTC]    Format field in books: YES
[24-Nov-2025 20:50:11 UTC]    Description field in categories: YES
[24-Nov-2025 20:50:11 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:50:11 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:50:11 UTC]    Is_active field in books: YES
[24-Nov-2025 20:50:11 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:50:11 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:50:11 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:50:11 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:50:11 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:50:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:50:11 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:50:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:50:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:50:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:50:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:50:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:50:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:50:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:50:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:50:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:50:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:50:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:50:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:50:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:50:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:50:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:50:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:50:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:50:32 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:50:32 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:50:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:50:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:50:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:50:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:50:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:50:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:50:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:50:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:50:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:50:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:50:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:50:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:50:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:50:32 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:50:32 UTC] 📊 Database Info:
[24-Nov-2025 20:50:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:50:32 UTC]    Books columns count: 45
[24-Nov-2025 20:50:32 UTC]    Categories columns count: 7
[24-Nov-2025 20:50:32 UTC]    Language field in books: YES
[24-Nov-2025 20:50:32 UTC]    Format field in books: YES
[24-Nov-2025 20:50:32 UTC]    Description field in categories: YES
[24-Nov-2025 20:50:32 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:50:32 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:50:32 UTC]    Is_active field in books: YES
[24-Nov-2025 20:50:32 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:50:32 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:50:32 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:50:32 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:50:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:50:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:50:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:50:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:50:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:50:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:50:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:50:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:50:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:50:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:50:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:50:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:50:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:50:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:50:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:50:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:50:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:50:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:50:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:50:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:50:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:50:43 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:50:43 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:50:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:50:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:50:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:50:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:50:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:50:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:50:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:50:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:50:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:50:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:50:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:50:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:50:43 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:50:43 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:50:43 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:50:43 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:50:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:50:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:50:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:50:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:50:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:50:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:50:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:50:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:50:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:50:43 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:50:43 UTC] 📊 Database Info:
[24-Nov-2025 20:50:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:50:43 UTC]    Books columns count: 45
[24-Nov-2025 20:50:43 UTC]    Categories columns count: 7
[24-Nov-2025 20:50:43 UTC]    Language field in books: YES
[24-Nov-2025 20:50:43 UTC]    Format field in books: YES
[24-Nov-2025 20:50:43 UTC]    Description field in categories: YES
[24-Nov-2025 20:50:43 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:50:43 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:50:43 UTC]    Is_active field in books: YES
[24-Nov-2025 20:50:43 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:50:43 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:50:43 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:50:43 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:50:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:50:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:50:43 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 20:50:43 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 20:50:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:50:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:50:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:50:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:50:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:50:43 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:50:43 UTC] 📊 Database Info:
[24-Nov-2025 20:50:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:50:43 UTC]    Books columns count: 45
[24-Nov-2025 20:50:43 UTC]    Categories columns count: 7
[24-Nov-2025 20:50:43 UTC]    Language field in books: YES
[24-Nov-2025 20:50:43 UTC]    Format field in books: YES
[24-Nov-2025 20:50:43 UTC]    Description field in categories: YES
[24-Nov-2025 20:50:43 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:50:43 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:50:43 UTC]    Is_active field in books: YES
[24-Nov-2025 20:50:43 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:50:43 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:50:43 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:50:43 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:50:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:50:43 UTC] 📊 Database Info:
[24-Nov-2025 20:50:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:50:43 UTC]    Books columns count: 45
[24-Nov-2025 20:50:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:50:43 UTC]    Categories columns count: 7
[24-Nov-2025 20:50:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:50:43 UTC]    Language field in books: YES
[24-Nov-2025 20:50:43 UTC]    Format field in books: YES
[24-Nov-2025 20:50:43 UTC]    Description field in categories: YES
[24-Nov-2025 20:50:43 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:50:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 20:50:43 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:50:43 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 20:50:43 UTC]    Is_active field in books: YES
[24-Nov-2025 20:50:43 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:50:43 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:50:43 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:50:43 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:50:43 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 20:50:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:50:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:50:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:55:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:55:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:55:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:55:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:55:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:55:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:55:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:55:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:55:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:55:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:55:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:55:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:55:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:55:13 UTC] 📊 Database Info:
[24-Nov-2025 20:55:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:55:13 UTC]    Books columns count: 45
[24-Nov-2025 20:55:13 UTC]    Categories columns count: 7
[24-Nov-2025 20:55:13 UTC]    Language field in books: YES
[24-Nov-2025 20:55:13 UTC]    Format field in books: YES
[24-Nov-2025 20:55:13 UTC]    Description field in categories: YES
[24-Nov-2025 20:55:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:55:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:55:13 UTC]    Is_active field in books: YES
[24-Nov-2025 20:55:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:55:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:55:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:55:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:55:13 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:55:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:55:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:55:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:55:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:55:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:55:13 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:55:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:55:13 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:55:13 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:55:13 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:55:13 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:55:13 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:55:13 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:55:13 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:55:13 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:55:13 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:55:13 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:55:13 UTC] 📊 Database Info:
[24-Nov-2025 20:55:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:55:13 UTC]    Books columns count: 45
[24-Nov-2025 20:55:13 UTC]    Categories columns count: 7
[24-Nov-2025 20:55:13 UTC]    Language field in books: YES
[24-Nov-2025 20:55:13 UTC]    Format field in books: YES
[24-Nov-2025 20:55:13 UTC]    Description field in categories: YES
[24-Nov-2025 20:55:13 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:55:13 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:55:13 UTC]    Is_active field in books: YES
[24-Nov-2025 20:55:13 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:55:13 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:55:13 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:55:13 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:55:13 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:55:13 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:55:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:55:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:55:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:55:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:55:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:55:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:55:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:55:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:55:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:55:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:55:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:55:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:55:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:55:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:55:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:55:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:55:48 UTC] 📊 Database Info:
[24-Nov-2025 20:55:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:55:48 UTC]    Books columns count: 45
[24-Nov-2025 20:55:48 UTC]    Categories columns count: 7
[24-Nov-2025 20:55:48 UTC]    Language field in books: YES
[24-Nov-2025 20:55:48 UTC]    Format field in books: YES
[24-Nov-2025 20:55:48 UTC]    Description field in categories: YES
[24-Nov-2025 20:55:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:55:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:55:48 UTC]    Is_active field in books: YES
[24-Nov-2025 20:55:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:55:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:55:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:55:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:55:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:55:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:55:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:55:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:55:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:55:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:55:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:55:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:55:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:55:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:55:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:55:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:55:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:55:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:55:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:55:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:55:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:55:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:55:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:55:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:55:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:55:48 UTC] 📊 Database Info:
[24-Nov-2025 20:55:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:55:48 UTC]    Books columns count: 45
[24-Nov-2025 20:55:48 UTC]    Categories columns count: 7
[24-Nov-2025 20:55:48 UTC]    Language field in books: YES
[24-Nov-2025 20:55:48 UTC]    Format field in books: YES
[24-Nov-2025 20:55:48 UTC]    Description field in categories: YES
[24-Nov-2025 20:55:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:55:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:55:48 UTC]    Is_active field in books: YES
[24-Nov-2025 20:55:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:55:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:55:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:55:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:55:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:55:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:55:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:57:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:57:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:57:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:57:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:57:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:57:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:57:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:57:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:57:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:57:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:57:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:57:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:57:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:57:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:57:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:57:12 UTC] 📊 Database Info:
[24-Nov-2025 20:57:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:57:12 UTC]    Books columns count: 45
[24-Nov-2025 20:57:12 UTC]    Categories columns count: 7
[24-Nov-2025 20:57:12 UTC]    Language field in books: YES
[24-Nov-2025 20:57:12 UTC]    Format field in books: YES
[24-Nov-2025 20:57:12 UTC]    Description field in categories: YES
[24-Nov-2025 20:57:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:57:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:57:12 UTC]    Is_active field in books: YES
[24-Nov-2025 20:57:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:57:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:57:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:57:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:57:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:57:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 20:57:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 20:57:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:57:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:57:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:57:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:57:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 20:57:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:57:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 20:57:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 20:57:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 20:57:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 20:57:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 20:57:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 20:57:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 20:57:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 20:57:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 20:57:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 20:57:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 20:57:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 20:57:12 UTC] 📊 Database Info:
[24-Nov-2025 20:57:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 20:57:12 UTC]    Books columns count: 45
[24-Nov-2025 20:57:12 UTC]    Categories columns count: 7
[24-Nov-2025 20:57:12 UTC]    Language field in books: YES
[24-Nov-2025 20:57:12 UTC]    Format field in books: YES
[24-Nov-2025 20:57:12 UTC]    Description field in categories: YES
[24-Nov-2025 20:57:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 20:57:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 20:57:12 UTC]    Is_active field in books: YES
[24-Nov-2025 20:57:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 20:57:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 20:57:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 20:57:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 20:57:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 20:57:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 20:57:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:05:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:05:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:05:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:05:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:05:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:05:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:05:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:05:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:05:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:05:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:05:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:05:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:05:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:05:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:05:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:05:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:05:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:05:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:05:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:05:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:05:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:05:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:05:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:05:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:05:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:05:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:05:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:05:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:05:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:05:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:05:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:05:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:05:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:05:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:05:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:05:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:05:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:05:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:05:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:05:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:05:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:05:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:05:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:05:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:05:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:05:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:05:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:05:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:05:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:05:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:05:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:05:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:05:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:05:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:05:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:05:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:05:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:05:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:05:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:05:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:05:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:05:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:05:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:05:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:05:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:05:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:05:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:05:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:05:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:05:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:05:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:05:22 UTC] 📊 Database Info:
[24-Nov-2025 21:05:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:05:22 UTC]    Books columns count: 45
[24-Nov-2025 21:05:22 UTC]    Categories columns count: 7
[24-Nov-2025 21:05:22 UTC]    Language field in books: YES
[24-Nov-2025 21:05:22 UTC]    Format field in books: YES
[24-Nov-2025 21:05:22 UTC]    Description field in categories: YES
[24-Nov-2025 21:05:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:05:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:05:22 UTC]    Is_active field in books: YES
[24-Nov-2025 21:05:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:05:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:05:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:05:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:05:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:05:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:05:22 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:05:22 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:05:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:05:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:05:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:05:22 UTC] 📊 Database Info:
[24-Nov-2025 21:05:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:05:22 UTC]    Books columns count: 45
[24-Nov-2025 21:05:22 UTC]    Categories columns count: 7
[24-Nov-2025 21:05:22 UTC]    Language field in books: YES
[24-Nov-2025 21:05:22 UTC]    Format field in books: YES
[24-Nov-2025 21:05:22 UTC]    Description field in categories: YES
[24-Nov-2025 21:05:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:05:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:05:22 UTC]    Is_active field in books: YES
[24-Nov-2025 21:05:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:05:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:05:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:05:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:05:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:05:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:05:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:05:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:05:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:05:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:05:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:05:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:05:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:05:22 UTC] 📊 Database Info:
[24-Nov-2025 21:05:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:05:22 UTC]    Books columns count: 45
[24-Nov-2025 21:05:22 UTC]    Categories columns count: 7
[24-Nov-2025 21:05:22 UTC]    Language field in books: YES
[24-Nov-2025 21:05:22 UTC]    Format field in books: YES
[24-Nov-2025 21:05:22 UTC]    Description field in categories: YES
[24-Nov-2025 21:05:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:05:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:05:22 UTC]    Is_active field in books: YES
[24-Nov-2025 21:05:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:05:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:05:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:05:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:05:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:05:22 UTC] 📊 Database Info:
[24-Nov-2025 21:05:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:05:22 UTC]    Books columns count: 45
[24-Nov-2025 21:05:22 UTC]    Categories columns count: 7
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:05:22 UTC]    Language field in books: YES
[24-Nov-2025 21:05:22 UTC]    Format field in books: YES
[24-Nov-2025 21:05:22 UTC]    Description field in categories: YES
[24-Nov-2025 21:05:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:05:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:05:22 UTC]    Is_active field in books: YES
[24-Nov-2025 21:05:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:05:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:05:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:05:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:05:22 UTC] 📊 Database Info:
[24-Nov-2025 21:05:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:05:22 UTC]    Books columns count: 45
[24-Nov-2025 21:05:22 UTC]    Categories columns count: 7
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:05:22 UTC]    Language field in books: YES
[24-Nov-2025 21:05:22 UTC]    Format field in books: YES
[24-Nov-2025 21:05:22 UTC]    Description field in categories: YES
[24-Nov-2025 21:05:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:05:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:05:22 UTC]    Is_active field in books: YES
[24-Nov-2025 21:05:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:05:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:05:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:05:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:05:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:05:22 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:05:22 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:05:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:05:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:05:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:05:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:05:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:05:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:05:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:05:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:05:22 UTC] 📊 Database Info:
[24-Nov-2025 21:05:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:05:22 UTC]    Books columns count: 45
[24-Nov-2025 21:05:22 UTC]    Categories columns count: 7
[24-Nov-2025 21:05:22 UTC]    Language field in books: YES
[24-Nov-2025 21:05:22 UTC]    Format field in books: YES
[24-Nov-2025 21:05:22 UTC]    Description field in categories: YES
[24-Nov-2025 21:05:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:05:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:05:22 UTC]    Is_active field in books: YES
[24-Nov-2025 21:05:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:05:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:05:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:05:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:05:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:05:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:05:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:05:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:05:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:05:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:05:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:05:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:05:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:05:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:05:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:05:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:05:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:05:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:05:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:05:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:05:25 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:05:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:05:25 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:05:25 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:05:25 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:05:25 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:05:25 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:05:25 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:05:25 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:05:25 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:05:25 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:05:25 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:05:25 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:05:25 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:05:25 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:05:25 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:05:25 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:05:25 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:05:25 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:05:25 UTC] 📊 Database Info:
[24-Nov-2025 21:05:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:05:25 UTC]    Books columns count: 45
[24-Nov-2025 21:05:25 UTC]    Categories columns count: 7
[24-Nov-2025 21:05:25 UTC]    Language field in books: YES
[24-Nov-2025 21:05:25 UTC]    Format field in books: YES
[24-Nov-2025 21:05:25 UTC]    Description field in categories: YES
[24-Nov-2025 21:05:25 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:05:25 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:05:25 UTC]    Is_active field in books: YES
[24-Nov-2025 21:05:25 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:05:25 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:05:25 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:05:25 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:05:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:05:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:05:25 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:05:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:06:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:06:02 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:06:02 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:06:02 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:06:02 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:06:02 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:06:02 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:06:02 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:06:02 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:06:02 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:06:02 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:06:02 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:06:02 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:06:02 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:06:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:06:02 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:06:02 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:06:02 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:06:02 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:06:02 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:06:02 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:06:02 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:06:02 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:06:02 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:06:02 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:06:02 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:06:02 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:06:02 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:06:02 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:06:02 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:06:02 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:06:02 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:06:02 UTC] 📊 Database Info:
[24-Nov-2025 21:06:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:06:02 UTC]    Books columns count: 45
[24-Nov-2025 21:06:02 UTC]    Categories columns count: 7
[24-Nov-2025 21:06:02 UTC]    Language field in books: YES
[24-Nov-2025 21:06:02 UTC]    Format field in books: YES
[24-Nov-2025 21:06:02 UTC]    Description field in categories: YES
[24-Nov-2025 21:06:02 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:06:02 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:06:02 UTC]    Is_active field in books: YES
[24-Nov-2025 21:06:02 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:06:02 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:06:02 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:06:02 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:06:02 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:06:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:06:02 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:06:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:06:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:06:05 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:06:05 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:06:05 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:06:05 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:06:05 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:06:05 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:06:05 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:06:05 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:06:05 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:06:05 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:06:05 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:06:05 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:06:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:06:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:06:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:06:05 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:06:05 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:06:05 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:06:05 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:06:05 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:06:05 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:06:05 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:06:05 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:06:05 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:06:05 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:06:05 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:06:05 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:06:05 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:06:05 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:06:05 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:06:05 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:06:05 UTC] 📊 Database Info:
[24-Nov-2025 21:06:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:06:05 UTC]    Books columns count: 45
[24-Nov-2025 21:06:05 UTC]    Categories columns count: 7
[24-Nov-2025 21:06:05 UTC]    Language field in books: YES
[24-Nov-2025 21:06:05 UTC]    Format field in books: YES
[24-Nov-2025 21:06:05 UTC]    Description field in categories: YES
[24-Nov-2025 21:06:05 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:06:05 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:06:05 UTC]    Is_active field in books: YES
[24-Nov-2025 21:06:05 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:06:05 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:06:05 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:06:05 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:06:05 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:06:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:06:05 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:06:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:06:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:06:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:06:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:06:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:06:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:06:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:06:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:06:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:06:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:06:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:06:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:06:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:06:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:06:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:06:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:06:28 UTC] 📊 Database Info:
[24-Nov-2025 21:06:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:06:28 UTC]    Books columns count: 45
[24-Nov-2025 21:06:28 UTC]    Categories columns count: 7
[24-Nov-2025 21:06:28 UTC]    Language field in books: YES
[24-Nov-2025 21:06:28 UTC]    Format field in books: YES
[24-Nov-2025 21:06:28 UTC]    Description field in categories: YES
[24-Nov-2025 21:06:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:06:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:06:28 UTC]    Is_active field in books: YES
[24-Nov-2025 21:06:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:06:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:06:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:06:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:06:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:06:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:06:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:06:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:06:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:06:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:06:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:06:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:06:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:06:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:06:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:06:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:06:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:06:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:06:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:06:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:06:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:06:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:06:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:06:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:06:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:06:28 UTC] 📊 Database Info:
[24-Nov-2025 21:06:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:06:28 UTC]    Books columns count: 45
[24-Nov-2025 21:06:28 UTC]    Categories columns count: 7
[24-Nov-2025 21:06:28 UTC]    Language field in books: YES
[24-Nov-2025 21:06:28 UTC]    Format field in books: YES
[24-Nov-2025 21:06:28 UTC]    Description field in categories: YES
[24-Nov-2025 21:06:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:06:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:06:28 UTC]    Is_active field in books: YES
[24-Nov-2025 21:06:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:06:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:06:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:06:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:06:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:06:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:06:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:06:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:06:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:06:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:06:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:06:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:06:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:06:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:06:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:06:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:06:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:06:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:06:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:06:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:06:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:06:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:06:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:06:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:06:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:06:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:06:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:06:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:06:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:06:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:06:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:06:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:06:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:06:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:06:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:06:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:06:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:06:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:06:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:06:36 UTC] 📊 Database Info:
[24-Nov-2025 21:06:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:06:36 UTC]    Books columns count: 45
[24-Nov-2025 21:06:36 UTC]    Categories columns count: 7
[24-Nov-2025 21:06:36 UTC]    Language field in books: YES
[24-Nov-2025 21:06:36 UTC]    Format field in books: YES
[24-Nov-2025 21:06:36 UTC]    Description field in categories: YES
[24-Nov-2025 21:06:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:06:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:06:36 UTC]    Is_active field in books: YES
[24-Nov-2025 21:06:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:06:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:06:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:06:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:06:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:06:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:06:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:06:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:06:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:06:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:06:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:06:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:06:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:06:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:06:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:06:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:06:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:06:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:06:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:06:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:06:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:06:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:06:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:06:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:06:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:06:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:06:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:06:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:06:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:06:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:06:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:06:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:06:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:06:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:06:41 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:06:41 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:06:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:06:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:06:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:06:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:06:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:06:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:06:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:06:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:06:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:06:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:06:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:06:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:06:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:06:41 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:06:41 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:06:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:06:41 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:06:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:06:41 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:06:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:06:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:06:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:06:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:06:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:06:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:06:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:06:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:06:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:06:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:06:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:06:41 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:06:41 UTC] 📊 Database Info:
[24-Nov-2025 21:06:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:06:41 UTC]    Books columns count: 45
[24-Nov-2025 21:06:41 UTC]    Categories columns count: 7
[24-Nov-2025 21:06:41 UTC]    Language field in books: YES
[24-Nov-2025 21:06:41 UTC]    Format field in books: YES
[24-Nov-2025 21:06:41 UTC]    Description field in categories: YES
[24-Nov-2025 21:06:41 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:06:41 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:06:41 UTC]    Is_active field in books: YES
[24-Nov-2025 21:06:41 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:06:41 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:06:41 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:06:41 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:06:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:06:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:06:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:06:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:06:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:06:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:06:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:06:41 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:06:41 UTC] 📊 Database Info:
[24-Nov-2025 21:06:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:06:41 UTC]    Books columns count: 45
[24-Nov-2025 21:06:41 UTC]    Categories columns count: 7
[24-Nov-2025 21:06:41 UTC]    Language field in books: YES
[24-Nov-2025 21:06:41 UTC]    Format field in books: YES
[24-Nov-2025 21:06:41 UTC]    Description field in categories: YES
[24-Nov-2025 21:06:41 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:06:41 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:06:41 UTC]    Is_active field in books: YES
[24-Nov-2025 21:06:41 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:06:41 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:06:41 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:06:41 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:06:41 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:06:41 UTC] 📊 Database Info:
[24-Nov-2025 21:06:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:06:41 UTC]    Books columns count: 45
[24-Nov-2025 21:06:41 UTC]    Categories columns count: 7
[24-Nov-2025 21:06:41 UTC]    Language field in books: YES
[24-Nov-2025 21:06:41 UTC]    Format field in books: YES
[24-Nov-2025 21:06:41 UTC]    Description field in categories: YES
[24-Nov-2025 21:06:41 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:06:41 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:06:41 UTC]    Is_active field in books: YES
[24-Nov-2025 21:06:41 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:06:41 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:06:41 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:06:41 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:06:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:06:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:06:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:06:41 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:06:41 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:06:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:06:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:06:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:06:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:06:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:06:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:06:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:06:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:06:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:06:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:06:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:06:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:06:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:06:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:06:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:06:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:06:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:06:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:06:42 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:06:42 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:06:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:06:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:06:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:06:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:06:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:06:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:06:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:06:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:06:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:06:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:06:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:06:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:06:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:06:42 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:06:42 UTC] 📊 Database Info:
[24-Nov-2025 21:06:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:06:42 UTC]    Books columns count: 45
[24-Nov-2025 21:06:42 UTC]    Categories columns count: 7
[24-Nov-2025 21:06:42 UTC]    Language field in books: YES
[24-Nov-2025 21:06:42 UTC]    Format field in books: YES
[24-Nov-2025 21:06:42 UTC]    Description field in categories: YES
[24-Nov-2025 21:06:42 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:06:42 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:06:42 UTC]    Is_active field in books: YES
[24-Nov-2025 21:06:42 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:06:42 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:06:42 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:06:42 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:06:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:06:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:06:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:06:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:07:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:07:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:07:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:07:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:07:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:07:27 UTC] 📊 Database Info:
[24-Nov-2025 21:07:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:07:27 UTC]    Books columns count: 45
[24-Nov-2025 21:07:27 UTC]    Categories columns count: 7
[24-Nov-2025 21:07:27 UTC]    Language field in books: YES
[24-Nov-2025 21:07:27 UTC]    Format field in books: YES
[24-Nov-2025 21:07:27 UTC]    Description field in categories: YES
[24-Nov-2025 21:07:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:07:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:07:27 UTC]    Is_active field in books: YES
[24-Nov-2025 21:07:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:07:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:07:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:07:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:07:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:07:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:07:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:07:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:07:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:07:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:07:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:07:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:07:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:07:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:07:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:07:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:07:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:07:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:07:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:07:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:07:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:07:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:07:28 UTC] 📊 Database Info:
[24-Nov-2025 21:07:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:07:28 UTC]    Books columns count: 45
[24-Nov-2025 21:07:28 UTC]    Categories columns count: 7
[24-Nov-2025 21:07:28 UTC]    Language field in books: YES
[24-Nov-2025 21:07:28 UTC]    Format field in books: YES
[24-Nov-2025 21:07:28 UTC]    Description field in categories: YES
[24-Nov-2025 21:07:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:07:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:07:28 UTC]    Is_active field in books: YES
[24-Nov-2025 21:07:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:07:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:07:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:07:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:07:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:07:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:07:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:07:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:07:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:07:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:07:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:07:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:07:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:07:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:07:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:07:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:07:35 UTC] 📊 Database Info:
[24-Nov-2025 21:07:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:07:35 UTC]    Books columns count: 45
[24-Nov-2025 21:07:35 UTC]    Categories columns count: 7
[24-Nov-2025 21:07:35 UTC]    Language field in books: YES
[24-Nov-2025 21:07:35 UTC]    Format field in books: YES
[24-Nov-2025 21:07:35 UTC]    Description field in categories: YES
[24-Nov-2025 21:07:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:07:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:07:35 UTC]    Is_active field in books: YES
[24-Nov-2025 21:07:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:07:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:07:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:07:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:07:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:07:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:07:35 UTC] 📊 Database Info:
[24-Nov-2025 21:07:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:07:35 UTC]    Books columns count: 45
[24-Nov-2025 21:07:35 UTC]    Categories columns count: 7
[24-Nov-2025 21:07:35 UTC]    Language field in books: YES
[24-Nov-2025 21:07:35 UTC]    Format field in books: YES
[24-Nov-2025 21:07:35 UTC]    Description field in categories: YES
[24-Nov-2025 21:07:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:07:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:07:35 UTC]    Is_active field in books: YES
[24-Nov-2025 21:07:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:07:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:07:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:07:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:07:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:07:35 UTC] 📊 Database Info:
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:07:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:07:35 UTC]    Books columns count: 45
[24-Nov-2025 21:07:35 UTC]    Categories columns count: 7
[24-Nov-2025 21:07:35 UTC]    Language field in books: YES
[24-Nov-2025 21:07:35 UTC]    Format field in books: YES
[24-Nov-2025 21:07:35 UTC]    Description field in categories: YES
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:07:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:07:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:07:35 UTC]    Is_active field in books: YES
[24-Nov-2025 21:07:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:07:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:07:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:07:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:07:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:07:35 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:07:35 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:07:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:07:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:07:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:07:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:07:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:07:36 UTC] 📊 Database Info:
[24-Nov-2025 21:07:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:07:36 UTC]    Books columns count: 45
[24-Nov-2025 21:07:36 UTC]    Categories columns count: 7
[24-Nov-2025 21:07:36 UTC]    Language field in books: YES
[24-Nov-2025 21:07:36 UTC]    Format field in books: YES
[24-Nov-2025 21:07:36 UTC]    Description field in categories: YES
[24-Nov-2025 21:07:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:07:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:07:36 UTC]    Is_active field in books: YES
[24-Nov-2025 21:07:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:07:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:07:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:07:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:07:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:07:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:07:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:07:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:07:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:07:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:07:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:41 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:07:41 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:07:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:07:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:41 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:07:41 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:07:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:41 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:07:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:41 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:41 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:07:41 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:07:41 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:41 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:41 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:41 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:41 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:41 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:07:41 UTC] 📊 Database Info:
[24-Nov-2025 21:07:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:07:41 UTC]    Books columns count: 45
[24-Nov-2025 21:07:41 UTC]    Categories columns count: 7
[24-Nov-2025 21:07:41 UTC]    Language field in books: YES
[24-Nov-2025 21:07:41 UTC]    Format field in books: YES
[24-Nov-2025 21:07:41 UTC]    Description field in categories: YES
[24-Nov-2025 21:07:41 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:07:41 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:07:41 UTC]    Is_active field in books: YES
[24-Nov-2025 21:07:41 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:07:41 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:07:41 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:07:41 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:07:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:07:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:41 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:07:41 UTC] 📊 Database Info:
[24-Nov-2025 21:07:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:07:41 UTC]    Books columns count: 45
[24-Nov-2025 21:07:41 UTC]    Categories columns count: 7
[24-Nov-2025 21:07:41 UTC]    Language field in books: YES
[24-Nov-2025 21:07:41 UTC]    Format field in books: YES
[24-Nov-2025 21:07:41 UTC]    Description field in categories: YES
[24-Nov-2025 21:07:41 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:07:41 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:07:41 UTC]    Is_active field in books: YES
[24-Nov-2025 21:07:41 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:07:41 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:07:41 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:07:41 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:07:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:07:41 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:41 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:07:41 UTC] 📊 Database Info:
[24-Nov-2025 21:07:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:07:41 UTC]    Books columns count: 45
[24-Nov-2025 21:07:41 UTC]    Categories columns count: 7
[24-Nov-2025 21:07:41 UTC]    Language field in books: YES
[24-Nov-2025 21:07:41 UTC]    Format field in books: YES
[24-Nov-2025 21:07:41 UTC]    Description field in categories: YES
[24-Nov-2025 21:07:41 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:07:41 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:07:41 UTC]    Is_active field in books: YES
[24-Nov-2025 21:07:41 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:07:41 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:07:41 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:07:41 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:07:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:07:41 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:07:41 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:07:41 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:07:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:07:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:07:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:43 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:07:43 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:07:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:43 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:07:43 UTC] 📊 Database Info:
[24-Nov-2025 21:07:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:07:43 UTC]    Books columns count: 45
[24-Nov-2025 21:07:43 UTC]    Categories columns count: 7
[24-Nov-2025 21:07:43 UTC]    Language field in books: YES
[24-Nov-2025 21:07:43 UTC]    Format field in books: YES
[24-Nov-2025 21:07:43 UTC]    Description field in categories: YES
[24-Nov-2025 21:07:43 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:07:43 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:07:43 UTC]    Is_active field in books: YES
[24-Nov-2025 21:07:43 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:07:43 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:07:43 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:07:43 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:07:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:07:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:07:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:07:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:07:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:07:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:07:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:07:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:07:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:07:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:07:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:07:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:07:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:07:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:07:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:07:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:07:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:07:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:07:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:07:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:07:48 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:07:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:48 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:07:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:07:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:07:48 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:07:48 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:07:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:48 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:07:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:48 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:48 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:48 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:07:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:07:48 UTC] 📊 Database Info:
[24-Nov-2025 21:07:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:07:48 UTC]    Books columns count: 45
[24-Nov-2025 21:07:48 UTC]    Categories columns count: 7
[24-Nov-2025 21:07:48 UTC]    Language field in books: YES
[24-Nov-2025 21:07:48 UTC]    Format field in books: YES
[24-Nov-2025 21:07:48 UTC]    Description field in categories: YES
[24-Nov-2025 21:07:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:07:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:07:48 UTC]    Is_active field in books: YES
[24-Nov-2025 21:07:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:07:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:07:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:07:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:07:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:07:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:48 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:48 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:07:48 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:07:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:07:48 UTC] 📊 Database Info:
[24-Nov-2025 21:07:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:07:48 UTC]    Books columns count: 45
[24-Nov-2025 21:07:48 UTC]    Categories columns count: 7
[24-Nov-2025 21:07:48 UTC]    Language field in books: YES
[24-Nov-2025 21:07:48 UTC]    Format field in books: YES
[24-Nov-2025 21:07:48 UTC]    Description field in categories: YES
[24-Nov-2025 21:07:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:07:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:07:48 UTC]    Is_active field in books: YES
[24-Nov-2025 21:07:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:07:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:07:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:07:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:07:48 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:07:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:48 UTC] 📊 Database Info:
[24-Nov-2025 21:07:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:07:48 UTC]    Books columns count: 45
[24-Nov-2025 21:07:48 UTC]    Categories columns count: 7
[24-Nov-2025 21:07:48 UTC]    Language field in books: YES
[24-Nov-2025 21:07:48 UTC]    Format field in books: YES
[24-Nov-2025 21:07:48 UTC]    Description field in categories: YES
[24-Nov-2025 21:07:48 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:07:48 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:07:48 UTC]    Is_active field in books: YES
[24-Nov-2025 21:07:48 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:07:48 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:07:48 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:07:48 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:07:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:07:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:07:48 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:07:48 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:07:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:07:48 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:08:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:08:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:08:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:08:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:08:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:10 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:08:10 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:08:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:08:10 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:08:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:10 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:10 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:08:10 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:08:10 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:08:10 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:08:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:10 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:10 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:10 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:10 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:10 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:08:10 UTC] 📊 Database Info:
[24-Nov-2025 21:08:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:08:10 UTC]    Books columns count: 45
[24-Nov-2025 21:08:10 UTC]    Categories columns count: 7
[24-Nov-2025 21:08:10 UTC]    Language field in books: YES
[24-Nov-2025 21:08:10 UTC]    Format field in books: YES
[24-Nov-2025 21:08:10 UTC]    Description field in categories: YES
[24-Nov-2025 21:08:10 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:08:10 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:08:10 UTC]    Is_active field in books: YES
[24-Nov-2025 21:08:10 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:08:10 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:08:10 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:08:10 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:08:10 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:08:10 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:08:10 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:08:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:10 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:08:10 UTC] 📊 Database Info:
[24-Nov-2025 21:08:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:08:10 UTC]    Books columns count: 45
[24-Nov-2025 21:08:10 UTC]    Categories columns count: 7
[24-Nov-2025 21:08:10 UTC]    Language field in books: YES
[24-Nov-2025 21:08:10 UTC]    Format field in books: YES
[24-Nov-2025 21:08:10 UTC]    Description field in categories: YES
[24-Nov-2025 21:08:10 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:08:10 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:08:10 UTC]    Is_active field in books: YES
[24-Nov-2025 21:08:10 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:08:10 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:08:10 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:08:10 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:08:10 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:08:10 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:10 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:10 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:10 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:08:10 UTC] 📊 Database Info:
[24-Nov-2025 21:08:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:08:10 UTC]    Books columns count: 45
[24-Nov-2025 21:08:10 UTC]    Categories columns count: 7
[24-Nov-2025 21:08:10 UTC]    Language field in books: YES
[24-Nov-2025 21:08:10 UTC]    Format field in books: YES
[24-Nov-2025 21:08:10 UTC]    Description field in categories: YES
[24-Nov-2025 21:08:10 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:08:10 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:08:10 UTC]    Is_active field in books: YES
[24-Nov-2025 21:08:10 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:08:10 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:08:10 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:08:10 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:08:10 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:08:10 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:08:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:08:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:08:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:08:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:08:16 UTC] 📊 Database Info:
[24-Nov-2025 21:08:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:08:16 UTC]    Books columns count: 45
[24-Nov-2025 21:08:16 UTC]    Categories columns count: 7
[24-Nov-2025 21:08:16 UTC]    Language field in books: YES
[24-Nov-2025 21:08:16 UTC]    Format field in books: YES
[24-Nov-2025 21:08:16 UTC]    Description field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:08:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:08:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:08:16 UTC] 📊 Database Info:
[24-Nov-2025 21:08:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:08:16 UTC]    Books columns count: 45
[24-Nov-2025 21:08:16 UTC]    Categories columns count: 7
[24-Nov-2025 21:08:16 UTC]    Language field in books: YES
[24-Nov-2025 21:08:16 UTC]    Format field in books: YES
[24-Nov-2025 21:08:16 UTC]    Description field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:08:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:08:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:08:16 UTC] 📊 Database Info:
[24-Nov-2025 21:08:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:08:16 UTC]    Books columns count: 45
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:08:16 UTC]    Categories columns count: 7
[24-Nov-2025 21:08:16 UTC]    Language field in books: YES
[24-Nov-2025 21:08:16 UTC]    Format field in books: YES
[24-Nov-2025 21:08:16 UTC]    Description field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:08:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:08:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:08:16 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:08:16 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:08:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:08:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:08:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:08:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:08:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:08:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:08:16 UTC] 📊 Database Info:
[24-Nov-2025 21:08:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:08:16 UTC]    Books columns count: 45
[24-Nov-2025 21:08:16 UTC]    Categories columns count: 7
[24-Nov-2025 21:08:16 UTC]    Language field in books: YES
[24-Nov-2025 21:08:16 UTC]    Format field in books: YES
[24-Nov-2025 21:08:16 UTC]    Description field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:08:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:08:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:08:16 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:08:16 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:08:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:08:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:08:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:08:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:08:16 UTC] 📊 Database Info:
[24-Nov-2025 21:08:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:08:16 UTC]    Books columns count: 45
[24-Nov-2025 21:08:16 UTC]    Categories columns count: 7
[24-Nov-2025 21:08:16 UTC]    Language field in books: YES
[24-Nov-2025 21:08:16 UTC]    Format field in books: YES
[24-Nov-2025 21:08:16 UTC]    Description field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:08:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:08:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:08:16 UTC] 📊 Database Info:
[24-Nov-2025 21:08:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:08:16 UTC]    Books columns count: 45
[24-Nov-2025 21:08:16 UTC]    Categories columns count: 7
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC]    Language field in books: YES
[24-Nov-2025 21:08:16 UTC]    Format field in books: YES
[24-Nov-2025 21:08:16 UTC]    Description field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:08:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:08:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:08:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:08:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:08:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:08:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:08:16 UTC] 📊 Database Info:
[24-Nov-2025 21:08:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:08:16 UTC]    Books columns count: 45
[24-Nov-2025 21:08:16 UTC]    Categories columns count: 7
[24-Nov-2025 21:08:16 UTC]    Language field in books: YES
[24-Nov-2025 21:08:16 UTC]    Format field in books: YES
[24-Nov-2025 21:08:16 UTC]    Description field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:08:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:08:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:08:16 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:08:16 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:08:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:08:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:08:16 UTC] 📊 Database Info:
[24-Nov-2025 21:08:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:08:16 UTC]    Books columns count: 45
[24-Nov-2025 21:08:16 UTC]    Categories columns count: 7
[24-Nov-2025 21:08:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:08:16 UTC]    Language field in books: YES
[24-Nov-2025 21:08:16 UTC]    Format field in books: YES
[24-Nov-2025 21:08:16 UTC]    Description field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:08:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:08:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:08:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:08:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:08:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:08:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:08:16 UTC] 📊 Database Info:
[24-Nov-2025 21:08:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:08:16 UTC]    Books columns count: 45
[24-Nov-2025 21:08:16 UTC]    Categories columns count: 7
[24-Nov-2025 21:08:16 UTC]    Language field in books: YES
[24-Nov-2025 21:08:16 UTC]    Format field in books: YES
[24-Nov-2025 21:08:16 UTC]    Description field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:08:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:08:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:08:16 UTC] 📊 Database Info:
[24-Nov-2025 21:08:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:08:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:08:16 UTC] 📊 Database Info:
[24-Nov-2025 21:08:16 UTC]    Books columns count: 45
[24-Nov-2025 21:08:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:08:16 UTC]    Categories columns count: 7
[24-Nov-2025 21:08:16 UTC]    Books columns count: 45
[24-Nov-2025 21:08:16 UTC]    Categories columns count: 7
[24-Nov-2025 21:08:16 UTC]    Language field in books: YES
[24-Nov-2025 21:08:16 UTC]    Language field in books: YES
[24-Nov-2025 21:08:16 UTC]    Format field in books: YES
[24-Nov-2025 21:08:16 UTC]    Format field in books: YES
[24-Nov-2025 21:08:16 UTC]    Description field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Description field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in books: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:08:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:08:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:08:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:08:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:08:16 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:08:16 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:08:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:08:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:08:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:08:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:08:16 UTC] 📊 Database Info:
[24-Nov-2025 21:08:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:08:16 UTC]    Books columns count: 45
[24-Nov-2025 21:08:16 UTC]    Categories columns count: 7
[24-Nov-2025 21:08:16 UTC]    Language field in books: YES
[24-Nov-2025 21:08:16 UTC]    Format field in books: YES
[24-Nov-2025 21:08:16 UTC]    Description field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:08:16 UTC]    Is_active field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:08:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:08:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:08:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:08:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:08:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:17:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:17:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:17:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:17:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:17:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:17:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:17:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:17:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:17:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:17:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:17:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:17:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:17:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:17:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:17:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:17:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:17:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:17:42 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:17:42 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:17:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:17:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:17:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:17:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:17:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:17:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:17:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:17:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:17:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:17:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:17:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:17:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:17:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:17:42 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:17:42 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:17:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:17:42 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:17:42 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:17:42 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:17:42 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:17:42 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:17:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:17:42 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:17:42 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:17:42 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:17:42 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:17:42 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:17:42 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:17:42 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:17:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:17:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:17:42 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:17:42 UTC] 📊 Database Info:
[24-Nov-2025 21:17:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:17:42 UTC]    Books columns count: 45
[24-Nov-2025 21:17:42 UTC]    Categories columns count: 7
[24-Nov-2025 21:17:42 UTC]    Language field in books: YES
[24-Nov-2025 21:17:42 UTC]    Format field in books: YES
[24-Nov-2025 21:17:42 UTC]    Description field in categories: YES
[24-Nov-2025 21:17:42 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:17:42 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:17:42 UTC]    Is_active field in books: YES
[24-Nov-2025 21:17:42 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:17:42 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:17:42 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:17:42 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:17:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:17:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:17:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:17:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:17:42 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:17:42 UTC] 📊 Database Info:
[24-Nov-2025 21:17:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:17:42 UTC]    Books columns count: 45
[24-Nov-2025 21:17:42 UTC]    Categories columns count: 7
[24-Nov-2025 21:17:42 UTC]    Language field in books: YES
[24-Nov-2025 21:17:42 UTC]    Format field in books: YES
[24-Nov-2025 21:17:42 UTC]    Description field in categories: YES
[24-Nov-2025 21:17:42 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:17:42 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:17:42 UTC]    Is_active field in books: YES
[24-Nov-2025 21:17:42 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:17:42 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:17:42 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:17:42 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:17:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:17:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:17:42 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:17:42 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:17:42 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:17:42 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:17:42 UTC] 📊 Database Info:
[24-Nov-2025 21:17:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:17:42 UTC]    Books columns count: 45
[24-Nov-2025 21:17:42 UTC]    Categories columns count: 7
[24-Nov-2025 21:17:42 UTC]    Language field in books: YES
[24-Nov-2025 21:17:42 UTC]    Format field in books: YES
[24-Nov-2025 21:17:42 UTC]    Description field in categories: YES
[24-Nov-2025 21:17:42 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:17:42 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:17:42 UTC]    Is_active field in books: YES
[24-Nov-2025 21:17:42 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:17:42 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:17:42 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:17:42 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:17:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:17:42 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:17:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:17:42 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:17:42 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:17:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:17:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:17:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:17:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:17:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:17:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:17:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:17:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:17:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:17:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:17:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:17:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:17:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:17:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:17:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:17:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:17:54 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:17:54 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:17:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:17:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:17:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:17:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:17:54 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:17:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:17:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:17:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:17:54 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:17:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:17:54 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:17:54 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:17:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:17:54 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:17:54 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:17:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:17:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:17:54 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:17:54 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:17:54 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:17:54 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:17:54 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:17:54 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:17:54 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:17:54 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:17:54 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:17:54 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:17:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:17:54 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:17:54 UTC] 📊 Database Info:
[24-Nov-2025 21:17:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:17:54 UTC]    Books columns count: 45
[24-Nov-2025 21:17:54 UTC]    Categories columns count: 7
[24-Nov-2025 21:17:54 UTC]    Language field in books: YES
[24-Nov-2025 21:17:54 UTC]    Format field in books: YES
[24-Nov-2025 21:17:54 UTC]    Description field in categories: YES
[24-Nov-2025 21:17:54 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:17:54 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:17:54 UTC]    Is_active field in books: YES
[24-Nov-2025 21:17:54 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:17:54 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:17:54 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:17:54 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:17:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:17:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:17:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:17:54 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:17:54 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:17:54 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:17:54 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:17:54 UTC] 📊 Database Info:
[24-Nov-2025 21:17:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:17:54 UTC]    Books columns count: 45
[24-Nov-2025 21:17:54 UTC]    Categories columns count: 7
[24-Nov-2025 21:17:54 UTC]    Language field in books: YES
[24-Nov-2025 21:17:54 UTC]    Format field in books: YES
[24-Nov-2025 21:17:54 UTC]    Description field in categories: YES
[24-Nov-2025 21:17:54 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:17:54 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:17:54 UTC]    Is_active field in books: YES
[24-Nov-2025 21:17:54 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:17:54 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:17:54 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:17:54 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:17:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:17:54 UTC] 📊 Database Info:
[24-Nov-2025 21:17:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:17:54 UTC]    Books columns count: 45
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:17:54 UTC]    Categories columns count: 7
[24-Nov-2025 21:17:54 UTC]    Language field in books: YES
[24-Nov-2025 21:17:54 UTC]    Format field in books: YES
[24-Nov-2025 21:17:54 UTC]    Description field in categories: YES
[24-Nov-2025 21:17:54 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:17:54 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:17:54 UTC]    Is_active field in books: YES
[24-Nov-2025 21:17:54 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:17:54 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:17:54 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:17:54 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:17:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:17:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:17:54 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:17:54 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:17:54 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:17:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:25:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:25:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:25:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:25:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:25:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:25:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:25:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:25:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:25:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:25:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:25:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:25:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:25:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:25:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:25:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:25:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:25:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:25:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:25:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:25:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:25:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:25:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:25:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:25:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:25:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:25:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:25:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:25:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:25:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:25:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:25:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:25:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:25:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:25:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:25:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:25:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:25:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:25:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:25:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:25:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:25:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:25:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:25:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:25:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:25:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:25:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:25:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:25:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:25:46 UTC] 📊 Database Info:
[24-Nov-2025 21:25:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:25:46 UTC]    Books columns count: 45
[24-Nov-2025 21:25:46 UTC]    Categories columns count: 7
[24-Nov-2025 21:25:46 UTC]    Language field in books: YES
[24-Nov-2025 21:25:46 UTC]    Format field in books: YES
[24-Nov-2025 21:25:46 UTC]    Description field in categories: YES
[24-Nov-2025 21:25:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:25:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:25:46 UTC]    Is_active field in books: YES
[24-Nov-2025 21:25:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:25:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:25:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:25:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:25:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:25:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:25:46 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:25:46 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:25:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:25:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:25:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:25:46 UTC] 📊 Database Info:
[24-Nov-2025 21:25:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:25:46 UTC]    Books columns count: 45
[24-Nov-2025 21:25:46 UTC]    Categories columns count: 7
[24-Nov-2025 21:25:46 UTC]    Language field in books: YES
[24-Nov-2025 21:25:46 UTC]    Format field in books: YES
[24-Nov-2025 21:25:46 UTC]    Description field in categories: YES
[24-Nov-2025 21:25:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:25:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:25:46 UTC]    Is_active field in books: YES
[24-Nov-2025 21:25:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:25:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:25:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:25:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:25:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:25:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:25:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:25:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:25:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:25:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:25:46 UTC] 📊 Database Info:
[24-Nov-2025 21:25:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:25:46 UTC]    Books columns count: 45
[24-Nov-2025 21:25:46 UTC]    Categories columns count: 7
[24-Nov-2025 21:25:46 UTC]    Language field in books: YES
[24-Nov-2025 21:25:46 UTC]    Format field in books: YES
[24-Nov-2025 21:25:46 UTC]    Description field in categories: YES
[24-Nov-2025 21:25:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:25:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:25:46 UTC]    Is_active field in books: YES
[24-Nov-2025 21:25:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:25:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:25:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:25:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:25:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:25:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:25:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:26:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:26:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:26:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:26:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:26:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:26:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:26:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:26:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:26:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:26:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:26:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:26:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:26:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:26:37 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:26:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:26:37 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:26:37 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:26:37 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:26:37 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:26:37 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:26:37 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:26:37 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:26:37 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:26:37 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:26:37 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:26:37 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:26:37 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:26:37 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:26:37 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:26:37 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:26:37 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:26:37 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:26:37 UTC] 📊 Database Info:
[24-Nov-2025 21:26:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:26:37 UTC]    Books columns count: 45
[24-Nov-2025 21:26:37 UTC]    Categories columns count: 7
[24-Nov-2025 21:26:37 UTC]    Language field in books: YES
[24-Nov-2025 21:26:37 UTC]    Format field in books: YES
[24-Nov-2025 21:26:37 UTC]    Description field in categories: YES
[24-Nov-2025 21:26:37 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:26:37 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:26:37 UTC]    Is_active field in books: YES
[24-Nov-2025 21:26:37 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:26:37 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:26:37 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:26:37 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:26:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:26:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:26:37 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:26:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:26:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:26:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:26:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:26:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:26:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:26:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:26:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:26:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:26:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:26:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:26:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:26:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:26:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:26:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:26:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:26:43 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:26:43 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:26:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:26:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:26:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:26:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:26:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:26:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:26:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:26:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:26:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:26:43 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:26:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:26:43 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:26:43 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:26:43 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:26:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:26:43 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:26:43 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:26:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:26:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:26:43 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:26:43 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:26:43 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:26:43 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:26:43 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:26:43 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:26:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:26:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:26:43 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:26:43 UTC] 📊 Database Info:
[24-Nov-2025 21:26:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:26:43 UTC]    Books columns count: 45
[24-Nov-2025 21:26:43 UTC]    Categories columns count: 7
[24-Nov-2025 21:26:43 UTC]    Language field in books: YES
[24-Nov-2025 21:26:43 UTC]    Format field in books: YES
[24-Nov-2025 21:26:43 UTC]    Description field in categories: YES
[24-Nov-2025 21:26:43 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:26:43 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:26:43 UTC]    Is_active field in books: YES
[24-Nov-2025 21:26:43 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:26:43 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:26:43 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:26:43 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:26:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:26:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:26:43 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:26:43 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:26:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:26:43 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:26:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:26:43 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:26:43 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:26:43 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:26:43 UTC] 📊 Database Info:
[24-Nov-2025 21:26:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:26:43 UTC]    Books columns count: 45
[24-Nov-2025 21:26:43 UTC]    Categories columns count: 7
[24-Nov-2025 21:26:43 UTC]    Language field in books: YES
[24-Nov-2025 21:26:43 UTC]    Format field in books: YES
[24-Nov-2025 21:26:43 UTC]    Description field in categories: YES
[24-Nov-2025 21:26:43 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:26:43 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:26:43 UTC]    Is_active field in books: YES
[24-Nov-2025 21:26:43 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:26:43 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:26:43 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:26:43 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:26:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:26:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:26:43 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:26:43 UTC] 📊 Database Info:
[24-Nov-2025 21:26:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:26:43 UTC]    Books columns count: 45
[24-Nov-2025 21:26:43 UTC]    Categories columns count: 7
[24-Nov-2025 21:26:43 UTC]    Language field in books: YES
[24-Nov-2025 21:26:43 UTC]    Format field in books: YES
[24-Nov-2025 21:26:43 UTC]    Description field in categories: YES
[24-Nov-2025 21:26:43 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:26:43 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:26:43 UTC]    Is_active field in books: YES
[24-Nov-2025 21:26:43 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:26:43 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:26:43 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:26:43 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:26:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:26:43 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:26:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:27:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:27:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:27:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:27:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:27:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:27:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:27:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:07 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:07 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:07 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:07 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:07 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:07 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:27:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:27:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:27:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:27:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:27:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:27:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:27:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:27:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:27:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:27:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:27:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:27:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:27:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:27:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:27:08 UTC] 📊 Database Info:
[24-Nov-2025 21:27:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:27:08 UTC]    Books columns count: 45
[24-Nov-2025 21:27:08 UTC]    Categories columns count: 7
[24-Nov-2025 21:27:08 UTC]    Language field in books: YES
[24-Nov-2025 21:27:08 UTC]    Format field in books: YES
[24-Nov-2025 21:27:08 UTC]    Description field in categories: YES
[24-Nov-2025 21:27:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:27:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:27:08 UTC]    Is_active field in books: YES
[24-Nov-2025 21:27:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:27:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:27:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:27:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:27:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:27:08 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:27:08 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:27:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:27:08 UTC] 📊 Database Info:
[24-Nov-2025 21:27:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:27:08 UTC]    Books columns count: 45
[24-Nov-2025 21:27:08 UTC]    Categories columns count: 7
[24-Nov-2025 21:27:08 UTC]    Language field in books: YES
[24-Nov-2025 21:27:08 UTC]    Format field in books: YES
[24-Nov-2025 21:27:08 UTC]    Description field in categories: YES
[24-Nov-2025 21:27:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:27:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:27:08 UTC]    Is_active field in books: YES
[24-Nov-2025 21:27:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:27:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:27:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:27:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:27:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:27:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:27:08 UTC] 📊 Database Info:
[24-Nov-2025 21:27:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:27:08 UTC]    Books columns count: 45
[24-Nov-2025 21:27:08 UTC]    Categories columns count: 7
[24-Nov-2025 21:27:08 UTC]    Language field in books: YES
[24-Nov-2025 21:27:08 UTC]    Format field in books: YES
[24-Nov-2025 21:27:08 UTC]    Description field in categories: YES
[24-Nov-2025 21:27:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:27:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:27:08 UTC]    Is_active field in books: YES
[24-Nov-2025 21:27:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:27:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:27:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:27:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:27:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:27:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:27:08 UTC] 📊 Database Info:
[24-Nov-2025 21:27:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:27:08 UTC]    Books columns count: 45
[24-Nov-2025 21:27:08 UTC]    Categories columns count: 7
[24-Nov-2025 21:27:08 UTC]    Language field in books: YES
[24-Nov-2025 21:27:08 UTC]    Format field in books: YES
[24-Nov-2025 21:27:08 UTC]    Description field in categories: YES
[24-Nov-2025 21:27:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:27:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:27:08 UTC]    Is_active field in books: YES
[24-Nov-2025 21:27:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:27:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:27:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:27:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:27:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:27:08 UTC] 📊 Database Info:
[24-Nov-2025 21:27:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:27:08 UTC]    Books columns count: 45
[24-Nov-2025 21:27:08 UTC]    Categories columns count: 7
[24-Nov-2025 21:27:08 UTC]    Language field in books: YES
[24-Nov-2025 21:27:08 UTC]    Format field in books: YES
[24-Nov-2025 21:27:08 UTC]    Description field in categories: YES
[24-Nov-2025 21:27:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:27:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:27:08 UTC]    Is_active field in books: YES
[24-Nov-2025 21:27:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:27:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:27:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:27:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:27:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:27:08 UTC] 📊 Database Info:
[24-Nov-2025 21:27:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:27:08 UTC]    Books columns count: 45
[24-Nov-2025 21:27:08 UTC]    Categories columns count: 7
[24-Nov-2025 21:27:08 UTC]    Language field in books: YES
[24-Nov-2025 21:27:08 UTC]    Format field in books: YES
[24-Nov-2025 21:27:08 UTC]    Description field in categories: YES
[24-Nov-2025 21:27:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:27:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:27:08 UTC]    Is_active field in books: YES
[24-Nov-2025 21:27:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:27:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:27:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:27:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:27:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:27:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:27:08 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:27:08 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:27:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:27:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:14 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:27:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:14 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:14 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:27:14 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:27:14 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:14 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:14 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:14 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:14 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:14 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:14 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:14 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:14 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:14 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:14 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:14 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:14 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:14 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:27:14 UTC] 📊 Database Info:
[24-Nov-2025 21:27:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:27:14 UTC]    Books columns count: 45
[24-Nov-2025 21:27:14 UTC]    Categories columns count: 7
[24-Nov-2025 21:27:14 UTC]    Language field in books: YES
[24-Nov-2025 21:27:14 UTC]    Format field in books: YES
[24-Nov-2025 21:27:14 UTC]    Description field in categories: YES
[24-Nov-2025 21:27:14 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:27:14 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:27:14 UTC]    Is_active field in books: YES
[24-Nov-2025 21:27:14 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:27:14 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:27:14 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:27:14 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:27:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:27:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:27:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:27:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:27:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:27:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:27:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:27:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:27:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:27:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:27:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:27:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:27:14 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:27:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:27:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:27:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:19 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:19 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:19 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:27:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:19 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:27:19 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:27:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:19 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:19 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:19 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:19 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:19 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:27:19 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:27:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:19 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:19 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:19 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:27:19 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:27:19 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:27:19 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:27:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:19 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:19 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:19 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:19 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:19 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:19 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:19 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:19 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:19 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:19 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:27:19 UTC] 📊 Database Info:
[24-Nov-2025 21:27:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:27:19 UTC]    Books columns count: 45
[24-Nov-2025 21:27:19 UTC]    Categories columns count: 7
[24-Nov-2025 21:27:19 UTC]    Language field in books: YES
[24-Nov-2025 21:27:19 UTC]    Format field in books: YES
[24-Nov-2025 21:27:19 UTC]    Description field in categories: YES
[24-Nov-2025 21:27:19 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:27:19 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:27:19 UTC]    Is_active field in books: YES
[24-Nov-2025 21:27:19 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:27:19 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:27:19 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:27:19 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:27:19 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:27:19 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:19 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:19 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:27:19 UTC] 📊 Database Info:
[24-Nov-2025 21:27:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:27:19 UTC]    Books columns count: 45
[24-Nov-2025 21:27:19 UTC]    Categories columns count: 7
[24-Nov-2025 21:27:19 UTC]    Language field in books: YES
[24-Nov-2025 21:27:19 UTC]    Format field in books: YES
[24-Nov-2025 21:27:19 UTC]    Description field in categories: YES
[24-Nov-2025 21:27:19 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:27:19 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:27:19 UTC]    Is_active field in books: YES
[24-Nov-2025 21:27:19 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:27:19 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:27:19 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:27:19 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:27:19 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:27:19 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:27:19 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:27:19 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:19 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:19 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:19 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:27:19 UTC] 📊 Database Info:
[24-Nov-2025 21:27:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:27:19 UTC]    Books columns count: 45
[24-Nov-2025 21:27:19 UTC]    Categories columns count: 7
[24-Nov-2025 21:27:19 UTC]    Language field in books: YES
[24-Nov-2025 21:27:19 UTC]    Format field in books: YES
[24-Nov-2025 21:27:19 UTC]    Description field in categories: YES
[24-Nov-2025 21:27:19 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:27:19 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:27:19 UTC]    Is_active field in books: YES
[24-Nov-2025 21:27:19 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:27:19 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:27:19 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:27:19 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:27:19 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:27:19 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:27:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:27:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:27:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:27:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:27:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:27:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:27:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:27:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:27:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:27:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:27:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:27:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:27:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:27:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:27:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:27:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:27:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:27:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:27:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:27:22 UTC] 📊 Database Info:
[24-Nov-2025 21:27:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:27:22 UTC]    Books columns count: 45
[24-Nov-2025 21:27:22 UTC]    Categories columns count: 7
[24-Nov-2025 21:27:22 UTC]    Language field in books: YES
[24-Nov-2025 21:27:22 UTC]    Format field in books: YES
[24-Nov-2025 21:27:22 UTC]    Description field in categories: YES
[24-Nov-2025 21:27:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:27:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:27:22 UTC]    Is_active field in books: YES
[24-Nov-2025 21:27:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:27:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:27:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:27:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:27:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:27:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:27:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:27:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:45:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:45:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:45:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:45:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:45:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:45:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:45:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:45:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:45:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:45:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:45:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:45:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:45:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:45:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:45:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:45:51 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:45:51 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:45:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:45:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:45:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:45:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:45:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:45:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:45:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:45:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:45:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:45:51 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:45:51 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:45:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:45:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:45:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:45:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:45:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:45:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:45:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:45:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:45:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:45:51 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:45:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:45:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:45:51 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:45:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:45:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:45:51 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:45:51 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:45:51 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:45:51 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:45:51 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:45:51 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:45:51 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:45:51 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:45:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:45:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:45:51 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:45:51 UTC] 📊 Database Info:
[24-Nov-2025 21:45:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:45:51 UTC]    Books columns count: 45
[24-Nov-2025 21:45:51 UTC]    Categories columns count: 7
[24-Nov-2025 21:45:51 UTC]    Language field in books: YES
[24-Nov-2025 21:45:51 UTC]    Format field in books: YES
[24-Nov-2025 21:45:51 UTC]    Description field in categories: YES
[24-Nov-2025 21:45:51 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:45:51 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:45:51 UTC]    Is_active field in books: YES
[24-Nov-2025 21:45:51 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:45:51 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:45:51 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:45:51 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:45:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:45:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:45:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 21:45:51 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 21:45:51 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 21:45:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:45:51 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:45:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:45:51 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:45:51 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:45:51 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:45:51 UTC] 📊 Database Info:
[24-Nov-2025 21:45:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:45:51 UTC]    Books columns count: 45
[24-Nov-2025 21:45:51 UTC]    Categories columns count: 7
[24-Nov-2025 21:45:51 UTC]    Language field in books: YES
[24-Nov-2025 21:45:51 UTC]    Format field in books: YES
[24-Nov-2025 21:45:51 UTC]    Description field in categories: YES
[24-Nov-2025 21:45:51 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:45:51 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:45:51 UTC]    Is_active field in books: YES
[24-Nov-2025 21:45:51 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:45:51 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:45:51 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:45:51 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:45:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:45:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:45:51 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:45:51 UTC] 📊 Database Info:
[24-Nov-2025 21:45:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:45:51 UTC]    Books columns count: 45
[24-Nov-2025 21:45:51 UTC]    Categories columns count: 7
[24-Nov-2025 21:45:51 UTC]    Language field in books: YES
[24-Nov-2025 21:45:51 UTC]    Format field in books: YES
[24-Nov-2025 21:45:51 UTC]    Description field in categories: YES
[24-Nov-2025 21:45:51 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:45:51 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:45:51 UTC]    Is_active field in books: YES
[24-Nov-2025 21:45:51 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:45:51 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:45:51 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:45:51 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:45:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:45:51 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:45:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:45:51 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 21:45:51 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 21:45:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:45:55 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:45:55 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:45:55 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:45:55 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:45:55 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:45:55 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:45:55 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:45:55 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:45:55 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:45:55 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:45:55 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:45:55 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:45:55 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:45:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:45:55 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:45:55 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:45:55 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:45:55 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:45:55 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:45:55 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:45:55 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:45:55 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:45:55 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:45:55 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:45:55 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:45:55 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:45:55 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:45:55 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:45:55 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:45:55 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:45:55 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:45:55 UTC] 📊 Database Info:
[24-Nov-2025 21:45:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:45:55 UTC]    Books columns count: 45
[24-Nov-2025 21:45:55 UTC]    Categories columns count: 7
[24-Nov-2025 21:45:55 UTC]    Language field in books: YES
[24-Nov-2025 21:45:55 UTC]    Format field in books: YES
[24-Nov-2025 21:45:55 UTC]    Description field in categories: YES
[24-Nov-2025 21:45:55 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:45:55 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:45:55 UTC]    Is_active field in books: YES
[24-Nov-2025 21:45:55 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:45:55 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:45:55 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:45:55 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:45:55 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:45:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:45:55 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:45:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:45:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:45:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:45:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:45:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:45:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:45:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:45:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:45:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:45:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:45:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:45:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:45:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:45:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:45:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:45:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:45:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:45:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:45:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:45:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:45:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:45:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:45:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:45:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:45:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:45:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:45:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:45:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:45:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:45:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:45:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:45:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:45:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:45:56 UTC] 📊 Database Info:
[24-Nov-2025 21:45:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:45:56 UTC]    Books columns count: 45
[24-Nov-2025 21:45:56 UTC]    Categories columns count: 7
[24-Nov-2025 21:45:56 UTC]    Language field in books: YES
[24-Nov-2025 21:45:56 UTC]    Format field in books: YES
[24-Nov-2025 21:45:56 UTC]    Description field in categories: YES
[24-Nov-2025 21:45:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:45:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:45:56 UTC]    Is_active field in books: YES
[24-Nov-2025 21:45:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:45:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:45:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:45:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:45:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:45:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:45:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:45:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:45:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:45:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:45:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:45:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:45:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:45:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:45:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:45:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:45:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:45:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:45:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:45:56 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[24-Nov-2025 21:45:56 UTC] ?? Processing: home_screen - show_welcome_section: 1
[24-Nov-2025 21:45:56 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[24-Nov-2025 21:45:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:45:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:45:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:45:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:45:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:45:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:45:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:45:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:45:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:45:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:45:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:45:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:45:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:45:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:45:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:45:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:45:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:45:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:45:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:45:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:45:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:45:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:45:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:45:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:45:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:45:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:45:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:45:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:45:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:45:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:45:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:45:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:45:57 UTC] 📊 Database Info:
[24-Nov-2025 21:45:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:45:57 UTC]    Books columns count: 45
[24-Nov-2025 21:45:57 UTC]    Categories columns count: 7
[24-Nov-2025 21:45:57 UTC]    Language field in books: YES
[24-Nov-2025 21:45:57 UTC]    Format field in books: YES
[24-Nov-2025 21:45:57 UTC]    Description field in categories: YES
[24-Nov-2025 21:45:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:45:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:45:57 UTC]    Is_active field in books: YES
[24-Nov-2025 21:45:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:45:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:45:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:45:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:45:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:45:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:45:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:45:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:45:57 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[24-Nov-2025 21:45:57 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[24-Nov-2025 21:45:57 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[24-Nov-2025 21:46:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:46:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:46:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:46:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:46:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:46:27 UTC] 📊 Database Info:
[24-Nov-2025 21:46:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:46:27 UTC]    Books columns count: 45
[24-Nov-2025 21:46:27 UTC]    Categories columns count: 7
[24-Nov-2025 21:46:27 UTC]    Language field in books: YES
[24-Nov-2025 21:46:27 UTC]    Format field in books: YES
[24-Nov-2025 21:46:27 UTC]    Description field in categories: YES
[24-Nov-2025 21:46:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:46:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:46:27 UTC]    Is_active field in books: YES
[24-Nov-2025 21:46:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:46:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:46:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:46:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:46:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:46:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:46:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:27 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:46:27 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:27 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:27 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:46:27 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:46:27 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:27 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:27 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:27 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:27 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:27 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:27 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:27 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:27 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:46:27 UTC] 📊 Database Info:
[24-Nov-2025 21:46:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:46:27 UTC]    Books columns count: 45
[24-Nov-2025 21:46:27 UTC]    Categories columns count: 7
[24-Nov-2025 21:46:27 UTC]    Language field in books: YES
[24-Nov-2025 21:46:27 UTC]    Format field in books: YES
[24-Nov-2025 21:46:27 UTC]    Description field in categories: YES
[24-Nov-2025 21:46:27 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:46:27 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:46:27 UTC]    Is_active field in books: YES
[24-Nov-2025 21:46:27 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:46:27 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:46:27 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:46:27 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:46:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:46:27 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:46:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:46:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:46:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:46:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:46:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:46:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:46:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:46:36 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:46:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:36 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:46:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:46:36 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:46:36 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:46:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:36 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:36 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:36 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:36 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:46:36 UTC] 📊 Database Info:
[24-Nov-2025 21:46:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:46:36 UTC]    Books columns count: 45
[24-Nov-2025 21:46:36 UTC]    Categories columns count: 7
[24-Nov-2025 21:46:36 UTC]    Language field in books: YES
[24-Nov-2025 21:46:36 UTC]    Format field in books: YES
[24-Nov-2025 21:46:36 UTC]    Description field in categories: YES
[24-Nov-2025 21:46:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:46:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:46:36 UTC]    Is_active field in books: YES
[24-Nov-2025 21:46:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:46:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:46:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:46:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:46:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:46:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:46:36 UTC] 📊 Database Info:
[24-Nov-2025 21:46:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:46:36 UTC]    Books columns count: 45
[24-Nov-2025 21:46:36 UTC]    Categories columns count: 7
[24-Nov-2025 21:46:36 UTC]    Language field in books: YES
[24-Nov-2025 21:46:36 UTC]    Format field in books: YES
[24-Nov-2025 21:46:36 UTC]    Description field in categories: YES
[24-Nov-2025 21:46:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:46:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:46:36 UTC]    Is_active field in books: YES
[24-Nov-2025 21:46:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:46:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:46:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:46:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:46:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:46:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:46:36 UTC] 📊 Database Info:
[24-Nov-2025 21:46:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:46:36 UTC]    Books columns count: 45
[24-Nov-2025 21:46:36 UTC]    Categories columns count: 7
[24-Nov-2025 21:46:36 UTC]    Language field in books: YES
[24-Nov-2025 21:46:36 UTC]    Format field in books: YES
[24-Nov-2025 21:46:36 UTC]    Description field in categories: YES
[24-Nov-2025 21:46:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:46:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:46:36 UTC]    Is_active field in books: YES
[24-Nov-2025 21:46:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:46:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:46:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:46:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:46:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:46:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:46:36 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:46:36 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:46:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:46:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:38 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:46:38 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:38 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:38 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:46:38 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:46:38 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:38 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:38 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:38 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:38 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:38 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:38 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:38 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:38 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:38 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:38 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:38 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:38 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:38 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:46:38 UTC] 📊 Database Info:
[24-Nov-2025 21:46:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:46:38 UTC]    Books columns count: 45
[24-Nov-2025 21:46:38 UTC]    Categories columns count: 7
[24-Nov-2025 21:46:38 UTC]    Language field in books: YES
[24-Nov-2025 21:46:38 UTC]    Format field in books: YES
[24-Nov-2025 21:46:38 UTC]    Description field in categories: YES
[24-Nov-2025 21:46:38 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:46:38 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:46:38 UTC]    Is_active field in books: YES
[24-Nov-2025 21:46:38 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:46:38 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:46:38 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:46:38 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:46:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:46:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:46:38 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:46:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:46:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:46:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:46:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:46:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:52 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:46:52 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:46:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:46:52 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:46:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:52 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:52 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:46:52 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:46:52 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:46:52 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:46:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:52 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:52 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:52 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:52 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:52 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:52 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:52 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:46:52 UTC] 📊 Database Info:
[24-Nov-2025 21:46:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:46:52 UTC]    Books columns count: 45
[24-Nov-2025 21:46:52 UTC]    Categories columns count: 7
[24-Nov-2025 21:46:52 UTC]    Language field in books: YES
[24-Nov-2025 21:46:52 UTC]    Format field in books: YES
[24-Nov-2025 21:46:52 UTC]    Description field in categories: YES
[24-Nov-2025 21:46:52 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:46:52 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:46:52 UTC]    Is_active field in books: YES
[24-Nov-2025 21:46:52 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:46:52 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:46:52 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:46:52 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:46:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:46:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:52 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:46:52 UTC] 📊 Database Info:
[24-Nov-2025 21:46:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:46:52 UTC]    Books columns count: 45
[24-Nov-2025 21:46:52 UTC]    Categories columns count: 7
[24-Nov-2025 21:46:52 UTC]    Language field in books: YES
[24-Nov-2025 21:46:52 UTC]    Format field in books: YES
[24-Nov-2025 21:46:52 UTC]    Description field in categories: YES
[24-Nov-2025 21:46:52 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:46:52 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:46:52 UTC]    Is_active field in books: YES
[24-Nov-2025 21:46:52 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:46:52 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:46:52 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:46:52 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:46:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:46:52 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:46:52 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:46:52 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:52 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:52 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:52 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:46:52 UTC] 📊 Database Info:
[24-Nov-2025 21:46:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:46:52 UTC]    Books columns count: 45
[24-Nov-2025 21:46:52 UTC]    Categories columns count: 7
[24-Nov-2025 21:46:52 UTC]    Language field in books: YES
[24-Nov-2025 21:46:52 UTC]    Format field in books: YES
[24-Nov-2025 21:46:52 UTC]    Description field in categories: YES
[24-Nov-2025 21:46:52 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:46:52 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:46:52 UTC]    Is_active field in books: YES
[24-Nov-2025 21:46:52 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:46:52 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:46:52 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:46:52 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:46:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:46:52 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:46:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:46:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:46:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:46:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:46:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:46:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:46:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:46:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:46:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:46:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:46:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:46:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:46:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:46:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:46:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:46:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:46:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:46:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:46:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:46:53 UTC] 📊 Database Info:
[24-Nov-2025 21:46:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:46:53 UTC]    Books columns count: 45
[24-Nov-2025 21:46:53 UTC]    Categories columns count: 7
[24-Nov-2025 21:46:53 UTC]    Language field in books: YES
[24-Nov-2025 21:46:53 UTC]    Format field in books: YES
[24-Nov-2025 21:46:53 UTC]    Description field in categories: YES
[24-Nov-2025 21:46:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:46:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:46:53 UTC]    Is_active field in books: YES
[24-Nov-2025 21:46:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:46:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:46:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:46:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:46:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:46:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:46:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:46:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:46:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:46:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:46:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:46:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:46:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:46:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:46:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:46:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:46:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:46:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:47:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:47:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:47:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:47:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:47:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:47:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:47:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:47:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:30 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:30 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:47:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:47:30 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:47:30 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:47:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:30 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:30 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:30 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:30 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:30 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:47:30 UTC] 📊 Database Info:
[24-Nov-2025 21:47:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:47:30 UTC]    Books columns count: 45
[24-Nov-2025 21:47:30 UTC]    Categories columns count: 7
[24-Nov-2025 21:47:30 UTC]    Language field in books: YES
[24-Nov-2025 21:47:30 UTC]    Format field in books: YES
[24-Nov-2025 21:47:30 UTC]    Description field in categories: YES
[24-Nov-2025 21:47:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:47:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:47:30 UTC]    Is_active field in books: YES
[24-Nov-2025 21:47:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:47:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:47:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:47:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:47:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:47:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:47:30 UTC] 📊 Database Info:
[24-Nov-2025 21:47:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:47:30 UTC]    Books columns count: 45
[24-Nov-2025 21:47:30 UTC]    Categories columns count: 7
[24-Nov-2025 21:47:30 UTC]    Language field in books: YES
[24-Nov-2025 21:47:30 UTC]    Format field in books: YES
[24-Nov-2025 21:47:30 UTC]    Description field in categories: YES
[24-Nov-2025 21:47:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:47:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:47:30 UTC]    Is_active field in books: YES
[24-Nov-2025 21:47:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:47:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:47:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:47:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:47:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:47:30 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:47:30 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:47:30 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:30 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:30 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:30 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:47:30 UTC] 📊 Database Info:
[24-Nov-2025 21:47:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:47:30 UTC]    Books columns count: 45
[24-Nov-2025 21:47:30 UTC]    Categories columns count: 7
[24-Nov-2025 21:47:30 UTC]    Language field in books: YES
[24-Nov-2025 21:47:30 UTC]    Format field in books: YES
[24-Nov-2025 21:47:30 UTC]    Description field in categories: YES
[24-Nov-2025 21:47:30 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:47:30 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:47:30 UTC]    Is_active field in books: YES
[24-Nov-2025 21:47:30 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:47:30 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:47:30 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:47:30 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:47:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:47:30 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:47:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:47:45 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:45 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:45 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:45 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:45 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:45 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:45 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:45 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:45 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:45 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:45 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:45 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:45 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:47:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:45 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:45 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:47:45 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:47:45 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:45 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:45 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:45 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:45 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:45 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:45 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:45 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:45 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:45 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:45 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:45 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:45 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:45 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:47:45 UTC] 📊 Database Info:
[24-Nov-2025 21:47:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:47:45 UTC]    Books columns count: 45
[24-Nov-2025 21:47:45 UTC]    Categories columns count: 7
[24-Nov-2025 21:47:45 UTC]    Language field in books: YES
[24-Nov-2025 21:47:45 UTC]    Format field in books: YES
[24-Nov-2025 21:47:45 UTC]    Description field in categories: YES
[24-Nov-2025 21:47:45 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:47:45 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:47:45 UTC]    Is_active field in books: YES
[24-Nov-2025 21:47:45 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:47:45 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:47:45 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:47:45 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:47:45 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:47:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:47:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:47:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:47:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:47:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:47:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:47:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:47:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:47:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:47:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:47:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:47:45 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:47:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:47:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:47:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:47:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:47:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:47:46 UTC] 📊 Database Info:
[24-Nov-2025 21:47:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:47:46 UTC]    Books columns count: 45
[24-Nov-2025 21:47:46 UTC]    Categories columns count: 7
[24-Nov-2025 21:47:46 UTC]    Language field in books: YES
[24-Nov-2025 21:47:46 UTC]    Format field in books: YES
[24-Nov-2025 21:47:46 UTC]    Description field in categories: YES
[24-Nov-2025 21:47:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:47:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:47:46 UTC]    Is_active field in books: YES
[24-Nov-2025 21:47:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:47:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:47:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:47:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:47:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:47:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:47:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:47:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:47:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:47:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:47:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:47:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:47:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:47:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:47:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:47:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:47:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:47:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:47:53 UTC] 📊 Database Info:
[24-Nov-2025 21:47:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:47:53 UTC]    Books columns count: 45
[24-Nov-2025 21:47:53 UTC]    Categories columns count: 7
[24-Nov-2025 21:47:53 UTC]    Language field in books: YES
[24-Nov-2025 21:47:53 UTC]    Format field in books: YES
[24-Nov-2025 21:47:53 UTC]    Description field in categories: YES
[24-Nov-2025 21:47:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:47:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:47:53 UTC]    Is_active field in books: YES
[24-Nov-2025 21:47:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:47:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:47:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:47:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:47:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:47:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:47:53 UTC] 📊 Database Info:
[24-Nov-2025 21:47:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:47:53 UTC]    Books columns count: 45
[24-Nov-2025 21:47:53 UTC]    Categories columns count: 7
[24-Nov-2025 21:47:53 UTC]    Language field in books: YES
[24-Nov-2025 21:47:53 UTC]    Format field in books: YES
[24-Nov-2025 21:47:53 UTC]    Description field in categories: YES
[24-Nov-2025 21:47:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:47:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:47:53 UTC]    Is_active field in books: YES
[24-Nov-2025 21:47:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:47:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:47:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:47:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:47:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:47:53 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:47:53 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:47:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:47:53 UTC] 📊 Database Info:
[24-Nov-2025 21:47:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:47:53 UTC]    Books columns count: 45
[24-Nov-2025 21:47:53 UTC]    Categories columns count: 7
[24-Nov-2025 21:47:53 UTC]    Language field in books: YES
[24-Nov-2025 21:47:53 UTC]    Format field in books: YES
[24-Nov-2025 21:47:53 UTC]    Description field in categories: YES
[24-Nov-2025 21:47:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:47:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:47:53 UTC]    Is_active field in books: YES
[24-Nov-2025 21:47:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:47:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:47:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:47:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:47:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:47:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:47:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:47:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:47:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:47:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:47:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:47:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:47:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:47:56 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:56 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:56 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:47:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:47:56 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:47:56 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:47:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:56 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:56 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:56 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:56 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:56 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:56 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:56 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:47:56 UTC] 📊 Database Info:
[24-Nov-2025 21:47:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:47:56 UTC]    Books columns count: 45
[24-Nov-2025 21:47:56 UTC]    Categories columns count: 7
[24-Nov-2025 21:47:56 UTC]    Language field in books: YES
[24-Nov-2025 21:47:56 UTC]    Format field in books: YES
[24-Nov-2025 21:47:56 UTC]    Description field in categories: YES
[24-Nov-2025 21:47:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:47:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:47:56 UTC]    Is_active field in books: YES
[24-Nov-2025 21:47:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:47:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:47:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:47:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:47:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:47:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:47:56 UTC] 📊 Database Info:
[24-Nov-2025 21:47:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:47:56 UTC]    Books columns count: 45
[24-Nov-2025 21:47:56 UTC]    Categories columns count: 7
[24-Nov-2025 21:47:56 UTC]    Language field in books: YES
[24-Nov-2025 21:47:56 UTC]    Format field in books: YES
[24-Nov-2025 21:47:56 UTC]    Description field in categories: YES
[24-Nov-2025 21:47:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:47:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:47:56 UTC]    Is_active field in books: YES
[24-Nov-2025 21:47:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:47:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:47:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:47:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:47:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:47:56 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:56 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:56 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:56 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:47:56 UTC] 📊 Database Info:
[24-Nov-2025 21:47:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:47:56 UTC]    Books columns count: 45
[24-Nov-2025 21:47:56 UTC]    Categories columns count: 7
[24-Nov-2025 21:47:56 UTC]    Language field in books: YES
[24-Nov-2025 21:47:56 UTC]    Format field in books: YES
[24-Nov-2025 21:47:56 UTC]    Description field in categories: YES
[24-Nov-2025 21:47:56 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:47:56 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:47:56 UTC]    Is_active field in books: YES
[24-Nov-2025 21:47:56 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:47:56 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:47:56 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:47:56 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:47:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:47:56 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:47:56 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:47:56 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:47:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:47:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:57 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:47:57 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:57 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:47:57 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:47:57 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:47:57 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:47:57 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:47:57 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:47:57 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:47:57 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:47:57 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:47:57 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:47:57 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:47:57 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:47:57 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:47:57 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:47:57 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:47:57 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:47:57 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:47:57 UTC] 📊 Database Info:
[24-Nov-2025 21:47:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:47:57 UTC]    Books columns count: 45
[24-Nov-2025 21:47:57 UTC]    Categories columns count: 7
[24-Nov-2025 21:47:57 UTC]    Language field in books: YES
[24-Nov-2025 21:47:57 UTC]    Format field in books: YES
[24-Nov-2025 21:47:57 UTC]    Description field in categories: YES
[24-Nov-2025 21:47:57 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:47:57 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:47:57 UTC]    Is_active field in books: YES
[24-Nov-2025 21:47:57 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:47:57 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:47:57 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:47:57 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:47:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:47:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:47:57 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:47:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:48:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:48:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:48:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:48:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:48:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:48:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:48:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:48:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:48:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:48:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:48:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:48:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:48:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:48:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:48:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:48:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:48:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:48:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:48:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:48:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:48:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:48:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:48:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:48:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:48:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:48:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:48:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:48:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:48:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:48:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:48:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:48:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:48:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:48:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:48:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:48:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:48:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:48:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:48:08 UTC] 📊 Database Info:
[24-Nov-2025 21:48:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:48:08 UTC]    Books columns count: 45
[24-Nov-2025 21:48:08 UTC]    Categories columns count: 7
[24-Nov-2025 21:48:08 UTC]    Language field in books: YES
[24-Nov-2025 21:48:08 UTC]    Format field in books: YES
[24-Nov-2025 21:48:08 UTC]    Description field in categories: YES
[24-Nov-2025 21:48:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:48:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:48:08 UTC]    Is_active field in books: YES
[24-Nov-2025 21:48:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:48:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:48:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:48:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:48:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:48:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:48:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:48:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:48:08 UTC] 📊 Database Info:
[24-Nov-2025 21:48:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:48:08 UTC]    Books columns count: 45
[24-Nov-2025 21:48:08 UTC]    Categories columns count: 7
[24-Nov-2025 21:48:08 UTC]    Language field in books: YES
[24-Nov-2025 21:48:08 UTC]    Format field in books: YES
[24-Nov-2025 21:48:08 UTC]    Description field in categories: YES
[24-Nov-2025 21:48:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:48:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:48:08 UTC]    Is_active field in books: YES
[24-Nov-2025 21:48:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:48:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:48:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:48:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:48:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:48:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:48:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:48:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:48:08 UTC] 📊 Database Info:
[24-Nov-2025 21:48:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:48:08 UTC]    Books columns count: 45
[24-Nov-2025 21:48:08 UTC]    Categories columns count: 7
[24-Nov-2025 21:48:08 UTC]    Language field in books: YES
[24-Nov-2025 21:48:08 UTC]    Format field in books: YES
[24-Nov-2025 21:48:08 UTC]    Description field in categories: YES
[24-Nov-2025 21:48:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:48:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:48:08 UTC]    Is_active field in books: YES
[24-Nov-2025 21:48:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:48:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:48:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:48:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:48:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:48:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:48:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:48:08 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:48:08 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:48:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:48:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:48:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 21:48:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:48:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:48:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:48:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:48:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:48:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:48:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:48:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:48:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:48:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:48:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:48:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:48:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:48:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:48:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:48:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:48:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:48:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:48:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:48:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:48:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:48:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:48:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:48:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:48:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:48:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:48:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:48:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:48:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:48:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 21:48:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:48:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:48:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 21:48:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 21:48:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:48:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:48:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:48:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 21:48:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 21:48:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 21:48:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 21:48:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:48:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:48:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:48:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:48:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:48:22 UTC] 📊 Database Info:
[24-Nov-2025 21:48:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:48:22 UTC]    Books columns count: 45
[24-Nov-2025 21:48:22 UTC]    Categories columns count: 7
[24-Nov-2025 21:48:22 UTC]    Language field in books: YES
[24-Nov-2025 21:48:22 UTC]    Format field in books: YES
[24-Nov-2025 21:48:22 UTC]    Description field in categories: YES
[24-Nov-2025 21:48:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:48:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:48:22 UTC]    Is_active field in books: YES
[24-Nov-2025 21:48:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:48:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:48:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:48:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:48:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:48:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:48:22 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 21:48:22 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 21:48:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:48:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:48:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:48:22 UTC] 📊 Database Info:
[24-Nov-2025 21:48:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:48:22 UTC]    Books columns count: 45
[24-Nov-2025 21:48:22 UTC]    Categories columns count: 7
[24-Nov-2025 21:48:22 UTC]    Language field in books: YES
[24-Nov-2025 21:48:22 UTC]    Format field in books: YES
[24-Nov-2025 21:48:22 UTC]    Description field in categories: YES
[24-Nov-2025 21:48:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:48:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:48:22 UTC]    Is_active field in books: YES
[24-Nov-2025 21:48:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:48:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:48:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:48:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:48:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:48:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 21:48:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 21:48:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 21:48:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 21:48:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 21:48:22 UTC] 📊 Database Info:
[24-Nov-2025 21:48:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 21:48:22 UTC]    Books columns count: 45
[24-Nov-2025 21:48:22 UTC]    Categories columns count: 7
[24-Nov-2025 21:48:22 UTC]    Language field in books: YES
[24-Nov-2025 21:48:22 UTC]    Format field in books: YES
[24-Nov-2025 21:48:22 UTC]    Description field in categories: YES
[24-Nov-2025 21:48:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 21:48:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 21:48:22 UTC]    Is_active field in books: YES
[24-Nov-2025 21:48:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 21:48:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 21:48:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 21:48:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 21:48:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 21:48:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 21:48:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:05:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:05:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:05:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:05:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:05:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:05:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:05:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:05:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:05:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:05:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:05:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:05:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:05:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:05:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:05:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:05:33 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:05:33 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:05:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:05:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:05:33 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:05:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:05:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:05:33 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:05:33 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:05:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:05:33 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:05:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:05:33 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:05:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:05:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:05:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:05:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:05:34 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:05:34 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:05:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:05:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:05:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:05:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:05:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:05:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:05:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:05:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:05:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:05:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:05:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:05:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:05:34 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:05:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:05:34 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:05:34 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:05:34 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:05:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:05:34 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:05:34 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:05:34 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:05:34 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:05:34 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:05:34 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:05:34 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:05:34 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:05:34 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:05:34 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:05:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:05:34 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:05:34 UTC] 📊 Database Info:
[24-Nov-2025 22:05:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:05:34 UTC]    Books columns count: 45
[24-Nov-2025 22:05:34 UTC]    Categories columns count: 7
[24-Nov-2025 22:05:34 UTC]    Language field in books: YES
[24-Nov-2025 22:05:34 UTC]    Format field in books: YES
[24-Nov-2025 22:05:34 UTC]    Description field in categories: YES
[24-Nov-2025 22:05:34 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:05:34 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:05:34 UTC]    Is_active field in books: YES
[24-Nov-2025 22:05:34 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:05:34 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:05:34 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:05:34 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:05:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:05:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:05:34 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 22:05:34 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 22:05:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:05:34 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:05:34 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:05:34 UTC] 📊 Database Info:
[24-Nov-2025 22:05:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:05:34 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:05:34 UTC]    Books columns count: 45
[24-Nov-2025 22:05:34 UTC]    Categories columns count: 7
[24-Nov-2025 22:05:34 UTC] 📊 Database Info:
[24-Nov-2025 22:05:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:05:34 UTC]    Language field in books: YES
[24-Nov-2025 22:05:34 UTC]    Books columns count: 45
[24-Nov-2025 22:05:34 UTC]    Format field in books: YES
[24-Nov-2025 22:05:34 UTC]    Categories columns count: 7
[24-Nov-2025 22:05:34 UTC]    Description field in categories: YES
[24-Nov-2025 22:05:34 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:05:34 UTC]    Language field in books: YES
[24-Nov-2025 22:05:34 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:05:34 UTC]    Format field in books: YES
[24-Nov-2025 22:05:34 UTC]    Is_active field in books: YES
[24-Nov-2025 22:05:34 UTC]    Description field in categories: YES
[24-Nov-2025 22:05:34 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:05:34 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:05:34 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:05:34 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:05:34 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:05:34 UTC]    Is_active field in books: YES
[24-Nov-2025 22:05:34 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:05:34 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:05:34 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:05:34 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:05:34 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:05:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:05:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:05:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:05:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:05:34 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:05:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:05:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 22:05:34 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 22:05:34 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 22:06:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:06:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:06:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:06:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:06:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:06:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:06:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:06:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:06:15 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:06:15 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:06:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:06:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:06:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:06:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:06:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:06:15 UTC] 📊 Database Info:
[24-Nov-2025 22:06:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:06:15 UTC]    Books columns count: 45
[24-Nov-2025 22:06:15 UTC]    Categories columns count: 7
[24-Nov-2025 22:06:15 UTC]    Language field in books: YES
[24-Nov-2025 22:06:15 UTC]    Format field in books: YES
[24-Nov-2025 22:06:15 UTC]    Description field in categories: YES
[24-Nov-2025 22:06:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:06:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:06:15 UTC]    Is_active field in books: YES
[24-Nov-2025 22:06:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:06:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:06:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:06:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:06:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:06:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:06:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:06:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:06:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:06:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:06:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:06:15 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:06:15 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:06:15 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:06:15 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:06:15 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:06:15 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:06:15 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:06:15 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:06:15 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:06:15 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:06:15 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:06:15 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:06:15 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:06:15 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:06:15 UTC] 📊 Database Info:
[24-Nov-2025 22:06:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:06:15 UTC]    Books columns count: 45
[24-Nov-2025 22:06:15 UTC]    Categories columns count: 7
[24-Nov-2025 22:06:15 UTC]    Language field in books: YES
[24-Nov-2025 22:06:15 UTC]    Format field in books: YES
[24-Nov-2025 22:06:15 UTC]    Description field in categories: YES
[24-Nov-2025 22:06:15 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:06:15 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:06:15 UTC]    Is_active field in books: YES
[24-Nov-2025 22:06:15 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:06:15 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:06:15 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:06:15 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:06:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:06:15 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:06:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:06:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:06:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:06:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:06:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:06:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:06:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:06:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:06:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:06:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:06:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:06:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:06:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:06:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:06:21 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:06:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:06:21 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:06:21 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:06:21 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:06:21 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:06:21 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:06:21 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:06:21 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:06:21 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:06:21 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:06:21 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:06:21 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:06:21 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:06:21 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:06:21 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:06:21 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:06:21 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:06:21 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:06:21 UTC] 📊 Database Info:
[24-Nov-2025 22:06:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:06:21 UTC]    Books columns count: 45
[24-Nov-2025 22:06:21 UTC]    Categories columns count: 7
[24-Nov-2025 22:06:21 UTC]    Language field in books: YES
[24-Nov-2025 22:06:21 UTC]    Format field in books: YES
[24-Nov-2025 22:06:21 UTC]    Description field in categories: YES
[24-Nov-2025 22:06:21 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:06:21 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:06:21 UTC]    Is_active field in books: YES
[24-Nov-2025 22:06:21 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:06:21 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:06:21 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:06:21 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:06:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:06:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:06:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:06:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:06:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:06:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:06:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:06:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:06:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:06:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:06:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:06:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:06:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:06:21 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:06:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:06:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:06:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:06:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:06:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:06:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:06:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:06:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:06:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:06:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:06:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:06:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:06:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:06:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:06:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:06:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:06:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:06:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:06:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:06:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:06:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:06:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:06:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:06:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:06:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:06:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:06:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:06:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:06:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:06:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:06:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:06:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:06:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:06:22 UTC] 📊 Database Info:
[24-Nov-2025 22:06:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:06:22 UTC]    Books columns count: 45
[24-Nov-2025 22:06:22 UTC]    Categories columns count: 7
[24-Nov-2025 22:06:22 UTC]    Language field in books: YES
[24-Nov-2025 22:06:22 UTC]    Format field in books: YES
[24-Nov-2025 22:06:22 UTC]    Description field in categories: YES
[24-Nov-2025 22:06:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:06:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:06:22 UTC]    Is_active field in books: YES
[24-Nov-2025 22:06:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:06:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:06:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:06:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:06:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:06:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:06:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:06:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:06:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:06:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:06:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:06:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:06:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:06:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:06:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:06:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:06:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:06:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:06:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:06:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:06:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:06:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:06:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:06:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:06:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:06:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:06:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:06:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:06:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:06:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:06:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:06:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:06:50 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:06:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:06:50 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:06:50 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:06:50 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:06:50 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:06:50 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:06:50 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:06:50 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:06:50 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:06:50 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:06:50 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:06:50 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:06:50 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:06:50 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:06:50 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:06:50 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:06:50 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:06:50 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:06:50 UTC] 📊 Database Info:
[24-Nov-2025 22:06:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:06:50 UTC]    Books columns count: 45
[24-Nov-2025 22:06:50 UTC]    Categories columns count: 7
[24-Nov-2025 22:06:50 UTC]    Language field in books: YES
[24-Nov-2025 22:06:50 UTC]    Format field in books: YES
[24-Nov-2025 22:06:50 UTC]    Description field in categories: YES
[24-Nov-2025 22:06:50 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:06:50 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:06:50 UTC]    Is_active field in books: YES
[24-Nov-2025 22:06:50 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:06:50 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:06:50 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:06:50 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:06:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:06:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:06:50 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:06:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:06:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:06:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:06:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:06:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:06:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:06:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:06:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:06:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:06:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:06:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:06:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:06:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:06:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:06:53 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:06:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:06:53 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:06:53 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:06:53 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:06:53 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:06:53 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:06:53 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:06:53 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:06:53 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:06:53 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:06:53 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:06:53 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:06:53 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:06:53 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:06:53 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:06:53 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:06:53 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:06:53 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:06:53 UTC] 📊 Database Info:
[24-Nov-2025 22:06:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:06:53 UTC]    Books columns count: 45
[24-Nov-2025 22:06:53 UTC]    Categories columns count: 7
[24-Nov-2025 22:06:53 UTC]    Language field in books: YES
[24-Nov-2025 22:06:53 UTC]    Format field in books: YES
[24-Nov-2025 22:06:53 UTC]    Description field in categories: YES
[24-Nov-2025 22:06:53 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:06:53 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:06:53 UTC]    Is_active field in books: YES
[24-Nov-2025 22:06:53 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:06:53 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:06:53 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:06:53 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:06:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:06:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:06:53 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:06:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:07:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:07:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:07:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:07:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:07:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:07:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:07:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:07:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:07:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:07:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:07:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:07:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:07:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:07:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:07:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:07:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:07:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:07:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:07:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:07:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:07:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:07:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:07:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:07:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:07:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:07:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:07:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:07:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:07:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:07:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:07:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:07:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:07:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:07:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:07:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:07:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:07:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:07:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:07:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:07:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:07:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:07:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:07:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:07:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:07:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:07:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:07:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:07:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:07:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:07:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:07:08 UTC] 📊 Database Info:
[24-Nov-2025 22:07:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:07:08 UTC]    Books columns count: 45
[24-Nov-2025 22:07:08 UTC]    Categories columns count: 7
[24-Nov-2025 22:07:08 UTC]    Language field in books: YES
[24-Nov-2025 22:07:08 UTC]    Format field in books: YES
[24-Nov-2025 22:07:08 UTC]    Description field in categories: YES
[24-Nov-2025 22:07:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:07:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:07:08 UTC]    Is_active field in books: YES
[24-Nov-2025 22:07:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:07:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:07:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:07:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:07:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:07:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:07:08 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 22:07:08 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 22:07:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:07:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:07:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:07:08 UTC] 📊 Database Info:
[24-Nov-2025 22:07:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:07:08 UTC]    Books columns count: 45
[24-Nov-2025 22:07:08 UTC]    Categories columns count: 7
[24-Nov-2025 22:07:08 UTC]    Language field in books: YES
[24-Nov-2025 22:07:08 UTC]    Format field in books: YES
[24-Nov-2025 22:07:08 UTC]    Description field in categories: YES
[24-Nov-2025 22:07:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:07:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:07:08 UTC]    Is_active field in books: YES
[24-Nov-2025 22:07:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:07:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:07:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:07:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:07:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:07:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:07:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 22:07:08 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 22:07:08 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 22:07:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:07:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:07:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:07:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:07:08 UTC] 📊 Database Info:
[24-Nov-2025 22:07:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:07:08 UTC]    Books columns count: 45
[24-Nov-2025 22:07:08 UTC]    Categories columns count: 7
[24-Nov-2025 22:07:08 UTC]    Language field in books: YES
[24-Nov-2025 22:07:08 UTC]    Format field in books: YES
[24-Nov-2025 22:07:08 UTC]    Description field in categories: YES
[24-Nov-2025 22:07:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:07:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:07:08 UTC]    Is_active field in books: YES
[24-Nov-2025 22:07:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:07:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:07:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:07:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:07:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:07:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:07:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:07:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:07:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:07:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:07:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:07:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:07:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:07:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:07:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:07:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:07:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:07:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:07:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:07:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:07:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:07:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:07:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:07:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:07:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:07:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:07:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:07:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:07:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:07:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:07:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:07:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:07:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:07:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:07:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:07:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:07:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:07:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:07:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:07:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:07:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:07:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:07:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:07:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:07:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:07:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:07:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:07:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:07:28 UTC] 📊 Database Info:
[24-Nov-2025 22:07:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:07:28 UTC]    Books columns count: 45
[24-Nov-2025 22:07:28 UTC]    Categories columns count: 7
[24-Nov-2025 22:07:28 UTC]    Language field in books: YES
[24-Nov-2025 22:07:28 UTC]    Format field in books: YES
[24-Nov-2025 22:07:28 UTC]    Description field in categories: YES
[24-Nov-2025 22:07:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:07:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:07:28 UTC]    Is_active field in books: YES
[24-Nov-2025 22:07:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:07:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:07:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:07:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:07:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:07:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:07:28 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 22:07:28 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 22:07:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:07:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:07:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:07:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:07:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:07:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:07:28 UTC] 📊 Database Info:
[24-Nov-2025 22:07:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:07:28 UTC]    Books columns count: 45
[24-Nov-2025 22:07:28 UTC]    Categories columns count: 7
[24-Nov-2025 22:07:28 UTC]    Language field in books: YES
[24-Nov-2025 22:07:28 UTC]    Format field in books: YES
[24-Nov-2025 22:07:28 UTC]    Description field in categories: YES
[24-Nov-2025 22:07:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:07:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:07:28 UTC]    Is_active field in books: YES
[24-Nov-2025 22:07:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:07:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:07:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:07:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:07:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:07:28 UTC] 📊 Database Info:
[24-Nov-2025 22:07:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:07:28 UTC]    Books columns count: 45
[24-Nov-2025 22:07:28 UTC]    Categories columns count: 7
[24-Nov-2025 22:07:28 UTC]    Language field in books: YES
[24-Nov-2025 22:07:28 UTC]    Format field in books: YES
[24-Nov-2025 22:07:28 UTC]    Description field in categories: YES
[24-Nov-2025 22:07:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:07:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:07:28 UTC]    Is_active field in books: YES
[24-Nov-2025 22:07:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:07:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:07:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:07:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:07:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:07:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:07:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 22:07:28 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:07:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:07:28 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 22:07:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:07:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:07:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:07:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:07:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:07:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:07:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:07:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:07:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:07:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:07:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:07:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:07:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:07:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:07:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:07:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:07:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:07:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:07:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:07:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:07:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:07:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:07:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:07:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:07:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:07:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:07:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:07:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:07:36 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:07:36 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:07:36 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:07:36 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:07:36 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:07:36 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:07:36 UTC] 📊 Database Info:
[24-Nov-2025 22:07:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:07:36 UTC]    Books columns count: 45
[24-Nov-2025 22:07:36 UTC]    Categories columns count: 7
[24-Nov-2025 22:07:36 UTC]    Language field in books: YES
[24-Nov-2025 22:07:36 UTC]    Format field in books: YES
[24-Nov-2025 22:07:36 UTC]    Description field in categories: YES
[24-Nov-2025 22:07:36 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:07:36 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:07:36 UTC]    Is_active field in books: YES
[24-Nov-2025 22:07:36 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:07:36 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:07:36 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:07:36 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:07:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:07:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:07:36 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:07:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:48:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:48:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:48:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:48:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:48:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:48:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:48:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:48:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:48:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:48:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:48:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:48:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:48:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:48:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:48:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:48:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:48:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:48:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:48:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:48:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:48:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:48:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:48:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:48:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:48:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:48:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:48:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:48:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:48:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:48:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:48:46 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:48:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:48:46 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:48:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:48:46 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:48:46 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:48:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:48:46 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:48:46 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:48:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:48:46 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:48:46 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:48:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:48:46 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:48:46 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:48:46 UTC] 📊 Database Info:
[24-Nov-2025 22:48:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:48:46 UTC]    Books columns count: 45
[24-Nov-2025 22:48:46 UTC]    Categories columns count: 7
[24-Nov-2025 22:48:46 UTC]    Language field in books: YES
[24-Nov-2025 22:48:46 UTC]    Format field in books: YES
[24-Nov-2025 22:48:46 UTC]    Description field in categories: YES
[24-Nov-2025 22:48:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:48:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:48:46 UTC]    Is_active field in books: YES
[24-Nov-2025 22:48:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:48:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:48:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:48:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:48:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:48:46 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:48:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:48:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:48:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[24-Nov-2025 22:48:46 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:48:46 UTC] ✅ إرجاع 0 تصنيف بروفايل
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:48:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:48:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:48:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:48:46 UTC] 📊 Database Info:
[24-Nov-2025 22:48:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:48:46 UTC]    Books columns count: 45
[24-Nov-2025 22:48:46 UTC]    Categories columns count: 7
[24-Nov-2025 22:48:46 UTC]    Language field in books: YES
[24-Nov-2025 22:48:46 UTC]    Format field in books: YES
[24-Nov-2025 22:48:46 UTC]    Description field in categories: YES
[24-Nov-2025 22:48:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:48:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:48:46 UTC]    Is_active field in books: YES
[24-Nov-2025 22:48:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:48:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:48:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:48:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:48:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:48:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:48:46 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[24-Nov-2025 22:48:46 UTC] ✅ إرجاع 2 تصنيف
[24-Nov-2025 22:48:46 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:48:46 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:48:46 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:48:46 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:48:46 UTC] 📊 Database Info:
[24-Nov-2025 22:48:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:48:46 UTC]    Books columns count: 45
[24-Nov-2025 22:48:46 UTC]    Categories columns count: 7
[24-Nov-2025 22:48:46 UTC]    Language field in books: YES
[24-Nov-2025 22:48:46 UTC]    Format field in books: YES
[24-Nov-2025 22:48:46 UTC]    Description field in categories: YES
[24-Nov-2025 22:48:46 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:48:46 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:48:46 UTC]    Is_active field in books: YES
[24-Nov-2025 22:48:46 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:48:46 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:48:46 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:48:46 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:48:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:48:46 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:48:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:49:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:49:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:49:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:49:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:49:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:49:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:49:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:49:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:49:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:49:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:49:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:49:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:49:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:49:06 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:49:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:49:06 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:49:06 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:49:06 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:49:06 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:49:06 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:49:06 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:49:06 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:49:06 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:49:06 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:49:06 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:49:06 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:49:06 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:49:06 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:49:06 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:49:06 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:49:06 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:49:06 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:49:06 UTC] 📊 Database Info:
[24-Nov-2025 22:49:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:49:06 UTC]    Books columns count: 45
[24-Nov-2025 22:49:06 UTC]    Categories columns count: 7
[24-Nov-2025 22:49:06 UTC]    Language field in books: YES
[24-Nov-2025 22:49:06 UTC]    Format field in books: YES
[24-Nov-2025 22:49:06 UTC]    Description field in categories: YES
[24-Nov-2025 22:49:06 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:49:06 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:49:06 UTC]    Is_active field in books: YES
[24-Nov-2025 22:49:06 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:49:06 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:49:06 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:49:06 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:49:06 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:49:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:49:06 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:49:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:49:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:49:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:49:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:49:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:49:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:49:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:49:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:49:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:49:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:49:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:49:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:49:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:49:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:49:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:49:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:49:08 UTC] 📊 Database Info:
[24-Nov-2025 22:49:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:49:08 UTC]    Books columns count: 45
[24-Nov-2025 22:49:08 UTC]    Categories columns count: 7
[24-Nov-2025 22:49:08 UTC]    Language field in books: YES
[24-Nov-2025 22:49:08 UTC]    Format field in books: YES
[24-Nov-2025 22:49:08 UTC]    Description field in categories: YES
[24-Nov-2025 22:49:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:49:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:49:08 UTC]    Is_active field in books: YES
[24-Nov-2025 22:49:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:49:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:49:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:49:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:49:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:49:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:49:08 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":true}
[24-Nov-2025 22:49:08 UTC] ?? Processing: home_screen - show_welcome_section: 1
[24-Nov-2025 22:49:08 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[24-Nov-2025 22:49:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:49:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:49:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:49:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:49:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:49:08 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:49:08 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:49:08 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:49:08 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:49:08 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:49:08 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:49:08 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:49:08 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:49:08 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:49:08 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:49:08 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:49:08 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:49:08 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:49:08 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:49:08 UTC] 📊 Database Info:
[24-Nov-2025 22:49:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:49:08 UTC]    Books columns count: 45
[24-Nov-2025 22:49:08 UTC]    Categories columns count: 7
[24-Nov-2025 22:49:08 UTC]    Language field in books: YES
[24-Nov-2025 22:49:08 UTC]    Format field in books: YES
[24-Nov-2025 22:49:08 UTC]    Description field in categories: YES
[24-Nov-2025 22:49:08 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:49:08 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:49:08 UTC]    Is_active field in books: YES
[24-Nov-2025 22:49:08 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:49:08 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:49:08 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:49:08 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:49:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:49:08 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:49:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:49:08 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[24-Nov-2025 22:49:08 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[24-Nov-2025 22:49:08 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[24-Nov-2025 22:49:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:49:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:49:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:49:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:49:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:49:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:49:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:49:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:49:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:49:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:49:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:49:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:49:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:49:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:49:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:49:16 UTC] 📊 Database Info:
[24-Nov-2025 22:49:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:49:16 UTC]    Books columns count: 45
[24-Nov-2025 22:49:16 UTC]    Categories columns count: 7
[24-Nov-2025 22:49:16 UTC]    Language field in books: YES
[24-Nov-2025 22:49:16 UTC]    Format field in books: YES
[24-Nov-2025 22:49:16 UTC]    Description field in categories: YES
[24-Nov-2025 22:49:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:49:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:49:16 UTC]    Is_active field in books: YES
[24-Nov-2025 22:49:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:49:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:49:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:49:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:49:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:49:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:49:16 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"Bienvenue","description_text":"Découvrez notre collection de livres PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément..","show_welcome_section":false}
[24-Nov-2025 22:49:16 UTC] ?? Processing: home_screen - show_welcome_section: 0
[24-Nov-2025 22:49:16 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[24-Nov-2025 22:49:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:49:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:49:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:49:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:49:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:49:16 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:49:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:49:16 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:49:16 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:49:16 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:49:16 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:49:16 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:49:16 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:49:16 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:49:16 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:49:16 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:49:16 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:49:16 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:49:16 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:49:16 UTC] 📊 Database Info:
[24-Nov-2025 22:49:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:49:16 UTC]    Books columns count: 45
[24-Nov-2025 22:49:16 UTC]    Categories columns count: 7
[24-Nov-2025 22:49:16 UTC]    Language field in books: YES
[24-Nov-2025 22:49:16 UTC]    Format field in books: YES
[24-Nov-2025 22:49:16 UTC]    Description field in categories: YES
[24-Nov-2025 22:49:16 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:49:16 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:49:16 UTC]    Is_active field in books: YES
[24-Nov-2025 22:49:16 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:49:16 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:49:16 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:49:16 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:49:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:49:16 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:49:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:49:16 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"Mémoire de fin d'études","description_text":"Découvrez notre collection de Mémoire de fin d'études PDF organisée par catégories. Trouvez facilement ce que vous cherchez et commencez à lire instantanément.","show_welcome_section":true}
[24-Nov-2025 22:49:16 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[24-Nov-2025 22:49:16 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[24-Nov-2025 22:49:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:49:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:49:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:49:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:49:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:49:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:49:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:49:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:49:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:49:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:49:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:49:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:49:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:49:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:49:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:49:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:49:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:49:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:49:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:49:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:49:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:49:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:49:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:49:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:49:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:49:22 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:49:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:49:22 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:49:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:49:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:49:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:49:22 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:49:22 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:49:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:49:22 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:49:22 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:49:22 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:49:22 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:49:22 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:49:22 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:49:22 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:49:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:49:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:49:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:49:22 UTC] 📊 Database Info:
[24-Nov-2025 22:49:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:49:22 UTC]    Books columns count: 45
[24-Nov-2025 22:49:22 UTC]    Categories columns count: 7
[24-Nov-2025 22:49:22 UTC]    Language field in books: YES
[24-Nov-2025 22:49:22 UTC]    Format field in books: YES
[24-Nov-2025 22:49:22 UTC]    Description field in categories: YES
[24-Nov-2025 22:49:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:49:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:49:22 UTC]    Is_active field in books: YES
[24-Nov-2025 22:49:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:49:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:49:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:49:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:49:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:49:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:49:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:49:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:49:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:49:22 UTC] 📊 Database Info:
[24-Nov-2025 22:49:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:49:22 UTC]    Books columns count: 45
[24-Nov-2025 22:49:22 UTC]    Categories columns count: 7
[24-Nov-2025 22:49:22 UTC]    Language field in books: YES
[24-Nov-2025 22:49:22 UTC]    Format field in books: YES
[24-Nov-2025 22:49:22 UTC]    Description field in categories: YES
[24-Nov-2025 22:49:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:49:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:49:22 UTC]    Is_active field in books: YES
[24-Nov-2025 22:49:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:49:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:49:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:49:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:49:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:49:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:49:22 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 22:49:22 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 22:49:22 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:49:22 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:49:22 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:49:22 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:49:22 UTC] 📊 Database Info:
[24-Nov-2025 22:49:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:49:22 UTC]    Books columns count: 45
[24-Nov-2025 22:49:22 UTC]    Categories columns count: 7
[24-Nov-2025 22:49:22 UTC]    Language field in books: YES
[24-Nov-2025 22:49:22 UTC]    Format field in books: YES
[24-Nov-2025 22:49:22 UTC]    Description field in categories: YES
[24-Nov-2025 22:49:22 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:49:22 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:49:22 UTC]    Is_active field in books: YES
[24-Nov-2025 22:49:22 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:49:22 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:49:22 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:49:22 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:49:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:49:22 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:49:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:50:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:50:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:50:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:50:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:50:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:50:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:50:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:50:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:50:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:50:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:50:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:50:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:50:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:50:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:50:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:50:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:50:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:50:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:50:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:50:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:50:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:50:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:50:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:50:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:50:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:50:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:50:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:50:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:50:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:50:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:50:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:50:28 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:50:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:50:28 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:50:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:50:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:50:28 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:50:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:50:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:50:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:50:28 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:50:28 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:50:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:50:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:50:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:50:28 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:50:28 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:50:28 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:50:28 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:50:28 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:50:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:50:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:50:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:50:28 UTC] 📊 Database Info:
[24-Nov-2025 22:50:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:50:28 UTC]    Books columns count: 45
[24-Nov-2025 22:50:28 UTC]    Categories columns count: 7
[24-Nov-2025 22:50:28 UTC]    Language field in books: YES
[24-Nov-2025 22:50:28 UTC]    Format field in books: YES
[24-Nov-2025 22:50:28 UTC]    Description field in categories: YES
[24-Nov-2025 22:50:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:50:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:50:28 UTC]    Is_active field in books: YES
[24-Nov-2025 22:50:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:50:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:50:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:50:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:50:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:50:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:50:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:50:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:50:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:50:28 UTC] 📊 Database Info:
[24-Nov-2025 22:50:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:50:28 UTC]    Books columns count: 45
[24-Nov-2025 22:50:28 UTC]    Categories columns count: 7
[24-Nov-2025 22:50:28 UTC]    Language field in books: YES
[24-Nov-2025 22:50:28 UTC]    Format field in books: YES
[24-Nov-2025 22:50:28 UTC]    Description field in categories: YES
[24-Nov-2025 22:50:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:50:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:50:28 UTC]    Is_active field in books: YES
[24-Nov-2025 22:50:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:50:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:50:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:50:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:50:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:50:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:50:28 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:50:28 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:50:28 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:50:28 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:50:28 UTC] 📊 Database Info:
[24-Nov-2025 22:50:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:50:28 UTC]    Books columns count: 45
[24-Nov-2025 22:50:28 UTC]    Categories columns count: 7
[24-Nov-2025 22:50:28 UTC]    Language field in books: YES
[24-Nov-2025 22:50:28 UTC]    Format field in books: YES
[24-Nov-2025 22:50:28 UTC]    Description field in categories: YES
[24-Nov-2025 22:50:28 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:50:28 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:50:28 UTC]    Is_active field in books: YES
[24-Nov-2025 22:50:28 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:50:28 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:50:28 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:50:28 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:50:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:50:28 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:50:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:50:28 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 22:50:28 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 22:50:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:50:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:50:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:50:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:50:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:50:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:50:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:50:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:50:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:50:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:50:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:50:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:50:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:50:32 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:50:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:50:32 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:50:32 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:50:32 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:50:32 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:50:32 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:50:32 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:50:32 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:50:32 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:50:32 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:50:32 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:50:32 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:50:32 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:50:32 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:50:32 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:50:32 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:50:32 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:50:32 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:50:32 UTC] 📊 Database Info:
[24-Nov-2025 22:50:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:50:32 UTC]    Books columns count: 45
[24-Nov-2025 22:50:32 UTC]    Categories columns count: 7
[24-Nov-2025 22:50:32 UTC]    Language field in books: YES
[24-Nov-2025 22:50:32 UTC]    Format field in books: YES
[24-Nov-2025 22:50:32 UTC]    Description field in categories: YES
[24-Nov-2025 22:50:32 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:50:32 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:50:32 UTC]    Is_active field in books: YES
[24-Nov-2025 22:50:32 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:50:32 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:50:32 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:50:32 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:50:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:50:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:50:32 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:50:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 22:50:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 22:50:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:50:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:50:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:50:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:50:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:50:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:50:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:50:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:50:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:50:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:50:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:50:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:50:35 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 22:50:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:50:35 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 22:50:35 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 22:50:35 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 22:50:35 UTC] ℹ️ Column institution already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column language already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column format already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 22:50:35 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 22:50:35 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 22:50:35 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 22:50:35 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 22:50:35 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 22:50:35 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 22:50:35 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 22:50:35 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 22:50:35 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 22:50:35 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 22:50:35 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 22:50:35 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 22:50:35 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 22:50:35 UTC] 📊 Database Info:
[24-Nov-2025 22:50:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 22:50:35 UTC]    Books columns count: 45
[24-Nov-2025 22:50:35 UTC]    Categories columns count: 7
[24-Nov-2025 22:50:35 UTC]    Language field in books: YES
[24-Nov-2025 22:50:35 UTC]    Format field in books: YES
[24-Nov-2025 22:50:35 UTC]    Description field in categories: YES
[24-Nov-2025 22:50:35 UTC]    Display_order field in categories: YES
[24-Nov-2025 22:50:35 UTC]    Is_active field in categories: YES
[24-Nov-2025 22:50:35 UTC]    Is_active field in books: YES
[24-Nov-2025 22:50:35 UTC]    External_download_link field in books: YES
[24-Nov-2025 22:50:35 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 22:50:35 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 22:50:35 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 22:50:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:50:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 22:50:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 22:50:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 22:50:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 22:50:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 22:50:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 22:50:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 22:50:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 22:50:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 22:50:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 22:50:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 22:50:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 22:50:35 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 22:50:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 23:05:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 23:05:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 23:05:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[24-Nov-2025 23:05:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 23:05:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 23:05:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 23:05:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 23:05:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 23:05:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 23:05:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 23:05:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 23:05:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 23:05:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 23:05:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 23:05:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 23:05:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 23:05:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 23:05:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 23:05:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 23:05:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 23:05:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 23:05:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 23:05:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 23:05:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 23:05:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 23:05:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 23:05:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 23:05:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 23:05:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 23:05:12 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 23:05:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 23:05:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 23:05:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 23:05:12 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 23:05:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 23:05:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 23:05:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 23:05:12 UTC] ⚠️ Missing columns detected: description, display_order
[24-Nov-2025 23:05:12 UTC] 🔄 Attempting to add missing columns...
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 23:05:12 UTC] ℹ️ Column institution already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 23:05:12 UTC] ℹ️ Column publication_year already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 23:05:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column keywords already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column selected_pages_summary already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column selected_pages_toc already exists
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 23:05:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column selected_pages_original already exists
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 23:05:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 23:05:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_protected already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column protection_key already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_read_button already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column read_button_text already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_external_plus already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column custom_file_size already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_file_size already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column taille_before_extrait already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_download_extrait_button already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column download_extrait_button_text already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column original_pdf_url already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column download_count already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column stockage already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column language already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column format already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column external_download_link already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_external_download_button already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column external_download_protection_key already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_external_download_protected already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_active already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column require_login_for_download already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column description already exists in categories
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 23:05:12 UTC] ℹ️ Column display_order already exists in categories
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 23:05:12 UTC] ℹ️ Column is_active already exists in categories
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 23:05:12 UTC] ℹ️ Column show_welcome_section already exists
[24-Nov-2025 23:05:12 UTC] ℹ️ Column company_address already exists
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with original_pdf_url
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with is_active = TRUE
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing categories with new fields
[24-Nov-2025 23:05:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 23:05:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 23:05:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 23:05:12 UTC] ✅ Default screen texts inserted successfully
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with empty language field
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with empty format field
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 23:05:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 23:05:12 UTC] ✅ Updated existing books with default external download link and protection values
[24-Nov-2025 23:05:12 UTC] ✅ Database tables created/updated successfully with all new fields
[24-Nov-2025 23:05:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 23:05:12 UTC] 📊 Database Info:
[24-Nov-2025 23:05:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 23:05:12 UTC]    Books columns count: 45
[24-Nov-2025 23:05:12 UTC]    Categories columns count: 7
[24-Nov-2025 23:05:12 UTC]    Language field in books: YES
[24-Nov-2025 23:05:12 UTC]    Format field in books: YES
[24-Nov-2025 23:05:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 23:05:12 UTC]    Description field in categories: YES
[24-Nov-2025 23:05:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 23:05:12 UTC] 📊 Database Info:
[24-Nov-2025 23:05:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 23:05:12 UTC]    Is_active field in books: YES
[24-Nov-2025 23:05:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 23:05:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 23:05:12 UTC]    Books columns count: 45
[24-Nov-2025 23:05:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 23:05:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 23:05:12 UTC]    Categories columns count: 7
[24-Nov-2025 23:05:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 23:05:12 UTC]    Language field in books: YES
[24-Nov-2025 23:05:12 UTC]    Format field in books: YES
[24-Nov-2025 23:05:12 UTC]    Description field in categories: YES
[24-Nov-2025 23:05:12 UTC] ℹ️ Favorites table not available for inspection
[24-Nov-2025 23:05:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 23:05:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 23:05:12 UTC] 📊 Database Info:
[24-Nov-2025 23:05:12 UTC]    Is_active field in books: YES
[24-Nov-2025 23:05:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[24-Nov-2025 23:05:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 23:05:12 UTC]    Books columns count: 45
[24-Nov-2025 23:05:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 23:05:12 UTC]    Categories columns count: 7
[24-Nov-2025 23:05:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 23:05:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 23:05:12 UTC]    Language field in books: YES
[24-Nov-2025 23:05:12 UTC]    Format field in books: YES
[24-Nov-2025 23:05:12 UTC]    Description field in categories: YES
[24-Nov-2025 23:05:12 UTC]    Display_order field in categories: YES
[24-Nov-2025 23:05:12 UTC]    Is_active field in categories: YES
[24-Nov-2025 23:05:12 UTC]    Is_active field in books: YES
[24-Nov-2025 23:05:12 UTC]    External_download_link field in books: YES
[24-Nov-2025 23:05:12 UTC]    Show_external_download_button field in books: YES
[24-Nov-2025 23:05:12 UTC]    External_download_protection_key field in books: YES
[24-Nov-2025 23:05:12 UTC]    Is_external_download_protected field in books: YES
[24-Nov-2025 23:05:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 23:05:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 23:05:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 23:05:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[24-Nov-2025 23:05:12 UTC] 📁 جلب التصنيفات النشطة فقط
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[24-Nov-2025 23:05:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 23:05:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[24-Nov-2025 23:05:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[24-Nov-2025 23:05:12 UTC] ✅ إرجاع 2 تصنيف نشط
[24-Nov-2025 23:05:12 UTC] ℹ️ Database is already at version 24
[24-Nov-2025 23:05:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:26:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:26:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:26:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:26:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:26:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:26:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:26:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[25-Nov-2025 01:26:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:26:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:26:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[25-Nov-2025 01:26:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:05 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[25-Nov-2025 01:26:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:26:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:26:05 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:26:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:26:05 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:26:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:26:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:26:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:26:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:26:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:26:05 UTC] 📊 Database Info:
[25-Nov-2025 01:26:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:26:05 UTC]    Books columns count: 45
[25-Nov-2025 01:26:05 UTC]    Categories columns count: 7
[25-Nov-2025 01:26:05 UTC]    Language field in books: YES
[25-Nov-2025 01:26:05 UTC]    Format field in books: YES
[25-Nov-2025 01:26:05 UTC]    Description field in categories: YES
[25-Nov-2025 01:26:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:26:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:26:05 UTC]    Is_active field in books: YES
[25-Nov-2025 01:26:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:26:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:26:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:26:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:26:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:26:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:26:05 UTC] 📊 Database Info:
[25-Nov-2025 01:26:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:26:05 UTC]    Books columns count: 45
[25-Nov-2025 01:26:05 UTC]    Categories columns count: 7
[25-Nov-2025 01:26:05 UTC]    Language field in books: YES
[25-Nov-2025 01:26:05 UTC]    Format field in books: YES
[25-Nov-2025 01:26:05 UTC]    Description field in categories: YES
[25-Nov-2025 01:26:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:26:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:26:05 UTC]    Is_active field in books: YES
[25-Nov-2025 01:26:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:26:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:26:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:26:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:26:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:26:05 UTC] 📊 Database Info:
[25-Nov-2025 01:26:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:26:05 UTC]    Books columns count: 45
[25-Nov-2025 01:26:05 UTC]    Categories columns count: 7
[25-Nov-2025 01:26:05 UTC]    Language field in books: YES
[25-Nov-2025 01:26:05 UTC]    Format field in books: YES
[25-Nov-2025 01:26:05 UTC]    Description field in categories: YES
[25-Nov-2025 01:26:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:26:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:26:05 UTC]    Is_active field in books: YES
[25-Nov-2025 01:26:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:26:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:26:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:26:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:26:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:26:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:26:05 UTC] 📊 Database Info:
[25-Nov-2025 01:26:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:26:05 UTC]    Books columns count: 45
[25-Nov-2025 01:26:05 UTC]    Categories columns count: 7
[25-Nov-2025 01:26:05 UTC]    Language field in books: YES
[25-Nov-2025 01:26:05 UTC]    Format field in books: YES
[25-Nov-2025 01:26:05 UTC]    Description field in categories: YES
[25-Nov-2025 01:26:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:26:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:26:05 UTC]    Is_active field in books: YES
[25-Nov-2025 01:26:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:26:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:26:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:26:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:26:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:26:05 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 01:26:05 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 01:26:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:26:05 UTC] 📊 Database Info:
[25-Nov-2025 01:26:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:26:05 UTC]    Books columns count: 45
[25-Nov-2025 01:26:05 UTC]    Categories columns count: 7
[25-Nov-2025 01:26:05 UTC]    Language field in books: YES
[25-Nov-2025 01:26:05 UTC]    Format field in books: YES
[25-Nov-2025 01:26:05 UTC]    Description field in categories: YES
[25-Nov-2025 01:26:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:26:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:26:05 UTC]    Is_active field in books: YES
[25-Nov-2025 01:26:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:26:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:26:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:26:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:26:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:26:05 UTC] 📊 Database Info:
[25-Nov-2025 01:26:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:26:05 UTC]    Books columns count: 45
[25-Nov-2025 01:26:05 UTC]    Categories columns count: 7
[25-Nov-2025 01:26:05 UTC]    Language field in books: YES
[25-Nov-2025 01:26:05 UTC]    Format field in books: YES
[25-Nov-2025 01:26:05 UTC]    Description field in categories: YES
[25-Nov-2025 01:26:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:26:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:26:05 UTC]    Is_active field in books: YES
[25-Nov-2025 01:26:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:26:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:26:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:26:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:26:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[25-Nov-2025 01:26:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:26:05 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 01:26:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:26:05 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 01:26:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:26:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:07 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[25-Nov-2025 01:26:07 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:07 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:26:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:26:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:26:07 UTC] 📊 Database Info:
[25-Nov-2025 01:26:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:26:07 UTC]    Books columns count: 45
[25-Nov-2025 01:26:07 UTC]    Categories columns count: 7
[25-Nov-2025 01:26:07 UTC]    Language field in books: YES
[25-Nov-2025 01:26:07 UTC]    Format field in books: YES
[25-Nov-2025 01:26:07 UTC]    Description field in categories: YES
[25-Nov-2025 01:26:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:26:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:26:07 UTC]    Is_active field in books: YES
[25-Nov-2025 01:26:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:26:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:26:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:26:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:26:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[25-Nov-2025 01:26:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[25-Nov-2025 01:26:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[25-Nov-2025 01:26:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[25-Nov-2025 01:26:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[25-Nov-2025 01:26:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[25-Nov-2025 01:26:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[25-Nov-2025 01:26:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[25-Nov-2025 01:26:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[25-Nov-2025 01:26:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[25-Nov-2025 01:26:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[25-Nov-2025 01:26:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[25-Nov-2025 01:26:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:26:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:26:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:26:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:26:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[25-Nov-2025 01:26:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[25-Nov-2025 01:26:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:26:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:26:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:26:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:26:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:39 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[25-Nov-2025 01:26:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:39 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:26:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:26:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:26:39 UTC] 📊 Database Info:
[25-Nov-2025 01:26:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:26:39 UTC]    Books columns count: 45
[25-Nov-2025 01:26:39 UTC]    Categories columns count: 7
[25-Nov-2025 01:26:39 UTC]    Language field in books: YES
[25-Nov-2025 01:26:39 UTC]    Format field in books: YES
[25-Nov-2025 01:26:39 UTC]    Description field in categories: YES
[25-Nov-2025 01:26:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:26:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:26:39 UTC]    Is_active field in books: YES
[25-Nov-2025 01:26:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:26:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:26:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:26:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:26:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:26:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:26:39 UTC] 📊 Database Info:
[25-Nov-2025 01:26:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:26:39 UTC]    Books columns count: 45
[25-Nov-2025 01:26:39 UTC]    Categories columns count: 7
[25-Nov-2025 01:26:39 UTC]    Language field in books: YES
[25-Nov-2025 01:26:39 UTC]    Format field in books: YES
[25-Nov-2025 01:26:39 UTC]    Description field in categories: YES
[25-Nov-2025 01:26:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:26:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:26:39 UTC]    Is_active field in books: YES
[25-Nov-2025 01:26:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:26:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:26:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:26:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:26:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:26:39 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 01:26:39 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 01:26:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:26:39 UTC] 📊 Database Info:
[25-Nov-2025 01:26:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:26:39 UTC]    Books columns count: 45
[25-Nov-2025 01:26:39 UTC]    Categories columns count: 7
[25-Nov-2025 01:26:39 UTC]    Language field in books: YES
[25-Nov-2025 01:26:39 UTC]    Format field in books: YES
[25-Nov-2025 01:26:39 UTC]    Description field in categories: YES
[25-Nov-2025 01:26:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:26:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:26:39 UTC]    Is_active field in books: YES
[25-Nov-2025 01:26:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:26:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:26:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:26:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:26:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[25-Nov-2025 01:26:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:26:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:26:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:58 UTC] ❌ Error adding column language to favorites: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value
[25-Nov-2025 01:26:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:58 UTC] ❌ Error adding column is_active to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[25-Nov-2025 01:26:58 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:26:58 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:26:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:26:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:26:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:26:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:26:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:26:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:26:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:26:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:26:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:26:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:26:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:26:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:26:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:26:58 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:26:58 UTC] 📊 Database Info:
[25-Nov-2025 01:26:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:26:58 UTC]    Books columns count: 45
[25-Nov-2025 01:26:58 UTC]    Categories columns count: 7
[25-Nov-2025 01:26:58 UTC]    Language field in books: YES
[25-Nov-2025 01:26:58 UTC]    Format field in books: YES
[25-Nov-2025 01:26:58 UTC]    Description field in categories: YES
[25-Nov-2025 01:26:58 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:26:58 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:26:58 UTC]    Is_active field in books: YES
[25-Nov-2025 01:26:58 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:26:58 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:26:58 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:26:58 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:26:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[25-Nov-2025 01:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[25-Nov-2025 01:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[25-Nov-2025 01:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[25-Nov-2025 01:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[25-Nov-2025 01:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[25-Nov-2025 01:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[25-Nov-2025 01:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[25-Nov-2025 01:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[25-Nov-2025 01:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[25-Nov-2025 01:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[25-Nov-2025 01:26:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[25-Nov-2025 01:26:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:26:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:27:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:27:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_read_button alread